Metodi di dispositivi hardware di ingegneria inversa

I dispositivi hardware di ingegneria inversa sono una disciplina multidisciplinare che fonde ingegneria elettrica, informatica e metodologia investigativa. I praticanti deconstruct un prodotto per scoprire il suo intento di progettazione, la selezione dei componenti e la logica operativa. Il campo serve ricerca di sicurezza, manutenzione del sistema legacy, analisi competitiva e innovazione. Questo articolo presenta i metodi fondamentali utilizzati nell'ingegneria inversa dell'hardware, seguiti da studi di casi dettagliati che illustrano le applicazioni del mondo reale.

Il processo inizia tipicamente con l'ispezione fisica e progredisce attraverso l'analisi del segnale e l'estrazione del firmware. Ogni metodo fornisce diverse intuizioni e ingegneri esperti li combinano per costruire una comprensione completa di un dispositivo.

Disassembly e ispezione visiva

Il dispositivo viene aperto utilizzando strumenti di precisione, pistole di calore, cacciaviti e ventose, per evitare danni a connettori fragili o incapsulazioni. Una volta esposti, i componenti interni vengono fotografati con lenti macro ad alta risoluzione o microscopi digitali. Molti dispositivi moderni utilizzano rivestimenti conformi, sottoriempimento o impunture di fusione che richiedono la rimozione chimica (e.

L'ispezione visiva identifica i circuiti integrati chiave (IC), i componenti passivi, i connettori e le antenne. Le marcature su chip, come i loghi del produttore, i numeri di parte e i codici di data, forniscono indizi sulla funzionalità. Ad esempio, un numero seriale come "BCM43438" indica un chip combo Broadcom Wi-Fi/Bluetooth.

Analisi PCB e schematica

Dopo lo smontaggio, il circuito stampato (PCB) diventa il centro di riferimento. Gli ingegneri tracciano reti tra i componenti per ricostruire lo schema. Spesso viene fatto manualmente con un multimetro impostato su modalità di continuità, ma per schede dense, i metodi automatizzati sono superiori. L'immagine a raggi X di PCB multistrato mostra strati di rame interni, via e tracce sepolte.

Nei laboratori professionali di reverse engineering, si utilizza il ritardo: il PCB è sabbiato o chimicamente inciso strato per strato, fotografando ogni passo, per ricostruire l'esatto stack-up. Questo rivela piani di potenza, piani di terra e modelli di routing proprietari. Per gli IC stessi, ritardando e imaging con un microscopio ottico o elettronico può ricostruire la netlist di livello cancello, anche se questo richiede strutture di scansione di stanza e la lista di lavoro estesa.

Analisi dei segnali e firmware

L'analisi firmware è spesso la fase più gratificante perché la logica del controllo del software rivela il comportamento del dispositivo in dettaglio. Per estrarre il firmware, gli ingegneri accedere alle porte di debug o leggere la memoria flash direttamente. Le interfacce hardware comuni includono JTAG (IEEE 1149.1), Serial Wire Debug (SWD), e UART bootloaders. Ad esempio, l'attacco di un adattatore JTAG (ad esempio, Segger J-Link o OpenOCD) possono eseguire i punti di scansione del contenuto di chip S.

Una volta ottenuto il firmware binario, l'analisi procede con strumenti come Binwalk (per identificare i file system), Ghidra, IDA Pro, o Radare2 per la disassembly e la decompilation. Gli ingegneri cercano chiavi crittografiche incorporate in stringhe, messaggi di debug UART e routine di inizializzazione. Molti dispositivi IoT lasciano debug UART attivo, rivelando una shell radice all'avvio.

Analisi laterale del tunnel

Gli attacchi laterali sfruttano le emissioni fisiche da un dispositivo durante l'operazione. Le due varianti più comuni sono l'analisi di potenza e l'analisi elettromagnetica (EM). In un'analisi di potenza semplice (SPA), un oscilloscopio registra la corrente prelevata dal chip mentre esegue le istruzioni.

Questi metodi richiedono un'attenta configurazione: triggering preciso, oscilloscopi ad alta banda (ad esempio, Lecroy o Tektronix), e spesso un preamplificatore. Sono ampiamente utilizzati per rompere implementazioni crittografiche in smart card, dongles e elementi sicuri.

Iniezione di guasto

L'iniezione di guasto introduce glitch intenzionali, i picchi di tensione, gli gli orari o gli impulsi laser, per far saltare istruzioni o dati corrotti da un processore. L'obiettivo è spesso quello di bypassare i controlli di autenticazione o attivare le interfacce di debug.

L'iniezione di guasti riuscita può rivelare funzionalità nascoste, come le modalità di prova o i comandi di bootloader. Ad esempio, l'abbagliamento del pin VCC durante un boot sicuro prima della verifica della firma può causare il processore di saltare a un punto di entrata insicuro.

Case Studies in Ingegneria Reverse

I seguenti studi di casi illustrano come i metodi sopra descritti siano stati applicati in pratica, passando dalla ricerca di sicurezza all'innovazione di prodotto, e dimostrano l'interazione tra analisi fisiche, elettriche e software.

Analisi sicura di Enclave Smartphone

Nel 2019, i ricercatori di una top università hanno intrapreso un'analisi fisica profonda dell'Apple iPhone Secure Enclave, un processore dedicato che gestisce l'autenticazione biometrica e le chiavi crittografiche. Il team ha iniziato a depacking l'A12 Bionic SoC utilizzando l'acido nitrico patch per esporre il problema di Apple.

Anche i chip moderni e fortemente protetti possono cadere in un determinato attaccante con accesso a SEM, FIB e oscilloscopi all'avanguardia, dimostra anche come l'ingegneria inversa informa la scoperta della vulnerabilità e guida gli aggiornamenti del firmware.

IoT Smart Lock Replica

Un team di ingegneri open source ha cercato di costruire una sostituzione compatibile per una popolare serratura "budget" intelligente. Hanno acquistato la serratura e smontato per trovare un TI CC2652R wireless MCU. Utilizzando un analizzatore di logica sui perni UART, hanno catturato la sequenza di avvio e scoperto che il dispositivo è entrato in una modalità DFU (aggiornamento firmware di dispositivo) quando un GPIO specifico è stato tirato inverso.

Lo sforzo è riuscito perché il produttore aveva lasciato le interfacce di debug accessibili e memorizzato segreti in testo normale. Il team ha documentato i loro risultati e pubblicato uno schema, permettendo a chiunque di stampare 3D un contenitore di sostituzione e flash il firmware aperto. Questo caso dimostra come reverse engineering può democratizzare l'accesso ai dispositivi IoT quando i produttori non riescono a implementare il blocco di sicurezza.

Tuning e sicurezza dell'ECU automobilistico

I sistemi di controllo elettronico automobilistico (ECU) sono spesso invertiti per la messa a punto delle prestazioni, la conformità delle emissioni e la modifica del mercato. Un caso ben noto riguarda l'unità di gestione del motore Bosch EDC17, utilizzata in molte auto diesel. Gli appassionati hanno voluto regolare le mappe del combustibile e le curve di aumento del turbo. L'ECU comunica tramite il bus CAN e ha una linea K per la diagnostica, ma l'accesso di scrittura è bloccato da un algoritmo di chiavi di semi-chiavelli.

Questo tipo di reverse engineering è legale per la modifica personale del veicolo in molte giurisdizioni sotto le disposizioni di diritto a riparazione. Ha generato un settore di tuning multi-milioni-dollare. Tuttavia, solleva anche le preoccupazioni di sicurezza: gli aggressori potrebbero sfruttare le stesse tecniche per iniettare codice dannoso che disabilita i sistemi di sicurezza. Il caso evidenzia la tensione tra personalizzazione degli utenti e sicurezza informatica.

Dispositivo medico Vulnerabilità Discovery

Nel campo medico, i ricercatori hanno invertito un cardioverter-defibrillatore impiantabile (ICD) per valutare la sicurezza informatica. Il ICD ha comunicato in modalità wireless con un monitor a comodino tramite un protocollo di banda MICS proprietario di 402-405 MHz. Il team ha ottenuto un ICD di controllo su un mercato di seconda mano (con batterie esaurite) e ha smontato i dati.

La loro divulgazione al produttore ha portato ad una patch del firmware che ha aggiunto la crittografia AES-128. Questo caso esemplifica il potenziale di risparmio di vita dell'hardware reverse engineering: identificare le vulnerabilità nei dispositivi critici della vita prima che gli attori dannosi possano sfruttarle.

Considerazioni etiche e giuridiche

La Digital Millennium Copyright Act (DMCA) negli Stati Uniti include esenzioni per la ricerca di sicurezza, l’interoperabilità e la riparazione, ma queste esenzioni sono strettamente definite e limitate al tempo. La direttiva dell’Unione europea sui segreti commerciali permette l’ingegneria inversa dei prodotti legalmente acquistati, a condizione che non comporti violazione del contratto. Tuttavia, violando i brevetti, i diritti d’autore sul firmware o i termini di servizio possono portare a controversie.

La piena divulgazione (publishing exploit completi) può mettere in pericolo gli utenti se le patch non sono disponibili. La divulgazione coordinata della vulnerabilità (CVD), dove i risultati sono condivisi per la prima volta con il produttore con una scadenza di 90 giorni, è lo standard accettato. Inoltre, l'ingegneria inversa non dovrebbe mai essere utilizzata per scopi dannosi come la clonazione delle carte di pagamento o la disabilitazione delle funzioni di sicurezza nei dispositivi medici.

Strumenti del Commercio

L'efficace reverse engineering hardware richiede un laboratorio ben attrezzato.

  • Oscilloscopes[] (ad esempio, Keysight InfiniiVision, R&S RTO) per la cattura del segnale ad alta velocità. La larghezza di banda di almeno 200 MHz è consigliata per protocolli digitali come SPI e I2C.
  • Analizzatori logici[] (ad esempio, Saleae Logic Pro 16, Sigrok) per la decodifica simultanea di più canali digitali, semplificando la parsing del protocollo per UART, CAN e I2C.
  • JTAG/SWD Debuggers[[] (ad esempio, SEGGER J-Link, ST-Link, Olimex ARM-USB-TINY-H) per lo scarico e il debugging del firmware. Molti microcontrollori hanno bit di bloccaggio che devono essere bypassati attraverso l'iniezione di guasto o l'analisi del canale laterale.
  • Programmatori di fondo[[] (ad esempio, Dediprog, Xeltek, o Pirata di bus open source) per la lettura/scrittura di chip di memoria esterni (SPI flash, NOR parallelo).
  • Desoldering e Reballing[[[]] attrezzature: stazioni di aria calda, saldature di ferro con punte sottili, e detergenti ultrasuoni per la rimozione di IC per la lettura esterna.
  • Strumenti software[[]: Binwalk per l'estrazione del firmware, Ghidra o IDA Pro per lo smontaggio, e script per l'analisi basata su Python di blobs binari.
  • Hardware a canale rigido[[[]: ChipWhisperer per l'analisi di potenza e l'iniezione di guasti, e sonde EM personalizzate da aziende come Langer o RF-Technik.

Ogni ricerca, foto, netlist, mappe di memoria e tracce di segnale, deve essere registrata per consentire la verifica e la replica.

Il futuro dell'hardware in reverse engineering

Le nuove sfide includono i CIC 3D con i dies impilati, i chiplet all'interno dei pacchetti e l'imballaggio avanzato come il packaging a livello wafer-out (FOWLP) che richiedono la la laminazione a raggi X e l'apprendimento automatico delle strutture interne.

Le iniziative hardware open source, come il progetto OpenTitan e molte implementazioni UEFI open source, forniscono una linea di base trasparente che può essere studiata senza ricorrere all'ingegneria inversa.

L'hardware di ingegneria inversa non è solo un esercizio tecnico; è una pratica critica per comprendere e garantire i dispositivi che permeano la vita moderna. Applicando i metodi descritti in questo articolo e rispettando i confini etici, i professionisti possono scoprire le minacce nascoste, attivare la riparazione e promuovere l'innovazione.