--- title: Sicherheit in Multimediasystemen --- :::info **Howto hackmd** Inzwischen sind wir mehrere, die an diesem Dokument Veränderungen vornehmen können, daher folgen ein paar Konventionen. Ergänzenden Infos und neue Kapitel dürfen gerne von jedem eingefügt werden. Wenn ihr Fragen habt oder etwas unklar formuliert ist, dann notiert bitte von wem die Frage ist. Am besten auch an wen. Für letzteres könnte ein @user praktisch sein. Dann kann man Strg+F nach @meinname machen und sehen ob man etwas gefragt wurde. Aktuell mögliche Namen: - ... --- Kommentare am besten in der Form > trollolol ... > (Eintippen von [] sollte das Autocomplete aktivieren und die Eingabe vereinfachen) > [name=BM][time=Tue, Jul 23, 2019 11:46 AM] --- Für verbesserte Sichtbarkeit oder Meta-Informationen/Fragen am besten Info-Box drum machen. ::: | Thema | Zusamengefasst | | ---------------------------------- | -------------- | | VL1: Grundlagen | ja | | VL2: Verschlüsselung | ja | | VL3: Verschlüsselung p.2 | ja | | VL4: Kopierschutz und DRM | ja | | Steganographie und Steganalyse | ja | | Steganalyse und Wasserzeichen | ja | | Robuste Hashverfahren | ja | | Manipulationserkennung in Bildern | ja | | Ballistik und NSFW-Erkennung | ja | | Bildforensik | nicht klausurrelevant | | File Carving und Sexting Erkennung | nicht klausurrelevant | [toc] # VL 0: Motivation Mögliche Anwednungsgebiete von MMS: - **Desinformation:** Fake News, Bilder werden verändert und sollen Aufsehen erregen - **Urheberrecht:** Verwendung geschützter Inhalte, bpsw. Bilder, in privaten Anzeigen - **Privatheit:** Bilddaten sind häufig aussagekräftiger als man denkt (EXIF Info) - **Zivile Sicherheit:** Hatespeech Erkennung, Versicherungsbetrug durch Bilder Erkennung # VL1: Grundlagen ## Definitionen - Sicherheit - Safety (Umgebungssicherheit) vs Security (Angriffstoleranz): Vorschlag der GI #### Schutzziele - **Authentizität:** Echtheit oder Glaubwürdigkeit eines Objekts - **Integrität:** Unversehrtheit von Informationen und Daten - **Vertraulichkeit:** Verhindert, dass unberechtigte Dritte auf Daten zugreifen können. Wahrung von Geheimnissen - **Anonymität:** Oft gemeinsam mit Privacy. Verhindern der Identifizierung von Personen, die nicht identifiziert werden wollen. - **Zugriffsschutz:** Kontrolle des Systemzugangs - **Verbindlichkeit:** Prüfung der Authentizität der Parteien und Integriät der Daten durch dritte Partei (non-repudiation). - **Verfügbarkeit aka Zuverlässigkeit:** Sicherstellen des möglichen Zugriffs auf Daten und Dienste. ## Digitale Medienformate Kategorisierung möglich in: - Symmetrisch / Asymmetrisch (Aufwand beim (De-)Komprimieren) - Verlustbehaftet / Verlustfrei - Intraframe / Interframe (Sind Frames einzeln darstellbar oder sind komprimierte Frames vom vorherigen abhängig?) Am häufigsten trifft man asymmetrische Intraframe-Formate an. Weitere Bildcharakteristiken sind: Pixeldichte (in dpi) und Farbtiefe. Eine Farbtiefe von 24 bit bezeichnet bspw, dass in einem RGB-Farbraum jeweils 8bit pro Kanal genutzt werden. #### JPEG-Kompression 1. In YC~r~C~b~-Farbraum transformieren. _Y = Grundhelligkeit, C~r~ = Blau-Gelb Farbigkeit, C~b~ = Rot-Grün Farbigkeit)_ 2. C~r~C~b~-Kanäle verkleinern. _Das menschliche Auge kann Unterschiede in der Helligkeit deutlich feiner wahrnehmen als Farbunterschiede._ 3. Blockbildung (8x8). _Auf diesen Blöcken werden jegliche Operationen durchgeführt._ 4. Berechnung DCT-Spektrum. _DCT = Diskrete Cosinus Transformation. Sie stellt den Anteil bestimmter Frequenzen am Gesamtbild dar. Diese Transformation ist invertierbar (das bedeutet auch sie ist verlustfrei) indem die DCT-Koeffizienten mit einer gewichtenden Funktion multipliziert werden und auf das Bild addiert werden. Der erste Koeffizient C~0~ stellt die mittlere Helligkeit des 8x8 Blocks dar._ 5. Quantisierung _Die Matrix der DCT-Koeffizienten wird durch eine Quantisierungsmatrix geteilt. Diese Division nullt einige der höheren Koeffizienten. Dieser Schritt ist verlustbehaftet._ 6. Zickzack-Abtastung 7. verlustfreie Kompression _Die Koeffizienten werden im Zickzack abgetastet und in dieser Reihenfolge kodiert durch Lauflängen-Kodierung und Huffman-Kodierung. Der erste Koeffizient hat eine Differenz-Kodierung zum vorherigen 8x8 Block._ *[Huffman-Kodierung]: Eine Form der verlustfreien Entropiekodierung mit variabler Symbollänge. Sie kodiert häufiger auftrende Zeichen mit kürzeren Bitstrings. *[Lauflängen-Kodierung]: Eine Form der verlustfreien Entropiekodierung, die besonders gut Sequenzen von identischen Symbolen kodiert. Bei einer (zu) starken Kompression hat die Quantisierungstabelle viele hohe Werte in den hohen Frequenzen und viele Frequenzanteile werden zu Null. Dies äußert sich im Verlust vieler Details. #### MPEG Ist ein Datenformat, kein Kompressionsverfahren. Spezifiziert Syntax und Semantik des Bitstroms, nicht wie Encoder oder Decoder zu arbeiten haben. ![](https://i.imgur.com/5uyCM6b.png) - Wahlfreier Zugriff ist möglich, orientiert sich an den Intra-Frames. - Da in einem Video viele Pixel gleich bleiben wird oft nur ein Bewegungsvektor gespeichert. #### Audio-Kompression Abhängig von der Frequenz ist unterschiedlich viel Energie notwendig um einen Ton zu erzeugen. ![](https://i.imgur.com/kj7OBu1.png) Auch gibt es Maskierungseffekte. Laute Töne übertönen leisere Töne mit nah benachbarter Frequenz. ![](https://i.imgur.com/NaE2K2l.png) Dieser Effekt funktioniert nicht nur in die Zukunft sondern auch kurzzeitig in die Vergangenheit. Dies ist so erklärbar, dass eine gewisse Zeitspanne vergehen muss, bevor ein Ton vom Ohr und Gehirn als solcher wahrgenommen werden kann. ![](https://i.imgur.com/4LMsZKv.png) Einige Charakteristiken von Audiodaten sind: Abtastrate (Hz), Auflösung (Bit), Zahl der Kanäle, Spieldauer (s), Datenrate (kBit/s), die maximale Frequenz, der Dynamikumfang (leise...laut), räumlicher Klangeindruck (Mono, Stereo, Surround 5.1,...) Auch bei Audiodateien sind wieder verschiedene Darstellungen möglich und üblich. ![](https://i.imgur.com/0FDdX3Q.png) #### MP3 Die Kodierung bei MP3 durchläuft folgende Schritte ![](https://i.imgur.com/feA2l2K.png) Besonders bei MP3 ist, dass sich der Header regelmäßig wiederholt. Wie oft das geschieht variiert aber von Datei zu Datei. ![](https://i.imgur.com/WPpPtgV.png) # VL2: Verschlüsselung Gewöhnliche Verschlüsselung ist oft ungeeignet für Medien (bspw. zu rechenaufwendig). Es reicht für gewöhnlich die Medien nur teilweise zu verschlüsseln um sie unkenntlich zu machen. Dennoch gilt: Kryptographie endet beim Benutzer (analoge Umgehung ist immer möglich). Beispiele: - Robuste vs. kryptographische Hashes - Hash vs. Feature - Verschlüsselung: Partiell vs. vollständig **Anwendungsbeispiele:** - _Partielle Verschlüsselung:_ Relevante Anteile werden unkenntlich gemacht. - _Transparente Verschlüsselung:_ Lediglich Qualitätsverminderung bei Wahrung relevanter Anteile. Technisch sind beide das gleiche. Der Unterschied liegt in der Anwendung. Beiden gemein ist, dass die Header erhalten bleiben (die Datei bleibt abspielbar). ## Video Verschlüsselung unterschiedlich hoher DCT-Koeffizienten möglich, je nach gewünschtem Effekt. ### Methoden #### Permutation nach Kunkelmann 1. Auswahl des Schwellenwerts (bspw. n=23) 2. Alle DCT-Koeffizienten bis/ab dem Schwellenwert werden permutiert (je nachdem ob partielle oder transparente Verschlüsselung gewünscht) #### Permutation von DCT-Koeffizienten Insgesamt 64 DCT-Koeffizienten werden permutiert. Dies ergibt 64! mögliche Permutationen. Nachteile: - Entropiekodierung weniger gut anwendbar; Vergrößerung der Dateigröße um 20-40% - Permutation anfällig für statistische Analysen, da 0. DC Koeffizient oft der größte Wert ist ### Angriffe Je nach Wertigkeit eines Bits ist dieses unterschiedlich relevant für die Darstellung des Bildes. Manchmal werden nur bestimmte Bit-Ebenen ersetzt um ein Rauschen zu erzeugen. #### Replacement Attack Ersetzen von Krypto-Rauschen durch schwarze Flächen / Nullen. Dadurch lassen sich Muster und Formen erkennen, da der Großteil eines Bildes aus weichen Übergängen von Grauwerten besteht. Die MSBs sind gleich in diesen Bereichen. ![](https://i.imgur.com/Odq6bYO.png) ![](https://i.imgur.com/LZ4wScT.png) #### Reconstruction Attack Der Großteil eines Bildes besteht aus weichen Übergängen von Grauwerten. Die MSBs in diesen Bereichen bleiben auch bei Verschlüsselung gleich. Ein Suchfenster kann Bereiche von gleichen MSBs errechnen und Kantenerkennung darauf durchführen. #### Angriffe auf Permutationen **Annahme:** Der Angreifer kann bestimmte Bilder einschmuggeln, die auch verschlüsselt werden (bpsw. in einen Warenkorb). Dies resultiert in einem Chosen-Plaintext-Attack oder zumindest Known-Plaintext-Attack. **Durchführung:** Eine Permutation-Map lässt sich erstellen. Diese lässt bei größerer Bilderanzahl n, eine immer genauere Rekonstruktion von zukünftigen, unbekannten Bildern zu. ![](https://i.imgur.com/OQZtE6s.png) > Hätte jeder Pixel einen eindeutigen Wert, könnte man die Permutation eigentlich schon nach diesem ersten Bild (n=1) komplett aufheben. > Ein komplett einfarbiges Bild für das erste entschlüsselte jedoch wäre komplett unnütz. oder? > [name=NS] >> Sehe ich auch so. >> [name=BM][time=Tue, Jul 23, 2019 11:58 AM] ## Forensik und Datenschutz **Fragestellung:** Wer darf in einer Ermittlung auf gesammelte private Bilder zugreifen? **Ansatz:** Unterschiedliche Gesichter werden mit verschiedenen Schlüsseln verschlüsselt. Sie können also (nach Freigabe durch einen Richter) einzeln entschlüsselt werden. Die anderen bleiben unkenntlich. ## Hybride Verschlüsselung Die Art wie verschlüsselt werden soll ist nichttrivial. Die geringe Größe einer JPEG Kompression basiert u.a. auf einer Differenzenkodierung der DCT-Koeffizienten, die viele kleine Werte ergibt (verbrauchen wenige Bit). Eine Verschlüsselung der Koeffizienten führt aber dazu, dass diese kleinen Werte oft zu großen Werten werden, sodass mehr Bits zur Kodierung notwendig sind. Codefreundliche Verschlüsselung erhöht zwar die Dateigröße nicht, ist aber einfach zu rekonstruieren durch Replacement Attacks. ![](https://i.imgur.com/AhEytIb.png) Replacement attacks sind bei allen diesen Bildern möglich. Nur das 32-coefficients full encryption gesicherte bleibt unkenntlich. **Die Strategie:** Niedrige Frequenzen (N Koeffizienten): Full encryption Hohe Frequenzen (64-N Koeffizienten): Code-friendly encryption Das ergibt einen überschaubaren Zuwachs von Dateigröße, bei erschwerten Replacement Attacks. ![](https://i.imgur.com/JfgV84y.png) # VL3: Verschlüsselung p.2 ## Robuste Verschlüsselung Robuste Verschlüsselung ist eine Verschlüsselung, die robust gegenüber Operationen im verschlüsselten Zustand ist. **Motivation:** - A will B ein verschlüsseltes Bild über ein öffentliches Medium schicken (Whatsapp, Forum, etc.) - Das Medium skaliert allerdings alle Bilder automatisch - B soll das Bild öffnen können - Der Header des Bildes muss bestehen bleiben, da das Forum keine verschlüsselten Anhänge erlaubt **Varianten der Robusten Verschlüsselung** beinhalten als Ansätze: **Permutation**, **Rauschmuster** oder eine Kombination aus beidem. Sie können Robustheit gegen JPEG Kompression bieten, sowie Skalierung. Der naiver Ansatz (JPEG Koeffizienten mit AES-256 verschlüsseln) funktioniert nur bedingt. Das Format stimmt zwar noch aber selbst kleine (Übertragungs-)Fehler führen zu großen Störungen. ![](https://i.imgur.com/ISs2UW9.png) Eine Alternative bieten **Chaotic-Map (CM) Algorithmen**. Das hier vorgestellte Beispiel heißt 2DCatMap. Es bietet: - Schlüsselabhängige Permutation von Pixeln in mehreren Iterationen - Diffusion von Pixelwerten durch pseudozufällige Werte (zum Schutz vor KPA-Angriffen) ![](https://i.imgur.com/JiZrOcX.png) 2DCatMap enthält einen **Kompromiss zwischen Sicherheit und Robustheit**. Man hatte versucht die robuste Verschlüsselung noch sicherer zu machen (bspw. durch Diffusion von Koeffizienten auf Nachbarkoeffizienten). Dies erhöhte aber die Fehlerpropagation und die Qualität sank. ![](https://i.imgur.com/CvzS4Ga.png) ### Kacheln als robuste Verschlüsselung Kacheln garantieren eine robustere Verschlüsselung. Allerdings enthält JPEG einen Weichzeichnungsfilter, der bei einer Operation auf einem Bild mit permutierten Kacheln die Ränder verzerrt und unschöne Artefakte ergibt. Das lässt sich zu einem gewissen Preis lösen. Man lässt Sicherheitsränder und wählt die Kacheln kleiner. Das ergibt keine richtige Verschlüsselung, ist für die Praxis aber oft gut genug (_"Man sollte Puzzlesolver Algorithmen nicht überschätzen."_). Aber auch diese Variante ist nicht komplett verlustfrei. ![](https://i.imgur.com/M7B2E4T.png) ### Robuste Verschlüsselung durch Helligkeitsmuster Ein Zufälliges Muster von Hell-Dunkel Pixeln wird erstellt. Dieses wird quasi als One-Time-Pad auf ein Bild draufaddiert. Zum Entschlüsseln ist dann eine Subtraktion derselben Maske notwendig. Bei JPEG Kompression können allerdings bei diesem Verfahren Pixelfehler auftreten (weiße Pixel, nahe des 255-Werts, können zu schwarzen Pixeln nahe der 0 werden. Dies lässt sich vermeiden indem Werte nahe der 255 weggelassen werden und auf ein Maximum von bspw. 250 reduziert werden (siehe "limited"-Bild). Zu feine Patterns erzeugen sehr viele Artefakte. Ein Pattern der Größenordnung 16x16 ist aber i.d.R. kein Problem. Man sollte immer mit relativen Werten arbeiten. ![](https://i.imgur.com/hdyEy4o.png) ![](https://i.imgur.com/2hiqguU.png) ## Audio ### MP2 Welche Teile des MPEG-Audio Frames lassen sich verschlüsseln? - _Header:_ Datei wird nicht abspielbar. Außerdem kann der Header bei Kenntnis des MP2 Formats durch Probieren ermittelt werden. - _Audiodaten:_ - _Allokation und SFAI:_ Datenstrom wird falsch interpretiert. Alle Bitfehler in der verschlüsselten Datei wären katastrophal für Entschlüsselung. - _Abtastwerte:_ Datenstom bleibt abspielbar, allerdings machen Abtastwerte 90% der Datei aus. Es müsste sehr viel verschlüsselt werden. - _Skalenfaktoren:_ Datenstom bleibt abspielbar, Auswirkungen gut regelbar, nur ca 3% des Datenstroms müssen verschlüsselt werden. --> Wenig Verschlüsselungsaufwand Skalenfaktoren werden mit einzelnen Gruppen von Abtastwerten multipliziert um korrekten Energiewert eines Frequenzbandes zu erhalten. Jeder Skalenfaktor ist ein 6 Bit Integer Wert. Laut ISO MPEG Spezifikation darf ein Skalenfaktor nie 63 werden (ansonsten Verwechlsungsgefahr mit Header Syncword 2x 63). Die Verschlüsselung erfolgt nun durch pseudozufälliges Bitshifting der Skalenfaktoren (um ein Auftreten der 63 auszuschließen). Je nach gewünschter Stärke der Verschlüsselung können auch nur die jeweils $n$ niederwertigsten Bits verschlüsselt werden. ### MP3 In der Methode von Steinebach et al. wurde der LAME Codec (eine Adaption von MP3) modifiziert. Dabei geschieht die Ver- und Entschlüsselung bei der Umwandlung von WAV in MP3 und zurück, zusammen mit dem Encoding. Verschlüsselt werden wieder die Skalenfaktoren bzw. die Skalenfatoren Kompressionstabellen. Diese Form der Verschlüsselung von Skalenfaktoren erzeugt kaum Overheadkosten. ## Visuelle Kryptographie Man stellt ein Bild so dar, dass 2 Folien übereinander gelegt werden müssen um das Originalbild zu erhalten. Es gilt also: Schlüssel = Besitz aller Folien. ### Naor-Shamir ![](https://i.imgur.com/iz7NlYQ.png) Großer Vorteil: Man muss hierbei nicht auf dem Computer entschlüsseln. Man kann eine verschlüsselte Datei verschicken und dem anderen eine semitransparente Folie zukommen lassen. Dieser hält sie vor den Bildschirm und entschlüsselt dadurch. Dem Computer muss überhaupt nicht vertraut werden. Nachteile: - Bildqualität sinkt - Folien können gestohlen werden - Distribution von Folien ### Andere Beispiele für visuelle Kryptographie: - Pin-Tastenfeld bei dem die Nummern "zufällig" getauscht werden - Halb weiße / halb schwarze Kreise, die überinander gelegt werden sollen. Darstellung von Graustufenbildern als Ansammlung solcher Kreisausschnitte statt Pixel - "Halftoning": Verschiedene farbige Muster, die übereinander gelegt werden um bspw. bestimmte Farben/Muster zu ergeben. - Ebenfalls möglich: Drei Bilder zu Zweien (mit sichtbarem Rauschen kombinieren). Übereinanderlegen ergibt drittes Bild. ![](https://i.imgur.com/YrrjK7p.png) ## Recap Partielle Verschlüsselung: - Identifizierung und Verschlüsseln relevanter Medienanteile - Relevanz abhängig von Schutzziel Robuste Verschlüsselung: - Schwache Verschlüsselung - Resistenz gegen z.b. verlustbehaftete Kompression - Verschlüsselung von Medien vor gestörten Übertragungskanälen Visuelle Verschlüsselung: - Verschlüsselung von Informationen, die dann als Medium verbreitet werden - Prinzip eines One Time Pads - Hohe Sicherheit bei korrekter Anwendung Alles drei wird heutzutage sehr selten verwendet. Es handelt sich hier eher um eine akademische Disziplin. # VL 4: Kopierschutz und DRM ## Geschichte des Kopierschutzes Thema Kopierschutz wird immer wichtiger. Während es bei Vinyl und CD so gut wie ignoriert wurde, war es bei der Formatwahl von BluRay ausschlaggebend. ### Sergeant Pepper Vinyl Die Beatles ließen ein "Spoiler Signal" in ihre Platten integrieren, das beim Kopieren für eine Interferenz sorgte und so einen hörbaren tiefen Ton erzeugte. Fail, weil Signal von Plattenspielern mit der Zeit abgeschliffen wurde. ### CD: Erste Generation CDs basieren auf dem RedBook Standard. Sie können leicht ohne Qualitätsverlust kopiert werden (im Gegensatz zu Kassetten/Vinyl). Verhindern des Kopierens mit absichtlichen Fehlern, damit das Kopierprogramm den Inhalt nicht richtig kopieren kann. $\rightarrow$ Nicht wirksam und viele Nachteile. ### CD: Zweite Generation Trennung zwischen Audio/HiFi und Computer Sichtweise auf CD abhängig vom verwendeten Laufwerkstyp: * Audio: Innere Session (erste) * Computer: Äußere Session (letzte) Problem: Autoradios haben Computerlaufwerke. **Nie von unserem Stand ausgehen und danach Kopierschutz beurteilen.** Einfachster Angriff: * Suchen einer etwa zwei Millimeter breiten Trennlinie auf der CD * Mit einem Folienstift Trennlinie und Teile des äußeren Tracks markieren * Äußere DRM-Bereiche werden unlesbar Shift-Tasten-Trick: * Drücken der Shift-Taste während dem Einlegen der CD verhindert Autostart & dadurch Aktivierung des DRM ### CD: Dritte Generation * Sony XCP * Installiert Rootkit-artige Software um das Kopieren zu verhindern * XCP verschleiert seine Anwesenheit, bezieht im Hintergrund Updates und eröffnet Security-Vulnerabilities * Wurde eingestellt, da das Rootkit **auch von Hackern genutzt** wurde * **Verschlechterte PC Performance** * XCP führte zu erstem Cheat in WoW (die Verschleierungsfunktion wurde genutzt um den Cheat-Prozess zu verstecken) ### Kassetten DAT - Digital Audio Tape Verhinderung von Überspielung durch Setzen von "Copy-Bit". Teil des Serial Copy Management System. ### MiniDisc Kopierschutz durch Copy-Bit, wie bei Kasetten. ### DVD-Video * Ein Format von vielen * Enthält MPEG-Video * Oft geschützt durch Content-Scramble-System (CSS) #### CSS bei DVD-Video * 40-bit Schlüssel * DVD-Player * Hat einen Player Key * Liest disc-key-block und entschlüsselt mit Player-Key den Disk-Key * Liest Title Keys und entschlüsselt diese mit dem Disk Key * Title Keys entschlüsseln Inhalte ![](https://i.imgur.com/Udlxbvz.png) * Kryptoanalyse ermöglichte effiziente Angriffe * Dauer: 18 Sekunden auf Pentium-III mit 450MHz ### Disposable DVD DVD zerstört sich 48h nach Öffnen der Packung selbst (durch chemischen Prozess). Setzte sich u.a. aufgrund der Umweltbelastung nicht durch. ## Digital Rights Management * Medien in Crypto-Container verpacken * Verschlüsselte Medien und Lizenz separat bereit stellen * Benötigt Verbindung zu Lizensserver * Beispiel: Microsoft DRM ![](https://i.imgur.com/VM0MEmL.png) Spezialfall: DRM für Office-Dokumente. Diese können bspw. nur in Firmennetz geöffnet werden. Spezifikation mittel REL (Rights Expression Language) > * **Microsoft Rights Management Service** > - Integriert in Windows > - Besteht aus Client/Server Anwendung > - Nutzt PKI > - Rechte in XML definiert (XRML - Rights Expression Language) > - Erlaubt erstellen von geschützten Office Dokumenten (z.B. Word) > [name=Bi][time=Wed, Jul 24, 2019 4:05 PM] ### Angriffe auf DRM * Abfilmen * Dummy-Treiber, die bspw. eine Soundkarte emulieren und Daten direkt speichern. - Gegenmaßnahme: Secure Audio Path - Dabei wird nach dem Entschlüsseln und Dekomprimieren vom DRM kryptographisches Rauschen eingefügt. - Das Rauschen kann nur von einem im Kernel-Mode laufenden DRM-Treiber entfernt werden, nachdem dieser das Soundsystem authentifiziert hat ### DRM-Standards > * **MPEG-21** aka "Multimedia Framework" ist ein Standard zur Erzeugung, Produktion und Freigabe von Multimedien Inhalten > * Die Standard wird in 14 Teile geteilt. `Teil 5: Right Expression Language` und `Teil 6: Rights Data Dictionary` spezifizieren DRM > [name=Bi][time=Wed, Jul 24, 2019 4:15 PM] * Open Mobile Alliance (OMA) - OMA DRM 1.0 - Verschlüsseln von Inhalten - Schlüsseltransfer ungeschützt über XML - **OMA DRM 2.0** - Publiy Key Verschlüsselung - Integritätsschutz für Objekte - Rights Expression Language - Basierend auf ODRL - Ähnlich wie Microsoft DRM - Rechte und Daten können unabhängig verschickt/verteilt werden > - **Adobe ADEPT** (Adobe Digital Editions Protection Technology) ist eine Technologie integriert in dem Software von Adobe zum Betrachten von Ebooks, die mit DRM geschützt sind > - Angriff: Gebrochen durch Werkzeug, welches Schlüssel ausliest => Entschlüsseln > [name=Bi][time=Wed, Jul 24, 2019 4:24 PM] * **ODRL** (Open Digital Rights Language) - Ziel war: Standardisierte DRM Sprache schaffen - XML-basiert - Nutzungsrechte werden allgemein auf Objekten definiert - Möglichst eindeutig / intuitiv verständlich / umfassend - DRM System soll Beschreibung dann in technische Regeln umsetzen ![](https://i.imgur.com/xUp9Hpy.png) ### Android DRM DRM as a Service. Apps greifen auf ein DRM Framework API zu. Dieses kommuniziert mit dem DRM Manager, der wiederum spezifische DRM-Plugins (konkrete Implementationen) verwaltet. ![](https://i.imgur.com/EoTsoP5.png) ### Blu-Ray Disc DRM * Advanced Access Content System (AACS) - Verwendet 128-bit AES - Jeder Player hat eine Menge von Schlüsseln, mit denen er Content entschlüsseln kann - Wird ein Schlüssel korrumpiert, sollen zukünftige Medien diesen nicht mehr unterstützen - Erlaubt das Verfolgen von Kopien durch "Sequence keys" - Abhängig vom Schlüssel werden unterschiedliche Teile der Disk entschlüsselt - Wird eine Kopie geleakt, kann man auf den Schlüssel rückschließen - Managed Copy Konzept: Nach Kontakt zu Server (und dessen Bestätigung) soll Kopie erlaubt werden - Angriffe: - Ausspähen der Schlüssel aus dem Speicher von Software-Playern * BD+ - Virtuelle Maschine auf dem Player, die - sich selbst updaten kann - Integrität des Players prüfen kann - Inhalte entschlüsseln kann - Spezifikation nicht öffentlich - Durch AnyDVD 8 Monate nach Veröffentlichung geknackt Schlüssel können aus BluRay-Programmen ausgelesen werden. "Wettrennen" um die Schlüssel. ### Wasserzeichen * Audiowasserzeichen Cinavia - Einbetten von Wasserzeichen in Kinovorführungen und in Tonspuren - Wird ein Wasserzeichen aber kein Kopierschutz gefunden, geht man von einer illegalen Kopie aus - Stummschalten nach 20 Minuten - Alle Geräte, die seit 2012 verkauft wurden, müssen Wasserzeichendetektor unterstützen - Abgefilmte Kinofilme können so nicht auf BluRays gebrannt und angesehen werden - Angriffe: - Entfernen des Wasserzeichens ($\rightarrow$ Qualitätsverlust) - Hacken der Abspielsoftware - AnyDVD ## Resümee * DRM benötigt * Verschlüsselung von Inhalten * Authentifizierung von Nutzern oder Geräten * Manipulationsschutz * Sichere Wiedergabekanäle * Realisiert oft durch enge Integration in Betriebssystem bzw. Bindung von Inhalten an Geräte. * Es wird üblicherweise gebrochen durch: - Ausspähen von Schlüsseln - Abgreifen von entschlüsselten Inhalten - NICHT mehr durch Brechen der Krypto Akzeptanz bei geliehenen Medien ist vorhanden. Bei gekauften Medien mit DRM gibt es viel Kritik. _"Ist mein gekauftes E-Book mit DRM noch in 10 Jahren lesbar? (Wiedergabegeräte)"_ # Steganographie und Steganalyse Steganographie ist ein Teilgebiet der Kryptologie (so wie Kryptographie). Dessen Ziel ist es geheime Nachrichten in harmlosen Nachrichten verbergen, so daß ein Angreifer nicht erkennt, daß eine zweite geheime Nachricht präsent ist. Sicherheitsziel: Vertraulichkeit ## Geschichte / Beispiele - _Ave Maria Code:_ Jedes Wort steht für einen Buchstaben. Wenn abwechselnd Hauptwort und Eigenschaftswort genommen wird, erweckt der Text den Eindruck eines Gebets. - _Al-Quaida "Kick Ass" / "Sexy Tanja":_ Wichtige Infos waren in Porno versteckt. - _Rechenbeispiel:_ Die LSBs eines 20MP Bildes ergeben 7,4 MB. Die Bibel in ASCII hat 1,3 MB. - _Spam Mimic:_ Verwandelt Nachrichten in Spam-Nachrichten in denen der Ciphertext drin ist. - _Jeremiah Denton:_ US-Soldat blinzelte das Wort "TORTURE" in Morse-Code auf einem Video, das vom Vietnam verbreitet wurde. - _Microdot:_ 1mm großer Punkt, der einen stark verkleinerten Text "als Stempel" enthält. - _Yellow Dots:_ Laserdrucker drucken kaum sichtbare gelbe Punkte auf jede Gedruckte Seite. Identifizierung von Gerätenummer möglich. EFF warnt. - _F5:_ Dazu später mehr. ## Steganalyse LSB-Ebenen sind nicht so zufällig wie sie scheinen. ![](https://i.imgur.com/upUhQaY.png) Run = Sequenz von Bits mit gleichem Wert. Sequenz 000 = Run 0 der Länge 3. ![](https://i.imgur.com/4r60747.png) Die Anzahl der Runs pro Bild varriert allerdings. ### Statistische Analysen Gewöhnliche Verteilung von JPEG Koeffizienten in einem Bild: ![](https://i.imgur.com/4lxdSDt.png) Zwei Zusammenhänge sind erkennbar: 1. Koeffizienten mit größerem Betrag sind seltener 2. Der Unterschied in der Häufigkeit der Koeffizienten wird kleiner, je größer der Betrag (Unterschiede zwischen 7 und 8 sind kleiner als zwischen 0 und 1) Wenn das LSB (oder der niedrigste Koeffizient) immer nur ersetzt wird, dann treten häufig Bitwerte auf, die nebeneinander sind und sich nur im LSB unterscheiden. Das kann man erkennen $\rightarrow$ Plausible deniability verschwindet. ### Gegenmaßnahmen Verstehen der Annahmen der Steganalyse führt dazu, dass man Verfahren entwerfen kann, die diese nicht befriedigen. Bspw.: LSB-Steganographie erzeugt Rauschen. Verbesserte Steganographie vermeidet Rauschen. Möglichkeiten: - Lokale Masken, Eignung von Pixeln bewerten - Zufällige Auswahl von n Pixeln pro zu kodierendem Bit - Bitwert = Parität aller LSBs der Pixel ## Jsteg, F3, F4 **Jsteg** ersetzt die LSBs aller DCT-Koeffizienten mit der einzufügenden Nachricht. Dabei werden Koeffizienten $\in \{0,1\}$ übersprungen. **Problem** ist, dass sich im Histogramm alle Koeffizienten außer 0 und 1 paarweise annähern also erkennbar wird, dass eine Nachricht vorhanden ist. **F3** ersetzte daher die LSBs nicht mehr, sondern dekrementierte den Wert des DCT-Koeffizienten (außer 0). Wenn "Schwund" entstand (eine 1 wurde zu 0), musste das Bit nochmal eingebettet werden. Das **Problem** ist, dass der Schwund ebenfalls im Histogramm nachweisbar ist (1. Es werden mehr 0en als 1en eingebettet und 2. Es werden mehr gerade als ungerade Werte eingebettet während Bilder ohne Nachricht mehr ungerade als gerade Koeffizienten enthalten) **F4** beseitigt beide Probleme von F3 indem negativen Koeffizienten der invertierte steganographische Wert zugeordnet wird. Ein weiterhin bestehendes **Problem** ist aber, dass die Nachricht (sofern sie nicht die maximale Kapazität nutzt) nur in einen Teil der Datei eingebettet wird. **F5** beseitigt das Problem indem es F4 durch eine permutative Spreizung und Matrixkodierung erweitert. ## F5 - Nimmt JPEG-Bild als Trägersignal - Positive Koeffizienten werden erniedrigt, negative werden erhöht, 0-Koeffizienten übersprungen. - Steganographischer Wert: - gerade (positive) Koeffizienten stehen für eine 0: - ungerade (positive) Koeffizienten stehen für eine 1 - negative Koeffizienten jeweils invertiert - _Beispiel anhand der 2:_ Entweder eine 2 wurde nicht encodiert, oder eine 3 wurde encodiert ![](https://i.imgur.com/0CZgxrz.png) - _Schlüsselabhängige Permutation:_ Führt zu gleichmäßiger Verteilung der Information über das gesamte Bild hinweg. - _Matrixkodierung:_ Wenn der größte Teil der Kapazität eines Steganogramms ungenutzt bleibt, verringert die Matrixkodierung die Anzahl notwendiger Änderungen. Wenn von $n$ vorliegenden Bits nur $k$ Bits kodiert werden sollen, dann lässt sich das mit dem Switch von nur einem Bit erreichen. Bspw. $n=3, k=2\!:$ ![](https://i.imgur.com/JpeT8PM.png) Wenn man wenig Änderungen durchführen möchte ist es also effizienter festzuhalten welches Bit geändert wird, damit der der Code da steht, als den Code stumpf reinzuschreiben. ![](https://i.imgur.com/cHyXRNb.png) > Algorithmus Falsch beschrieben. Laut paper https://www.riverpublishers.com/journal_read_html_article.php?j=JCSM/8/3/4#sec1 > - **Algorithmus**: Es werden über die DCT-Koeffizienten iteriert. Wenn DCT-Koeffizient: > - = 0 oder LSB = `Bit to embed` => überspringen > - \> 0 => Minus 1 > - < 0 => Plus 1 > - **Wiederholen diese Vorgang den nächsten Koeffizient, wenn Ergebnis = 0** > - ![](https://i.imgur.com/I3eqBj4.png) > [name=Bi][time=Thu, Jul 25, 2019 12:52 AM] >> Ich verstehe dein Argument nicht ganz. Sicher, dass deine Beschreibung nicht vom F4 oder F3 Algorithmus ist? >> 1. In deinem verlinkten Paper (Section 1) hab ich nichts dazu gefunden. >> 2. Das von dir verlinkte Bild widerspricht deiner Argumentation und unterstützt meine oder? ^^. Siehe bspw. anhand von den DCT-Koeffizienten 5, 2 und 3: >> - 5 und 3 sind ungerade, daher verhalten sie sich gleich. Wenn eine 0 codiert werden soll, werden sie erniedrigt, wenn eine 1 codiert werden soll bleiben sie gleich. >> - Die 2 verhält sich anders weil es ein gerader Wert ist. Sie wird erniedrigt wenn eine 1 codiert werden soll und bei einer 0 wird sie nicht verändert >> - Bei den negativen Werten wird das Verhalten wieder getauscht. Also ungerade negative Werte werden bei einer codierten 1 erniedrigt. >> - Das ist doch genau was ich (in Kurzform) beschrieben habe oder? >> >> Was beudetet bei dir 'bit to embed'? @Bi >> [name=BM][time=Thu, Aug 1, 2019 12:25 PM] >>> Wir beschreiben genau das gleiche wenn ich mir jetzt noch mal durch lese >>> Ich beschreibe wie der Algorithmus abläuft, und du beschreibt wie man die stega Nachricht ablesen kann >>> `Bit to embed` ist der Bit, was man einbetten möchtet. >>> - Demnach, wenn das LSB der DCT-Koeffizient = `Bit to embed` => ist fertig, man muss hier nichts ändern und kann zu dem nächsten `Bit to embed` springen >>> - Ansonstens, erhöht man das wenn Koeffizient negativ ist und erniedrigt das wenn Koeffizient positiv ist >>> [name=Bi][time=Thu, Aug 1, 2019 1:02 PM] >>>> Okay, das ist ja schonmal nice. Und erstmal props für die Abstraktion von `LSB == bit to embed`. Allerdings stimmt das nur für die positiven Werte. Im Zweierkomplement gilt laut Wiki: >>>> `1 = 001` >>>> `-1 = 111` >>>> Damit hätten sie das selbe LSB, müssen sich aber anders verhalten. ## Angriff auf F5 Angriff auf F5 erschienen. Erkennt ob eine Nachricht enthalten ist oder nicht. Angriff vergleicht Histogramm mit dem Histogramm einer um 4 Pixel(= DCT-Spalten) in beide Richtungen verschobenen Kopie desselben Bildes. Bei großen Unterschieden schließt man auf Veränderung. ![](https://i.imgur.com/VPWodcs.png) Nachrichten, die die Kapazität ausnutzen, können verhältnismäßig gut erkannt werden. Eine Erweiterung des Algorithmus erschwert/verhindert die Detektion deutlich indem die Richtungen der Änderungen variiert werden, um Häufungen zur Null hin zu verhindern. # Steganalyse und Wasserzeichen [Quelle Q1](https://www.riverpublishers.com/journal_read_html_article.php?j=JCSM/8/3/4#sec17) Erkennung von Steganographie im Internet ist immernoch fehlerbehaftet (13%-25% kombinierte Fehlerquote). - Instagram: 12,4 Mio. daily false alarms - Snapchat: 225 Mio. daily false alarms ## Angriffe auf Stego ### Double Embedding > The approach is centered around the statistical changes that occur when a secret message is embedded into the same image multiple times. With F5 the distribution of the values of the DCT coefficients change when embedding a sufficiently long message. When a message is embedded into a randomly selected sample image multiple times, the number of DCT coefficients with the value 0 increases, as every iteration lowers the values of the positive and raises the value of the negative coefficients. This effect can be maximized by using as much of the image message capacity as possible. > [Q1] Doppeltes Einbinden einer steganographischen Nachricht in Cover Image. Bei voll ausgenutzter Kapazität und Nutzung des F5 Algorithmus ändern sich max 50% aller Bits / Koeffizienten. Wenn zwei mal eine Nachricht eingebettet wird, steigt dieser Wert auf > 50%. Die $\beta$-Werte (=$\beta$-Fehler) für Bilder mit einfach eingebetteter Nachricht sind < 0.5. Bei zweifach eingebundenen ist das höher. Das kann man erkennen. _FPR (False positive rate) 1,3%;_ _FNR: 38%._ Die _TPR_ ist stark abhängig von der genutzten Kapazität. Es gilt bei $Cap_{used}=0.93 \Rightarrow TPR=93\%$ $Cap_{used}=0.30 \Rightarrow TPR=2,4\%$ ### Capacity Estimation > The Capacity Estimation Attack utilizes the way in which the relation between the file size of an image and its available payload capacity changes when a F5 message has been embedded. Depending on the used image resolution and JPEG quality, this attack strongly reduces the number of false negatives as there is a very distinct change in the distribution of these values. > > We built an estimator for the capacity of both stego and non-stego images based on image size and collected data. Then we run a test comparing the actual capacity with both estimators. Schätzen der Kapazität basierend auf der Bildgröße. Testen anahand des Einbettens einer Nachricht und Vergleich der Kapazität. _FPR: 30%_ _FNR: < 1%_ ### Network Wide Monitoring Wir betrachten das Szenario, dass ein Provider (bspw. Instagram) erkennen möchte ob seine Nutzer vermehrt Stego-Nachrichten verschicken. Da die Apps nutzerseitig nicht kontrolliert werden können, findet beim Bildupload eine Überprüfung statt mithilfe des _Double Embedding Attack_. Die folgende Grafik zeigt die Wahrscheinlichkeit dafür, dass ein Nutzer $\mathcal X$ fälschlicherweise als Stego-Nutzer eingestuft wurde (= False Alarm / False Positive), sofern bei ihm $n=1..5$ Bilder als Stego-Nachrichten vom Erkennungsalgorithmus klassifiziert wurden. Das Limit von einem möglichen False Positve per day (FP/d) wird dabei unterschritten ab 4 erkannten Bildern. ![](https://i.imgur.com/iQkJ4wQ.png) *Bild: Wie viele Bilder müssen bei einem Nutzer als Stego-Bilder klassifiziert werden bevor man ihm unterstellt Stego-Nutzer zu sein, wenn man maximal einen False Positive per day haben möchte, bei einer Kapazität von $Cap_{used}=0.93$* Bei einer Kapazität von $Cap_{used}=0.3$ wären 10 positive Bilder erforderlich. Mit dem _Capacity Estimation Attack_ wären es 16. Um nun herauszufinden wie viele Bilder dafür insgesamt untersucht werden müssten, sind noch zwei weitere Variablen notwendig: - Das Normal-zu-Stego Image Verhältnis $R_{stego}$ - Die False Negative Rate des Klassifizierungsverfahrens Insgesamt ist die Leisung des Capacity Estimation Attacks besser (deutlich besser bei niedriger Kapazität, nur leicht schlechter bei hoher Kapazität). ### Targeted Monitoring Das zweite Szenario ist, dass Behörden eine verdächtige Person bereits identifiziert haben. Es gibt also weniger Bilder, die überprüft werden müssen, gleichzeitig stehen weniger Bilder bereit und die Anforderungen an false negatives sind höher, da diese eher verhindert werden müssen. Der _Capacity Estimation Attack_ eignet sich besser dafür, da er weniger false negatives produziert. Es müssten **6 aus 10 Bildern** als Stego-Images erkannt werden um eine hinreichende Genauigkeit zu erhalten. ## Wie sicher ist Steganographie? **Probleme:** - Durch automatisches leichtes Stören kann die Kommunikation unterbunden werden - Der naive Schlüsselraum ist sehr begrenzt **(Teil-)Lösungen:** - M wird verschlüsselt / Nicht jeder Punkt wird genutzt, sondern nur pseudozufällig gewählte - Redundanz / Error Correction Codes / Änderung von Höheren Bitwerten im Original $\rightarrow$ Redundanz ## Wasserzeichen Steganographische Techniken finden Anwendung bei der Erstellung von digitalen Wasserzeichen. Ein Wasserzeichen ist: - ein transparentes / nicht wahrnehmbares Muster / Signal - Muster / Signal repräsentiert Information - Es gibt einen Einbettungsprozess E (_Watermark Embedding_) und einen Abfrageprozess R (_Watermark Retrieval_). Für beide wird ein Schlüssel K benötigt. **Einordnung:** ![](https://i.imgur.com/p5dDrFN.png) **Anwendungsgebiete:** - Urheberidentifizierung (Authentifizierung) - Kundenidentifizierung (Authentifizierung) - Annotation des Datenmaterials - Durchsetzung des Kopierschutzes oder Übertragungskontrolle - Nachweis der Unversehrtheit (Integritätsnachweis) Dementsprechend existieren viele (z.T. gegenläufige) Eigenschaften: Robustheit, Sicherheit, Invertierbarkeit, ... **Abgrenzung zu:** _Sichtbaren Wasserzeichen_: Deutlich sichtbares Logo im Bild. Verwendet von bspw. Fernsehsendern und Bilddatenbanken. ![](https://i.imgur.com/WePUWWf.png) ### Sicherheit - Informationen können nicht ermittelt, gelesen und/oder von unberechtigten Dritten abgeändert werden - No security by obscurity: Algorithmus ist bekannt. **Problem:** - Sicherheit nur im Bildbereich teilweise erforscht - Forscher vertreten z.T. Meinung sichere Wasserzeichen wären nicht möglich, da viele als sicher geltende Verfahren gebrochen werden konnten. Industrie veröffentlicht Verfahren nicht. ### Grundlagen Verschiedene Strategien existieren aufgrund der Verschiedenheit der Rohdaten (bspw. Textdateien enthalten kein echtes Rauschen) #### LSB Wasserzeichen Einbetten der Information durch Ersetzen des LSB analog zu Steganographie. Hohe Datenrate, niedrige Komplexität, keine Robustheit. ![](https://i.imgur.com/PLlVEup.png) #### Einbetten von Rauschen Wasserzeichen wird durch Pseudorauschen dargestellt und auf das Trägersignal addiert. Mehrere Bits kodierbar durch Verwendung mehrerer Pseudorauschsignale. Nicht blind (= Original zum Auslesen benötigt) #### Statistische Verfahren Verändern von statistischen Eigenschaften des Trägersignals. Auslesen durch prüfen ebenjener (bspw. ob Eigenschaft über oder unter dem Durchschnitt ist). Oft werden Schwellwerte und logarithmische Werte genutzt um Robustheit zu erreichen. **Beispiel:** 2 Pseudozufällige Samples. Wenn $\sum(B) > \sum(A) \Rightarrow \text{"0" } else \text{ "1"}$. Eventuell Korrektur nötig. ### PCM Audiowasserzeichen Statistisches Verfahren. Wassserzeichen wird in unabhängigen Abschnitten eingebettet (Frames). Jeder Frame enthält ein Bit. Einbettung erfolgt im Frequenzspektrum. 1. FFT des Signals wird berechnet 2. Pseudozufälliges aufteilen der FFT-Bänder in Gruppe A und B 3. Die Gesamtenergie einer Gruppe in einem Frame ist das Kriterium. Zum Erreichen der Kodierung einer "0" oder "1" wird Energie minimal erniedrigt oder erhöht. 4. Maskierung (In welche Bänder wie viel eingebettet wird) wird durch Akustikmodell berechnet. 5. iFFT zum Erhalten des Ursprungssignals Das Differenzsignal besitzt nur geringe Energie. Die veränderten Frequenzbänder werden variiert (dies ist der geheime Schlüssel). ![](https://i.imgur.com/MMkk5j9.png) Es werden abwechselnd Sync-Signal und das eigentliche Wasserzeichen eingebettet. So entsteht Robustheit gegen Schneiden des Signals. Psychoakustisches Modell steuert wo wie stark abgeschnitten werden darf. Typischerweise Einbettung in mittles Frequenzspektrum mit Redundanz von 3-6 Frames pro Bit. Ergibt eine Kapazität von 1-10 Bit/s. ### Containertechnologie Steigerung der Einbettungsgeschwindigkeit bei vielen individuell markierten Kopien möglich. PCM Wasserzeichen bspw.: 70x Echtzeit. ![](https://i.imgur.com/gxsjM7H.png) Der Container erhält zu jedem Frame statt nur des originalen Audioframes auch die Differenzsignale zu einem encodierten 0-Bit und zu einem 1-Bit. ![](https://i.imgur.com/RZ5vowO.png) Zum Renderzeitpunkt muss also nur noch A~0~ oder A~1~ berechnet werden. Den Differenzsignalen wird eine Dynamik von 16 Bit zugeordnet. Diese wird nicht ausgenutzt. Daher bietet sich eine Kompression an ($\rightarrow$ speichern der Differenz zum nächsten Wert). In der Praxis kommt man so stattdessen mit 4 Bit aus. Das resultiert in einer Containergröße von 100% A (16b) + 25% D~0~ (4b) + 25% D~1~ (4b) $\Rightarrow$ 150%. ![](https://i.imgur.com/ymUjPUC.png) **Probleme:** Da jeder Kunde eine individuelle Datei erhält, funktioniert das Caching unter Umständen nicht. Die Verschlüsselung bei der der Übertragung sollte auch gewährleistet werden. #### Kryptocontainer Die Idee ist, dass die Kunden ein verschlüsseltes Medium erhalten, das dann mit einem individuellen Schlüssel entsperrt werden kann. Beispiel: Kurze Audiodatei mit 8 Frames. Jeder Frame im Container wird mit individuellem Schlüssel verschlüsselt (also auch die Differenzenkanäle). Der user bekomment einen individuellen Schlüssel um zu entsperren. ![](https://i.imgur.com/c9UcRaM.png) # Robuste Hashverfahren ## Definition: Passive digitale Fingerabdrücke Methode, um den Inhalt von Audiodateien im Vergleich zu identifizieren. Zu Beachten: - Passive Fingerabdrücke = Robuster Hash - Aktive Fingerabdrücke = Kunden-Wasserzeichen > _A robust audio hash is a function that associates to every basic time-unit of audio content a short semiunique bit-sequence that is continuous with respect to content similarity as perceived by the HAS (human auditory system)._ > $\rightarrow$ Jeder Zeiteinheit der Audiodatei wird eine Bitsequenz zugeordnet, die stetig ist im Bezug auf Ähnlichkeit, so wie sie vom Gehörsystem wahrgenommen wird ## Anwendungsgebiete - Intelligente Geräte, die auf Medien reagieren (Shazam, SmartTVs) - Filtern von Medien in Netzwerken (z.B. P2P) - Erkennen von Manipulationen an digitalen Medien **Beispiel 1:** Fingerprinting nach Philips-Art - 33 Frequenzbänder zwischen 300 Hz und 3000 Hz, ca eine Note (einen Halbton) breit, in logarithmischer Skala - 32 bit Hash für jedes Frame von 0,4 Sekunden ![](https://i.imgur.com/bpnKt8E.png) _$E\!B(n,m)$: Energy of band $m$ in frame $n$._ _$H(n,m)$: The $m$-th bit of the hash $H$ in frame $n$._ Die Bits hängen also von der Energie im aktuellen und nachfolgenden Band ab, innerhalb des aktuellen und vorherigen Frames. ![](https://i.imgur.com/rX7DWdr.png) _4 Musikstücke wurden den aufgelisteten Verarbeitungsschritten unterzogen. Die Tabelle listet, die Bit Error Rate (BER), die zwischen den robusten Hashes vor der Verarbeitung und den robusten Hashes nach der Verarbeitung existiert._ Wie man der Tabelle entnehmen kann, liegt die BER deutlich unter dem definierten Threshold von $\alpha = 0.25$ **Beispiel 2:** Fraunhofer AudioID - Basiert auf MPEG-7 Deskriptoren, einer Beschreibungssprache für Multimedia-Informationen - Unterteilung des Audiosignals in Frames - Gruppierung des Klangspektrums in $\frac1 4$-Oktaven aus dem Spektrum 250 Hz - 1000 Hz - Spektrale Gleichheit als Metrik (Spectrum Flatness LLD) _Spektrale Gleichheit:_ Quotient des geometrischen Mittels $g$ und arithmetischen Mittels $m$ der Energie in den Frequenzbändern $a_1, ..., a_n$. $$ \frac g m = \frac{\left(a_1 \cdot a_2 \cdot ... \cdot a_n\right)^\frac 1 n}{\frac1 n \cdot \left(a_1 + a_2 + ... + a_n\right)} $$ ![](https://i.imgur.com/DzPwCqG.png) _Gute Erkennungsleistung_ ## Sicherheit Wie sicher ("fälschungssicher") solche Fingerabdrücke sind ist noch Bestandteil der Forschung. > Kann man eine Datei so verändern, dass ihr Fingerabdruck der einer anderen Datei entspricht? Theoretisch ja. Ein Lösungsansatz dagegen wäre eine Permutation der zu vergleichenden Frequenzen mittels geheimem Schlüssel. **Unterschiede zu kryptographischen Hashverfahren** - Robuste Hashverfahren sind aufwendiger (bis zu Zeitfaktor 1000) - Weniger genau als kryptographische Verfahren (Fehlerraten akzeptiert) - Benötigen mehr Speicherplatz **Bekannte Verfahren** - DCT (Spektrum des Bildes) - Marr-Hildreth Operator (Kantenerkennung) - Radiale Transformation (Projektion) - Blockdurschnitt (Helligkeit von Blöcken) ## Blockhash ![](https://i.imgur.com/EaaGp9U.png) 1. Umwandlung in Graustufen 2. Skalieren auf 16 x 16 Pixel 3. Aufteilung in 8 x 8 Px Quadranten. Spiegelung, sodass Quadrant mit hellsten Punkten links oben. 4. Für jeden Quadrant Median berechnen 5. Hash zeigt an ob Pixel heller oder dunkler ist als der Median Hashgröße: 16x16 Pixel $\Rightarrow$ 256 Bit. **Problem:** Hash hängt stark von Strukturen ab. Beide beispielbilder hätten sehr ähnlichen Hash. Erst nach Aufteilung in 8x8 Blöcke werden die Hashes deutlich unterschiedlicher. ![](https://i.imgur.com/crD6FfT.png) **Vorteile:** - Auch sehr ähnliche Bilder erzeugen (leicht) unterschiedlichen Hash. - Große Robustheit gegen JPEG-Kompression / Spiegelung / Skalierung **Hamming-Distanz** entscheidet über die Ähnlichkeit von zwei Hashes. Eine Datenbankabfrage ergibt bspw. alle Bilder, die einen Hash haben, dessen Hamming-Distanz um weniger als 32 Bit vom gesuchten Hash abweicht. Doch, nicht jedes Hashbit ist gleich! Daraus resultiert das Konzept des Quantenhashes. Dieser berücksichtigt die Distanz der einzelnen Pixel zum Median. Die **gewichtete Hammingdistanz** berchnet sich: ![](https://i.imgur.com/PuHyDog.png) Sehr gute FRR (False Rejection Rate) / FAR (False Acceptance Rate) bei Kombination aus Hamming-Distanz und gewichteter Distanz. # Manipulationserkennung in Bildern **Anwendungsgebiete Image Forensics:** - Optimierung von Bildern aus Überwachungskameras (bspw. Rauschen) - Erkennung von Manipulationen in Bildern (passive-blind image forensics) - Zurückverfolgen von Quellen ## Methode: Erkennen von Manipulationen _Ausgangslage:_ Kein Original liegt vor, kein Hash eines Originals, keine Methode zur Wahrung der Integrität wurde genutzt. _Vorgehensweise:_ Modell eines nicht veränderten Bildes finden und Abweichungen errechnen. Der Erfolg der Methoden ist aber abhängig vom Angriffstyp. Beispiele: - Erkennen von identischen Stellen im Bild - Erkennen von statistischen Abweichungen ![](https://i.imgur.com/A8vdjz7.png) _Übersicht Bildmanipulation_ ## JPEG Tables Hersteller verwenden oft unterschiedliche JPEG Quantisierungstabellen (bspw. zur Optimierung). Selbst Fotoanzeigeprogramme haben teils unterschiedliche Tabellen für die selben Eigenschaften. Eine forensische Fragestellung ist: _Passt die Quantisierungstabelle zum Gerät?_ Das erlaubt es den Aufnahmegerätetyp zu identifizieren sowie eine eventuelle Bearbeitungssoftware. _Problem:_ Begrenzte Verlässlichkeit, da es sich einfach mit einer bekannten Tabelle verfälschen lässt. ## Double Compression Eine Rekompression ist nach einer Bildmanipulation unvermeidlich. Diese hinterlässt aber Spuren im Histogramm der DCT-Koeffizienten a) feine Kompression b) grobe Kompression c) erst grob, dann fein d) erst fein, dann grob ![](https://i.imgur.com/5b32Hc8.png) _Problem:_ Bei starker Kompression schwindet die Aussagekraft und Spuren gehen verloren oder können irreführend werden. Beispiel: 20MP Kamera und 3MP. ## Erkennen von Duplikaten Kopieren einiger Bildbereiche an eine andere Stelle ist eine übliche Form der Bildretusche. **Formen** _Copy/Move:_ - ohne/mit Skalierung - ohne/mit Rotation - ohne/mit Spiegelung _Block Matching:_ - DCT Koeffizienten - Block Merkmale - PCA (Principal Component Analysis) - ... ![](https://i.imgur.com/QVUE0tm.png) _Image Feature Matching:_ - Lokale Features (**SIFT / SURF**) - Features benötigen geometrische Invarianz - Matching mit Spiegelung notwendig ## Änderungserkennung Automatisches Erkennen von Änderungen: Verkleinern, Vergrößern, Rotieren. **Vergrößerung** geschieht durch eine Interpolation von Orignalpixeln. Der **Expectation-Maximization (EM)** Algorithmus berechnet für jeden Pixel die Wahrscheinlichkeit, dass er durch eine Interpolation von benachbarten Pixeln entstanden ist oder ob er von den Pixel unabhängig ist. Das Ergebnis ist eine **Probability Map (PM)**. Innerhalb dieser lassen zyklische Strukturen auf eine Skalierung schließen. ![](https://i.imgur.com/DlrUbVD.png) Bei einer **Verkleinerung** ist die Erkennung nicht trivial, da das Spektrum ab etwa 10% wieder verwischt und auch die Probability Map wieder normaler wird. Das liegt daran, dass bei Verkleinerung nicht immer Information interpoliert werden muss. ![](https://i.imgur.com/lBQDwqO.png) Bei **Rotation** zeigt das Spektrum deutliche Schwerpunkte. ![](https://i.imgur.com/4ZyZWIW.png) ## Kameraerkennung _Ziel:_ Rückverfolgung von digitalen Medien auf Ursprung ohne vorheriges Einbetten von Wasserzeichen und ohne Metainformationen. _Prinzip:_ Jedes Gerät hat eine Charakteristik, die sich in erzeugten Medien wiederspiegelt. Die Erkennungsgenauigkeit schwankt dabei von der Gerätelinie bis hin zum einzelnen Modell. Charakteristik wird bestimmt durch: - Fehler in Aufzeichnungsmechanismen (Chip in Kamera) - Fehler in Wiedergabemechanismen (Druckbild) - Rauschen der AD-Wandlung ### Rauschen von Bildsensoren Kamerasensor besteht aus **CCD-Array** (charged-coupled device). Jedes Pixel benötigt ein CCD Halbleiterelement. Innerhalb dessen wird Licht in elektronische Signale Umgewandelt (AD-Wandlung). Dabei entsteht Rauschen: **Statisches Rauschen** (abhängig von Bauungenauigkeiten), **Dynamisches Rauschen** (abhängig von Umwelteinflüssen, bspw. Temperatur). Im Sensor wird die AD-Wandlung vollzogen. Pixelfehler im Sensor führen zu **toten Pixeln** im Bild. Bei stärkerem thermischem Rauschen im Sensor tritt **DSNU** auf, wenn die Lichtempfindlichkeit der Sensorpixel unterschiedlich ist, **PRNU**. Diese Eigenschaften hinterlassen einen Sensor-Fingerprint, der für diesen Sensor charakteristisch und zeitlich konstant ist. ![](https://i.imgur.com/J2NfHwq.png) Es folgt ...ein Beispiel wie man diese Charakteristik erhält ? ![](https://i.imgur.com/vCsrA2z.png) Der **Vorgang** ist grob gleich. In jedem Fall wird das Verfahren mit mehreren Testbildern gefüttert aus denen es nach der Extraktion des Rauschens versucht ein Muster abzuleiten. Nach dieser Trainingsphase kommt die Testphase, bei der für ein konkretes Bild entschieden werden soll ob es von dieser Kamera gemacht wurde oder nicht. ![](https://i.imgur.com/7dUD4pL.png) #### Bewertung des Verfahrens In vielen Fällen sind sehr gute Ergebnisse ableitbar. Das Verfahren funktioniert z.T. auch auf Papierausdrucken. Da mit zunehmendem Alter mehr Pixelfehler auftreten lässt sich sogar der Zeitpunkt der Aufnahme abschätzen. Seine Limits hat das Verfahren insbesondere bei Bildern mit starker Textur. Dann ist der Fingerprint schwer zu berechnen. Auch kann der Fingerprint bei einem Einzelbild im Nachhinein gelöscht und ersetzt werden. Auch bei Aufnahme mit **Webcam** (mit niedriger Auflösung) und anschließendem Youtube-Upload funktionierte die Erkennung recht gut, wenn auch schlechter als bei hoher Auflösung. #### Sicherheit Ein einfacher und ein komplexerer Angriff sind möglich. Dadurch ist das obige Verfahren zur Zuordnung mit Vorsicht zu genießen. Im folgenden sind **A** und **B** zwei Personen, davon **A** der Angreifer. **A** könnte seinen eigenen und **B**s Fingerprint errechnen. Beim einfachen Angriff kopiert **A** den Fingerprint von **B** in sein eigenes Bild. Das Bild enthält nun beide Fingerabdrücke. Eine Korrelation mit beiden Geräten kann hergestellt werden. Beim komplexeren Angriff versucht **A** nach dem Erstellen eines Bildes den vorliegenden Fingerprint zu entfernen. Dies führt üblicherweise zu einer verdächtigen negativen Korrelation (die durch das Vorschalten einer Rauschunterdrückung vermindert werden kann). Danach erst wird der Fingerprint von **B** auf das Bild dazu addiert. # Ballistik und NSFW Erkennung > Der Kameraerkennung Teil gehört semantisch zum vorherigen Teilgebiet und wurde daher outgesourced. > [name=BM] Erkennung von **Sexting** ist ein komplexes Problem. Wir reduzieren es auf Erkennung von Nacktheit auf Bildern. ## Erkennung von Hautpixeln **Probleme:** - Viele verschiedene Hauttypen, Bräunungsgrade, Belichtungen möglich - Schwarz-weiß Bilder - Auch harmlose Bilder können viel Haut zeigen oder Sexts wenig **Möglichkeit:** Kombinierung mit Gesichtserkennung. Pixel im Nasenbereich werden zur Referenz für Hautfarbe. Das Problem verschiedener Belichtung und Bräunungsgrade bleibt. Gesichtserkennung ist auch manchmal unzuverlässig. ## Manuelle Sichtung von NSFW-Flagged content Kann verpflichtend sein. **Probleme:** - Riesige Datenmengen, Menschen machen mit der Zeit fehler, Konzentration sinkt. - Viel Arbeitszeit muss investiert werden **Ansatz:** - KNN (Künstliche Neuronale Netze) werden auf Erkennung von Nacktheit trainiert. - Ab >1 Millionen Trainingsdaten ist die Erkennungsrate gut (bis zu 99%) - Bekannte Beispiele von auch von Big Playern wie Yahoo, Clarifai - Sortierung nach Wahrscheinlichkeit des Enthaltens von NSFW-content bringt bessere Ergebnisse als binäre Klassifierung in _Enthält_ / _Enthält nicht_ Durchschnittliche Position des ersten relevanten Bildes bei Sortierung: ![](https://i.imgur.com/cNFYqYP.png) # Verlinkte Paper > Ich hab hier mal alle Paper aus den Folien zusammengetragen, deren Links funktioniert haben. Denke, das is als Übersicht praktisch um die einzelnen zu vertiefen. > [name=NS] > * Workshop, Sammlung verschiedener Paper zu Multimedia-Security * http://www.sigmm.org/archive/MMSec/mmsec98/workshop.pdf * Partial Encryption of video for communication and storage * https://pdfs.semanticscholar.org/2dad/95d1ef302d8489fd16fd53d19f5938ecbe8e.pdf * Selective Bitlane Encryption for Secure Transmission of Image Data in Mobile Enviroments * http://www.cosy.sbg.ac.at/~uhl/norsig_slides.pdf * Transmission Error and Compression Robustness of 2D Chaotic Map Image Encryption Schemes * http://wavelab.at/papers/Gschwandtner07a.pdf * (Paywall, vielleicht aus Uni-Netzwerk)Robust image obfuscation for privacy protection in Web 2.0 applications * https://www.semanticscholar.org/paper/Robust-image-obfuscation-for-privacy-protection-in-Poller-Steinebach/3575e6060855d5d592d429fc5af8c8e00be26e16 * Visual Cryptography * https://cs.uwaterloo.ca/~dstinson/visual.html * http://users.telenet.be/d.rijmenants/en/visualcrypto.htm * http://wscg.zcu.cz/wscg2002/Papers_2002/A73.pdf * Cryptoanalysis of Contents Scrambling System * http://wscg.zcu.cz/wscg2002/Papers_2002/A73.pdf * F5 * http://os.inf.tu-dresden.de/papers_ps/westfeld.vis01.pdf * Breaking: http://www.ws.binghamton.edu/fridrich/Research/f5.pdf * Digital Watermarking for MPEG Audio Layer 2 * https://private.sit.fraunhofer.de/~steineba/publikationen-Dateien/acm_mmws_99.pdf * Robust Audio Hashing for Content Indentification * https://pdfs.semanticscholar.org/7615/c9e0df48b1353ac67d483e349abb60f3635a.pdf * Digital Image Forensics * https://farid.berkeley.edu/downloads/tutorials/digitalimageforensics.pdf * Forensic Camera Classification: Verification of Sensor Pattern Noise Approach * https://pdfs.semanticscholar.org/3843/3641caf374a9d38c19fddf7c917f3ac7b36f.pdf Jede Übung bringt 2% der Klausurpunkte. Max 10% Bonus also. ###### tags: `2019` `Zusammenfassung` `TU Darmstadt` `recap` `multimedia` `security`