- Das vom US-Justizministerium veröffentlichte Epstein-E-Mail-Archiv steht wegen fehlerhafter Kodierung und übermäßiger Schwärzung in der Kritik und weist gravierende Mängel auf
- Einige E-Mails enthalten Anhänge weiterhin direkt im Format
Content-Transfer-Encoding: base64, sodass sich aus diesen Daten das ursprüngliche PDF rekonstruieren lässt
- Wegen minderwertiger OCR-Qualität, der Verwechslungsgefahr von 1 und l in der Schrift Courier New sowie schlechter Scanqualität ist eine automatische Wiederherstellung jedoch nahezu unmöglich
- Der Autor versuchte die Rekonstruktion mit tesseract, Adobe Acrobat Pro und AWS Textract, erhielt jedoch in allen Fällen nur unvollständige Ergebnisse
- Der Fall zeigt die Grenzen digitaler Forensik und der Dokumentenrekonstruktion und wird als technische Herausforderung dargestellt, die nur gemeinschaftlich lösbar ist
Probleme in den Veröffentlichungen des Justizministeriums
- Das kürzlich veröffentlichte Epstein-Archiv wurde in stark geschwärzter Form verteilt, von den Namen mutmaßlicher Mittäter bis hin zu Fotos nicht beteiligter Frauen
- Einige Dateien waren durch Quoted-Printable-Kodierungsfehler beschädigt und konnten gar nicht geöffnet werden
- Sogar E-Mail-Zugangsdaten wurden offengelegt, sodass Reddit-Nutzer auf Epsteins Konto zugreifen konnten
- Diese nachlässige Aufbereitung führte zu Kritik an der mangelnden Professionalität des von Pam Bondi geführten Justizministeriums
Entdeckung von base64-Anhängen
- In der E-Mail
EFTA00400459 wurden 76 Seiten base64-kodierter Daten gefunden
- Dabei handelt es sich um die für den SMTP-Versand kodierte Datei
DBC12 One Page Invite with Reply.pdf
- Durch einfaches Kopieren und den Befehl
base64 -d > output.pdf sollte eine Wiederherstellung möglich sein, tatsächlich lag aber nur ein OCR-Scan mit zahlreichen Fehlern vor
- Die OCR-Ergebnisse enthielten falsch eingefügte Zeichen, Auslassungen und ungültige base64-Zeichen (z. B. [, ,), wodurch das Dekodieren scheiterte
OCR- und Schriftprobleme
- Versuche, die Seiten mit Adobe Acrobat Pro und tesseract erneut per OCR zu verarbeiten, führten in allen Fällen zu eingefügten Leerzeichen und Zeichenerkennungsfehlern
- Obwohl bei
tesseract der Zeichensatz auf gültige base64-Zeichen beschränkt wurde, traten weiterhin abweichende Zeilenlängen und abgebrochene Teilerkennung auf
- Die größte Ursache war die Schrift Courier New, bei der
1 und l fast nicht zu unterscheiden sind
- Wegen niedrig aufgelöster JPEG-Scans und Kompressionsartefakten ist selbst die visuelle Unterscheidung schwierig
- Dadurch wurde manuelle Korrektur unvermeidlich, und beim Dekodieren musste wiederholt zwischen
1 und l variiert werden
Wiederherstellungsversuche und Werkzeugvergleich
imagemagick und ghostscript scheiterten bei der Verarbeitung großer Datenmengen an Speicherüberschreitungen, weshalb pdftoppm als Alternative verwendet wurde
- AWS Textract lieferte die besten Resultate, zeigte aber weiterhin Fehler bei den Zeilenlängen und nichtdeterministische Ergebnisse
- Durch eine 2-fache Vergrößerung der Eingabebilder wurde die Erkennungsrate verbessert, eine vollständige Rekonstruktion gelang jedoch nicht
- Ein Versuch, mit
qpdf die PDF-Struktur wiederherzustellen, scheiterte an einer beschädigten Cross-Reference-Tabelle
Vorschläge aus der Community und weitere Diskussionen
- Am Ende des Beitrags regt der Autor die Community dazu an, auch andere Anhänge zu rekonstruieren
- Bei der Suche nach
Content-Transfer-Encoding und base64 finden sich teilweise nützliche Daten
- Mehrere Nutzer schlugen verschiedene Ansätze vor, darunter ML-basierte OCR, CNN-Training pro Schriftart und Crowdsourcing im Captcha-Stil
- Einige teilten erfolgreiche Beispiele der PDF-Wiederherstellung und berichteten, dass
pdfimages schärfere Ergebnisse als pdftoppm liefert
- Abschließend wurden fortgeschrittene Techniken diskutiert, etwa Algorithmen zur automatischen Unterscheidung von 1/l, fehlererkennende Verfahren auf Basis von Streaming-Decompressoren und Vergleiche auf Pixelebene
Technische Bedeutung
- Der Vorfall zeigt, wie Kodierungsfehler in digitalen Dokumenten und OCR-Grenzen den tatsächlichen Informationszugang behindern können
- Er unterstreicht die Bedeutung von Qualitätssicherung bei der digitalen Verarbeitung rechtlicher Beweismittel und von Automatisierungstechniken in der Dokumentenforensik
- Der gemeinschaftliche Wiederherstellungsversuch wird als Beispiel für Transparenz bei öffentlichen Daten und technische Überprüfbarkeit gewertet
1 Kommentare
Hacker-News-Kommentare
Es sieht nicht so aus, als hätte Pam Bondis Justizministeriumsteam dafür die besten Leute eingesetzt.
Jemand teilt ein von Claude Opus erzeugtes Skript.
Link zum Skript / Textausgabe / Bereinigte Version
Es erzeugt ein PDF, bei dem man ungefähr die erste Seite lesen kann.
Tesseract kann auf eine bestimmte Schriftart trainiert werden. Das scheint ein guter Ausgangspunkt zu sein.
Referenz: Leitfaden zu Tesseract-Trainingsdaten
Das ist ein Problem der binären PDF-Dekodierung. Da die Zahl möglicher Kodierungen begrenzt ist, schlage ich folgenden Ansatz vor:
So kann man die mittleren Zeichen schnell testen, wodurch eine vollständige Suche linear möglich wird.
Das sieht nach einem nerd snipe aus, aber tatsächlich ließe es sich mit Brute Force schneller erledigen. Wenn 76 Leute jeweils eine Seite abtippen, ist man fertig, bevor der Blogpost erscheint.
Da PDF ein so komplexes Format ist, wäre es meiner Meinung nach besser, wenn der Staat ein neues sicheres offenes Format schaffen und standardisieren würde.
DjVu ist einfach und hat gute Open-Source-Tools, aber es fehlt an Funktionen.
TIFF ist sogar noch komplexer als PDF und daher ungeeignet.
Referenz: XPS, DjVu, TIFF
Über das Suchfeld von justice.gov ließen sich mehrere Versionen derselben E-Mail finden.
Original: EFTA00400459.pdf
Weitere Versionen:
EFTA02153691.pdf
EFTA02154109.pdf
EFTA02154246.pdf
Wenn man mehrere Versionen vergleicht, dürfte sich das leichter lösen lassen.
Das Problem mit „1“ und „l“ bleibt bestehen, könnte aber als Referenz nützlich sein.
Ich habe überlegt, ob man nicht einfach alle Permutationen der (1, l)-Kombinationen ausprobieren sollte. Bei 76 Seiten × 69 Zeilen × 1 Vorkommen wären das 2^5244 Möglichkeiten. Hat jemand freie CPU-Kapazität?
Falls standardmäßig komprimiert wird, machen Prüfsummen es noch einfacher. Mit vorhandenen Tools geht das aber nicht; man müsste direkt einen instrumentierten Test-Harness im Decoder bauen.
Veranstaltungsdetails: Dubin Breast Center 2nd Annual Benefit (Archiv)
zu Ehren von Elisa Port und der Familie Ruttenberg.
Moderiert wurde sie von Cynthia McFadden, und mehrere Musiker traten auf.
pdftoppm und Ghostscript (über ImageMagick aufgerufen) sind langsam, weil sie die gesamte Seite neu rasterisieren.
Mit pdfimages oder mutool die gescannten Bilder direkt zu extrahieren, ist viel schneller.
Tests zufolge ist pdfimages 13-mal schneller als pdftoppm.