Security Podcast

Steganografie

Alles muss versteckt sein

In dieser Folge sprechen Simon und Christoph über Steganografie – ein Verfahren, um Informationen zu verstecken. Ist das also digitale Zaubertinte oder gibt es noch andere Verfahren? In welchen Medien können wir überhaupt Informationen verstecken? Und warum sollte man das überhaupt tun? Außerdem gibt’s in dieser Folge etwas zu gewinnen!
Weitere Episoden anhören

Shownotes & Links

Gewinnspiel

Rund um die Folge haben wir insgesamt fünf (englische) Wörter mit steganografischen Mitteln versteckt. Wer mindestens drei davon herausfindet und uns diese (gerne inkl. einer kleinen Beschreibung wie sie gefunden wurden) an [email protected] schickt, nimmt an der Verlosung teil. Zu gewinnen gibt es einen Gutschein zur Teilnahme an unserer neuen Web-Security Schulung.

Teilnahmeberechtigt sind alle unbeschränkt geschäftsfähigen Personen, die zum Zeitpunkt der Teilnahme das 18. Lebensjahr vollendet haben. Mitarbeiter von INNOQ und deren Angehörige sind teilnahme- aber nicht gewinnberechtigt. Der Rechtsweg ist ausgeschlossen. Teilnahmeschluss ist der 31.10.2020.

Im November gibt es dann an dieser Stelle die Auflösung.

Links

Feedback

Falls ihr Fragen oder Anregungen habt, schreibt uns gerne eine E-Mail an [email protected].

Transkript

Transkript ausklappen / einklappen

Simon Kölsch: Hallo. Willkommen zum INNOQ Security Podcast Nummer 5 mit dem Thema Steganografie. Ich bin der Simon. Den Christoph habe ich als Gesprächspartner hier. Hi!

Christoph Iserlohn: Hallo Simon!

Simon Kölsch: Und du hast dir gedacht, wir nehmen mal inhaltlich ein bisschen leichtere Kost für die aktuelle Folge. Steganografie, weiß ich selbst gar nicht so viel zu. Ich kenne es allerdings aus dem Mickey Mouse Magazin. Da stand der Tipp drin, dass man mit Zitronensaft Zaubertinte hat und man später mit einem Bügeleisen die Nachricht sichtbar machen kann. Ist das denn schon Steganografie?

Christoph Iserlohn: Das gehört schon auf jeden Fall dazu. Ich hätte das nicht in der Mickey Mouse, sondern im Yps-Heft und man muss eine Kerze dahinter halten und nicht bügeln. Vielleicht kann ich deshalb heute auch noch nicht mehr bügeln, aber gut. Aber ja das gehört schon dazu. Also das Wort selber ‚Steganografie‘ setzt sich aus eigentlich zwei Wörtern zusammen, die aus dem Griechischen kommen. Das ist einmal ‚steganos‘, das heißt bedeckt oder versteckt und ‚grafien‘, das heißt schreiben. Und übersetzen würde man das heutzutage sozusagen als ‚geheimes Schreiben‘. Das heißt irgendwie habe ich eine Botschaft, die ich dann aufschreibe oder auch nicht nur aufschreibe, dazu kommen wir später noch dazu und die dann vor anderen Leuten versteckt ist, die man nicht sofort sehen kann.

Simon Kölsch: Okay, wir haben also grob eine Information und irgendeine Art Trägermedium/Container mit der wir diese Information dann übermitteln können?

Christoph Iserlohn: Genau, also wir versuchen die Information einerseits darin zu speichern und andererseits eine Übertragung damit möglich zu machen, die vor anderen Leuten verdeckt ist. Also die sich, wenn sie sich das Trägermedium anschauen, in dem Fall wäre es jetzt Papier gewesen bei der geheimen Tinte, das dann immer noch so aussieht wie Papier und wo man nicht sieht, dass da irgendwie schon etwas draufsteht.

Simon Kölsch: So Dinge wie Geheimtinte und irgendwie auch bei der Kryptographie, hast du sowas wir ROT13 oder auch irgendwie Caesar-Verschlüsselungen, das hat ja relativ weitreichend zurück historische Wurzeln. Wie ist das denn bei der Steganografie? Super Tag für einen Zungenbrecher!

Christoph Iserlohn: Ja, das reicht schon ziemlich lange zurück, also die Anwendung ist schon lange bekannt. Also irgendwann, wahrscheinlich ähnlich wie mit einer Cäsar-Chiffre, kommt schon zusammen, also man weiß, dass man in der Antike, hat man zum Beispiel Sklaven Tätowierungen auf den Kopf - also man hat den Kopf geschoren, die Haare alle abgeschoren und dann Tätowierungen da drauf gemacht und dann die Haare wieder wachsen lassen. Und die dann halt woanders hingeschickt. Und der Empfänger hat dann quasi wieder den Kopf des Sklaven geschoren und hat dann die Botschaft erhalten. Also das Prinzip so ist schon lange bekannt, dass man sich irgendwie auf versteckten Wegen Botschaften zukommen lässt. Der Begriff ist noch nicht so alt, beziehungsweise weiß man das nicht so. Aber der taucht erst einmal auf eigentlich in einem Buch, das wurde von einem deutschen Benediktinermönch geschrieben, der hieß Johannes Trithemius und das hieß ‚Steganographia‘. Und da geht es um Steganografie und auch um Kryptografie und auch um Magie - also so ein bisschen so ein mystisches Buch. Auf jeden Fall taucht da dieser Begriff eigentlich so zum ersten Mal auf, wie man das heute bezeichnen würde während die Praxis schon eigentlich viel älter ist.

