Aufmacher

Gut versteckt

Texte verbergen mit Outguess

01.11.2007
Steganografie beherrschen viele Programme. Doch Outguess versteckt gleich zwei Texte in einem Bild.

Wer Texte sicher durchs Internet senden will, ohne dass Unbeteiligte mitlesen, ist auf kryptografische Verfahren angewiesen. Er verschlüsselt seine Nachricht vor den Versand, der Empfänger muss sie zum Lesen wieder entschlüsseln.

Dieses Verfahren birgt jedoch einige Nachteile: Neben der etwas umständlichen Schlüsselverwaltung und den damit verbundenen Risiken – etwa den Verlust der Schlüssel – besteht der größte Nachteil der kryptografischen Verfahren darin, dass jedermann die verschlüsselte Nachricht sofort als solche erkennt. Damit ist auch die Gefahr gegeben, dass potenzielle Angreifer den Schlüssel knacken und die Nachricht entziffern. Wesentlich eleganter verfährt die Steganografie: Das Verfahren bettet den zu übermittelnden Text so in ein Trägermedium ein, dass er für Dritte unsichtbar bleibt. Als Trägermedien für steganografische Zwecke eignen sich Bilder aus der Digitalkamera, Audiodateien und – in beschränktem Umfang – sogar Textdateien.

Auch unter Linux stehen ausgereifte Steganografieprogramme zur Verfügung, die den Vergleich mit kommerziellen Lösungen keineswegs zu scheuen brauchen. Neben dem hier beschrieben Outguess [1] hat es Steghide [2] zu einiger Bekanntheit gebracht.

Funktion

Wie Steghide ist auch Outguess ein Kommandozeilenprogramm, dessen Optionspalette jedoch deutlich durch Verzicht auf weniger gängige Funktionen übersichtlicher ausfällt. So können Sie bei Outguess beispielsweise nicht zwischen zahlreichen Verschlüsselungsverfahren wechseln; das Programm beherrscht ausschließlich den Chiffrieralgorithmus RC4 [3].

Zudem handelt es sich bei Outguess um ein primär auf Bilddateien als Trägermedium spezialisiertes Steganografieprogramm: Es akzeptiert lediglich Dateien der Formate PPM, PNM und JPEG als Basis. Der Vorteil dieser Einschränkung: Eine versehentlich falsche Auswahl des Trägerdatei-Formats scheidet als Schwachpunkt für visuelle oder statistische Angriffe aus. Das wichtigste Alleinstellungsmerkmal von Outguess liegt jedoch in der Möglichkeit, zwei Textdateien gleichzeitig in einer einzigen Trägerdatei unterzubringen.

Das Programm untersucht zunächst die Trägerdatei nach redundanten Informationen, die es ohne auffallende optische Veränderung des Gesamtbildes modifizieren kann. Diese Daten extrahiert Outguess zunächst, modifiziert sie zum Einbetten LSB-Methode (hierbei wird das least significant bit, also das niederwertigste Bit jedes Farbwerts eines Bildpunktes verändert) und schreibt sie anschließend zurück. Dabei sorgt eine Fehlerkorrektur dafür, dass die Modifikation so gering wie möglich ausfällt.

Beim Einbetten eines zweiten Texts in die selben Trägerdatei prüft Outguess zudem vorab, ob Bits bereits "abgeschlossen" sind. Als abgeschlossenen Bits bezeichnet man solche, die bereits zum Einbetten des ersten Texts dienten und die daher für eine Modifikation nicht mehr in Frage kommen.

Outguess installieren

Viele gängige Distributionen bringen Outguess bereits mit. Unter Ubuntu und seinen Derivaten installieren Sie das Programm bequem via Synaptic. Für Fedora, Red Hat Enterprise Linux, Mandriva und deren Abkömmlinge finden sich entsprechende Binärpakete bei Rpmseek [4]. Die Outguess-Website [1] hält ein Quellpaket der Software für jene Distributionen vor, für die es keine vorgefertigten Binaries gibt.

Der Träger macht's

Nach der Installation können Sie das Programm sofort einsetzen. Zunächst suchen Sie einen geeigneten Träger für den zu versteckenden Text aus. Dazu empfiehlt sich ein Bild ohne harte Kontraste oder scharfe Farbübergänge. Je unschärfer und homogener in der Farbgebung ein Bild ausfällt, desto resistenter ist es gegen visuelle Angriffe. Solche Bilder bezeichnet man als verrauscht, sie enthalten viele redundante Daten. Die eignen sich hervorragend zum Verstecken von Informationen und lassen sich modifizieren, ohne dass es selbst einem geübten Betrachter auffällt.

