Digitale Signatur bei VBA-Makros: Nutzen und Grenzen

Digital signiertes VBA-Dokument neben einer Lupe zur getrennten Prüfung des MakrocodesKI erzeugt

Eine digitale Signatur ist für den sicheren Einsatz von VBA-Makros zentral. Gleichzeitig wird ihre Aussage häufig überschätzt. Sie ist weder Virenscan noch fachliche Abnahme und auch kein Beweis dafür, dass der Unterzeichner den Code selbst geschrieben hat. Richtig eingesetzt verbindet sie jedoch eine geprüfte Makroversion mit einem kontrollierten Herausgeber und macht nachträgliche Codeänderungen erkennbar.

Was eine VBA-Signatur technisch leistet

Beim Signieren wird das VBA-Projekt mit einem Code-Signing-Zertifikat verbunden. Office kann anschließend prüfen, ob die Signatur gültig ist, ob das Projekt seit der Signierung verändert wurde und ob der Herausgeber auf dem Gerät als vertrauenswürdig gilt. Microsoft beschreibt, dass Änderungen am Code die Signatur entfernen. Genau diese Eigenschaft schützt die Integrität der freigegebenen Version.

Für die Unternehmenspraxis entsteht daraus eine klare Regel: Erst testen und prüfen, dann freigeben und signieren. Wer vor der Prüfung signiert oder geänderte Dateien ohne neue Bewertung verteilt, trennt die Signatur von ihrer eigentlichen Vertrauensbasis.

Was die Signatur nicht beweist

Eine gültige Signatur sagt nicht, dass jede Codezeile sicher ist. Ein vertrauenswürdiger Herausgeber kann Fehler machen, ein fachlich legitimes Makro kann zu weitreichende Rechte verlangen und eine korrekte Automatisierung kann mit falschen Eingabedaten problematische Ergebnisse erzeugen. Die Signatur bestätigt auch nicht automatisch, wer den ursprünglichen Code verfasst hat. Sie zeigt, mit welchem Zertifikat die vorliegende Fassung signiert wurde.

Besonders wichtig ist der Umfang des Vertrauens. Microsoft warnt, dass alle Makros, die gültig mit demselben vertrauenswürdigen Zertifikat signiert sind, als Inhalte dieses Herausgebers behandelt werden. Wird der private Schlüssel missbraucht, betrifft das potenziell mehr als eine Datei. Der Schutz des Schlüssels ist daher mindestens so wichtig wie die Verteilung des öffentlichen Zertifikats.

Selbst signiert oder Unternehmens-PKI?

Ein mit Selfcert erstelltes Zertifikat eignet sich laut Microsoft vor allem für Tests oder sehr kleine, selbst verwaltete Umgebungen. Für eine breite Verteilung ist ein Zertifikat aus einer kontrollierten Unternehmens-PKI oder von einer geeigneten Zertifizierungsstelle belastbarer. Die Organisation kann das öffentliche Code-Signing-Zertifikat zentral in den Speicher „Vertrauenswürdige Herausgeber“ verteilen.

Der private Schlüssel darf diesen kontrollierten Signaturweg nicht verlassen. Idealerweise signieren weder einzelne Anwender noch beliebige Entwickler lokal. Eine zentrale Signaturumgebung kann Berechtigungen, Warteschlangen, Zertifikatsablauf und Protokollierung besser kontrollieren. Zeitstempel können zusätzlich helfen, Signaturen nach dem Ablauf des Zertifikats weiter zu validieren, sofern das Zertifikat nicht widerrufen wurde.

Prüfung und Signatur als getrennte Kontrollen

VBA-Makro-Prüfung & Signatur – unsere Softwarelösung

Wir haben eine tolle Software, die VBA-Makros im Self Service auf Schadcode prüft und signiert.

Die Prüfung erfolgt je nach Umfang entweder über ein selbstentwickeltes Scan-Script oder – bei größeren Makro- und Skriptmengen – über ein eigenes trainiertes KI-Modell, das self-hosted betrieben wird und sich am BSI-Standard orientiert.

Hier geht es zur Online-Demo. Melden Sie sich gern bei uns für eine individuelle Vorführung.

Zusätzlich helfen wir Ihnen bei der Ablösung von Makros – von der Bestandsaufnahme bis zur sicheren Migration. Nehmen Sie gerne Kontakt auf!

📄 Demo-PDF ansehen
ℹ️ Zur Infoseite

Online-Demo ansehen

Codeprüfung und Signatur beantworten verschiedene Fragen. Die Prüfung fragt: Was tut der Code, welche Regeln schlagen an und ist das Verhalten im fachlichen Kontext vertretbar? Die Signatur fragt: Ist dies noch dieselbe Version und stammt die Freigabe aus der vorgesehenen Vertrauenskette? Erst zusammen entsteht ein sinnvoller Prozess.

Ein Beispiel macht die Trennung deutlich. Ein Makro exportiert Daten in eine Datei. Die Signatur kann bestätigen, dass genau diese Version freigegeben wurde. Sie sagt aber nicht, ob der Zielordner erlaubt ist, ob personenbezogene Daten enthalten sind oder ob der Export fachlich benötigt wird. Das muss vor der Signatur geprüft und entschieden werden.

So unterstützt das Makro-VBA-Tool

Das Makro-VBA-Tool von Dr. Dominic Lindner verknüpft die beiden Kontrollen: Eine Datei wird zentral hochgeladen, regelbasiert analysiert und als Grün, Gelb oder Rot eingeordnet. Gelbe und rote Funde zeigen Codezeile und Grund. Nach einer bestandenen Prüfung, manuellen Freigabe oder genehmigten Ausnahme wird die konkrete Datei immer automatisch signiert und anschließend über den vorgesehenen Rückkanal bereitgestellt.

Der private Schlüssel ist dabei nicht Bestandteil des Uploads und nicht über die Weboberfläche zugänglich. Die Organisation stellt ihr Code-Signing-Zertifikat oder den Zugang zu ihrem PKI-Signaturdienst bereit. Vorgang, Benutzer, Zeitstempel, Entscheidung und Datei lassen sich über den SHA-256-Hash nachvollziehbar verknüpfen. Das schafft BSI-orientierte Nachweise, aber keine BSI-Zertifizierung.

Wo auch dieser Prozess Grenzen hat

Die automatische Signatur macht aus einer Freigabe keine Sicherheitsgarantie. Verantwortliche müssen Regeln pflegen, Zertifikate erneuern, Rollen kontrollieren und Ausnahmen regelmäßig prüfen. Ein KI-Gutachten kann kritische Stellen erklären, ersetzt aber keine verbindliche menschliche Entscheidung. Auch die fachliche Qualität von Berechnungen oder Berichten muss der zuständige Fachbereich testen.

Außerdem müssen Endgeräte passend konfiguriert sein. Eine signierte Datei läuft nicht allein deshalb überall. Trust-Center-Einstellungen, Mark of the Web, zentrale Richtlinien, unterstützte Office-Versionen und der Vertrauensspeicher bestimmen das tatsächliche Verhalten.

Fazit

Die digitale Signatur ist der manipulationssichere Abschluss eines kontrollierten Freigabeprozesses. Sie ist stark, wenn der Code vorher geprüft, die Entscheidung dokumentiert, der private Schlüssel geschützt und das Herausgeberzertifikat zentral verwaltet wird. Wer sie dagegen als Gütesiegel für beliebigen Code versteht, schafft Scheinsicherheit. Der entscheidende Satz lautet deshalb: Nicht „signiert ist sicher“, sondern „diese geprüfte Version wurde kontrolliert freigegeben und seitdem nicht unbemerkt verändert“.

Quellen: Microsoft Support: VBA-Projekte digital signieren, Microsoft 365 Apps Security Baseline und Makro-VBA-Tool.

Image: OpenAI

Durch die weitere Nutzung der Seite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen