Skip to main content

Untersuchungstools für Sicherheitsvorfälle

Die wichtigsten GitHub Tools, die Sie verwenden können, um Sicherheitsvorfälle zu untersuchen, wofür jedes Tool am besten verwendet wird, und allgemeine Überlegungen, die sich auf die verfügbaren Daten auswirken.

Verwenden Sie diese Referenz, um zu entscheiden, welche GitHub Tools während einer Sicherheitsuntersuchung verwendet werden sollen, welche Fragen jedes Tool beantworten kann und welche Faktoren sich auf die Daten auswirken können, die Sie sehen können.

Hinweis

Die Verfügbarkeit der einzelnen Tools (und die bereitgestellten Daten) variiert je nach GitHub Plan, Rolle und Berechtigungen, Featureaktivierung und Vorvorfallkonfiguration (z. B. Das Streaming von Überwachungsprotokollen und die Offenlegung von IP-Adressen erfordert eine vorherige Einrichtung).

Aktivitätsansicht

Verwendung

  • Verschaffen Sie sich einen Überblick über Aktivitäten in einem bestimmten Repository, einschließlich Zusammenführungen, Pushes, erzwungene Pushes, Branch-Erstellungen und -Löschungen, die bestimmten Akteuren über einen definierten Zeitraum zugeschrieben werden.
  • Korrelieren Sie verdächtige Code-Erscheinungen mit verwandten Pushes oder Zusammenführungen.
  • Beantworten Sie Fragen dazu, wann eine Änderung vorgenommen wurde, wer sie vorgenommen hat, in welcher Verzweigung, und untersuchen Sie den Diff- oder Commit-Verlauf.

Erlaubnisse

Lesezugriff auf das Repository.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • Die Aktivitätsansicht wird am besten als anfängliche Navigations- und Korrelationsoberfläche verwendet. Sie verfügt nicht über die gleiche Vollständigkeit oder Abfrageleistung wie rohe Überwachungsprotokollexporte.
  • Einige Vorfälle erfordern eine Korrelation zwischen Repositorys oder Organisationen, die im Überwachungsprotokoll möglicherweise leichter zu handhaben ist.

Überwachungsprotokolle

Verwendung

  • Beantworten Sie Fragen dazu, was sich geändert hat, wann und von wem in einem Unternehmen oder einer Organisation.
  • Untersuchen Sie Ereignisse, die möglicherweise eine Kompromittierung aktiviert haben, oder zeigen Sie sie an, z. B. Änderungen an Mitgliedschaft, Rollen, Berechtigungen oder die Generierung oder Verwendung von Zugriffstoken usw.
  • Attributieren Sie sicherheitsrelevante Aktionen für einen Akteur (Benutzer oder Integration), und erstellen Sie eine Untersuchungszeitachse.
  • Filtern Sie nach Benutzer, Aktion, IP-Adresse (sofern aktiviert) oder Token, um verdächtige Aktivitäten zu identifizieren oder die Nutzung von Tokens nachzuverfolgen.
  • Korrelieren Sie Aktivitäten in mehreren Repositorys oder Organisationen.

