I problemi di sicurezza con FireWire derivano da Accesso diretto alla memoria : l'hardware FireWire può leggere direttamente i contenuti della RAM, e (questo è la parte critica), il dispositivo FireWire arriva a dire quali parti della RAM dovrebbero essere lette e quando. Naturalmente, in normali operazioni, un dispositivo FireWire non leggerà la RAM a meno che la macchina non gli dica di farlo; ma un dispositivo FireWire malevolo potrebbe leggere tutti i contenuti della RAM di propria iniziativa, senza che venga ordinato dal sistema operativo. In effetti, il kernel del sistema operativo non sarebbe nemmeno a conoscenza di questo ingorgo di memoria di massa. Esistono implementazioni con un altro computer come "dispositivo FireWire dannoso".
Questa proprietà di FireWire è utile per il debugging hardware a basso livello, ma è un po 'spaventoso per quanto riguarda la sicurezza.
Questo è in contrasto con USB, dove può verificarsi DMA, ma solo quando viene avviato dal sistema host in modo esplicito. Il dispositivo riceve un ordine che equivale a "yay, ora puoi leggere molti dati, ho impostato DMA giusto" ma non ha modo di attivare il trasferimento DMA e / o selezionare gli indirizzi rilevanti nella RAM.
Ora per un convertitore FireWire-to-USB, le cose diventano speculative perché dipende da come viene implementato il convertitore. Tuttavia, si può prevedere che quando il dispositivo FireWire richiede alcuni DMA, il convertitore invia la richiesta alla macchina tramite USB e il driver corrispondente imposta il trasferimento DMA per conto del dispositivo. Quindi dovrebbero essere presenti gli stessi problemi di sicurezza , a meno che il sistema operativo (attraverso il driver del convertitore) imponga un modello di sicurezza in cui tali trasferimenti DMA vengono prima convalidati prima di essere autorizzati. Almeno, le cose salgono al livello della CPU, quindi il sistema operativo ha teoricamente la possibilità di intervenire. Dubito che la maggior parte dei driver del convertitore lo farebbe comunque.
Per FireWire-to-PCMCIA, il DMA potrebbe verificarsi direttamente (senza passare per la CPU host) perché PCMCIA è solo una versione hotplug di PCI e PCI ha accesso DMA completo. La conversione può verificarsi direttamente nel convertitore senza colpire affatto il driver host-side. La prudenza impone di presumere che un convertitore FireWire-to-PCMCIA esponga alle stesse vulnerabilità di FireWire raw.
La parte davvero spaventosa è che in alcuni sistemi operativi, il semplice inserimento del convertitore può innescare un download automatico del driver pertinente, anche se il sistema host è "bloccato" (ad es. nessun utente connesso).