Best Practices 01-26-2021

Risikoärmerer
Betrieb dank
standardisierten
Code-Signing-
Workflows

Dave Roche

Wer verwaltet die Schlüssel für Ihr Bürogebäude? Hat jeder bei Ihnen einen einzigen Schlüssel für alle Bereiche des Büros oder gibt es für verschiedene Mitarbeitergruppen eigene Schlüsselkarten? Wenn jeder eine Kopie einer Schlüsselkarte für den Zugang zu allen Bereichen hat, dann reicht es schon, dass ein Einzelner seine Schlüsselkarte verliert, um alle anderen sowie die gesamte Organisation einem Risiko auszusetzen. Dieses Risiko können Sie senken, indem Sie jedem Team in Ihrem Unternehmen eigene Schlüssel gemäß seiner Rolle bereitstellen, die seine Aktivitäten und Zugangsberechtigungen einschränken. So funktionieren Schlüsselkarten für Bürogebäude und in etwa so können Entwicklerteams das Risiko eines Unternehmens im Hinblick auf das Code Signing mindern.

Es hat sich bewährt, pro DevOps-Team einen anderen Code-Signing-Schlüssel zu verwenden. Der Grund hierfür: Enthält signierter Code Malware oder Schwachstellen in der Kundensoftware, dann hat nur der zum Signieren verwendete Schlüssel Ihr Unternehmen einem potenziellen Rufschaden ausgesetzt und eventuell Probleme aufgeworfen, die behoben werden müssen und/oder Gegenmaßnahmen erfordern. Bleiben wir bei der Metapher der Schlüsselkarten. Wenn jedes Team nur bestimmte Büroräume öffnen kann, gelangt ein Dieb mit einer Schlüsselkarte, die er einem Teammitglied entwendet hat, nur dorthin und nicht in den Rest des Bürogebäudes.

DigiCert® Software Trust Manager hilft, Risiken hauptsächlich auf dreierlei Art zu reduzieren: 1. Teamsegmentierung, 2. Flexibilität bei der (Wieder-)Verwendung von Signierschlüsseln und Code-Signing-Zertifikaten, 3. Offline-Schlüssel. Dabei sind Unternehmen natürlich weiterhin in der Lage, Branchenanforderungen einzuhalten. Im Folgenden berichten wir darüber, was das für ein führendes Unternehmen für Labortechnik bedeutete, das seit Kurzem DigiCert Software Trust Manager verwendet.

FALLSTUDIE

Vor Kurzem machte sich ein führendes Labortechnik-Unternehmen daran, das Risiko zu mindern, dem es durch ein Universalzertifikat für einen Großteil seiner Software ausgesetzt war. Das Code Signing war in diesem Unternehmen wirr und chaotisch geworden. Für das Unternehmen sind 17 internationale Entwicklerteams tätig, die gemeinsam zu dem Schluss kamen, dass ein einzelnes Schlüsselpaar und Zertifikat nicht den Anforderungen moderner Informationssicherheit entsprechen.

Daraufhin entschied das Unternehmen, seine Code-Signing-Zertifikate durch eine zuverlässigere Lösung zu ersetzen: Software Trust Manager. Mit diesem Tool lassen sich Schlüssel sicher im Service instand halten und speichern. Über die Plattform können Schlüssel und Zertifikate dann ausgestellt und verwaltet werden. Zudem sind die Zugriffsrechte, Rollen und Signiervorgänge nachvollziehbar aufgeführt und alles zentral unter Kontrolle – selbst bei dynamischen globalen Entwicklerteams. Signierschlüssel lassen sich außerdem offline speichern, bis sie benötigt und zum Gebrauch freigegeben werden.

Das Unternehmen verzeichnet beim Code Signing seitdem größere Sicherheit und auch die Regeln der Schlüssel- und Zertifikatsausstellung werden disziplinierter eingehalten.

Daraus abgeleitet möchten wir Ihnen nun die drei Methoden vorstellen, mit denen Software Trust Manager beim Code Signing Risiken senkt, die mit Schlüsseln und Zertifikaten einhergehen, ohne dabei Kompromisse beim Einhalten der CA/B Forum-Anforderungen und Branchenstandards zu machen.

Teams segmentieren

DigiCert Software Trust Manager bewahrt Schlüssel nach Teams getrennt auf. Administratoren behalten aber den Überblick über alle Vorgänge und die Schlüsselnutzung. Dies senkt im gesamten Unternehmen das Risiko für unbeabsichtigte Fehler. Wenn zum Beispiel ein Kunde eine Bibliothek in sein Projekt lädt, ohne diese Bibliothek oder Vorlage gründlich zu prüfen, und der signierte Code Schwachstellen oder Malware in der Kundensoftware enthält, dann stellt nur der Code eines einzelnen Teams ein Problem dar. Kein Team kann die Schlüssel eines anderen Teams benutzen. Um also noch einmal auf die Metapher mit den unterschiedlichen Büroschlüsseln zurückzukommen: Bei einem Sicherheitsproblem ist nur ein Raum betroffen.