Erlaubnisse

  • Zum Anzeigen des Organisationsüberwachungsprotokolls müssen Sie ein Organisationsbesitzer sein.
  • Um das Unternehmensüberwachungsprotokoll anzuzeigen, müssen Sie ein Unternehmensadministrator sein.
  • Um das Sicherheitsprotokoll (persönliches Konto) anzuzeigen, müssen Sie der Kontobesitzer sein.
  • Um Audit-Log-Daten anzuzeigen, die in ein externes SIEM-System (Security Information and Event Management), ein Protokollverwaltungssystem oder andere Tools und Dienste exportiert wurden, benötigen Sie Zugriff auf das jeweilige System.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • GitHub stellt drei Überwachungsprotokolle bereit: Unternehmens-, Organisations- und Benutzersicherheitsprotokolle.
  • Die GitHub Benutzeroberfläche des Überwachungsprotokolls verfügt über eingeschränkte Filter- und Suchfunktionen . Aus diesem Grund wird empfohlen, dass Unternehmen das Unternehmensüberwachungsprotokoll für eine erweiterte Abfrage an ein externes SIEM- oder Protokollverwaltungssystem streamen .
    • Für das Streaming von Überwachungsprotokollen an ein externes SIEM- oder Protokollverwaltungssystem ist eine vorherige Konfiguration erforderlich. Siehe Streaming des Überwachungsprotokolls für Ihre Organisation.
    • Ohne Streaming von Überwachungsprotokollen können Sie keine komplexeren Abfragen ausführen, z. B. das Korrelieren von Ereignissen in organisationen oder Repositorys oder das Pivotieren von einem bestimmten Token zu allen verwandten Ereignissen.
    • Git-Ereignisdaten sind im Datenstrom enthalten.
  • Wir empfehlen Streaming-API-Anforderungsereignisse; dies erfordert eine vorherige Konfiguration. Siehe Streaming des Überwachungsprotokolls für Ihre Organisation.
  • Für Unternehmen auf GitHub Enterprise Cloud empfehlen wir, IP-Adressen in den Überwachungsprotokollen anzuzeigen. Dies erfordert eine vorherige Konfiguration. Siehe Anzeigen von IP-Adressen im Überwachungsprotokoll für dein Unternehmen.
  • Unterschiedliche Pläne weisen unterschiedliche GitHub Datenverfügbarkeits- und Datenaufbewahrungsangebote auf:
    • GitHub Free und GitHub Team Pläne können api-Aktivitäten oder Git-Ereignisse überhaupt nicht anzeigen.
    • Eigenständige Organisationen (Organisationen, die nicht Teil eines Unternehmens sind) können die Überwachungsprotokolle nicht streamen, keine API-Anforderungsereignisse anzeigen und sind auf 7 Tage für Git-Ereignisdaten beschränkt.
    • Für Unternehmen auf GitHub Enterprise Cloud:
      • Wenn Ihr Unternehmen verwendet Enterprise Managed Users, enthält das Überwachungsprotokoll auch Benutzersicherheitsprotokolle (Ereignisse im Zusammenhang mit Benutzerkonten, z. B. Anmeldeaktivität und Tokenverwendung).
      • Wenn Ihr Unternehmen _nicht nutzt_Enterprise Managed Users, enthält das GitHub-Überwachungsprotokoll nur Ereignisse, die mit dem Unternehmenskonto und den darin enthaltenen Organisationen in Verbindung stehen.
  • Die Überwachungsprotokolle enthalten keine Seitenansicht oder Repository-Browsertelemetrie.

Abhängigkeitsdiagramm

Verwendung

  • Überprüfen Sie, ob ein Repository von einem anfälligen oder kompromittierten Paket (oder einer Version) abhängt.
  • Überprüfen Sie auf neue oder verdächtige Abhängigkeiten , die während eines Vorfalls möglicherweise eingeführt wurden.
  • Filtern und untersuchen Sie Abhängigkeiten nach Ökosystem oder Beziehung (direkt oder transitiv).
  • Exportieren Sie eine Softwareabrechnung von Materialien (SBOM) für Überwachungszwecke oder um Nachweise zu erhalten.

Erlaubnisse

  • Zugriffsrechte auf das Repository schreiben oder verwalten.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • Das Abhängigkeitsdiagramm wird aus unterstützten Manifest-/Sperrdateien (und optionalen Buildzeitübermittlungen) generiert, sodass es unvollständig oder anders sein kann als das, was tatsächlich erstellt und bereitgestellt wurde. Um die genaueste Ansicht zu erhalten, insbesondere für Abhängigkeiten, die während des CI/Builds aufgelöst wurden, sollten Sie das Abhängigkeitsdiagramm mit der Übermittlung von Buildzeit-Abhängigkeiten (oder weiteren Build-Herkünften wie SBOMs) ergänzen.
          GitHub Codesuche

