Leere Worte? Sicherheit und Recovery von Dokumenten-Passwörtern

Ordnungsmerkmale

erschienen in: <kes> 2006#3, Seite 11

Rubrik: Systeme und ihr Umfeld

Schlagwort: Dokumentenschutz per Passwort

Zusammenfassung: Längst nicht jede Passwort-Funktion einer Anwendung hält, was sie verspricht – von "tödlich banal" bis "totsicher" ist alles zu finden. Wo sich die Qualität in den vergangenen Jahren deutlich gebessert hat und welche Dokumente sich noch immer problemlos "entschützen" lassen, zeigt dieser Beitrag für verschiedene Office- und PDF-Generationen.

Autor: Von Andrey Malyshev, Moskau

Die Frage nach der Qualität eines Passwort-Schutzes stellt sich jedem, der ihn ernsthaft einsetzen will – aber auch dem, der ein "geschütztes" Dokument wieder lesbar machen muss, weil das Passwort vergessen wurde oder der zugehörige Anwender unkooperativ oder nicht (mehr) greifbar ist. Letzteres gilt besonders für Dokumente, bei denen der Einsatz der Passwortfunktion dem Endbenutzer freistand oder die nach Jahren aus einem Archiv hervorgeholt wurden. Auch bei der Spurensuche im Zuge forensischer Ermittlungen trifft man leicht auf Dateien, die sich nicht ohne weiteres öffnen lassen.

Während im einfachsten Fall ein Blick in die Binärdaten eines Dokuments genügt, kann bei entsprechend guter Implementierung und Passwortwahl selbst eine Brute-Force-Attacke mit geballter Rechenleistung aussichtslos sein. Für etliche Anwendungen gibt es Recovery-Software, die Passwörter entweder – wo möglich – einfach ausliest, zurücksetzt oder durchprobiert und sich teilweise auch zum prophylaktischen Audit der Passwort-Qualität einsetzen lässt. Am Beispiel des Passwort-Schutzes von PDF- und Microsoft-Office-Dateien sollen im Folgenden exemplarisch Recovery-Möglichkeiten sowie die Fortschritte der letzten Jahre verdeutlicht werden.

Generell kann man drei Stufen des Passwortschutzes für Dokumente unterscheiden, beginnend beim schlicht im Klartext gespeicherten Kennwort, das beim Öffnen mit einer Benutzereingabe verglichen wird. Naturgemäß genügt hier ein Blick an die richtige Stelle, um diese minimale Schwelle auszuhebeln. Bis heute wird diese Methode dennoch – auch von respektablen Anbietern – immer wieder eingesetzt.

Schutzfunktionen der "zweiten Generation" legen statt des eigentlichen Passworts einen Vergleichswert im Dokument ab, der über eine bestimmte Funktion (z. B. einen Hash) von der Benutzereingabe abgeleitet wird. Abgesehen davon, dass die entsprechende Stelle etwas schwieriger zu lokalisieren ist, zeigt sich dieses Verfahren ähnlich angreifbar wie sein banaler Vorgänger: Sofern die verwendete Funktion umkehrbar ist oder sich ein passender Eingabewert leicht ermitteln lässt, kann man das zugehörige Passwort einfach berechnen. Aber selbst beim Einsatz einer sicheren Einwegfunktion (beispielsweise eines kryptographischen Hash-Werts) lässt sich der gespeicherte Vergleichswert in der Regel ohne große Umstände gegen Daten austauschen, die man durch ein bekanntes Passwort selbst erzeugt hat.

Die dritte Kategorie basiert schließlich auf dem Einsatz von Verschlüsselung mit einem Krypto-Key, der aus der Benutzereingabe abgeleitet wird. Sofern die Anwendung hierbei ein sicheres Verfahren mit hinreichender Schlüssellänge verwendet, kann kein Recovery mehr garantiert werden.

