none
GPO Makro: Erlaube nur eine einzige CA, blockiere alle anderen digital signierten Makros RRS feed

  • Frage

  • Ahoi Zusammen,

    ich kann in den Administrativen Vorlagen zur Verwaltung von MS Office (2013) in den GPOs diese essentielle, sehr wichtige Einstellung nicht finden.

    • Erlaube nur digital signierte Makros (ok, habe ich definiert), aber erlaube ausschließlich nur digital signierte Makros von einer CA unter "Vertrauenswürdiger Herausgeber".
    • Also: Sperre trotzdem zeitgleich also alle digital signierten Makros von allen anderen CAs, es sei denn, es ist die von mir definierte CA unter "Vertrauenswürdiger Herausgeber".


    Aktuell verhält sich Office so, dass Makros mit Signaturen von irgendwelchen Self-Signed Zertifikaten zwar nicht sofort ausgeführt werden, aber der User immer noch auf "Makro aktivieren" im gelben Warnungs-Balken klicken kann. Das soll nicht möglich sein.

    Hilfe :o)


    • Bearbeitet Schroeffu Donnerstag, 14. November 2019 12:19
    Donnerstag, 14. November 2019 12:18

Alle Antworten

  • Moin,

    unter "Vertrauenswürdige Herausgeber" sollten normalerweise keine CAs, sondern Code Signing-Zertifikate stehen, denn "Herausgeber" ist hier als "Herausgeber von Software" und nicht "Herausgeber von Zertifikaten" zu verstehen.

    Für Office kannst Du über das Trust Center konfigurieren, dass nur Content von vertrauenswürdigen Herausgebern zugelassen ist und wer diese sind. Alle unter https://support.office.com/en-us/article/add-remove-or-view-a-trusted-publisher-87b3d5a3-b68c-4023-87c4-7cc78a44d7ed beschriebenen Angaben lassen sich über Gruppenrichtlinien tätigen.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 14. November 2019 14:16
  • Danke für die Antwort und den Link. Ziel wird es sein, eins Sub-CA, welche rein für Code Signaturen zuständig sein wird, als Vertrauenswürdiger Herausgeber zu definieren.

    Leider konnte ich die GPOs nicht finden, die verhindern, dass:

    • Ein Makro mit einem SelfSign Zertifikat signiert, abgespeichert, neu geöffnet, und ausgeführt wird (C:\Program Files (x86)\Microsoft Office\Office15\SELFCERT.EXE). 

    Der Herausgeber dieses Self-Sign Cert ist natürlich nicht als "Vertrauenswürdiger Herausgeber" gelistet. Trotzdem führt z.B. Excel mein Makro in .xlsm nach dem selbst signieren aus.

    Ich habe alle mir bekannten GPO Restriktionen angewandt, ein selbst signiertes Zertifikat wird einfach erlaubt ohne mir ersichtlichen Grund. Weil "Selfcert.exe" automatisch für den jeweiligen Rechner als Vertrauenswürdig gilt? Eben dieses selbst signierte Makro funktioniert an einem anderen Rechner nicht, sondern wird korrekt von den GPOs geblockt. Ich bin verwirrt..

    Donnerstag, 14. November 2019 15:29
  • Moin,

    ja, das Zertifikat ist auf dem Rechner zumindest *vorhanden*. Hast Du mal versucht, dass selbstsignierte Zertifikat zu exportieren und auf einem anderen Rechner zu importieren?


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 14. November 2019 22:04
  • Hello,

    ich habe mich vermutlich nicht gut ausgedrückt :-) Das selbst signierte Zertifikat soll nicht ermöglichen, das Makro öffnen zu dürfen. Fallbeispiel:

    - Makro mit Emotet & Co erscheint beim User in einer .doc
    - User benutzt SELFCERT.EXE um ein SelfSign Cert zu bekommen, dann signiert er damit das Makro
    - User speichert & öffnet die Makro signierte .doc neu
    - User führt das Makro aus. << Darf nicht erlaubt sein. Das SelfSign Cert ist nicht als Vertrauenswürdiger Herausgeber definiert. Funktioniert aber trotzdem.

    Ich möchte per GPO ausschliesslich eine einge CodeSign CA erlauben Makros zu signieren und/oder ausführen. Dieser Weg über ein self signed cert ist zwar unrealistisch aber dennoch umgeht man den ganzen, angedachten Schutz vor unbekannten Makros.





    • Bearbeitet Schroeffu Freitag, 15. November 2019 12:28
    Freitag, 15. November 2019 12:26
  • ich habe mich vermutlich nicht gut ausgedrückt :-) 

    Doch, ich habe Dich schon richtig verstanden. Die Frage bleibt aber, ob es bei diesem Zertifikat noch irgendwelche Magie gibt, außer dass es im User Store vorhanden ist.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Freitag, 15. November 2019 15:08
  • Hallo Schroeffu,

    hast du hierzu evtl. eine Antwort zur Frage finden können. Ich habe das Verhalten der Konfiguration im Sicherheitscenter ebenfalls untersucht und würde mir das von dir beschriebene Verhalten ebenfalls wünschen (Von nicht vertrauenswürdigen Herausgebern signierte Makros so behandeln wie nicht signierte und nicht den User entscheiden lassen).
    Was mir dazu noch nicht gefällt ist, dass ich scheinbar keine Möglichkeit habe bei den Vertrauenswürdigen Herausgebern eine CA einzutragen und somit alle von dieser ausgestellten Code-SIgning Zertifikate zu vertrauen.
    (Test-Aufbau: Windows CA und Code-Signing Template: DIe ausstellende CA als "Vertrauenswürdige Herausgeber" aufzunehmen hat keine Auswirkung, erst wenn ich das für den spezifischen User ausgestellte Zertifikat dort aufgenommen hatte zeigt es die gewünschte Wirkung. D.h. in einer größeren Organisation müsste ich alle User-Zertifikate aller User dort aufnehmen - für mich unpraktikabel)

    Viele Grüße, CHris

      
    Mittwoch, 29. Januar 2020 10:16
  • Moin,

    zum Thema Herausgeber siehe meine erste Antwort in diesem Thread.

    Zum Thema große Organisationen aber dies: Auch und gerade in großen Organisationen kriegt nicht jeder ein Code Signing-Zertifikat. Vielmehr gibt es einen QA-Prozess, und an dessen Ende steht, vor der Veröffentlichung, das Signieren.

    Eine ganze CA als vertrauenswürdig für Code Signing wäre eine Katastrophe.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 29. Januar 2020 10:33
  • Hi Evgenij,

    danke für die schnelle Antwort, aber ich muss meinem Vorredner beipflichten und sagen, dass diese Einstellung eben das gewünschte Ergebnis nicht zulassen. Wenn ich nur signierte Zertifikate zulasse, dann schütze ich den Anwender schon einmal vor der "Dummheit" bei unsignierten "Inhalt aktivieren" zu klicken. Aber was nutzt das, wenn man mit einer Signatur von einer beliebigen Self-Signed-CA wieder da landet, dass der User entscheiden kann, ob er vertraut oder nicht.

    Füge ich das Zertifikat des Herausgebers hinzu verschwindet die Auswahl "Inhalt aktivieren" - das ist ja schon mal wie gewünscht, aber anders herum möchte ich keine Auswahl so lange das Zertifikat nicht durch unsere IT zentral als vertrauenswürdig eingestuft wurde. 

    Nehmen wir mal die aktuelle Emotet-Welle als Risiko und gehen wir davon aus, dass das Makro vom Angreifer signiert wurde, dann unterscheidet sich für mich die Einstellung "Alle Makros mit Benachrichtigung deaktivieren" im Endeffekt nicht von der "Alle Makros, außer digital signierten Makros deaktivieren" nicht - in beiden Fällen kann der Nutzer entscheiden diesen auszuführen oder nicht. Hier möchte ich erreichen, dass eine Signatur alleine nicht ausreciht, um dem Nutzer die Wahlmöglichkeit zu geben - ich vermute die gibt es nicht aber die Hoffnung habe ich noch nicht aufgegeben.

    Was das Thema vertrauen einer Code-Signing CA oder eines einzelnen Zertifikates individuell verstehe ich deine Meinung - teile sie aber nicht, denn auch in anderen Bereichen hat sich die Logik des indirekten Vertrauens zu Ausstellern mittels Vertrauen zur ausstellenden CA durchgesetzt. Nicht ohne Grund hat sich Asymmetrische Kryptografie und PKI durchgesetzt, um das Schlüsselaustauschproblem zu beherrschen. Dass nicht jeder Nutzer ein solches Zertifikat erhält ist für mich vielmehr ein Argument, dass das Vertrauen über die ausstellende CA auch auf anderem Wege eingeschränkt werden kann und somit konzeptionell für die Zielsetzung geeignet ist.

     

    Viele Grüße, Chris

    Mittwoch, 29. Januar 2020 10:59
  • Moin,

    Du hast den denkbar schlechtesten Anwendungsfall gewählt, um über grundsätzliche Probleme der Kryptographie in Unternehmen zu diskutieren. Denn, wie in diesem Thread und anderswo bereits festgestellt wurde, sind Office-Makros insofern ein Sonderfall als dass es für diese halt nur ein "Erlaube alles, was irgendwie signiert ist" gibt. Das ist ein großes Manko und wurde in den letzten 10 Jahren schon Tausende von Malen bei Microsoft bemängelt. Da aber bisher nichts passiert ist, vermute ich, dass auch nichts mehr passieren wird. Vielmehr sollte man schauen, wie man die Makros intern abschafft. Dann kann man sie nämlich generell verbieten, und das Thema ist vom Tisch. Alles, was ein Makro kann, kann ein kleines C#- oder VB-Programm, das die entsprechenden Office-Anwendungen dann per COM steuert, auch. Und diesen Code kannst Du dann differenziert behandeln - mit AppLocker, WDAC usw. Ziel erreicht :-) Ganz zu schweigen davon, dass man einen solchen Quellcode, der nicht in Office-Dateien eingebettet ist, einer guten Quellcode-Verwaltung unterziehen kann - Versionieren, Archivieren, Peer Review usw.

    Thema PKI ;-) Alle zumindest mir bekannten Fälle, wo das Vertrauen von der CA auf die ausgestellten Zertifikate "vererbt" wird, beziehen sich auf den Anwendungsfall "Schutz des Inhalts vor Einsicht durch Dritte", sprich, SSL oder TLS. Da ist es auch OK, da ja mit dem so vertrauten Zertifikat lediglich ein Sitzungsschlüssel ausgehandelt wird, und das Zertifikat selbst spielt danach keine Rolle mehr. Einzige Ausnahme ist S/MIME, wo das optional möglich ist, aber Mail ist ja auch ein spezifischer Nutzungszweck, der für nichts anderes  gültig ist. Wenn Dir ein weiterer Fall eines standardisierten Verfahrens bekannt ist, in dem Datenintegrität , dauerhafte Verschlüsselung oder Identitätsnachweis bereits über das Vertrauen gegenüber der CA als gegeben angenommen werden, bin ich ganz Ohr.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 29. Januar 2020 11:23
  • Hi Evgenij,

    eigentlich will ich gar nicht über Kryptografie diskutieren, das hat sich nur ergeben, weil es Spaß macht ;)

    Deine Antwort hat mir auf jeden Fall weitergeholfen - Ich war mir offen gestanden unsicher, ob ich einfach nur zu blöd bin die bestehende MS-Lösung zu konfigurieren und hatte gehofft es gibt noch einen Weg zum beschriebenen Ziel zu kommen (Dokumente mit nicht vertrauenswürdigen, signierte Makros so behandeln wie welche ohne Signatur). So wie ich deine Antwort verstehe bist du dir sicher, dass das nicht geht und man stattdessen mit alternativen Lösungen arbeiten muss. Das finde ich fair (auch wenn ich es anders konzipiert hätte) und ich habe auch schon andere Ideen wie ich weiterkomme - nun aber mit deutlich mehr Gewissheit den eigentlich angedachten konzeptionellen Weg nicht gehen zu können, mangels Optionen dies mit Office-Einstellungen zu erreichen.

    Zur PKI-Thematik würd ich dir ja eine PN schicken wenn ich wüsste wie das geht. Da muss man sich sicher sehr detailliert austauschen, um auf einen gemeinsamen Nenner zu kommen. Ganz kurz aber - TLS/SSL ist ja nicht nur zum Schutz der Vertraulichkeit, sondern auch der Authentifizierung, das ist aber bestimmt nur in deiner Beschreibung nicht herausgekommen. Sitzungsschlüssel werden eingesetzt, weil damit einhergehende symmetrische Verschlüsselung deutlich weniger Rechenkapazitäten benötigt als asymmetrische, weshalb man deren Anteil reduziert und dennoch nahezu deren vollständige Schutzwirkung erhält.
    Asymmetrische Kryptografie und dann jedem einzelnen Schlüssel vertrauen müssen widerspricht sich für mich, da diese ja genau zur Vermeidung dessen erfunden wurden. Die Wahl zu haben über wieviele Instanzen man der Unterschrift von fremden traut konfigurieren zu können halte ich für sinnvoll (siehe WEb-of-Trust) - diese auf 0 zu setzen ohne die Wahlmöglichkeit nicht. 

    Ich empfehle das deutsche Standardwerk von Claudia Eckert zur IT-Sicherheit und Johannes Buchmann zu Kryptografie für die theoretischen Grundlagen. Aber jetzt genug klug-gescheißert von meiner Seite und nochmal danke für den Austausch und die Bestätigung, dass ich mit den Makroeinstellung nicht das erreichen kann was ich eigentlich für sinnvoll und richtig erachte.  

    Viele Grüße, Chris

    Mittwoch, 29. Januar 2020 12:32