Was ist die Geheimnisverbreitung (Secrets Sprawl)?
- IAM-Glossar
- Was ist die Geheimnisverbreitung (Secrets Sprawl)?
Geheimnisverbreitung (Secrets Sprawl) ist die unkontrollierte Ausbbreitung von Geheimnissen, einschließlich API-Schlüsseln, Passwörtern und Verschlüsselungsschlüsseln, über die Infrastruktur, Code-Repositorys und Kommunikationskanäle eines Unternehmens hinweg. Anstatt in einem zentralen Geheimnismanager gespeichert zu sein, werden diese Zugangsdaten im Quellcode fest programmiert, in Messaging-Apps geteilt und über Endpunkte verstreut. Das Ergebnis ist ein unvollständiger, weitgehend unsichtbarer Bestand an Geheimnissen, den Sicherheitsteams nicht wirksam überwachen, rotieren oder widerrufen können.
Mit dem Wachstum von Unternehmen steigt die Anzahl der Geheimnisse rapide an und damit auch das Risiko von Angriffen auf Zugangsdaten und Schwachstellen in der Lieferkette.
Was ist ein Geheimnis?
Ein Geheimnis ist eine nicht-menschliche Anmeldeinformation, die Anwendungen, Dienste und Systeme verwenden, um sich untereinander zu authentifizieren. Gängige Beispiele sind API-Schlüssel, Datenbank-Verbindungszeichenfolgen, Verschlüsselungsschlüssel, Zugriffstoken, SSH-Schlüssel und digitale Zertifikate. Da ein einziges Geheimnis sensible Systeme und Daten entsperren kann, müssen Geheimnisse weitaus strenger gespeichert und kontrolliert werden als Identifikatoren wie Benutzernamen, die von Teams frei geteilt werden.
Wie Geheimnisverbreitung geschieht
Die Geheimnisverbreitung entsteht normalerweise durch die Erstellung und Verteilung vertraulicher Zugangsdaten ohne konsequente Überwachung oder Kontrolle.
Erstellung und Wachstum von Zugangsdaten
Moderne Umgebungen basieren sowohl auf menschlichen Nutzern als auch auf nicht-menschlichen Identitäten (NHIs), einschließlich Dienstkonten, Bots und Anwendungs-Workloads, die sich mit Geheimnissen wie API-Schlüsseln und Tokens authentifizieren. Da Unternehmen zunehmend auf Cloud-native Architekturen umsteigen, wächst die Anzahl der Geheimnisse schnell. Jedes neue System, jeder neue Workload und jede neue Integration erfordert eine Authentifizierung, wodurch die Angriffsoberfläche vergrößert und die Wahrscheinlichkeit nicht verwalteter Geheimnisse steigt. Wenn Unternehmen skalieren und sich an Maschinenidentitäten anpassen, sehen sie sich unweigerlich dem Risiko der Geheimnisverbreitung gegenüber.
Uneinheitlicher Umgang mit und Weitergabe von Geheimnissen
Selbst wenn Sicherheitsrichtlinien vorhanden sind, gehen Entwickler und Teams uneinheitlich mit Zugangsdaten um. Ein Entwickler speichert Zugangsdaten möglicherweise lokal, während ein anderer sie direkt in den Quellcode einbindet oder über Messaging-Tools weitergibt. Wenn sichere Verfahren weniger bequem sind als das Kopieren und Einfügen von Zugangsdaten, neigen Nutzer in der Regel dazu, Schnelligkeit vor Sicherheit zu stellen. Wenn Nutzer in mehreren Teams über einen längeren Zeitraum den gleichen Ansatz für Hunderte von Diensten verfolgen, führt diese Inkonsistenz zu einer weit verbreiteten und unkontrollierbaren Verteilung von Geheimnissen.
Fehlende zentralisierte Geheimnisverwaltung
Ohne eine zentralisierte Geheimnisverwaltung können Unternehmen nicht genau verfolgen, wo Geheimnisse gespeichert sind, wer Zugriff darauf hat oder wie sie verwendet werden. Dieser Mangel an Transparenz erschwert die Rotation oder den Entzug von Zugangsdaten nach einem Sicherheitsvorfall oder dem Ausscheiden eines Mitarbeiters, und zwingt die Sicherheitsteams dazu, reaktiv zu handeln, anstatt ihre Geheimnisse proaktiv zu verwalten.
Mangelhaftes Lebenszyklusmanagement
In vielen Fällen werden Geheimnisse für die sofortige Nutzung erstellt, aber nach Abschluss eines Projekts nicht richtig gepflegt oder entfernt. Ungenutzte oder doppelte Zugangsdaten können über mehrere Systeme hinweg bestehen bleiben und das Risiko im Laufe der Zeit erhöhen. Wenn alte oder ungenutzte Geheimnisse nicht rotiert oder entfernt werden, kann der Zugriff auf Codebasen, Repositorys oder längst vergessene Konfigurationsdateien unbegrenzt gewährt werden. Ohne definierte Lebenszyklusrichtlinien sammeln Unternehmen veraltete Geheimnisse an, die zwar zugänglich, aber nicht verwaltet werden, was die Geheimnisverbreitung über Systeme hinweg weiter fördert.
Warnungen vor Geheimnisverbreitung
Sie sind wahrscheinlich von einer Geheimnisverbreitung betroffen, wenn Ihnen einer dieser Punkte bekannt vorkommt:
- Geheimnisse tauchen an mehr als einem Ort auf und niemand kann sagen, wie viele Kopien existieren.
- Zugangsdaten werden über Chat, E-Mail oder freigegebene Laufwerke geteilt.
- Geheimnisse sind in Quellcode, Konfigurationsdateien oder CI/CD-Pipelines fest codiert.
- Nur wenige Mitarbeiter wissen, wo bestimmte Zugangsdaten gespeichert sind.
- Alte Projekte und ehemalige Mitarbeiter verfügen weiterhin über aktive Zugangsdaten.
- Bei Bedarf kann niemand eine vollständige, aktuelle Aufstellung der Geheimnisse des Unternehmens erstellen.
Warum die Geheimnisverbreitung gefährlich ist
Wenn Geheimnisse ohne Kontrolle in großem Umfang verbreitet werden, betreffen die Auswirkungen jeden Bereich eines Unternehmens. Kompromittierte Zugangsdaten gehören durchgehend zu den häufigsten Ursachen von Datenschutzverletzungen, weshalb verbreitete, nicht verwaltete Geheimnisse so gefährlich sind. Dies sind die wichtigsten Risiken von schlecht verwalteten Geheimnissen:
- Datenlecks: Geheimnisse, die über Systeme und Tools verteilt sind, tauchen mit weitaus höherer Wahrscheinlichkeit bei einem Datenleck auf. Ein einziges offengelegtes Geheimnis kann Zugriff auf sensible Daten und kritische Systeme ermöglichen.
- Systemverstöße: Schlecht verwaltete Geheimnisse können kompromittiert und anschließend dazu genutzt werden, sich lateral durch die Infrastruktur zu bewegen und Berechtigungen zu erweitern.
- Geringere Teamproduktivität: Sicherheits- und DevOps-Teams verbringen Zeit damit, nachzuverfolgen, wo sich Geheimnisse befinden, und verstreute Zugangsdaten zu verwalten, anstatt sich auf Aufgaben mit höherer Priorität zu konzentrieren.
- Compliance und finanzielle Konsequenzen: Schlecht verwaltete Geheimnisse, die zu einer Datenschutzverletzung führen, können Bußgelder von Aufsichtsbehörden sowie Kosten für die Vorfallreaktion und rechtliche Haftung nach sich ziehen. Unter PCI DSS, HIPAA oder SOC 2 ist die Unfähigkeit, kontrollierten Zugriff auf Zugangsdaten nachzuweisen, selbst eine Compliance-Feststellung, unabhängig davon, ob es zu einer Sicherheitsverletzung gekommen ist.
- Reputationsschaden: Eine Sicherheitslücke, die auf schlecht verwaltete Geheimnisse zurückzuführen ist, kann dauerhaften Schaden anrichten, insbesondere wenn Kunden einem Unternehmen vertrauliche Daten anvertrauen. Verlorenes Vertrauen und verlorene Partnerschaften können sich noch Jahre nach dem Vorfall auswirken.
Häufige Beispiele für die Ausbreitung von Geheimnissen
Die Geheimnisverbreitung tritt in der Regel auf folgende Weise auf:
- Fest codierte Geheimnisse im Quellcode: Entwickler betten Geheimnisse in Code ein, der in ein Repository übertragen wird. In öffentlichen Repositorys ist die Offenlegung sofort und dauerhaft, sofern das Geheimnis nicht rotiert wird. In privaten Repositorys erweitert es den Schadensradius jeder Repository-Kompromittierung. Durch das Scannen nach Geheimnissen können diese Offenlegungen erkannt werden, doch Geheimnisse, die bereits von Suchmaschinen oder Scannern von Drittanbietern indexiert wurden, bleiben auch nach ihrer Löschung gefährdet.
- API-Schlüssel an mehreren Orten gespeichert: Da Teams API-Schlüssel in Konfigurationsdateien kopieren, anstatt sie während der Laufzeit einzufügen, landet dasselbe Geheimnis an mehreren Orten. Ohne Geheimnisverwaltung weiß niemand, wo sich jede Kopie befindet, sodass niemand sie rotieren oder den Zugriff widerrufen kann.
- In CI/CD-Pipelines offengelegte Geheimnisse: Geheimnisse, die in Konfigurationsdateien, Build-Protokollen oder CI-Integrationen von Drittanbietern eingebettet sind, können für jeden sichtbar sein, der Zugriff auf die Pipeline-Ausführung hat, selbst ohne direkten Zugriff auf den Code.
- Vergessene Zugangsdaten: Geheimnisse aus alten Projekten oder von ehemaligen Mitarbeitern bleiben oft noch lange nach Ablauf ihres Zwecks aktiv – und zugänglich, aber außerhalb der aktiven Überwachung.
- Doppelte Geheimnisse in verschiedenen Systemen: Wenn dasselbe Geheimnis über Teams oder Umgebungen hinweg repliziert wird, ist eine einheitliche Zugriffskontrolle unmöglich.
- Unsichere Freigabemethoden: Geheimnisse, die über Messaging-Apps oder per E-Mail weitergegeben werden, lassen sich nicht zuverlässig nachverfolgen; man weiß nicht, wer sie gesehen hat, wohin sie gelangt sind oder wie sie gespeichert wurden.
Wie Sie das Risiko der Geheimnisverbreitung reduzieren können
Die Reduzierung der Geheimnisverbreitung erfordert eine Zentralisierung der Speicherung, des Zugriffs und der Verwaltung von Geheimnissen. Ein Secrets Manager gibt Unternehmen Kontrolle und Transparenz über ihren gesamten Bestand an Geheimnissen.
Zentralisieren Sie Geheimnisse in einem sicheren Tresor
Anstatt zuzulassen, dass Zugangsdaten über Dateien und Repositorys verstreut sind, speichern Sie jedes Geheimnis in einem speziellen Geheimnismanager. Ein zentralisierter, verschlüsselter Tresor wird zur alleinigen Quelle der Wahrheit für das Speichern, Abrufen und Verteilen von Zugangsdaten.
Setzen Sie Least-Privilege-Zugriff durch
Nicht jeder benötigt Zugriff auf jedes Geheimnis. Least-Privilege-Zugriff gewährt jeder Identität nur die Geheimnisse, die sie benötigt, und nur so lange, wie sie diese benötigt, sodass kompromittierte Zugangsdaten weitaus weniger Schaden anrichten.
Suchen Sie nach bereits in Repositorys vorhandenen Geheimnissen
Eine Zentralisierung funktioniert nur, wenn Sie zunächst die bestehende Verbreitung bereinigen. Tools, die nach Geheimnissen scannen, finden Zugangsdaten, die sich bereits in Repositorys, Konfigurationsdateien und Build-Artefakten befinden. Führen Sie zunächst einen ersten Scan durch, bevor Sie davon ausgehen, dass Ihre vertraulichen Daten geschützt sind, und richten Sie anschließend eine kontinuierliche Überwachung ein, um neue Sicherheitslücken zu erkennen.
Automatisieren Sie die Rotation von Zugangsdaten
Die automatisierte Rotation hält Geheimnisse auf dem neuesten Stand – ohne nicht skalierbare manuelle Prozesse. Sie verkürzt die Zeitfenster der Offenlegung und beseitigt den Aufwand für die Nachverfolgung der Rotation bei Hunderten von Zugangsdaten.
Verbessern Sie die Sichtbarkeit und Prüfung
Führen Sie eine Bestandsaufnahme von Geheimnissen in Echtzeit durch, einschließlich dessen, wo sie gespeichert sind und wie sie verwendet werden. Diese Transparenz ermöglicht es Teams, verdächtiges Verhalten zu erkennen, verwaiste Geheimnisse zu finden und schnell auf Vorfälle zu reagieren.
Definieren und erzwingen Sie Lebenszyklusrichtlinien
Legen Sie klare Regeln fest, wann Geheimnisse erstellt, rotiert und archiviert werden, und automatisieren Sie die Durchsetzung, wo möglich. Ein Geheimnis, das nicht mehr benötigt wird, muss widerrufen und darf nicht ignoriert werden.
Die effektivste Methode, all dies im großen Maßstab zu tun, ist ein dedizierter Secrets Manager. Der Keeper Secrets Manager hilft Unternehmen dabei, die Verwaltung von Geheimnissen zu zentralisieren, indem jedes Geheimnis an einem einzigen verschlüsselten Ort gespeichert wird, sodass Teams diese aus einer alleinigen Wahrheitsquelle heraus nachverfolgen und auditieren können, anstatt über ihre Infrastruktur verstreuten Zugangsdaten hinterherzujagen.