Null ist nicht immer 0

Die Trennung von Struktur und Inhalt ist zusammen mit dem Substitutions-Mechanismus eines der grundlegenden Konzepte des Ereignisprotokolls. In die Beschreibung der XML-Struktur sind Platzhalter eingebettet, die mit Werten aus dem SubstitutionArray, einer Tabelle am Ende des jeweiligen Protokolleintrags, gefüllt werden. Wann immer ein Eintrag in dieser Tabelle dem "Wert" NullType enthält, wird in der XML-Struktur der zugehörige Platzhalter mitsamt des ihn umgebenden XML-Elements unterdrückt. Die mit NullTypes gefüllten Einträge der Tabelle enthalten sonst keine weiteren Daten. Jedenfalls nahm ich das an, bis ich mich kürzlich überraschen lassen musste.

(mehr...)

Evtx Parser Version 1.0.3

Ab sofort steht die Version 1.0.3 des Parsers für Ereignisprotokolle von Vista und Windows 2008 zum Download bereit. Die neue Version behebt einige Fehler und enthält auch kleinere Neuerungen.

(mehr...)

Protokolleinträge sortieren

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?

(mehr...)

Evtx Parser Version 1.0.1

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 Version dieses Werkzeugs.

(mehr...)

Windows Log Forensics

In der Ausgabe 16 des kostenlosen Magazins (IN)SECURE beschreibt Rob Faber die Funktionsweise und die Möglichkeiten des Ereignisprotokolls von Microsoft Windows. Er betrachtet dabei sowohl das alte Protokoll der NT-Familie und den für Vista und den Windows Server 2008 überarbeiteten Dienst.

Ein Parser für Vistas Ereignisprotokolldateien

Ich freue mich, die erste Version meines Parsers für Vista Ereignisprotokolle veröffentlichen zu können. Das Archiv besteht zum größten Teil aus Perl-Modulen, die die mir derzeit bekannten internen Strukturen des Dateiformats implementieren. Weiterhin enthalten sind zwei Beispielanwendungen, die binäres XML in eine Textdarstellung umwandeln. Diese erste Version begleitet meinen Vortrag auf dem DFRWS 2007 in Pittsburgh.

(mehr...)

Evtx Datentypen

Als eine der wichtigsten Neuerungen unterstützt das neue Ereignisprotokoll zahlreiche Datentypen. Soweit diese oberhalb der Programmierschnittstelle Verwendung finden, sind sie in einer C-Headerdatei (WinEvt.h) und natürlich im Microsoft Developer Network dokumentiert.

(mehr...)

Ein Template für SubstitutionArrays

In einem früheren Beitrag habe ich die Funktionsweise von Platzhaltern innerhalb des XML-Datenstroms und ihre Verbindung zum "SubstitutionArray" beschrieben. Wenn man die XML-Struktur kennt oder zumindest eine wohlbegründete Vermutung über ihre Form anstellen kann, dann reduziert sich die Aufgabe der Transformation von der binären in die textuelle Darstellung letztlich auf die Analyse des SubstitutionArrays. Als Hilfestellung habe ich hierzu einige Templates für den 010 Editor erstellt.

(mehr...)

Substitution

Der Mechanismus der "Substitution" ermöglicht es, die XML Struktur von den eigentlichen Inhalten zu trennen. Die veränderlichen Daten werden dabei in eine Tabelle, das Substitution Array, ausgelagert. Platzhalter im XML-Datenstrom, die beiden NormalSubstitution und OptionalSubstitution genannten Token, stellen dann die Verbindung her.

(mehr...)

Umwandlung in Token

Text zu parsen, kann eine sehr aufwändige Angelegenheit sein. Das gilt insbesondere im Fall von XML, das für seine geringe Informationsdichte bekannt ist. Unter der Annahme, dass die in XML abgefassten Ereignismeldungen mehrfach gelesen werden, kann die Umwandlung einzelner Elemente dieser Sprache in maschinell einfacher zu verarbeitende Symbole beträchtliche Rechenzeit einsparen und auch den Platzbedarf zur Speicherung der Daten herabsetzen.

(mehr...)
 1 2 >>