BadUSB – eine Vorab-Einordnung

Eine kleine Sammlung an Fakten und ähnlichen Arbeiten

Seit zwei Tagen ma­chen Schlag­zei­len wie „The Se­cu­ri­ty of USB is fun­da­men­tal­ly bro­ken“ die Runde. Der Hin­ter­grund: Für die dies­jäh­ri­ge Black­hat wurde von For­schern ein Talk unter dem Titel „Turning USB pe­ri­pherals into Ba­dUSB“ ein­ge­reicht. Mit mo­di­fi­zier­ter Firm­ware ver­sucht das prä­pa­rier­te USB-Ge­rät, den Rech­ner an­zu­grei­fen. Sol­che Ideen sind nicht gänz­lich neu, ich ver­su­che mal, Hin­ter­grün­de und be­kann­te Fak­ten über den kom­men­den Talk zu­sam­men­zu­tra­gen.

Der USB-Bus ist als ge­ne­ri­sche An­schlu­ß­mög­lich­keit für ver­schie­dens­te Ge­rä­tear­ten ge­dacht. Ge­rä­te mel­den sich mit einer ID (be­ste­hend aus Ven­dor-ID und Pro­duct-ID) und geben sich als eine be­stimm­te Ge­rä­te­klas­se zu er­ken­nen. Die Idee da­hin­ter: Hin­ter den Ge­rä­te­klas­sen ver­ber­gen sich be­stimm­te Stan­dard-Ver­hal­ten­se­wei­sen, so daß sol­che Ge­rä­te auch ohne einen be­stimm­ten Ge­rä­te­trei­ber funk­tio­nie­ren kön­nen. Die po­pu­lärs­ten Klas­sen dürf­ten HIDs (also z.B. Tas­ta­tur oder Maus) und Audio (ex­ter­ne Sound­kar­ten) sein. Ein mög­li­cher­wei­se vor­han­de­ner spe­zi­el­ler Ge­rä­te­trei­ber kann an­hand der ID zu­ge­ord­net und ak­ti­viert wer­den.

Das läßt na­tür­lich viele Mög­lich­kei­ten für krea­ti­ven Un­sinn zu. Bei­spiels­wei­se muß ein USB-Tas­ta­tur-Ge­rät nicht zwin­gend Tas­ten haben: Viele Bar­code-Scan­ner mel­den sich als Tas­ta­tur, aber ge­nau­so kann man ein Nerv-USB-Ge­rät bauen, wel­ches ge­le­gent­li­che Tas­ten­drü­cke oder Maus­wack­ler si­mu­liert.

Für das Teen­sy USB-Board gibt es vor­ge­fer­tig­te An­griffs-Skrip­te, wel­che nach dem Ein­ste­cken an einem Win­dows-Rech­ner eine Folge von Tas­ten­drü­cken si­mu­lie­ren und so bei­spiels­wei­se Schad­soft­ware her­un­ter­la­den und aus­füh­ren.

Einen noch uni­ver­sel­le­ren An­satz ver­folgt der Face­dan­cer: Wer Kon­trol­le über das ge­spro­che­ne USB-Pro­to­koll hat, kann sich als be­lie­bi­ges Gerät bzw. eine be­lie­bi­ge Kette von Ge­rä­ten aus­ge­ben. Ein An­grei­fer kann so bei­spiels­wei­se eine Folge von USB-IDs durch­pro­bie­ren, in der Hoff­nung, daß sich auf dem Rech­ner ein ent­spre­chen­der Trei­ber be­fin­det - und dann ge­zielt Si­cher­heits­lü­cken in die­sem Trei­ber an­grei­fen.

All die ge­nann­ten Mög­lich­kei­ten be­nö­ti­gen bis­her se­pa­ra­te, spe­zi­el­le Hard­ware. Der Teen­sy läßt sich wie ein her­kömm­li­cher USB-Stick ver­klei­den, der Rest ist deut­lich klo­bi­ger.

Auf dem 30c3 gab es einen Vor­trag, über ma­ni­pu­lier­te SD-Kar­ten: Den Re­fe­ren­ten war es ge­lun­gen, die Firm­ware des Con­trol­lers der SD-Card aus­zu­tau­schen. SD-Cards bie­ten zwar nicht die Viel­falt von USB, aber selbst mit einem Spei­cher­ge­rät las­sen sich ver­schie­de­ne An­grif­fe durch­füh­ren: Bei­spiels­wei­se kön­nen so ver­schie­de­ne Da­tei­sys­tem-Trei­ber an­ge­grif­fen wer­den, oder es kön­nen dar­auf ge­spei­cher­te Bi­na­ries aut­ma­tisch mit Schad­soft­ware er­gänzt wer­den.

Nach den Infos, die in die­sem Vor­ab-Ge­spräch mit den Black­hat-Spre­chern zu er­fah­ren war, gehe ich von einer Mi­schung der obi­gen An­sät­ze aus: Ähn­lich wie in dem SD-Kar­ten-Vor­trag ist es den For­schern ge­lun­gen, die Firm­ware eines USB-Sticks neu zu pro­gram­mie­ren. Damit sähe der USB-Stick un­ver­än­dert aus, würde sich beim Ein­ste­cken aber nicht mehr wie ein USB-Mas­sen­spei­cher ver­hal­ten, son­dern hätte die Mög­lich­kei­ten des Teen­sy-Boards bzw. könn­te An­grif­fe wie mit dem Face­dan­cer durch­füh­ren.

Zwar wird es ver­mut­lich auch beim Her­stel­len von USB-Hard­ware so sein, daß die Bau­tei­le lö­wen­an­teils­mä­ßig von einer klei­nen Zahl von Her­stel­lern kommt. In einem Kom­men­tar zu einer der Mel­dun­gen liest man, daß aber wohl längst nicht alle um­pro­gram­mier­bar sind. Und das Pro­gram­mie­ren selbst er­for­dert an­geb­lich ei­ni­ges an Know-How, es wird die Zu­kunft zei­gen, wie leicht ent­spre­chen­de Ge­rä­te auf dem Markt zu fin­den sind und wie schnell „Koch­re­zep­te“ zum Um­pro­gram­mie­ren die Runde ma­chen.

Mein Zwi­schen­fa­zit: Es ist eine neue neue Spiel­art eines be­kann­ten Spiels. Die Neue­rung dürf­te sein, daß Mas­sen­hard­ware ent­spre­chend ver­wen­det wer­den kann und es nicht mehr nötig ist, Klein­ge­rä­te zu tar­nen oder (für po­ten­te An­grei­fer) ent­spre­chen­de Hard­ware her­stel­len zu las­sen. Für den Be­nut­zer gilt nach wie vor: Frem­de Hard­ware (der ste­reo­ty­pe auf dem Park­platz ge­fun­de­ne USB-Stick) hat nichts an den ent­spre­chen­den An­schlüs­sen des ei­ge­nen Rech­ners zu su­chen.

Edit: In­zwi­schen ist ein Vi­deo­mit­schnitt on­line, ich habe hier eine Zu­sam­men­fas­sung ge­schrie­ben.

Bild: (CC) by-nc-sa Mar­tin Kenny