Schlüsselmaterial aus RAM auslesen

RAM abkühlenDie komplette Verschlüsselung der Festplatte bietet in vielen Fällen Sicherheit - insbesondere, wenn der Angreifer ein ausgeschaltetes System vorfindet. Bei einem laufenden System muß das Schlüsselmaterial für den Plattenzugriff zwangsweise irgendwo im RAM stehen - und hier ergeben sich weitere Möglichkeiten. Das Phänomen, daß Teile des RAMs einen Reset oder eine kurze Unterbrechung der Stromversorgung überleben (und damit der Schlüssel im RAM auffindbar ist), war bereits bekannt; jetzt haben Forscher durch Kühlen des RAMs den Zustand über mehrere Minuten erhalten können - so lange, daß man den Speicher sogar in einen anderen Rechner einsetzen konnte.

Für den direkten Zugriff auf das RAM eines laufenden Rechners gibt es verschiedene Ansätze:

Auf das RAM eines laufenden Systems läßt sich jedoch via DMA zugreifen - im Dezember 2004 wurde bereits demonstriert, wie via Firewire das RAM eines Systems ausgelesen werden kann; andere Möglichkeiten sind PCMCIA-Karten oder PCI-Karten auf einem hotplug-fähigen PCI-Bus.

Auf dem Chaos Communication Camp 2007 wurde vorgeführt, daß auch nach einem Reboot ein Großteil des RAMs erhalten bleibt und so nach dem Schlüsselmaterial gesucht werden kann. Selbst nach dem Aus- und Einschalten des Laptop des Referenten blieb ein großer Teil der Daten im RAM lesbar.

Dieses Phänomen wurde nun weiter untersucht: Modernes DRAM bleibt über mehrere Sekunden ohne Strom stabil, und durch Abkühlen läßt sich die Zeit auf viele Minuten verlängern - sogar so lange, daß man in Ruhe das RAM in eine anderen Rechner(!) einbauen und dort den Inhalt restaurieren konnte.

Waren bis dato Server mit einer verschlüsselten Platte vor dem Zugriff Dritter nahezu sicher, muß diese Annahme nun endgültig revidiert werden - zu einfach ist die Durchführung des Angriffs: Mit Druckluft das RAM abkühlen, den Rechner via Hard-Reset (oder Aus- und Einschalten) neu starten, und anschließend mit einem eigenen Bootmedium den Speicher nach dem Schlüssel für die Festplatte durchsuchen. Das Problem ist, daß es nur sehr schwer möglich ist, sich gegen einen solchen Angriff zu schützen.

  • Der Schlüssel muß für das laufende System in Greifweite sein - ein Spreizen des Schlüssels macht den Zugriff auf die Platte höchst imperformant und erschwert die Suche lediglich, kann sie aber nicht verhindern.
  • Spezielle Hardware-Kryptomodule (wie aus dem Trusted Computing bekannt) könnten theoretisch helfen - die Flexibilität der Softwarelösungen geht jedoch damit verloren.
  • Ein Löschen des RAMs durch den Kernel beim Herunterfahren oder des BIOS beim Einschalten kann durch das Kühlen und Umbauen umgangen werden.

In der Tat, die Optionen sehen schlecht aus; ernsthafte Sicherheit gewährleistet eine verschlüsselte Festplatte nur bei abgeschalteten Systemen (kein Standby oder Suspend-to-RAM) oder physikalischer Kontrolle über das System; letzteres ist gewährleistet, wenn der Zugriff zum Rechner nicht möglich ist oder sichergestellt wird, daß beim Reboot oder dem Öffnen des Gehäuses das RAM zuverlässig gelöscht wird. Daß das mit dem Umbauen in einen anderen Rechner funktioniert, hat mich erstaunt und erschüttert...

Das Phänomen des langsamen Verblassens von DRAM-Speicher haben die Autoren des Papers (zusammen mit den weiteren Problemen) in einem Video schön dargestellt:

(via Slashdot)