CCC Camp, 2. Tag

We­ni­ger Zeit, und dann Ton­pro­ble­me mit den Streams - damit rutscht mehr auf die Wunsch­lis­te...

Funk, the func­tio­nal fuz­zer wäre si­cher span­nend ge­we­sen. Scapy als Pro­to­koll­bau­kas­ten kennt man ja, ich bin neu­gie­rig, was Funk treibt. Ge­nau­so lan­det der Vor­trag über neu­ar­ti­ge Fire­wall-Sys­te­me auf der An­seh-Wunsch­lis­te.

Cryp­to­gra­phic key re­co­very from Linux me­mo­ry dumps konn­te ich hin­ge­gen an­se­hen. Prin­zi­pi­ell keine neuen In­for­ma­tio­nen, aber eine schö­ne Zu­sam­men­stel­lung von Fak­ten: Eine kom­plett ver­schlüs­sel­te Plat­te be­deu­tet nicht au­to­ma­tisch kom­plet­te Sys­tem­si­cher­heit.
Das Schlüs­sel­ma­te­ri­al ver­schlüs­sel­ter Par­ti­tio­nen muß zur Zeit der Be­nut­zung im RAM lie­gen - klar, wer einen Spei­cher­dump in die Fin­ger be­kommt, wird mit ent­spre­chen­dem Auf­wand (laut Re­fe­rent nicht allzu schwie­rig) das Schlüs­sel­ma­te­ri­al darin fin­den. Aber ohne root-Rech­te be­kommt man auf uni­xo­iden Sys­te­men nor­ma­ler­wei­se kei­nen Spei­cher­dump (über die Pro­ble­ma­tik beim Sus­pend habe ich ja hier schon mal was ge­schrie­ben...
Der Autor hat noch­mals auf zwei wei­te­re Dinge hin­ge­wie­sen: Alles, was DMA-Zu­griff hat, kann das RAM aus­le­sen; und dazu zählt auch Fire­wire und PCI-Kar­ten. Hat der Rech­ner be­reits eine Fire­wire-Schnitt­stel­le, hat der An­grei­fer gute Kar­ten; vom PCI-Bus gibt es Hot­p­lug-fä­hi­ge Va­ri­an­ten, so daß man bei sol­chen Sys­te­men Hard­ware da­zu­ste­cken kann. Aber auch PCMCIA-Kar­ten kön­nen via DMA auf das RAM zu­grei­fen - was liegt also näher, als in Lap­tops ein­fach eine Fire­wire-Kar­te ein­zu­ste­cken? Die meis­ten Be­triebs­sys­te­me ak­ti­vie­ren diese artig und laden au­to­ma­tisch pas­sen­de Trei­ber...
An­sons­ten lohnt es sich auch, das RAM di­rekt nach einem Reset zu un­ter­su­chen: Im Ge­gen­satz zu den Ur-PCs wird das RAM beim Ein­schal­ten nicht mehr voll­kom­men in­itia­li­siert. So kann man also eine ei­ge­nes Sys­tem vom USB-Stick o.ä. boo­ten und im Spei­cher nach Res­ten des vo­ri­gen Sys­tems su­chen. Laut Aus­sa­ge des Au­tors über­lebt ein Gro­ß­teil des RAM-Zu­stands sogar ein Aus­schal­ten von bis zu 30 Se­kun­den.
Die Vor­stel­lung finde ich ziem­lich er­schre­ckend: Je­mand boo­tet "sein" Sys­tem und durch­sucht an­schlie­ßend das RAM nach "RAM-Trüm­mern". Was kann man da­ge­gen tun? Klar, erst­mal kein Fire­wire. Wenn man das BIOS (und ggf. den Boot­loa­der) mit einem Pass­wort si­chert, kann der An­grei­fer kein ei­ge­nes Sys­tem boo­ten; al­ler­dings endet diese Schutz­vor­rich­tung, wenn der An­grei­fer seine ei­ge­ne Fest­plat­te mit­bringt und die Plat­te des Sys­tems aus­tauscht. Daß IDE das (fast immer) über­lebt, hat man sei­ner­zeit bei den X-Box-Hacks ge­se­hen; und S-ATA ist oh­ne­hin hot­p­lug-fä­hig.
Was ich nicht ganz ver­ste­hen konn­te, war die Kri­tik an LUKS: Die Si­cher­heit eines Krypto­sys­tems soll­te ein­zig am Schlüs­sel­ma­te­ri­al lie­gen. Im Um­kehr­schluß dür­fen also die An­ga­ben im LUKS-Hea­der über den ver­wen­de­ten Al­go­rith­mus einem An­grei­fer kei­nen nen­nens­wer­ten Vor­teil brin­gen (und in einem RAM-Dump fin­det man die In­for­ma­ti­on über das ver­wen­de­te Ver­fah­ren oh­ne­hin). Das Key Sche­du­ling von LUKS ver­hin­dert (durch sehr re­chen­in­ten­si­ve Ope­ra­tio­nen) ef­fek­tiv Wör­ter­buch-An­grif­fe auf das Kenn­wort.

How to (re­al­ly) for­get your se­cret cryp­to key konn­te ich lei­der nicht sehen; ich kann mir aber grob vor­stel­len, worum es ging: Flash­spei­cher er­laubt nur eine ge­wis­se An­zahl an Schreib­zy­klen, bevor die Spei­cher­zel­len durch "Ab­nut­zung" ster­ben. Spe­zi­el­le Da­tei­sys­te­me wie JFFS be­rück­sich­ti­gen die­sen Um­stand und sor­gen für eine gleich­mä­ßi­ge Ab­nut­zung. Da aber alle Welt ihre USB-Sticks mit FAT32 for­ma­tiert, be­sit­zen die USB-Sticks eine Logik, wel­che für die gleich­mä­ßi­ge Be­nut­zung des Spei­chers sorgt (und so File­sys­tem-be­ding­te Hot-Spots wie Di­rec­to­ry-Ein­trä­ge ver­mei­det).
Damit funk­tio­niert auch der Trick des Über­schrei­bens einer Datei nicht mehr: Bei einer Fest­plat­te (und einem File­sys­tem ohne Jour­nal) konn­te man davon aus­ge­hen, daß die­sel­ben Blö­cke wie­der­ver­wen­det und somit die sen­si­blen Daten über­schrie­ben wer­den. Wegen die­ser Über­set­zungs­lo­gik in USB-Sticks ist diese An­nah­me hier falsch. Ein Fo­ren­si­ker kann also auch "über­schrie­be­ne" Daten re­kon­stru­ie­ren.

Die Flash-Spie­le­rei­en wären si­cher auch in­ter­es­sant ge­we­sen, wie diese Zu­sam­men­fas­sung be­stä­tigt; naja, viel­leicht be­kom­me ich ja eine Auf­zeich­nung.