Steganographie
Modellansatz - Podcast autorstwa Gudrun Thäter, Sebastian Ritterbusch
Kategorie:
Seit 2002 veranstaltet der Entropia e.V. in Karlsruhe jährlich die Gulaschprogrammiernacht, das ist ein mehrtägiger Kongress, wo Nerds, Häcksen und Maker ihre Projekte vorstellen, Erfahrungen austauschen und Vorträgen lauschen. Die GPN15 fand Anfang Juni 2015 im ZKM und der HfG Karlsruhe statt. Hier hat Marius Musch in einem Vortrag eine Einführung in die Steganographie gegeben, und spricht nun mit Sebastian Ritterbusch im Podcast. Bei der Steganographie geht es darum, eine geheime Nachricht so zu versenden, dass niemand außer dem gewünschten Empfänger die Existenz dieser Nachricht überhaupt vermutet. Der Begriff kommt aus dem griechischen und bedeutet in etwa "geheimes Schreiben". So wurden schon in der Antike erste simple Formen der Steganographie verwendet. Statt wie üblich die Nachricht in der Wachs auf einer Wachstafel zu kratzen, wurde die geheime Nachricht in das Holz darunter geritzt und wieder Wachs darüber gegossen. Anschließend konnte eine harmlose Nachricht in das Wachs geschrieben werden und die geheime Nachricht war verdeckt darunter. Mit der Zeit wurden die Verfahren dann raffinierter, so wurde im Zweiten Weltkrieg aus einem japanischen Kriegsgefangenenlager eine scheinbar harmlose Postkarte verschickt. Liest man aber nur die ersten beiden Wörter jeder Zeile ergibt sich ein völlig neues Bild und es werden die Truppenverluste der Amerikaner kommuniziert. In in einem anderen Fall vereitelte amerikanische Kriegsgefangene Jeremiah Denton die Propagandaversuche in Vietnam während des Kalten Krieges. Während eines TV-Interviews blinzelte er wiederholt das Wort T-O-R-T-U-R-E in Morsecode. In der heutigen Zeit ist es natürlich naheliegend die Steganographie in der digitalen statt der analogen Welt einzusetzen. So kann man zum Beispiel schon in (Plain-)Text eine geheime Nachricht verstecken. Viele Texteditoren zeigen standardmäßig Leerzeichen und Tabs am Zeilenende (trailing whitespace) nicht an. Dies macht sich das Tool SNOW (steganographic nature of whitespace) zu nutze, um geheime Nachrichten zu verstecken, oder man schreibt gleich komplette Programme in der etwas verrückten Programmiersprache Whitespace. Deutlich verbreiteter und effektiver ist es aber als Tarn-Medium (das so genannter Cover) ein Bild zu nehmen. Bilder haben viele nützliche Eigenschaften, insbesondere dass geringe Änderungen für das menschliche Auge unsichtbar bleiben. Aber auch ihre Größe ist vorteilhaft da ein Bild leicht um den Faktor 1000 größer ist, als die darin zu versteckende Nachricht. Bei einem Grauwertbild wird typischerweise ein Byte pro Pixel verwendet, also die Helligkeit jedes Bildpunktes wird durch einen Wert zwischen 0 für Schwarz und 255 für Weiß repräsentiert. Dieses Byte besteht wiederum aus 8 Bits, zum Beispiel der Folge 11110000 für den Wert 120. In der Steganographie kann man sich zu Nutze machen, dass das hinterste Bit (least significant bit) nur sehr wenig zum eigentlichen Farbwert beträgt. Es entscheidet nur ob die Zahl gerade oder ungerade ist und wenn der Wert geändert wird, fällt einem Menschen dieser geringe Helligkeitsunterschied gar nicht auf. Somit kann man nun seine geheime Nachricht von den ASCII-Werten in Binärzahlen konvertieren und anschließend in den least significant Bits (LSBs) einbetten. Man braucht also 8 Pixel pro Buchstabe. Weitere Verfahren gibt es auf Basis spezieller Eigenschaften von Datenformaten wie GIF, PNG oder JPEG. Bei der Steganographie gibt es aber auch einiges zu beachten. Besonders wichtig ist es die Nachricht vor dem Einbetten zu verschlüsseln. Zum einen kann uns ein Angreifer, der das Verfahren kennt und die Nachricht extrahiert, sie trotzdem nicht lesen. Zum anderen lässt sich ein gut verschlüsselter Ciphertext nicht von echtem Zufall unterscheiden, um Angriffe zu erschweren. Hat man aber Zugriff auf das Orginalbild, so wird der Unterschied und damit die Nachricht offensichtlich- hier sind besonders umgekehrte Bildersuchen hilfreich. (...)