Valid HTML 4.01 Transitional

forpix - Software zur forensischen Erkennung affiner Bilddateien

Inhalt

> Kurzbeschreibung
> Welche Methodik liegt forpix zugrunde?
> Quellen (download)
> Technische Unterstützung
> forpix-Tutorium

Kurzbeschreibung

Mit forpix lassen sich affine Bilddateien erkennen. Die Software wurde für den Einsatz in der Kriminaltechnik konzipiert. In Anbetracht der zunehmenden Untersuchung von Massendaten wird damit der digitalen Forensik ein Werkzeug zur Verfügung gestellt, mit dem sich die Effizienz der kriminaltechnischen Untersuchung im Bereich der Erkennung manipulierter Bilddateien bedeutend steigern lässt. forpix steht kostenfrei zur Verfügung.

Welche Methodik liegt forpix zugrunde?

Um die Methodik vorzustellen bietet es sich zunächst an die Notwendigkeit einer solchen Software zu beschreiben: Von Bilddateien bzw. Dateien im Allgemeinen lassen sich eine Art Fingerabdruck in Form sogenannter kryptologischer Hash-Werte erstellen. In der Praxis haben diese Werte die Eigenschaft eindeutig zu sein. Ist daher ein Hash-Wert zu einem bestimmten Bild bekannt, so kann dieses Bild in einer großen Menge anderer Bilder vollautomatisiert und eindeutig alleine anhand des Hash-Wertes identifiziert werden. Dabei bedarf es keiner semantischen Wahrnehmung des Bildinhaltes durch einen Menschen. Diese Methodik ist fester und insbesondere elementarer Bestandteil einer effizienten kriminaltechnischen Untersuchung.

Aufgrund des Lawineneffekts, eine erforderliche Besonderheit kryptologischer Hash-Funktionen, führt bereits eine minimale Bildveränderung zu einer drastischen Veränderung des Hash-Wertes. Zudem muss die Bildveränderung für einen Menschen nicht erkennbar sein. Obwohl das Original und das manipulierte Bild für einen Menschen praktisch identisch sind, trifft das für die Hash-Werte in keiner Weise mehr zu. Die o. g. forensische Anwendung zur Identifizierung wird daher im Falle affinier Bilder wirkungslos.

In der Software forpix werden von mir im Rahmen einer Master-Thesis beschriebene Algorithmen verwendet, die der Wirkungslosigkeit kryptologischer Hash-Werte entgegenstehen: Gradient-Hash, Histogramm-Hash und DCT-Hash. Mit dieser Methode wird der Umstand ausgenutzt, dass einem Täter trotz Bildmanipulation an dem Erhalt bestimmter Bildinhalte gelegen ist und dadurch ebenfalls der Kontrast, die Farb- und Frequenzverteilung graduell erhalten bleiben. Die Algorithmen erzeugen anhand dieser Bildmerkmale robuste Hash-Werte. Diese Hash-Werte verändern sich bei einer Manipulation des Bildes entweder gar nicht oder nur moderat, analog zum Grad der Bildmanipulation. Aus einem Vergleich dieser Hash-Werte eines bekannten Bildes mit denen einer großen Menge anderer Bilder können nun affine Bilder trotz Bildmanipulation vollautomatisiert erkannt werden.

Die einzelnen Algorithmen wurden entsprechend verschiedenartiger Bildmanipulationen, die sich auf unterschiedliche Art auf Bilder auswirken, auf die Verarbeitung spezieller Bildeigenschaften abgestellt. Die Bildeigenschaften sollen sich gegenüber diesen Manipulationsarten als robust erweisen. Mit einer Adaption des Beurteilungsverfahrens biometrischer Identifizierungssysteme wurde für eine Auswahl häufig auftretender Manipulationsarten die Wirksamkeit der Erkennung affiner Bilddateien erbracht. Aus der unten stehenden Matrix geht hervor, welche affinen Bilddateien sich nach diesem Beurteilungsverfahren mit welchen robusten Hash-Typen erkennen lassen, nach dem die Bilder auf die genannte Art und Weise manipuliert wurden. Bei der Aufzählung der untenstehenden Manipulationsarten handelt es sich nur um eine kleine Auswahl. Sie sollen die unterschiedlichen Wirkungsweisen verschiedener Manipulationsarten verdeutlichen und die Notwendigkeit der Betrachtung unterschiedlicher Bildmerkmale. Zusätzlich wurde mit der Anwendung des Beurteilungsverfahrens gleichzeitig die Wirksamkeit dieser Methode wissenschaftlich bewiesen.

Mit forpix lassen sich ebenfalls affine Bilddateien erkennen, die auf vielfältig andere Art und Weise manipuliert wurden.

Manipulationsart Gradient-Hash Histogramm-Hash DCT-Hash
Dateiformatkonvertierung
Verlustbehaftete Bildkompression
Rotation
Skalierung
Überlagerung
Zuschnitt
[...] [...] [...] [...]


Im Folgenden ein erläuterndes Beispiel, wie sich die Ähnlichkeitserkennung zwischen einem Referenzbild und einer großen Anzahl weiterer Bilder mit forpix Version 2.05 darstellt (zur Vergrößerung klicken):


Quellen (download)

Der Autor dieser Software haftet nicht für Schäden an Soft- oder Hardware oder Vermögensschäden, die durch das Benutzen der untenstehenden Software entstehen, es sei denn diese beruhen auf einem grob fahrlässigen oder vorsätzlichen Handeln des Autors.
forpix
 >>> Aktuelle Implementierung: ~ 180 MB
forpix 2.08 JVM 32 Bit (für Windows 32/64-Bit Betriebssysteme mit installierter Java Virtual Machine 32 Bit)
forpix benötigt die vorherige Installation von Java RE in der Version 8 (32 Bit) oder in einer höheren Version. (Java RE 32 Bit ist kompatibel zu 32/64-Bit-Betriebssystemen.)
Sie erhalten Java auf den Web-Seiten von Oracle.
 >>> Master-Thesis: ~ 5 MB
Die der Software forpix zugrunde liegenden Algorithmen wurden im Rahmen einer Master-Thesis beschrieben, mit dem Thema:
"Entwicklung und Implementierung von Algorithmen zur maschinengestützten Erkennung von manipulierten Bilddateien auf der Basis von Merkmalsvektoren."
 >>> Vortrag: ~ 1 MB
Prinzipielle Mechanismen in der Erkennung manipulierter Bilddateien


Technische Unterstützung

Anfragen können über das Kontaktformular gestellt werden. Gerne beantworte ich Fragen zur Ausführung des Programms. Da die Bearbeitung in meiner Freizeit erfolgt, kann es sein, dass ich nicht sofort und am selben Tag antworte. Ich freue mich auch über Rückmeldungen zu Programmfehlern.

Tutorium für forpix in der Version 2.05

Folgendes Tutorium beschreibt die Bedienung des Programms "forpix", bestehend aus folgenden Schritten:
  1. Erstellung einer Bilddatenbank.
  2. Durchführen eines automatisierten Vergleichs eines Referenzbildes mit denen aus der Datenbank.
  3. Sichten der affinen Bilddateien.
  4. Erstellen eines Berichtes mit relevanten Bilddateien.
Im Tutorium nicht beschrieben wird u. a. die Möglichkeit bereits erstellte Datenbanken einzubinden.

Schritt Erklärung Darstellung (zum Vergrößern klicken)
1. Zur Erstellung einer neuen Datenbank ist im Menü "Datenbank" der Eintrag "Erstellen..." auszuwählen.
2. Anschließend ist der Name der Datenbank festzulegen. Die Auswahl legt gleichzeitig das gleichnamige Wurzelverzeichnis fest, in dem sämtliche Daten gespeichert werden, die zur Datenbank gehören.

