Sicherheit im Entwicklungsprozess Code Signing-Prozesse absichern
Heutzutage ist fast jedes Unternehmen von Software abhängig. Entweder produzieren Unternehmen die Software als Hauptprodukt oder Add-on-Produkt, oder sie verwenden sie für kritische interne digitale Infrastrukturen. Die von ihnen produzierte oder verwendete Software ist gemeinsam mit ihrer Marke und ihrem Ruf allgegenwärtig. Daher ist der Schutz der Software genauso wichtig wie das Verriegeln der Haustür.
Anbieter zum Thema

Software ist überall zu finden: in Computern (Firmware, Treiber, Betriebssysteme, Anwendungen), mobilen Geräten, industriellen Steuerungen, Transportsystemen und anderen kritischen digitalen Infrastrukturen. Benutzer müssen darauf vertrauen können, dass die von ihnen installierte und verwendete Software authentisch und damit vertrauenswürdig ist und nicht von Dritten verändert wurde.
Code Signing ist eine Verschlüsselungstechnik, die seit über 30 Jahren von Unternehmen eingesetzt wird, um eine Software digital zu „signieren“. Das Verfahren soll aufzeigen, dass sie aus dem Unternehmen stammt (authentisch ist) und nicht von einem Dritten verändert wurde. Die Unterstützung dafür ist in vielen modernen Betriebssystemen integriert und Benutzer werden gewarnt oder daran gehindert, die Software zu installieren, wenn sie nicht digital signiert wurde. Es kann auch vorkommen, dass diese Software nach der ursprünglichen Signierung von einer unseriösen Quelle erneut signiert oder verändert wurde.
Code Signing als Cyber-Waffe
Cyber-Kriminelle benötigen oft unwissende Opfer, die ihre Malware installieren, um wichtige Informationen wie Anmeldedaten stehlen zu können. Da unsignierte oder unseriöse Software oft von einem Betriebssystem blockiert wird, stehlen die Angreifer legitime Code Signing-Anmeldeinformationen von legitimen Unternehmen. Sie versuchen dann die Mitarbeiter davon zu überzeugen, dass die Software, die nun eigentlich eine Schadsoftware ist, vertrauenswürdig ist. Tatsächlich wurden über 25 Millionen bösartige Binärdateien mit Code Signing-Zertifikaten im Internet verbreitet. So haben Sicherheitsforscher bereits bösartige Akteure entdeckt, die Malware in Antivirenprogrammen versteckten, indem sie Uploads mit gültigen Code Signatur-Anmeldeinformationen ausstatteten.
Code Signing-Zugangsdaten sind daher ein wertvolles Gut für Cyber-Kriminelle. Ein Beispiel: Das eigene Unternehmen ist eine Bank und verteilt eine Mobile Banking App an die Kunden. Die Kunden können dieser App vertrauen und sie nutzen, da sie mit den Zugangsdaten digital signiert wurde. Wenn Internet-Verbrecher diese Code Signing-Zugangsdaten gestohlen haben, dann können sie die Malware im Namen des Unternehmens verbreiten. Benutzer würden darauf vertrauen, dass die App weiterhin von der Bank stammt und installieren sie. Die schlimmste Folge für das Unternehmen? Die Kunden würden die Bank für den Betrug verantwortlich machen, wegen zu lascher Sicherheitsvorkehrungen.
Gefahr erkannt, doch nicht gebannt
In einer Venafi-Studie gaben Sicherheitsexperten an, dass sie zwar die Risiken der Code-Signatur verstehen, aber keine geeigneten Maßnahmen ergreifen, um ihr Unternehmen vor Angriffen zu schützen. Zu den wichtigsten Ergebnissen gehören:
- 50 Prozent sind besorgt, dass Hacker gefälschte oder gestohlene Code Signing-Zertifikate verwenden, um die Sicherheit ihrer Unternehmen zu verletzen.
- Weltweit setzen nur 29 Prozent der Unternehmen Sicherheitsrichtlinien für Code Signing konsequent durch. Dieses Problem ist in Europa akut, nur 14 Prozent sind in der Lage, Code Signing durchzusetzen.
- 35 Prozent haben keinen klaren Eigentümer für die privaten Schlüssel, die in den Code Signing-Prozessen in ihren Unternehmen verwendet werden.
- Weltweit verlassen sich 43 Prozent der Unternehmen bei der Verwaltung privater Code Signing-Schlüssel auf die IT-Security-Abteilung, nur noch 19 Prozent auf Entwickler, um diese Aufgabe zu erfüllen. Im Gegensatz dazu sind in 38 Prozent der europäischen Unternehmen die Entwickler dafür verantwortlich, während 27 Prozent erwarten, dass die IT-Security-Abteilung ihre private Code Signing-Schlüssel verwaltet.
- 69 Prozent erwarten, dass der Einsatz von Code Signing im nächsten Jahr zunehmen wird.
Ein wachsendes Problem
Da sich mehr Unternehmen auf Software verlassen und diese bereitstellen, werden ihre Entwicklungsabteilungen größer und komplexer. Häufig arbeiten sie auf der ganzen Welt verteilt und ihr Schwerpunkt liegt auf der schnelleren Bereitstellung von Software-Produkten (DevOps und Continuous Delivery). Für sie ist die Code Signierung nur ein Teil ihres Freigabeprozesses und sie treffen möglicherweise nicht die notwendigen Vorkehrungen, um die Code Signierungsdaten vor Diebstahl zu schützen.
Unternehmen sollten folgende Vorsichtsmaßnahmen treffen:
- 1. Sicherstellen, dass die für Informationssicherheit verantwortliche Gruppe stets Einblick in alle Code Signing-Aktivitäten hat und über alle verwendeten Code Signing-Anmeldeinformationen Bescheid weiß.
- 2. Sichere Speicherung privater Code Signaturschlüssel und Verhinderung, dass sie diesen sicheren Ort verlassen.
- 3. Definition und Durchsetzung von Code Signing-Richtlinien wie die Trennung von Aufgaben, welche Anmeldeinformationen zur Verfügung stehen, welche Code Signing-Tools verwendet werden können, welche Personen das Code Signing durchführen können und welche Genehmigungen zuerst erforderlich sind.
- 4. In der Lage sein, die Einhaltung der Code Signing-Richtlinien nachzuweisen, entweder für interne Audits oder externe in regulierten Branchen.
In der Praxis spielt es eine wichtige Rolle, ob der sichere Code Signing-Prozess schwerfällig, manuell und dadurch langsam oder für Entwickler schwierig zu bedienen ist. Um sich Arbeit zu sparen, werden Developer-Teams einfach das, was an Sicherheitsmaßnahmen vorhanden ist, umgehen und so weiterarbeiten, wie sie es gewohnt sind.
Um die Sache zu verkomplizieren, haben große Unternehmen viele verschiedene Entwicklergruppen, die verschiedene Arten von Software mit unterschiedlichen Code Signing-Anforderungen und mit verschiedenen Tools entwickeln. Ein gesicherter Code Signing-Prozess muss diese Unterschiede unterstützen und im gesamten Unternehmen anpassbar sein.
Fazit
Sicherheits-Teams und Entwickler betrachten Code Signing-Prozesse auf völlig unterschiedliche Weise. Entwickler sind in erster Linie daran interessiert, durch die Methoden und Anforderungen der Sicherheit nicht aufgehalten und behindert zu werden. Diese Trennung schafft oft eine chaotische Situation, die es Angreifern erlaubt, Schlüssel und Zertifikate zu stehlen. Um sich und ihre Kunden zu schützen, müssen Unternehmen genau verstehen, wo Code Signing verwendet wird, und sie müssen kontrollieren wie und wann Code Signing erlaubt ist. Darüber hinaus müssen sie Code Signing mit Development Build-Systemen zusammenbringen. Dieser umfassende Ansatz ist der einzige Weg, Risiken deutlich zu reduzieren und gleichzeitig die Geschwindigkeit und Innovation zu bieten, die Entwickler und Unternehmen heute benötigen. Eine Lösung sollte darin bestehen, den Code Signing-Prozess zu automatisieren. Solche Werkzeuge ermöglichen es Entwicklern, sich auf ihre Kernaufgaben zu konzentrieren und lassen die Sicherheitsleute ruhig schlafen.
* Eddie Glenn ist Senior Threat Intelligence Manager bei Venafi.
(ID:46121170)