Zum Inhalt

47-Tage-Zertifikate sind im Anmarsch. Sind Sie bereit?

Jetzt handeln →

Stärkung der Sicherheit bei der Codesignierung gegen Integritätslücken

Stärkung der Codesignatursicherheit gegen Integritätsumgehungen

Für viele Organisationen gilt eine gültige digitale Signatur als Beweis für die Vertrauenswürdigkeit von Software. Jüngste Forschungsergebnisse von Trail of Bits im Zusammenhang mit CVE-2025-55305 stellen diese Annahme jedoch infrage. Die Forscher demonstrierten, wie mehrere weit verbreitete Anwendungen, darunter Signal, 1Password, Slack und andere Electron-basierte Software, lokal modifiziert werden können, um unautorisierten Code auszuführen, ohne dabei bei Integritätsprüfungen als legitim zu erscheinen.

Das Problem lag nicht an der Codesignierung selbst, sondern an einer Lücke in der Durchsetzung der Anwendungsintegrität. Bestimmte Komponenten, die das Anwendungsverhalten beeinflussen konnten, wurden nicht in die Integritätsprüfungen einbezogen. Dadurch bot sich Angreifern mit lokalem Zugriff die Möglichkeit, die Softwarefunktionalität zu verändern, ohne Sicherheitswarnungen auszulösen.

Die Ergebnisse liefern wichtige Belege dafür, dass Softwarevertrauen über eine digitale Signatur hinausgeht. Die Signierung bestätigt zwar die Herkunft der Software und ob sie nach der Signierung verändert wurde, garantiert aber nicht automatisch, dass jede ausführbare Komponente korrekt überwacht oder validiert wird.

In diesem Artikel werden wir untersuchen, was diese Forschung ergeben hat, warum Codeintegrität wichtig ist, welche Grenzen die ausschließliche Abhängigkeit von Signaturen hat und wie Organisationen das Vertrauen in Software durch effektive Codesignierungsverfahren und umfassendere Sicherheitskontrollen in der Softwarelieferkette stärken können.

Codeintegrität und Anwendungsvertrauen verstehen

Codeintegrität ist der Prozess, der sicherstellt, dass Software exakt so funktioniert, wie von den Entwicklern beabsichtigt, und nicht von Unbefugten verändert wurde. Sie dient als Schutz vor Manipulation und hilft Organisationen zu überprüfen, ob der ausgeführte Code mit dem ursprünglich entwickelten, getesteten und zur Veröffentlichung freigegebenen Code identisch ist.

Eine der gängigsten Methoden, dieses Vertrauen herzustellen, ist die Codesignierung. Durch die digitale Signatur von Software können Benutzer und Systeme deren Herkunft überprüfen und bestätigen, dass die signierten Dateien seit der Signatur nicht verändert wurden. Dies schafft eine Vertrauensbasis zwischen Softwareherstellern, Organisationen und Endbenutzern.

Organisationen setzen stark auf signierte Software, da dies das Risiko der Installation schädlicher oder nicht autorisierter Anwendungen verringert. Betriebssysteme, Sicherheitstools und Softwareverteilungsplattformen verwenden digitale Signaturen üblicherweise als Schlüsselfaktor, um die Vertrauenswürdigkeit von Software zu beurteilen.

Das Vertrauen endet jedoch nicht mit der Softwarebereitstellung. Viele Organisationen gehen davon aus, dass eine signierte Anwendung während ihres gesamten Lebenszyklus unverändert bleibt und wie vorgesehen funktioniert. Die jüngsten Forschungsergebnisse zum Integritätsbypass in Electron stellten diese Annahme infrage, indem sie zeigten, wie das Anwendungsverhalten verändert werden kann, ohne dass die erwarteten Integritätsschutzmechanismen ausgelöst werden.

Dies ist von Bedeutung, da moderne Software auf Vertrauensketten basiert. Entwickler vertrauen den Build-Systemen, Unternehmen den Softwareanbietern und Nutzer den installierten Anwendungen. Wird ein Glied dieser Kette geschwächt, sinkt die Zuverlässigkeit des gesamten Vertrauensmodells, wodurch Angreifer die Möglichkeit erhalten, Annahmen auszunutzen, die viele Sicherheitsteams als selbstverständlich betrachten.

Wie der Electron Integrity Bypass funktionierte

Die von Trail of Bits aufgedeckte Schwachstelle war kein herkömmlicher Fehler bei der Codesignierung. Vielmehr legte sie eine Lücke in der Integritätsprüfung von Electron-Anwendungen offen. Anwendungen wie Signal, Slack und 1Password nutzten Integritätsprüfungen, um sicherzustellen, dass wichtige Anwendungsdateien nicht verändert worden waren. Das Problem bestand darin, dass diese Prüfungen nicht alle Komponenten abdeckten, die das Anwendungsverhalten beeinflussen konnten.

Electron konzentriert sich primär auf die Validierung von Anwendungscode-Archiven, die einen Großteil des JavaScript-Codes der Software enthalten. Änderungen an diesen Archiven würden durch die Integritätsprüfung erkannt. Ein anderer Dateityp, der sogenannte V8-Heap-Snapshot, wurde jedoch anders behandelt. Diese Snapshot-Dateien beschleunigen den Anwendungsstart durch das Speichern vorgeladener Daten und des Anwendungszustands, wurden aber bei der Integritätsprüfung nicht als ausführbarer Code betrachtet.

Forscher demonstrierten, dass ein Angreifer mit lokalem Zugriff diese Snapshot-Dateien verändern und schädliche Funktionen einschleusen konnte. Da die veränderten Dateien nicht in die Integritätsprüfung einbezogen wurden, bestand die Anwendung weiterhin alle Integritätsprüfungen und galt als vertrauenswürdig.

Vereinfacht gesagt, überwachten die Sicherheitskontrollen den Haupteingang, während ein Seiteneingang unkontrolliert blieb. Die Signatur und Integritätsprüfung der Anwendung schienen weiterhin gültig, obwohl ihr Verhalten verändert worden war. Dies verdeutlicht, wie Vertrauen untergraben werden kann, wenn Sicherheitsprüfungen nicht alle Komponenten berücksichtigen, die die Ausführung von Software beeinflussen können.

Die zunehmende Herausforderung der Sicherheit in der Software-Lieferkette

Die Sicherheit der Software-Lieferkette ist zu einem zentralen Anliegen geworden, da Angreifer zunehmend die Vertrauensmechanismen ins Visier nehmen, auf die sich Unternehmen täglich verlassen. Anstatt sich ausschließlich auf Software-Schwachstellen zu konzentrieren, zielen viele Angriffe nun darauf ab, die Prozesse, Werkzeuge und Beziehungen zu missbrauchen, die mit der Entwicklung und Bereitstellung von Software verbunden sind.

Ein häufiges Beispiel ist die Verwirrung um Abhängigkeiten, bei der Angreifer schädliche Pakete veröffentlichen, die legitimen internen Abhängigkeiten ähneln. Lädt ein Build-System versehentlich das schädliche Paket herunter, kann schädlicher Code in eine Anwendung eingeschleust werden, ohne dass die Entwickler dies bemerken.

Ein weiteres Risiko geht von kompromittierten Build-Systemen aus. Da Build-Server Software kompilieren und verpacken, kann der Zugriff auf diese Systeme Angreifern ermöglichen, Schadcode direkt in vertrauenswürdige Releases einzuschleusen. In solchen Fällen kann die fertige Software weiterhin legitim erscheinen, da sie im Rahmen des normalen Entwicklungsprozesses eines Unternehmens erstellt wurde.

Schadsoftware in Open-Source-Paketen stellt eine ähnliche Herausforderung dar. Unternehmen nutzen häufig Hunderte oder sogar Tausende von Drittanbieterkomponenten. Enthält nur eine einzige Abhängigkeit Schadcode, können sich die Auswirkungen auf zahlreiche Anwendungen und Umgebungen ausweiten.

Die jüngsten Forschungsergebnisse zum Umgehen der Electron-Integritätsmechanismen fügen dieser wachsenden Liste ein weiteres Beispiel hinzu. Anstatt Quellcode oder Build-Pipelines zu kompromittieren, zeigten sie, wie Angreifer Komponenten manipulieren können, die das Anwendungsverhalten beeinflussen, ohne die erwarteten Integritätsschutzmechanismen zu umgehen.

Diese Vorfälle verdeutlichen eine wichtige Tatsache: Eine gültige digitale Signatur allein reicht nicht aus, um Vertrauen zu schaffen. Die Codesignierung bestätigt zwar die Herkunft der Software und hilft, bestimmte Modifikationen zu erkennen, kann aber nicht garantieren, dass jede Komponente, die das Anwendungsverhalten beeinflusst, ordnungsgemäß überwacht wird. Unternehmen benötigen zusätzliche Verifizierungsebenen, darunter Integritätsprüfung, Software-Kompositionsanalyse, Sicherheit der Build-Pipeline, kontinuierliche Überwachung und strenge Kontrollen der Signaturinfrastruktur.

Vertrauen sollte nicht auf einer einzelnen Sicherheitsprüfung beruhen. Es erfordert Transparenz über den gesamten Softwarelebenszyklus hinweg – von der Entwicklung und Paketierung bis hin zur Bereitstellung und dem laufenden Betrieb. Je mehr Organisationen überprüfen, überwachen und auditieren können, desto schwieriger wird es für Angreifer, versteckte Sicherheitslücken in der Softwarelieferkette auszunutzen.

Enterprise Code-Signing-Lösung

Holen Sie sich mit unserer Code-Signing-Lösung eine Lösung für alle Ihre kryptografischen Software-Code-Signing-Anforderungen.

Stärkung des Vertrauens durch moderne Codesignatur

Da Bedrohungen der Software-Lieferkette weiterhin Schwächen traditioneller Vertrauensmodelle aufdecken, benötigen Unternehmen mehr Kontrolle darüber, wie Software signiert, freigegeben und verteilt wird. Die Codesignierung ist nach wie vor eine der wichtigsten Sicherheitsmaßnahmen zur Gewährleistung der Softwareauthentizität, ihre Wirksamkeit hängt jedoch maßgeblich von der Verwaltung der Signaturschlüssel und -prozesse ab.

In vielen Organisationen sind die Prozesse zur Codesignierung nach wie vor über verschiedene Teams, Tools und Umgebungen verteilt. Zertifikate werden möglicherweise an mehreren Orten gespeichert, die Signierungsprozesse variieren je nach Projekt, und Genehmigungen erfordern unter Umständen manuelle Abstimmung. Diese Lücken erhöhen das Risiko unautorisierter Signierung und erschweren die Einhaltung einheitlicher Sicherheitspraktiken.

Lösungen wie CodeSign Secure von Encryption Consulting helfen Unternehmen, die Software-Signaturprozesse durch eine zentrale Codesignatur-Plattform besser zu kontrollieren. Anstatt Zertifikate und Signaturschlüssel auf voneinander getrennten Systemen zu verwalten, können Sicherheitsteams Signaturrichtlinien zentral definieren und durchsetzen.

Ein entscheidender Vorteil dieses Ansatzes ist der hardwarebasierte Schutz der Schlüssel. Durch die Speicherung privater Schlüssel in Hardware-Sicherheitsmodulen (HSMs) können Unternehmen das Risiko von Schlüsseldiebstahl oder -missbrauch erheblich reduzieren. Entwickler können Code signieren, ohne direkten Zugriff auf die zugrunde liegenden Signaturschlüssel zu haben. Dies trägt dazu bei, Entwicklungsaktivitäten von der Schlüsselverwaltung zu trennen.

Unser CodeSign Secure unterstützt zudem Genehmigungsworkflows, die sicherstellen, dass Software vor der Signierung geprüft und autorisiert wird. Dies bietet eine zusätzliche Kontrollebene und hilft, versehentliche oder unautorisierte Freigaben zu verhindern. In Kombination mit rollenbasierter Zugriffskontrolle können Unternehmen die Verantwortlichkeit von Entwicklern klar definieren und nachverfolgen, wer Signierungsvorgänge angefordert, genehmigt und ausgeführt hat.

Für Entwicklungsteams vereinfacht die CI/CD-Integration das Signieren von Softwarepaketen und macht es zu einem mühelosen Bestandteil des Softwarebereitstellungsprozesses. Automatisiertes Signieren und die Erstellung von Pipelines reduzieren den manuellen Aufwand und gewährleisten gleichzeitig die konsistente Anwendung von Sicherheitskontrollen über alle Releases hinweg.

Ebenso wichtig ist die Durchsetzung der Signaturrichtlinien. Organisationen können Regeln definieren, die festlegen, wie Zertifikate verwendet werden, wer Signaturvorgänge initiieren darf und welche Anwendungen oder Umgebungen zur Verwendung bestimmter Anmeldeinformationen berechtigt sind. Dies trägt zur Konsistenz in Entwicklungs- und Release-Workflows bei.

Schließlich bieten umfassende Prüfprotokolle Einblick in jeden einzelnen Signaturvorgang. Vollständige Aufzeichnungen unterstützen die Einhaltung von Compliance-Anforderungen, vereinfachen Untersuchungen und helfen Sicherheitsteams bei der Überprüfung, ob Software-Releases den festgelegten Richtlinien entsprechen. Zusammengenommen tragen diese Funktionen dazu bei, dass Unternehmen größeres Vertrauen in die Zuverlässigkeit und Echtheit ihrer Software gewinnen.

Lehren, die Sicherheitsteams mitnehmen sollten

Der Integritäts-Bypass von Electron verdeutlicht, dass Softwarevertrauen nicht auf eine einzige Sicherheitsmaßnahme reduziert werden kann. Digitale Signaturen sind zwar weiterhin ein wesentlicher Bestandteil der Softwaresicherheit, doch sollten Unternehmen nicht annehmen, dass eine gültige Signatur automatisch die vollständige Sicherheit einer Anwendung bedeutet. Eine Signatur bestätigt zwar die Herkunft der Software und hilft, bestimmte Manipulationen zu erkennen, garantiert aber nicht, dass jede Komponente, die das Anwendungsverhalten beeinflusst, verifiziert wurde.

Sicherheitsteams sollten sich auf die kontinuierliche Integritätsprüfung konzentrieren, anstatt sich ausschließlich auf die Prüfungen während des Signierungsvorgangs zu verlassen. Die Überwachung von Software nach der Bereitstellung kann helfen, unerwartete Änderungen zu erkennen und die Wahrscheinlichkeit zu verringern, dass versteckte Modifikationen unbemerkt bleiben.

Der Schutz der Codesignatur-Infrastruktur ist ebenso wichtig. Signaturzertifikate, private Schlüssel und Signaturprozesse sollten als kritische Ressourcen behandelt werden, da Angreifer häufig die Vertrauensmechanismen ins Visier nehmen, auf die sich Organisationen verlassen.

Organisationen sollten zudem die Transparenz ihrer Software-Lieferketten gewährleisten. Das Verständnis der Herkunft des Codes, der verwendeten Abhängigkeiten und des Softwareentwicklungsprozesses kann dazu beitragen, Risiken aufzudecken, bevor sie zu Sicherheitsvorfällen führen.

Darüber hinaus trägt die Transparenz kryptografischer Assets, einschließlich Zertifikate, Schlüssel und Signaturberechtigungen, dazu bei, blinde Flecken zu beseitigen, die die Vertrauenskontrollen schwächen könnten.

Die stärkste Sicherheitsstrategie ist letztlich ein mehrschichtiger Sicherheitsansatz. Die Kombination von Codesignierung, Integritätsprüfung, Lieferkettenüberwachung, Zugriffskontrollen und kryptografischem Asset-Management schafft mehrere Schutzebenen und erschwert es Angreifern erheblich, eine einzelne Schwachstelle auszunutzen.

Wie unsere Lösung CodeSign Secure dazu beiträgt, diese Risiken zu reduzieren

Der Integritäts-Bypass von Electron verdeutlichte eine wichtige Lektion: Vertrauen darf sich nicht auf eine digitale Signatur beschränken. Unternehmen benötigen strengere Kontrollen hinsichtlich der Entwicklung, Signierung, Genehmigung und Veröffentlichung von Software. Zwar kann keine Codesignatur-Lösung jede Art von Schwachstelle auf Anwendungsebene verhindern, doch ein gut verwalteter Codesignatur-Prozess reduziert die Möglichkeiten für unautorisierten Code, kompromittierte Releases und den Missbrauch von Signaturberechtigungen erheblich.

Unser CodeSign Secure stärkt das Vertrauen in Software, indem es Kontrolle, Transparenz und Verantwortlichkeit im Codesignierungsprozess schafft. Anstatt Signaturvorgänge auf mehrere Teams und Systeme zu verteilen, zentralisiert CodeSign Secure diese Vorgänge und sorgt für einheitliche Sicherheitsrichtlinien im gesamten Unternehmen.

