CET & Shadow Stack
Last updated
Last updated
Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE) Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)
CET je bezbednosna funkcija implementirana na nivou hardvera, dizajnirana da spreči uobičajene napade preuzimanja kontrole toka kao što su Return-Oriented Programming (ROP) i Jump-Oriented Programming (JOP). Ovi tipovi napada manipulišu izvršnim tokom programa kako bi izvršili zlonamerni kod ili povezali delove benignog koda na način koji izvršava zlonamernu akciju.
CET uvodi dve glavne karakteristike: Indirect Branch Tracking (IBT) i Shadow Stack.
IBT osigurava da se indirektni skokovi i pozivi vrše ka validnim metama, koje su eksplicitno označene kao legalne destinacije za indirektne grane. Ovo se postiže korišćenjem novog skupa instrukcija koji označava validne mete, čime se sprečava napadače da preusmere kontrolni tok ka proizvoljnim lokacijama.
Shadow Stack je mehanizam koji pruža integritet za povratne adrese. Čuva bezbednu, skrivenu kopiju povratnih adresa odvojeno od redovnog steka poziva. Kada funkcija vrati vrednost, povratna adresa se validira prema shadow stack-u, sprečavajući napadače da prepisuju povratne adrese na steku kako bi preuzeli kontrolu toka.
Shadow stack je poseban stek koji se koristi isključivo za čuvanje povratnih adresa. Radi zajedno sa redovnim stekom, ali je zaštićen i skriven od normalnog izvršavanja programa, čime se otežava napadačima da manipulišu njime. Osnovni cilj shadow stack-a je da osigura da se bilo kakve modifikacije povratnih adresa na konvencionalnom steku detektuju pre nego što budu korišćene, efikasno umanjujući ROP napade.
ROP i JOP napadi se oslanjaju na sposobnost preuzimanja kontrole toka aplikacije iskorišćavanjem ranjivosti koje im omogućavaju da prepisuju pokazivače ili povratne adrese na steku. Usmeravanjem toka ka sekvencama postojećih koda ili koda orijentisanog na povratne adrese, napadači mogu izvršiti proizvoljni kod.
Funkcija IBT CET-a značajno otežava ove napade osiguravajući da indirektni skokovi mogu skočiti samo na adrese koje su eksplicitno označene kao validne mete. Ovo čini nemogućim za napadače da izvrše proizvoljne gedžete raspoređene po binarnom kodu.
Sa druge strane, shadow stack osigurava da čak i ako napadač može prepisati povratnu adresu na normalnom steku, diskrepancija će biti detektovana prilikom poređenja korumpirane adrese sa sigurnom kopijom smeštenom u shadow stack-u prilikom povratka iz funkcije. Ako se adrese ne poklapaju, program može biti zaustavljen ili preduzete druge sigurnosne mere, sprečavajući uspeh napada.
Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE) Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)