CET & Shadow Stack
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Control Flow Enforcement Technology (CET)
CET è una funzionalitĂ di sicurezza implementata a livello hardware, progettata per contrastare attacchi comuni di dirottamento del flusso di controllo come Return-Oriented Programming (ROP) e Jump-Oriented Programming (JOP). Questi tipi di attacchi manipolano il flusso di esecuzione di un programma per eseguire codice malevolo o per concatenare pezzi di codice benigno in un modo che esegue unâazione malevola.
CET introduce due funzionalitĂ principali: Indirect Branch Tracking (IBT) e Shadow Stack.
- IBT garantisce che i salti e le chiamate indirette vengano effettuati verso destinazioni valide, che sono contrassegnate esplicitamente come destinazioni legali per i rami indiretti. Questo viene realizzato attraverso lâuso di un nuovo set di istruzioni che contrassegna le destinazioni valide, impedendo cosĂŹ agli attaccanti di deviare il flusso di controllo verso posizioni arbitrarie.
- Shadow Stack è un meccanismo che fornisce integritĂ per gli indirizzi di ritorno. Mantiene una copia sicura e nascosta degli indirizzi di ritorno separata dallo stack di chiamata regolare. Quando una funzione restituisce, lâindirizzo di ritorno viene convalidato rispetto allo shadow stack, impedendo agli attaccanti di sovrascrivere gli indirizzi di ritorno nello stack per dirottare il flusso di controllo.
Shadow Stack
Lo shadow stack è uno stack dedicato utilizzato esclusivamente per memorizzare gli indirizzi di ritorno. Funziona insieme allo stack regolare ma è protetto e nascosto dallâesecuzione normale del programma, rendendo difficile per gli attaccanti manometterlo. Lâobiettivo principale dello shadow stack è garantire che eventuali modifiche agli indirizzi di ritorno nello stack convenzionale vengano rilevate prima di poter essere utilizzate, mitigando efficacemente gli attacchi ROP.
Come CET e Shadow Stack Prevengono Attacchi
Gli attacchi ROP e JOP si basano sulla capacitĂ di dirottare il flusso di controllo di unâapplicazione sfruttando vulnerabilitĂ che consentono loro di sovrascrivere puntatori o indirizzi di ritorno nello stack. Direzionando il flusso verso sequenze di gadget di codice esistente o gadget di programming orientato al ritorno, gli attaccanti possono eseguire codice arbitrario.
- La funzionalitĂ IBT di CET rende questi attacchi significativamente piĂš difficili garantendo che i rami indiretti possano saltare solo a indirizzi che sono stati esplicitamente contrassegnati come destinazioni valide. Questo rende impossibile per gli attaccanti eseguire gadget arbitrari distribuiti nel binario.
- Lo shadow stack, dâaltra parte, garantisce che anche se un attaccante può sovrascrivere un indirizzo di ritorno nello stack normale, la discrepanza verrĂ rilevata confrontando lâindirizzo corrotto con la copia sicura memorizzata nello shadow stack al ritorno da una funzione. Se gli indirizzi non corrispondono, il programma può terminare o adottare altre misure di sicurezza, impedendo il successo dellâattacco.
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

