Author

Topic: Steganographie (Read 590 times)

legendary
Activity: 1624
Merit: 2481
June 21, 2020, 08:02:05 AM
#9
Robust dagegen, dass ein späteres auslesen des Secret auch durch Veränderung des Bildes noch möglich ist.
Wenn ich schon KYC machen muss, dann möchte ich auch gerne etwas im (Perso)Bild verstecken. Sollte das Bild irgendwo anders auftauchen, vielleicht mit anderem Namen und Geburtsdatum, dann hätte ich gerne sowas wie ein transparentes Wasserzeichen o.ä als Secret im Bild versteckt, so dass ich das gegenchecken kann. Und dieses transparente Wasserzeichen als 2. Layer (Ebene) im Bild, welches im Hintergrund versteckt ist. Das Secret sollte dann z.B. lauten: "Upload am 30.02.2020 zu blablabla". Und das wiederholt sich über das ganze Bild.

Habe sonst überlegt, Stereogramme zu nutzen. Also Secret ist versteckt und wenn dann das Halbbild als Lösungsmaske rübergeschoben wird, dann wird das Secret sichtbar. Aber da muss ich mal etwas rumspielen.


Das hättest du gerne auch gleich erwähnen können  Grin
Steganographie im Sinne von Informationen verstecken und so ein Wasserzeichen werden zwar auf eine ähnliche Weisen realisiert, haben aber unterschiedliche Ziele und daher auch andere Herangehensweisen.

Es gibt Algorithmen die sehr robust sind. Damit kannst du recht einfach ein unsichtbares Wasserzeichen einsetzten. Und mit einem Geheimen Schlüssel oder dem Originalbild kannst du das Wasserzeichen dann wieder auslesen.

So etwas wird aber häufig für Copyright Zwecke oder Datenerhebungen (e.g. wie oft wurde Werbebild X auf FB geteilt) verwendet.


Das wird dich ja nicht direkt davor schützen, dass Quatsch mit deinem Persobild gemacht wird. Wenn es dann hart auf hart kommt, kannst du aber selbstverständlich vor Gericht dennoch beweisen dass da ein Wasserzeichen drin ist.
Aber die andere Frage ist.. was hindert dich denn daran ein Wasserzeichen einzusetzten was sagt "KYC für ... Upload 2016" und das dann heute zu verwenden. Später könntest du dann einfach behaupten, dass das Bild 2016 für etwas ganz anderes gemacht wurde.
Ich denke so etwas würde rechtlich nicht viel bringen.

Besser wäre es, finde ich, ein sichtbares Wasserzeichen zu verwenden.
Da aber viele keine bearbeiteten Bilder annehmen wollen, hilft da eig. fast nur ein kleiner Zettel mit dem Datum und Grund des Bildes quasi quer über den Ausweis gelegt ohne wichtige Informationen zu überdecken. Aber denn noch so, dass man es nicht einfach herausschneiden kann.
Da kannst du ja quasi nicht betrügen. Niemand würde das Bild heute annehmen wenn da steht "2016.. für X".


TLDR:
  • Digitale Wasserzeichen (unsichtbar) sind an sich eine schöne Sache. Die sind robust und können nicht einfach gelöscht werden. Bringen dir hier leider, meiner Meinung nach, nicht viel.
  • Sichtbare digitale Wasserzeichen lassen sich sehr einfach mithilfe von einer einfachen KI entfernen. Bringt also auch nicht so viel.
  • Zettel quer über das Bild, sodass man es nicht raus schneiden kann, aber dennoch genug Informationen für den Service bei dem du dich registrierst willst zeigt, halte ich für die beste Methode.
legendary
Activity: 2660
Merit: 2229
https://t1p.de/6ghrf
June 20, 2020, 03:25:23 PM
#8
Da hängt es ganz genau davon ab, gegen was es Robust sein soll.

Eine JPG Konvertierung kann schon mal einiges kaputt machen.
Mit einem "Pinselstrich" drüber malen, auf jedenfall auch. Damit veränderst du das Bild ja und zerstörst Informationen.

