"Cold Boot Attacks" – RAM auslesen zur Wiederherstellung von Cryptokeys
Nachdem ich gestern schon angefangen hatte, einen Beitrag dazu zu schreiben, hat es sich nun wie ein Lauffeuer verbreitet, auch Heise berichtete: das CITP (Center for Information Technology) hat ein Video und Dokument dazu veröffentlich, dass man RAM Bausteine auch nach einem Reboot auslesen und eventuell vorhande Cryptokeys wiederherstellen kann.
Die Technik ist nicht ganz neu, denn schon auf dem Chaos Communication Camp 2007 habe ich einen Vortrag gehört, in dem sie beschrieben wurde. Neu ist nun allerdings, dass RAM gekühlt und erst danach umgebaut wurde, sodass der Baustein seine Daten langsamer “vergisst” und dann im PC eines Forensikers ausgelesen werden kann. Ein USB-Boot mit passender Software am Rechner des “Übeltäters” reicht ja aber auch.
Gegenmaßnahmen gibt es bisher nicht und das wird auch schwierig (wenn nicht gar unmöglich) werden – spontan fällt mir dazu nur ein, dass man den ganzen PC aufbruchsicher in einem Safe verpacken könnte…. ![]()
Oder man benutzt Crypto-Hardware, die on-the-fly alles im RAM verschlüsselt und den Key bei jedem Reboot des Systems ändert (und den Key natürlich nicht in einem DRAM speichert).



matthias
Das Video habe ich heute mittag auch gesehen. Wirklich interessant, wie damit jede Verschlüsselung zu nichte gemacht wird – besonders dann, wenn man den PC im Standby laufen lässt oder kurz außer Augen lässt.
War es nicht lange Zeit ein “Markenzeichen” von OpenBSD, dass der komplette RAM verschlüsselt wird? Ok, auch dieser Schlüssel muss ja irgendwo abgelegt werden, so dass es dann doch irgendwie zu knacken werde. Möchte mir da kein Urteil erlauben, bin kein Kryptoexperte.
Stefan
Selbst wenn der RAM verschlüsselt wird, bringt das nichts, denn irgendwo muss der Key liegen, genau. Man könnte zwar wohl dafür sorgen, dass der Speicherbereich mit dem Key auf dem ebenfalls verschlüsselten swap liegt, aber das hätte wohl ziemlich fiese Performance-Nachteile und irgendwo muss der Key für den verschlüsselten Swap ja auch liegen, es ist also sinnlos. Man braucht irgendein nicht-RAM-Device, auf dem der Key liegt. Das Einzige was mir einfällt, ist eben ein Device an die RAM-Bank anzuschließen, in dem selbst RAM enthalten ist und das on-the-fly den verschlüsselt…und am besten den Key in mehreren FlipFlops speichert, die nach jedem Stromausfall neu gesetzt werden. Die Werte der FlipFlops neu zu setzen ist dann aber auch nicht ganz trivial, weil ein PC an sich ja ein deterministisches System ist, man braucht irgendeine Quelle für den jeweiligs “zufälligen” Key in dem Cryptodevice, aber dafür gibt es auch Lösungen. Ich glaube, ich sollte schnell ein Patent anmelden…
Uwe
Es ist doch immer wieder interessant, welche guten Anregungen man von Euch beiden bekommt, nach welchen Themen man mal suchen sollte.
An dieser Stelle mal einen herzlichen Dank dafür.