Eine Person hält einen Schlüssel

Geheimniserkennung mit KI: Ein Leitfaden für Entwickler

Geheimniserkennung definiert

Die Geheimniserkennung ist der Prozess der Identifikation und Kennzeichnung sensibler Daten, die als „Geheimnisse“ bezeichnet werden, in Codebasen oder an anderen Stellen innerhalb von Softwareentwicklungsumgebungen. Diese automatisierte Verteidigungsstufe trägt dazu bei, sicherzustellen, dass keine sensiblen Informationen fest im Quellcode verankert oder in leicht lesbarer oder unverschlüsselter Form in den Quellcode eingebracht werden.

Die Identifikation von Sicherheitslücken ist Teil eines „Shift-Left“-Ansatzes, bei dem Sicherheitsmaßnahmen bereits in einer früheren Phase des Entwicklungsprozesses ansetzen. Geheimnisse können sich über den Code hinaus ausbreiten und das Risiko von Sicherheitsvorfällen erhöhen. Ein automatisierter Schutz durch die Erkennung von Geheimnissen kann dazu beitragen, die Workflows der Entwickler in großem Maßstab zu sichern.

Was sind Geheimnisse?

Im Bereich der Anwendungssicherheit (AppSec) sind Geheimnisse digitale Informationen, die menschlichen Benutzern oder nicht-menschlichen Identitäten wie Apps, Geräten oder Workloads Zugriff gewähren und es ihnen ermöglichen, zu kommunizieren oder Aktionen auszuführen. Da Geheimnisse sensibler Natur sind, müssen sie vertraulich behandelt werden.

Hier sind einige gängige Arten von Geheimnissen:

  • Biometrische Daten umfassen körperliche und verhaltensbezogene Merkmale einer Person – wie beispielsweise ihre Gesichtszüge, Fingerabdrücke, Stimme oder sogar ihren Gang –, die zur Überprüfung ihrer Identität herangezogen werden können.

  • Digitale Zertifikate und ihre zugehörigen privaten Schlüssel werden verwendet, um Endgeräte zu authentifizieren und sichere Kommunikationskanäle zu etablieren.

  • Mit den Anmeldedaten des Cloud-Providers können Sie auf Cloud Computing-Plattformen wie AWS, Azure, Google Cloud und IBM Cloud zugreifen.

  • Verbindungszeichenfolgen sind Textzeichenfolgen, die Anweisungen für die Verbindung mit einer Datenquelle enthalten.

  • Datenbank-Anmeldedaten sind Kombinationen aus Benutzername und Passwort, mit denen Sie Zugriff auf Datenbanken erhalten.

  • Anhand von Anmeldedaten für Dienstkonten können Apps und automatisierte Workflows auf Betriebssysteme zugreifen und mit diesen interagieren.

  • SSH-Schlüssel (Secure Shell) dienen zur Authentifizierung von Entitäten, die auf Server und andere Infrastrukturkomponenten zugreifen.

  • Benutzername- und Passwortkombinationen bestehen aus Zeichenfolgen, die den Zugriff eines Benutzers auf ein System authentifizieren.

Warum die Geheimniserkennung wichtig ist

Geheimnisse sind das Hauptziel von Bedrohungsakteuren. Diese können Bots einsetzen, um ein offenes Token, durchgesickerte Anmeldedaten oder eine Fehlkonfiguration in einer cloudnativen Umgebung abzugreifen. Angreifer nutzen diese Geheimnisse aus, um sich unbefugten Zugriff auf Anwendungen und Systeme zu verschaffen. Da der Zugriff über legimitierte Zugangsdaten erfolgt, ist er schwerer zu erkennen und kann über lange Zeit unbemerkt bleiben.

Daher ist die Erkennung vertraulicher Daten ein wesentlicher Bestandteil der Cybersicherheitsstrategie eines Unternehmens. Die Geheimniserkennung hilft Unternehmen dabei:

  • Die Übernahme von Konten und die Ausweitung von Zugriffsrechten zu verhindern: Hacker können durchgesickerte Anmeldedaten nutzen, um ihre Zugriffsrechte auszuweiten. Mit erweiterten Zugriffsrechten können sie Systemeinstellungen ändern, Server und Infrastruktur stören, Befehle ausführen, Malware installieren oder die Kontrolle über Assets übernehmen.

  • Datenschutzverletzungen zu verhindern: Böswillige Akteure können offengelegte vertrauliche Daten ausnutzen, um sensible personenbezogene Informationen oder vertrauliche Unternehmensdaten zu stehlen. Diese Datenschutzverletzungen können kostspielig sein und finanzielle Verluste, einen Rückgang des Kundenvertrauens sowie Reputationsschäden verursachen.

  • Sicherheitslücken reduzieren: Enthüllte Geheimnisse sind wie offene Türen. Durch das Aufspüren dieser Sicherheitslücken können Unternehmen diese proaktiv beseitigen und so erfolgreiche Cyberangriffe verhindern.

