CCC Camp, 2. Tag

Weniger Zeit, und dann Tonprobleme mit den Streams - damit rutscht mehr auf die Wunschliste...

Funk, the functional fuzzer wäre sicher spannend gewesen. Scapy als Protokollbaukasten kennt man ja, ich bin neugierig, was Funk treibt. Genauso landet der Vortrag über neuartige Firewall-Systeme auf der Anseh-Wunschliste.

Cryptographic key recovery from Linux memory dumps konnte ich hingegen ansehen. Prinzipiell keine neuen Informationen, aber eine schöne Zusammenstellung von Fakten: Eine komplett verschlüsselte Platte bedeutet nicht automatisch komplette Systemsicherheit.
Das Schlüsselmaterial verschlüsselter Partitionen muß zur Zeit der Benutzung im RAM liegen - klar, wer einen Speicherdump in die Finger bekommt, wird mit entsprechendem Aufwand (laut Referent nicht allzu schwierig) das Schlüsselmaterial darin finden. Aber ohne root-Rechte bekommt man auf unixoiden Systemen normalerweise keinen Speicherdump (über die Problematik beim Suspend habe ich ja hier schon mal was geschrieben...
Der Autor hat nochmals auf zwei weitere Dinge hingewiesen: Alles, was DMA-Zugriff hat, kann das RAM auslesen; und dazu zählt auch Firewire und PCI-Karten. Hat der Rechner bereits eine Firewire-Schnittstelle, hat der Angreifer gute Karten; vom PCI-Bus gibt es Hotplug-fähige Varianten, so daß man bei solchen Systemen Hardware dazustecken kann. Aber auch PCMCIA-Karten können via DMA auf das RAM zugreifen - was liegt also näher, als in Laptops einfach eine Firewire-Karte einzustecken? Die meisten Betriebssysteme aktivieren diese artig und laden automatisch passende Treiber...
Ansonsten lohnt es sich auch, das RAM direkt nach einem Reset zu untersuchen: Im Gegensatz zu den Ur-PCs wird das RAM beim Einschalten nicht mehr vollkommen initialisiert. So kann man also eine eigenes System vom USB-Stick o.ä. booten und im Speicher nach Resten des vorigen Systems suchen. Laut Aussage des Autors überlebt ein Großteil des RAM-Zustands sogar ein Ausschalten von bis zu 30 Sekunden.
Die Vorstellung finde ich ziemlich erschreckend: Jemand bootet "sein" System und durchsucht anschließend das RAM nach "RAM-Trümmern". Was kann man dagegen tun? Klar, erstmal kein Firewire. Wenn man das BIOS (und ggf. den Bootloader) mit einem Passwort sichert, kann der Angreifer kein eigenes System booten; allerdings endet diese Schutzvorrichtung, wenn der Angreifer seine eigene Festplatte mitbringt und die Platte des Systems austauscht. Daß IDE das (fast immer) überlebt, hat man seinerzeit bei den X-Box-Hacks gesehen; und S-ATA ist ohnehin hotplug-fähig.
Was ich nicht ganz verstehen konnte, war die Kritik an LUKS: Die Sicherheit eines Kryptosystems sollte einzig am Schlüsselmaterial liegen. Im Umkehrschluß dürfen also die Angaben im LUKS-Header über den verwendeten Algorithmus einem Angreifer keinen nennenswerten Vorteil bringen (und in einem RAM-Dump findet man die Information über das verwendete Verfahren ohnehin). Das Key Scheduling von LUKS verhindert (durch sehr rechenintensive Operationen) effektiv Wörterbuch-Angriffe auf das Kennwort.

How to (really) forget your secret crypto key konnte ich leider nicht sehen; ich kann mir aber grob vorstellen, worum es ging: Flashspeicher erlaubt nur eine gewisse Anzahl an Schreibzyklen, bevor die Speicherzellen durch "Abnutzung" sterben. Spezielle Dateisysteme wie JFFS berücksichtigen diesen Umstand und sorgen für eine gleichmäßige Abnutzung. Da aber alle Welt ihre USB-Sticks mit FAT32 formatiert, besitzen die USB-Sticks eine Logik, welche für die gleichmäßige Benutzung des Speichers sorgt (und so Filesystem-bedingte Hot-Spots wie Directory-Einträge vermeidet).
Damit funktioniert auch der Trick des Überschreibens einer Datei nicht mehr: Bei einer Festplatte (und einem Filesystem ohne Journal) konnte man davon ausgehen, daß dieselben Blöcke wiederverwendet und somit die sensiblen Daten überschrieben werden. Wegen dieser Übersetzungslogik in USB-Sticks ist diese Annahme hier falsch. Ein Forensiker kann also auch "überschriebene" Daten rekonstruieren.

Die Flash-Spielereien wären sicher auch interessant gewesen, wie diese Zusammenfassung bestätigt; naja, vielleicht bekomme ich ja eine Aufzeichnung.