X9: Wie Resultados Digitais sensible Daten automatisch erkennen kann Daten in den Code-Repositorys

Veröffentlicht

(Vitoria Rio) (9. Oktober 2020)

Wenn Unternehmen größer werden und immer mehr Funktionen zur Verfügung stehen, erstellen und integrieren Entwickler ständig neue Codeteile als Commits und ziehen Anforderungen usw. Mit der zunehmenden Popularität agiler Methoden wird eine schnellere Lösung für die Schwachstellenanalyse zu einem Muss. Sobald Code in das Repository übernommen wird und dieses Festschreiben vertrauliche Informationen enthält, müssen Maßnahmen ergriffen werden, um diese sofort zu beheben, da dies möglicherweise zu Datenlecks führen kann.

Es werden jedoch Hunderte von Festschreibungen und Festschreibungen durchgeführt Pull-Anfragen sind selbst für ein Team von erfahrenen Sicherheitsingenieuren keine leichte Aufgabe. Hier kommt X9 ins Spiel. X9 ist ein Open-Source-Tool, das entwickelt wurde, um die Erkennung vertraulicher Informationen in den GitHub-Repositorys des Unternehmens zu automatisieren. Es kann automatisch Code analysieren und Benachrichtigungen über Slack nahezu in Echtzeit erstellen.

Architektur

Mit Github können wir verschiedene Ereignisse wie Commits und Pull-Anforderungen mithilfe von Github Webhooks . Wenn ein Entwickler beispielsweise eine PR erstellt, wird auf der Github-Plattform ein Ereignis erstellt, das dann eine Nachrichtennutzlast an eine vorkonfigurierte Route (in diesem Fall die X9-Schnittstelle) sendet, die detaillierte Informationen zu diesem Ereignis enthält. Dieser Ansatz funktioniert am besten, wenn wir bedenken, dass Github es uns ermöglicht, Webhooks für die gesamte Organisation zu konfigurieren, sodass X9 alle Repositorys aus diesem Bereich analysieren kann.

Durch die Konfiguration der Ereignisse für die gesamte Organisation garantiert X9 dies nicht nur Alle Repositorys werden analysiert, aber auch der Analyseprozess wird optimiert, wodurch Sicherheitsingenieure mehr Flexibilität und Kontrolle über die potenziellen Sicherheitsbedrohungen des Unternehmens erhalten.

Nach Erhalt der Ereignisnutzdaten klont die App den Zweig des Repositorys und führt mehrere Sicherheitsmaßnahmen durch Tests. Jedes Ereignis wird von einem unabhängigen Mitarbeiter verarbeitet, der bei höherem Durchsatz vergrößert werden kann. Alle gescannten Schwachstellen werden dann in einer PostgreSQL-Datenbank gespeichert und auf einem Slack-Kanal benachrichtigt. Über die Slack-Oberfläche kann ein Problem direkt auf Github erstellt oder die Sicherheitsanfälligkeit als falsch positiv gekennzeichnet werden.

Analyse

X9 verwendet bestimmte Signaturen und Muster, um sinnvolle Daten im Code zu erkennen. Diese Signaturen sind reguläre Ausdrücke, die auf diesen speziellen Zweck zugeschnitten sind, z. B. r"[a-zA-Z0-9]*\@emailexample.com", die möglicherweise persönliche E-Mails erkennen, oder die folgenden, die AWS-Zugriffsschlüssel im Dateiinhalt erkennen (weiter unten definiert):

Mit der Anwendung kann der Benutzer auch benutzerdefinierte Einstellungen vornehmen reguläre Ausdrücke, die einen domänenorientierteren Ansatz ermöglichen. Es gibt vier Arten von Signaturkontexten für X9:

  • Dateiname : Sucht nach vollständigen Dateinamen
  • Erweiterung : Sucht nach bestimmten Erweiterungen (z. B. .pem, .db)
  • Pfad : Sucht nach dem vollständigen Pfad eines vorgegebenen Ordners einer Datei im Repository
  • Inhalt : Sucht nach Mustern in den Dateien

Benachrichtigungen und Aktionen

Über Slack Webhooks sendet X9 detaillierte Informationen für jeden Befund an einen benutzerdefinierten Kanal. Es ist wichtig zu beachten, dass möglicherweise vertrauliche Informationen ordnungsgemäß verschleiert sind (siehe unten):

Die interaktiven Komponenten ( Offene Ausgabe und False Positive -Tasten) ermöglichen die direkte Erstellung von Problemen auf GitHub und ignorieren die Sicherheitsanfälligkeit als falsch positiv. Wenn aus der Nachricht ein Problem erstellt werden muss, wird im anfälligen Repository das folgende Problemformat erstellt:

Dashboard

X9 verfügt auch über ein Dashboard zur Visualisierung von Sicherheitslücken. Dieses Dashboard ist eine optionale separate Anwendung, die die Sicherheitsanalyse nicht beeinträchtigt. Es verwendet OpenID Connect für die Anmeldeauthentifizierung.

Das Dashboard ist eine Tabellenansicht, die das Filtern nach Repository-Namen und Schwachstellentyp ermöglicht. Wenn erstellt, wird auch der Link des Problems angezeigt.

Letzte Gedanken

X9 ist noch in Arbeit und wird aktiv aktualisiert, Beiträge sind willkommen :).

Überprüfen Sie es unter github.com/ResultadosDigitais/ x9 .

Referenzen

Dieses Projekt wurde von Shhgit und Gitleaks , die die meisten Signaturen und Analysestrategien bereitstellten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.