CET & Shadow Stack

Reading time: 3 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Control Flow Enforcement Technology (CET)

CET is 'n sekuriteitskenmerk wat op die hardewarevlak geïmplementeer is, ontwerp om algemene beheer-stroom kapingsaanvalle soos Return-Oriented Programming (ROP) en Jump-Oriented Programming (JOP) te verhoed. Hierdie tipe aanvalle manipuleer die uitvoeringsvloei van 'n program om kwaadwillige kode uit te voer of om stukke van goedaardige kode saam te ketting op 'n manier wat 'n kwaadwillige 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 eksplisiet gemerk is as wettige bestemmings vir indirekte takke. Dit word bereik deur die gebruik van 'n nuwe instruksieset wat geldige teikens merk, wat aanvalle voorkom om die beheerstroom na arbitrêre plekke te lei.
  • Shadow Stack is 'n mechanisme wat integriteit vir terugadresse bied. Dit hou 'n beveiligde, verborge kopie van terugadresse apart van die gewone oproepstapel. Wanneer 'n funksie terugkeer, word die terugadres teen die skadu-stack geverifieer, wat voorkom dat aanvallers terugadresse op die stapel oorskryf om die beheerstroom te kap.

Shadow Stack

Die shadow stack is 'n toegewyde stapel wat slegs gebruik word om terugadresse te stoor. Dit werk saam met die gewone stapel, maar is beskerm en verborge van normale programuitvoering, wat dit moeilik maak vir aanvallers om mee te mors. Die primêre doel van die shadow stack is om te verseker dat enige wysigings aan terugadresse 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 staatmaak op die vermoë om die beheerstroom van 'n toepassing te kap deur kwesbaarhede te benut wat hulle toelaat om wysigers of terugadresse op die stapel oor te skryf. Deur die vloei na volgorde van bestaande kode gadgets of terug-georiënteerde programmering gadgets te lei, 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 eksplisiet as geldige teikens gemerk is. Dit maak dit onmoontlik vir aanvallers om arbitrêre gadgets wat oor die binêre versprei is, uit te voer.
  • Die shadow stack, aan die ander kant, verseker dat selfs al kan 'n aanvaller 'n terugadres op die normale stapel oorskryf, die verskil opgespoor sal word wanneer die gekorrupte adres met die veilige kopie wat in die shadow stack gestoor is, vergelyk word wanneer daar van 'n funksie teruggekeer word. As die adresse nie ooreenstem nie, kan die program beëindig of ander sekuriteitsmaatreëls tref, wat voorkom dat die aanval slaag.

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks