Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
La tecnica Component Firmware consiste nella modifica del firmware di componenti hardware — controller di dischi, schede di rete, GPU, baseboard management controller — per impiantare codice malevolo che sopravvive al di sotto del sistema operativo. A differenza della manipolazione del BIOS/UEFI principale (System Firmware), qui il bersaglio sono dispositivi periferici il cui firmware spesso non è soggetto a verifiche di integrità rigorose, se non del tutto assenti.
La tecnica si colloca in due tattiche della kill chain. In Persistence (TA0003) offre una permanenza pressoché indistruttibile: una reinstallazione completa del sistema operativo o la sostituzione del disco non elimina un impianto residente nel firmware di un controller NIC o di un SSD. In Defense Evasion (TA0005) il codice opera in un contesto privilegiato invisibile agli antivirus e agli strumenti EDR, che tipicamente non hanno visibilità sullo spazio di indirizzamento dei firmware dei componenti.
L'impatto è critico: 1 gruppo APT documentato possiede questa capacità, 1 software la implementa attivamente, e 1 mitigazione ufficiale è stata codificata. La superficie di attacco è vasta quanto il numero di componenti con firmware aggiornabile presenti in un sistema moderno, e la carenza strutturale di meccanismi di firma e verifica su molti di essi rende questa tecnica particolarmente insidiosa per infrastrutture ad alto valore.
Simulare la manipolazione del firmware di componenti richiede un laboratorio dedicato con hardware sacrificabile. Non operare mai su sistemi di produzione: un flash errato rende il dispositivo inutilizzabile in modo permanente.
Il punto di partenza è la ricognizione dei firmware presenti sul sistema. Su Linux, fwupd (open source) è il framework standard per l'inventario dei dispositivi con firmware aggiornabile. Il comando
fwupdmgr get-devices
elenca ogni componente con versione firmware corrente, GUID e stato di supporto da parte del vendor. Su Windows, un inventario equivalente si ottiene interrogando WMI:
Get-WmiObject -Namespace root\cimv2 -Class Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion, FirmwareVersion
Per l'analisi a basso livello del firmware SPI flash — quello che ospita UEFI ma anche firmware di controller integrati — il tool di riferimento è CHIPSEC (open source), sviluppato originariamente da Intel. CHIPSEC verifica le protezioni hardware sui registri di controllo flash:
sudo python chipsec_main.py -m common.spi_lock
Questo modulo controlla se il bit FLOCKDN è impostato, ovvero se la regione SPI flash è protetta in scrittura. Un risultato FAILED indica che un attaccante con privilegi ring-0 potrebbe riscrivere il firmware senza ostacoli hardware.
Per il dump e l'analisi del firmware effettivo, flashrom (open source) permette la lettura della flash SPI:
sudo flashrom -p internal -r firmware_dump.bin
Il binario estratto può essere analizzato con UEFITool (open source), che ne decompone la struttura in volumi, moduli DXE e driver PEI, rendendo visibili eventuali moduli non riconosciuti o iniettati.
Sul fronte delle schede di rete, il vettore documentato per Cyclops Blink riguarda dispositivi WatchGuard. In un contesto lab, è possibile studiare il processo di flash del firmware di NIC Intel con ethtool:
sudo ethtool -i eth0
Questo restituisce il driver, la versione firmware e il bus PCIe, informazioni utili per verificare se il firmware corrisponde a una versione nota. Per NIC più avanzate, Intel distribuisce il tool Intel Ethernet Flash Firmware Utility che permette il dump del firmware NVM.
La catena d'attacco simulabile in laboratorio segue questo flusso: escalation a ring-0 tramite driver vulnerabile → dump del firmware originale → injection di payload nel binario → reflash del componente. Ogni passaggio deve essere documentato con hash pre- e post-modifica per dimostrare l'avvenuta alterazione durante il debrief.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo