<?xml version="1.0" encoding="ISO-8859-15"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>for(ensik){blog;}</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/" />
    <link rel="self" type="application/atom+xml" href="http://computer.forensikblog.de/atom.xml" />
   <id>tag:computer.forensikblog.de,2010://4</id>
     <updated>2010-02-08T09:00:33Z</updated>
    <subtitle>Notizen zur Computer-Forensik</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2</generator>
 
<entry>
    <title>Protokolleinträge sortieren</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2010/02/event_records_sortieren.html" />
    <id>tag:computer.forensikblog.de,2010://4.643</id>
    
    <published>2010-02-08T09:00:00Z</published>
    <updated>2010-02-08T09:00:33Z</updated>
    
    <summary>Mit der Zeit musste ich leider feststellen, dass unterschiedliche Programme die einzelnen Ereignisse in einer Protokolldatei in unterschiedlicher Reihenfolge ausgeben. Die Ereignisanzeige in Microsoft Vista und Windows 2008 zum Beispiel sortiert beim Exportieren die Ereignisse in absteigender Reihenfolge von der...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Vista Eventlog" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2010 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Mit der Zeit musste ich leider feststellen, dass unterschiedliche Programme die einzelnen Ereignisse in einer Protokolldatei in unterschiedlicher Reihenfolge ausgeben. Die Ereignisanzeige in Microsoft Vista und Windows 2008 zum Beispiel sortiert beim Exportieren die Ereignisse in absteigender Reihenfolge von der höchsten zur niedrigsten EventRecordID. Mein eigenes Programm hingegen gibt die Ereignisse in der Reihenfolge wieder, wie es sie in der Datei findet. In den meisten Fällen wird dies in aufsteigender Reihenfolge von der niedrigsten zur höchsten EventRecordID sein. Allerdings lassen sich Protokolle auch in ihrer Größe beschränken; der älteste Teil wird dann bei Bedarf überschrieben. Die niedrigste EventRecordID findet man in diesem Fall mitten in der Datei. Wäre es nicht schön, wenn man diese Dateien einfach sortieren könnte?</p>]]>
        <![CDATA[<p>Glücklicherweise ist die Protokolldatei bereits im XML Format. Es sollte also einfach sein, die einzelnen Einträge mit einer XML Transformation zu sortieren. Ein <a href="http://www.xml.com/pub/a/2002/07/03/transform.html">Artikel von Bob DuCharme</a> führt gut in das Thema ein und enthält auch zahlreiche Code-Beispiele. Insbesondere das <a href="http://www.xml.com/pub/a/2002/07/03/transform.html?page=3">Beispiel xq437.xsl auf Seite 3</a> sah vielversprechend aus. Ich musste lediglich die Namen der XML-Elemente und den Namensraum etwas anpassen. Hier ist die fertige Transformation:</p>
<pre><code>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;

&lt;xsl:stylesheet version=&quot;1.0&quot; 
  xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; 
  xmlns:evtx=&quot;http://schemas.microsoft.com/win/2004/08/events/event&quot;&gt;
  
  &lt;xsl:output method=&quot;xml&quot; indent=&quot;yes&quot; encoding=&quot;UTF-8&quot;/&gt;
  &lt;xsl:strip-space elements=&quot;*&quot; /&gt;
  
  &lt;xsl:template match=&quot;Events&quot;&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:apply-templates select=&quot;evtx:Event&quot;&gt;
        &lt;xsl:sort select=&quot;evtx:System/evtx:EventRecordID&quot; 
          data-type=&quot;number&quot; 
          order=&quot;ascending&quot;/&gt;
        &lt;/xsl:apply-templates&gt;
      &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match=&quot;*&quot;&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:apply-templates/&gt;
    &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</code></pre>
<p>Sie sollten diese Transformation mit jedem XSLT Prozessor wie Sablotron, Xalan oder SAXON ausführen können. Da ich bereits die Programmbibliothek <a href="http://xmlsoft.org/XSLT/">libxslt</a> installiert hatte, konnte ich deren XSLT Prozessor <a href="http://xmlsoft.org/XSLT/xsltproc.html">xsltproc</a> verwenden:<br />
<tt>xsltproc evtxsort.xsl mylog.xml > mylog.sorted.xml</tt><br />
Die Protokolldatei ist jetzt übersichtlich mit Einrückungen formatiert und ihre Datensätze sind nach der EventRecordID in aufsteigender Reihenfolge sortiert.</p>

<p>Sie können diese Transformation leicht an Ihre eigenen Vorstellungen anpassen, zum Beispiel die Einträge in Absteigender Reihenfolge sortieren, oder nach der EventID (der Art des Ereignisses) sortieren, oder einen zusammenfassenden Bericht erstellen, usw. Den Möglichkeiten sind kaum Grenzen gesetzt.</p>]]>
    </content>
