asb
   
 
asbSTREAMlist, Analyse von Streams in NTFS Objekten
Was sind Streams?

Windows NT/ 2000/ XP und W2k sowie weitere Systeme können mit dem NTFS Filesystem umgehen. NTFS ist das derzeit bekannteste Filesystem-Format, welches Streams unterstützt. Streams (zu deutsch auch als Datenstrom übersetzbar) ist die Eigenschaft einer Datei oder eines Objektes Inhalte in verschiedene Fächer abzulegen. Im Normalfall verwenden Programme nur den "Standardstream". Aber auch in sonstigen, mit einem Namen kennzeichneten Stream können in einer Datei verschiedene Inhalte gespeichert werden. Programme nutzen Streams nur unzureichend, überhaupt nicht, oder können auch das Vorhandensein von Streams nicht erkennen. Streams werden von verschiedenen Programmen zu Speicherung von "systemeigenen" Informationen (MS Office) oder aber auch zu Speicherung überflüssiger und gefährlichen Informationen (Viren) verwendet).
Multiple-Data-Streams stellen dabei eine Form anwendbarer Streamformate dar und tragen die Besonderheit, dass diese nur sehr schwer erkennbar sind. Die meisten am Markt befindlichen Softwarepakete können genau die multiplen Streams nicht erkennen.
 

Fragen und Antworten zu Streams
Wie erkannt man nun im Normalfall ein Stream?
Antwort schwer oder gar nicht;

Wie merkt man, dass im Filesystem Streams vorhanden sind ?
Antwort an der Differenz aller Daten auf der festplatte zum Gesamtvolumen. Stream-behaftete Dateien, werden auch unter W2K nur in der Größe des Standard-Streams sichtbar.

Wie löscht man ein Stream aus einer Datei, wenn man den Verdacht hat, diese enthält einen Stream?
Antwort man kopiert die Datei auf z.B. eine FAT Struktur-Medium, die keine Streams darstellen kann, dabei wird nur der "Standardstream" kopiert und der Rest ignoriert.

Warum können Stream so gefährlich sein?
Antwort: In Streams können ausführbarer Programmcode und ganze Softwaremodule versteckt werden.
 
Kleines Beispiel für Streams

Wie kann man einen Stream testweise erzeugen?

Antwort: Es gibt nur wenige Konsolenprogramme die Streams unterstützen:
- Erzeugen Sie mit CMD> NOTEPAD T.TXT mit beliebigen Inhalt.
- Listen Sie die Datei aus und merken sich die Dateigröße.
- Editieren Sie nun CMD>NOTEPAD T.TXT:name (name = beliebiger Name)
  und füllen die Datei mit Inhalt.
- Listen Sie nunmehr wieder T.TXT aus und vergleichen die Dateigröße.
- Vergleichen Sie nochmals die Inhalte,...
  => Die Datei T.TXT enthält nun "wesentlich mehr Inhalt" als vom System
  angezeigt.

Das obige Beispiel soll die Gefährlichkeit von Streams demonstrieren.
Es ist beispielsweise möglich in eine Datei mit einem Byte im Standardstrom und einigen hundert Megabyte in einem oder mehreren Streams anzulegen. Der Explorer bzw. der Befehl „dir“ zeigt für diese Datei eine Größe von einem Byte an ! Dadurch ist es realisierbar beliebige Mengen an Daten in Multiple-Data-Streams zu verbergen.
Der Verwendung Befehl "MORE" ist eine weitere Möglichkeit den Inhalt eines Streams zu betrachten. Dazu muss man jedoch den Namen des Streams kennen.
 

Aufbau eines NTFS Objektes

Die Lösung: asbStreamlist:

asbSTREAMlist ermöglicht die Eingabe die Suche nach Streams jeglicher Art in NTFS Objekten und listet die Ergebnisse auf.

Weitere Informationen zu NTFS Streams finden Sie auch in einschlägigen Medien sowie Microsoft Dokumenten (Unterlagen).