Tarnkappe kontra Krypto-Verbot
Computergestützte Steganographie versteckt Daten in Bild- und Audiodateien
Ob Mikroschrift in Ornamenten geheime Pläne übermittelt oder die Wortanfänge eines Briefes die eigentliche Botschaft enthalten: verborgene Strukturen in scheinbar harmlosen Mitteilungen erkennt nur der Eingeweihte. Die Steganographie kann mit Hilfe des Computers zu einer leistungsfähigen Technik für den sicheren Transport vertraulicher Informationen entwickelt werden. Bild- und Tondateien dienen als digitale Heuhaufen, die kodierte Nachrichten wie die sprichwörtlichen Nadeln verbergen.
Um Information steganographisch in Rechnerdaten zu verstecken, haben findige Programmierer unterschiedliche Verfahren entwickelt. Die Programme dieser Liste dienen dazu, Nachrichten in Bild-, Audio- oder Textdateien einzubetten. Einen Überblick über steganographische Methoden finden Sie in Jürgen Rinks Artikel "Hinters Licht geführt" in c't 6/97, Seite 330.
Steganographie-Programme
DOS
In einem Text benutzt FFEncode verschiedene Leerzeichen, um die Nachricht einzubetten. Die Botschaft bleibt leider nur dann versteckt, wenn ein Editor sie als DOS-Text öffnet. Andere Modi lassen sofort erkennen, daß es sich um unterschiedliche Leerzeichen handelt.
DOS
Das DOS-Programm versteckt Daten in GIF-Bildern, indem es die geheime Botschaft in die niederwertigsten Bits einsetzt. Ein Pseudozufallszahlengenerator verteilt die veränderten Bits über das Bild. Am manipulierten Bild erkennt man auch ohne Vergleich mit dem Original ein deutliches Rauschen. Hide and Seek beinhaltet zusätzlich eine symmetrische Verschlüsselung (IDEA).
OS/2, Windows (neuerdings auch für Win32), zusätzlich Source Code in C
Wahlweise benutzt Hide4PGP nicht nur das niederwertigste Bit, sondern bis zu 4 oder 8 Bit. Die Daten bringt das Programm in Bitmap-Grafiken, sowie in WAV- und VOC- Audiodateien unter. Weitere Optionen erlauben das Sortieren von Farbpaletten, um auch mit Indexfarben brauchbare Ergebnisse zu liefern.
Source Code in C
Die "Independent JPEG Group" entwickelte ein Programm für JPEG-Bilder, das den verlustbehafteten Teil der Kompression umschifft. Die Kompression erfolgt in zwei Stufen. Nach der ersten, verlustbehafteten Stufe, der diskreten Kosinustransformation mit Quantisierung, liegt die Bilddatei in Form von Frequenzkomponenten vor. Die niedrigsten Bits aller von Null verschiedenen Frequenzkomponenten ersetzt JPEG-JSTEG durch die Bits der einzufügenden Nachricht. Anschließend erfolgt der zweite, verlustfreie Teil der Kompression. Da dieses Verfahren die Frequenzkomponenten ändert, läßt sich eine geheime Botschaft nicht so einfach anhand der niederwertigsten Bits erkennen. Allerdings ist JPEG-JSTEG genauso unflexibel wie die meisten anderen der vorgestellten Programme. Der übertragenen Nachricht darf kein Bit fehlen, sie überlebt keine verlustbehafteten Kompressionsverfahren.
Unix, zusätzlich Source Code in C
Aus einer Datei berechnet Mandelsteg ein Fraktal und gibt es als GIF-Bild aus. Die entstehenden Bilder ähneln sich und unterscheiden sich hauptsächlich in ihren Farbwerten. Der Benutzer kann selbst entscheiden, in welchem Bit eines Pixels er die Nachricht verbergen will. Das BSD-Unix-Programm läuft auch unter DOS, sofern man über einen C-Compiler verfügt.
DOS
Wie in einen Briefumschlag packt PGE (Pretty Good Envelope) die Geheimdatei ein. Dabei versteckt es eine Datei in einer anderen, indem es die zu verbergende Datei einfach an die Mutterdatei anhängt und dahinter einen Code setzt, der auf den Anfang der angehängten Datei weist. Am Bild selbst erkennt der unbedarfte Beobachter keine Veränderung.
Source Code in C
Das Programm verbindet Daten mit Grauwert-Bildern im PGM-Format. Eine der Optionen erlaubt die Wahl der Bits, in die PGMstealth eine geheime Nachricht einfügt.
Windows 3.x
Primär ein Windows-Programm für PGP-Verschlüssselung, beinhaltet PGPn123 auch eine Steganographie-Option. Der Algorithmus entspricht weitgehend dem von Texto, das Dateien in künstlerisch fragwürdigen Gedichten versteckt.
Source Code in C++
Piilo bringt Daten in Grauwert-PGM-Bildern unter. Ein Schlüssel dient sowohl zur Kodierung der Daten als auch zur Auswahl der Pixel. Wie bei fast jedem der hier vorgestellten Programme ändern sich nur die Least Significant Bits. Sowohl ein C++-Compiler als auch eine zusätzliche Library, die es sich von einem ftp-Server zu holen gilt, sind notwendig.
DOS, Source Code in C
Um Nachrichten in ASCII-Text zu verstecken, konvertiert Snow die Bits in eine Abfolge von Leerzeichen und Tabulatoren und fügt sie dem Textende an. Die Botschaft verschwindet also nicht, sondern erscheint in einem Editor als zusätzlicher Free Space. Große Sicherheitsbedürfnisse kann Snow damit nicht erfüllen, zumal die Größe der Datei unter Umständen schon stutzig macht, wenn sie von der Menge des sichtbaren Texts stark abweicht.
Unix, Source Code in C
Mit diesem Programm kann zwar niemand Nachrichten verstecken, es stellt aber eine sinnvolle Bereicherung zu den Steganographie-Programmen dar. Stealth entfernt die Header-Informationen einer PGP-Nachricht. Übrig bleibt der verschlüsselte Teil der Datei.
Windows 95
Das menügeführte Windows-Programm versteckt Daten in Bildern (BMP, DIB), Audiodateien (WAV, VOC), ASCII-Texten und HTML-Dokumenten. Der für die Bildbearbeitung zuständige Teil des Algorithmus funktioniert tadellos. Eine eingebettete Datei, die 15 Prozent des Bildumfanges besitzt, verändert das Bild nur unwesentlich. ASCII-Texten fügt Steganos Leerzeichen ein. Durch die leichte Bedienung und den schnellen Algorithmus eignet sich das Programm für Testläufe, um auszuprobieren, wie sich eine Datei mit dem Programm in welchen Bildern am besten verbirgt.
Source Code in C
Steganosaurus versteckt ein File in einem Wust von Text. Aus einer Datei extrahiert der Algorithmus Wörter, die er zu einem Nonsens-Text zusammenfügt. Jeder, der einen Blick auf das kodierte Dokument wirft, erkennt sofort die Sinnlosigkeit der unzusammenhängenden Wörter. Einziger Sinn der Aktion: Detektionsprogramme für kodierte Nachrichten zu überlisten.
DOS
Das DOS-Programm unterstützt ausschließlich das Bilderformat 320:x200 Pixel mit 256 Farben. Auch hier ändert der Algorithmus nur die niederwertigsten Bits. Es gibt leichter zu bedienende Programme, die zudem mehr Möglichkeiten bieten.
Windows 95
Das auf Windows 95 basierende, bedienerfreundliche Programm erlaubt per Drag&Drop eine Datei verschwinden zu lassen. Auch STools verteilt das Bit-Muster der Nachricht auf die niederwertigsten Bits. Allerdings kann das Programm sowohl Bilder (BMP, GIF), als auch Audio-Dateien (WAV) verändern. Vor der Einbettung komprimiert STools auf Wunsch die Datei und kodiert sie symmetrisch. Ein Pseudozufallszahlengenerator verstreut dann die verräterischen Bits in die Mutterdatei.
Source Code in C
Das C-Programm wandelt Dateien in englische Sätze um, die an äußerst schlechte Gedichte erinnern. Der Algorithmus ist denkbar einfach: Jedes Wort repräsentiert ein ASCII-Zeichen. Kennt man diese Ersetzung, dann hat man auch schon die gesendete Botschaft. Wie immer bei steganographischen Verfahren muß aber das schlechte Gedicht erst einmal als Geheimnisträger entdeckt werden.
DOS, zusätzlich Source Code in C
Das Paket besteht aus DOS-Programmen, die Nachrichten kodieren und in PCX-Bilder einbetten. Selbst wenige Byte führen bei den 8-Bit-Grafiken wegen ihres Index-Verweises auf eine Farbpalette schon zu deutlich sichtbaren Flecken, die das Bild unbrauchbar machen. White Noise Storm eignet sich mit diesen Eigenheiten nicht dazu, um Daten zu verstecken.
Weitere Infos (Meta-Seiten)
- Neil Johnsons Seiten zu Steganography - Information Hiding
- Das Kolleg "Sicherheit in der Kommunikationstechnik" zeigt die Unwirksamkeit eines Kryptoverbots aufgrund steganographischer Methoden.
- Burkhard Schröders Stego-Seiten mit Tutorial für Einsteiger.