Die übliche Schwachstelle ist jedoch das verwendete Passwort, das oft entweder zu kurz oder zu einfach gewählt wird und so auch das sicherste Verfahren entweder gegen vollständige Suche (Brute Force) oder gegen einen Wörterbuchangriff anfällig macht. Gegebenenfalls lässt sich letzterer durch Anpassung der verwendeten Wort-Listen an das soziale oder berufliche Umfeld des Anwenders noch deutlich beschleunigen.

Microsoft Office

Dokumente aus der Microsoft-Office-Suite haben schon früh – zunächst recht einfache – Zugriffsschutzverfahren aufgewiesen: Word 2.0/6.0 sowie Excel 4.0/5.0 haben die Dateien hierzu mit einem 16-Bit-Wert "exklusiv-verodert" (XOR), der aus dem Passwort abgeleitet wurde. Dieser Schutz lässt sich durch eine Known-Plaintext-Attacke leicht aushebeln, da die Dokumente immer bestimmte bekannte Werte enthalten. Auch die Beschränkungen von Access 2.0 können einfach aufgehoben werden, indem man die in einem .mda-File abgelegten Passwörter der darin eigens angelegten User-Accounts dechiffriert, denn der hierfür verwendete Schlüssel ist bekannt. Fehlt dieser "Berechtigungsspeicher" völlig, weigert sich Access zwar, eine geschützte Datei zu öffnen – mithilfe der User-IDs aus den Datenbank-Files lässt sich aber eine passende .mda-Datei nachbauen, die ein bekanntes Passwort enthält.

Mit Office 95 hat Microsoft das OLE-Format für Word- und Excel-Dokumente eingeführt, den schwachen Schutz gegen das Öffnen solcher Dateien hingegen aus den Vorgängerversionen übernommen. Zwei neue Zugangsbeschränkungen kamen hinzu: Zum einen ein Änderungsschutz-Passwort, das allerdings im Klartext in der Datei vorliegt, und zum anderen die Möglichkeit, einzelne Textfragmente oder Tabellenblätter zu schützen. Letzteres fällt in die zweite der genannten Kategorien: Aus der Benutzereingabe wird ein 16-Bit-Hash errechnet und als Vergleichswert im Dokument gespeichert. Aufgrund der geringen Länge ist es leicht möglich, eines von etlichen auf diesen Wert abgebildeten Passwörtern zu ermitteln. Auch Access 95 hat einen zusätzlichen Zugangsschutz erhalten, der beim versuchten Öffnen einer Datenbank ein Passwort erfragt – allerdings ist dieses im Datei-Header abgelegt und lediglich durch XOR mit einem bekannten Wert verschleiert, sodass es sich leicht ermitteln lässt.

Änderungen 97/2000

Microsoft Office 97/2000 brachte zwar keine Verbesserungen für Access, aber im Word- und Excel-Dokumentenschutz gegenüber unerwünschtem Öffnen gewisse Fortschritte durch den Einsatz "richtiger" Verschlüsselung: Über verschiedene MD5-Transformationen leitet die Software aus dem Passwort einen Krypto-Schlüssel ab, mit dem die Text-/Datenanteile der betreffenden Datei RC4-chiffriert werden. Ein zusätzlich abgelegter MD5-Hash eines Zufallswerts dient – nebst seinem verschlüsselten Zwilling – zur Gültigkeitsprüfung der Passwort-Eingabe.

Aufgrund der damaligen US-Exportbeschränkungen kam allerdings nur eine Schlüssellänge von 40 Bit zum Einsatz, sodass die verwendeten Passwörter durch vollständiges Durchsuchen des Schlüsselraums heute problemlos zu finden sind, selbst wenn eine Wörterbuch-Attacke scheitern sollte: Mit einem einzelnen 3-GHz-Pentium-IV-Prozessor dauert das maximal (!) 305 Stunden – bei einem verteiltem "Angriff" gehts entsprechend schneller. Die sonstigen Word- und Excel-Passwörter ähneln denen der Vorgängerversion; Gleiches gilt für die französische Edition (und einige weitere Länder), da dort selbst 40-Bit-RC4 zum Zeitpunkt des Erscheinens für "Normalbürger" verboten war.

Eine andere Neuerung von Office 97 war das eingebaute Visual Basic for Applications (VBA). Der Quellcode derartiger Makro-Programmierung kann in jedes potenziell passwortgeschützte Dokument aufgenommen werden. Hier kommt erneut ein Verfahren der zweiten Kategorie (Ablage eines Hash-Werts) zum Einsatz – und wiederum mit einem sehr einfachen Algorithmus, der leicht umkehrbar ist. Beim Speichern als so genanntes Excel-Add-in scheinen die Quelltexte zwar zunächst nicht verfügbar zu sein – auch diese Sicherung lässt sich aber durch die Änderung weniger Bytes im "Auxiliary Area" des Dokuments aufheben. Der Schutz eingebetteter VBA-Quellen ist also in Office 97/2000 nicht gewährleistet.

Als zusätzliches Programm umfasste die 97-er Office-Version erstmals Outlook. Die zugehörigen .pst-Dateien mit persönlichen Informationen lassen sich mit einem Kennwort schützen, das aber wiederum leicht zu ermitteln ist: Aus der Benutzereingabe wird (unter Verwendung von CRC32) eine Prüfsumme gebildet und als Vergleichswert in der Datei gespeichert, zu dem sich einfach eine passende Eingabe errechnen lässt.

Über die Applikation gesicherte Zugangskennungen für E-Mail-Konten speichert Outlook 97 hingegen in der Windows-Registry (im Ast mit den MAPI-Settings) – vordergründig chiffriert, aber nur mit einem schwachen Verfahren und bekanntem Schlüssel. Outlook 2000 nutzt hierfür Microsofts "Protected Storage" – doch so, wie die rechtmäßige Applikation einen Schlüssel dort abfordern kann, gelingt dies auch einem Recovery-Programm.

Fortschritt XP/2003

Eine deutliche Verbesserung für den "Öffnungsschutz" in Word und Excel sowie die Erweiterung auf PowerPoint haben die XP/2003-Versionen bedeutet. Nunmehr kommt bei der Verschlüsselung die Microsoft Crypto API zum Einsatz, sodass auch starke Algorithmen verwendbar sind. Standardmäßig liefert Microsoft (außer in weiterhin exportbeschränkte "Schurkenstaaten") 128-Bit-RC4 mit, sodass Brute-Force hierauf keine erfolgversprechende Angriffsmethode mehr ist; zum Hashing des Passworts dient zudem jetzt SHA-1. Ein Passwort-Recovery ist somit auch hier nur noch über "Angriffe" möglich – ein 3-GHz-Pentium-IV-Prozessor kann dazu rund 300 000 Tests pro Sekunde liefern, was bedeutet, dass bei einem guten Passwort kein Recovery in vertretbarer Zeit mehr möglich ist.

Leider gibt es aber eine Falle, die der Anwender oder Administrator vermeiden muss: Aus Gründen der Abwärtskompatibilität zu früheren Versionen hat den schwachen Office-97/2000-kompatiblen Schutz als Voreinstellung eingerichtet. Um tatsächlich eine starke Verschlüsselung zu erhalten, muss man daher zunächst einmal in den erweiterten Sicherheitsoptionen den entsprechenden Cryptographic Provider auswählen (vgl. Abb. 1).

[Screenshot]
Abbildung 1: Obwohl Office XP/2003 starke Verschlüsselung zum Dokumentenschutz unterstützt, ist standardmäßig eine schwache abwärtskompatible Sicherung eingestellt.

In Sachen VBA-Makro-Schutz wurde zwar durch Einsatz von SHA-1 dafür gesorgt, dass ein entsprechendes Passwort nicht mehr zurückgerechnet werden kann. Andererseits ist es durch die Hinterlegung des Hashs im Dokument weiterhin möglich, diesen gegen einen "genehmen" Wert auszutauschen, zu dem das Passwort bekannt ist (bzw. diesen Schutz komplett zu entfernen).

Eine zusätzliche Passwortoption zum Änderungsschutz erhielt PowerPoint: Erstaunlicherweise gehört diese Ergänzung zu der banalen "Kategorie 1", dem Hinterlegen des Passwort-Klartexts im Dokument, das zwar selbst chiffriert ist, aber nur mit einem festen, bekannten Schlüssel (der Key besteht aus zwei Vornamen, möglicherweise eines Entwicklers).

Beim unrühmlichen Alten (CRC32) blieb der .pst-Schutz von Outlook, die Passwortablage für E-Mail-Konten wurde hingegen deutlich überarbeitet: Die Zugangskennungen landen jetzt wieder in der Registry, allerdings wirksam verschlüsselt über die Systemfunktion CryptProtectData(). Diese Funktion beruht auf dem Anmeldeschutz von Windows: Solange der Anwender mit seinem Systempasswort eingeloggt ist, erfolgen Zugriff/Recovery völlig transparent – wenn das Systempasswort eines Users allerdings extern geändert wird, verfallen die zugehörigen Daten dieser Funktion und die gespeicherten Zugangskennungen können nicht mehr dechiffriert werden. Die Sicherheit dieser Daten hängt insofern direkt von der Sicherheit beziehungsweise Angreifbarkeit des Systempassworts eines Anwenders ab, was ein Thema für sich ist.

Ausblick 2007

Die aktuelle Office-Beta verspricht nochmals klare Verbesserungen für die nahe Zukunft: Beispielsweise wird hier voraussichtlich die notwendige Auswahl für einen starken Crypto-Provider entfallen und statt RC4 wird der Advanced Encryption Standard (AES) zum Dokumentenschutz eingesetzt. Es ist zu hoffen, dass somit als Angriffspunkte nur noch schlecht gewählte Passwörter übrig bleiben.

----------Anfang Textkasten----------

Office-Empfehlungen

Wer den Dokumentenschutz von Office nutzen will, sollte unbedingt die XP/2003-Edition verwenden und in den Optionen den "Strong Cryptographic Provider" mit einer Schlüssellänge von 128 Bit wählen (ein Öffnen mit älteren Versionen ist dann allerdings nicht mehr möglich). Sofern ein hinreichend starkes Passwort gewählt wird, sind Word-, Excel- und PowerPoint-Dateien damit wirksam vor ungewolltem Öffnen geschützt. Starke Passwörter bestehen aus mindestens acht Zeichen, enthalten Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen und ihre Teil-Strings kommen in keinem Wörterbuch vor (inkl. gängiger Fantasie-Sprachen!).

Das Speichern von Zugangskennungen zu E-Mail-Accounts sollte unter Outlook nur nutzen, wer allein an seinem Computer arbeitet. Der eingebaute Schutz für .pst-Dateien ist zudem nicht verlässlich. Zur Speicherung schutzwürdiger Daten sollte man stattdessen auf den Exchange-Server zurückgreifen oder eine Verschlüsselung auf Datei- oder Ordnerbasis (ggf. durch Drittanbieter) einrichten.

Wer schutzwürdige VBA-Makros entwickelt, sollte keinesfalls den Quellcode einbinden, da der entsprechende Passwortschutz sich aushebeln lässt. Stattdessen sollten Makros kompiliert und nur der Compiler-Code eingebunden werden. Für Access-Datenbanken gilt Vergleichbares: In kompilierten .mde-Files sind die Quelltexte nicht verfügbar.

----------Ende Textkasten----------

Portable Document Format (PDF)

Auch das von Adobe entwickelte Portable Document Format (PDF) sieht bereits seit der zweiten Version der Spezifikation (PDF 1.1) eine Verschlüsselungsoption zum Dokumentenschutz vor. Allerdings scheint die erste Implementierung nicht sehr erfolgreich gewesen zu sein, da der Hersteller selbst angibt, dass dieser Algorithmus weder unterstützt werde noch sein Einsatz zu empfehlen ist (Implementierungsdetails sind allerdings nicht verfügbar).

Um mehr Flexibilität beim Ableiten des Krypto-Schlüssels aus der Benutzereingabe (Passwort) zu ermöglichen, sieht Adobes PDF-Software Acrobat so genannte Security Handler vor, die als Plug-in arbeiten. Bis einschließlich der 5-er-Versionen von Acrobat oblag aber die eigentliche Verschlüsselung der Software selbst (vor 5.0 mit einem 40-Bit-Schlüssel, danach mit 128 Bit). Seit Acrobat 6.0 (bzw. PDF Version 1.5) können jedoch Security Handler von Drittanbietern auch die Chiffrierung selbst übernehmen, sodass hier umfangreiche Möglichkeiten entstanden sind.

Der Standard Security Handler von Adobe, der in Acrobat und im kostenlosen Acrobat Reader vorliegt, sieht zwei verschiedene Passwörter vor: eines für Benutzer (vor allem zum Öffnen und Lesen) und eines für den Autorenzugriff (vgl. Abb. 2). Hierbei ist zu beachten, dass sich ein PDF-Dokument regulär entschlüsseln lässt, sofern eines der beiden Passwörter bekannt ist oder das Benutzerpasswort nicht gesetzt ist. In beiden Fällen ist es möglich, eventuelle Restriktionen, die der Autor vorgesehen hat, zu entfernen.

[Screenshot]
Abbildung 2: Beim PDF-Zugriffsschutz gilt es zu beachten, dass Restriktionen entfernt werden können, sofern eines der zwei möglichen Passwörter bekannt oder nicht gesetzt ist.

Bezüglich der verwendeten Verschlüsselung selbst sind ältere Versionen mit 40-Bit-Schlüsseln angreifbar: Um ein Benutzer-Passwort zu prüfen sind lediglich ein MD5-Hash und eine RC4-Entschlüsselung von 32 Byte notwendig – für das Autoren-Passwort muss man diesen Vorgang zweimal durchführen. 40-Bit-Schlüssel lassen sich daher auf einem modernen Computer innerhalb einer Woche per Brute-Force finden. Die spezielle Verwendung des Krypto-Keys ermöglicht zudem eine Vorausberechnung und Speicherung von Hilfsdaten für alle 240 möglichen Schlüssel, die anschließend ein noch schnelleres Recovery verspricht.

Diese Angreifbarkeit wurde jedoch mit der neuen Algorithmus-Version von Acrobat 5 behoben: Zur Prüfung eines Benutzer-Passworts sind seither 51 MD5-Hashes und 20 RC4-Entschlüsselungen notwendig, was den Prüfvorgang deutlich verlängert – zudem ist es unmöglich einen 128-Bit-Schlüsselraum vollständig zu durchsuchen.

Fazit

In prominenten Anwendungen hat sich in Sachen Dokumentenschutz einiges getan. Auch heute gibt es aber noch etliche Applikationen, die intern nur einen banalen oder minimalen Schutz vorsehen. Das gilt beispielsweise für die Passwortspeicher fast aller E-Mail- und Instant-Messaging-Clients, die daher nur mit großer Vorsicht eingesetzt werden sollten. In der Regel genügt es, einen festen Krypto-Schlüssel aus einem solchen Programm zu extrahieren, um alle gesicherten Zugangskennungen zu dechiffrieren, sofern man Zugriff auf die entsprechende Datei erlangt.

Besteht die Notwendigkeit zum Passwort-Recovery für ein geschütztes Dokument, so hat man bei älteren Versionen gute Chancen auf eine schnelle Wiederherstellung mit einem Recovery-Tool – ansonsten bleibt nur, per Brute-Force oder Wörterbuch-Attacke anzugreifen und ausnahmsweise einmal zu hoffen statt zu befürchten, dass der Anwender ein schlechtes Passwort gewählt hat.

Andrey Malyshev ist Chief Technical Officer (CTO) bei ElcomSoft Co. Ltd. ([externer Link] www.elcomsoft.com).