Wenn sich zu einem späteren Zeitpunkt forpix mit einer Datenbank verbinden soll, so ist dazu in der Menüführung das Verzeichnis mit dem zuvor gewählten Namen anzugeben.
3. Nachdem die (noch leere) Datenbank erstellt wurde, können Bilddateien analysiert und das Ergebnis zusammen mit den Bilddateien in der Datenbank gespeichert werden. Dazu ist im Menü "Bild" der Eintrag "Importieren..." auszuwählen.
4. In der daraufhin erscheinenden Benutzermaske können folgende Angaben vorgenommen werden:
  • der Name der Person, die den Import vornimmt,
  • die Kennung des Vorgangs,
  • die Kennung des Asservates, von dem die zu importierenden Bilddateien stammen,
  • Sprachen, der in den Bildern zu erkennen Texte (Vorsicht, verlangsamt den Analyseprozess merklich) und
  • der Verzeichnispfad, in dem sich die zu importierenden Bilddateien befinden.
Bis auf den Verzeichnispfad, in dem sich die zu importierenden Bilddateien befinden, sind sämtliche Angaben optional.

Begonnen wird der Analyse- und Importvorgang durch betätigen der Taste "Start".
5. Während des Imports wird der Fortschritt angezeigt. In dem Feld für die Ereignisanzeige erfolgen Meldungen zu Dateien, die keine oder korrupte Bilddateien sind.
6. Wurde der Import beendet, wird eine Statistik über den Erfolg des Imports angezeigt. Weitere Informationen können der Log-Datei im forpix-Programmverzeichnis entnommen werden.
7. Nachdem sich Bilddateien in der Datenbank befinden, kann eine Referenzbilddatei ausgewählt werden, um Ähnlichkeiten zwischen dieser Datei und denen aus der Datenbank festzustellen. Die Referenzdatei wird ausgewählt, indem im Menü "Bild" der Eintrag "Vergleichen..." ausgewählt wird.
8. Wie bei den zuvor in die Datenbank zu importierenden Bilddateien, können auch bei der Analyse der Referenzdatei optional Sprachen vorgegeben werden, um Texte in diesen Sprachen in dem Bild erkennen zu können. Obligatorisch ist die Auswahl der Referenzdatei über die Auswahl eines Dateipfads.

Begonnen wird der Analyse- und Vergleichsvorgang durch betätigen der Taste "Start".
9. Anschließend beginnt der Analyse- und Vergleichsvorgang. Die einzelnen Phasen des Fortschritts werden dazu im Dialogfeld angezeigt.
10. Nach dem Ende von Import und Vergleich wird die Ähnlichkeit in Form einer Distanz und weiteren Metadaten zu den Dateien aus der Datenbank aufgelistet. Ein Distanzwert von "0" zeigt die maximale Ähnlichkeit zwischen zwei Dateien an. Je größer der Distanzwert, umso unähnlicher sind zwei Bilddateien.

Hier wird eine Auflistung von Bilddateien aus der Datenbank nach Ähnlichkeit auf der Basis des Gradient-Hash angezeigt (blauer Hintergrund). Weitere Listen ähnlicher Bilder finden sich zum Histogramm-Hash (grüner Hintergrund) und DCT-Hash (roter Hintergrund).
11. Wurden beim Import und Vergleich die Texterkennung aktiviert, werden ggf. die Einträge in der Ergebnistabelle farblich hinterlegt, dessen Textinhalte ab einem gewissen Grad mit dem Textinhalt des Referenzbildes übereinstimmen. Der Übereinstimmungsgrad wird durch folgende Farbkodierung angezeigt:

ÜbereinstimmungFarbkodierung
ab 0 %ohne
ab 10 %Gelb
ab 30 %Grün
ab 90 %Dunkelgrün

Hinweis:
Wurde bei der Texterkennung die "automatische Wortüberprüfung" aktiviert, werden nur Wörter in dem Bild erkannt, die in einem in forpix eingebundenen Wörterbuch hinterlegt wurden. Wörter, die durch die Texterkennung falsch erkannt wurden (z. B. "W0rt" statt "Wort" oder "5tift" statt "Stift") werden mit Wortüberprüfung verworfen und ohne Wortüberprüfung als "W0rt" und "5tift" erkannt.

Die Wörterbücher basieren bei der englischen und der deutschen Sprache auf den Inhalten der Wikipedia. Die restlichen Wörterbücher sind nicht sehr umfangreich. Die Wörterbücher können mit eigenen Inhalten ergänzt oder ersetzt werden. Es wird empfohlen die Texterkennung nur für bestimmte Zwecke zu aktivieren. Beispielsweise beim Import und Vergleich von als Bilddateien vorliegenden Textseiten.
12. Bevor nun mit dem visuellen Vergleich des Referenzbildes mit denen aus der Datenbank begonnen wird, empfiehlt es sich als erstes das Referenzbild einzublenden. Dazu ist die Schaltfläche "Referenzbild" zu betätigen.

Die Darstellung des Referenzbildes kann während des gesamten visuellen Vergleichs eingeblendet bleiben. Als Referenz wurde in diesem Beispiel das Bild einer Ente auf einer Wiese ausgewählt.
13. Im Folgenden empfiehlt es sich mit der Maus (Einfach-Klick!) die einzelnen Einträge aus der Ergebnistabelle von oben nach unten auszuwählen und die Darstellung mit dem Referenzbild zu vergleichen.

Der erste Eintrag mit dem Distanzwert von "6" zeigt bereits ein zur Referenz affines Bild, das offensichtlich manipuliert wurde, in dem der Entenkopf mit dem Rasenmuster überlagert wurde. Unterhalb des dargestellten Bildes aus der Datenbank werden die zu dieser Bilddatei analysierten Daten angezeigt.
14. Die Auswahl des zweiten Eintrages mit dem Distanzwert von "38" zeigt bereits ein recht unähnliches Bild.
15. Als Neuerung ab forpix 2.00 wird die Darstellung der Bilder in einer Galerie angeboten. In der Galerie werden die ähnlichsten Bilder gleichzeitig aufgeführt, die auf der Basis der 3 robusten Hash-Werte (farblich hervorgehoben durch blau, grün und rot) festgestellt wurden.

Zu einem Vorschaubild werden Metadaten angezeigt, wenn mit der Maus über das Bild gefahren wird. Es werden die Distanz und Asservatenbezeichnung (soweit im Zuge der Bildanalyse vom Benutzer angegeben) und der Dateipfad angezeigt.
16. Um ein Bild oder mehrere Bilder einem Bericht hinzuzufügen ist der Eintrag entweder in der Galerie (hier zu sehen) oder in einer der 3 Listen zu markieren. Anschließend ist im Menü der Menüeintrag "Markierte hinzufügen" auszuwählen. Danach befindet der oder befinden sich diese Bildeinträge in der Berichtstabelle.

Werden markierte Bilder einem Bericht hinzugefügt werden automatisch die in den Tabellen und der Galerie zuvor gesetzten Markierungen entfernt.
17. Wechselt man nun zum Tabulator "Bericht" wird der zuvor hinzugefügte Eintrag aufgelistet. Mit dem zuvor beschriebenen Vorgehen können gleichzeitig zu unterschiedlichen Referenzbildern mehrere Bildeinträge aus der Datenbank zu einem Bericht zusammengestellt werden.

Der Bericht im HTML-Format wird letztendlich durch den Menüeintrag "Bericht erstellen..." erstellt.
18. Die Darstellung des HTML-Berichts. Ein Klick auf die Bildvorschau (stets im JPEG-Format) öffnet das Originalbild im ursprünglichen Dateiformat.