Steganographie
Steganalyse
Aufteilung des Kapitels
- Steganographie ist die Kunst und Wissenschaft der Kommunikation auf einer Art und Weise, die die Existenz einer Kommunikation verbirgt.
- 'Knacken einer Nachricht die versteckte Informationen enthält'
= Erkennen - Extrahieren - Unbrauchbar machen
= Steganalyse
- bisher behandelte Methoden:
- Substitution und Bitplane Tools
- LSB Substitution
- pseudo zufällige Permutation
- Degradieren von Bildern (image downgrading) und Verstecken von Kanälen (covert channels)
- Cover-Regionen und Paritätsbits
- Palettenbasierte Bilder
- Quantisierung und Verzögerung/Verwirrung (Dithering)
- Verstecken von Informationen in Bin&aulm;rbildern
- unbenutzter oder reservierter Platz in Computer-Systemen
- Domain-Transformations-Methoden
- Steganographie in der DCT (diskreten Cosinus-Transformation)
- Verstecken von Informationen in digitalen Tönen/Klängen (Phasen Kodierung)
- Echo-Kodierung
- Verstecken von Informationen und Datenkompression
- Bandbreitenerweiterung und Verstecken von Informationen
- Spektrum-Erweiterung
- SSIS: eine Fallstudie
- Statistische Steganographie
- Verzerrungsmethoden
- Kodierung von Informationen in formatiertem Text
- Verzerren von digitalen Bildern
- Cover Generierungstechniken
- Mimic Funktionen
- Automatische Generierung englischer Texte
- Ziel der Steganographie ist, dass eine versteckte Information in einer Transmission unentdeckt bleibt, wenn ein Verdacht vorliegt.
Sollte sich dieser Verdacht jedoch bestätigen, dann ist das Ziel verfehlt.
Steganalyse ist die Kunst, solche Nachrichten zu entdecken und zu übersetzen, daher haben die Attacken und die Analyse gleiche Ziele.- Entdecken
- Extrahieren
- Zerstören und Unbrauchbar machen
- Covers können so manipuliert werden, dass versteckte Informationen unbrauchbar gemacht bzw. zerstört werden, unabhängig davon, ob solche Informationen existieren. Das Entdecken der Existenz versteckter Informationen nimmt aber mehr Zeit in Anspruch als das Zerstören.
- Alle steganographischen und digitalen Wasserzeichen-Techniken können durch eine einfache Formel repräsentiert werden. Zum besseren Verständnis werden Bilder herangezogen, da hier der Anteil von Möglichkeiten, Informationen zu verstecken, am grössten ist.
- t - beschreibt die Summe aller Informationen in Bildern, die manipuliert werden können, ohne dass es für den Menschen sichtbar wird
- p - ist der Anteil des Bildes, welcher sichtbare Änderungen verursacht, wenn dieser manipuliert wird
- C - somit ergibt sich die aufgeführte Gleichung für einen potentiellen Transporter (Covers, Container, ...) zum vertecken von Informationen
- Beispiel für eine Attacke (mit Terminologie):
- die Grösse von t ist bekannt ((für den Nutzer, sowie für den Attackierer)
- solange t in der nicht-sichtbaren Region liegt, existieren einige t', die vom Attackierer benutzt werden
- → C' = p + t', dann dürfen keine sichtbaren Unterschiede zwischen C und C' vorhanden sein
- mit dieser Attacke lässt sich die t Region entfernen bzw. hinzufügen
- die Terminologie der Steganographie ist ähnlich der der Kryptographie
- Kryptanalyse - versucht codierte Informationen zu decodieren
- Steganalyse - versucht die Existenz von versteckten Informationen zu entdecken
- daher kann man die Techniken aus der Kryptanalyse analog in der Steganalyse verwenden
- Techniken der Steganalyse:
- stego-only attack - nur das Stego-Objekt ist für die Analyse bekannt
- known cover attack - das ‚originale' Cover-Objekt und das Stego-Objekt sind bekannt
- known message attack - hier sind einige Punkte der versteckte Nachricht bekannt, das Stego-Objekt wird damit analysiert, daher ist diese Technik ähnlich der ‚stego-only attack' (nur schwieriger)
- chosen stego attack - der Algorithmus bzw. das Steganographie-Tool und das Stego-Objekt sind bekannt
- chosen message attack - es wird mit Hilfe eines Algorithmus oder eines Steganographie-Tool ein Stego-Objekt aus einer gewählten Nachricht erzeugt, dann wird versucht übereinstimmende Muster mit dem originalen Stego-Objekt zu finden
→ mit dieser Technik wird versucht, den Algorithmus bzw. das Steganographie-Tool zu spezifizieren
- known stego attack - der Algorithmus bzw. das Steganographie-Tool ist verfügbar und beide Objekte sind bekannt
- Es muss nicht immer der Algorithmus bzw. das Tool oder das Bild attackiert werden, es kann hilfreich sein, herauszufinden, welche Bits zum verstecken der Nachricht benutzt werden.
- Wie schon erwähnt, gibt es viele Möglichkeiten Informationen zu verstecken, dabei sind sicherlich Multimedia-Dateien exzellente Cover-Objekte.
- Eine geeignete Kombination zwischen dem Steganographie-Tool und dem Cover ist der Schlüssel für das erfolgreiche Verstecken von Informationen. Unbenutzte Farbpaletten, Zusammenhänge zwischen Farben in Farbindizes oder Rauschen bieten viele hier Möglichkeiten um Informationen zu verstecken. Um solche Muster zu identifizieren, muss man das originale Cover-Bild mit dem Stego-Bild vergleichen um Unterschiede herauszufinden.
- Jedoch jede Manipulation eines Bildes fügt einen bestimmten Anteil von Verzerrung und Degradierung des originalen Bildes hinzu, und diese Signaturen bzw. Veränderungen geben den Hinweis auf die Existenz von versteckten Informationen
- Palettenbasierte Bilder:
- Bevor man jedoch mit einer Auswertung von Bilder beginnt, sollte man sich vorerst die Definition von normalen und erweiterten Bildern anschauen. Es ist schwierig eine genaue Definition zu finden, da die Möglichkeiten von Bildern enorm ist (Fotografien, Gemälde, Zeichnungen, ...).
- Hier hilft eine Auswertung der Farbzusammensetzung, der Helligkeit und Pixel-Beziehungen von vielen originalen Bildern und Stego-Bildern, um diesen Unterschied herauszufinden.
- Die chosen message und known cover attack sind in diesem Fall sehr nützlich.
- In palettenbasierten Bildern sind die Farben nach der Häufigkeit des Auftretens geordnet, hier sollte man äusserst vorsichtig mit Änderungen zwischen den einzelnen Farbwerten vorgehen (immer nur 1 Bit-Schritte - da 1 Bit-Inkremente).
- → Graustufen-Bilder und RGB-Bilder sind hier einzuordnen, wobei die RGB-Bilder eine grössere Farbsättigung aufweisen.
- (Andere Bilder jedoch haben grösser Schritte zwischen den Farbwerten benachbarter Pixel)
- Viele benutzen Graustufen-Bilder (8-Bit Bilder), dabei werden nicht die Farbpaletten sondern die Farbschichten zwischen den einzelnen Paletten-Einträgen verändert.
- → Hier ist wichtig, dass der Unterschied zwischen den benachbarten Einträgen ziemlich gering ist (daher Graustufen-Bilder).
- In anderen 8-Bit Bildern sind Änderungen im Pixelwert schnell erkennbar.
- Um dies zu vermeiden, werden von vielen Tools die Paletten neu angeordnet oder sogar neu kreiert.(Beim Konvertieren eines 8-Bit Bildes in ein 24-Bit Bild verschafft man sich direkten Zugang zu den Farbwerten und kann diese dementsprechend leicht verändern.) Der Nachteil ist hierbei, dass das Bild mehr Speicher benötigt.
- Eine Lösung ist hier das Zurückkonvertieren in ein 8-Bit Bild, nachdem die Änderungen vorgenommen werden. Da jedoch 8-Bit Bilder auf 256 Farbwerte beschränkt sind, sollte man sich die Auswahl der Farben gut überlegen.
- Beispiel:
- Ein 24-Bit Bild enthält 200 einzelne Farbwerte.
- Nachdem Einbinden einer versteckten Information in das LSB kann diese Anzahl leicht auf 300 springen.
- Beim Zurückkonvertieren in ein 8-Bit Bild mit 256 Farbwerten, gehen einige der neuen Farbwerte verloren.
- Somit ist die versteckte Nachricht unbrauchbar.
- Eine gute Methode um diesen Effekt zu verhindern ist, das Reduzieren der Anzahl der Farben auf einen Wert, der immer noch ein gutes Bild wiedergibt, um nicht über den Wert von 256 Farben zu gelangen.
- Bildverzerrungen und Bildrauschen:
- Eine einfache Methode um die Existenz von versteckten Informationen nachzuweisen ist, das Kontrollieren des Stego-Objektes nach offensichtlichen und sich wiederholenden Mustern, welche die Signatur eines Steganographie-Tools oder eine versteckte Information andeuten. Verzerrungen lassen sich hierbei schnell erkennen.
- → known cover und known stego attack
- Ohne die Unterstützung des Cover-Objektes kann man leicht bestimmte Stellen im Bildrauschen übersehen, jedoch mit der Kenntnis, dass viele Tools diese Möglichkeit nutzen, um Nachrichten zu verstecken, kann man anders herangehen.
- Es werden bestimmte Signaturen in Abschnitten des Rauschens hinterlassen, wenn hier ein Stego-Tool verwendet wurde. Mit dieser Kenntnis über diese Signaturen (wiederkehrende und voraussagbare Muster) kann man dann das Tool bestimmen, welches diese Nachricht eingebettet hat.
- Es gibt auch eine bestimmte Art von Verzerrung, die offensichtlich hergeleitet wurde, diese erzeugt strenge Farbschichten, welche auf die Existenz von versteckten Informationen hinweisen. Nach der Erkennung kann man die Pixelnachbarschaften untersuchen, wobei man auf bestimmte Muster oder gleichendes Rauschen achtet.
- Dieser Test ist aber nicht immer anwendbar, da es auch Tools gibt die solche Verzerrungen in einem Bild nicht erzeugen, sondern eher vermeiden.
- Einige Steganographie-Tools justieren die Farbpaletten eines Bildes neu, um das Rauschen zu reduzieren.
- Beispiel:
- Die Farbwerte eines Bildes werden reduziert, so dass man nicht mehr als 256 Werte hat.
- Dann werden diese Werte nach ihrer Helligkeit sortiert, dadurch entstehen Blöcke von Werten, die sich nur minimal voneinander unterscheiden.
- → Hier werden uns leicht die Grenzen des Sichtbaren aufgezeigt (nähere Erläuterungen folgen in Kapitel 7).
- GIF-Bilder sind die typischen Bilder, welcher übers Internet übertragen werden, es sind 8-Bit Bilder und haben 256 Farben. Wenn ein Graustufen-Bild nur einen Teil von Schattierungen benutzt, beinhaltet der Farbindex trotzdem 256 Werte von Grau (weiss - schwarz) Hier besteht die Möglichkeit den Farbindex so zu reduzieren, dass wirklich nur die Farbwerte übrig bleiben, die benutzt werden.
- Beispiel:
- Ein Cover-Bild (GIF - Graustufen-Bild) benutzt nur 9 Schattierungen.
- Das Bild hat trotzdem einen Farbindex von 256.
- Diese Farbpalette wird jetzt reduziert auf die 9 verwendeten Farbwerte (Algorithmus in Kapitel 13), die natürlich auch vom Stego-Objekt verwendet werden.
- Wenn das Stego-Bild 9 Farbwerte benutzt, dann gibt es auch 9 Farbwerte im RGB-Farbraum von den erwarteten 256.
- Ohne das vorangegangene Erkennen von versteckten Informationen, ist es sinnlos diese zu extrahieren, denn einfache eingebettete Informationen im LSB können Artefakte produzieren.
- Es gibt Tools, die einige Optionen beinhalten, die auswählen, wie die Farbpalette gehändelt wird oder in welchem Bit-Level die Daten versteckt sind (Kapitel 11 - Hide4PGP).
- Hide4PGP bettet die Informationen in den Bit-Ebenen der Bilder ein (in LSB 1.-4.Ebene), daher kann die Information extrahiert werden, indem man die Bits benutzt, die fürs kreieren des Stego-Bildes verwendet wurden, dabei sollte man mit den 4.LSB anfangen.
- Im allgemeinen ist es wichtig, zuerst den Algorithmus bzw. das Tool zu identifizieren, mit dem die Informationen eingebettet wurden. Sofern dies geschehen ist kann man mit Hilfe diesem Tools die Nachricht extrahieren.
- Sollte man Pech haben und die Information ist noch codiert, dann muss man Kryptanalyse-Techniken anwenden, haben aber die verschlüsselten Daten einen ‚Header', dann ist man auf dem richtigen Weg.
- Es wurden bereits verschiedene Methoden diskutiert, wie man Informationen verstecken kann, und wie diese vor Entdeckung gesichert werden können. Es ist jedoch manchmal wünschenswert, die Stego-Objekte nicht abzufangen, sondern nur die eingebettete Information unbrauchbar zu machen.
- Beispielsweise können versteckte Informationen leicht überschrieben werden, dabei muss man sie nicht mal unbedingt erkennen, sondern man bettet einfach neue Informationen ein.
- Versteckte Informationen können jedoch auch in freiem unbenutzten Platz von Dateien eingebettet werden, daher sollte hier an den üblichen Stellen noch nachgeschaut werden (Headers).
- Ähnlich ist es mit TCP/IP-Paketen, in deren Header auch Informationen versteckt werden können, auch hier ist es ein leichtes, diese zu überprüfen (Bsp: Firewalls können so umkonfiguriert werden, dass sie auch die Headers überprüfen)
- Das Unbrauchbar machen von versteckten Informationen in Bilder ist sehr einfach, solange Bit-Planes-Methoden (LSB) angewendet wurden.
- Hier müssen nur die verwendeten LSB's durch einen kleinen Prozess verändert werden, ohne das natürlich das Cover-Bild verzerrt wird (JPEG-Kompression, ...)
- Bei Domain-Transformations-Methoden muss etwas mehr Aufwand betrieben werden. Durch Kombinationen von Verzerren, Beschneiden, Rotieren und Verwischen wird genügend Verzerrungen erzeugt, um versteckte Informationen unbrauchbar zu machen (Beispiele hierfür in Kapitel 6 und 7)
- Mit solchen Verfahren kann man auch die Robustheit einer eingebetteten Information testen.
- Hier wurde ein Einblick in die Steganalyse gegeben und gleichzeitig die Schwächen der Steganographie aufgeführt. Diese Schwächen können ausgenutzt werden, um versteckte Informationen aufzuspüren.
- Steganographie wird kommerziell als Copyright-Informationen oder Besitz von elektronischen Mediendateien benutzt, dabei hilft die Steganalyse durch Untersuchungen dieser eingebetteten Informationen, die Robustheit zu untersuchen und zu verbessern.
- Daher hilft die Steganalyse auch dabei, stärkere Techniken zu finden, um solche Informationen robuster einzubetten.