Code Signing 01-15-2021

SolarWinds-Angriff: Ist Code Signing schuld?

Mike Nelson

Beim SolarWinds-Angriff interessiert gerade vor allem sein Umfang: Wer ist alles betroffen? Wie weit reicht der erschlichene Zugriff? Was sollten Betroffene jetzt tun?

Das alles sind gute Fragen, die schneller Antworten bedürfen. Allerdings muss ich als Sicherheitsexperte, der bereits viele Unternehmen mit Code Signing unterstützt hat, vor den einfachen Fehlern warnen, die diesem breit gestreuten Angriff Tür und Tor geöffnet haben.

Ich habe bei vielen Unternehmen Einblick in ihre Code-Signing-Praktiken bekommen – mir gefiel oft nicht, was ich sah. Deshalb weiß ich: Was bei SolarWinds passierte, könnte jedem Unternehmen passieren, dessen Produkte regelmäßig aktualisiert werden müssen.

Einige dieser Code-Signing-Praktiken möchte ich nicht einmal wiederholen, weil ich befürchte, dass jemand sie für eine gute Idee halten und anwenden könnte. Hier einige der häufigsten Kardinalfehler beim Code Signing:

  • Einen Signierschlüssel auf einen USB-Stick laden und diesen unkontrolliert herumreichen
  • DENSELBEN Signierschlüssel auf alle Dateien anwenden
  • DENSELBEN Signierschlüssel in verschiedenen Produkt- und Geschäftsbereichen anwenden
  • Nicht kontrollieren können, wer zum Signieren wovon berechtigt ist
  • Keine Berichte darüber erstellen können, wer wann welche Dateien signiert hat

Code Signing funktioniert, glauben Sie mir. Doch schlecht umgesetztes Code Signing setzt Ihr Unternehmen großer Gefahr aus. Im SolarWinds-Fall wurden Dateien mit einem Code-Signing-Zertifikat unterzeichnet. Dieses Code-Signing-Zertifikat war aber nicht das eigentliche Problem, sondern die Art, wie es angewendet wurde.

Nachstehend finden Sie ein paar Vorschläge, wie Sie auf Code Signing basierende Angriffe abwehren können. Von grundlegender Bedeutung für sicheres Code Signing sind der Schutz und die Kontrolle der Signierschlüssel. Wenn Sie nicht bereit sind, beides zu gewährleisten, brauchen Sie gar nicht weiterzulesen.

Sie lesen noch? Das freut mich! Als Nächstes müssen Sie die Schlüsselrotation planen. Wenn Sie für alles denselben Schlüssel verwenden, laden Sie massive Ausfälle geradezu ein. Ein gekaperter Schlüssel stellt für alles, was damit signiert wird, ein Risiko dar. Wechseln Sie die Schlüssel bewusst und häufig; einmalige und bei Bedarf erzeugte Schlüssel grenzen das Schadensrisiko bei einem Angriff ein.

Auch sollten Sie Code vor dem Signieren auf Viren prüfen. Signieren Sie nichts, von dem Sie nicht genau wissen, dass es frei von schädlichen Inhalten ist.

Und schließlich sind Kontrolle und Transparenz beim Code Signing unverzichtbar. Wer die Berechtigung zum Signieren vorgeben, kontrollieren und erzwingen kann, hat Ruhe, weil er weiß, dass seine Signierschlüssel nicht herumgereicht werden. Besteht darüber hinaus noch die Möglichkeit, mittels Berichten nachzuvollziehen, wer was wann signiert hat, lassen sich Probleme schon im Anfangsstadium ausräumen.

Ich muss es noch einmal deutlich sagen: Code Signing war bei SolarWinds nicht das Problem, die schlechte Verwaltung des Prozesses war es. Für den einfacheren Umgang mit Code Signing bietet DigiCert eine umfassende Lösung, den DigiCert® Software Trust Manager, als Teil der DigiCert ONE™-Plattform. Erinnern Sie sich noch an die Kardinalfehler des Code Signing, die ich oben aufgelistet hatte? Der DigiCert Software Trust Manager wurde speziell dazu entwickelt, Unternehmen beim Vermeiden dieser Fehler zu unterstützen.

Wenn Sie sich beim Lesen dieser Liste gerade ertappt fühlen – dann hören Sie sofort auf mit diesen Praktiken. Bringen Sie den Prozess unter Kontrolle und minimieren Sie das Risiko für Ihr Unternehmen. SolarWinds ist nicht das einzige Unternehmen mit mangelhaften Code-Signing-Praktiken, daher sollten wir den daraus resultierenden Angriff als warnendes Beispiel sehen und die Betriebsabläufe und Sicherheit verbessern.

Über DigiCert Software Trust Manager
Der DigiCert Software Trust Manager ist ein 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.

Mit dem DigiCert Software Trust Manager gelingt das Code Signing von Binärformaten schnell, bequem und in großem Maßstab. Zudem werden die Schlüssel in der Cloud generiert, sodass sie bei Nichtgebrauch offline sind und nicht geteilt oder gestohlen werden können oder verloren gehen. 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:

Mit dem DigiCert Software Trust Manager lässt sich Code bequem in den Produktentwicklungsprozess integrieren, wobei kryptografische Vorgänge, das Signieren und die Verwaltung auf kontrollierte, nachvollziehbare Weise ablaufen. Dank Tracking, Berichten und Prüfpfaden für forensische Ermittlungen und Rechenschaftsnachweise ermöglicht es der DigiCert Software Trust Manager Unternehmen, ihre eigenen Sicherheitsrichtlinien und die der jeweiligen Branche einzuhalten.

DigiCert Software Trust Manager auf Basis von DigiCert ONE
Der DigiCert Software Trust Manager basiert auf DigiCert ONE, der modernsten PKI-Managementplattform auf dem Markt. DigiCert ONE verfügt über eine cloudnative Architektur und Technologien, mit der sich moderne Sicherheitsherausforderungen in einer PKI-Infrastruktur bewältigen lassen.

Die Plattform wurde 2020 auf den Markt gebracht, umfasst mehrere Managementtools und ist für alle PKI-Anwendungsfälle geeignet. Aufgrund ihrer Flexibilität kann sie sowohl On-Premises als auch lokal oder in der Cloud bereitgestellt werden, um strikte Vorgaben sowie spezifische Integrations- und Air-Gap-Anforderungen zu erfüllen. Die zuverlässige und dynamisch skalierbare Infrastruktur ermöglicht zudem eine schnelle Ausgabe großer Mengen von Zertifikaten. DigiCert ONE bietet ein umfassendes zentrales Zertifikatsmanagement für Benutzer und Geräte und damit einen modernen PKI-Ansatz für Vertrauensbeziehungen in Kubernetes-Clustern und dynamischen IT-Architekturen.

Weitere Informationen zum DigiCert Software Trust Manager finden Sie auf digicert.com/de/software-trust-manager. Der DigiCert-Blog berichtet ebenfalls immer wieder darüber, wie Sie das Code Signing mit dem DigiCert Software Trust Manager vereinfachen können.

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.