sabato 8 novembre 2008

Perchè un altro libro sui buffer overflow

Ultimamente mi è capitata tra le mani la seconda edizione di Shellcoder's Handbook, un libro inglese edito da Wiley, che aspira a fare luce su alcune classiche tematiche hacking fra le quali i buffer overflow. Il tizio che me lo ha mostrato durante un mio intervento sulla sicurezza in un convegno a Roma organizzato da un cliente per cui lavoravo, era tutto felice e non stava più nella pelle per l'uscita di questa nuova edizione. In realtà sfogliando il testo ne sono rimasto profondamente deluso. Avendo acquistato la prima edizione nel 2004, ho notato che da allora non è stato aggiunto molto materiale (a parte qualche capitolo di rintoppo qua e là come quello sugli apparati di rete Cisco). Ad esempio, le tecniche di buffer overflow descritte sono rimaste esattamente quelle di 4 anni fa, quando ancora la pressocché assenza in quasi tutte le distribuzioni Linux di meccanismi di protezione come ASLR e Propolice (tanto per citarne un paio) permetteva di piazzare uno shellcode ovunque in memoria ed eseguirlo. Mi verrebbe da dire però a Litchfield, Koziol, Aitel e compagni che siamo già nel 2008. Oggi non puoi pensare che Exec Shield non si incazzi quando provi a fare ritornare una funzione verso un'indirizzo dello stack o che la macro unlink() sia così stupida da non fare un controllo di base per capire se l'heap è corrotto o meno. Shellcoder's Handbook seconda edizione si limita invece solamente a dare qualche consiglio e fare qualche accenno sui moderni "ostacoli". Nessuna nuova tecnica, nessun esempio pratico, nessuna sessione di debugging! Solo vaghi riferimenti sul web. Al momento inoltre non esiste, a mio parere, nella letteratura esistente, un buon testo che discuta su questi temi anche prendendo in considerazione gli ultimi meccanismi di protezione implementati dalle recenti distribuzioni Linux. E' per questo che ho deciso di iniziare a scrivere un libro sull'argomento buffer overflow. Ci sto già lavorando da circa un mese e nei prossimi giorni approfitterò di questo blog per informare sullo "stato di avanzamento lavori", sulle modalità di pubblicazione, sugli argomenti trattati ed ovviamente rimarrò sintonizzato sui commenti ed i pareri degli utenti della rete. Per i tempi di rilascio non so ancora dire nulla di certo. L'auspicio è di riuscire a pubblicarlo prima di natale.

3 commenti:

Gnix ha detto...

Il progetto di questo libro sembra veramente interessante e le motivazioni che vi sono alla base della sua scrittura, sono più che mai vere, attualmente vi sono numerosi testi che non affrontano il Buffer Overflow in maniera realistica. Se questo testo potrà far luce sulle tecniche per aggirare le protezioni implementate sui kernel attuali, non potrà che essere un importante contributo per tutto il panorama italiano.
Io personalmente mi metto a disposizione per un eventuale lettura dei capitoli prima della pubblicazione, sempre se vorrai dei feedback sulla struttura e i contenuti. In tal caso contattami pure per e-mail (gnixmail@gmail.com). Se non intendi fare una revisione con persone "estranee" prima della pubblicazione, allora aspetterò con ansia il giorno in cui verrà rilasciato il libro.

Complimenti per il progetto e alla prossima.

Gnix

Anonimo ha detto...

L'idea sembra ottima in quanto come giustamente citi, non esistono fonti aggiornate sulla tematica. Spero riuscirai a produrre un qualcosa di concreto. L'underground italiano ne ha bisogno!

pancr0z

Marco Ortisi ha detto...

Per gnix: grazie per l'incoraggiamento. Al momento non prevedo nessuna revisione, al di fuori del team interno. Puoi stare tranquillo comunque che al momento giusto metterò online la bozza integrale o parziale di un capitolo per far comprendere che taglio è stato dato al libro, senza considerare il fatto che darò visibilità quanto prima del "table of contents" che mi sembra oramai un must per chiunque voglia promuovere un book.