- DEDA ist ein Toolkit zum Lesen, Dekodieren und Anonymisieren von Document Colour Tracking Dots in Ausdrucken von Farblaserdruckern, also den gelben Punkten
- Document Colour Tracking Dots sind kleine systematische Punktmuster, die Informationen über Drucker und Ausdruck codieren, und sind in nahezu allen kommerziellen Farblaserdruckern integriert
- Tracking-Daten können aus Scanbildern gelesen oder verglichen, unbekannte Muster extrahiert und eigene Tracking-Dot-Matrizen zu PDFs hinzugefügt werden
- Die Anonymisierungsfunktionen entfernen einen Großteil der Tracking-Daten aus Scanbildern oder arbeiten mit druckerspezifischen Anonymisierungsmasken, die auf PDF-Dokumente angewendet werden
- Für gute Ergebnisse werden Eingangsscans mit verlustfreier Komprimierung, 300 dpi und neutralem Kontrast empfohlen; Schwarzweißseiten oder Tintenstrahlausdrucke enthalten möglicherweise keine Tracking-Punkte
Welches Problem DEDA adressiert
- Document Colour Tracking Dots oder gelbe Punkte sind kleine systematische Punkte, die Informationen über den Drucker und den Ausdruck selbst codieren
- Dieses Verfahren ist in nahezu allen kommerziellen Farblaserdruckern integriert
- Nahezu jeder Ausdruck enthält codierte Informationen über das Quellgerät, zum Beispiel eine Seriennummer
- DEDA bietet sowohl Funktionen zum Lesen und Dekodieren dieses forensischen Merkmals als auch Anonymisierungsfunktionen zum Schutz vor beliebigem Tracking
- Bei Nutzung der Software wird um Zitation des folgenden Papers gebeten
- Timo Richter, Stephan Escher, Dagmar Schönfeld, Thorsten Strufe. 2018. Forensic Analysis and Anonymisation of Printed Documents. IH&MMSec '18, 127-138. DOI: https://doi.org/10.1145/3206004.3206019
Installation und Start der GUI
- Die Installation von Python 3 ist erforderlich
- Installation über PyPI möglich
pip3 install --user deda
- Installation auch aus dem aktuellen Verzeichnis möglich
pip3 install --user .
- Als optionale Abhängigkeit für
deda_anonmask_applykann Wand unter Unix und GNU/Linux installiert werdenpip3 install --user wand- Ohne Wand können Seiten mit weißen Bereichen im Bild nicht anonymisiert werden
- Die GUI wird mit folgendem Befehl gestartet
deda_gui
Mögliche Aufgaben mit den Terminal-Tools
-
Tracking-Daten lesen
- Tracking-Daten können aus Scanbildern gelesen und in manchen Fällen dekodiert werden
- Für gute Ergebnisse sollten verlustfrei komprimierte Eingaben wie PNG, 300 dpi und neutraler Kontrast verwendet werden
- Ausführungsbefehl:
deda_parse_print INPUTFILE
-
Andere Drucker in einem Bündel gescannter Dokumente finden
- In mehreren gescannten Dokumenten lassen sich die Dokumente finden, die auf anderen Druckern ausgegeben wurden
- Ausführungsbefehl:
deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
-
Unbekannte Tracking-Muster analysieren
- Neue Muster werden von
parse_printmöglicherweise nicht erkannt - Für eine weitergehende Analyse können gelbe Punkte extrahiert werden
- Ausführungsbefehl:
deda_extract_yd INPUTFILE
- Neue Muster werden von
-
Eigene Tracking-Punkte erstellen
- Eine eigene Tracking-Dot-Matrix kann erstellt und einem PDF-Dokument hinzugefügt werden
- Der Inhalt wird gemäß
deda_create_dots -hals Parameter übergeben - Ausführungsbefehl:
deda_create_dots PDFINPUT
- Eine mit
deda_anonmask_create -werzeugte Kalibrierungsseite kann als Eingabe verwendet werden
Anonymisierungs-Workflow
-
Scanbilder anonymisieren
- Aus Scanbildern wird ein Großteil der Tracking-Daten entfernt
- Ausführungsbefehl:
deda_clean_document INPUTFILE OUTPUTFILE
-
Druckdokumente anonymisieren
- Das Dokument als PDF speichern und als
DOCUMENT.PDFablegen - Die mit folgendem Befehl erzeugte
testpage.pdfrandlos druckendeda_anonmask_create -w
- Das Dokument mit 300 dpi scannen und die verlustfreie Datei an folgenden Befehl übergeben
deda_anonmask_create -r INPUTFILE
- Dieser Schritt erzeugt
mask.json, eine Anonymisierungsmaske für den jeweiligen Drucker - Die erzeugte Maske auf das PDF anwenden
deda_anonmask_apply mask.json DOCUMENT.PDF
- Als Ergebnis entsteht das anonymisierte
masked.pdf, das mit auf 0 gesetzten Seitenrändern gedruckt werden kann - Mit einem Mikroskop sollte geprüft werden, ob die Maske die Tracking-Punkte des Druckers überdeckt
- Punktradius, x-Offset und y-Offset der Maske können über die Parameter von
deda_anonmask_applyangepasst werden - Wenn
DOCUMENT.PDFweiße oder helle grafische Bereiche enthält, können diese nur maskiert werden, wenn Wand installiert ist
- Das Dokument als PDF speichern und als
Fehlerbehebung
- Wenn
deda_parse_print: command not founderscheint, die DEDA-Installation prüfen oder den Python-Binpfad des Benutzers zu PATH hinzufügenexport PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
- Wenn DEDA die Tracking-Punkte nicht erkennt, sollte das Scanprogramm so eingestellt werden, dass Papierstruktur oder Tracking-Punkte nicht per Thresholding entfernt werden
- Schwarzweißseiten und Tintenstrahlausdrucke enthalten möglicherweise keine Tracking-Punkte
- Wenn der Drucker keine Tracking-Punkte druckt, können eigene Tracking-Punkte erstellt oder die Kalibrierungsseite mit einem anderen Drucker gedruckt und als Maske für den eigenen Drucker verwendet werden
- Eigene Tracking-Punkte können mit
deda_create_dotserstellt werden - Eine Kalibrierungsseite kann mit
deda_anonmask_create -werzeugt werden - Es kann eine anonymisierte Version der Tracking-Punkte verwendet oder mit
deda_anonmask_create --copykopiert werden
- Eigene Tracking-Punkte können mit
- Installationsfehler im Zusammenhang mit
x86_64-linux-gnu-gcckönnen durch die für die GUI benötigte eel-Abhängigkeit verursacht werden- Vorgeschlagener Befehl:
sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel
- Vorgeschlagener Befehl:
- Wenn PDF-Arbeiten durch
wand.exceptions.PolicyErrorwegen Sicherheitsrichtlinien blockiert werden, ist die ImageMagick-Konfiguration die Ursache- Wand entfernen oder direkt vor
</policymap>in/etc/ImageMagick-*/policy.xmlfolgende Richtlinie ergänzen<policy domain="coder" rights="read | write" pattern="PDF" />
- Relevanter Referenzlink: ImageMagick security policy PDF blocking conversion
- Wand entfernen oder direkt vor
1 Kommentare
Hacker-News-Kommentare
Unser Team hat vor gut zehn Jahren bei der DARPA Shredder Challenge zur Rekonstruktion geschredderter Dokumente diese gelben Tracking-Punkte genutzt, um geschredderte Dokumente wieder zusammenzusetzen.
Man kann sehen, wie das Programm die Punkte hervorhebt, während es die Papierschnipsel zusammenfügt: https://www.youtube.com/watch?v=uzZDhyrjdVo
Dadurch konnten wir mit großem Vorsprung gewinnen.
Die Nachgeschichte zu sehen, hat eine vergessene Erinnerung zurückgebracht – ziemlich erstaunlich.
Das klingt fast ebenso nach einem eigenen Artikel wie der Lösungsalgorithmus, und man braucht wohl eine besondere Veranlagung, um mit so einem Chaos zurechtzukommen.
Aus Gründen, die ich hier schwer offenlegen kann, musste ich mir kürzlich Tracking-Punkte etwas genauer ansehen.
Es lohnt sich, eine blaue LED-Taschenlampe auf Farbdrucke zu richten. Es ist schockierend, wie unfassbar viele Punkte über die ganze Seite verteilt sind – als hätte jemand Sand darübergestreut.
Wenn mein Drucker keine Tracking-Punkte druckt, ist die Idee, die Tracking-Punkte eines anderen Druckers zu fälschen, aus Sicht der plausiblen Abstreitbarkeit ziemlich interessant.
Allerdings bräuchte man in diesem Fall wohl trotzdem Zugriff auf den ursprünglichen Drucker, um eine anonyme Maske auszudrucken.
Heutzutage könnte man daran eventuell sogar aus der Ferne über die Druckereinstellungen kommen.
Einen oberflächlichen Analysten könnte man vielleicht täuschen, aber ein erfahrener Ermittler würde vermutlich so etwas sehen wie: „Die Tracking-Punkte sind eindeutig Marke X, aber das für die Graustufen verwendete Raster ist klar eher von Y.“
Falls ihr den dazu passenden interessanten Beitrag verpasst habt, hier ist er: https://news.ycombinator.com/item?id=42880704
Noch interessanter ist, dass die Person, die den Fund und die Analyse veröffentlicht hat, persönlich hätte Geld verlieren können, weil sie bereits Tausende Dollar für die gefälschten Karten ausgegeben hatte – und die Ergebnisse trotzdem öffentlich machte.
Ich frage mich, was passiert, wenn man dieselbe Seite mit mehreren Druckern ausdruckt.
Wenn der erste Drucker den eigentlichen Inhalt druckt und die anderen Drucker in den noch weißen Bereichen jeweils nur winzige zusätzliche Punkte setzen: Würde ein Drucker die Tracking-Punkte eines anderen Druckers zerstören?
Je nach Details könnten allerdings einige oder alle Punkte trotzdem noch lesbar sein.
Langsam frage ich mich, ob bei dem Nerd, der ein Projekt wie OpenWRT für Drucker startet, nicht das MIB vor der Tür steht.
Nach dem Motto: Nicht zurückverfolgbare Äußerungen dürfen nicht möglich sein, und man muss die Quelle unbequemer Memes chirurgisch präzise treffen können. Deshalb nutze ich einen gebrauchten Schwarzweiß-Laserdrucker von craigslist in einem separaten VLAN mit einem CUPS-Server dazwischen.
Niemand hat auf ausreichend informierter Grundlage dem zugestimmt, was Niantic seit über zehn Jahren tut, und niemand hat zugestimmt, dass sämtliche Drucksachen rückverfolgbar werden. Nirgendwo am Produkt oder im Prozess gibt es den Hinweis: „Nur weil es keine sichtbare Kennung gibt, heißt das nicht, dass es keine Kennung gibt; es kann eine steganografische Kennung vorhanden sein.“
Dasselbe gilt dafür, dass universelle Maschinen in den von uns gekauften Produkten so weit verriegelt werden, dass wir als Eigentümer sie nicht nach unseren Wünschen weiterverwenden können. Wir haben uns daran gewöhnt, Beleidigungen durch Unternehmen und staatliche Stellen als „iss das Scheiß-Sandwich oder werde ohne Sandwich verprügelt“ hinzunehmen, und Louis Rossmanns Consumer Action Taskforce (CAT) entwickelt sich zu einer guten Sammlung solcher Fälle.
Es ist Zeit, sich zu wehren. Wir sollten brauchbare Drucker hacken, ihre Firmware durch etwas Praktisches ersetzen und diesen Unsinn hinter uns lassen. Diese Tracking-Punkte und andere steganografische Tracking-Methoden existieren, um Menschen wie mich aufzuspüren und zum Schweigen zu bringen – Menschen, die auf versteckte Kontrollmechanismen hinweisen und Memes verbreiten, die der riesige obsidiane Tintenfisch als Informationsrisiko oder Desinformation brandmarkt.
Auf Papier zu drucken wirkt töricht, weil selbst gewöhnliche Leute, die mit Banknoten zu tun haben, das leicht erkennen würden.
Das dürfte in den nächsten Jahren ziemlich wichtig werden.
Wenn ihr vorhabt, Protestflyer oder Pamphlete zu drucken, solltet ihr sie – falls ihr dort eine vertrauenswürdige Person habt – einer professionellen Druckerei überlassen, oder zumindest den Drucker bar kaufen, ihn niemals mit dem Internet verbinden und ihn nur per USB an einen Linux-Rechner anschließen.
macOS und Windows können Druckertreiber automatisch installieren, und dieser Treiber könnte die Zentrale kontaktieren und die Drucker-ID mit irgendeiner Kennung verknüpfen.
Damit kann man auch T-Shirts bedrucken.
Ich frage mich wirklich, welcher Anteil der Drucker mit öffentlichen Tools entschlüsselbar ist.
Gibt es Statistiken dazu, welche Hersteller-Codes geknackt wurden?
Eine Kopie gibt es hier: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Tabelle 1 fasst Hersteller, Anzahl der analysierten Drucker und ob Punkte gefunden wurden zusammen: Brother 1 Gerät keine, Canon 10 Geräte ja, Dell 4 Geräte ja, Epson 8 Geräte einige Modelle, Hewlett-Packard 43 Geräte einige Modelle, IBM 1 Gerät ja, KonicaMinolta 21 Geräte einige Modelle, Kyocera 4 Geräte ja, Lanier 1 Gerät ja, Lexmark 6 Geräte einige Modelle, NRG 1 Gerät ja, Okidata 9 Geräte einige Modelle, Ricoh 6 Geräte ja, Samsung 5 Geräte keine, Savin 1 Gerät ja, Tektronix 4 Geräte keine, Unknown 1 Gerät ja, Xerox 15 Geräte einige Modelle.
Abgesehen von ein paar im Paper beschriebenen Hinweisen scheint man die Punktmuster, sofern sie gefunden wurden, im Großen und Ganzen zu verstehen.
Erzeugen auch Schwarzweiß-Laserdrucker Tracking-Punkte?
Und was ist der Sinn solcher Nachverfolgung? Muss im Prinzip wirklich jede Ecke unseres Lebens nachverfolgbar sein?
Herkunftsinformationen auf alles zu streuen, hat für die nationale Sicherheit einen enormen Wert. Es wird immer mit Sicherheit oder Schutz begründet, und sofort folgt: „Aber wo ist der Schaden, Sie tun doch nichts, was Sie nicht tun sollten … oder?“
Wenn der Haupteinsatzzweck die Verfolgung von Geldfälschern ist, wären sie bei Schwarzweißdruckern nicht nötig und deshalb nicht enthalten.
Diese Liste wurde seit 2017 nicht mehr aktualisiert und beruhte wahrscheinlich auf Schlussfolgerungen einer einzelnen Person aus FOIA-Anfragen. Vermutlich müssen wir warten, bis das nächste Mal eine chinesische Universität US-Regierungsgeheimnisse veröffentlicht.
Vor Jahrzehnten habe ich einmal an Software gearbeitet, die Informationen versteckte, indem sie das Kerning von Zeichen anpasste; soweit ich weiß, ist aus diesem Projekt nichts Besonderes geworden.
Das könnte ebenfalls interessant sein: https://en.wikipedia.org/wiki/EURion_constellation
Leider gibt es dazu kaum öffentliche Informationen: http://www.cl.cam.ac.uk/users/sjm217/projects/currency/