Original-URL des Artikels: https://www.golem.de/news/sicherheitsluecken-pdf-signaturen-faelschen-leicht-gemacht-1902-139589.html    Veröffentlicht: 25.02.2019 08:00    Kurz-URL: https://glm.io/139589

Sicherheitslücken

PDF-Signaturen fälschen leicht gemacht

Signaturen von PDF-Dateien sind offenbar nicht besonders sicher: Einem Forscherteam der Uni Bochum gelang es, die Signaturprüfung in nahezu allen PDF-Programmen auszutricksen.

Signaturen für PDF-Dateien sind bei zahlreichen Regierungen und Behörden im Einsatz. In der EU sind sie Teil des Signatursystems eIDAS, in Österreich werden alle offiziellen Regierungsdokumente damit abgesegnet und in den USA können Dokumente an die Steuerbehörde damit unterschrieben werden. Mithilfe eines digitalen Zertifikats soll die Echtheit von Dokumenten prüfbar sein.

Doch um die Sicherheit dieser Signaturen hat sich offenbar bislang kaum jemand Gedanken gemacht. Ein Team der Ruhr-Universität Bochum hat sich die Signaturprüfung von zahlreichen PDF-Betrachtern angesehen - mit verheerenden Ergebnissen. In nahezu allen Fällen konnte man die Signaturprüfung austricksen.

Alle modernen PDF-Betrachter waren verwundbar

Betroffen waren der Adobe Acrobat Reader in seinen Windows- und Mac-OS-Versionen, der Foxit Reader sowie diverse andere PDF-Betrachtungsprogramme. Auch verschiedene Online-Services zur Signaturprüfung wie Docu Sign waren verwundbar. Die einzig nicht verwundbare Software war der Adobe Reader unter Linux. Allerdings sollte das jetzt niemanden dazu bewegen, diese Version zu nutzen: Der Adobe Reader für Linux wird seit vielen Jahren nicht mehr weiterentwickelt und hat zahlreiche andere bekannte Sicherheitslücken.

Die Bochumer Forscher haben drei verschiedene Methoden entwickelt, mit denen es ihnen gelang, Dokumente mit von ihnen gewählten Inhalten zu erstellen, deren Signaturen als gültig angezeigt werden.

Signaturinformationen unvollständig - trotzdem akzeptiert

Die erste Klasse von Angriffen bezeichnen die Forscher als Universal Signature Forgery, sie funktionierte in beiden aktuell unterstützen Varianten des Adobe Reader (Adobe Reader XI und Adobe Acrobat Reader DC). Dabei fügen sie einer PDF-Datei eine Signatur hinzu, dieser fehlen jedoch bestimmte Elemente, die für eine Prüfung notwendig sind. Das führte bei der Mehrzahl der PDF-Programme dazu, dass sie die Signatur zwar nicht prüften, aber trotzdem als gültig akzeptierten.

Ein PDF-Signaturteil besteht neben der eigentlichen Signatur, die nach dem PKCS-#7-Standard codiert ist, aus Informationen, über welchen Teil der Datei sich die Signatur erstreckt. Die Forscher probierten hier schlicht aus, was passiert, wenn man eine dieser beiden Informationen entweder komplett weglässt oder durch unsinnige Daten ersetzt.

Zusätzliche Daten - ungeprüft

Die zweite Klasse von Angriffen zielt auf eine Funktion von PDF-Dateien ab, mit der sich bestehende PDF-Dokumente aktualisieren lassen, sogenannte Incremental Savings. Das wird etwa genutzt, um Notitzen zu PDF-Dateien hinzuzufügen. Diese Updates eines bestehenden Dokuments lassen sich hinter der Signatur einfügen. Dies nutzten die Forscher, um ein bestehendes signiertes Dokument nach Belieben zu verändern.

Generell sind PDF-Betrachtungsprogramme darauf eingestellt, dass ein signiertes Dokument nachträglich durch solche Updates geändert werden kann. Doch auch hier gelang es den Bochumer Wissenschaftlern, diese Prüfung auszutricksen: Wenn das Update-Paket fehlerhaft ist und bestimmte Felder, die eigentlich vorhanden sein müssen, nicht enthält, führte das dazu, dass das Update weiterhin akzeptiert wurde, aber die PDF-Betrachter nicht erkannten, dass eine Änderung durchgeführt wurde.

Beim Adobe Reader funktionierte dieser Angriff nicht, dafür aber bei der Mehrzahl der anderen PDF-Betrachter. So lies sich etwa der Foxit-Reader damit austricksen. Auch der Onlineservice DocuSign und andere Onlineservices konnten mit dieser Methode angegriffen werden.

Signature Wrapping - was wird hier eigentlich signiert?

Die dritte Klasse von Angriffen ist ein Problem, das im Zusammenhang mit anderen Datenformaten bereits häufiger auftrat: Ein sogenannter Signature-Wrapping-Angriff. Die Idee hierbei: Man nimmt ein bestehendes, signiertes Dokument und bringt es in einem neuen Dokument als Teil unter. Ein solcher Angriff wurde etwa in der Vergangenheit genutzt, um die Signaturverifikation von XML-Dokumenten auszuhebeln.

Das Grundproblem hier ist ähnlich wie beim vorhergehenden Angriff, dass sich eine PDF-Signatur nicht zwangsweise auf das gesamte Dokument bezieht. Es ist damit möglich, ein bestehendes, signiertes Dokument in einer PDF-Datei so unterzubringen, dass es überhaupt nicht angezeigt wird. Wenn die Signaturprüfung dies nicht berücksichtigt, wird ein solches Dokument als gültig angezeigt, obwohl sich die Signatur nur auf den nicht angezeigten Teil des Inhalts bezieht.

Auch dieser Angriff funktionierte beim Foxit Reader und bei Docusign sowie bei der Mehrzahl der anderen getesteten Applikationen. Der Adobe Reader war für diesen Angriff nicht verwundbar.

Für die meisten der getesteten Applikationen gibt es inzwischen Updates. Adobe hat die entsprechenden Korrekturen im Dezember veröffentlicht. Für den Foxit Reader gab es Anfang Januar ein Update. Wer auf die Korrektheit von PDF-Signaturen angewiesen ist, sollte die entsprechenden Updates umgehend installieren.

Nicht in der Liste der betroffenen Programme sind die quelloffenen PDF-Betrachter Evince und Okular sowie auch keine Browser. Das hat einen einfachen Grund: Diese Programme unterstützen die Verifikation von PDF-Signaturen überhaupt nicht.

Bislang kaum Forschung zur Sicherheit von PDF-Signaturen

Die Ergebnisse zeigen vor allem eins: Offenbar hat sich bislang niemand die Signaturverifikation von PDF-Dokumenten genauer angesehen und deren Sicherheit geprüft. So verweisen die Entdecker in ihrem wissenschaftlichen Hintergrundpapier auch darauf, dass es bislang praktisch keine Forschung zu diesem Thema gibt.  (hab)


Verwandte Artikel:
Z1: Zahnarztsoftware installiert lückenhaften Adobe Reader   
(29.01.2019, https://glm.io/139049 )
SigSpoof: Signaturen fälschen mit GnuPG   
(13.06.2018, https://glm.io/134940 )
Schweizer Post: Code von Schweizer Online-Wahl geleakt   
(18.02.2019, https://glm.io/139457 )
Sicherheit: Wie sich "Passwort zurücksetzen" missbrauchen lässt   
(25.02.2019, https://glm.io/139573 )
Zero-Day-Lücken: Angreifer verraten sich durch Virustotal-Upload   
(03.07.2018, https://glm.io/135294 )

© 1997–2019 Golem.de, https://www.golem.de/