Bezüglich des 2. Layers, kann ich dir leider nichts konkretes sagen.
Wie fügt Gimp das Layer denn hinzu? Und was für ein Layer? Lässt sich das ohne Probleme wieder extrahieren und auslesen?
Robust dagegen, dass ein späteres auslesen des Secret auch durch Veränderung des Bildes noch möglich ist.
Wenn ich schon KYC machen muss, dann möchte ich auch gerne etwas im (Perso)Bild verstecken. Sollte das Bild irgendwo anders auftauchen, vielleicht mit anderem Namen und Geburtsdatum, dann hätte ich gerne sowas wie ein transparentes Wasserzeichen o.ä als Secret im Bild versteckt, so dass ich das gegenchecken kann. Und dieses transparente Wasserzeichen als 2. Layer (Ebene) im Bild, welches im Hintergrund versteckt ist. Das Secret sollte dann z.B. lauten: "Upload am 30.02.2020 zu blablabla". Und das wiederholt sich über das ganze Bild.

Habe sonst überlegt, Stereogramme zu nutzen. Also Secret ist versteckt und wenn dann das Halbbild als Lösungsmaske rübergeschoben wird, dann wird das Secret sichtbar. Aber da muss ich mal etwas rumspielen.
legendary
Activity: 1232
Merit: 1255
June 19, 2020, 03:00:38 PM
#7
Danke. Die guck ich mir dann mal als nächstes an.
Schau dir mal steghide an.
Ist vermutlich eines der bekanntesten Tools.

Um zum Beispiel ein .txt file in ein .img file einzubetten genügt der Befehl:
Code:
  $ steghide embed -cf picture.jpg -ef secret.txt
-cf ... (coverfile) Datei in der Daten versteckt werden sollen
-ef ... (embedfile) Datei die versteckt werden soll

Wenn du die Daten wieder extrahieren möchtest:
Code:
  $ steghide extract -sf picture.jpg
-sf ... (stegofile) file angeben, das die Daten beinhaltet

Ein detaillierteres manuel gibts hier.
legendary
Activity: 1624
Merit: 2481
June 19, 2020, 07:54:44 AM
#6
Danke. Kannte Kali Linux noch gar nicht. Ist aber sehr interessant. Mit den beiden vorgestellen  Methoden funktioniert es ziemlich einfach. Was aber leider nicht funktioniert ist, sobald das Bild mit dem Secret nachbearbeitet wurde (beschnitten, Pinselstrich drauf), ist auch das Secret weg.

Kali Linux ist ne Distribution zum Pentesting.
Alle Tools die dort vorinstalliert sind, gibt es auch so für Linux zum herunterladen/installieren.

Du benötigst also wirklich nicht Kali um Stego anzuwenden.



Die einfachste Methode wäre das LSB (least significant bit) der Bitmap als dein Trägermedium zu nutzen.
Häh?

Jeder Pixel wird durch 1 Byte in den verschiedenen Farbkanälen dargestellt.
Dieses Byte gibt an wie hell das Pixel in diesem Farbkanal sein soll.

Beispiel:
10100100 würde dem Helligweitswert 164 entsprechen.

Jetzt kannst du herangehen und bei jedem Pixel das least significant bit (das rechteste bit) als Träger für deine Information verwenden.

Damit änderst du den Helligkeitswert maximal um 1. Das Bild wird danach also für das menschliche Auge nicht anders aussehen.


Das ist so die "klassische" Art Stego in Bildern anzuwenden.
Dazu sollte man eig. einige Pythonscripts u.ä. finden.



Ich suche etwas, bei dem das Secret auch nach weiterer Veränderung  des Bildes vorhanden bleibt. Vielliecht bei Gimp das Secret als 2. Layer drauf und dann verbinden?

Die Robustheit ist so ne Sache.
Da hängt es ganz genau davon ab, gegen was es Robust sein soll.

Eine JPG Konvertierung kann schon mal einiges kaputt machen.
Mit einem "Pinselstrich" drüber malen, auf jedenfall auch. Damit veränderst du das Bild ja und zerstörst Informationen.

Bezüglich des 2. Layers, kann ich dir leider nichts konkretes sagen.
Wie fügt Gimp das Layer denn hinzu? Und was für ein Layer? Lässt sich das ohne Probleme wieder extrahieren und auslesen?
legendary
Activity: 2660
Merit: 2229
https://t1p.de/6ghrf
June 18, 2020, 04:29:09 PM
#5
Ich habe das für Linux gefunden (Kali).
https://www.blackmoreops.com/2017/01/11/steganography-in-kali-linux-hiding-data-in-image/

evt. hilft dir das ja weiter.
Danke. Kannte Kali Linux noch gar nicht. Ist aber sehr interessant. Mit den beiden vorgestellen  Methoden funktioniert es ziemlich einfach. Was aber leider nicht funktioniert ist, sobald das Bild mit dem Secret nachbearbeitet wurde (beschnitten, Pinselstrich drauf), ist auch das Secret weg.

Aber hier 2 online Tools um das schnell durchzuspielen.
Danke. Die guck ich mir dann mal als nächstes an.

Die einfachste Methode wäre das LSB (least significant bit) der Bitmap als dein Trägermedium zu nutzen.
Häh?


Ich suche etwas, bei dem das Secret auch nach weiterer Veränderung  des Bildes vorhanden bleibt. Vielliecht bei Gimp das Secret als 2. Layer drauf und dann verbinden?
legendary
Activity: 1624
Merit: 2481
June 18, 2020, 04:11:05 AM
#4
Die einfachste Methode wäre das LSB (least significant bit) der Bitmap als dein Trägermedium zu nutzen.
Also entweder Daten verschlüsseln oder nicht -> dann in einen Bitstring umwandeln -> LSB der einzelnen Pixel dementsprechend ändern.

Das fällt nicht auf, da das LSB kaum was an der Farbe/Helligkeit ändert.

Diese Methode ist recht alt und bekannt. Kann also leicht erkannt werden.

 

Geht sowas auch mit Gimp [...]

Wenn Gimp es zulässt die einzelnen Bitwerte der einzelnen Farbkanäle zu bearbeiten, dann ja.
staff
Activity: 2534
Merit: 2706
Join the world-leading crypto sportsbook NOW!
June 16, 2020, 01:54:39 PM
#3
Interessantes Thema. Eine FAQ mit allen relevanten Infos konnte ich auf die Schnelle nicht finden.
Aber hier 2 online Tools um das schnell durchzuspielen.

https://stylesuxx.github.io/steganography/
https://www.geocachingtoolbox.com/index.php?lang=de&page=steganography

So kann direkt mal en- und decode Test (nach Änderungen vom Bild) getestet werden Smiley
legendary
Activity: 2483
Merit: 1482
-> morgen, ist heute, schon gestern <-
June 16, 2020, 01:12:13 PM
#2
Ich habe das für Linux gefunden (Kali).
https://www.blackmoreops.com/2017/01/11/steganography-in-kali-linux-hiding-data-in-image/

evt. hilft dir das ja weiter.
legendary
Activity: 2660
Merit: 2229
https://t1p.de/6ghrf
June 16, 2020, 09:12:13 AM
#1
Zunächst einmal suche ich ein Programm bzw. Tutorial um ein Text in ein Bild zu verstecken -> Steganographie. Im Internet gibt es zwar einiges an Software, aber wie sicher ist sie? Geht sowas auch mit Gimp oder kann jemand eine gute sichere Software empfehlen.

Zur Steganographie aber auch gleich die Frage: Ist das entschlüsseln auch möglich, wenn das Bild durch den Empfänger verändert worden ist? Zum Beispiel in seiner Größe beschnitten wurde oder ein Waserzeichen rübergelegt wurde?
Jump to: