Sensible Daten schützen
Secrets Management im DevSecOps-Zeitalter
Foto: Francesko221 - shutterstock.com
Der DevSecOps-Ansatz setzt sich immer weiter durch: Viele Unternehmen wollen die Silos zwischen Entwicklung, Sicherheit und Operations aufbrechen und gleichzeitig Cloud-native Architekturen nutzen, um sichere Software für Unternehmen zu entwickeln. Ein Problem verschwindet auf der DevSecOps-Reise jedoch nicht, nämlich das im Bereich Secrets Management.
Sensible Daten beinhalten Informationen, die Unternehmen geheim halten möchten - insbesondere Anmeldedaten, Zugriffsschlüssel oder Zertifikate. Wie aus früheren Berichten über Datenschutzverletzungen, etwa von IBM, hervorgeht, gehören Anmeldeinformationen und Geschäftsgeheimnisse nach wie vor zu den wichtigsten Faktoren bei Vorfällen und Datenschutzverletzungen, die böswilligen Akteuren initialen oder lateralen Zugang zu IT-Umgebungen ermöglichen. Schlechte Praktiken in Sachen Secrets Management wurden bei mehreren Sicherheitsverstößen, darunter Codecov und Twitch, ausgenutzt. Und der Data Breach bei Samsung, bei dem Anfang des Jahres auch Quellcode offengelegt wurde, beinhaltete über 6.000 geheime Schlüssel.
Sensible und geheime Daten zu managen, war bereits in der Vergangenheit eine Herausforderung - und das Problem scheint sich weiter zu verschärfen: Der "The State of Secrets Sprawl 2022"-Report (PDF) von GitGuardian offenbart, dass bei der Überprüfung öffentlicher GitHub-Reposiories im Jahre 2021 über sechs Millionen geheime Informationen entdeckt wurde - doppelt so viele wie noch im Jahr 2020.
Ein ursächliches Problem: Es mangelt den Unternehmen in Bezug auf das Secrets Management an Reife - insbesondere in Cloud-nativen DevSecOps-Umgebungen. Weitere Faktoren, die das Problem verschärfen, sind die wachsende Beliebtheit von Open-Source-Lösungen und den damit verbundenen Repositories. Quellcode, Images und Infrastructure-as-Code-Manifeste sind nur einige wenige Quellen, in denen Geheimnisse potenziell - versehentlich oder unwissentlich - offengelegt werden können. Der weit verbreitete Einsatz von Container-Images und IaC-Templates kann zwar viel Zeit sparen und Innovationen beschleunigen, aber ebenfalls zur Preisgabe von Geheimnissen führen, insbesondere wenn diese in öffentlichen Repositories an die Community weitergegeben werden.
Doch Unternehmen erleiden immer wieder auch Data Breaches, die ihre internen, privaten Repositories oder sogar CI/CD-Systeme und -Pipelines kompromittieren. Application Security Teams haben unterdessen Mühe, mit Entwicklungs- und anderen Teams Schritt zu halten, wenn es darum geht, Best Practices und Reifegradmodelle für Secrets Management zu implementieren.
Geheimnisse wahren: Best Practices
Unternehmen müssen in Sachen Secrets Management besser werden. Denn Versäumnisse in diesem Bereich können sich nicht nur auf ein einzelnes Unternehmen auswirken, sondern auch auf die gesamte Lieferkette und das zugehörige Ökosystem, falls geheime Informationen bei Software- oder (Cloud-Managed-)Serviceanbieter kompromittiert werden.
Ein Teil der Herausforderung sind dabei die verschiedenen "Orte" und Methoden, an denen Geheimnisse versehentlich weitergegeben, gespeichert oder offengelegt werden können. In modernen Technologieumgebungen gehören dazu:
Quellcode-Repositories,
CI/CD-Pipelines,
Container-Images,
IaC-Templates und sogar
die lokale Workstation eines Entwicklers.
Im Folgenden werden Methoden zur Entschärfung einiger dieser Probleme diskutiert.
Open-Source- und kommerzielle Tools
Geht es um Repositories und CI/CD-Pipelines, haben Sie die Wahl zwischen quelloffenen und proprietären Lösungen. Zu den beliebtesten Open-Source-Optionen gehören Gitleaks und Trufflehog. Mit beiden Tools können Sie Git-Repositorys nach gespeicherten Geheimnissen durchsuchen. Zudem lassen sie sich in gängige CI-Plattformen wie GitHub und GitLab integrieren, um Geheimnisse schon auf Pipeline-Ebene abzufangen, bevor sie in ein Repository oder schlimmer noch in eine Laufzeitumgebung gelangen.
Die Tools sind auch in der Lage, nach spezifischen Informationen wie Passwörtern, API-Schlüsseln und persönlichen Zugangstoken zu suchen. Diese können von böswilligen Akteuren missbraucht werden, um nicht nur Ihr Unternehmen, sondern auch Ihre Kunden und Geschäftspartner zu schädigen. Sowohl GitLeaks als auch Trufflehog unterstützen zwar die Verwendung integrierter Regeln, lassen sich aber auch mit benutzerdefinierten Regeln füttern, um Geheimnisse zu erkennen. Das kann - je nach Art der Daten, für deren Schutz Ihr Unternehmen verantwortlich ist - nützlich sein.
In jedem Fall ist es zu empfehlen, diese Tools granular abzustimmen: Sie sie sind zwar äußerst hilfreich bei der Identifizierung potenziell gefährdeter Geheimnisse, können aber auch sehr viel Störgeräusche verursachen und Entwicklerteams mit einer Flut von Warnmeldungen frustrieren, die anschließend analysiert werden müssen.
Zu den aufstrebenden Marktführern im Bereich der kommerziellen Anbieter gehört GitGuardian. Deren Lösung bietet eine Code-Sicherheitsrichtlinien-Engine, die in Versionskontrollsysteme, DevOps-Tools und IaC-Konfigurationen integriert werden kann, um zu verhindern, dass Geheimnisse preisgegeben werden. GitGuardian überwacht und scannt auch aktiv jeden öffentlichen GitHub-Commit.
Entwickleraufklärung
Ebenfalls empfehlenswert ist die Schulung der Entwickler durch das Application Security Team. Tools können zwar viel bewirken und sind obligatorisch, um sicherzustellen, dass man alles abfängt, was man abfangen kann. Starten sollten Sie jedoch bei den Entwicklern, die über die Gefahren, die mit dem Bekanntwerden von geheimen Informationen und Daten und dessen Folgen verbunden sind, Bescheid wissen müssen.
Geheimnis-Szenarien für den Notfallplan
Wie in vielen anderen Bereichen der Cybersicherheit ist es auch bei der Preisgabe von geheimen Daten nicht eine Frage des Ob, sondern eher des Wann. Deshalb sollten Ihr Notfallplan und die zugehörigen Playbooks auch Szenarien abdecken, die sich mit dem Verlust von Geheimnissen beschäftigen. Zu den wichtigsten Überlegungen gehört dabei:
Wie reagiert die Organisation, wenn Geheimnisse preisgegeben werden?
Wer ist involviert?
Wie machen Sie diese Geheimnisse ungültig, um die Auswirkungen zu minimieren?
Wie kommunizieren Sie mit Kunden oder Partnern, die davon betroffen sind?
Ein vielseitiger Ansatz, der Tools, Prozesse und Mitarbeiter einbezieht, kann Ihrem Unternehmen helfen, die Risiken zu minimieren, die mit dem Bekanntwerden von Geheimnissen und den daraus resultierenden Folgen verbunden sind. Die Umsetzung der oben genannten Punkte ist für Entwickler, AppSec-Ingenieure und Cloud-native Unternehmen von entscheidender Bedeutung. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.