Zum Inhalt springen

Microsoft Office härten: Makros, OLE und Add-ins

Microsoft 365 Apps absichern: Internetmakros blockieren, XLM abschalten, VBA per AMSI scannen, geschützte Ansicht behalten, signierte Add-ins, OLE und DDE stoppen.

Florian Amette8 Min. Lesezeit

Office-Dokumente sind nach wie vor eine der häufigsten ersten Stufen eines Angriffs. Makros erhalten die meiste Aufmerksamkeit, doch Angreifer nutzen auch Excel-4.0-Makros (XLM), eingebettete OLE-Pakete, DDE-Felder, bösartige Add-ins und alles, was einen Benutzer dazu verleitet, die geschützte Ansicht zu verlassen. Microsoft hat die Standards seit 2022 deutlich verschärft. Jetzt geht es darum, diese Standards in erzwungene Richtlinien zu überführen und die Seiteneingänge zu schließen.

Dieser Leitfaden behandelt die Office-Seite. Der Leitfaden zu ASR-Regeln behandelt die Defender-Regeln, die Office eindämmen, wenn doch etwas ausgeführt wird, und das Thema Reduzierung der Angriffsfläche fasst den Bereich zusammen.

Voraussetzungen

  • Microsoft 365 Apps (oder Office 2019/2021/2024) auf einem unterstützten Kanal. Die folgenden Einstellungen verwenden den Registrierungspfad 16.0, den alle aktuellen Versionen teilen.
  • Administrative Vorlagen für Office (ADMX/ADML) aus dem Microsoft Download Center, in den zentralen Speicher kopiert. Die meisten Einstellungen liegen unter User Configuration, weil Office-Richtlinien benutzerbezogen sind.
  • Alternativ der Cloud-Richtliniendienst (config.office.com) oder der Einstellungskatalog in Intune, die dieselben Einstellungen bereitstellen und dem Benutzer auch auf nicht verwaltete Geräte folgen.

Die Sicherheitsbaseline für Microsoft 365 Apps im Security Compliance Toolkit enthält das meiste des Folgenden; vergleichen Sie sie mit Ihrem aktuellen Stand, bevor Sie sie importieren.

Schritt 1: Makros aus dem Internet ausdrücklich blockieren

Setzen Sie für Word, Excel, PowerPoint, Access und Visio jeweils:

User Configuration > Policies > Administrative Templates > Microsoft Word 2016 > Word Options > Security > Trust Center > Block macros from running in Office files from the Internet = Enabled

Die Pfade der anderen Anwendungen sind analog (Microsoft Excel 2016 > Excel Options > Security > Trust Center usw.). Der Registrierungswert lautet:

Text
HKCU\Software\Policies\Microsoft\Office\16.0\<app>\Security
  blockcontentexecutionfrominternet   REG_DWORD 1

Die Blockierung hängt vom Mark of the Web ab, dem alternativen Datenstrom Zone.Identifier, den Browser und Mailclients setzen. Zwei Konsequenzen:

  • Fügen Sie der Zone Vertrauenswürdige Sites keine breiten Domänen, Ihren SharePoint-Mandanten oder Dateiserver hinzu, nur damit eine Anwendung funktioniert. Dateien aus vertrauenswürdigen Zonen sind ausgenommen.
  • Dateien, die über einen UNC-Pfad per IP-Adresse oder FQDN erreicht werden, können als Internetzone behandelt werden. Korrigieren Sie die Siteliste der Zone Lokales Intranet, statt die Richtlinie abzuschwächen.

Schritt 2: Einen strikten VBA-Standard setzen

Trust Center > VBA Macro Notification Settings = Enabled, Disable all except digitally signed macros (oder Disable all without notification, wo niemand Makros braucht). Registrierungswert VBAWarnings:

WertBedeutung
1Alle Makros aktivieren (niemals)
2Alle mit Benachrichtigung deaktivieren (Benutzer kann auf Aktivieren klicken)
3Alle außer digital signierten Makros deaktivieren
4Alle ohne Benachrichtigung deaktivieren

Damit signierte Makros laufen, signieren Sie sie mit einem Codesignaturzertifikat und verteilen es über Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Publishers in den Speicher Vertrauenswürdige Herausgeber. Setzen Sie außerdem Trust Center > Turn off trusted documents = Enabled, damit ein Benutzer, der einmal auf Inhalt aktivieren geklickt hat, dieser Datei nicht dauerhaft vertraut.

Schritt 3: XLM-Makros abschalten und VBA per AMSI scannen

Excel-4.0-Makros sind älter als VBA, stecken in ausgeblendeten Blättern und haben jahrelang viele Kontrollen umgangen. Setzen Sie:

Microsoft Excel 2016 > Excel Options > Security > Trust Center > Prevent Excel from running XLM macros = Enabled (Registrierung XL4MacroOff = 1 unter ...\16.0\Excel\Security).

Lassen Sie dann Defender (oder jeden AMSI-fähigen Virenschutz) das Makroverhalten zur Laufzeit sehen:

Microsoft Office 2016 > Security Settings > Macro Runtime Scan Scope = Enable for all documents (Registrierung MacroRuntimeScanScope = 2 unter HKCU\Software\Policies\Microsoft\Office\16.0\Common\Security).

Ohne diese Einstellung gilt die AMSI-Prüfung von VBA nur für weniger vertrauenswürdige Dokumente. Wie die Schnittstelle funktioniert, erklärt AMSI.

Schritt 4: Die geschützte Ansicht aktiv lassen

Die geschützte Ansicht öffnet riskante Dateien schreibgeschützt in einer Sandbox. Jede Einstellung unter Trust Center > Protected View ist als „Do not...“ oder „Turn off...“ formuliert; der sichere Wert ist also Disabled:

EinstellungSicherer Wert
Do not open files from the Internet zone in Protected ViewDisabled
Do not open files in unsafe locations in Protected ViewDisabled
Turn off Protected View for attachments opened from OutlookDisabled
Set document behavior if file validation failsEnabled, Open in Protected View, Bearbeiten nicht zulassen

Blockieren Sie unter Trust Center > File Block Settings das Öffnen alter Binärformate, die niemand nutzt (Dokumente von Word 2 und früher, Excel-4-Arbeitsmappen und Makroblätter sowie ähnliche Formate aus der Zeit vor 97). Sie existieren heute vor allem für Angreifer.

Schritt 5: Add-ins, vertrauenswürdige Speicherorte und ActiveX

  • Require that application add-ins are signed by Trusted Publisher = Enabled, zusammen mit Disable Trust Bar Notification for unsigned application add-ins and block them = Enabled. Erfassen Sie vorher die COM- und VSTO-Add-ins (Datei > Optionen > Add-Ins auf einer Stichprobe von Computern oder über Ihre Softwareinventur); nicht signierte hausinterne Add-ins müssen vor dem Erzwingen signiert werden.
  • Vertrauenswürdige Speicherorte: Setzen Sie Allow Trusted Locations on the network = Disabled und entfernen Sie von Benutzern beschreibbare Speicherorte. Ein Makro an einem vertrauenswürdigen Speicherort läuft ohne Abfrage und ohne Prüfung des Mark of the Web; ein vertrauenswürdiger Speicherort, auf den Benutzer schreiben können, ist also ein Bypass.
  • Disable All ActiveX unter Microsoft Office 2016 > Security Settings = Enabled, wo in Dokumenten keine ActiveX-Steuerelemente verwendet werden.

Schritt 6: OLE-Pakete und DDE

Eingebettete OLE-Objekte vom Typ Package erlauben einem Dokument, ein Skript oder eine ausführbare Datei mitzuführen, die bei Doppelklick ausgeführt wird. Blockieren Sie die Aktivierung pro Anwendung:

Text
HKCU\Software\Microsoft\Office\16.0\Word\Security
  PackagerPrompt   REG_DWORD 2   (0 = run without prompt, 1 = prompt, 2 = do not run)

Setzen Sie denselben Wert für Excel und PowerPoint. Verteilen Sie ihn per Gruppenrichtlinieneinstellungen oder Intune, falls Ihre Vorlagenversion dafür keine ADMX-Einstellung bietet.