</entry>
<entry>
    <title>Evtx Parser Version 1.0.1</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/12/evtx_parser_1_0_1.html" />
    <id>tag:computer.forensikblog.de,2009://4.637</id>
    
    <published>2009-12-22T09:00:00Z</published>
    <updated>2009-12-22T09:00:34Z</updated>
    
    <summary>Nachdem ich vor zwei Jahren einen ersten Parser für die binären, XML-basierten Ereignisprotokolle von Windows Vista veröffentlicht hatte, erreichten mich in der letzten Zeit einige Rückmeldungen zu dem Programm. Als Weihnachtsgeschenk gibt es dieses Jahr deshalb eine verbesserte und erweiterte...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Vista Eventlog" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Nachdem ich vor zwei Jahren einen ersten Parser für die binären, XML-basierten Ereignisprotokolle von Windows Vista veröffentlicht hatte, erreichten mich in der letzten Zeit einige Rückmeldungen zu dem Programm. Als Weihnachtsgeschenk gibt es dieses Jahr deshalb eine <a href="http://computer.forensikblog.de/files/evtx/EvtxParser-current.zip">verbesserte und erweiterte Version dieses Werkzeugs</a>.</p>]]>
        <![CDATA[<p>Die die wichtigsten Änderungen sind:</p>

<ul><li>Im Modul <tt>Node0x0d.pm</tt> habe ich einen zu restriktiven Test entfernt. Der Parser reagiert jetzt flexibler auf unbekannte Datentypen. Ich danke Rob Hulley und Adrian Forschner für die Meldung der Fehler und die Bereitstellung von Testdaten.</li>
<li>Das Modul <tt>Evtx.pm</tt> aktualisiert jetzt selbsttätig einen Zeiger auf den aktuell verarbeiteten Block. Über die Methode <tt>get_current_chunk()</tt> kann der Wert jederzeit abgerufen werden.</li>
<li>Die Module <tt>Evtx.pm</tt> und <tt>Chunk.pm</tt> werten zusätzliche Felder aus den Köpfen der <a href="/2007/07/evtx_dateiheader.html">Datei</a> und der einzelnen <a href="/2007/07/evtx_blockheader.html">Blöcke</a> aus. Dank an Rob Hulley für einen Patch.</li>
<li>Das Programm <tt>evtxinfo.pl</tt> zeigt diese Eigenschaften an. Außerdem nennt es jeweils den ersten und letzten Datensatz in einem Block, und zwar auf die vorliegende Datei und das gesamte Protokoll bezogen:</li></ul>
<pre>
$ ./evtxinfo.pl sample4.evtx 
Information from file header:
Format version  : 3.1
Flags           : 0x00000000
         File is: CLEAN
     Log is full: NO
Current chunk   : 2 of 16
Next Record#    : 5276

Information from chunks:
Chunk file (first/last)     log (first/last)     
----- --------------------- ---------------------
    1       4681       4976       4902       5197
    2       4977       5054       5198       5275
    3        593        888        814       1109
    4        889       1135       1110       1356
    5       1136       1431       1357       1652
    6       1432       1727       1653       1948
    7       1728       2023       1949       2244
    8       2024       2312       2245       2533
    9       2313       2608       2534       2829
   10       2609       2904       2830       3125
   11       2905       3200       3126       3421
   12       3201       3496       3422       3717
   13       3497       3792       3718       4013
   14       3793       4088       4014       4309
   15       4089       4384       4310       4605
   16       4385       4680       4606       4901
</pre>]]>
    </content>
</entry>
<entry>
    <title>Speicheranalyse mit FTK 3</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/10/speicheranalyse_mit_ftk_3.html" />
    <id>tag:computer.forensikblog.de,2009://4.626</id>
    
    <published>2009-10-06T09:00:00Z</published>
    <updated>2009-10-06T09:00:08Z</updated>
    
    <summary>Vor vier Jahren, auf dem DFRWS 2005, wurden die ersten Werkzeuge zur Windows-Speicheranalyse präsentiert. Langsam finden die seitdem entwickelten Methoden Eingang in kommerzielle Werkzeuge. Auch das kürzlich von AccessData öffentlich vorgestellte Forensic Toolkit 3 bietet jetzt einige Funktionen zur Untersuchung...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Labor" />
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Vor vier Jahren, auf dem DFRWS 2005, wurden die ersten Werkzeuge zur Windows-Speicheranalyse präsentiert. Langsam finden die seitdem entwickelten Methoden Eingang in kommerzielle Werkzeuge. Auch das kürzlich von AccessData öffentlich vorgestellte Forensic Toolkit 3 bietet jetzt einige Funktionen zur Untersuchung von Windows-Speicherabbildern.</p>]]>
        <![CDATA[<p>Im Hauptbildschirm des neuen FTK3 fällt schnell ein neuer Reiter auf: "Volatile" heißt es da. Dahinter verbergen sich die neuen Funktionen zur Untersuchung von Speicherabbildern.</p>

<p><img alt="Die Registertasten im neuen FTK3" src="/media/ftk3-volatile.jpg" width="459" height="26" /></p>

<p>FTK3 zeigt Prozesse, Netzwerk-Sockets, in den Speicher geladene Programmbibliotheken (DLL) und Handles. Letztere lassen auf geöffnete Dateien ebenso schließen wie auf aktive Threads eines Prozesses.</p>

<p>Für einen ersten Test lasse ich FTK3 ein Speicherabbild untersuchen, in dem ein Netcat-Listener mit dem FUto-Rootkit versteckt wurde. Der Listener und sein Socket werden sofort erkannt. Ich vermisse allerdings einen Hinweis auf die manipulierten Datenstrukturen.</p>

<p>Leider steht FTK3 mit diesen Funktionen aber noch weit hinter dem Stand der Forschung zurück. Manipulationen an der Registry im Arbeitsspeicher, in den Kernel geladene Module und maliziöse Aktivitäten bleiben so meist unerkannt.</p>

<p>Interessant könnte eine Funktion zum Vergleich zweier Speicherabbilder sein. Genauere Tests werden zeigen, ob sich mit dieser Funktion Veränderungen am ausgeführten Kernel und der Systemkonfiguration erkennen lassen. </p>

<p><a href="/media/ftk-futo-rootkit.html" onclick="window.open(/media/ftk-futo-rootkit.html','popup','width=1024,height=738,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img alt="Speicheranalyse mit dem FTK3 (für Vollbild bitte klicken)" src="/media/ftk-futo-rootkit-small.jpg" width="480" height="346" /></a></p>

<p>Ich freue mich über die Entscheidung von AccessData, Funktionen zur Speicheranalyse in die Oberfläche von FTK zu integrieren. Dies wird hoffentlich vielen neuen Anwendern einen Zugang zu den Methoden der Speicheranalyse erleichtern.</p>]]>
    </content>
