Verschiedene Möglichkeiten, PDF mit digitaler Signatur zu fälschen


Abb. 1. Das inkrementelle Speicherverfahren, auf dem digitale PDF-Signaturen basieren. Laut den Testergebnissen ist dies der effektivste Weg, um Dokumente zu fälschen

Theoretisch authentifizieren digitale PDF-Signaturen den Autor eines Dokuments zuverlässig. In der Praxis wird die PDF-Verarbeitung jedoch normalerweise von einer proprietären Software ausgeführt, die die Validierung nicht korrekt durchführt. Spezialisten der Ruhr-Universität in Bochum (Deutschland) beschrieben verschiedene Möglichkeiten zur Fälschung digital signierter PDF-Dokumente , die in den meisten PDF-Viewern und Online-Überprüfungsdiensten funktionieren.

Der Schutz vor allen Angriffen wird nur in einem einzigen Programm bereitgestellt und funktioniert sogar unter Linux.

PDF-Struktur



Abb. 2. PDF-Dokumentstruktur

Der Aufbau des PDF-Dokuments ist in Abb. 2 dargestellt. 2. Beim schrittweisen Speichern von Änderungen am PDF-Dokument werden dem Hauptteil neue Objekte sowie eine neue Xref- Tabelle mit einer Beschreibung der neuen Objekte und ein neuer Trailer mit Links zum Katalog hinzugefügt (siehe Abb. 1). Ein Verzeichnis ist das Stammobjekt einer PDF-Datei, definiert die Struktur des Dokuments und kann optional die Zugriffsberechtigungen bestimmen.

Jedes Objekt beginnt mit der Objektnummer und der Versionsnummer, die mit jeder Aktualisierung des Objekts zunehmen.


Abb. 2. Struktur des PDF-Objekts

Signaturerstellung


Das Hinzufügen einer digitalen Signatur zu einem PDF-Dokument basiert auf einem inkrementellen Speichermechanismus (siehe Abbildung 1). Wenn Sie beim inkrementellen Speichern eine Signatur hinzufügen, wird dem Dokument der folgende Inhalt hinzugefügt:

  • neuer Katalog mit einem neuen Perms- Parameter, der Berechtigungen zum Ändern des Dokuments definiert; Dieser Parameter bezieht sich auf das Signaturobjekt .
  • Signaturobjekt ( 5 0 obj ) mit Informationen zu den kryptografischen Algorithmen, die zum Hashing und Signieren des Dokuments verwendet werden, mit dem Parameter Contents , der den hexadezimal codierten PKCS7-Blob enthält. Er speichert Zertifikate und den Wert der Signatur, die mit dem privaten Schlüssel erstellt wurde, der dem öffentlichen Schlüssel entspricht im Zertifikat. Der ByteRange Parameter bestimmt, welche Bytes der PDF-Datei am Eingang der Hash-Funktion zur Berechnung der Signatur verwendet werden (Paare a, b und c, d ), ByteRange welcher Teil der Datei signiert ist.
  • Eine neue Xref- Tabelle mit einem Link zu einem neuen Objekt
  • neuer Trailer .

In Abb. Abbildung 3 zeigt ein vereinfachtes Diagramm einer digital signierten PDF-Datei.


Abb. 3. Vereinfachtes digital signiertes PDF-Dateilayout

Gemäß den aktuellen Spezifikationen wird empfohlen , die gesamte Datei mit Ausnahme des PKCS7-Blobs zu signieren.

Die Überprüfung der Unterschrift erfolgt durch die Anwendung, in der das PDF-Dokument geöffnet wird. Es extrahiert sofort die Signatur aus der PDF-Datei und überprüft mithilfe von kryptografischen Operationen ihre Richtigkeit. Anschließend wird überprüft, ob dem X.509-Zertifikat, dessen Schlüssel zum Signieren verwendet wurden, vertraut werden kann.

Normalerweise vertrauen nicht alle PDF-Reader dem im Betriebssystem integrierten Keystore. Wie der Firefox-Browser verteilen sie ihren eigenen Schlüsselspeicher und ermöglichen es dem Benutzer normalerweise, einen Speicher mit vertrauenswürdigen Zertifikaten anzugeben. Mit dieser Funktion können Sie nur bestimmten Zertifikaten vertrauen, z. B. Ihrer eigenen Zertifizierungsstelle.

Fälschung digitaler Signaturen


Die Forscher beschreiben drei Möglichkeiten, um Inhalte in signierten PDFs zu fälschen.

  • Universal Signature Forgery (USF);
  • ISA-Angriff (Incremental Saving Attack)
  • Angriff auf einen Signatur-Wrapper (Signature Wrapping Attack, SWA).

Universal Signature Fake (USF)


Ein USF-Angriff deaktiviert die Signaturüberprüfung in einer Anwendung, die eine PDF-Datei öffnet. Gleichzeitig wird dem Benutzer eine normale Nachricht über die erfolgreiche Validierung der Signatur gesendet. Dies erfolgt durch Bearbeiten des Signaturobjekts im Dokument: Entweder wird in diesem Dokument ein falscher Datensatz erstellt oder der Link zum Objekt wird aus der Datei gelöscht. Obwohl der PDF-Viewer nicht überprüfen kann, ob die Signatur korrekt ist, zeigt das Programm in einigen Fällen immer noch seine Anwesenheit an, was den Zielen des Angreifers entspricht.

Die Forscher formulierten 18 USF-Angriffsvektoren, von denen acht in Abb. 1 dargestellt sind. 4.


Abb. 4. Acht Angriffsvektoren zur Umgehung der Überprüfung der digitalen Signatur

Alle diese Methoden funktionieren, wenn der PDF-Viewer die digitale Signatur nicht korrekt überprüft.

Inkrementeller Retentionsangriff (ISA)


Diese Angriffsklasse besteht darin, die Struktur und den Inhalt in einem zusätzlichen Abschnitt eines Dokuments neu zu definieren. Die Idee ist, dass die Signatur basierend auf dem in ByteRange angegebenen ByteRange wird und der zusätzliche Abschnitt nicht in diesen Bereich fällt, wie in Abb. 2 gezeigt. 5.


Abb. 5. Wenn Sie dem zusätzlichen Abschnitt Inhalte hinzufügen, wird die digitale Signatur nicht verletzt

Es gibt verschiedene Möglichkeiten, um nach Dokumentänderungen zu suchen und die entsprechende Warnung im PDF-Viewer zu blockieren.

Signature Wrapper Attack (SWA)


Schließlich können Sie mit der letzten Angriffsklasse die Signaturüberprüfung umgehen, ohne sie inkrementell zu speichern. Verschieben Sie jedoch den signierten Teil der PDF-Datei an das Ende des Dokuments und verwenden Sie den xref Zeiger im signierten Trailer erneut für die geänderte XRef-Tabelle. Um zu vermeiden, dass das verschobene Teil verarbeitet wird, kann es gleichzeitig in ein fremdes Objekt, z. B. einen Stream oder ein Wörterbuch, eingeschlossen werden .


Abb. 6. Vergleich von Original- und geänderten PDF-Dokumenten

Angriffsleistung


Die Forscher testeten die Wirksamkeit jeder Angriffsart in verschiedenen Programmen zum Anzeigen von PDF. Unter Linux kann nur Adobe Reader 9 nicht getäuscht werden . In allen anderen Programmen wird die Signaturüberprüfung auf eine oder mehrere Arten umgangen.



Die Situation mit den Online-Überprüfungsdiensten für digitale PDF-Signaturen ist nicht besser.

Source: https://habr.com/ru/post/de442066/


All Articles