Simon Kölsch: Okay, wie schlagen wir denn den Bogen jetzt zu quasi digitaler Steganografie? Weil von Geheimtinte und Zauberschrift sind wir ja jetzt inzwischen ein bisschen entfernt.

Christoph Iserlohn: Ja also, sozusagen Zaubertinte hat man heutzutage so zu sagen immer noch digital, aber dann können wir gleich nochmal erklären. Ich würde noch einmal kurz zurückgehen auf die Definition, vielleicht zwei Sachen, die man noch im Kopf behalten sollte oder Begrifflichkeiten, die man noch hört neben Steganografie, wäre das Steganogramm. Das ist das Trägermedium, dass da modifiziert wurde und dass eine geheime Botschaft enthält und die Steganalyse, das ist halt die Analyse von steganografischen Verfahren, um zum Beispiel sowas auch wieder sichtbar zu machen. Also der klassische drei Fragezeichen Steganalyst würde dann zum Beispiel die Blätter oder die Briefe halt nochmal vor eine Kerze halten, um zu sehen, ob da nicht noch mit Zaubertinte draufgeschrieben wurde. Aber jetzt wieder nochmal zurück oder hin zu der digitalen Steganografie. Da gibt es verschiedene Anwendungen, die man haben kann. Das ist einmal der Text, wo man typischerweise Nachrichten drinnen versteckt oder auch in Audiodateien oder Videodateien oder auch in Bildern. Und wenn wir uns jetzt mal den Text anschauen als Trägermedium, dann haben wir auch wieder Zaubertinte. Also die einfachste Möglichkeit da zum Beispiel Text drin zu verstecken ist jetzt, sagen wir mal wir haben ein Word-Dokument oder ein Dokument halt, das irgendwelche Auszeichnungen noch haben kann, dann können wir jetzt zum Beispiel dann auch das weiße Blatt machen und da weißen Text drauf schreiben. Wenn man das verschickt und sich das jetzt erstmal so anschaut oberflächlich, dann sieht man da nichts. Und das ist natürlich auch ganz einfach sichtbar zu machen, indem man das dann einfach alles markiert und dann die Farbe ändert oder wenn man alles markiert sieht, dass sich darauf Text befindet. Aber da haben wir die ganz klassische Zaubertinte auch wieder in Word nachgebildet - dabei, also das wird gehen. Sind natürlich Sachen, die man so dann heute nicht mehr anwenden würde, die sind natürlich ein bisschen einfach. Sondern die sind heute deutlich ausgefuchster die Verfahren, um da Botschaften, geheime Schriften in irgendeinen Trägermedium zu verstecken. Auch im Text zum Beispiel.

Simon Kölsch: Okay, das heißt je mehr Features eigentlich auch mein Trägermedium hat, je komplexer das ist, desto einfacher lässt sich dann irgendwo Information unterbringen. Text ist ja die einfachste Variante, weil ein Office-Dokument ist da ja vielfältiger mit Markup oder HTML oder was es sonst noch so gibt sieht das wahrscheinlich nochmal ganz anders aus. Gar nicht - ganz zu schweigen von PDF, wo ich ja für alles Mögliche nochmal irgendwelche Container-Formate nochmal zusätzlich habe, die ich nutzen könnte.

Christoph Iserlohn: Ja, also bei diesen Textmedien, die du jetzt so genannt hast, die zwar alle irgendwie Text sind, also HTML besteht ja, ist ja eigentlich auch nur eine Textdatei und auch Word ist dann eine XML-Datei, die auch wieder ein Text-Format ist. Und auch bei PDF hat man hauptsächlich Text. Natürlich macht es das leicht, weil es gibt halt den Unterschied zwischen ‚Was steht da drin?‘, also rein textuell und dem ‚Wie wird das denn gerendert?‘, also mit welchem Betrachtungsprogramm mache ich das jetzt in Word. Da gibt es halt Farben, die ich ändern kann. Dann kann ich weiße Schrift auf weißem Hintergrund machen und im HTML, da kann ich natürlich - HTML hat Kommentare, dann kann ich einfach in den Kommentar etwas schreiben. Öffne ich das jetzt in meinem Browser erscheint aber ganz normale irgendeine HTML Webseite, die gerendert wird und da sieht man von dem Kommentar nichts. Ist natürlich auch noch einfach zu entdecken, indem ich einfach den Quelltext öffne, dann mir den da durchlese, aber trotzdem ist es erstmal oberflächlich betrachtet natürlich versteckt. Da bieten halt diese ganzen Formate, die wir heutzutage benutzen, um reine Texte auszutauschen, jede Menge Möglichkeiten, weil die wenigsten Anwendungen, auch wenn sie textbasiert sind, tauschen ja auch reinen Text aus. Also selbst bei Mails habe ich heutzutage typischerweise HTML Mails, dann gibt’s halt, PDF ist allgegenwertig als Format; Word leider auch - das ist auch ein Format, das man überall findet, was viel rumgeschickt wird. Von daher ist das so, dass man da entsprechend auch mit verschiedensten Möglichkeiten an vielen Stellen etwas unterbringen kann.

Simon Kölsch: Ja, stimmt. Hast ja Multipart MIME Messages und sowas.