Für DDE setzen Sie Don't allow Dynamic Data Exchange (DDE) server launch in Excel und Don't allow Dynamic Data Exchange (DDE) server lookup in Excel auf Enabled. In Word setzen Sie AllowDDE = 0 (REG_DWORD unter HKCU\Software\Microsoft\Office\16.0\Word\Security), was DDE deaktiviert und seit dem Update vom Dezember 2017 der Standard ist; 1 erlaubt DDE nur zu bereits laufenden Programmen, 2 erlaubt es vollständig. Erzwingen Sie 0, damit es niemand wieder aktiviert.

Outlook hat eine eigene Makroeinstellung (Microsoft Outlook 2016 > Security > Trust Center > Security setting for macros). Setzen Sie sie auf Warnung bei signierten und Deaktivierung nicht signierter Makros oder auf keine Warnung und Deaktivierung aller Makros.

Schritt 7: Makroabhängigkeiten vor dem Erzwingen finden

Der größte Teil des Ärgers in diesem Projekt entsteht, weil man nicht weiß, wer Makros nutzt. Bevor Sie ausschließlich signiertes VBA erzwingen, suchen Sie nach makrofähigen Dateien auf den Freigaben und in den OneDrive- oder SharePoint-Bibliotheken, die die Fachabteilungen tatsächlich nutzen:

PowerShell
Get-ChildItem -Path \\fs01\Departments -Recurse -Include *.xlsm, *.xlam, *.xls, *.docm, *.dotm, *.pptm -ErrorAction SilentlyContinue |
  Group-Object { $_.Directory.FullName } |
  Sort-Object Count -Descending |
  Select-Object Count, Name -First 50

Sortieren Sie die Ergebnisse nach Ordner und nach letztem Schreibzeitpunkt. Dateien, die seit Jahren niemand angefasst hat, sind Archivmaterial, kein Hindernis. Aktive Ordner liefern Ihnen die Namen der Teams, mit denen Sie sprechen müssen: Sie lassen ihre Makros signieren, verschieben sie an einen kontrollierten vertrauenswürdigen Speicherort oder ersetzen sie durch ein unterstütztes Werkzeug. Beachten Sie, dass auch .xls-Dateien VBA enthalten können; die Dateiendung allein beweist also nichts. Die Liste ist ein Ausgangspunkt für Gespräche, keine Inventur.

Während das läuft, erzwingen Sie sofort die Blockierung von Internetmakros und das Abschalten von XLM. Beides bricht fast nie legitime Arbeit und schließt den häufigsten Zustellweg.

Was kaputtgeht

  • Arbeitsmappen von Partnern, die auf Makros angewiesen sind, öffnen sich jetzt ohne sie. Lassen Sie sie vom Verantwortlichen signieren oder öffnen Sie sie aus einem kontrollierten vertrauenswürdigen Speicherort.
  • Alte Excel-Modelle mit XLM-Funktionen rechnen nicht mehr. Durchsuchen Sie Dateifreigaben vor dem Erzwingen nach .xlm und nach Arbeitsmappen mit Makroblättern.
  • Nicht signierte COM-Add-ins (CRM-Konnektoren, PDF-Werkzeuge) werden blockiert, sobald Signaturen verlangt werden. Beschaffen Sie zuerst signierte Versionen.
  • Dokumentvorlagen auf einer Netzwerkfreigabe, die als vertrauenswürdige Speicherorte dienen, funktionieren nicht mehr, wenn vertrauenswürdige Netzwerkspeicherorte deaktiviert sind. Verschieben Sie sie nach SharePoint oder in einen lokalen, nur für Admins beschreibbaren Pfad.
  • ActiveX-Steuerelemente in Formularen werden nicht mehr geladen.

Pilotieren Sie zwei Wochen lang mit der IT und einem Fachteam, sammeln Sie die Beschwerden, beheben Sie sie an der Quelle und weiten Sie dann aus.

Überprüfen

Auf einem Pilotgerät, als Benutzer:

PowerShell
$base = "HKCU:\Software\Policies\Microsoft\Office\16.0"
foreach ($app in "Word","Excel","PowerPoint") {
  Get-ItemProperty "$base\$app\Security" -ErrorAction SilentlyContinue |
    Select-Object @{n='App';e={$app}}, blockcontentexecutionfrominternet, VBAWarnings, RequireAddinSig
}
Get-ItemProperty "$base\Excel\Security" -Name XL4MacroOff -ErrorAction SilentlyContinue
Get-ItemProperty "$base\Common\Security" -Name MacroRuntimeScanScope -ErrorAction SilentlyContinue

Wenn Sie den Cloud-Richtliniendienst verwenden, landen die Werte stattdessen unter HKCU\Software\Policies\Microsoft\Cloud\Office\16.0. Testen Sie dann die Funktion: Laden Sie ein harmloses makrofähiges Dokument aus dem Internet herunter und bestätigen Sie, dass das rote Banner Sicherheitsrisiko ohne Schaltfläche Inhalt aktivieren erscheint. Auf Defender-Seite erscheinen AMSI-Erkennungen von Makroinhalten als normale Erkennungen (Ereignis 1116) im Defender-Operational-Protokoll.

Checkliste

  • Office-ADMX-Vorlagen aktuell oder Cloud-Richtliniendienst / Intune-Einstellungskatalog im Einsatz
  • Block macros from the Internet für Word, Excel, PowerPoint, Access und Visio aktiviert
  • VBA auf nur signierte Makros oder deaktiviert gesetzt; vertrauenswürdige Dokumente aus
  • XLM-Makros deaktiviert; Macro Runtime Scan Scope = alle Dokumente
  • Alle Einstellungen der geschützten Ansicht auf sicheren Werten; alte Formate blockiert
  • Add-ins müssen signiert sein; keine von Benutzern beschreibbaren oder Netzwerk-Speicherorte als vertrauenswürdig
  • Aktivierung von OLE-Paketen und DDE blockiert
  • Office-ASR-Regeln parallel erzwungen

Häufige Fragen

Blockiert Microsoft Makros aus dem Internet nicht bereits standardmäßig?

Ja, aktuelle Microsoft 365 Apps blockieren VBA-Makros in Dateien mit Mark of the Web für Word, Excel, PowerPoint, Access und Visio. Dieser Standard ist jedoch ein Verhalten, keine Richtlinie; Benutzer und ältere Builds können Makros also weiterhin zulassen. Wird die Richtlinie ausdrücklich gesetzt, ist die Blockierung durchsetzbar, auswertbar und über alle Kanäle einheitlich.

Unser Finanzteam braucht Makros. Wie lassen sie sich am sichersten zulassen?

Signieren Sie die Makros mit einem Codesignaturzertifikat, verteilen Sie dieses Zertifikat als vertrauenswürdigen Herausgeber und stellen Sie die VBA-Makrobenachrichtigung auf das Deaktivieren aller Makros außer digital signierten. Ist Signieren unmöglich, verwenden Sie einen einzigen, streng kontrollierten vertrauenswürdigen Speicherort auf einer Freigabe, auf die normale Benutzer nicht schreiben können, statt Makros überall zuzulassen.

Ersetzen diese Einstellungen die ASR-Regeln für Office?

Nein, sie ergänzen sie. Die Office-Richtlinie verhindert, dass ein Makro überhaupt ausgeführt wird; ASR-Regeln begrenzen, was ein dennoch ausgeführtes Makro tun kann, etwa Kindprozesse starten oder Win32-APIs aufrufen. Konfigurieren Sie beides, denn Benutzer und Angreifer finden regelmäßig Wege um eine einzelne Ebene herum.

Microsoft Office härten: Makros, OLE und Add-ins

Verwandte Leitfäden

Reduzierung der Angriffsfläche

Microsoft Edge per Gruppenrichtlinie und Intune härten

Microsoft Edge per Richtlinie härten: erzwungener SmartScreen, Allowlist für Erweiterungen, erweiterter Sicherheitsmodus, Downloadbeschränkungen und schnelle Updates.

Grundlagen
Reduzierung der Angriffsfläche

ASR-Regeln: GUIDs und sicherer Rollout

Praxisreferenz zu den ASR-Regeln von Microsoft Defender: was jede Regel blockiert, ihre GUID, was zuerst erzwingen, Überwachungsmodus, Ereignis-IDs und Ausnahmen.

Grundlagen