2009-05-12 9 views
6

Dopo alcune ricerche non ho trovato alcun metodo documento che descrive per fare questo (senza nemmeno un uno inaffidabile). Sembra che SSP (StackSmashing Protection)/PropoliceC'è un modo per aggirare SSP (StackSmashing Protection)/Propolice?

+0

È questo per l'hacking, o per il vostro software? Anche per il tuo software, non riesco a pensare a una buona ragione per farlo (forse la performance?). – Zifre

+5

Forse sta cercando di valutare questa tecnologia per il suo utilizzo nel suo proprio prodotto e si chiede se ci sono problemi noti con esso. –

+1

Ti manca l'ultima metà della tua ultima frase. –

risposta

1

Sono più familiare con la protezione dello stack GS di Microsoft, ma i due approcci seem similar.

Il seguente post sul blog da Microsoft mostra un esempio in cui un aggressore può ancora prendere il controllo anche quando Biscotti PILA sono in uso (il primo esempio dovrebbe essere applicabile ai sistemi non Windows):


questo post del blog parla di alcuni dei prossimi miglioramenti per impilare la protezione:

0

Se un'applicazione ha una matrice/tampone nello stack, ed utilizza i valori di indice dal chiamante controllato senza verifica dei limiti, allora il chiamante sarà in grado di accedere alle posizioni di memoria arbitrarie, e impilare protezione non sarà essere in grado di prevenirlo o rilevarlo.

+0

Questo è un attacco valido, mi dispiace che sia tardi. – rook

3

Canary di sono una misura di sicurezza molto buono per la protezione contro alcuni buffer overflow. Nel corso degli anni varie implementazioni delle Canarie sono state infrante e quindi rese più sicure. Ciò che è importante è che nonostante gli avanzati buffer di protezione della memoria gli overflow siano ancora sfruttati su Vista, Windows 7 e Fedora 11 ...

Una cosa molto importante da ricordare è che Canary protegge solo il frame di chiamata della funzione (che include il potente EIP!). Un overflow del buffer può verificarsi in un altro segmento di memoria come Heap e un canarino non avrebbe alcun effetto. Inoltre, è possibile eseguire l'hacking di un'applicazione utilizzando un buffer overflow senza dover mai sovrascrivere un EIP. Il controllo dell'EIP è un metodo molto semplice e semplice per trasformare un buffer overflow in un exploit killer ed è per questo che è il metodo di sfruttamento più comune.

Questi metodi di sfruttamento, così come gli altri se ne sono andati oltre in grande dettaglio in Exploiting Software: How to break code.

Problemi correlati