Christoph Iserlohn: Zum Beispiel, so Sachen werden dann gar nicht angezeigt. Rein auf der Textebene etwas zu verstecken, also jetzt, wenn man es rein… also nicht in irgendeinen Betrachtungsprogramm, so wie PDF-Viewer oder so sich das anschaut, dann da was zu verstecken ist natürlich deutlich schwieriger. Weil da fällt sowas auf. Da muss man vielleicht auch mit Sachen arbeiten, wie die - man kann zum Beispiel in Leerzeichen etwas verstecken, dass es verschiedene Arten von Leerzeichen gibt und die werden dann anders kodiert. Die sehen dann aber auch im normalen Text, also wenn ich das im Text Editor öffne, dann typischerweise gleich aus. Oder in Unicode-Zeichen, da gibt es ja zum Beispiel auch, dass hat wir glaube ich auch mal in einer anderen Folge besprochen, dass man URLs fälschen kann oder nicht fälscht, sondern nur ähnlich aussehen lässt, indem man bestimmte Zeichen, die jetzt aus unserem lateinischen Alphabet kommen, mit ähnlich aussehenden Zeichen aus dem kyrillischen Alphabet ersetzt. Und das kann man natürlich genauso bei einem Text machen, dass man da Zeichen ersetzt. Werden aber auch selbst im einfachsten Text-Editor typischerweise gleichgerendert werden. Man kann nicht zum Beispiel sagen: Wenn der Buchstabe aus dem Lateinischen, also wir haben einen Buchstaben, den gibt es in zwei Alphabeten, der wird aber gleich gerendert, dann kann ich sagen: Wenn er aus dem lateinischen Alphabet kommt kodiere ich das als 0 und wenn er dann aus dem, sagen wir mal, kyrillischen Alphabet kommt, kodiere ich das als 1. Und dann kann ich da noch halt binär noch eine Botschaft drin verstecken. Die wird dann noch nicht mal sichtbar, wenn ich das in einem Text Editor anschaue, sondern die wird erst sichtbar, wenn ich die Bytes anschaue. Also die Werte der Bytes und dann sehe ich vielleicht: Oh da wurde das Leerzeichen einmal so kodiert, einmal so kodiert. Oder der Buchstabe kommt jetzt irgendwie… ist aus dem kyrillischen Alphabet und sieht aber genauso aus. Das seh ich dann erst auf der Ebene.

Simon Kölsch: Okay, da haben wir dann ein bisschen eine Verwandtschaft zur Verschlüsslung, wo man sagen kann: Okay, über den Weg kannst du dann halt je nach Algorithmus dann auch nochmal Dinge versteckt übertragen.

Christoph Iserlohn: Genau, dann brauche ich da schon Algorithmus, also in der einfachsten Form halt in binär kodiert, der das dann nochmal auseinandernimmt. Aber der zum Beispiel wissen muss: Welche Zeichen können jetzt überhaupt doppelt kodiert sein? Und die anderen sind halt nicht geeignet als Trägermedium. Da muss man schon… Hat man da halt eben Ähnlichkeiten, weil man Algorithmus benutzt, aber das wird auch oft zusammen mit kryptografischen Verfahren angewendet. Kommen wir vielleicht später noch mal drauf zurück, wenn wir die Anwendungsmöglichkeiten uns anschauen, wo man das auch kombiniert.

Simon Kölsch: Wie sieht es denn mit Bildern aus? Also außer dem offensichtlichen: Ich nehme irgendwie einen Abschnitt im Bild und schreibe da quasi Information rein.

Christoph Iserlohn: Ja, Bilder bieten ganz vielfältige Möglichkeiten darin etwas zu verstecken. Eine einfache Möglichkeit ist zum Beispiel, dass viele Bilder Metadaten haben, also Exif-Daten und da könnte ich zum Beispiel etwas reinschreiben. In Exif gibt es zum Beispiel auch eine Kommentarspalte und… also nicht Spalte, sondern Kommentarfeld und da kann ich etwas reinschreiben. Und Exif-Daten sehe ich normalerweise auch nicht, wenn ich mir Bilder in Webseiten ansehe und ich mit normalen Bildbetrachtungsprogrammen, dann sehe ich die typischerweise nicht. Sondern das muss ich dann immer extra einstellen oder extra Programme benutzten, um diese Daten da raus zu extrahieren. Das ist eine relativ einfache Möglichkeit. Dann kann man natürlich auch sagen, dass man das direkt in den Bilddaten versteckt. Dann wird da schon schwieriger… Da könnte man zum Beispiel, bei einer PNG Datei ist am Anfang angegeben: Die Bildgröße. Wie breit und wie hoch? Also wie viele Spalten und Zeilen hat das? Und sagen wir mal, wir haben ein Bild von 1000x1000 Pixeln, dann könnten wir jetzt sagen: Die unteren 200 Pixel, da schreiben wir jetzt unsere geheime Botschaft rein. Dann schreiben wir die darein, wie wir das machen können wir gleich nochmal erklären und dann speichern wir das Bild ab. Und dann nehmen wir die Bilddatei und ändern einfach nur diese Metaangaben am Anfang in dem Bild-Header, wo 1000x1000 steht und ändern das auf 1000x800 und der typische Renderer, also eigentlich fast alle Renderer von Bildbetrachtungsprogrammen und Browsern, die rendern halt dann genauso viel wie in diesen Metadaten steht: 1000x800. Die 200 Zeilen werden nicht angezeigt, dann habe ich 200 Zeilen, um da Daten drin zu verstecken.

Simon Kölsch: Das heißt ich habe trotzdem die Daten da drinnen, aber die Metaattribute vom Dateiformat lassen es halt zu, dass ich quasi den Viewport bestimme, der eigentlich gerendert wird.

