CET & Shadow Stack

Reading time: 3 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Control Flow Enforcement Technology (CET)

CET je bezbednosna funkcija implementirana na hardverskom nivou, dizajnirana da spreči uobičajene napade na preuzimanje toka kontrole kao što su Return-Oriented Programming (ROP) i Jump-Oriented Programming (JOP). Ove vrste napada manipulišu tokom izvršavanja programa kako bi izvršile zlonamerni kod ili povezale delove benignog koda na način koji izvršava zlonamernu radnju.

CET uvodi dve glavne funkcije: Indirect Branch Tracking (IBT) i Shadow Stack.

  • IBT osigurava da se indirektni skokovi i pozivi vrše na validne ciljeve, koji su eksplicitno označeni kao legalne destinacije za indirektne grane. To se postiže korišćenjem novog skupa instrukcija koji označava validne ciljeve, čime se sprečava napadače da preusmere tok kontrole na proizvoljne lokacije.
  • Shadow Stack je mehanizam koji pruža integritet za adrese povratka. Čuva sigurnu, skrivenu kopiju adresa povratka odvojenu od redovnog steka poziva. Kada funkcija vrati, adresa povratka se validira u odnosu na shadow stack, sprečavajući napadače da prepisuju adrese povratka na steku kako bi preuzeli tok kontrole.

Shadow Stack

Shadow stack je posvećen stek koji se koristi isključivo za čuvanje adresa povratka. Radi zajedno sa regularnim stekom, ali je zaštićen i skriven od normalnog izvršavanja programa, što otežava napadačima da ga manipulišu. Primarni cilj shadow stack-a je da osigura da se sve izmene adresa povratka na konvencionalnom steku otkriju pre nego što se mogu koristiti, efikasno ublažavajući ROP napade.

Kako CET i Shadow Stack Sprečavaju Napade

ROP i JOP napadi oslanjaju se na sposobnost preuzimanja toka kontrole aplikacije koristeći ranjivosti koje im omogućavaju da prepišu pokazivače ili adrese povratka na steku. Usmeravanjem toka ka sekvencama postojećih kodnih gadgeta ili gadgeta orijentisanih na povratak, napadači mogu izvršiti proizvoljan kod.

  • CET-ova IBT funkcija čini ove napade značajno težim osiguravajući da indirektne grane mogu skakati samo na adrese koje su eksplicitno označene kao validni ciljevi. To čini nemogućim za napadače da izvrše proizvoljne gadgete raspoređene po binarnom kodu.
  • Shadow stack, s druge strane, osigurava da čak i ako napadač može da prepiše adresu povratka na normalnom steku, razlika će biti otkrivena prilikom poređenja oštećene adrese sa sigurnom kopijom pohranjenom u shadow stack-u prilikom vraćanja iz funkcije. Ako se adrese ne poklapaju, program može da se završi ili preduzme druge bezbednosne mere, sprečavajući uspeh napada.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks