Nachdem das
»fmem
«
Modul geladen ist, kann mithilfe des Werkzeugs
»dd
«
der komplette Inhalt des Speichers in eine Datei geschrieben werden. Es ist wichtig, bei
»fmem
«
die Kapazität des Arbeitsspeichers mit anzugeben, da
»dd
«
sonst über die wirkliche Größe des Speichers hinaus liest und schreibt:
»dd if=/dev/fmem of=memory.dd bs=1MB count=512
«
Ein weiteres Werkzeug zum Sichern des Arbeitsspeichers ist das von Red Hat entwickelte Kernelmodul
»crash
«
[6]
. Wie bereits
»fmem
«
, erzeugt
»crash
«
ein Pseudodevice namens
»/dev/crash
«
über das es möglich ist, den flüchtigen Speicher auszulesen. Im Vergleich zum Sicherungsvorgang mittels
»fmem
«
ist es hier nicht nötig, die Größe des Arbeitsspeichers explizit anzugeben.
In der aktuellen Version, bringt das Analyseframework Volatility
[7]
ebenfalls ein Kernelmodul zur Sicherung des flüchtigen Speichers mit. Es trägt den Namen
»pmem
«
und ist im Unterverzeichnis
»tools/linux
«
zu finden. Bevor der Treiber einsetzbar ist, muss er zunächst auf dem betroffenen System übersetzt werden. Dazu müssen die richtigen Kernel-Header auf dem System installiert sein. Bei der Kompilierung mittels
»make
«
, wird im Verzeichnis das Kernel-Modul
»pmem.ko
«
generiert. Das Laden dieses Moduls in den laufenden Kernel, erzeugt das Pseudodevice
»/dev/pmem
«
über welches der Speicher mithilfe von
»dd
«
gesichert werden kann.
Abbildung 1
zeigt den kompletten Vorgang bei einem Ubuntu-11.10-System.
Die bisher vorgestellten Sicherungsmethoden funktionieren auf Android-Geräten nicht. Dies liegt hauptsächlich an zwei Problemen
[8]
. So benötigt etwa
»fmem
«
die Methode
»page_is_ram
«
, die aber im Linux-Kernel für ARM-Architekturen fehlt. Diese Methode prüft, ob es sich bei einer Page um Arbeitsspeicher handelt. Zum Zweiten kann die in Android enthaltene Implementierung von
»dd
«
nicht richtig mit Offset-Werten über 0x80000000 umgehen. Um diese Einschränkungen zu umgehen, wurde für Android das Akquisewerkzeug LiME
[9]
entwickelt, mit dem man den flüchtigen Speicher auf eine SD-Karte oder über das Netzwerk sichern kann. Nachdem das Tool zuerst die Bezeichnung DMD trug, was für Droid Memory Dumper steht, wurde es mittlerweile in Linux Memory Extractor umbenannt. Der neue Name soll vor allem verdeutlichen, dass es sowohl zur Sicherung des Arbeitsspeichers von Android-Geräten als auch von Linux-Systemen verwendet werden kann.
Die komfortabelste Möglichkeit zur Sicherung des Arbeitsspeichers bieten virtuelle Maschinen. Hier ist es nicht notwendig, erst ein entsprechendes Kernel-Modul zu laden. Stattdessen wird durch das Aktivieren des Suspend-Modus der komplette Speicherinhalt in eine Datei geschrieben. Diese Datei kann direkt forensisch analysiert werden. Beispielsweise wird bei VMWare Workstation das Gast-System mithilfe des Pause-Buttons in den Suspend-Modus versetzt. Dabei wird eine Datei mit der Endung
».vmem
«
erzeugt, die den kompletten Inhalt des flüchtigen Speichers enthält.