Christoph Iserlohn: Ganz genau! Das ist ein relativ einfaches Verfahren. Andere Verfahren verstecken dann halt die Sachen auch dort in dem sichtbaren Bereich, ändern also gar nicht so zu sagen…, dass das nicht gerendert wird, schneiden nicht ab. Sondern ich kann die auch einfach in den sichtbaren Bereich reinrendern. Und zwar in den sichtbaren Bereich, ohne dass das ein normaler Betrachter dann bemerkt, also er merkt da keinen Unterschied. Und das geht zum Beispiel so, indem ich… So ein Bild ist ja typischerweise aufgebaut aus Pixeln und die Pixeln sind dann… Da stehen zum Beispiel für ein Pixel sind dann die 3 Farben R, G, B; Rot, Grün und Blau drinnen und mit einem Wert von einem Byte. Also Werte von 0 bis 255. Und insgesamt kommt man so dann auf 16,7 Millionen Farben, die man damit darstellen kann. Wenn ich jetzt das unterste Bit von so einem Byte nehme und das als Trägermedium nutze, also wenn ich da einfach sage: Eine 0 ist 0 und 1 ist 1, dann verändere ich den Farbwert für das Rot, Grün und Blau nur minimal. Und normalerweise ist das so, dass man das nicht erkennen kann. Also wenn ich so ein Foto habe, der minimale Unterschied ist für den normalen Betrachter nicht zu erkennen. Das geht dann über die menschliche Wahrnehmung hinaus, so dass ich das nicht erkennen kann. Um das zu erkennen, dann müsste man da auch einen sehr guten Monitor haben und ein bisschen geschult sein, dann wird man vielleicht ein bisschen etwas erkennen. Aber normalerweise ist das nicht so. Und dann kann ich pro Byte, also pro Farbe einen Bit zum Beispiel kodieren, ohne, dass das bemerkt wird. Ich kann sogar noch mehr Bits unten nehmen… Also desto mehr ich nehme, desto eher kann es auffallen, dass das Bild irgendwie ein bisschen komisch aussieht, dass die Helligkeiten sich da verschieben und das vielleicht ein bisschen anders aussieht. Aber normalerweise kann man das nicht unbedingt bemerken mit dem bloßen Auge. Und wenn ich Bilder habe, die zum Beispiel, also 8 Bit ist jetzt so heute der Standard pro Farbe, aber in vielen Bildbearbeitungsprogrammen oder in der High-End Fotografie, da werden schon mehr Bits genommen. Da hat man 16 Bit oder 12 Bit pro Kanal, also pro Rot, Gelb, Grün… Ne, Rot, Gelb, Blau. Oder Rot, Grün, Blau. Ist es gelb oder grün? Ich weiß es jetzt gar nicht… Auf jeden Fall zwischen den drei Farben hat man dann…

Simon Kölsch: Gelb.

Christoph Iserlohn: …deutlich mehr Farbabstufungen, die a) sowieso die heutigen Monitore kaum darstellen können, noch dass die groß wahrnehmbar sind. Von daher kann ich das zum Beispiel da drinnen super verstecken. Da brauche ich gar nicht in die Metadaten zu gucken, sondern dann müsste ich mir die einzelnen Bit-Maps angucken und da nach Auffälligkeiten suchen.

Simon Kölsch: Okay, da muss ich aber drauf achten, wenn ich meine Rot, Grün, Blau Werte habe, dass das am Ende auch kompressionssicher ist, oder?

Christoph Iserlohn: Ja, die Verfahren, die ich jetzt so beschrieben habe, die sind nicht kompressionssicher. Damit kommen wir vielleicht so zu dem Thema: Welche Eigenschaften hat denn so die digitale Steganografie? Oder welche sollte sie haben? Und worauf du jetzt ansprichst ist die sogenannte Robustheit. Audio, Video und Bilder werden ja oft mit einem Verfahren komprimiert was Verlustbehaftet ist. Das heißt, bei der Komprimierung gehen Informationen verloren. Und zwar so, dass man nutzt sich dabei auch die Wahrnehmungsfähigkeiten des Menschen aus, sind das Information, die wir Menschen gar nicht wahrnehmen. Das heißt, nach der Komprimierung sieht das Bild für uns immer noch genauso aus, trotzdem sind da Informationen verloren gegangen, indem man zum Beispiel ähnliche Farben, die sich nur minimal unterscheiden, alle gleich gemacht hat und gleiches lässt sich halt besser komprimieren. Man sieht das, wenn man zu viel Verlustbehaftung hat halt an diesen typischen Kompressionsartefakten, also wenn so Bilder auf einmal in so viereckigen Blöcken erscheinen, dann haben wir es übertrieben, das ist also parametrisierbar und normalerweise ist es aber so, dass man es komprimieren kann ohne, dass man es merkt. Das heißt aber Informationen gehen verloren und wenn wir es so machen würde, wie ich es gerade mal beschrieben habe, mit den Bildern, dass wir da immer die niederwertigste Bit machen, ändern können, könnte es passieren, dass der Komprimierungsalgorithmus sagt: Da sind kaum Unterschiede, ich mache das alles Nullen oder alles Einsen und dann ist unsere Information natürlich erstmal weg. Da muss man dann auf andere Verfahren zugreifen, die robuster gegenüber der Komprimierung sind.

Simon Kölsch: Okay. Das sind die Bilder, du hattest das eben erwähnt: Video -sind wahrscheinlich ähnliche Verfahren, oder?

Christoph Iserlohn: Man kann im Video natürlich ähnlicher Verfahren machen, weil Video sind ja erstmal auch Einzelbilder. Aber da setzt man auch eher auf Verfahren, die auch im Audiobereich gängig sind, weil Video und Audio typischerweise verlustbehaftet komprimiert werden. Bei Bildern kann man noch PNGs nehmen, die sind im Gegensatz zu JPEG Bildern zum Beispiel nicht verlustbehaftet und das ist bei Video eigentlich nie der Fall, weil dann würden diese Dateien viel zu groß werden. Und dann nutzt man dann Verfahren über… indem man eine Frequenzanalyse zum Beispiel bei Audio macht oder Histogramme bei Video und darin Daten versteckt. Die überleben dann auch eine verlustbehaftete Komprimierung, weil die Frequenzanalyse auch nach einer Komprimierung normalerweise ziemlich ähnlich aussieht und dein Histogramm. Aber bei den Sachen, wie man das bei Audio macht, ich glaube da kannst du das ganz gut doch auch mal erklären? Du bist ja auch ein kleiner Synthi-Fan und kennst dich im Audiobereich viel besser aus als ich.

