Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Tecniche di reverse engineering per i firmware dei dispositivi embedded
Scritto da Alessandro Rusani il 09-06-2011 ore 09:40
Abbiamo già trattato in altri articoli le tecniche e gli strumenti utili per eseguire il reverse engineering di protocolli di comunicazione come l'USB, o di codice binario come per esempio un semplice virus.

Per proseguire la serie di tutorial utili per intraprendere questo particolare ramo dell'informatica, segnalo un interessante articolo comparso sul sito /dev/ttys0, su come eseguire il reverse engineering dei firmware di dispositivi embedded. Il tutorial si prefigge di indicare gli strumenti e i passi necessari per estrarre i dati dalle immagini dei firmware, con lo scopo di trovare possibili bug, vulnerabilità o violazioni di licenze GPL, pur non avendo accesso al dispositivo che lo supporta.

Lo sviluppatore noto con lo pseudonimo Craig ha eseguito tali tecniche su una nuova release del firmware per il router Linksys Wireless-N WWAG120, con l'intento di trovare ed estrarre i file di sistema del kernel e l'immagine del file system. La versione utilizzata è la 1.00.16 (ETSI) Allegato B, pubblicata il 16 agosto 2010, disponibile per il download dal sito di Linksys.

Come prerequisiti per poter eseguire i passi descritti, occorrono una distribuzione di Linux, l'utility binwalk, buone conoscenze di Assembly x86 e qualche nozione relativa a strumenti comunemente utilizzati nel mondo embedded, come il file system compresso read-only SquashFS, il boot loader U-Boot, e il toolkit Jeremy Collake firmware mod kit.

Il tutorial risulta molto ben documentato e dettagliato, con figure che aiutano a svelare passo passo i segreti del firmware. Il risultato del resoconto è stato quello di ottenere una copia del boot loader del router, del kernel utilizzato e del file system, pronti per essere ulteriormente analizzati.
Precedente: Applicazioni multilingue in ASP.NET MVC 3, JavaScript e jQuery (2/3)
Successiva: Importanti cambiamenti nella nuova versione di JDeveloper
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.226 secondi.