</entry>
<entry>
    <title>FTK Imager 2.6.0</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/06/ftk_imager_260.html" />
    <id>tag:computer.forensikblog.de,2009://4.622</id>
    
    <published>2009-06-02T09:00:00Z</published>
    <updated>2009-06-02T14:15:11Z</updated>
    
    <summary>AccessData hat die Version 2.6.0 des FTK Imagers veröffentlicht. Neben Fehlerbereinigungen bietet diese Version des FTK Imagers erstmals die Möglichkeit, den Arbeitsspeicher des lokalen Computers zu sichern....</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Labor" />
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>AccessData hat die Version 2.6.0 des FTK Imagers veröffentlicht. Neben Fehlerbereinigungen bietet diese Version des FTK Imagers erstmals die Möglichkeit, den Arbeitsspeicher des lokalen Computers zu sichern.</p>]]>
        <![CDATA[<p>Wie den <a href="http://www.accessdata.com/downloads/media/Imager_2-6_ReleaseNotes.pdf">Release Notes</a> zu entnehmen ist, wurden einige Probleme im Zusammenhang mit dem von EnCase her bekannten Expert Witness Format (E01) behoben.</p>

<p>Auch die Verarbeitung von Partitionen der Dateisysteme JFS und UFS, sowie des Logical Volume Managers LVM2 wurde erweitert.</p>

<p>Schließlich kann jetzt auch der FTK Imager den Hauptspeicher des lokalen Computers sichern. Hierzu erstellt der FTK Imager zunächst eine Datei (ad_driver.sys) und lädt diese dann als Treiber \Device\addriver in den Betriebssystemkern. Hierzu benötigt man zumindest lokale Administratorrechte.</p>

<p><img alt="FTK Imager kopiert den Arbeitsspeicher" src="/media/ftkimager260-memory-save.jpg" width="480" height="351" /></p>

<p>Es erscheint fraglich, ob ein komplexes Programm mit grafischer Benutzerschnittstelle wie der <br />
FTK Imager zur Sicherung volatiler Daten geeignet ist. Auf einem Testsystem führte der <br />
Start des FTK Imager zu <a href="/media/ftimager260.dllactivity.txt" target="_blank">Lesezugriffen auf 70 DLLs und zugehörige Dateien</a>. Eine umfassendere <a href="http://doi.acm.org/10.1145/1368506.1368516 ">Untersuchung der Ressourcennutzung</a> ist hier angeraten. </p>

<p>Nach der ersten Ausführung des FTK Imagers ließ sich kein weiteres Speicherabbild mehr <br />
erstellen. Fälschlicherweise behauptet der FTK Imager, dass mit diesem Betriebssystem kein <br />
Speicherabbild erstellt werden könne. Beenden und Neustart des Imagers behebt das Problem.</p>

<p><img alt="Die Meldung des FTK Imagers täuscht über die wahre Ursache des Fehlers" src="/media/ftkimager260-memory-error.jpg" width="374" height="126" /></p>

<p>Am Rande bemerkt empfehle ich auch nicht, dem Vorschlag des FTK Imagers zu folgen und binäre Daten in einer Datei mit der Extension ".txt" zu speichern.</p>]]>
    </content>
</entry>
<entry>
    <title>Weitere PTFinder</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/05/weitere_ptfinder.html" />
    <id>tag:computer.forensikblog.de,2009://4.621</id>
    
    <published>2009-05-08T09:00:00Z</published>
    <updated>2009-05-08T09:00:09Z</updated>
    
    <summary>Csaba Barta hat PTFinders für Windows Server 2003 SP2, Windows Server 2008 SP1 und die öffentlich zugängliche Beta von Windows 7 entwickelt. Auch die anderen Bereiche seiner Website sind recht interessant....</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Csaba Barta hat PTFinders für <a href="http://www.csababarta.com/downloads/ptfinderw2k3sp2.zip">Windows Server 2003 SP2</a>, <a href="http://www.csababarta.com/downloads/ptfinderw2k8sp1.zip">Windows Server 2008 SP1</a> und die öffentlich zugängliche <a href="http://www.csababarta.com/downloads/ptfinderw7beta.zip">Beta von Windows 7</a> entwickelt. Auch die anderen Bereiche seiner <a href="http://www.csababarta.com/">Website</a> sind recht interessant.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Writeblocker für FireWire-Geräte</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/04/firewire_writeblocker_tableau_t9.html" />
    <id>tag:computer.forensikblog.de,2009://4.618</id>
    
    <published>2009-04-27T09:00:00Z</published>
    <updated>2009-04-27T09:00:07Z</updated>
    
    <summary>Tableau hat mit dem T9 nun auch einen Writeblocker für Geräte mit FireWire-Interface im Angebot. Damit sollen sich portable Festplatten und Apple Macs im Target Disk Mode sichern lassen. Von der Bauform und Bedienung her scheint der T9 weitgehend dem...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Labor" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Tableau hat mit dem T9 nun auch einen Writeblocker für Geräte mit FireWire-Interface im Angebot. Damit sollen sich portable Festplatten und Apple Macs im Target Disk Mode sichern lassen. Von der Bauform und Bedienung her scheint der T9 weitgehend dem bekannten T8 zu entsprechen, über den sich USB-Geräte schreibgeschützt ansprechen lassen.</p>]]>
        <![CDATA[<p>Quellseitig unterstützt der T9 FireWire mit 400 und 800 Mbit/s mit einem 9-poligen Anschluss. Einige Händler verkaufen den T9 als Kit, das neben einem Netzteil auch Kabel und Adapter 4- und 6-polige Anschlüsse enthält. Vom forensischen Arbeitsplatz lässt sich der T9 über FireWire (9 polig) und USB 2.0 (5 polig mini-B) ansprechen.</p>

<p><img alt="Tableau T9 Forensic FireWire 400/800 Bridge" src="/media/tableau_t9.jpg" width="480" height="441" /></p>

<p>Bei <a href="http://www.tableau.com/>Tableau</a> ist der T9 derzeit noch nicht gelistet. Die üblichen Händler wie <a href="http://www.mh-service.de/">mh SERVICE</a> (noch ohne Preisangabe), <a href="http://www.arina.ch/">arina electronic</a> (540 SFr für das Kit mit Kabeln und Netzteil) und <a href="http://www.forensic-computers.com/">Forensic Computers</a> (329 USD für die Bridge, 399 USD für das Kit) listen den T9 bereits.</p>]]>
    </content>
</entry>
<entry>
    <title>Passwörter im Tastaturpuffer</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/04/passwoerter_im_tastaturpuffer.html" />
    <id>tag:computer.forensikblog.de,2009://4.578</id>
    
    <published>2009-04-17T09:00:00Z</published>
    <updated>2009-04-17T09:00:07Z</updated>
    
    <summary>Das BIOS eines PC enthält auch eine einfache Routine zur Abfrage der Tastatur. Die Tasteneingaben werden in einem Ringpuffer gespeichert, der Platz für etwa 16 Zeichen bietet. Wie Jonathan Brossard in einem Aufsatz und einer Präsentation auf der DEFCON 16...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Das BIOS eines PC enthält auch eine einfache Routine zur Abfrage der Tastatur. Die Tasteneingaben werden in einem Ringpuffer gespeichert, der Platz für etwa 16 Zeichen bietet. Wie Jonathan Brossard in einem <a href="http://www.ivizsecurity.com/research/preboot/preboot_whitepaper.pdf">Aufsatz</a> und einer <a href="https://www.defcon.org/images/defcon-16/dc16-presentations/defcon-16-brossard.pdf">Präsentation</a> auf der DEFCON 16 gezeigt hat, wird der Puffer oftmals nicht sofort nach dem Auslesen gelöscht. Unter Umständen lassen sich deshalb in einem Speicherabbild die Passwörter für den Startvorgang oder eine Festplattenverschlüsselung finden.</p>]]>
        <![CDATA[<p>Der Aufsatz von Jonathan Brossard enthält eine detaillierte Beschreibung der technischen Grundlagen und zahlreiche Beispiele. Ich beschränke mich hier deshalb auf die Ermittlung des BIOS-Startpasswortes. Im folgenden Beispiel habe ich im BIOS das Passwort "1234supe" eingestellt. Nach einem Neustart und der Eingabe des Passwortes habe ich dann ein Speicherabbild erstellt. Die dekodierte BIOS Data Area enthält Informationen über die Position und den Füllstand des Tastaturpuffers. Das Passwort ist gut erkennbar:</p>

<p><img alt="BIOS Data Area mit Passwort" src="/media/bios-password.jpg" width="462" height="431" /></p>

<p>In der Detailansicht des Tastaturpuffers wird deutlich, dass für gewöhnliche Zeichen jeweils zwei Bytes abgelegt werden: der ASCII-Code des Zeichens und der beim Drücken der Taste erzeugte Scancode. Für das Zeichen "1" sind das zum Beispiel der ASCII-Wert <tt>0x31</tt> und der Scancode <tt>0x02</tt>. Allerdings gibt es auch Ausnahmen. Für die Eingabetaste (Return) wird so nur der Scancode hinterlegt. Außerdem berücksichtigt dieser Mechanismus natürlich nicht das deutsche Tastaturlayout. Es ist die Aufgabe des Betriebssystems, die Zeichen entsprechend umzusetzen.</p>

<p><img alt="Der Tastaturpuffer im Detail" src="/media/bios-password-hex.jpg" width="480" height="141" /></p>

<p>Leider enthalten längst nicht alle Abbilder die Speicherseite mit den Daten des BIOS. In Crash Dumps und mittels LiveKd erstellten Abbildern fehlt diese Speicherseite leider immer. Bei <a href="http://win32dd.msuiche.net/">win32dd</a> von Matthieu Suiche lässt sie sich mit der Option "-t 1" in das Abbild aufnehmen.</p>

<p>Für eigene Experimente stelle ich gerne das <a href="/files/010_templates/BIOSdata.bt">Template für den 010 Editor</a> (Abbildung oben) und ein <a href="/files/volatility_plugins/keyboardbuffer.py">Plugin</a> für das Speicheranalyse-Framework Volatility bereit.</p>]]>
    </content>
</entry>
<entry>
    <title>Objekttypen auflisten</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/04/objekttypen_auflisten.html" />
    <id>tag:computer.forensikblog.de,2009://4.608</id>
    
    <published>2009-04-08T09:00:00Z</published>
    <updated>2009-04-13T00:11:55Z</updated>
    
    <summary>Es gibt viele Möglichkeiten, um alle Objekttypen des Microsoft Windows Betriebssystemkerns aufzulisten. In diesem kurzen Beitrag stelle ich drei davon vor: den Microsoft Debugger, Sysinternals&apos; WinObj und ein Plugin für das Speicheranalyse-Framework Volatility....</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Es gibt viele Möglichkeiten, um alle Objekttypen des Microsoft Windows Betriebssystemkerns aufzulisten. In diesem kurzen Beitrag stelle ich drei davon vor: den Microsoft Debugger, Sysinternals' WinObj und ein Plugin für das Speicheranalyse-Framework Volatility.</p>]]>
        <![CDATA[<h3>Microsoft Debugger</h3>

<p>Microsofts Debugger "WinDbg" ermöglicht auf sehr einfache Weise die Auflistung aller Objektklassen des Kernels. Hierzu muss man lediglich alle Elemente des Verzeichnisses <tt>\ObjectTypes</tt> abfragen:</p>
<pre>
kd> !object \ObjectTypes
Object: e1004ab0  Type: (812be278) Directory
    ObjectHeader: e1004a98 (old version)
    HandleCount: 0  PointerCount: 25
    Directory Object: e1004dc0  Name: ObjectTypes

    Hash Address  Type          Name
    ---- -------  ----          ----
     00  812be278 Type          Directory
     01  8128f5e0 Type          Mutant
         81292c68 Type          Thread
     03  81293c28 Type          FilterCommunicationPort
     05  812b5e70 Type          Controller
     07  8128eca0 Type          Profile
         8128f980 Type          Event
         812be448 Type          Type
     09  8128e560 Type          Section
         8128f7b0 Type          EventPair
         812be0a8 Type          SymbolicLink
     10  8128e730 Type          Desktop
     11  8128ee70 Type          Timer
     12  812b5730 Type          File
         8128e900 Type          WindowStation
     16  812b5ad0 Type          Driver
     18  812b0e70 Type          WmiGuid
         8128ead0 Type          KeyedEvent
     19  812b5ca0 Type          Device
         81292040 Type          Token
     20  81292398 Type          DebugObject
     21  812b5900 Type          IoCompletion
     22  81292e38 Type          Process
     24  812b5040 Type          Adapter
     26  8128b980 Type          Key
     28  81292a98 Type          Job
     31  812b68c0 Type          WaitablePort
         812b6a90 Type          Port
     32  8128f410 Type          Callback
     33  81293df8 Type          FilterConnectionPort
     34  8128e040 Type          Semaphore
</pre>
<p>Für jede Klasse nennt der Debugger die Basisadresse. Einzelheiten über die Klasse zeigen dann die Kommandos <tt>!object</tt> und "display type" (<tt>dt</tt>):</p>
<pre>
kd> !object 81292e38
Object: 81292e38  Type: (812be448) Type
    ObjectHeader: 81292e20 (old version)
    HandleCount: 0  PointerCount: 1
    Directory Object: e1004ab0  Name: Process

kd> dt _OBJECT_TYPE 81292e38 
ntdll!_OBJECT_TYPE
   +0x000 Mutex            : _ERESOURCE
   +0x038 TypeList         : _LIST_ENTRY [ 0x81292e70 - 0x81292e70 ]
   +0x040 Name             : _UNICODE_STRING "Process"
   +0x048 DefaultObject    : (null) 
   +0x04c Index            : 5
   +0x050 TotalNumberOfObjects : 0x15
   +0x054 TotalNumberOfHandles : 0x4e
   +0x058 HighWaterNumberOfObjects : 0x16
   +0x05c HighWaterNumberOfHandles : 0x52
   +0x060 TypeInfo         : _OBJECT_TYPE_INITIALIZER
   +0x0ac Key              : 0x636f7250
   +0x0b0 ObjectLocks      : [4] _ERESOURCE
</pre>
<h3>WinObj</h3>

<p>Möchten Sie sich einen Eindruck von der Objekthierarchie verschaffen und hierfür lieber eine graphische Oberfläche verwenden, dann ist <br />
<a href="http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx">WinObj</a> von Mark Russinovich möglicherweise das richtige Programm für Sie. Die Objektklassen sind wiederum im Verzeichnis "\ObjectTypes" zu finden.</p>

<p><img alt="WinObj zeigt Objekte des Windows Kernels" src="/media/winobj.objtypes.jpg" width="480" height="341" /></p>

<h3>Volatility</h3>

<p>Letztlich habe ich mich entschlossen, selbst ein Plugin für das Speicheranalyse-Framework <a href="https://www.volatilesystems.com/default/volatility">Volatility</a> zu schreiben. Leider musste ich dazu auch einige Dateien des Frameworks ändern; das Plugin läuft also nicht mit der Standard-Distribution. Bitte entpacken Sie das <a href="/files/volatility_plugins/volatility_objtypescan-current.zip">Archiv</a> im Basisverzeichnis von Volatility (aber vergessen Sie nicht, vorher eine Sicherungskopie zu erstellen!).</p>

<p>Das Plugin enthält ein paar kleine Tricks, um die Struktur <tt>_OBJECT_HEADER</tt> korrekt zu interpretieren und um physische Adressen in virtuelle Adressen des Kernels umzurechnen; letztgenannte Funktion ist deutlich vom Modul "strings" der Volatility-Distribution inspiriert.</p>

<p>Das Plugin gibt die folgenden Informationen aus:</p>
<ul><li><strong>Phys.Addr</strong> - physische Adresse des ObjT Blocks im Pool</li>
<li><strong>Obj Type</strong> - Zeiger auf die Definition der Klasse "ObjectType". Der Wert ist abhängig vom jeweiligen System und kann sich auch nach einem Neustart ändern. Während einer laufenden Sitzung sollten aber alle Objekte der selben Klasse auf die selbe Definition verweisen.</li>
<li><strong>#Ptr</strong> - Anzahl der Zeiger auf das ObjectType Objekt</li>
<li><strong>#Hnd</strong> - Anzahl der Handles für das ObjectType Objekt</li>
<li><strong>Objects</strong> - aktuelle und maximale Anzahl von Objekten dieser Klasse</li>
<li><strong>Handles</strong> - aktuelle und maximale Anzahl von Handles auf Objekte dieser Klasse</li>
<li><strong>Pool alloc</strong> - Pool Tag und Pool Typ (auslagerbar/nicht auslagerbar) für Objekte dieser Klasse</li>
<li><strong>TypePtr</strong> - virtuelle Adresse des Kernels des ObjectType Objektes</li>
<li><strong>Name</strong> - Name der Klasse</li></ul>
<p>Hier ist ein <a href="/media/objtypes.xp-laptop-2005-06-25.dd.txt" target="_blank">Beispiel</a> für die Programmausgabe, das durch Ausführung des Plugins mit einem populären Speicherabbild aus dem <a href="http://www.cfreds.nist.gov/mem/Basic_Memory_Images.html">NIST CFReDS Projekt</a> erzeugt wurde:<br />
<tt>python volatility objtypescan -f xp-laptop-2005-06-25.dd</tt> </p>

<p>Ich muss eingestehen, dass diese Informationen im Rahmen einer forensischen Untersuchung des Arbeitsspeichers eher nicht hilfreich sind. Ich verwende das Plugin eher als Hilfsmittel bei der Entwicklung anderer Tools. Die Maximalstände der Objekt- und Handle-Zahlen können allerdings erste Anhaltspunkte auf einen ungewöhnlichen Systemzustand geben.</p>]]>
    </content>
</entry>
<entry>
    <title>Kernelobjekte</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/04/kernelobjekte.html" />
    <id>tag:computer.forensikblog.de,2009://4.606</id>
    
    <published>2009-04-07T09:00:00Z</published>
    <updated>2009-04-16T20:13:21Z</updated>
    
    <summary>Microsoft Windows ist ein objektorientierter Kernel. Dateien, Prozesse, Threads - alles ist ein Objekt. All diese Objekte haben eine gemeinsame Datenstruktur und Schnittstelle. Dieser Beitrag zeigt, wie der Kernel Objekte erzeugt und im Arbeitsspeicher ablegt....</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Microsoft Windows ist ein objektorientierter Kernel. Dateien, Prozesse, Threads - alles ist ein Objekt. All diese Objekte haben eine gemeinsame Datenstruktur und Schnittstelle. Dieser Beitrag zeigt, wie der Kernel Objekte erzeugt und im Arbeitsspeicher ablegt.</p>]]>
        <![CDATA[<p>Für jede Klasse von Objekten gibt es eine spezialisierte Routine wie <tt>IoCreateDriver</tt> oder <tt>PspCreateProcess</tt>, die diese Objekte erzeugt. Alle diese Routinen rufen jedoch früher oder später <tt>ObCreateObject</tt> auf und verweisen dabei auf eine geeignete <tt> _OBJECT_TYPE</tt> Struktur.</p>

<p>Wie ein Bauplan beschreibt die Struktur <tt>_OBJECT_TYPE</tt> eine Klasse von Objekten:</p>
<pre>
kd> dt _OBJECT_TYPE
struct _OBJECT_TYPE, 12 elements, 0x190 bytes
   +0x000 Mutex            : _ERESOURCE
   +0x038 TypeList         : _LIST_ENTRY
   +0x040 Name             : _UNICODE_STRING
   +0x048 DefaultObject    : Ptr32 Void
   +0x04c Index            : Uint4B
   +0x050 TotalNumberOfObjects : Uint4B
   +0x054 TotalNumberOfHandles : Uint4B
   +0x058 HighWaterNumberOfObjects : Uint4B
   +0x05c HighWaterNumberOfHandles : Uint4B
   +0x060 TypeInfo         : _OBJECT_TYPE_INITIALIZER
   +0x0ac Key              : Uint4B
   +0x0b0 ObjectLocks      : [4] _ERESOURCE
</pre>
<p><tt>_OBJECT_TYPE_INITIALIZER</tt> legt weitere Einzelheiten über die Klasse fest und enthält Details ihrer Implementierung, zum Beispiel Behandlungsroutinen für Standardereignisse:</p>
<pre>
kd> dt _OBJECT_TYPE_INITIALIZER
struct _OBJECT_TYPE_INITIALIZER, 20 elements, 0x4c bytes
   +0x000 Length           : Uint2B
   +0x002 UseDefaultObject : UChar
   +0x003 CaseInsensitive  : UChar
   +0x004 InvalidAttributes : Uint4B
   +0x008 GenericMapping   : _GENERIC_MAPPING
   +0x018 ValidAccessMask  : Uint4B
   +0x01c SecurityRequired : UChar
   +0x01d MaintainHandleCount : UChar
   +0x01e MaintainTypeList : UChar
   +0x020 PoolType         : _POOL_TYPE
   +0x024 DefaultPagedPoolCharge : Uint4B
   +0x028 DefaultNonPagedPoolCharge : Uint4B
   +0x02c DumpProcedure    : Ptr32     void 
   +0x030 OpenProcedure    : Ptr32     long 
   +0x034 CloseProcedure   : Ptr32     void 
   +0x038 DeleteProcedure  : Ptr32     void 
   +0x03c ParseProcedure   : Ptr32     long 
   +0x040 SecurityProcedure : Ptr32     long 
   +0x044 QueryNameProcedure : Ptr32     long 
   +0x048 OkayToCloseProcedure : Ptr32     unsigned char
</pre>
<p>Objekte werden gewöhnlich mit ihre Startadresse identifiziert. Als Beispiel soll der System-Prozess dienen. Er hat unter Windows XP immer die PID 4, so dass man ihn hierüber im Debugger auswählen kann:</p>
<pre>
kd> !process 4 0
Searching for Process with Cid == 4
PROCESS 812927c0  SessionId: none  Cid: 0004    Peb: 00000000  ParentCid: 0000
    DirBase: 00039000  ObjectTable: e1000a80  HandleCount: 216.
    Image: System
</pre>
<p>Seine Startadresse ist in deisem Beispiel <tt>0x812927c0</tt>. Hierüber können wir jetzt die für alle Klassen gemeinsamen Daten des Objekts einsehen:</p>
<pre>
kd> !object 812927c0
Object: 812927c0  Type: (81292e38) Process
    ObjectHeader: 812927a8 (old version)
    HandleCount: 2  PointerCount: 57
</pre>
<p>Das Objekt gehört zur Klasse der Prozesse ("Process") und beginnt an der Adresse <tt>0x812927c0</tt>. Beides war in diesem Fall natürlich bereits bekannt, aber dies ist die Bestätigung, dass wir die Daten richtig interpretieren. Wenn Sie die Ausgabe des Debuggers genau betrachten, dann werden Sie feststellen, dass der Objekt-Header an einer niedrigeren Adresse als das Objekt selbst steht, nämlich an <tt>0x812927a8</tt>.</p>

<p>Andere Objekte enthalten möglicherweise auch andere Informationen, wie zum Beispiel einen Verweis auf ein Directory, welches dann wiederum auf das Objekt verweist, einen Namen und im Fall der hier dargestellten symbolischen Verknüpfung auch den Namen des Ziels der Verknüpfung:</p>
<pre>
Object: e13ad800  Type: (812be0a8) SymbolicLink
    ObjectHeader: e13ad7e8 (old version)
    HandleCount: 0  PointerCount: 1
    Directory Object: e10076a0  Name: ScsiPort1
    Target String is '\Device\Ide\IdePort1'
</pre>
<p>Der Name des Ziels gehört zu den spezifischen Informationen dieser Klasse, er wird deshalb im Rumpf des Objekts gespeichert. Der Name des Objektes selbst und das übergeordnete Verzeichnis sind jedoch Eigenschaften, die auch viele andere Klassen aufweisen. Deshalb werden diese Informationen in dem allgemeinen Objekt-Header und einer seiner Erweiterungen abgelegt.</p>

<p>Zurück zur Routine <tt>ObCreateObject</tt>. Bevor sie Speicher für das Objekt belegt, trägt sie einige Meta-Daten über das zu erstellende Objekt zusammen und ruft dazu <tt>ObpCaptureObjectCreateInformation</tt> auf. Diese wiederum ruft weitere Funktionen auf. <tt>SeCaptureSecurityDescriptor</tt> überprüft zunächst gründlich die Eingabedaten, bevor sie einen ausreichend großen Speicherbereich im Paged Pool des Kernels reserviert und mit der Marke "SeSc" versieht. Schließlich kopiert die Routine den Security Descriptor des neuen Objektes aus den ihr übergeben Objekt-Attributen in diesen Speicherbereich.</p>

<p>Die genannten Marken ("pool tags") wurden eingeführt, um den Speicherverbrauch von Routinen zu überwachen und Softwareentwickler auf mögliche Fehler hinzuweisen. Bei der forensischen Untersuchung eines Arbeitssppeicherabbildes sind diese Marken sehr hilfreich, um Objekte bestimmter Klassen zu lokalisieren.</p>

<p>Später ruft <tt>ObpCaptureObjectCreateInformation</tt> dann <tt>ObpCaptureObjectName</tt> auf, um in ähnlicher Weise den Namen des Objekts zu speichern. Den hierfür benötigten Speicherbereich reserviert eine weitere Routine, <tt>ObpAllocateObjectNameBuffer</tt>. Als Markierung vergibt sie die Zeichenfolge "ObNm". Neben dem Namen wird hier auch ein Verweis auf das übergeordnete Verzeichnis abgelegt.</p>

<p>Schließlich benötigen wir auch noch Speicher für den Rumpf des Objektes mit seinen klassen-spezifischen Daten. Hierum kümmert sich <tt>ObpAllocateObject</tt>. Die Funktion ermittelt den gewünschten Pool (einer wird stets im Speicher gehalten, Teile des anderen können bei Bedarf auf die Festplatte ausgelagert werden) aus der Struktur <tt>_OBJECT_TYPE</tt>. Auch das Pool Tag entnimmt sie dieser Struktur. Dabei setzt die Funktion das höchstwertigste Bit des Pool Tags, um eine Verwendung durch das Betriebssystem anzuzeigen. Der Microsoft Debugger markiert diese Speicherblöcke dann als geschützt ("protected"). Allerdings schützt dieses Vorgehen nur gegen eine versehentliche Verwendung eines Tags durch Software anderer Hersteller, zum Beispiel eines Gerätetreibers. <a href="http://msdn.microsoft.com/en-us/library/ms796989.aspx">Microsofts Dokumentation</a> verlangt zwar, dass nur reine ASCII-Zeichen (7 Bit) in Tags verwendet werden. Allerdings kann man die entsprechende Routine <tt>ExAllocatePoolWithTag</tt> auch erfolgreich mit einem "unsauberen" Tag aufrufen. Entsprechende Beispiele findet man unter anderem im Windows XP SP2 MP Kernel, zum Beispiel in der Routine <tt>CmpAllocateKeyControlBlock</tt>.</p>

<p>Sobald <tt>ObCreateObject</tt> seine Arbeit beendet hat, enthält der Arbeitsspeicher die folgenden Strukturen (von niedrigeren zu höheren Adressen):</p>

<ol><li>_POOL_HEADER, 0x08 Bytes</li>
<li>_OBJECT_QUOTA_CHARGES, 0x10 Bytes, optional</li>
<li>_OBJECT_HANDLE_DB, 0x08 Bytes, optional</li>
<li>_OBJECT_NAME, 0x10 Bytes, optional, verweist auf Speicherblock mit "ObNm" Pool Tag</li>
<li>_OBJECT_CREATOR_INFO, 0x10 Bytes, optional</li>
<li>_OBJECT_HEADER, 0x18 bytes, kann auf einen Speicherblock mit "SeSc" Pool Tag verweisen</li>
<li>Rumpf des Objekts, das Objekt wird durch diese Adresse identifiziert!</li></ol>]]>
    </content>
</entry>
<entry>
    <title>DFRWS 2009 Challenge</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/04/dfrws_2009_challenge.html" />
    <id>tag:computer.forensikblog.de,2009://4.605</id>
    
    <published>2009-04-06T09:00:00Z</published>
    <updated>2009-04-06T09:00:04Z</updated>
    
    <summary>Der DFRWS hat auch dieses Jahr im Vorfeld seiner Konferenz eine Preisaufgabe veröffentlicht. Es gilt, Abbilder des Arbeitsspeichers und der Festplatte einer Sony Playstation 3, aber auch aufgezeichnete Datenkommunikation zu untersuchen. Die Aufgabe ist sehr anspruchsvoll und soll zur Entwicklung...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Randnotizen" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Der DFRWS hat auch dieses Jahr im Vorfeld seiner Konferenz eine Preisaufgabe veröffentlicht. Es gilt, Abbilder des Arbeitsspeichers und der Festplatte einer Sony Playstation 3, aber auch aufgezeichnete Datenkommunikation zu untersuchen. Die Aufgabe ist sehr anspruchsvoll und soll zur Entwicklung neuer Werkzeuge anregen. Einsendeschluss für Einreichungen ist der 12. Juli. Weitere Informationen gibt es auf der <a href="http://www.dfrws.org/2009/challenge/">Website des DFRWS</a>.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Compliance der Compliance</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/03/compliance_der_compliance.html" />
    <id>tag:computer.forensikblog.de,2009://4.601</id>
    
    <published>2009-03-16T09:00:00Z</published>
    <updated>2009-03-16T09:00:05Z</updated>
    
    <summary>Der sogenannte &quot;Datenskandal&quot; bei der Deutschen Bahn AG diente als Stimulus für einen Diskurs zur &quot;Compliance der Compliance&quot;. In einem Forschungsbericht des Fachbereichs Wirtschaft der FH Düsseldorf betrachtet Felicitas G. Albers Elektronische Analyseverfahren personenbezogener Daten zur Prävention und Aufdeckung geschäftsschädigender...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Bibliothek" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Der sogenannte "Datenskandal" bei der Deutschen Bahn AG diente als Stimulus für einen Diskurs zur "Compliance der Compliance". In einem Forschungsbericht des Fachbereichs Wirtschaft der FH Düsseldorf betrachtet Felicitas G. Albers <a href="http://fhdd.opus.hbz-nrw.de/volltexte/2009/508/">Elektronische Analyseverfahren personenbezogener Daten zur Prävention und Aufdeckung geschäftsschädigender Handlungen in Unternehmen</a>.</p>]]>
        <![CDATA[<p>Der Aufsatz führt Compliance als Aufgabe der Unternehmensleitung ein und erörtert Fragen der Haftung. Ebenfalls zur Einführung in das Thema folgt eine Chronologie des sog. "Datenskandals" bei der Deutschen Bahn AG. </p>

<p>Der Hauptteil befasst sich mit elektronischen Recherche- und Analyseverfahren. Im Zentrum stehen hierbei weniger technische Fragen, sondern der Datenschutz und Probleme des Umgang mit personenbezogenen Daten.</p>

<p>Abschließend betrachtet der Aufsatz einen fiktiven Fall. Für die Untersuchung wird ein neunschrittiges Phasenmodell vorgeschlagen. Ein Umfangreiches Literaturverzeichnis mitsamt Verweisen auf einschlägige Rechtsnormen und Urteile komplettiert den Beitrag.</p>

<p>Die Lektüre des mit 19 Seiten (inkl. Anhang) angenehm knapp gehaltenen Diskurses kann vor allem für die Kollegen von Interesse sein, die bei Wirtschaftsprüfungsgesellschaften sowie in Sicherheits- und Revisionsabteilungen von Unternehmen tätig sind. </p>]]>
    </content>
</entry>
<entry>
    <title>28.09.2009: Workshop Digitale Multimedia-Forensik </title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/03/20090928_workshop_digitale_multimedia-forensi.html" />
    <id>tag:computer.forensikblog.de,2009://4.602</id>
    
    <published>2009-03-15T09:00:00Z</published>
    <updated>2009-04-24T15:45:52Z</updated>
    
    <summary>Im Rahmen der 39. Jahrestagung der Gesellschaft für Informatik findet am 28.09.2009 ein Workshop zur digitalen Multimedia-Forensik statt. Themenschwerpunkt ist die Erkennung von Manipulationen an Multimedia-Daten. Stichtag für Einreichungen ist der 26.04.2009. Weitere Informationen enthält der Call for Papers. 24.04.2008:...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Multimedia" />
            <category term="Termine" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Im Rahmen der <a href="http://www.informatik2009.de/">39. Jahrestagung der Gesellschaft für Informatik</a>  findet am 28.09.2009 ein <a href="http://forensics.inf.tu-dresden.de/workshop2009/">Workshop zur digitalen Multimedia-Forensik</a> statt. Themenschwerpunkt ist die Erkennung von Manipulationen an Multimedia-Daten. Stichtag für Einreichungen ist der 26.04.2009. Weitere Informationen enthält der <a href="http://forensics.inf.tu-dresden.de/workshop2009/cfp.html">Call for Papers</a>.</p>