Simon Kölsch: Du meinst, weil da so ein kleineres Modularsystem steht.

Christoph Iserlohn: Ganz genau! Ich empfehle dazu nochmal die Podcast-Folge mit dem Lucas, die du darüber gemacht hast. Sehr interessant! Aber erklär uns doch nochmal, wie das jetzt bei Audio so funktioniert.

Simon Kölsch: Naja, Töne, die wir hören oder ein Audiosignal, was da irgendwie aus der Box rausfällt, das setzt sich aus unterschiedlichen Frequenzen zusammen. Das kennt auch jeder, der irgendwie am Equalizer rumdreht, an irgendeinem Radio oder irgendeinem Audio, wie auch immer, um dann die Tiefen, die Bässe tiefer zu machen oder die Höhen irgendwie weiter anzupassen oder was auch immer man da einstellt. Und im Prinzip kann man diese Frequenzbereiche einfach in einem Spektrogramm darstellen, das heißt man würde den Zeitverlauf, das Audiosignal plotten und dann eben anzeigen, an welcher Stelle welche Frequenz in dem Band benutzt wird. Und in dem Moment haben wir natürlich irgendwie eine X- und eine Y-Achse und können da, je nachdem was wir für Frequenzen in dem Audiostream mit reinbringen, ein beliebiges Bild malen theoretisch. Tatsächlich ist es auch in der Musik… es gibt ein Beispiel, das können wir verlinken, von Aphex Twin, der macht elektronische Musik. Wenn man da das ein oder andere Lied durch so ein Spektrogramm schiebt, kann man dann plötzlich ein Gesicht da drin sehen. Gibt wahrscheinlich noch andere Beispiele, aber das wäre tatsächlich die Variante, wie man irgendwie Bilder oder Nachrichten in einem Audiocodec unterbringt, ohne dass es halt super störend nach random noise klingt oder so. Das sind Frequenzen, die entweder nicht hörbar sind oder die so einen tiefen Pegel haben, beziehungsweise von der Lautstärke her nicht so laut sind, dass das gar nicht irgendwie, wenn man sich das anhört, irgendwie auffällt.

Christoph Iserlohn: Ja…

Simon Kölsch: Und klar, dass lässt sich dann natürlich auch in einem Video als Audiospur einbinden.

Christoph Iserlohn: Zum Beispiel. Aber genauso geht es auch über die Analyse der Bilder, dass man genauso da entsprechend andere Bilder drin verstecken kann, das funktioniert ganz ähnlich. Die Charakteristika bei Frequenzanalyse ist bei Audio und Video natürlich ganz anders, aber das Prinzip ist dasselbe in dem Fall. Also dass man ein Bild im Bild im Video hat, das auch eine Komprimierung übersteht. Und gut… Was man dabei natürlich beachten muss ist, dass… Jetzt sind wir dabei natürlich viel robuster, fahren dann aber wahrscheinlich deutlich weniger Bandbreite dadurch. Also wenn ich mir jetzt vorstelle: Wir haben eine Bild und ich kann irgendwie von jedem Byte für die… Für jede Farbe ein Bit dafür benutzen, dann habe ich relativ viel Bandbreite und viel Platz, um da etwas zu machen. Wenn ich mir aber so überlege, in so einer Frequenzanalyse habe ich ein Bild, muss ja noch nicht mal ein Bild sein, ich könnte auch ein Wort da reinschreiben, dann habe ich natürlich viel mehr Daten verbraucht an der Stelle. Das heißt, meistens geht die Robustheit, die man erlangt auf Kosten der Bandbreite. Also wie viel kann ich denn kodieren dabei?

Simon Kölsch: Ja. Das Audiosignal muss eine gewisse Länge haben bei der Skalierung und das kann ich halt nicht kürzer machen.

Christoph Iserlohn: Oder wenn man es nochmal auf Bilder überträgt…, ich hatte ja vorhin erwähnt, dass man bei einem PNG einfach sagen kann: Die Zeilen, da ändere ich die Metadaten, die werden dann nicht mehr angezeigt. Ich kann jetzt überlegen, nehme ich die einzelnen Bytes, kodiere da direkt sozusagen die Nachricht rein, also für jeden Bytes könnte ich einen ASCII Buchstaben nehmen oder schreibe ich in das Bild wirklich als Bild etwas rein. Also ich könnte ja da mit einem Font einfach einen Text reinschreiben in das Bild was optisch sichtbar ist, dann verbrauche ich natürlich auch viel mehr Bandbreite, um ein Wort da rein zu schreiben. Was dann aber wieder den Vorteil hat, wenn es verlustbehaftet komprimiert wird, wenn es nicht ein PNG ist, sondern ein JPEG oder PNG kann man auch verlustbehaftete Kompressionsverfahren einsetzten, wenn man will, dann bleibt das auch erhalten. Und da geht es jetzt dann auch um die Frage, die da mit reinspielt: Wer ist der Empfänger? Und wie sicher soll das sein? Und zwar gibt es so… Sicherheit im Fall der Steganografie bedeutet: Inwieweit wird es vor dem Empfänger verborgen? Wenn ich jetzt sozusagen Klartext in der Frequenz verstecke oder ein Bild oder bei dem Bild einfach etwas abschneide und den unteren Teil nicht sehe und jemand macht eine Frequenz Analyse oder schaut sich das mit einem Viewer an, mit dem man das einstellen kann, dass der trotzdem diesen abgeschnitten Bereich einstellt, dann kann man das natürlich sofort sehen. Während ich das, wenn ich das automatisiert analysiere, das schon schwieriger ist. Also dann bräuchte ich ja sowas wie OCR, um diesen Text lesen zu können, der da versteckt ist. Also es gibt einen Unterschied, ob ich sicher bin vor Maschinen oder sicher bin vor Menschen. Weil der Mensch würde im umgekehrten Fall, jetzt bei dem Bild, wenn da irgendwie jetzt so ein Bit Muster wäre aus Nullen und Einsen, eigentlich nur Rauschen sehen. Da würde das erstmal nicht gehen, da müssten weitere Schritte, Analyse Schritte unternehmen, um das zu dekodieren, aber wenn da direkt mit: Hier steht meine geheime Botschaft! Also richtig gemalt steht, dann kann man das direkt lesen. Und das ist dann halt so ein Dreieck der Eigenschaften bei der Steganografie, die beachten muss. Es gibt einmal die Sicherheit, wo man nachschauen muss: Sicherheit vor… Also wer ist der eigentliche Betrachter dieser Botschaft? Oder wer analysiert diese Botschaft? Und der Robustheit und der Bandbreite - das sind so drei Eigenschaften, die sich gegenseitig beeinflussen, auf die man dann schauen muss, je nach Anwendungsgebiet, wie ich die entsprechend gewichte und wo ich mehr Wert drauflege oder nicht.

Simon Kölsch: Okay. Das ist dann halt einfach eine Abwägung je nach meinem Verfahren, kann man sich ja endlos verschiedene Vorstellen. Dann hängt es einfach tatsächlich vom Anwendungsfall ab, welche von den drei Eigenschaften man da irgendwie haben möchte.

Christoph Iserlohn: Einmal das und natürlich auch von dem Medium, was mir zu Verfügung steht. Also wenn ich einen langen Audio oder Video-Stream habe, dann kann ich vielleicht eher sagen: Die Bandbreite ist mir egal, weil das ist sowieso so lang. Wenn ich aber nur ein Bild habe, das ich verschicke, dann ist die Bandbreite vielleicht sehr begrenzt. Also das ist der Anwendungsfall und das Trägermedium, die ich da auf jeden Fall beachten muss in meiner Entscheidung, was ich denn ansetzten möchte.

Simon Kölsch: Wie sieht es denn da so mit Anwendungsmöglichkeiten aus? Also wieso ist das ein Thema? Wo wird denn sowas eingesetzt?

Christoph Iserlohn: Ja, also die meisten Hörer und Hörerinnen werden das wohl nicht unbedingt in ihrem täglichen Arbeitsalltag einsetzten, aber es gibt schon Anwendungsfälle. Ein großer Bereich ist die Datenexfiltration. Das heißt… Das ist sozusagen die böse Seite, da wollen wir mal hoffen, dass von den HörerInnen da niemand damit beschäftigt ist. Und wenn dann nur um das aufzudecken. Also da geht es darum…

Simon Kölsch: Also so pauschal kann man das ja nicht sagen, da gibt es ja auch durchaus positive Whistleblower-Beispiele.

Christoph Iserlohn: Das stimmt, aber das grenzt wahrscheinlich noch weiter ein, aber ja… Also nehmen wir mal da Beispiel… Wir nehmen jetzt mal unethische Hacker, die sind bei uns ins System eingedrungen und haben sich da festgesetzt. Jetzt wollen die uns Terabyte Weise Daten entwenden, da sie diese für irgendetwas gebrauchen können, wahrscheinlich um uns zu erpressen. Das heißt, die müssen aber auch erstmal irgendwo hin, also man muss die exfiltrieren und jetzt könnte man ja einfach sagen: Ich sende die erstmal wohin und verschlüssle die erstmal.

Simon Kölsch: Da würde ich jetzt erwarten, wenn da Terabyte Weise Datenübertragung ist, früher oder später wird das beim Monitoring doch sicher auffallen.

