BadUSB – der Vortrag

Nun sind also alle In­for­ma­tio­nen ver­füg­bar: Der Talk ist ge­hal­ten und auch schon bei Youtube ver­füg­bar, und auch die Fo­li­en sind on­line. Was wurde ge­zeigt, und in wie­weit deckt sich das mit den Vor­ab-In­fos?

Ähn­lich wie beim Vor­trag über die SD-Kar­ten wur­den die Con­trol­ler der USB-Ge­rä­te mit neuer Firm­ware aus­ge­stat­tet. Die Re­fe­ren­ten konn­ten die Firm­ware be­stimm­ter USB-Con­trol­ler aus­le­sen und an­schlie­ßend mo­di­fi­zier­te Firm­ware wie­der zu­rück­schrei­ben. Der be­trof­fe­ne Con­trol­ler­chip ist laut ihren Aus­sa­gen sehr weit ver­brei­tet, man hat also eine gute Chan­ce, ihn „in frei­er Wild­bahn“ an­zu­tref­fen.

In den Con­trol­lern scheint er­staun­lich viel frei­er Platz zu sein – die ge­zeig­ten Demos hat­ten doch or­dent­li­che Kom­ple­xi­tät, und die Re­fe­ren­ten mu­ß­ten ihre An­grif­fe nicht hän­disch in As­sem­bler schrei­ben, son­dern konn­ten sich eines C-Com­pi­lers be­die­nen.

De­mons­triert wur­den ver­schie­de­ne An­grif­fe:

  • Ein nor­ma­ler Spei­cher­stick wurde um Rub­ber Ducky-Funk­tio­nen er­wei­tert. Nach kur­zer Zeit än­der­te Der Stick sein Ver­hal­ten vom Spei­cher­me­di­um zur Tas­ta­tur und setz­te so ein Kom­man­do für Down­load und In­fek­ti­on des Rech­ners ab. An­hand von Heu­ris­ti­ken wurde das Be­triebs­sys­tem er­kannt, um so den rich­ti­gen In­fek­ti­ons­pfad zu wäh­len.
  • Die In­fek­ti­on er­kann­te um­pro­gram­mier­ba­re USB-Sticks und stat­te­te diese wie­der­um mit der In­fek­ti­ons­rou­ti­ne aus – ein USB-Firm­ware-Vi­rus.
  • Durch Vor­gau­keln einer Netz­werk­kar­te konn­te auf Phis­hing-Sei­te um­ge­lei­tet wer­den: Auf dem Stick war ein DHCP-Ser­ver im­ple­men­tiert, der dem an­zu­grei­fen­den Rech­ner via DHCP einen vom An­grei­fer kon­trol­lier­ten DNS-Ser­ver zu­wies. Da das DHCP-Lea­se kein De­fault Gate­way ent­hielt, wurde die bis­he­ri­ge Netz­ver­bin­dung wei­ter ge­nutzt. Cle­ver.

Wei­te­re An­griffs­mög­lich­kei­ten (teils ja so schon ver­mu­tet):

  • Aus­bruch aus einer VM: Ein USB-Ge­rät, das in eine VM durch­ge­schleift ist, kann von die­ser mit neuer Firm­ware aus­ge­stat­tet wer­den. Durch ein Re­con­nect ver­bin­det sich das USB-Ge­rät an­schlie­ßend mit dem Host-Sys­tem. Durch Emu­la­ti­on eines USB-Hubs kön­nen auch meh­re­re Ge­rä­te vor­ge­gau­kelt wer­den, eines an der VM, eines am Host – so ist ein Durch­tun­neln von Daten mög­lich.
  • Ver­än­dern von Da­tei­en wäh­rend des Zu­griffs, z.b. In­fek­ti­on mit einer Back­door. Durch Zu­griffs­heu­ris­ti­ken ist mög­li­cher­wei­se der Zu­griff durch einen Vi­ren­scan­ner er­kenn­bar, die­sem würde man na­tür­lich ein nicht in­fi­zier­tes Bi­na­ry aus­lie­fern.
  • BIOS-Flas­hen durch Tas­ta­tur­e­mu­la­ti­on
  • An­griff auf Trei­ber durch En­u­me­rie­ren von Ge­rä­ten

Das Fa­ta­le an die­ser Art des An­griffs: Die Ge­rä­te sehen nicht auf­fäl­lig aus oder sind sogar die ei­ge­nen USB-Ge­rä­te. Ein „Ent­seu­chen“ nach einer In­fek­ti­on ist na­he­zu aus­sichts­los: Die Flash-Rou­ti­ne wird ja eben­falls von der Firm­ware kon­trol­liert, so kann ein in­fi­zier­tes Gerät sich gegen ein Über­schrei­ben mit kor­rek­ter Firm­ware weh­ren. Ganz fatal sind in Ge­rä­ten fest ein­ge­bau­te USB-Ge­rä­te – ge­ra­de bei Lap­tops wer­den Dinge wie Web­cam, Touch­pad oder Fin­ger­ab­druck­scan­ner gerne über einen in­ter­nen USB-Bus an­ge­schlos­sen.

Ein­zig kon­se­quen­ter Schutz sind nur USB-Ge­rä­te, die ab Werk keine Ver­än­de­rung der Firm­ware mehr zu­las­sen. Ein Whi­te­lis­ting von Ge­rä­ten ist kein uni­ver­sel­ler Schutz: Da die Ver­ga­be von Se­ri­en­num­mern bei USB-Ge­rä­ten op­tio­nal ist, las­sen sich nicht alle Ge­rä­te ein­deu­tig er­ken­nen. Gibt man ganze Ge­rä­te­klas­sen (z.B. Tas­ta­tur) frei, kann über ein sol­ches Gerät eine mög­li­che In­fek­ti­on er­fol­gen.

Zu­sam­men­fas­send war das meis­te so schon in den Vorab­in­fos zu er­ah­nen; der Punkt mit der Per­sis­tenz des An­griffs, ins­be­son­de­re bei fest ver­bau­ten Ge­rä­ten, ein Punkt, der den An­griff sehr po­tent macht und der beim ers­ten Blick mög­li­cher­wei­se ver­nach­läs­sigt wurde.