Come dovrei configurare il SO per il test fuzz?

4

Dovrei configurare il mio sistema operativo in un modo particolare, se farò qualche test fuzz? Devo disattivare ASLR (randomizzazione dello spazio indirizzo)? Importa?

    
posta D.W. 08.09.2011 - 23:26
fonte

3 risposte

1

Raccomando di utilizzare un framework fuzzing con un'imbracatura di test come quella presente in Peach Fuzz . Un'imbracatura di test allegherà un debugger all'applicazione di destinazione e terrà traccia dei rapporti sugli arresti anomali e su quale caso di test fuzz causato. Quando l'applicazione di destinazione si arresta in modo anomalo, il cablaggio riavvia l'applicazione e continua il test.

ASLR, zone NX, Canarie, cookie heap, ect, ect, ect, non causeranno problemi con il processo di fuzzing. Tuttavia, ciò renderà molto difficile sfruttare la vulnerabilità della corruzione della memoria quando la trovi.

    
risposta data 09.09.2011 - 21:08
fonte
6

ASLR è un termine ampio che comprende molte protezioni e tecniche diverse. In generale, le forme base di ASLR (es. Randomizzazione degli stack) vengono utilizzate per rendere più difficile o impossibile lo sviluppo degli exploit, ma non impediscono l'attivazione del bug e il crash di un'applicazione. Il fuzzing dovrebbe funzionare allo stesso modo con aslr abilitato o meno.

    
risposta data 09.09.2011 - 14:36
fonte
3

Al di sopra della mia testa, non penso che l'astro avrà molta importanza in un modo o nell'altro - mi sembra che sia più efficace nel prevenire che un bug si trasformi in un virus. Ogni volta che il tuo fuzzer ottiene un risultato fuori range, sei sicuro che possa essere usato contro di te; non sono sicuro che ASLR cambierebbe questo dato che ci sono molti modi per aggirarlo (a seconda delle impostazioni, della piattaforma, yada yada).

In ogni caso, direi che dovresti rendere il sistema il più libero possibile per dare al tuo fuzzer la massima possibilità di trovare buchi - nessun firewall, high ulimits, molta larghezza di banda, molti processori se sei su un multithread app per massimizzare la possibilità di condizioni di gara, ecc.

Suggerirei anche fuzzing durante l'esecuzione su più di un sistema operativo, poiché le librerie potrebbero comportarsi in modo diverso. Questo vale in particolare per Windows, che ha un sacco di cose buone di debug. Non so molto su osx, ma se riesci a far girare i tuoi file lì, probabilmente troverai un ambiente sostanzialmente diverso.

Per favore pubblica i risultati - Sono curioso di sapere come funziona.

    
risposta data 09.09.2011 - 04:03
fonte

Leggi altre domande sui tag