CET & Shadow Stack

Ondersteun HackTricks

Beheerstroomhandhawingstegnologie (CET)

CET is 'n sekuriteitskenmerk wat op hardewarevlak geïmplementeer is, ontwerp om algemene beheerstroomkapingaanvalle soos Return-Oriented Programming (ROP) en Jump-Oriented Programming (JOP) te dwarsboom. Hierdie tipes aanvalle manipuleer die uitvoeringsvloei van 'n program om skadelike kode uit te voer of om stukke benigne kode aan mekaar te koppel op 'n manier wat 'n skadelike aksie uitvoer.

CET stel twee hoofkenmerke bekend: Indirect Branch Tracking (IBT) en Shadow Stack.

  • IBT verseker dat indirekte spronge en oproepe na geldige teikens gemaak word, wat uitdruklik gemerk is as wettige bestemmings vir indirekte takke. Dit word bereik deur die gebruik van 'n nuwe instruksiestel wat geldige teikens merk, wat aanvalle voorkom deur die beheerstroom na willekeurige plekke te verhoed.

  • Shadow Stack is 'n meganisme wat integriteit vir terugkeeradresse bied. Dit hou 'n beveiligde, verborge kopie van terugkeeradresse apart van die gewone oproepstapel. Wanneer 'n funksie terugkeer, word die terugkeeradres gevalideer teen die skadustapel, wat aanvalle voorkom deur terugkeeradresse op die stapel te oorskryf om die beheerstroom te kap.

Shadow Stack

Die shadow stack is 'n toegewyde stapel wat uitsluitlik gebruik word vir die stoor van terugkeeradresse. Dit werk saam met die gewone stapel maar is beskerm en weggesteek van normale programuitvoering, wat dit moeilik maak vir aanvallers om daarmee te knoei. Die primêre doel van die shadow stack is om te verseker dat enige wysigings aan terugkeeradresse op die konvensionele stapel opgespoor word voordat hulle gebruik kan word, wat ROP-aanvalle effektief verminder.

Hoe CET en Shadow Stack Aanvalle Voorkom

ROP- en JOP-aanvalle steun op die vermoë om die beheerstroom van 'n toepassing te kap met behulp van kwesbaarhede wat hulle toelaat om wysers of terugkeeradresse op die stapel te oorskryf. Deur die vloei te rig op bestaande kodesnippets of terugkeer-georiënteerde programmeringskodesnitte, kan aanvallers arbitrêre kode uitvoer.

  • CET se IBT-kenmerk maak hierdie aanvalle aansienlik moeiliker deur te verseker dat indirekte takke slegs na adresse kan spring wat uitdruklik gemerk is as geldige teikens. Dit maak dit onmoontlik vir aanvallers om arbitrêre kodesnitte oor die binêre versprei uit te voer.

  • Die shadow stack verseker daarenteen dat selfs as 'n aanvaller 'n terugkeeradres op die normale stapel kan oorskryf, die afwyking opgespoor sal word wanneer die gekorrigeerde adres vergelyk word met die veilige kopie wat in die shadow stack gestoor word tydens die terugkeer van 'n funksie. As die adresse nie ooreenstem nie, kan die program beëindig word of ander sekuriteitsmaatreëls neem om te voorkom dat die aanval slaag.

Ondersteun HackTricks

Last updated