<p><strong>24.04.2008: </strong>Die Einreichungsfrist wurde auf den 03.05.2009 verlängert; die finale Fassung muss erst am 10.05.2009 abgegeben werden.</p>]]>
        
    </content>
</entry>
<entry>
    <title>FTK Imager Version 2.5.5</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/03/ftk_imager_2_5_5.html" />
    <id>tag:computer.forensikblog.de,2009://4.598</id>
    
    <published>2009-03-05T09:00:00Z</published>
    <updated>2009-03-05T18:56:24Z</updated>
    
    <summary>AccessData hat die Version 2.5.5 des kostenlosen FTK Imagers veröffentlicht. Diese Version behebt ein Kompatibilitätsproblem beim Import von Abbildern im Expert Wittness Format (.E01) in EnCase. Die Fehlermeldung Error in &quot;Header&quot;: String cannot be longer than 12 characters gehört damit...</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Labor" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>AccessData hat die Version 2.5.5 des kostenlosen FTK Imagers veröffentlicht. Diese Version behebt ein Kompatibilitätsproblem beim Import von Abbildern im Expert Wittness Format (.E01) in EnCase. Die Fehlermeldung  <blockquote>Error in "Header": String cannot be longer than 12 characters</blockquote> gehört damit endlich der Vergangenheit an. Der FTK Imager ist beim AccessData Support zum <a href="http://www.accessdata.com/downloads/current_releases/imager/FTK%20Imager%202.5.5.exe">Download</a> verfügbar.</p>]]>
        
    </content>
</entry>
<entry>
    <title>15.09.2009: IMF 2009</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2009/02/20090915_imf_2009.html" />
    <id>tag:computer.forensikblog.de,2009://4.595</id>
    
    <published>2009-02-09T09:00:00Z</published>
    <updated>2009-02-09T09:00:04Z</updated>
    
    <summary><![CDATA[Vom 15. bis 17. September 2009 findet zum fünften mal die International Conference on IT-Incident Management & IT-Forensics (IMF 2009) statt. In diesem Jahr findet die Veranstaltung wieder in Stuttgart statt. Der Call for Papers wurde bereits veröffentlicht; Einsendeschluss für...]]></summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Termine" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2009 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>Vom 15. bis 17. September 2009 findet zum fünften mal die <em>International Conference on IT-Incident Management & IT-Forensics</em> (IMF 2009) statt. In diesem Jahr findet die Veranstaltung wieder in Stuttgart statt. Der <a href="http://www1.gi-ev.de/fachbereiche/sicherheit/fg/sidar/imf/imf2009/cfp.html">Call for Papers</a> wurde bereits veröffentlicht; Einsendeschluss für Arbeiten ist der 1. Juni 2009.</p>]]>
        
    </content>
</entry>
<entry>
    <title>PTFinder für Vista</title>
    <link rel="alternate" type="text/html" href="http://computer.forensikblog.de/2008/11/ptfinder_vista_build_16386.html" />
    <id>tag:computer.forensikblog.de,2008://4.593</id>
    
    <published>2008-11-13T09:00:00Z</published>
    <updated>2008-11-13T09:00:05Z</updated>
    
    <summary>In letzter Zeit erhielt ich vermehrt Anfragen nach einem PTFinder für Microsoft Vista. Die notwendigen Anpassungen an den Kernel 6.0.6000.16386 erwiesen sich als nicht trivial. Eine BETA-Version ist jetzt in der aktuellen PTFinder-Collection verfügbar....</summary>
    <author>
        <name>Andreas Schuster</name>
        
    </author>
            <category term="Speicheranalyse" />
    
    <content type="html" xml:lang="de" xml:base="http://computer.forensikblog.de/">
        <![CDATA[<p>von Andreas Schuster<br />
        Copyright &copy; 2008 <a href="http://computer.forensikblog.de/">for(ensik){blog;}</a>. Alle Rechte vorbehalten.</p>]]>
        <![CDATA[<p>In letzter Zeit erhielt ich vermehrt Anfragen nach einem PTFinder für Microsoft Vista. Die notwendigen Anpassungen an den Kernel 6.0.6000.16386 erwiesen sich als nicht trivial. Eine BETA-Version ist jetzt in der <a href="/files/ptfinder/ptfinder-collection-current.zip">aktuellen PTFinder-Collection</a> verfügbar.</p>]]>
        <![CDATA[<p>Wie schon <a href="/2006/03/ptfinder_an_andere_windowsversionen_anpassen.html">früher</a> gezeigt, gibt es bedeutende Änderungen zwischen XP und Server 2003 einerseits und Vista andererseits. Durch den Wegfall weiterer DISPATCHER_HEADER innerhalb der Datenstrukturen EPROCESS und ETHREAD waren erhebliche Anpassungen an der Erkennungs-Logik erforderlich.</p>

<p>Neu hinzugekommen ist die Option <tt>--pool</tt>, die die Erkennung an einem Teil des POOL_HEADER abstützt. Hierdurch sinkt die Anzahl falsch positiver Treffer, Allerdings bleiben dann auch einige Artefakte beendeter Prozesse unerkannt. Deshalb ist diese Option standardmäßig deaktiviert. </p>

<p>Für umfangreiche Tests und Fehlerberichte danke ich Umang Desai (Georgia Institute of Technology). Über weitere Erfahrungsberichte dieser BETA-Version würde ich mich freuen.</p>]]>
    </content>
</entry>

</feed> 

