Navigatie overslaan.
Start

Firewire DMA

Blijkbaar zijn attacks via de firewire interface erg "hot" vandaag.
Iedereen doet alsof dit een enorm grote bug is.

Dit is geen bug, dit is het design van Firewire. Punt.
Als je hier een probleem mee hebt, dan moet je de volgende keer maar eerst eens even nadenken over de consequenties voordat je bepaalde technologieën begint te gebruiken.

Meer dan 5 jaar geleden werkte ik voor een buitenlands overheidsbedrijf waar Firewire en USB poorten van desktops letterlijk dichtgelast werden met een metalen plaatje. Toetsenbord en muis waren PS/2.
Dit was allemaal juist omwille van security redenen... (Dit bedrijf liet geen laptops toe.)

Omdat vandaag de dag (subjectieve) snelheid veel belangrijker lijkt te zijn dan stabiliteit en beveiliging, heeft Firewire iets dat DMA heet: Direct Memory Access.
En niet alleen firewire maakt gebruik van DMA.

Alles wat op een firewire poort van jouw PC aangesloten wordt, kan rechtstreeks het geheugen benaderen.
Met een aantal truukjes ook andere devices in de PC.
(Een Mac kan bijvoorbeeld booten via firewire van de HD in een andere Mac.)

Via de firewire interface kan het geheugen van een PC voor de volle 100% uitgelezen worden (wachtwoorden, encryptiekeys, ...) en je kan dingen veranderen. (variabelen aanpassen, processen "injecteren", ...).
Het meest gekende voorbeeld is om een gelockte windows PC te unlocken door er een Linux PC via firewire mee te verbinden.
http://storm.net.nz/projects/16

Antivirus programma's kunnen ook niet detecteren dat je een keylogger, rootkit, of andere malware via een firewire interface rechtstreeks in het geheugen plant.

In de forensische industrie gebruikt men deze techniek dan ook al jaren om een geheugen uitdraai te maken van een gehackte machine.
En in landen met een actieve inlichtingendienst wordt dit soms wel eens gebruikt om software de "injecteren".

Als je firewire nodig hebt, kan je je hier niet tegen beveiligen.
Als je geen firewire gebruikt, compileer je onder Linux gewoonweg geen firewire ondersteuning in je kernel, of gewoon "modprobe ohci1394 phys_dma=0".
Hoe je Windows machines hier tegen kan beveiligen moet je maar aan Microsoft vragen.

Ik zal het nog maar eens herhalen: Vanaf het moment dat iemand fysieke toegang heeft tot jouw (werkende) apparatuur, is er absoluut geen enkele manier om deze afdoende te beveiligen tegen mensen die weten wat ze doen.
(Law #3: If a bad guy has unrestricted physical access to your computer, it's not your computer anymore.)

Alhoewel men in het buitenland hier 5 jaar gelden al maatregelen tegen nam, mag je nu eens 1 keer raden over welke interface de Belgische stemcomputers beschikken en voor wie die interface allemaal bereikbaar is...

Natuurlijk zijn press-releases of vacatures altijd leuk om informatie in te winnen over bepaalde dingen:

“Dallas, December 8, 2003 – The 1394 Trade Association’s Wireless Working Group today
announced that the specification for Wireless 1394 applications is functionally complete
and ready for a ballot as early as January 2004.”
“Dallas, September 6, 2006 - Czech Republic’s National Court System is Largest
Single-Site IEEE 1394 (FireWire) Installation”

Firewire situeren...

Om je even een idee te geven waarom dit niet nieuwswaardig is, en wat het verschil tussen USB en Firewire is:

Seriële poort, parallelle poort, PS/2 poort, USB poort,...

ISA interface, PCI interface, AGP interface, Firewire interface, ...

Snap je nu waarom dit vrij normaal is?