Sicherheitslücken
24.09.2020, 09:33 Uhr
Äxgüsi, Ihr PDF-Reader steht offen!
Ein Doktorand der Ruhr-Universität Bochum hat in zahlreichen PDF-Anzeigeprogrammen mehr oder weniger schwere Sicherheitslücken gefunden. Was für Lücken sind es und mit welchem PDF-Reader sind Sie sicher unterwegs?
(An die Leserschaft nördlich des Rheins: Das «äxgüsi» im Titel ist Schweizerdeutsch, stammt vom franz. «excusez» ab und bedeutet soviel wie «Pardon», «Entschuldigung».)
Der Computersicherheitsforscher Jens Müller ist Doktorand am Lehrstuhl NDS (Netz- und Datensicherheit) der Ruhr-Universität Bochum und ist spezialisiert aufs Aufspüren von Sicherheitslücken rund um Netzwerkdrucker und druckernahe Technologien. Zu so einer Technologie gehören auch die allseits beliebten PDFs. An der diesjährigen Black-Hat-Konferenz, an der sich Hacker und Sicherheitsexperten austauschen, stellte er die Resultate einer von ihm und seinem Team (Dominik Noss, Christian Mainka, Vladislav Mladenov, Jörg Schwenk) durchgeführten Untersuchung zu 28 Anwendungen vor, in denen PDFs geöffnet werden. Dem Test unterzogen wurden alle bekannten Grössen wie Adobe Reader DC oder Acrobat Pro DC, Foxit Reader, Nitro PDF und weitere PDF-Viewer, ebenso wie einige Webbrowser mit PDF-Anzeigemöglichkeiten.
Die Schwachstellen: «Portable Document Flaws 101»
«PDF» steht normalerweise für «Portable Document Format». Das «F» im Kürzel «PDF» mutierte im Titel von Jens Müllers Vortrag kurzerhand zu «Flaws» (Link führt zu einem – Sie ahnen es – PDF), englisch für «Schwachstellen». Die gefundenen Schwachstellen haben mit teilweise grundlegenden Funktionen im Standard von PDF-Dateien zu tun, wie etwa dem Setzen von Links, Einbetten von Formularen, Interagieren mit Webseiten, Speichern oder Drucken.
Wir verwenden hier die englischen Begriffe aus der weiter unten dargestellten Tabelle, damit Sie diese besser zuordnen können.
Crash per DoS: Praktisch alle geprüften PDF-Anwendungen haben sich zunächst als anfällig für sogenannte DoS-Angriffe (Denial of Service) erwiesen. Mit einer passend manipulierten PDF-Datei wird das Programm zum Beispiel in eine Endlosschleife geschickt, worauf es sich aufhängt (eben: den Dienst versagt, englisch «denial of service») – und das System, auf dem es installiert ist, oftmals gleich mitreisst. Ein solches PDF stellt weniger eine Gefahr dar, sondern ist eher lästig im Sinne eines dummen Scherzes. Nach dem Abschiessen des PDF-Readers oder Neustart des PCs ist der Fall gegessen, bis man die manipulierte Datei wieder öffnet. Ein Angreifer würde gegenüber der anvisierten Nutzerschaft jedoch meist nicht allein zu diesem Mittel greifen. Er hat in den wenigsten Fällen ein Interesse daran, dass der PC des Users solche Zicken macht. Einige der anderen Lücken sollten der Nutzerschaft mehr zu denken geben.
Eine Gefahr für die Privatsphäre stellen in der Tabelle nach der ersten Spalte «DoS» die nächsten vier Angriffsmöglichkeiten dar:
URL invocation: Hierbei geht es um einen Angriff, der im Hintergrund stattfinden könnte, indem das PDF unbemerkt eine bestimmte Internetseite aufruft. Dank der Lücke könnte ein neugieriger Angreifer verfolgen, ob ein Nutzer sein manipuliertes PDF-Dokument geöffnet hat.
Form data leakage: In manipulierten PDFs könnten in Formularen eingetippte Daten automatisch und ohne Wissen des Nutzers an andere Stellen im Internet übermittelt werden. Im Falle von sensiblen Daten – etwa Gesundheits- oder Finanzdaten – ein unschönes Angriffsszenario.
Local file leakage: Ein Angreifer kann eine PDF-Datei so manipulieren, dass sie ihm direkt eine bestimmte Datei ab der Festplatte des Nutzers übermittelt, sobald jener die PDF-Datei in einem verwundbaren PDF-Viewer öffnet. Er müsste zwar wissen, wie die Datei genau heisst und wo sie liegt (und dies in der PDF-Datei hardcoden), aber es dürfte einige User geben, die zum Beispiel eine Datei «Passwörter.docx» im Ordner «%userprofile%\Documents\» liegen haben. Laut Jens Müller klappe dieser Angriff in den betroffenen PDF-Viewern sowohl mit nativen PDF-Features als auch mit JavaScript in PDF-Dokumenten.
Credential theft: Hierbei geht es um eine ganz bestimmte Sicherheitslücke, die es einem entlegenen Server erlaubt, auf lokal gespeicherte Anmeldedaten zurückzugreifen. Angenommen, Sie arbeiten mit Remotedesktop-Sessions, mit denen Sie vielleicht aus dem Home Office auf einen Server Ihres Arbeitgebers zugreifen. Sie werden sich bei diesem in der Regel nicht jedes Mal neu einloggen müssen, weil Windows das Speichern dieser Anmeldedaten anbietet. Das Abrufen dieser gespeicherten Anmeldedaten erfolgt via NTLM (NT LAN Manager). Nun können aber über Sicherheitslücken in einigen PDF-Readern nicht nur die von Ihnen verwendeten Remote-Server die verschlüsselten Hashes dieser gespeicherten Anmeldedaten abrufen, sondern vielleicht auch der Angreifer, der Ihnen ein entsprechend manipuliertes PDF unterjubelt. Die gute Nachricht: Unter Windows 10 Pro können Sie das verhindern, siehe Seite 3. Die schlechte: Für Home-Editions von Windows haben wir keine entsprechende Möglichkeit gefunden.
Es lassen sich über manche der Lücken auch Daten manipulieren, das wären diese Schwachstellen:
Form modification: Ein Angreifer kann ein PDF so manipulieren, dass vom Nutzer in Formularfelder eingetippte Daten automatisch verändert werden können. Besonders gefährlich ist das bei heiklen Formulardaten (etwa im Gesundheits- oder Finanzbereich). Laut Jens Müller kann ein manipuliertes Dokument seine eigenen Formulardaten z.B. in dem Moment überschreiben, wenn es gedruckt wird; damit enthielte nur der Ausdruck die falschen Angaben.
File write access: Ein manipuliertes PDF könnte beim Öffnen in einem verwundbaren PDF-Viewer beliebige Files automatisch auf die Festplatte des Nutzers speichern oder gar welche überschreiben, zum Beispiel mit einem Schädling. Solange diese Lücke nicht gestopft ist, sollten die verwundbaren PDF-Reader eigentlich nicht mehr verwendet werden. Welche das sind, entnehmen Sie der Tabelle.
Content masking: Hier geht es laut Jens Müller darum, dass man eine PDF-Datei so manipulieren kann, dass sie in verschiedenen Viewern komplett verschiedene Inhalte anzeigt. Die Gefahr ist für die meisten Nutzer nur am Rande von Bedeutung. Ausser in bestimmten Kontexten, in denen ein Dokument wirklich auf allen Clients dasselbe aussagen sollte (z.B. Kaufverträge). Hier wären etwa Betrugsszenarien denkbar.
Albtraum RCE: Ähnlich schlimm wie «File write access» ist die letzte Kategorie, die für Remote Code Execution (Codeausführung) steht. PDF-Anwendungen mit dieser Schwachstelle würden es zulassen, dass eine passend manipulierte PDF-Datei ungefragt Skripts oder Programme auf Ihrem PC ausführt. Hier besteht eine echte Schädlingsgefahr. Ein Angreifer könnte versuchen, auf diesem Weg einen Erpressungstrojaner zu installieren oder einen Keylogger, der die Eingaben des Nutzers abfängt.
Welche PDF-Anwendungen oder Browser welche der erwähnten Schwachstellen mitbringen, haben die Experten in einer Tabelle dargestellt.
Wichtig! Die Tabelle wurde anfangs August 2020 an der «Black Hat 2020»-Konferenz gezeigt. Laut eines Berichts des c't-Magazins haben PDF Studio Viewer, PDF Studio Pro, Nitro Reader und Nitro Pro inzwischen wenigstens ihre Codeausführungslücken gestopft. Es sollen sich laut den Anbietern nicht alle Schwachstellen beheben lassen, weil es sich um notwenige Funktionen handle, hiess es. Auch andere Hersteller könnten in der Zwischenzeit passende Patches ausgeliefert haben. Die auf Google Chrome basierenden Browser zum Beispiel sind inzwischen bis auf die weniger heikle DoS-Lücke gefixt und ein Patch für Firefox sei in der Mache.
Nächste Seite: Tipps für die sichere PDF-Praxis
Tipps für die sichere PDF-Praxis
Einem ungefragt zugestellten PDF sollten Sie unbedingt genauso misstrauen wie ausführbaren Dateien, wenn Sie welche per Mail erhalten oder auf unbekannten Websites antreffen. Vielleicht laden Sie amtliche Formulare lieber direkt von den offiziellen Behördenwebseiten herunter, statt sich darauf zu verlassen, dass ein Formular, das Sie per Mail erhalten, authentisch ist.
Prüfen Sie regelmässig, ob es für Ihren PDF-Viewer ein Update gibt. Durchforsten Sie die Einstellungen Ihres PDF-Viewers akribisch. Vielleicht lassen sich darin z.B. Internet- oder JavaScript-Funktionen deaktivieren, die Sie nicht benötigen.
Gehört Ihr PDF-Viewer zu den verwundbaren, überlegen Sie sich den Wechsel zu einem anderen Produkt, das laut Tabelle weniger anfällig ist. Wenn es nur darum geht, PDFs anzuschauen und vielleicht auszudrucken, dann tuts auch der Webbrowser. Die gute Nachricht ist, dass alle Chromium-basierten Browser (inkl. Google Chrome, Microsoft Edge, Opera, der Mac-Browser Safari) inzwischen gefixt sind. In diesen sei laut Jens Müller nur noch die lästige, aber weit weniger kritische DoS-Lücke vorhanden. Bei Mozilla sei für den Firefox zudem ebenfalls ein Patch in Arbeit, der nächstens erscheinen dürfte.
So ändern Sie den PDF-Viewer: Voraussetzung ist natürlich, dass der gewünschte bereits installiert ist. Sonst holen Sie dies noch nach. Klicken Sie anschliessend unter Windows mit rechter Maustaste auf eine PDF-Datei und gehen Sie im Kontextmenü via Öffnen mit zu Andere App auswählen.
Aktivieren Sie die gewünschte Anwendung. Am besten einen der Webbrowser, wie Microsoft Edge oder Google Chrome; auch mit Firefox sind Sie besser dran als mit einem der verwundbaren PDF-Betrachter. Haken Sie das Kästchen Immer diese App zum Öffnen von .pdf-Dateien verwenden an und klicken Sie auf OK.
Unter macOS und Linux ist man mehr oder weniger fein raus. Unter Windows kann man fürs PDF-Betrachten den Webbrowser verwenden. Müssen Sie unter Windows trotzdem einen separaten PDF-Reader verwenden, weil Sie sonst Kommentar- und sonstige Überarbeitungsfunktionen vermissen würden? Hier ist der Foxit Reader eine gute und recht sichere Wahl, siehe auch https://www.pctipp.ch/praxis/pdf/foxit-reader-pdf-kommentare-eingeben-und-anzeigen-2017496.html. Bei diesem wurden nur die einigermassen harmlose DoS-Lücke sowie eine bestimmte Lücke aus der Kategorie «Credential theft» gefunden. Und Letztere lässt sich durch eine Windows-Einstellung schliessen, sofern Sie Windows 10 Professional (und nicht etwa die Home-Edition) haben.
Fachmann Jens Müller empfiehlt das Schliessen dieser Lücke generell, unabhängig vom PDF-Problem. Hierfür verweist er auf dieses englischsprachige Microsoft-Dokument. Damit Sie sich das Dokument nicht selbst vorknöpfen müssen, hat dies die Autorin bereits für Sie getan. Mitsamt Schritt-für-Schritt-Anleitung auf der nächsten Seite.
Nächste Seite: NTLM unter Windows 10 Pro deaktivieren und Ausnahmen festlegen
NTLM unter Windows 10 Pro deaktivieren und Ausnahmen festlegen
Folgendes ist ausdrücklich nur fortgeschrittenen Anwenderinnen und Anwendern empfohlen. Als User einer Pro-Version von Windows starten Sie den Editor für lokale Gruppenrichtlinien, indem Sie Windowstaste+R drücken, gpedit.msc eintippen und Enter drücken. Klappen Sie diese Zweige auf: Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale Richtlinien/Sicherheitsoptionen. Scrollen Sie zum Eintrag namens Netzwerksicherheit: Beschränken von NTLM: Ausgehender NTLM-Datenverkehr zu Remoteservern. Doppelklicken Sie den Eintrag, schalten ihn auf Alle verweigern um und bestätigen Sie allfällige Rückfragen und Warnungen des Systems – nachdem Sie folgenden Absatz verinnerlicht haben.
Aufgepasst – gerade im Home Office! Durchs Deaktivieren von NTML wird Ihr System bzw. Ihr Benutzerkonto vom Remote-Servern und lokalen NAS nicht mehr via NTML-Schnittstelle identifizierbar sein. Das bedeutet, dass Remoteserver lokal gespeicherte Anmeldedaten nicht mehr automatisch verwenden können. Zwei Auswirkungen als Beispiele: Falls Sie Remotedesktop-Sitzungen verwenden, müssen Sie sich bei jeder Verbindung zu diesem Remotedesktop einloggen. Die Verwendung der lokal gespeicherten Anmeldedaten ist damit verunmöglicht. Eine andere Auswirkung ist, dass Sie via Windows-Explorer vermutlich nicht mehr auf Ihr NAS kommen. Es gibt aber Abhilfe, die bei Tests im Heimnetzwerk der Autorin auf Anhieb funktioniert hat.
Wenn Sie nicht sicher sind, ob (und welche) von Ihnen verwendete Remoteserver davon betroffen wären, können Sie mal einen Arbeitstag lang im Hintergrund einen Audit fahren: Schalten Sie oben erwähnte Richtlinie nicht auf Alle verweigern, sondern auf Alle überwachen. Melden Sie sich bei allen Servern an, die Sie für Ihre Arbeit so brauchen. Am Ende des Tages öffnen Sie via Windowstaste+R und Eintippen von eventvwr.msc die Ereignisanzeige. Klappen Sie darin folgenden Zweig auf: Anwendungs- und Dienstprotokolle/Microsoft/Windows/NTLM. Hier entdecken Sie einen Eintrag für jede Situation, in der via NTLM lokal gespeicherte Anmeldedaten von einer Serververbindung angefordert wurde. Das typische Beispiel ist der erwähnte Remotedesktop, aber auch Ihr NAS dürfte darin auftauchen.
Verweigern, aber trotzdem zulassen: Sie können NTML verweigern, aber eine Ausnahme für die von Ihnen verwendeten Server festlegen. Bemühen Sie wieder den Gruppenrichtlinieneditor und besuchen Sie wieder den Zweig Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale Richtlinien/Sicherheitsoptionen. Jetzt doppelklicken Sie Netzwerksicherheit: Beschränken von NTLM: Remoteserverausnahmen für die NTLM-Authentifizierung. Tragen Sie da den Servernamen ein, z.B. derserver.example.com; es hat Platz für mehrere Zeilen. Ist eines davon Ihr eigenes NAS, verwenden Sie als Eintrag einfach den Namen Ihres NAS, zum Beispiel Diskstation.
Lassen Sie das Audit noch einen weiteren Tag laufen. Werden jetzt keine neuen Einträge (Zeitstempel beachten) mehr erstellt, die mitteilen, dass der Server beim Deaktivieren von NTLM blockiert würde, haben Sie alle gefunden. Jetzt schalten Sie im Gruppenrichtlinieneditor die folgende Einstellung auf Alle verweigern: Computerkonfiguration/Windows-Einstellungen/Sicherheitseinstellungen/Lokale Richtlinien/Sicherheitsoptionen/Netzwerksicherheit: Beschränken von NTLM: Ausgehender NTLM-Datenverkehr zu Remoteservern. Schon haben Sie systemweit eine heikle Sicherheitslücke geschlossen.
Wichtig! Notieren Sie sich, welche Einstellungen Sie gemacht haben. Falls eines Tages die Verbindung mit einem anderen Remotedesktop oder NAS ansteht, werden Sie sich sonst wundern, warum diese nicht mehr richtig oder sogar überhaupt nicht funktioniert. Sie müssen sich daran erinnern, dass Sie den neuen Server wieder als Ausnahme eintragen.