CET & Shadow Stack
Last updated
Last updated
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)
CET je bezbednosna funkcija implementirana na hardverskom nivou, dizajnirana da spreči uobičajene napade na preuzimanje kontrolnog toka 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 maliciozni kod ili povezale delove benignog koda na način koji izvršava malicioznu 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 kontrolni tok na proizvoljne lokacije.
Shadow Stack je mehanizam koji obezbeđuje integritet povratnih adresa. Čuva sigurnu, skrivenu kopiju povratnih adresa odvojeno od redovnog steka poziva. Kada funkcija vrati, povratna adresa se validira u odnosu na shadow stack, sprečavajući napadače da prepisuju povratne adrese na steku kako bi preuzeli kontrolni tok.
Shadow stack je posvećen stek koji se koristi isključivo za čuvanje povratnih adresa. 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 povratnih adresa na konvencionalnom steku otkriju pre nego što se mogu koristiti, efikasno ublažavajući ROP napade.
ROP i JOP napadi oslanjaju se na sposobnost preuzimanja kontrolnog toka aplikacije koristeći ranjivosti koje im omogućavaju da prepišu pokazivače ili povratne adrese na steku. Usmeravanjem toka ka sekvencama postojećih kodnih gadgeta ili gadgeta orijentisanih na povratak, napadači mogu izvršiti proizvoljni 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 onemogućava napadačima 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 povratnu adresu 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 prekinuti ili preduzeti druge bezbednosne mere, sprečavajući uspeh napada.
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)