Verwendung

  • Suchen Sie nach kompromittierenden Indikatoren (IoCs) in Repositories, wie z. B. bekannten schädlichen Workflows oder Paketnamen.
  • Legen Sie den potenziellen Strahlradius schnell fest, indem Sie überprüfen, ob verdächtige Codemuster, z. B. ein durchleckter Geheimschlüssel oder ein Codeausschnitt, in anderen Repositorys in der gesamten Organisation oder im Unternehmen angezeigt werden.
  • Beschränken Sie die Suche mithilfe verschiedener Kriterien, die während eines Ereignisses hilfreich sein können, z. B.:
    • Suche innerhalb eines bestimmten Repositorys, einer Organisation oder eines Unternehmens (unter Verwendung der repo:, org:``enterprise: Qualifizierer).
    • Suchen innerhalb bestimmter Dateipfade (path:.github/workflows repo:ORG-NAME/REPO-NAME).

Berechtigungen sind erforderlich

  • Um in öffentlichen Repositorys zu suchen, müssen Sie bei Ihrem GitHub Konto angemeldet sein.
  • Um in privaten Repositorys zu suchen, benötigen Sie Lesezugriff auf diese Repositorys.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • Unterstützt die Regex-Suche.
  • Sucht nur in der Standardbranch einer Repository. Wenn der verdächtige Code in einer nicht standardmäßigen Verzweigung eingeführt wurde und nicht zusammengeführt wurde, wird er nicht durch die Codesuche gefunden.
  • Mit der Codesuche können Sie ermitteln, ob ein Muster oder IoC vorhanden ist, es stellt jedoch keinen Kontext bereit, z. B. wann der Code hinzugefügt wurde oder von wem. Sie sollten die Codesuche in Verbindung mit anderen Tools verwenden, z. B. Prüfprotokolle, Aktivitätsansicht oder Blame-Ansicht, sowie den Commitverlauf und den Pull-Request-Verlauf eines Repositorys überprüfen.

Sicherheitsübersicht und Sicherheitswarnungen

Verwendung

  • Sehen Sie sich eine allgemeine Übersicht über alle Sicherheitswarnungen (secret scanning, code scanningund Dependabot Warnungen) in Repositorys in einer Organisation oder einem Unternehmen an.
  • Triage was GitHub bereits erkannt und identifiziert hat, welche Repositorys betroffen sind.
  • Verfolgen Sie neue Warnungen, die während eines Vorfalls erstellt wurden (was auf aktive Ausbeutung oder Verbreitung hinweisen kann).

Berechtigungen sind erforderlich

  • Um Daten für Organisationen auf Unternehmensebene anzuzeigen, muss ein Unternehmensadministrator über die Rolle "Organisationsbesitzer" oder "Security Manager" in den relevanten Organisationen verfügen.
  • Um Daten für Repositorys auf Organisationsebene anzuzeigen, ist die Rolle des Organisationsbesitzers oder des Sicherheits-Managers erforderlich.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • Warnungen für geheime Schlüssel, anfälligen Code, anfällige Abhängigkeiten und Schadsoftware sind nur sichtbar, wenn die relevanten Features vor dem Vorfall aktiviert und konfiguriert wurden.

Workflow-Ausführungen und -protokolle

Verwendung

  • Überprüfen Sie, was zu einem bestimmten Zeitpunkt in CI/CD ausgeführt wird (z. B. die ausgeführten Befehle oder die installierte Abhängigkeit).
  • Untersuchen Sie verdächtige Workflows, z. B. die von einem unbekannten Benutzer oder zu einem ungewöhnlichen Zeitpunkt ausgelösten, um zu sehen, welche Aktionen ausgeführt wurden, auf welche geheimen Schlüssel zugegriffen wurde und welcher Code ausgeführt wurde.
  • Bestimmen Sie, ob ein Workflow Zugriff auf Geheimnisse hatte.

Berechtigungen sind erforderlich

  • Lesezugriff auf das Repository.

Wichtige Ressourcen

Hinweise und Einschränkungen

  • GitHub Redigiert geheime Schlüssel automatisch aus Workflowprotokollen.
  • Workflowprotokolle werden standardmäßig 90 Tage lang aufbewahrt GitHub , aber Sie können diesen Aufbewahrungszeitraum so konfigurieren, dass er länger ist (bis zu 400 Tage für private Repositorys).