How to protect a PC against sensitive data access by malicious app/driver
Un driver, per definizione, fa parte del sistema operativo. Pertanto, ogni volta che qualcuno è in grado di inserire un driver malevolo, ottiene l'accesso a livello di sistema di privilegi. Ciò significa che può accedere a ogni singolo frammento di memoria del tuo computer.
Hai perso il gioco.
L'unico modo per contrastare efficacemente questo è la sicurezza del vuoto aereo. Vale a dire. posiziona la tua macchina in una stanza senza alcun collegamento verso l'esterno (e questo includerebbe la radiazione RF involontaria, ad esempio facendo scoppiare ritmicamente un bus PCIe, o trasmettendo RF effettivamente hardware dannoso) e monitora personalmente chi accede al computer.
Mi piacerebbe dire qualcosa di edificante sul fatto di non avere il driver installato nel sistema operativo iperverante, ma in una VM con privilegi minori - ma la realtà è che probabilmente si desidera utilizzare il dispositivo in lo stesso contesto in cui ti stai sviluppando (altrimenti, semplicemente non installerai il dispositivo in un ambiente sensibile, in ogni caso), quindi fondamentalmente non aiuta.
Si noti che il problema non si ferma a livello di software - se l'hardware è PCIe, CardBus, PCI, AGP, PCMCIA, ISA, PXI, PCI-X, FireWire, Thunderbolt o una delle molte classi di dispositivi di memorizzazione (Floppy, IDE, probabilmente molti dispositivi Sata, M.2,), tipici bus "strettamente accoppiati" come HyperTransport, AHB quindi potrebbero ottenere DMA - e quindi, esattamente, D irect < strong> M emory A ccess, senza alcuna possibilità che il sistema operativo, un software antivirus o anche solo la CPU interferiscano. Gli usi di questo meccanismo per leggere ed estrarre il contenuto della RAM completa di un PC sono stati dimostrati numerose volte.
Usi il tag USB, ma non lo spieghi nella tua domanda - USB stesso non fornisce le funzionalità DMA dei dispositivi, ma molti chipset e driver di dispositivo USB in realtà hanno bug che consentono ai dispositivi USB di ottenere essenzialmente la memoria accesso. Si noti che questo lascia il dominio "driver malevolo" ed entra nel dominio "buggy host-integrated hardware" e "buggy driver" - e chiunque abbia mai letto un pezzo di driver windows consumer sarà d'accordo sul fatto che questa classe di driver è quella dominante .
Tutto sommato, l'installazione di hardware dannoso nelle macchine è praticamente lo scenario della "cameriera cattiva", solo che sei tu la malvagia cameriera.