Bei Widerrufen gestalten sich dadurch auch die Abhilfemaßnahmen leichter. Selbst wenn Schwachstellen aufgedeckt oder ausgenutzt werden, fällt eine Reaktion leichter, da die Auswirkungen stark begrenzt sind und dementsprechend weniger Aufwand für die Fehlerbehebung entsteht.

Flexiblere Schlüsselverwaltung

Mit DigiCert Software Trust Manager ist das Risiko auch deshalb geringer, weil Administratoren Schlüssel rotieren lassen, kürzere Zertifikatslaufzeiten einstellen und Schlüsselpaare kontrollieren können. Schlüssel lassen sich in einer bestimmten Anzahl von Tagen oder Monaten rotieren, eine wichtige Voraussetzung bei Microsoft-Dateien. Microsoft stärkt schließlich den Ruf von Herausgebern, die Schlüsselrotation betreiben. Wenn Sie Dateien für den Gebrauch in Microsoft-Betriebssystemen signieren müssen (DLL-Dateien, EXE-Dateien usw.), erwartet Microsoft von Ihnen, beim Signieren systematisch mehrere Zertifikate zu durchlaufen, anstatt ständig dieselben Zertifikate zu verwenden. Außerdem können Sie kürzere Zertifikatslaufzeiten einrichten, sodass die Zertifikate jedes Jahr ablaufen.

Administratoren haben die Möglichkeit, ein neues Zertifikat auf Basis desselben, von DigiCert geschützten Schlüsselpaars auszustellen. Darüber hinaus können neue Schlüsselpaare und Zertifikate für Produkt-Releases erstellt und einmalig verwendet werden. Schlüssel und Zertifikate werden dann aus dem Service entfernt und stehen für spätere Signaturen nicht zur Verfügung, es sei denn, das jeweilige Zertifikat wird widerrufen.

Schlüssel offline vorhalten

In DigiCert Software Trust Manager gibt es einen Offline-Modus für Schlüssel, das heißt, sie können nur mit erweiterter Berechtigung zum Signieren von Releases verwendet werden. Entwickler sind von Berufs wegen gut darin, Releaseprozesse umfassend zu planen. Daher sollte es kein Problem sein, einen weiteren Schritt im Prozess unterzubringen, nämlich entweder die Erlaubnis zur Schlüsselnutzung einzuholen oder Zugang zu speziellen Schlüsseln zu erlangen, mit denen Benutzer bestimmte Releases verschlüsseln können. Dadurch werden Schlüssel nur dann verwendet, wenn es nötig ist, und es ist bekannt, wann welche Schlüssel wo verwendet wurden. Offline vorgehaltene Schlüssel sorgen zudem für eine weitere Sicherheitsebene, nämlich die Trennung der Aufgaben zwischen denen, die signieren, und denen, die dies genehmigen.

Über DigiCert Software Trust Manager

Der DigiCert Software Trust Manager ist für Unternehmen auf dreierlei Art vorteilhaft: Er hilft, das Risiko im Hinblick auf Schlüssel und Zertifikate zu senken, den Überblick über Code-Signing-Vorgänge zu behalten und Branchenvorgaben einzuhalten. Mit dem DigiCert Software Trust Manager lassen sich DevOps- und CI/CD-Vorgänge (Continuous Integration / Continuous Delivery) in skalierbaren Workflows absichern. Und sollten Widerrufe nötig sein, erleichtert der DigiCert Software Trust Manager entsprechende Abhilfemaßnahmen.

Im Einklang mit DigiCert ONE™ fungiert der DigiCert Software Trust Manager als modernes Tool für die Code-Signing-Verwaltung, das mit Modellen für die übertragbare, flexible Bereitstellung und sichere Schlüsselverwaltung automatisch alle Pipelines für die Continuous Integration / Continuous Delivery (CI/CD) absichert. Der DigiCert Software Trust Manager unterstützt Best Practices für das Code Signing, zum Beispiel pro Vorgang einmalige private Schlüssel und Zertifikate sowie On-Demand-Schlüssel und rotierende Schlüssel. Der DigiCert Software Trust Manager ist mit den meisten häufig genutzten Plattformen und Bibliotheken kompatibel, darunter Docker, Java, Authenticode, OpenSSL und Android.

Auf https://www.digicert.com/de/software-trust-manager erfahren Sie mehr über den DigiCert Software Trust Manager.

UP NEXT

Im Blickpunkt

Digitales Vertrauen für die analoge Welt wird Wirklichkeit

Mit Zero Trust zum digitalen Vertrauen

Smart Homes sollen das Leben einfacher machen, aber da jedes Smart Home-Gerät eine eigene App benötigt, um es zu verwalten, war es für die Verbraucher nicht einfach, ihre verschiedenen Geräte zu verwalten. Lesen Sie hier mehr über Matter-Trusted Devices.