Christoph Iserlohn: Ganz genau! Also wenn man dann wie so ein Netzwerkmonitoring hat, dann fällt das schon auf, wenn irgendwelche Sachen an Adressen gehen, an die sonst nie was geht, besonders wenn es im größeren Rahmen ist oder regelmäßig und so, das können heutige Systeme schon erkennen als Anomalie. Würden dann wahrscheinlich Alarm schlagen und das heißt, irgendwie muss ich das verbergen. Auch wenn ich es verschlüssele, dann könnte man… Also die einfachste Sache wäre ja, wenn ich sagen würde: Ich verschlüssele das jetzt einfach, dann sehen die das ja nicht. Aber das wäre schon komisch, dass erstmal da überhaupt Datenströme sind, da wird das System anschlagen. Dann würde vielleicht erstmal irgendwelche menschlichen Analysten draufgucken und dann sehen: Oh, da werden immer verschlüsselte Daten übertragen an irgendwelche Domains, die vielleicht auch dubios sind. Und der würde das vielleicht auch unterbinden. Also da wüssten die vielleicht nicht was übertragen wird, aber sie wüssten das etwas übertragen wird und da sieht man jetzt ganz gut diesen Unterschied zwischen Kryptografie und der Steganografie. Die Steganografie hat nämlich zum Ziel, dass das gar nicht bemerkt wird und das heißt, da müsste ich dann sehen mit welchen Trägermedium ich da etwas exfiltrieren kann. Also Beispiele gibt es da, dass man zum Beispiel DNS-Pakete benutzt hat, um da Daten unterzubringen. Da ist die Bandbreite jetzt natürlich sehr gering, da brauch man, wenn man in Terabyte-Bereich natürlich sehr lange, aber DNS-Pakete sind jetzt erstmal nicht so auffällig. Wenn ich jetzt nicht direkt Millionen von Paketen in kurzem Intervall schicke, sondern die einfach in den normalen DNS-Verkehr sozusagen miteinfüge, dann fällt das erstmal nicht auf. So kann man Daten da exfiltrieren. Oder, das ist so ein bisschen der umgekehrte Fall, was mal passiert ist, da haben die Malware, die sich da festgesetzt hat, ihr Kommandos über Instagram Kommentare empfangen. Genauso kann man natürlich auch den Rückwink machen, also wenn man seinen Mitarbeitern erlaubt privat zu surfen, dann ist wahrscheinlich Instagram auch dabei, wenn man dann Kommentare setzt, die dann vielleicht auch noch verschlüsselt sind oder selbst Steganografie, Text irgendwie… Die per Steganografie verschlüsselte Botschaften enthält oder auch Fotos, die gepostet werden können, dann handelt man halt auch Bilder, dann kann man das natürlich schon nutzen, um Daten zu exfiltrieren. Und ich habe jetzt immer über die bösen Hacker gesprochen, und Hackerinnen, aber was du natürlich richtig erwähnt hast, das könnte sich natürlich auch zum Guten wenden. Also als Whistleblower kann ich das vielleicht auch nutzen, um da aus bösen Institutionen zu entwenden und zum guten Zweck zuzuführen. Aber es gibt halt nicht nur das, das ist jetzt so ein bisschen was, wie gesagt unsere Hörer und Hörerinnen wahrscheinlich nicht so betrifft. Es gibt schon noch Anwendungsfälle außerhalb davon, zum Beispiel die digitalen Wasserzeichen. Also früher war es ja so, dass man wenn man zum Beispiel irgendwo bei Audiodateien, also MP3s, die man legal erworben hat, oder muss gar nicht MP3 sein, sondern Musik auf digitalen Medien, die man legal erworben hatte, oft nicht kopieren konnte, weil da irgendeine Art von DRM-System drauf war, die das Kopieren verhindert hat. Die meistens nicht so gut waren, weil a) will ja vielleicht privat Kopien haben, um das auf meine drei Rechner zu verteilen, wenn ich überall Musik hören will oder weil ich auch eine Sicherheitskopie davon haben will, wenn bei meinem Rechner die Festplatte mal die Biege macht, dass ich die Musik dann immer noch hören kann. Und es gibt ganz viele Gründe auch, das halt zu kopieren, ohne dass man direkt in den illegalen Bereich abdriftet, um das irgendwie zu verteilen. Und manche Anbieter sind dazu übergegangen, Apple hat damit auch recht früh angefangen, dass man die Audiodateien DRM-frei bekommen hat, aber die wurden dann mit einem digitalen Wasserzeichen versehen. Und das heißt, man hört das nicht, aber das ist dann kodiert, zum Beispiel woher das kommt und vielleicht auch verbunden mit einer persönlichen Kundennummer oder ähnliches. Das heißt im Fall, wenn dann solche Dateien auf einmal auf Tauschbörsen oder so auftauchen, dass man doch die Quelle ausfindig machen kann und dann vielleicht eine Handhabe dazu hat.

Simon Kölsch: Ja, jetzt wo du es erwähnst ich meine es in der Erinnerung zu haben, dass das mal ein Thema war bei so Sample Libraries in der Musikproduktion. Da hast du ja auch sehr viele kurze Samples und ich meine irgendein Hersteller hat da mal angefangen auch irgendwann mal sowas unterzubringen.

Christoph Iserlohn: Ja, heute ist das glaube ich relativ Gang und Gebe, dass man das macht, wenn man Musik erwirbt digital, dass die so ein Wasserzeichen tragen. Ein anderes Beispiel für digitale Wasserzeichen ist halt bei Filmen und im Kino, wo das auch zum Teil in Echtzeit bei einer digitalen Produktion eingespielt wird. Wo dann zum Beispiel der Aufführungsort und die Zeit festgehalten wird. Gerade bei so Vorpremieren oder Vorführungen, die vor der Premiere stattfinden. Da ist es ja auch schon öfters vorgekommen, dass die einfach abgefilmt wurden und dann in Tauschbörsen aufgetaucht sind oder so. Und da kann man das dann auch zurückverfolgen, wenigstens wo das passiert ist zum Beispiel, um dann vielleicht weitere Nachforschungen anzustellen, wie das so läuft. Obwohl ich glaube, dass man heutzutage bei einer Vorpremiere nicht mehr reinkommt, wenn man sein Handy an hat und ähnliches. Aber gut, das ist ein anderes Thema. Auf jeden Fall wird das da zum Teil sogar in Echtzeit eingespielt, so ein Wasserzeichen, je nach Aufführungsort und mit der Zeit. Und das sind dann auch… Bei diesen beiden Anwendungsfällen sind das robuste Wasserzeichen, also die überleben halt Komprimierung, die überleben auch, wenn man sie von Digital- in Analog-Signale verwandelt und wieder zurück. Die sind vor allem auf Robustheit getrimmt, weil die sollen halt nicht verloren gehen. Und die Informationen, die die tragen, sind dann ja meistens auch relativ kurz, also so eine Ort und Zeitangabe ist ja nicht viel. Wenn du so in einem zwei Stunden Film bist, dann ist das gegenüber den anderen Daten, also die minimale Bandbreite, die da verbraucht wir.

Simon Kölsch: Ja, es würden ja schon einzelne Schnittmarken reichen, wie man das aus den alten Filmen kennt.

Christoph Iserlohn: Zum Beispiel. Aber die Schnittmarken in alten Filmen hat man gesehen, da hat man kurz den schwarzen Punkt oder den weißen oben aufploppen sehen. Heutzutage sieht man das halt nicht mehr. Und noch ein sehr bekanntes Beispiel sind halt noch bei Druckern, also fast jeder Drucker heutzutage hat so kleine Punkte, die der mitdruckt, jedes Mal, wo man erkennen kann, welcher Drucker das ist.

Simon Kölsch:Genau, das ist so das Modell, das klassische…

Christoph Iserlohn: Genau, das Modell.

Simon Kölsch: Wie Schreibmaschine mit dem Schriftbild übertragen ins Digitale.

Christoph Iserlohn: Genau, da kann man dann das feststellen und das ist das Modell und bei einigen wird auch direkt Seriennummer oder ähnliches, da kann man direkt genau den Drucker feststellen, bei dem das jeweils ausgedruckt wurde. Also das sind so Anwendungen, die man so ganz aus dem Alltag kennt. Also im Kino war wahrscheinlich schon jeder Mal und Musik hört wahrscheinlich auch jeder Mal.

Simon Kölsch: Wo das zumindest irgendwo Anwendung findet.

Christoph Iserlohn: Ja, und dann gibt natürlich noch so ein paar exotische Anwendungen. Zum Beispiel es gibt so versteckte Dateisysteme, also wenn man zum Beispiel im Kino Sachen aufnimmt mit der Kamera und das verteilt und so und die Polizei steht dann irgendwann mal vor der Tür, dann gibt es so Anwendungen unter Linux, die dann verstecken das Dateisystem. Wenn dann der Computer normal hochgefahren wird, dann sieht da alles ganz normal aus und man sieht auch nicht, dass auf der Festplatte noch Platz ist und sich da noch ein ganzes Dateisystem versteckt, wo dann die ganzen versteckten illegalen Sachen draufgespeichert wird. Und für die ganz Paranoiden kann man das noch weitertreiben. Da gab es einmal eine Anwendung, dass bei der Anmeldung, also so ein Anmeldemanager, dass bei der Anmeldung bei einem Passwort halt dieser Container auch direkt gelöscht wurde. Das war dann sozusagen das Notfallpasswort, wenn das eingegeben wurde, hat der den…

Simon Kölsch: Versteckten Container schon weggelöscht. Fällt gar nicht auf, dass da was fehlt.

Christoph Iserlohn: Genau und dann waren auch, wenn die Platte dann forensisch untersucht wird, sind die Daten dann halt weg. Das für die Paranoiden unter uns, dann vielleicht auch eine Anwendung, die man machen kann.

Simon Kölsch: Okay, dann geht es jetzt weiter. Okay, wir haben uns überlegt rund um das Thema könnte wir das irgendwie ein bisschen spielerischer noch aufbereiten und du möchtest ein bisschen was zum Quiz erzählen.

Christoph Iserlohn: Ja, wir haben uns überlegt, das ist jetzt auch, wie du es am Anfang auch ein bisschen als Spaßfolge beschrieben hast oder spaßiges Thema, dass wir halt dazu ein kleines Quiz machen. Und zwar haben wir rund um diese Folge auch ein paar Botschaften versteckt, steganografisch. Und ihr seid jetzt aufgerufen uns die zu schicken und dabei könnt ihr etwas gewinnen. Und zwar jetzt in dem nächsten Jahr, 2021, auf eine Web-Security Schulung von INNOQ geben und für die könnt ihr dann einen Platz gewinnen. Das ist der erste Preis. Wo sich jetzt diese versteckten Botschaften alle finden können, wo nicht, wer daran teilnehmen darf, wer nicht, also die INNOQ-Mitarbeiter sind wohl ausgeschlossen und das ganze Prozedere werden wir euch jetzt nicht hier erklären. Da könnt ihr in die Shownotes gucken, da gibt es dann alles erklärt, gibt es einen Link zu und da stehen die ganzen Teilnahmebedingungen und wo ihr hin müsst mit eurer Lösung, das steht da alles drin. Und dann könnt ihr uns das schicken und wir sind sehr gespannt, wie viel ihr denn da herausfinden werdet! Und das sei verraten, es ist mehr als eine geheime Botschaft.

Simon Kölsch: Genau, von daher freuen wir uns auf eine kleine Beschreibung, wie ihr denn die Lösung gefunden habt, wenn ihr da was findet.

Christoph Iserlohn: Ganz genau. Das wäre noch gut, wenn ihr euren Lösungsweg, wie seid ihr dahin gekommen auch noch kurz beschreibt. Das müsst ihr aber nicht, um zu gewinnen, aber schön wäre es trotzdem!

Simon Kölsch: Genau, wenn es mehrere Leute gibt, die alles finden, würden wir dann das Voucher unter den Teilnehmern verlosen.

Christoph Iserlohn: Ganz genau. Aber wie gesagt, Bedingungen und alle Details findet ihr dann nochmal auf der Seite zum Podcast. Und ja, damit sind wir durch für heute, oder?

Simon Kölsch: Alles klar. Ja, dann bedanken wir uns bei euch fürs zuhören und dir, Christoph, danke ich fürs Gespräch!

Christoph Iserlohn: Vielen Dank, dir auch Simon!

Simon Kölsch: Machts gut, ciao!

Christoph Iserlohn: Ciao!

TAGS

Senior Consultant

Christoph Iserlohn ist Senior Consultant bei INNOQ. Er hat langjährige Erfahrung mit der Entwicklung und Architektur von verteilten Systemen. Sein Hauptaugenmerk liegt dabei auf den Themen Skalierbarkeit, Verfügbarkeit und Sicherheit.

Alumnus

Simon Kölsch arbeitete bis Juli 2023 als Information Security Officer bei INNOQ.