Eines der größten Risiken für die Sicherheit in der Software-Lieferkette ist der Missbrauch oder die Kompromittierung von Signaturschlüsseln. CodeSign Secure begegnet diesem Risiko durch die Integration mit Hardware-Sicherheitsmodulen (HSMs). So wird sichergestellt, dass private Schlüssel geschützt bleiben und niemals direkt Entwicklern oder Build-Umgebungen zugänglich gemacht werden. Dies reduziert das Risiko, dass Angreifer gestohlene Zugangsdaten zum Signieren von Schadsoftware verwenden.

Die Plattform bietet zudem strukturierte Genehmigungsworkflows und rollenspezifische Zugriffskontrollen. Jede Signaturanfrage kann geprüft, genehmigt und nachverfolgt werden, wodurch Unternehmen unautorisierte Freigaben verhindern und die Verantwortlichkeit für Signaturvorgänge klar definieren können.

Für Entwicklungsteams lässt sich CodeSign Secure direkt in CI/CD-Pipelines integrieren und ermöglicht so die automatische Signierung unter Einhaltung der Sicherheitsrichtlinien. Dadurch wird ein kontrollierter Signierungsprozess gewährleistet, der die Softwareauslieferung nicht verlangsamt.

Die umfassende Protokollierung von Audits ermöglicht es, nachzuvollziehen, wer die einzelnen Signaturvorgänge angefordert, genehmigt und ausgeführt hat. Dies vereinfacht die Erstellung von Compliance-Berichten und beschleunigt Untersuchungen, wenn Sicherheitsteams Software-Release-Aktivitäten nachverfolgen müssen.

Am wichtigsten ist, dass unser CodeSign Secure Unternehmen dabei hilft, eine stärkere Vertrauensbasis für die Softwarebereitstellung aufzubauen. Die Sicherung von Signaturschlüsseln, die Durchsetzung von Richtlinien und die vollständige Transparenz der Signaturvorgänge reduzieren das Risiko, dass unrechtmäßige oder nicht verifizierte Software in die Produktion gelangt, und tragen dazu bei, das Vertrauen in die Software zu erhalten, auf die sich die Benutzer täglich verlassen.

Fazit

Der Integritätsbypass von Electron verdeutlichte eine wichtige Erkenntnis zur Softwaresicherheit: Vertrauen reicht weit über eine digitale Signatur hinaus. Zwar bleibt die Codesignierung ein entscheidender Faktor zur Überprüfung der Softwareauthentizität, sie ist aber nur ein Teil eines umfassenderen Vertrauensmodells. Wie die Forschung zeigte, müssen Angreifer nicht immer Signaturen knacken, um das Vertrauen zu untergraben. Oft suchen sie nach Schwachstellen in den Annahmen, auf denen die Sicherheitskontrollen beruhen.

Deshalb benötigen Unternehmen einen umfassenderen Ansatz für Softwaresicherheit. Der Schutz von Signaturschlüsseln, die Validierung der Anwendungsintegrität, die Absicherung von Entwicklungsumgebungen, die Überwachung von Software-Lieferketten und die Transparenz von Release-Prozessen spielen allesamt eine wichtige Rolle bei der Risikominderung. Die Fokussierung auf eine einzelne Kontrollmaßnahme unter Vernachlässigung der umgebenden Prozesse kann Angreifern Angriffsflächen bieten.

Die wichtigste Erkenntnis ist, dass Codesignierung nicht als eigenständige Sicherheitsmaßnahme betrachtet werden sollte. Vielmehr sollte sie Teil einer umfassenderen Strategie sein, die darauf abzielt, Vertrauen während des gesamten Softwarelebenszyklus aufzubauen, zu überprüfen und zu erhalten.

Für Unternehmen, die das Vertrauen in ihre Software stärken möchten, bietet CodeSign Secure zentrale Kontrollen für die Codesignierung, hardwaregestützten Schlüsselschutz, Genehmigungsworkflows, CI/CD-Integration, Richtliniendurchsetzung und detaillierte Prüfprotokolle. Durch die durchgängige Sicherung des Signaturprozesses unterstützt CodeSign Secure Unternehmen beim Schutz ihrer Signaturschlüssel, der Verbesserung der Release-Integrität und dem Aufbau von mehr Vertrauen in moderne Softwarebereitstellungsprozesse.