Vai al contenuto
Italiano
Contenuto FikirPilot

Ricostruire il firmware di un dispositivo dalle letture SPI

Aggiornato: 24/09/2026 · 2 min di lettura · 352 parole

Pubblicato: · Notizia ricevuta: · Tempo di elaborazione: 4 min

Ricostruire il firmware di un dispositivo dalle letture SPI
Scheda elettronica e sonde

Smontare il chip flash per estrarre il firmware di un dispositivo misterioso comporta il rischio di danneggiare il dispositivo, mentre la lettura del chip sul circuito potrebbe non riuscire. [Matthew “wrongbaud” Alt] illustra invece il processo per identificare, registrare e analizzare, utilizzando un analizzatore logico, le operazioni di lettura SPI eseguite dal comune chip flash della serie W25Q all’avvio. Poiché il metodo si limita ai dati effettivamente letti dal processore, potrebbe non restituire l’intero contenuto del chip.

Alt spiega innanzitutto le basi della comunicazione SPI e come interpretare i segnali con l’aiuto del datasheet del chip flash. Successivamente elabora le registrazioni dell’analizzatore logico con Scapy, trasformandole in un file immagine che può essere passato a binwalk. Lo strumento Python Scapy può essere utilizzato anche su dati di questo tipo, oltre che sui pacchetti di rete.

Sebbene nell’immagine del firmware siano presenti il bootloader e il kernel Linux, si osserva che manca la partizione del file system. Il motivo è che il processore passa alla modalità Quad-SPI più veloce, che utilizza due linee dati aggiuntive, prima di leggere il file system. Dopo ulteriori registrazioni ed elaborazioni, le due immagini vengono unite con un singolo comando dd su una riga. Tra i lavori di Alt figurano anche una guida all’hardware hacking e analisi di fault injection.

Perché è importante

Questo approccio riduce il rischio di danneggiare il dispositivo durante l’analisi del firmware, poiché consente di lavorare senza rimuovere il chip, e offre inoltre ai ricercatori la possibilità di monitorare le comunicazioni effettive sul circuito. Tuttavia, poiché il risultato riflette le sezioni a cui il processore accede durante l’avvio e non l’intero contenuto presente in memoria, l’ambito dell’immagine ottenuta è limitato fin dall’inizio. In particolare, il passaggio da SPI a Quad-SPI mostra perché la registrazione dei soli segnali standard possa produrre un risultato incompleto e rende necessario che lavori analoghi prendano in considerazione anche le linee dati utilizzate. Ciò dimostra ai ricercatori hardware e a chi si occupa di reverse engineering che il metodo, da solo, non è sufficiente e che per completare le sezioni mancanti possono essere necessarie ulteriori fasi di registrazione ed elaborazione.

Fonte: Hackaday