In che modo una vulnerabilità può essere cablata?
leggi questo articolo , che mi ha fatto riflettere. Esiste semplicemente un software vulnerabile in esecuzione su un pezzo di hardware che è solo in lettura / scrittura o ..?
In che modo una vulnerabilità può essere cablata?
leggi questo articolo , che mi ha fatto riflettere. Esiste semplicemente un software vulnerabile in esecuzione su un pezzo di hardware che è solo in lettura / scrittura o ..?
Un chip funziona fondamentalmente in questo modo: riceve alcuni input (comandi e dati), esegue alcuni calcoli e genera un output. Potrebbe avere memoria interna.
FPGA (array di gate programmabili sul campo) sono chip standard vuoti che sono "programmati" dai clienti in il livello del gate (molto vicino all'hardware).
Prendiamo le Smartcard come esempio: il chip offre comandi per generare o memorizzare una chiave privata nella sua memoria interna. Ma non ha un comando per emettere la chiave privata in base alle specifiche.
Quindi la chiave privata è protetta e tutti i calcoli che riguardano la chiave privata devono essere eseguiti sulla carta.
Ma se ci fosse un comando nascosto per leggere la chiave privata dall'area protetta della memoria interna, un utente malintenzionato potrebbe copiare la carta.
Molti chip non sono completamente cablati, ma eseguono Microcode . Questo microcodice gira all'interno del chip e fornisce l'interfaccia di programmazione (codice macchina) utilizzata per accedere al chip dall'esterno. In genere il microcodice può essere scritto sul chip ma non letto da esso. Questo potrebbe essere usato per proteggere la proprietà intellettuale o gli algoritmi e le chiavi sensibili.
Potrebbe esserci un'interfaccia di debug che consente la lettura del codice, a meno che non sia stato impostato un flag sul caricamento. Ma una backdoor potrebbe comunque offrire accesso.
Questo argomento non è nuovo: nel 2009 un documento su Hardware Trojan Horse Detection Ad esempio, è stata pubblicata la caratterizzazione del livello di gate. (Link nella sezione commenti a causa del bug di StackExchange).
È perfettamente necessario disporre di tali funzionalità per il debug, purché siano documentate e possano essere disattivate per l'utilizzo in produzione. Secondo la copertura della stampa nel caso recente, la società ha venduto i loro gettoni come "grado militare", pubblicizzando che le informazioni memorizzate non possono essere lette. Quindi questa funzionalità di debug si trasforma in una backdoor.
Si tende a ridursi a se l'implementatore lo ha creato per agire da backdoor o per svolgere una funzione non insidiosa.
In genere si tratta di un insieme di connessioni su hardware / chip / etc che consentono l'accesso diretto a cose come la memoria e quant'altro.
La maggior parte delle volte sono installati per scopi di debug e test; per esempio. compiti diagnostici. Quando sono collegati a reti che consentono l'accesso remoto, sono davvero utili per determinare i problemi senza dover collegare una sonda direttamente nell'hardware, come nel ventre di un aereo. D'altro canto, se sono mal protetti, diventano un facile vettore di attacco.
Robert Graham ha scritto una recensione su una delle ultime storie di backdoor-in-hardware: link