Flash memory chip hacking.

Het probleem:

Flashgeheugen vind je overal. In je tv, pc, telefoon, auto, router, laptop, gps, camera, en nog een honderdtal andere apparaten die we dagelijks gebruiken.

Flashgeheugen is erg onbetrouwbaar. Bij fonkelnieuwe flashchips komt het voor dat een groot percentage van de sectoren ‘BAD’ zijn.  Om hier dan toch een functionerend product -b.v. een usb geheugenstick- van te bouwen word gebruik gemaakt van een microcontroller, die als taak heeft om tijdens lees en schrijf acties naar de flashchips deze te controleren op slechte sectoren, deze sectoren te markeren en data alleen op goed werkende sectoren te schrijven.

Dit word door de toenemende geheugengrootte en geheugensnelheid een behoorlijke klus. Ook door de steeds toenemende hoeveelheid soorten flashchips -en fabrikant eigen protocollen- word dit steeds meer en complexer werk. Tenslotte neemt de error-rate -en dus de hoeveelheid rekenwerk- toe met het kleiner en sneller worden van de flashchips.
De controllers die deze klus klaren zijn intussen behoorlijk snelle processors, waarbij onder meer gemodificeerde 8051‘s en ARM processoren worden toegepast.

Nu is het mogelijk om op een sdcard met een Appotech controller willekeurige code uit te voeren in de zogenaamde -niet gedocumenteerde- ‘firmware loading mode’.
Met de systeem functie CMD63 gevolgd door ‘A’,’P’,’P’,’O’ word deze modus actief.
De 512 bytes die volgen worden nu door de controller uitgevoerd als code.
Deze interface is ook nog eens erg slecht of niet beveiligd tegen dit soort hacks.
Onthoud: -obscurity is no security-

Dit is een groot probleem, want zoals we weten zijn -onder andere- onze amerikaanse vrienden van de NSA buitengewoon geïnteresseerd in AL ons doen en laten. Deze hack lijkt een goede manier om -op dit moment- ongedetecteerd informatie te verzamelen.
En zoals we intussen allemaal wel weten, als het kan dan….
Behalve -zeg maar- de overheid, kan dit ook een potentieel probleem worden als criminelen dit soort hacks gaan gebruiken.

Voor de solderende en programmerende hobbyist is dit misschien wel een leuke nieuwe ontwikkeling, je kunt immers ook de controllers -intussen zo’n 50 MIPS sterk- voor andere niet-opslag-gerelateerde zaken gebruiken.

Zie voor meer details de youtube video hieronder.

DE VIDEO:

De links:

Bunnie’s blog