Die Sicherung des Arbeitsspeichers bei der Behandlung und Diagnose eines möglichen Sicherheitsvorfalls gehört mittlerweile zu den ersten Schritten überhaupt. Die traditionelle Untersuchung von persistentem Speicher reicht heute nicht mehr aus, denn mit der steigenden Kapazität von Festplatten steigt in der Regel auch die Datenmenge, die forensisch untersucht werden muss, um einen Angriff zu erkennen. Die Analyse des flüchtigen Speichers kann diese Untersuchungen unterstützen und beschleunigen, denn dabei sucht der Forensiker nur in einer vergleichsweise kleinen Datenmenge nach Hinweisen für einen erfolgreichen Angriff. Darüber hinaus enthält der Arbeitsspeicher oft wichtige Spuren, wie zum Beispiel laufende Prozesse oder aktive Netzwerkverbindungen.
Diese Informationen sind vor allem wichtig, um Techniken aus dem Bereich der Anti-Forensik richtig zu begegnen. So ist es in manchen Fällen möglich, die Passphrase für ein verschlüsseltes Laufwerk, aus dem flüchtigen Speicher zu extrahieren. Aber auch nicht persistente Schadsoftware lässt sich mithilfe der Arbeitsspeicheranalyse aufspüren. Vor allem bei gezielten Angriffen wird häufig Schadcode verwendet, der nur im Arbeitsspeicher aktiv ist und keine Daten auf der Festplatte hinterlässt [1] [2]. Dieser Typ von Schadsoftware ist ohne Analyse des flüchtigen Speichers so gut wie nicht nachweisbar.
Bisher stand die Entwicklung von Speicheranalysetechniken für Windows-Betriebssysteme im Vordergrund. In letzter Zeit wächst jedoch die Anzahl der Angriffe auf Linux basierte Systeme, die vor allem im Embedded-Bereich, als Serverbetriebssysteme in Rechenzentren und mit Android auf den meisten mobilen Geräten zum Einsatz kommen. Aus diesen Gründen wird zuletzt immer mehr Arbeit in die Linux-Speicheranalyse gesteckt.
In aktuellen Kernel-Versionen ist der Zugriff auf den Hauptspeicher von Linux-Systemen stark eingeschränkt worden. Konnte man in der Vergangenheit mittels der beiden Gerätetreiber »/dev/mem
«
und »/dev/kmem
«
den Arbeitsspeicher auslesen, so wurde diese Möglichkeit mittlerweile standardmäßig abgeschaltet. Auch das aus dem Coroner's Toolkit bekannte Werkzeug »memdump
«
[3] sicherte den Arbeitsspeicher über »/dev/mem
«
und funktioniert bei aktuellen Versionen nicht mehr. Die Deaktivierung wurde notwendig, um den Missbrauch dieser Geräte durch Schadsoftware [4] zu verhindern. Um diese Einschränkung aufzuheben, muss der Kernel ohne die Restriktion durch »CONFIG_STRICT_DEVMEM
«
neu kompiliert werden. Dieses Vorgehen erfordert jedoch zwingend einen Neustart, was dazu führt, dass der Inhalt des Arbeitsspeichers überschrieben wird und somit für den Forensiker nutzlos ist.
Eine frei verfügbare Alternative, die bei Vorfällen zur Speicherakquise unter Linux zum Einsatz kommt, ist das Kernelmodul »fmem
«
[5]. Um »fmem
«
zu nutzen, muss es zuerst kompiliert und dann in den laufenden Kernel geladen werden. Dabei wird ein neues Pseudodevice »/dev/fmem
«
erzeugt mit dessen Hilfe man den Speicher sichert. Dieser Vorgang verursacht bereits Veränderungen am Zustand des Systems, was im schlimmsten Fall dazu führen kann, dass wichtige Spuren für den Forensiker verloren gehen.