Inzwischen sollte allgemein bekannt sein, dass Office-Makros gefährlich sind. Gefährlicher denn je, da Malware häufig über Makros verteilt wird. Aktuell passiert dies mit der Emotet-Welle, die bereits diverse Unternehmen (darunter viele Schweizer Firmen) eiskalt erwischt hat. Der Schaden ist zum Teil immens. Für den optimalen Schutz ist die Kombination von technischen und organisatorischen Massnahmen entscheidend. Zudem müssen die Benutzer regelmässig und angemessen geschult werden. Aktuell ist ein Trend zu beobachten, dass der "schwarze Peter" vermehrt den Benutzern zugeschoben wird. Dazu gilt es festzuhalten, dass der umsichtige, kritische und vorsichtige Umgang mit der IT durch die Benutzer tatsächlich sehr wichtig ist. Es gibt technische Massnahmen, welche die Risiken für einen erfolgreichen Malware-Befall deutlich senken. Unserer Erfahrung nach werden diese zu oft vernachlässigt. Besonders beim Umgang mit Makros fehlt es häufig an Fachwissen. Diese Ausgangslage hat mich für den vorliegenden BLOG inspiriert.

Nochmals: Malware (insbesondere die brandgefährliche Malware Emotet) dringt häufig über eine per E-Mail versendete Word-Datei ein, bei der Makros eingebunden worden sind. Deshalb ist folgende Einstellung, eigentlich die einzig richtige Option:

Makro 1

Doch warum werden heute immer noch Makros zugelassen? Weil sich damit bequeme «fancy» Buttons in Excel und Co. programmieren lassen? Oder werden sie wirklich für komplexe Abläufe eingesetzt? Vermutlich sowohl als auch. Wir sind (aus Sicht der Sicherheit) der Meinung, Makros müssen grundsätzlich verboten werden.

Das lässt sich relativ einfach mittels der Einstellung im Trust Center (siehe oben) von Office einstellen. Automatisiert geht das natürlich auch einfacher mit Gruppenrichtlinien.

Sind Sie bereits soweit? Gratuliere! Dann können Sie herunterscrollen bis zum letzten Abschnitt «Weitere wichtige Schutzmassnahmen». Möchten oder müssen Sie weiterhin mit Makros arbeiten? Dann lesen Sie bitte weiter. Glücklicherweise gibt es auch in diesem Fall Möglichkeiten, den Schutz deutlich zu erhöhen.

Okay, es gibt ja auch einige Anwendungsbeispiele, die es erfordern Makros einzusetzen. Ist das bei Ihnen der Fall, dann müssen Sie leider ein wenig Aufwand betreiben. Der Zaubersatz heisst: «Makros mit einer digitalen Signatur versehen». Tun Sie das nicht, steht Emotet möglicherweise schon bald vor der Türe und wird Sie bzw. Ihren CFO mit unangenehmen Fragen konfrontieren. Sensibilisierung hin oder her, früher oder später wird der Mitarbeitende die Sicherheitswarnung ignorieren und den ominösen Knopf drücken.

So sieht unser präpariertes Dokument mit einem Makro aus.

Makro 2

Sind Makros in einer Unternehmung im Einsatz ist das Trust Center meist wie folgt vorkonfiguriert:

Makro 3

Nun beschäftigen wir uns doch mit folgender Option: «Alle Makros, ausser digital signierten Makros deaktivieren».

Makro 4

Die gelbe Sicherheitswarnung (siehe Bild 2) ist damit weg und versucht trotzdem jemand das Makro auszuführen, erscheint folgende Mitteilung:

Makro 5

Nun signieren wir unser Makro. Dazu öffnen wir auf unserem Windows-Client mit Office das Tool «SELFCERT.EXE». Bei der 32-Bit-Installation unter folgendem Verzeichnis zu finden: «C:\Program Files (x86)\Microsoft Office\root\Office16\SELFCERT.EXE». In diesem Tool geben wir unserem Zertifikat einen Namen.

Makro 6

Auch für PowerShell-Freunde gibt es natürlich einen entsprechenden Befehl, welcher wie folgt lautet:

New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Subject "CN=MeinMakroZertifikat" -KeyAlgorithm RSA -KeyLength 2048 -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -KeyExportPolicy Exportable -KeyUsage DigitalSignature -Type CodeSigningCert

Dieses Zertifikat kann in der Verwaltungskonsole auch exportiert und bei Bedarf verteilt werden.

Makro 7

Das Zertifikat muss anschliessend noch in den Store «Vertrauenswürdige Herausgeber» (Trusted Publishers) kopiert werden. Dieses erscheint dann auch im Trust Center von Office unter «Vertrauenswürdige Herausgeber». Wollen Sie das Zertifikat via GPO verteilen? Dann finden Sie den richtigen Ort unter «Computer Configuration\Windows Settings\Security Settings\Public Key Policies\Trusted Publishers».

Wir öffnen nun den Visual Basic Editor, wählen das Projekt mit dem zu signierenden Makro aus.

Makro 8

Öffnen Extras -> Digitale Signatur…

Makro 9

Dort finden wir unter «Wählen…» unser zuvor erstelltes Zertifikat.

Makro 10

Nun mit «OK» bestätigen, VBE schliessen und das Dokument abspeichern (*.doc oder idealerweise *.docm).

Makro 11

Ist unser Zertifikat nicht im Store «Vertrauenswürdige Herausgeber» (Trusted Publishers) erscheint folgende Meldung. Die wollen wir natürlich nicht. Deshalb sollte sich das Zertifikat von Anfang an am richtigen Ort befinden.

Makro 12

Aus meiner Sicht haben wir damit folgendes erreicht:

  • Fremde und böse Makros können nicht mehr ausgeführt werden.
  • Mitarbeitende müssen nicht mehr Sicherheitswarnungen wegdrücken.
  • Sie dürfen nun jemanden bestimmen, der alle Makros signiert.

Siehe da, das Makro (und nur das signierte) wird nun ausgeführt.

Makro 13

Erhalten Sie Makros von externen Stellen? Dann wird es zwar noch etwas komplexer, aber Sie können das Konzept der signierten Makros trotzdem anwenden. Sie haben in diesem Fall drei Möglichkeiten. Erstens, Sie importieren das Zertifikat Ihres Partners welcher das Makro signiert hat. Oder zweitens, Sie stellen ein separates Zertifikat zur Signierung zur Verfügung. Die dritte Variante wäre, dass externe Makro selbst zu signieren. Das ist dann kaum praktikabel.

Fazit

Ich hoffe, dass ich Ihnen damit etwas weiterhelfen konnte. Das signieren von Makros bedeutet einen gewissen Aufwand. Trotzdem: Tun Sie es, wenn Makros bei Ihrem Unternehmen unabkömmlich sind! Sagen wir den Makros endgültig den Kampf an!

Weitere wichtige Schutzmassnahmen:

  • Patchen (Windows und Office), Patchen (Drittanbietersoftware) und nochmals Patchen (einfach alles auf Clients und Servern). Nicht jährlich oder quartalsweise, sondern monatlich!
  • Mitarbeiter sensibilisieren: z.B. mit goAware.
  • Regelmässig unabhängige Audit und Penetration Tests durchführen.
  • Böse Dateitypen auf dem E-Mail Gateway und Internet Content Filter blockieren. Eine gute Liste finden Sie bei MELANI. Achtung *.doc/*.xls ist auch böse, da es Makros enthalten kann. Hier noch eine Übersicht:

Dateiendung

Beschreibung

doc/xls/ppt

können Makros enthalten

docx/xslx/pptx

X - beinhaltet keine Makros

docm/xlsm/pptm

M - können Makros enthalten (in der Regel da die Endung M dafür steht)

xlsb

B - können Makros enthalten (Enthält ausführbare Binärdateien)

Informationen zum Autor
Antonio Kulhanek
Autor: Antonio Kulhanek
Nach meinem Studium zum Kommunikationstechniker erhielt ich die Möglichkeit bei goSecurity einzusteigen. Das war im Jahre 2013. Inzwischen konnte ich mein Wissen in diversen Weiterbildungen im Bereich der Informationssicherheit vertiefen. An der Hochschule Luzern absolvierte ich von 2016 bis 2018 das Studium zum Master of Advanced Studies in Information Security. Durch die vielen interessanten und zum Teil komplexen Kundenprojekte, konnte ich obendrauf viel Praxiserfahrung sammeln. Neben der Technik habe ich ein grosses Interesse für organisatorische Zusammenhänge und Managementthemen. Erst wenn alle Einflüsse auf die Informationssicherheit berücksichtigt werden müssen blühe ich richtig auf und finde die Besten Lösungen..