Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

<C>fmem<C> und <C>crash<C>

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.

Abbildung 1: Das Modul pmem wird zuerst übersetzt und in den laufenden Kernel geladen. Danach kann der Arbeitsspeicher mit

Unter Android und bei VMs

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.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019