PDF Document Properties - Probleme beim Parsing

PDF Document Properties

Probleme beim Parsing

Marc Ruef
von Marc Ruef
Lesezeit: 5 Minuten

Im Rahmen des Postings Automatisiertes Document Properties Profiling haben wir darüber berichtet, inwiefern das Auswerten der Document Properties öffentlicher Dokumente umgesetzt werden kann. Dabei wurde sich auf die Formate Word (doc), Excel (xls) und Acrobat (pdf) fokussiert.

Um die dort genannten Prozesse zu optimieren, haben wir uns um die Erstellung eines eigenen PDF-Parsers bemüht. Dieser liest das jeweilige Dokument ein und versucht die gewünschten Daten zu extrahieren. Hierbei sind unterschiedliche Schwierigkeiten, die mit gewissem Aufwand überwindbar sind, aufgetaucht.

Key Typ Version Optional Wert
Title Text PDF 1.1 Optional Titel des Dokuments
Author Text Optional Name des Autors, welcher das Dokument erstellt hat
Subject Text PDF 1.1 Optional Thema des Dokuments
Keywords Text PDF 1.1 Optional Mit dem Dokument assoziierte Schlüsselwörter
Creator Text Optional Name des Programms, welches das Originaldokument erstellt hat (z.B. Word)
Producer Text Optional Name des Programms, welches die PDF-Konversion vorgenommen hat
CreationDate Date Optional Datum und Uhrzeit, an dem das Dokument erstellt wurde
ModDate Date Erforderlich falls PieceInfo gesetzt Datum und Uhrzeit, an dem das Dokument zuletzt geändert wurde

Traditionell wird im Document Information Dictionary (Document management - Portable document format, Part 1: PDF 1.7) optional der Tag /Author() verwendet, um den Autor auszuweisen (siehe Tabelle). Der in runden klammern definierte Wert entspricht dem Autor. Hierbei kann nach Belieben mit Whitespaces gearbeitet werden, was ein Parsing erschwert. Nachfolgend wird eine simple Version ohne Whitespaces und danach eine mit zusätzlichen Leerzeichen dargestellt:

Desweiteren können bei PDF-Dokumenten Kompressionen/Verschlüsselungen zum Einsatz kommen. Der in /Author() abgelegte Wert ist sodann codiert. Dabei ist eine codierte Zeichenkette stets so lang wie der Ursprungstext. Zwei codierte Zeichenketten sind jedoch nicht identisch:

Hinzu kommt, dass in neueren Dokumentspezifikationen Tags der Form <pdf:Author>Marc</pdf:Author> verwendet werden. Bisweilen konnten wir keine Whitespace-Awareness beim Parsing beobachten. Wahrscheinlich deswegen, weil sämtliche Zeichen zwischen den Tags als Wert aufgefasst und dargestellt werden.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Hochschulen, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

3D Printing

3D Printing

Marc Ruef

Contact Tracing App DP3T

Contact Tracing App DP3T

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv