Unzippen von Zips mit signierter Installern führt zu Invalidierung der Signature

Sebastian Heerwald 20 Zuverlässigkeitspunkte
2026-04-16T08:09:04.9033333+00:00

Hallo,

wir nutzen eine CI/CD (via gitea) um Installer zu erzeugen und zu signieren. Diese Pipeline lädt die Installer automatisch in eine Nextcloud und stellt sie gleichzeitig (temporär) als Artefakt in Form eines Download zur Verfügung.

Nun ist es so, dass dieser Upload als Artefakt die Dateien automatisch zipt. Dies passiert im gitea selbst und passiert (vermutlich) in dem Linux Dockercontainer. Die Installer wurden in einer Windows-VM gebaut und signiert. Nach wie vor sind die Installer signiert und werden nun in ein zip gepackt.

Nach dem Download bekommen wir beim entpacken auf einem Windows eine Warnung, dass der Installer nicht vertrauenswürdig ist. Nehmen wir die Installer aus der Nextcloud, welche nicht gezippt wurden, dann ist alles ok und es gibt keine Warnung.

Noch besser:

Nehmen wir einen Installer, der signiert ist und zippen ihn mit dem Standard-Windows-Tool, und entpacken ihn wieder, dann ist alles ok.

Zippe ich den gleichen installer mit einem 3rd-Party-Tool (z.B. zip unter WSL) und entpacke es wieder mit dem Windows-Standard-ZIP-Tool, dann ist die Datei wieder "unsicher".

Zuletzt habe ich probiert noch die zips, welche von der CI/CD kommen mit unzip unter WSL zu entpacken. Im Anschluss sind die Installer wieder signiert und alles ist ok

Das Standard-ZIP-Tool von Microsoft scheint hier nur noch sich selbst zu akzeptieren und alle anderen Tools als unsicher einzustufen und dann die Dateien darin als unsicher einzustufen?
Hat jemand schon mal was ähnliches erlebt? Darf ich jetzt nur noch das ZIP von MS nehmen?

Windows für Unternehmen | Windows-Client für IT-Profis | Benutzerfreundlichkeit | Andere
0 Kommentare Keine Kommentare

Antwort, die vom Frageautor angenommen wurde
VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
2026-04-17T12:41:12.1+00:00

Sebastian Heerwald

Ihre Schlussfolgerung bezüglich des Rufs der Zertifikate ist absolut korrekt. Was du erlebst, ist genau der Mechanismus von Microsoft Defender SmartScreen. Wenn eine Datei über einen Webbrowser heruntergeladen wird, hängt Windows fast immer die Marke des Webs an die Datei an. Das Vorhandensein des MotW löst jedoch einfach SmartScreen aus, um die Datei auszuwerten; es erzeugt keine automatische Warnung. SmartScreen basiert auf einem cloudbasierten Telemetriesystem namens Intelligent Security Graph, um einen Reputationswert stark basierend auf dem digitalen Zertifikat zu bestimmen, das zur Unterschrift der Datei verwendet wird, sowie dem spezifischen Datei-Hash.

Standard-Organisationsvalidierungszertifikate beginnen ohne Reputation. Um Vertrauen aufzubauen, müssen eine bestimmte Anzahl globaler Nutzer die Datei herunterladen und die Warnung manuell umgehen, indem sie auf "Trotzdem ausführen" oder "Behalten" klicken. Jedes Mal, wenn man den Installer auf diesen verschiedenen Computern als sicher akzeptierte, schickte Windows Telemetrie an Microsoft zurück. Sobald dein Zertifikats- und Dateihash genügend positive Telemetrie erreicht hatte, wurde die Reputationsschwelle weltweit erreicht, weshalb die Warnungen auf frischen Rechnern plötzlich aufhörten.

Der Grund, warum Ihre Nextcloud-Synchronisationsclients diese Warnung nie ausgelöst haben, ist, dass Synchronisationsagenten typischerweise Backend-API-Aufrufe verwenden, die den Zone.Identifier Alternate Data Stream nicht an die synchronisierten Dateien anhängen. Ohne das MotW-Tag wird die anfängliche SmartScreen-Ausführungsprüfung komplett umgangen. Wenn Ihre älteren Installer plötzlich Warnungen zeigten, bevor der Ruf normalisiert wurde, deutet das oft auf eine Verschiebung der SmartScreen-Heuristiken von Microsoft oder auf einen leichten Rückgang des rollierenden Reputationswerts des Zertifikats aufgrund niedriger Download-Volumina über einen längeren Zeitraum hin.

Um dies in Zukunft dauerhaft zu vermeiden, besteht der Industriestandard darin, von einem Standard-Code-Signing-Zertifikat auf ein Extended Validation oder EV-Zertifikat umzusteigen. Dateien, die mit einem hardware-tokenbasierten EV-Zertifikat signiert sind, erhalten von Microsoft SmartScreen sofortige und maximale Reputation, was garantiert, dass Ihre Endnutzer diese Warnungen beim Download aus dem Browser niemals sehen werden, unabhängig vom Downloadvolumen.

VP

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

4 zusätzliche Antworten

Sortieren nach: Neueste
  1. VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
    2026-04-21T00:37:23.3966667+00:00

    Hallo Sebastian Heerwald,

    Wie läuft dein Problem? Ist das Problem schon gelöst? Falls ja, erwägen Sie bitte, die Antwort zu akzeptieren , da sie auch anderen mit demselben Problem hilft, davon zu profitieren. Danke :)

    VP

    War diese Antwort hilfreich?


  2. VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
    2026-04-16T10:31:57.05+00:00

    Sebastian Heerwald

    Deine digitale Signatur ist im Grunde intakt und wird durch den Zipping-Prozess niemals entfernt oder ungültig gemacht. Wenn Sie mit der rechten Maustaste auf den extrahierten Installer klicken und den Tab Digitale Signaturen unter Eigenschaften überprüfen, wird Ihr Zertifikat als vollständig gültig angezeigt. Die Sicherheitswarnung, auf die Sie stoßen, wird ausschließlich durch die Mark-of-the-Web-Metadaten und wie Windows SmartScreen mit Containerdateien umgeht, bestimmt.

    Wenn Sie eine signierte ausführbare Datei direkt aus dem Browser herunterladen, scannt Windows SmartScreen die Datei sofort, validiert den Ruf Ihres offiziellen Zertifikats und sichert die sichere Ausführung. Umgekehrt wendet der Browser beim Herunterladen einer ZIP-Datei den Zone.Identifier Alternate Data Stream auf den ZIP-Container selbst an. SmartScreen entpackt das Archiv nicht, um das Zertifikat im Installer während dieser ersten Download-Phase auszuwerten.

    Wenn das native Windows-Explorer-Tool die Datei entpackt, ist es so programmiert, dass dieses Internet-Zone-Tag direkt an deinen Installer weitergeleitet wird. Da der Installer jetzt einen Internet-Tag erbt, aber die anfängliche SmartScreen-Reputationsprüfung beim Download verpasst hat, markiert Windows es bei der Ausführung konservativ als Risiko. Drittanbieter-Tools oder WSL lösen dies nicht aus, da sie völlig blind für alternative Datenströme sind; Sie lassen die Metadaten während der Extraktion komplett weg, sodass der Installer eher wie eine lokal erstellte Datei als wie ein Internet-Download aussieht.

    Um das nahtlose Erlebnis Ihres Zertifikats aufrechtzuerhalten, ist der beste architektonische Ansatz, den signierten Installer nativ ohne ZIP-Wrapper zu verbreiten. Wenn ein ZIP-Container für Ihre CI/CD-Pipeline streng erforderlich ist, besteht der einzige native Windows-Workaround darin, dass der Endbenutzer mit der rechten Maustaste auf die heruntergeladene ZIP __ klickt, Eigenschaften__ öffnet und vor der Extraktion "Blockieren" aktiviert, um das Internet-Tag auf Containerebene zu löschen.

    Ich hoffe, das hilft :)

    VP

    War diese Antwort hilfreich?


  3. Sebastian Heerwald 20 Zuverlässigkeitspunkte
    2026-04-16T10:21:38.0233333+00:00

    Wenn ich das richtig verstehe, dann wird alles was ich mit dem Browser herunterlade als "Safety"-Issue erkannt wird.

    Dafür signieren wir ja aber unsere Installer. Dafür haben wir ja ein Zertifikat von einer offiziellen Zertifizierungsstelle gekauft. Kann ich verhindern, dass der Installer seine Sicherheitsstatus verliert, wenn er durch 3rd-Party-Tools gezippt wird? An sich verändert sich die Signatur des Installers innherlab des Zips ja nicht.

    Wenn ich die Dateien ohne Zip herum herunterlade, werden sie ja auch als sicher anerkannt.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  4. VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
    2026-04-16T08:56:20.6666667+00:00

    Hallo Sebastian Heerwald,

    Es handelt sich um ein spezifisches Sicherheitsdesign des Windows Attachment Manager, bekannt als das Mark of the Web. Wenn eine Datei von einer Netzwerkquelle wie Gitea oder Nextcloud heruntergeladen wird, fügt Windows der Datei einen versteckten Metadaten-Tag namens Zone Identifier mit einem NTFS-Alternativdatenstrom zu. Das kannst du tatsächlich sehen, wenn du PowerShell ausführst Get-Content -Path "yourfile.zip" -Stream Zone.Identifier , das wahrscheinlich eine ZoneId=3 Karte anzeigt, die die Internetzone anzeigt.

    Das native Windows-ZIP-Extraktionstool ist "sicherheitsbewusst" und ist so programmiert, dass dieses Internet-Tag während des Extraktionsprozesses an jede Datei im Archiv weitergeleitet wird. Da Ihre signierten Installer als vom Internet stammend gekennzeichnet sind, löst Windows SmartScreen eine Warnung aus, weil sie als Hochrisiko behandelt werden, bis sie manuell überprüft werden. Drittanbieter-Tools oder WSL sind oft "sicherheitsunwissend" in Bezug auf NTFS-Metadaten; sie ignorieren einfach den alternativen Datenstrom und entpacken die Dateien ohne das Tag, weshalb die Installer bei diesen Methoden "sicher" erscheinen.

    Um das zu beheben, während du weiterhin das native Windows-Tool nutzt, musst du den Block direkt aus der ZIP-Datei entfernen, bevor du ihn entpackst. Das kannst du tun, indem du mit Rechtsklick auf die ZIP-Datei klickst, Eigenschaften auswählst und das Feld Entblocken am unteren Rand des Reiters General ankreuzt. Wenn du das für dein Team automatisieren möchtest, kannst du den PowerShell-Befehl verwenden. Unblock-File -Path .\YourArtifact.zip Sobald das Archiv entblockt ist, extrahiert das native Tool deine signierten Installer ohne Sicherheitswarnungen, da kein Internet-Tag mehr zur Verbreitung vorhanden ist.

    Ich hoffe, diese Antwort hat Ihnen nützliche Informationen gebracht. Falls ja, klicken Sie bitte auf "Antwort akzeptieren". Sollten Sie Fragen haben, hinterlassen Sie gerne einen Kommentar.

    VP

    War diese Antwort hilfreich?


Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.