Verschlüsselte PDFs sind manipulierbar

Verschlüsselte PDFs sind nicht wirklich gut verschlüsselt, sondern lassen sich zum Teil einfach manipulieren, zeigten Fabian Ising und Jens Müller auf der Black Hat Europe.

Der Vortrag von Jens Müller (Ruhr-Universität Bochum) und Fabian Ising (Universität Münster) zeigte, dass es gar nicht so schwierig ist, verschlüsselte PDF-Dokumente zu manipulieren und den verschlüsselten Text zu leaken. Keine gute Nachricht, betrachtet man den breiten Einsatz von PDFs, die auch Unternehmen für das Teilen vertraulicher Nachrichten einsetzen. Während Fabian Ising demonstrierte, wie sich die Verschlüsselung selbst angreifen lässt, zeigte Jens Müller, welche Probleme die Art der gewählten PDF-Verschlüsselung mitbringt und wie diese sich per Man-in-the-Middle-Angriff recht einfach ausnutzen lassen (Vortragsfolien).

Nur teilweise verschlüsselt

Dazu muss man zunächst wissen, dass sich PDFs ähnlich wie ein HTML-Dokument aus verschiedenen Layern zusammensetzen. Es gibt einen Header, einen Body (in dem alle Inhalte stecken), einen Xref-Bereich (das alle Objekte im Dokument referenziert) und einen Trailer. Verschlüsselte PDFs sind nicht komplett verschlüsselt, sondern packen lediglich “Encrypted Streams” in den Body und den Trailer. Die Dokumentenstruktur bleibt offen, zugleich wird die Integrität des Dokuments nicht überprüft.

So ist es einfach möglich, per Hand zusätzliche unverschlüsselte Passagen im Dokument einzufügen, einen so genannten Overlay-Angriff zu starten. Das können etwa Links zu Malware-Seiten sein oder falsche Informationen. Der Empfänger des verschlüsselten PDFs erfährt nicht, dass Teile des Dokuments nicht verschlüsselt waren und hält sie für legitim.

Zum Hacken Formular ausfüllen

Doch nicht nur das. Auch der verschlüsselte Text selbst lässt sich herausfinden. Dabei hilft eine Möglichkeit, Formulare in PDFs zu verwenden und deren Namen und Inhalt per Mausklick an einen Server zu schicken. Doch dieser Mausklick vom User ist gar nicht nötig. Es gibt in der PDF-Spezifikation auch die Möglichkeit, Optionen festzulegen, die ein PDF-Dokument nach dem Öffnen direkt ausführt. Eine Option besteht darin, automatisch die Daten eines Formulars an einen Server zu schicken. Ein Angreifer würde den verschlüsselten Text also in ein Formular einfügen und zudem eine Aktion ergänzen, die den Inhalt des Formulars nach dem Öffnen es Dokuments automatisch an den Server verschickt.

Allerdings machen es nicht alle getesteten Betrachter ihren Nutzern so einfach: Einige fragen, ob der Nutzer einverstanden ist, wenn die Daten an einen Server geschickt werden. Doch einerseits taucht diese Meldung nicht bei allen getesteten PDF-Betrachtern auf, andererseits klicken viele Nutzer ohne groß Nachzudenken auf “Ja”, wenn die Software sie etwas fragt. Auch leicht abgewandelte Methoden dieses Angriffs sind möglich. So lässt sich der Plaintext per Hyperlink verschicken oder ähnliches.

AES-Verschlüsselung knacken

Ein zweiter, deutlich komplizierterer Angriff richtet sich gegen die verwendete AES-CBC 256-Bit-Verschlüsselung, um Inhalte zu entschlüsseln. Dabei hilft, dass die Verschlüsselung in der Spezifikation für PDF 1.7 EL 8 für den Dokumenten-Level (und nicht mehr den Objektlevel) gilt, was Angriffe erleichtert. Zugleich fehlt auch in diesem Bereich ein Schutz der Integrität: Es fällt also nicht auf, wenn Angreifer Dinge am Dokument ergänzen oder löschen.

Ein Weg, um die verschlüsselte Nachricht zu leaken, ist bereits durch den ersten Angriff bekannt. Weiterhin besitzt die von PDFs verwendete Verschlüsselung eine Eigenschaft namens Malleability: Das bedeutet, ein verschlüsselter Text lässt sich so abwandeln, dass er in einen gewünschten Klartext verwandelt werden kann, ohne die Verschlüsselungsfunktion selbst zu kennen. Als dritte Anforderung muss der Klartext an einer Stelle bekannt sein. Tatsächlich ist das vom Design vorgegeben und gibt es mit dem “Perms”-String einen bekannten Plaintext.

Die Forscher haben diese drei Eigenschaften genutzt, um einen weiteren Angriff zu starten. Indem sie zusätzlich die Kompression heranziehen, können sie weiteren Text einschleusen, etwa URLs über Back-Referenzen, die der jeweilige Reader dann liest.

Abbildung 1: Die Forscher haben sich 27 PDF-Anwendungen angesehen. Bei den drei Linux-Vertretern brauchen Angriffe zumindest Hilfe durch die User.

Am Ende haben die beiden Forscher mit ihren Kollegen zusammen 27 populären PDF-Betrachter unter die Lupe genommen, nicht alle sind gleich stark betroffen. Eine Liste aus den Slides bezieht auch Linux mit ein (Abbildung 1).

Angriffe auf Linux-Nutzer

Während die Linux-Reader bei beiden Formen der Exfiltration zumindest eine Nutzer-Interaktion brauchen, ist das nicht der Fall, wenn die Nutzer sich ihre PDFs in Chrome anzeigen lassen. Googles Browser erlaubt es, Texte vom Nutzer unbemerkt auszuschleusen. Bei Firefox hingegen funktioniert der erste Angriffsweg gar nicht, hier müssen Angreifer die Verschlüsselung attackieren.

Und nun?

Ein Grundproblem der demonstrierten Angriffe besteht darin, dass sie in der Spezifikation verankert sind. Eine Nutzerabfrage vor einem Serverzugriff bietet zumindest eine Option, die Angriffe abzuschwächen. Hier könnten einige der PDF-Anwendungen nachbessern.

Eine zwischenzeitliche Lösung wäre, Zugriffe von unverschlüsselten auf verschlüsselte Objekte zu verhindern. Langfristig müsste eine Verschlüsselung wohl das komplette Format betreffen. Hier ist also die ISO-Standardisierungsgruppe gefragt. Deren Problem: Trotz Komplettverschlüsselung müssen die PDF-Standardisierer sicherstellen, dass noch ein Zugriff auf die Metadaten möglich bleibt. Den die werden in vielen professionellen Umgebungen benötigt.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben