CET & Shadow Stack

Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

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 dannoso o concatenare insieme pezzi di codice benigno in modo da eseguire un'azione dannosa.

CET introduce due funzionalità principali: Indirect Branch Tracking (IBT) e Shadow Stack.

  • IBT garantisce che salti e chiamate indirette vengano effettuati verso destinazioni valide, che sono esplicitamente contrassegnate come destinazioni legali per i branch indiretti. Ciò viene realizzato attraverso l'uso di un nuovo set di istruzioni che contrassegna i target validi, 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 ritorna, 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

Il shadow stack è uno stack dedicato utilizzato esclusivamente per memorizzare gli indirizzi di ritorno. Lavora 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 che possano essere utilizzate, mitigando efficacemente gli attacchi ROP.

Come CET e Shadow Stack Prevengono gli 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. Indirizzando il flusso verso sequenze di gadget di codice esistenti o gadget di programmazione orientata al ritorno, gli attaccanti possono eseguire codice arbitrario.

  • La funzionalità IBT di CET rende questi attacchi significativamente più difficili garantendo che i branch indiretti possano saltare solo a indirizzi che sono stati esplicitamente contrassegnati come target validi. Ciò rende impossibile agli 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 sullo 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 all'attacco di avere successo.

Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Last updated