Zudem sollte das Bild keinesfalls aus dem Internet stammen und womöglich gar noch an exponierter Stelle aufzufinden sein. Ein potentieller Angreifer wird zunächst beim Verdacht, dass es sich um ein Steganogramm handelt, versuchen, an das Originalbild zu gelangen. Gelingt ihm das, so erkennt er bereits an der unterschiedlichen Dateigröße, dass eines der Bilder versteckte Informationen enthält. Zudem lassen sich insbesondere bei Fotos im JPEG-Format durch die Komprimierung bereits mit bloßem Auge Veränderungen gegenüber Originalfotos ausmachen.

Haben Sie das geeignete Trägermedium gefunden, betten Sie den zu versteckenden Text ein. Dazu dient der Befehl:

$ outguess -k Passwort -d TextdateiTrägerdateiSteganogramm

Hier verschlüsselt Outguess die Textdatei und bettet sie mit dem Passwort versehen in die Trägerdatei ein. Das resultierende Steganogramm speichert es als neue Datei Steganogramm (Abbildung 1).

Abbildung 1: Outguess verpackt innerhalb von wenigen Sekunden eine Nachricht in ein Bild.

Will der Empfänger des Steganogramms die darin enthaltene Nachricht entschlüsseln, so bewerkstelligt er das über das Kommando

$ outguess -k Passwort -r SteganogrammTextdatei

Dabei kann er den Namen für die Textdatei frei wählen (Abbildung 2).

Abbildung 2: Beim Empfänger packt Outguess die Nachricht in kürzester Zeit wieder aus.

Analog lassen sich auch zwei Texte gleichzeitig in einer einzigen Trägerdatei mit Outguess verstecken (Abbildung 3). Hier lautet der Befehl:

$ outguess -k Passwort1 -d Text1 -E -K Passwort2 -D Text2TrägerdateiSteganogramm
Abbildung 3: In einem zweiten Durchgang versteckt Outguess eine weitere Nachrichten im Trägerbild.

Der Empfänger muss nicht beide Texte auspacken. Will (oder soll) der Empfänger lediglich die zweite versteckte Nachricht extrahieren, braucht er dazu nur das Passwort2. Mit dem Befehl

$ outguess -k Passwort2 -e -r SteganogrammTextdatei

gelangt er dann beispielsweise an die zweite eingebettete Nachricht.

Fazit

Outguess gefällt durch zügige Arbeit und hohe Stabilität. Die Bedienung erfordert zwar zunächst etwas Lernaufwand, fällt nach kurzer Eingewöhnung aber leicht.

Die Software gestattet sich keine Blößen: Bei sorgfältiger Auswahl einer hinreichend großen Trägerdatei lassen sich problemlos zwei Texte in ihr unterbringen, das daraus generierte Steganogramm weist keinerlei visuelle Auffälligkeiten auf. Eine versehentliche Überfrachtung mit Informationen, die sich bei anderen Steganografieprogrammen in Gestalt deutlich sichtbarer heller Pixel im Steganogramm bemerkbar macht, tritt bei Outguess nicht auf: Übersteigen die einzubettenden Texte die Kapazität der Trägerdatei, bricht die Software das Einbetten mit einem entsprechenden Hinweis ab.

Auch gegen mögliche statistische Angriffe zeigt sich Outguess gut gewappnet: Beim Einbetten von Informationen berücksichtigt das Tool automatisch das gesamte Trägermedium, sodass sich die geheime Nachricht später gleichmäßig über das komplette Bild verteilt. Kann der Angreifer doch einmal nachweisen, dass ein Bild eine versteckte Information enthält, erhält er deshalb noch lang keinen Zugriff auf diese: Outguess transferiert die Nachrichten nicht im Klartext in den Träger, sondern verschlüsselt sie zuvor mit dem RC4-Chiffrieralgorithmus [4].

Infos

[1] Outguess: http://www.outguess.com

[2] Steghide: Erik Bärwaldt, "Verstecken spielen", LinuxUser 06/2007, S. 90

[3] RC4: http://de.wikipedia.org/wiki/RC4

[4] Outguess-Binärpakete: http://www.rpmseek.com

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare