Office-Dokumente und Sicherheit

Viren als Anlagen von Mails sind immer noch ein beliebter Angriffsweg und jeder halbwegs ordentliche Virenscanner und Spamfilter sollte entsprechend aufmerksam die Anlagen betrachten. Wenn eine Anlage unerwünscht ist, sollte der Spamfilter die Mail am besten gar nicht erst annehmen, damit der Absender einen NDR von seinem System bekommt.

NDR auf DOCX?

Wenn Sie aber bei einem Kunden arbeiten und dann eine Word-Dokumentation per Mail senden, dann erwarten Sie natürlich nicht, dass diese Mail abgelehnt wird. Aber genau das ist mir passiert.

Ich habe natürlich den Kunden darauf angesprochen, wie ich denn nun Das Dokument zu ihm bringen kann. Darauf ergab sich eine Diskussion über die generelle Sicherheit von Office Dokumenten. Die Inhalte dazu beschreibe ich auf dieser Seite.

Unterschied DOC/DOCX

In meinen Fall war die Besonderheit, dass der Kunde "DOCX" geblockt hat. Wir wissen alle das bei Office 2003 und früher das alte Format (DOC, XLS, PPT) genutzt wurde. In einem DOC-File können sich natürlich Makros u.a. befinden, die damals beim Öffnen sogar alleine starten und mit den Rechten des Benutzers Aktionen auslösen können. Dazu gehörte natürlich auch, dass die Office Produkte sich nicht wirklich gewehrt haben. Makro Security mit Warnungen, Beschränkungen etc. wurde erst im Laufe der Zeit implementiert.

Mit Office 2007 wurde ein neues Dokument-Format eingeführt, welches sich natürlich nicht sofort etabliert hat. Solange die überwiegende Anzahl an Anwendern noch mit früheren Office-Versionen gearbeitet haben und ohne extra zu installierenden Konverter auch nicht die neuen Formate nutzen konnten, haben viele Firmen immer noch die alten Formate genutzt. Mittlerweile sind viele Jahre vergangen und die neuen Formate können als Default genutzt werden.

Die Nutzung der neuen Formate hat durchaus Vorteile, da ein DOCX eigentlich ein ZIP-Archiv mit einer definierte Ordnerhierarchie und Inhalten sind. Das öffnet ganz neue Wege für die automatisierte Verarbeitung von solchen Inhalten bei der Speicherung. Die alten DOC-Dateien waren angeblich ein FAT-Dateisystem als Image, dessen Struktur aber nicht öffentlich war. Benennen Sie doch mal eine DOCX-Datei nach .ZIP um und öffnen diese.

Auch eingebettete Objekte, vor denen immer so oft gewarnt wird, können in einer DOCX zumindest in der ersten Ebene einfach erkannt werden. In meiner Muster-DOCX habe ich eine Word-Datei und zweimal die CMD.EXE eingebettet, bei denen ich aber das Icon getauscht habe. Wenn ich noch den Namen anpasse, dann wird der normale Anwender keinen Unterschied mehr erkennen.

Allerdings ist zumindest mein Office 365 schlauch die CMD.EXE nicht zu starten, auch wenn es aus dem Icon nicht ersichtlich ist.

Ältere Office-Versionen sind hier aber vielleicht leichter verwundbar. In der DOCX-Datei hingegen wird klar, dass es kein Dokument, sondern eine Binärdatei ist

Allerdings ist das nun nicht die CMD.EXE in Reinform, sondern eingekapselt in ein OLE-Objekt. Ein Malware-Scanner könnte aber hier sehr gut erkennen, ob in einer DOCX vielleicht doch ein Objekt eingebettet ist, welches nicht gewünscht ist.

Makros und DOCX und Co

Eine besondere Behandlung hat Microsoft sich damals für Makros überlegt. Wenn ich meine Dateiserver so anschaue, dann sind die meisten Office-Dokument zwar mit eingebetteten Bildern, Visio-Grafiken etc. gespickt aber Makros sind eher selten. Es gibt natürlich Makros, um bei der Anlagen neuer Dateien zu unterstützen und die ein oder andere Excel-Datei wird auch Makros haben.

Aber Microsoft hat Dateien mit Makros eine eigene Extension spendiert. Die Mehrzahl der Office Dokumente ohne Makro haben als eine bekannte Extension und die Office Produkte blockieren auch Makros in diesen Dateien. Sie könne ja mal eine DOCX-Datei mit einem Makro versehen und diese versuchen zu speichern. Starten Sie einfach Word und wechseln sie mit "ALT-F11" in den Makro Editor und legen Sie ein Beispiel an

Beim Speichern schlägt Word zwar noch DOCX vor aber der Versuch wird abgebrochen

Also speichere ich die Datei als DOCM ab. Beim Öffnen kommt dann wie gewohnt die Warnung

Wenn ich dann aber die DOCM nach DOCX umbenenne und öffnen möchte, dann blockt Word dies direkt

Die Office 2007+ Formate sind absichtlich so gemacht, dass „Makro-Inhalte“ und „passive Informationen“ getrennt gespeichert werden müssen. Das gibt nicht nur für Word, sondern auch für Excel, PowerPoint u.a.

Applikation

Altes Format
Makros sind möglich

Neues Format

Ohne Makros

Neues Format

MIT Makros

Word

DOC

DOCX

DOCM

Excel

XLS

XLSX

XLSM

PowerPoint

PPT

PPTX/PPT

PPTM

Visio

VSD

VSDX

?

Project

PRJ

PRJX

?

Es gibt noch weitere Dateierweiterungen, die ich aber nicht alle nun aufgeführt habe.

Makroschutzzonen und Codesignatur

Auch wenn die meisten Dokumente ohne Makros arbeiten, gibt es in jeder Firma den Bedarf für Makros. Als Administrator müssen Sie natürlich auch darauf eine Antwort haben. Dazu gibt es einmal die Einstellungen in Office selbst:

Hier verrät sich auch schon das zweite Kriterium, mit welchem Sie "gute bekannte" Makros zulassen können: "Digitale Signatur". Wer immer Code schreibt, sollte sich auch mit der Thematik der digitalen Signatur beschäftigen. Über den Weg kann der Entwickler nicht nur nachweisen, dass er der Autor ist. Im gleichen Zug wird eine Veränderung des Code verhindert, da dann die Signatur nicht mehr gültig ist.

Eine Signatur basiert auf einem Vertrauen auf den Aussteller. Der Aussteller muss nicht unbedingt eine öffentlichen PKI sein, wenn die Makros nur intern auf firmeneigenen Geräten eingesetzt werden. Eine eigene PKI (Zertifikatsstelle in der eigenen Firma) ist meist ausreichend, um für die Entwickler ein Zertifikat auszustellen. Die RootCA ist hier in der Regel auf allen Clients vertrauenswürdig.

Theoretisch würde auch ein "SelfSignedCert"-Zertifikat reichen, was dann auf allen Clients als "Trusted" addiert wird. Sinnvoll ist dies aber nicht, da so ein Zertifikat nicht einfach ungültig (Stichwort CRL - Certificate Revocation List) gemacht werden kann.

Restrisiko

Im Grunde sind signierte Makros die ideale Lösung. Es ist aber zu befürchten, dass natürlich auch Angreifer ihre Makros signieren können. Auch Zertifikate können auf falsche Namen ausgestellt oder von einem vertrauenswürdigen Anbieter abgegriffen werden. Nicht jeder wird sein Codesigning-Zertifikat auf einer physikalischen Smartcard ausgelagert haben. Dann ist ein Anwender natürlich schon versucht, das Makro als vertrauenswürdig auszuführen.

Aber selbst wenn Makro nicht signiert ist oder der Angriff über ein eingebettetes unsichereres Objekt erfolgt, so kann ein Angreifer das Dokument einfach nur "geschickt" formatieren.

Ein Angreifer erstellt eine DOCX in die ein DOC eingebettet ist. Das DOCX ist so geschickt formatiert und beschriftet, das der Anwender „glaubt“ es wäre eine Office Systemmeldung. Also irgendwas von „Dieses Dokument ist verschlüsselt, Klick hier doppelt um zu entschlüsseln“. Der Klick startet dann das eingebettete DOC, welches dann wieder nach der alten Schutzfunktion betrachtet wird.

Aus meiner Sicht stelle ich aber im Jahre 2018, also 15 Jahre nach Einführung der neuen Extensions und des neuen Formats, die Frage nach der Abschaltung der alten Dateiformate. Warum nicht einfach DOC, XLS, PPT komplett blocken?

Zum einen müssten natürlich auch ihre Kommunikationspartner dann immer die neuen Formate senden. Kniffliger ist sicher der Umgang mit alten Dateien in den eigenen Datenspeichern. Es kann durchaus sein, dass vor einigen Jahren eben noch DOC/XLS/PPT-Dateien abgelegt wurden, die weiterhin zumindest gelesen werden müssen. Wobei Sie hier auch eine Konvertierung nach PDF eine andere Option sein könnte, obwohl PDF auch schon lange nicht mehr nur ein "ReadOnly"-Format ist. Teilweise ist PDF auch die Möglichkeit von Skripten und eingebetteten Inhalten schon fast gefährlicher als Office Dokuments

Grundsätzlich ist DOCX, XLSX, PPTX aber schon „sicherer“, da der Anwender schon mehrfach aktiv werden muss. „Von alleine“ läuft hier nichts mehr los. Zumindest bis nicht jemand den nächsten Software-Fehler erkennt. Eine Schutz-Software sollte aber heute schon DOCX „lesen“ können. Es ist ja nur ein „ZIP-File“ und da drin sollte man dann schon eine DOC-Datei oder andere Dinge als Container wiederfinden.

Weitere Links