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.