Mit Sigstore zur sicheren Software Supply Chain Neues Code Signing nicht nur für Open Source Code

Von Axel Simon

Das Signieren von Code, mit dem die Vertrauenswürdigkeit von Software sichergestellt wird, gehört für Entwickler zum täglichen Brot – jedoch keineswegs zu den beliebtesten Aufgaben. Open Source Communities treiben deshalb die Entwicklung unkomplizierterer Software-Signierumgebungen voran.

Anbieter zum Thema

Die Open-Source-Gemeinschaft übernimmt die Vorreiterrolle bei der Gestaltung einer entwicklerfreundlicheren Software-Signierumgebung.
Die Open-Source-Gemeinschaft übernimmt die Vorreiterrolle bei der Gestaltung einer entwicklerfreundlicheren Software-Signierumgebung.
(© Tierney - stock.adobe.com)

Im Rennen um Wettbewerbsvorteile setzen Unternehmen zunehmend auf spezialisierte Softwarelösungen. Infolgedessen sind viele IT-Landschaften zu einem Flickenteppich aus Systemen verschiedener Anbieter geworden. Dieser Zustand bedeutet ein gesteigertes Risiko für die Informationssicherheit: Mehr Lösungen erhöhen die Anzahl der Abhängigkeiten und bieten Hackern mehr Angriffspunkte. Und da Unternehmen zur Optimierung von Leistung und Produktivität auf eine tiefere Integration zwischen Systemen setzen, kann sich ein Angriff dann auch schnell ausbreiten.

Angriffe auf die Supply Chain, bei denen Software von Drittanbietern verwendet wird, um ein Unternehmen zu infiltrieren, sind inzwischen beinahe an der Tagesordnung. Im Jahr 2020 verbreitete sich bösartiger Code, der in ein Software-Update von SolarWinds eingeschleust wurde, zunächst in US-Bundesbehörden, bevor er weltweit rund 18.000 Unternehmen befiel. Im März dieses Jahres wurden mehr als 20.000 US-Organisationen durch eine Schwachstelle in Microsofts Exchange Server kompromittiert. Es ist nicht ungewöhnlich, dass von eigentlich unbedenklichen Partnern in der Supply Chain das größte Risiko ausgeht. Der Angriff auf das US-Einzelhandelsunternehmen Target im Jahr 2013, eines der größten Datenlecks der Geschichte, wurde durch das Hacken der Klimaanlagen-Software des Partners ermöglicht. Das Thema Sicherheit in der Wertschöpfungskette ist sogar so aktuell, dass es Gegenstand einer neuen Verordnung des Weißen Hauses ist. Und nicht nur in den USA ist die Thematik relevanter denn je.

Neue Lösungen für neue Probleme?

Doch nicht nur die Risiken von Angriffen auf die Software Supply Chain sind unübersehbar, sondern auch die Versprechungen neuer technologischer Errungenschaften. Mit genau diesem Zwiespalt sehen sich viele Unternehmen konfrontiert. Im Alltag werden Softwareentwickler oft teilweise vor die Wahl gestellt: entweder sie bemühen sich, die höchsten Sicherheitsstandards einzuhalten, oder sie befreien sich von diesen „Unannehmlichkeiten“ und konzentrieren sich stattdessen auf ihre Kreativität.

Eine Möglichkeit, diese scheinbar gegensätzlichen Bestrebungen miteinander in Einklang zu bringen, besteht darin, das Signieren von Software zu überdenken – also den Prozess, bei dem der unbestreitbare Nachweis erbracht wird, dass die Software vor ihrer Bereitstellung nicht verändert oder beschädigt wurde, also vertrauenswürdig ist.

Herkömmliche Verfahren zum Signieren von Code verwenden kryptografische Schlüssel, um beispielsweise den Autor und die Integrität des Inhalts eines Software-Repositories zu verifizieren. Das bedeutet, dass der Entwickler die Schlüssel generieren und anschließend sicher aufbewahren muss. Manche empfinden diese Verantwortung als zu groß und signieren den von ihnen geschriebenen Code einfach nicht mehr, was schlecht für die Sicherheit ist, oder schreiben weniger Code, was schlecht für die Innovation ist. Beides hat Auswirkungen auf andere Entwickler. Ein Großteil der heutigen Software wird nach Open-Source-Prinzipien entwickelt wird, bei denen jeder den Code übernehmen und anpassen kann, die Frage der Herkunft wird somit zu einem zentralen Thema. Dies gilt auch für proprietäre Software, die zunehmend auf Open-Source-Code zurückgreift.

Geteilter Code, geteilte Verantwortung

Die Open-Source-Gemeinschaft übernimmt jetzt aber die Vorreiterrolle bei der Gestaltung einer entwicklerfreundlicheren Software-Signierumgebung. Das Projekt mit dem Namen sigstore ersetzt die dauerhaften Schlüssel durch ephemere Schlüssel, die mit bestehenden Identifikatoren, beispielsweise einer E-Mail-Adresse oder Logins für soziale Medien, verknüpft sind. Außerdem erstellt es ein öffentliches und unveränderliches Protokoll aller Aktivitäten. Beides nimmt den Entwicklern im Wesentlichen die Last der Software-Signierung ab, sodass sie sich auf ihre eigentlichen Aufgaben konzentrieren können. Darüber hinaus ist ein System, das nicht auf Schlüssel angewiesen ist, die gestohlen werden oder verloren gehen können, von Natur aus sicherer.

Die Projekt entwickelt sich stark: Seit dem Start von sigstore im Jahr 2019 haben sich den Gründungsmitgliedern Red Hat, Google und Purdue University weitere Organisationen angeschlossen. Außerdem wurde das Projekt wurde unter die Schirmherrschaft der Linux Foundation gestellt. Auch der Umfang ist gewachsen: Unterprojekte wie Cosign (für das Signieren von Containern und allgemeinen Software-Artefakten), Rekor (ein Transparenzprotokoll) und Fulcio (eine Zertifizierungsstelle) sind inzwischen eigenständig. Darüber hinaus wurde die Zusammenarbeit mit anderen Open-Source-Initiativen begonnen, insbesondere mit Tekton Chains (einem Ableger des Tekton CI/CD-Projekts).

In Zukunft ist auch ein breiterer Einsatz von sigstore denkbar, zum Beispiel als integriertes Feature innerhalb einer breiteren Palette von Technologien. Mit der Integration in das bestehende Toolkit eines Entwicklers, wird stets eines der Hauptziele des Projekts vorangetrieben: die Vereinfachung und Automatisierung des Code Signing bis zu dem Punkt, an dem es zu einer unsichtbaren Infrastruktur wird und Entwickler es nicht einmal mehr bemerken, geschweige denn sich darum kümmern müssen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Über den Autor: Axel Simon ist zuständig für Open Source Security im Office of the CTO bei Red Hat.

(ID:48083401)