So funktioniert die Geheimniserkennung

Der Prozess beginnt mit Secret-Scanning, bei dem Tools für die Geheimniserkennung Code-Repositorys (auch „Repos“ genannt) und zugehörige Ressourcen nach offengelegten Geheimnissen durchsuchen. Diese Tools generieren anschließend Warnmeldungen oder Berichte zu allen identifizierten Geheimnissen, einschließlich des Geheimnistyps und des Speicherorts. Entwicklungs- und Sicherheitsteams können diese Warnmeldungen oder Berichte als Grundlage für Korrekturmaßnahmen nutzen, beispielsweise die Verlagerung von Geheimnissen in eine Lösung zur Geheimnismanagement. Diese Lösungen helfen bei der Automatisierung, Zentralisierung und Optimierung der Erstellung, Nutzung, Rotation und des Schutzes von Geheimnissen.


Die Geheimniserkennung erfordert eine Kombination verschiedener Methoden, um Geheimnisse in allen Repositorys genau zu identifizieren:

  • Mustervergleich

  • Verzeichnis-Scans

  • Entropie-Analyse

Musterabgleich

Algorithmen zur Mustererkennung suchen nach Zeichenfolgen, die bestimmten Standardformaten für Geheimnisse entsprechen. Sie verwenden zudem reguläre Ausdrücke, bei denen es sich um Suchmuster handelt, die aus Zeichenfolgen bestehen.

Diese Methode erweist sich häufig als wirksam bei Geheimnissen, die einer vordefinierten Form folgen, wie beispielsweise Zugriffstoken für Cloud-Services oder API-Schlüssel. Allerdings kann das Scannen von Geheimnissen mithilfe regulärer Ausdrücke (auch als „Regex“ bezeichnet) langsam sein, und Geheimnisse mit zufälliger Zusammensetzung können unentdeckt bleiben.

Verzeichnis-Scans

Bei der Erkennung von Geheimnissen sind Verzeichnisse Datenquellen, die bekannte Geheimnisse enthalten. Diese Verzeichnisse können bei der Suche nach Geheimnissen als Referenz herangezogen werden.

Durch das Scannen des Verzeichnisses lässt sich feststellen, ob ein Schlüssel aktuell ist oder nicht verwendet wird. Es kann jedoch sein, dass Schlüssel, die nicht im Verzeichnis enthalten sind, nicht erkannt werden.

Entropieanalyse

Die Entropie misst die Zufälligkeit oder Unvorhersehbarkeit von Daten. Je höher die Entropie, desto zufälliger sind die Daten und desto schwieriger ist es, sie vorherzusagen. Daher bewertet die Entropieanalyse Zeichenfolgen hinsichtlich ihrer Zufälligkeitsmerkmale.

Diese Methode hilft dabei, potenzielle Geheimnisse aufzudecken, die nicht den bekannten Mustern entsprechen, wie beispielsweise Verschlüsselungsschlüssel. Sie kann zudem neue Geheimnisse oder Geheimnisse mit hoher Entropie aufdecken.

Tools zur Geheimniserkennung

Die Auswahl an Systemen zur Erkennung von Geheimnissen ist groß. Bei der Auswahl der passenden Lösung müssen Unternehmen berücksichtigen, wie genau diese ist, wie umfassend und vielfältig ihre Erkennungsfunktionen sind, wie gut sie sich auf große Codebasen und den Softwareentwicklungslebenszyklus (SDLC) skalieren lässt und ob sie mit ihrem Tech-Stack und ihren Softwareentwicklungs-Workflows kompatibel ist und sich nahtlos in diese integrieren lässt.

Hier sind einige beliebte Tools zur Geheimniserkennung:

GitLab-Geheimniserkennung

GitLab nutzt einen Analysator zur Geheimniserkennung, der speziell auf GitLab-Umgebungen zugeschnitten ist. Es bietet folgende Funktionalitäten:

  • Secret Push Protection Surveys überprüfen Änderungen, bevor sie an GitLab übertragen werden, und blockieren den Push, falls geheime Daten entdeckt werden.

  • Die Geheimniserkennung in Pipelines läuft als Komponente von CI/CD-Pipelines und überprüft Merge-Anfragen sowie Commits im Standardzweig eines Repositorys.

  • Die clientseitige Geheimniserkennung überprüft Kommentare und Beschreibungen in Issues und Merge-Anfragen.

GitLab kann auf bestimmte Typen von offengelegten Geheimnissen automatisch reagieren, indem es diese widerruft. Für bestimmte Kontostufen wertet die Funktion zur Erkennung von Fehlalarmen von GitLab Duo identifizierte Geheimnisse aus, um mögliche Fehlalarme zu ermitteln.

Gitleaks

Gitleaks ist ein Open-Source-Tool für die Geheimniserkennung in Git-Repositorys, Verzeichnissen, Dateien und anderen Standardeingaben. Seine Erkennungsengine basiert auf einer Kombination aus Musterabgleich mittels regulärer Ausdrücke und Entropieanalyse.

Unternehmen können benutzerdefinierte Regelsätze für ihre eigenen Geheimnisse erstellen. Außerdem können sie Gitleaks als Pre-Commit-Hook ausführen, um Geheimnisse im Quellcode aufzuspüren, bevor diese in das Repository gelangen.

HashiCorp Vault Radar

Vault Radar ist HashiCorps Produkt zur Geheimniserkennung. Es führt kontinuierliche Echtzeitscans nach Geheimnissen und sogar personenbezogenen Daten durch, kategorisiert und bewertet sie auf einem Dashboard, um die Sanierung zu unterstützen.

Scans werden auch bei Code-Commits, Pull-Anfragen und beim Hinzufügen von Datenquellen durchgeführt. Zu den unterstützten Datenquellen zählen Repositorys und Plattformen wie Azure DevOps, Bitbucket, GitHub und GitLab sowie Kollaborationsplattformen wie Confluence, Jira und Slack.

Vault Radar bietet für bestimmte Unternehmenskonten integrierte Anleitungen zur Behebung von Problemen. Im Rahmen des Behebungsprozesses können offengelegte Geheimnisse auch in Vault, die Geheimnismanagement-Plattform von HashiCorp, kopiert werden.

 
KI für die Geheimniserkennung

Künstliche Intelligenz kann die Genauigkeit und Effizienz von Tools für die Geheimniserkennung verbessern, von denen die meisten hohe Falsch-Positiv-Raten aufweisen. KI-Modelle können so trainiert werden, dass sie Merkmale erkennen, die einem breiteren Spektrum an Typen vertraulicher Informationen entsprechen, wodurch sie dynamischer sind als regelbasierte Lösungen.

Vorteile der Geheimniserkennung mit KI

Entwicklungsteams, die KI zur Geheimniserkennung einsetzen, können von folgenden Vorteilen profitieren:

  • Kontextbewusstsein: KI-Modelle können den Kontext rund um vertrauliche Informationen erfassen, darunter Code-Kommentare, die Struktur des Quellcodes und Variablennamen. Diese semantische und kontextbezogene Analyse ermöglicht es den Modellen, besser zwischen echten vertraulichen Informationen und Beispieldaten oder Testwerten zu unterscheiden. So kann Kontextbewusstsein dazu beitragen, die Erkennungsrate für echte Treffer zu erhöhen und die Falsch-Positiv-Rate zu senken.

  • Echtzeit-Geheimniserkennung: Einige KI-gestützte Tools für die Geheimniserkennung lassen sich nahtlos in IDEs integrieren, markieren fest codierte Geheimnisse bereits während der Codierung und erkennen offengelegte Geheimnisse, bevor diese festgeschrieben oder in Repositorys übertragen werden.

  • Automatisierte Priorisierung und Sanierung: Die KI-gestützte Geheimniserkennung kann die Priorisierung markierter Geheimnisse automatisieren, indem sie anhand von Faktoren wie Ausnutzbarkeit, Auswirkungen, Standort und Schweregrad eine Risikobewertung vornimmt. Zudem kann sie Korrekturmaßnahmen vorschlagen, beispielsweise das Ersetzen offengelegter Geheimnisse durch Aufrufe an eine Plattform zur Verwaltung von Geheimnissen.

KI-basierte Verfahren zur Geheimniserkennung

Der Einsatz von KI für die Geheimniserkennung umfasst eine Reihe von Techniken:

  • Ensemble-Lernen: Beim Ensemble-Lernen werden mehrere Klassifikatoren kombiniert, um die Vorhersagegenauigkeit zu erhöhen.

KI-gestützte Tools für die Geheimniserkennung

Eine Kombination aus herkömmlichen und KI-basierten Strategien kann den Prozess der Geheimniserkennung verbessern. Musterabgleich und Entropieanalyse können zur Suche nach vertraulichen Daten eingesetzt werden, während KI-gestützte Methoden die gefundenen Daten validieren, um Fehlalarme auszuschließen.

Hier sind einige Beispiele für Lösungen zur Erkennung von Geheimnissen, die KI nutzen:

GitGuardian

Die Code-Sicherheitsplattform GitGuardian  scannt Git-Repositorys, CI/CD-Pipelines, Docker-Images und Kollaborationssysteme wie Confluence, Jira und Slack. Entwickler können Pre-Commit-Hooks einrichten und das Scannen in IDEs integrieren oder die Befehlszeilenschnittstelle von GitGuardian nutzen.

Die Engine für die Geheimniserkennung von GitGuardian besteht aus zwei Arten von Detektoren, die auf Musterabgleich basieren: spezifische Detektoren, die darauf ausgelegt sind, bestimmte Typen vertraulicher Daten zu finden, die eine hohe Erfassungsrate und Präzision verursachen, sowie generische Detektoren, die das erfassen, was den spezifischen Detektoren möglicherweise entgeht. Verschiedene Modelle des maschinellen Lernens bieten zudem wertvolle Funktionen, wie beispielsweise das Herausfiltern von Geheimnissen, bei denen es sich wahrscheinlich um Fehlalarme handelt, sowie die Auswertung des Kontexts eines generischen Geheimnisses, um diesem eine passende Kategorie und einen passenden Anbieter zuzuweisen.

Zu den weiteren Funktionen auf Basis des maschinellen Lernens gehören die Gruppierung ähnlicher Vorfälle, bei der Geheimnisse mit kontextuellen Gemeinsamkeiten zusammengefasst werden, sowie die Risikobewertung, die XGBoost (eXtreme Gradient Boosting) nutzt – ein Ensemble aus Entscheidungsbäumen, die aus den Fehlern der anderen lernen –, um Geheimnisse anhand mehrerer Risikosignale zu bewerten.

GitHub Geheimschutz

GitHub Secret Protection ist das GitHub-eigene System zur Überprüfung vertraulicher Daten. Es durchsucht die gesamten Git-Historie aller Zweige eines Repositorys sowie Beschreibungen und Kommentare in Issues und Pull-Anfragen.

Die Push-Schutzfunktion des Systems überprüft jeden Push in Echtzeit und blockiert Commits, die vertrauliche Informationen enthalten. Sie kann automatische Gültigkeitsprüfungen durchführen, um zu überprüfen, ob ein entdecktes Geheimnis aktiv ist und öffentlich zugänglich ist.

GitHub Secret Protection nutzt zudem GitHub Copilot, um unstrukturierte Geheimnisse zu erkennen, die in Repositorys committet wurden.

IBM Bob

Bob ist der KI-basierte Assistent von IBM, der entwickelt wurde, um das Schreiben von Quellcode, das Debugging, das Refactoring, Code-Reviews und die Dokumentation zu unterstützen. Er kann Sicherheitslücken im Code aufspüren und ermöglicht und fördert in Verbindung mit seiner integrierten Funktion zur Geheimniserkennung das sichere Codieren.

Bob kann so programmiert werden, dass er einen benutzerdefinierten Agentenmodus einnimmt, der nach fest codierten Geheimnissen sucht, Sicherheitsrisiken erklärt und Maßnahmen zur Sicherung der Geheimnisse empfiehlt. Er kann Geheimnisse durch Verweise auf eine Secrets-Management-Plattform wie HashiCorps Vault ersetzen und fest codierte Geheimnisse mithilfe des Model Context Protocol (MCP) an Vault übertragen.

AI Academy

KI-Experte werden

Erlangen Sie das nötige Wissen, um KI-Investitionen zu priorisieren, die das Unternehmenswachstum vorantreiben. Starten Sie noch heute mit unserer kostenlosen AI Academy und gestalten Sie die Zukunft der KI in Ihrem Unternehmen.

Best Practices für die Geheimniserkennung

Die Geheimniserkennung kann den Sicherheitsstatus eines Unternehmens verbessern. Sie ist am wirksamsten, wenn sie in die Entwicklungs-, Bereitstellungs- und Wartungsphasen des SDLC integriert wird.

Hier sind einige Best Practices, die Entwicklungsteams bei der Implementierung der Geheimniserkennung beachten können:

  • Definieren Sie die wichtigsten Geheimnisse

  • Mehr als nur code-bezogene Quellen

  • Einbindung der Geheimniserkennung in CI/CD-Pipelines

  • Priorisierung und Behebung

  • Schulung von Entwicklungs- und DevOps-Teams

Die wichtigsten Geheimnisse definieren

Unternehmen können damit beginnen, zu definieren, was für sie ein Geheimnis darstellt, und diese Geheimnisse nach ihrer Wichtigkeit zu ordnen, um den Behebungsprozess zu gestalten. Zudem müssen sie ihre gesamte Software-Lieferkette überprüfen, um das Ausmaß der Gefährdung von Geheimnissen zu erfassen.

Mehr als nur codebezogene Quellen

Geheimnisse können sich über code-bezogene Quellen hinaus verbreiten. Das bedeutet, dass die Erkennung auch andere mögliche Quellen der Geheimnis-Exposition berücksichtigen muss, wie zum Beispiel:

  • Konfigurationsdateien

  • Datenbanken

  • Dokumentation

  • Protokolle

Einbindung der Geheimniserkennung in CI/CD-Pipelines

DevOps-Teams können Pre-Commit-Hooks implementieren, die das Scannen von Geheimnissen zu einem obligatorischen Schritt machen, bevor Entwickler Code committen oder Pull-Anfragen initiieren, und Änderungen blockieren, die fest codierte Geheimnisse enthalten. Außerdem müssen sie sicherstellen, dass die Tools in der Lage sind, Artefakte, Build-Protokolle und Umgebungsvariablen kontinuierlich auf offengelegte Geheimnisse zu überprüfen, bevor diese in die Laufzeit- und Produktionsumgebungen gelangen.

Priorisierung und Behebung

Unternehmen müssen Richtlinien festlegen, wie aufgedeckte Geheimnisse priorisiert und korrigiert werden. Zu den Triage-Richtlinien können Bewertungen der Sicherheitsrisiken gehören, die von verschiedenen Arten von Geheimnissen ausgehen, sowie die Festlegung, welche Teams für die Triage zuständig sind.

Richtlinien zur Fehlerbehebung müssen die zu ergreifenden Maßnahmen klar darlegen, sei es das Widerrufen oder die Rotation von Geheimnissen oder deren Ersetzung durch Aufrufe an eine Plattform zur Verwaltung von Geheimnissen. Die Automatisierung dieser Fixes kann Zeit sparen und zu schnellen Reaktionen führen, doch müssen die Fixes getestet werden, um sicherzustellen, dass ein Geheimnis nicht mehr aufspürbar ist.

 
Schulung von Entwicklungs- und DevOps-Teams

Unternehmen müssen die Geheimniserkennung in die Schulungen zum Thema sichere Codierung für Entwicklungs- oder DevOps-Teams aufnehmen. Die Teams müssen die Gefahren fest codierter oder offengelegter Geheimnisse verstehen, wissen, was sie tun können, um diese Gefahren zu minimieren, und lernen, wie sie die erforderlichen Tools für die Geheimniserkennung einsetzen.

Autoren

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Verwandte Lösungen
IBM Bob

Beschleunigen Sie die Softwarebereitstellung mit Bob, Ihrem KI-Partner für sichere, absichtsorientierte Entwicklung.

IBM Bob erkunden
KI-Codierungslösungen

Optimieren Sie die Softwareentwicklung mit vertrauenswürdigen KI-gestützten Tools, die den Zeitaufwand für das Schreiben von Code, Debuggen, Code-Refactoring oder Codevervollständigung minimieren und mehr Raum für Innovation schaffen.

KI-Codierungslösungen erkunden
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

Erkunden Sie unsere KI-Beratungsleistungen
Machen Sie den nächsten Schritt

Mit generativer KI und fortschrittlicher Automatisierung schneller Code speziell für Unternehmen erstellen. Bob nutzt Modelle, um das Skill-Profil von Entwicklern zu erweitern und Ihre Entwicklungs- und Modernisierungsbemühungen zu vereinfachen und zu automatisieren.

  1. IBM Bob entdecken
  2. KI-Codierungslösungen erkunden