DHS-IOC-Logs erfassen

Parserversion: 1.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie IOC-Logs (Indicators of Compromise) des US-amerikanischen Ministeriums für innere Sicherheit (Department of Homeland Security, DHS) mit Google Cloud Storage V2 in Google Security Operations aufnehmen.

Das DHS verteilt Threat Intelligence über das AIS-Programm (Automated Indicator Sharing) und stellt Kompromittierungsindikatoren wie schädliche IP-Adressen, Domains, URLs und Datei-Hashes im STIX/TAXII-Format bereit. Da AIS IOC-Daten als herunterladbare STIX-Bundles bereitstellt, müssen Sie diese Dateien in einen Google Cloud Storage-Bucket (GCS) exportieren und dann einen Google SecOps-Feed konfigurieren, um sie aufzunehmen.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Ein Google Cloud-Projekt mit aktivierter Cloud Storage API
  • Berechtigungen zum Erstellen und Verwalten von GCS-Buckets
  • Berechtigungen zum Verwalten von IAM-Richtlinien für GCS-Buckets
  • Ein aktives DHS AIS-Teilnehmerkonto mit Zugriff auf den TAXII-Server oder das AIS-Portal
  • AIS-Clientzertifikat und Dateien mit privatem Schlüssel für die TAXII-Serverauthentifizierung

Google Cloud Storage-Bucket erstellen

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. dhs-ioc-logs.
    Standorttyp Wählen Sie die Option aus, die am besten zu Ihren Anforderungen passt (Region, Dual-Region, Multi-Region).
    Standort Wählen Sie den Standort aus, der Ihrer Google SecOps-Instanz am nächsten ist (z. B. us-central1).
    Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird)
    Zugriffskontrolle Einheitlich (empfohlen)
    Schutztools Optional: Objektversionierung oder Aufbewahrungsrichtlinie aktivieren
  6. Klicken Sie auf Erstellen.

Automatischen Export von DHS-IOC-Daten nach GCS konfigurieren

Das DHS verteilt IOC-Daten im STIX-Format über seinen AIS-TAXII-Server. Konfigurieren Sie eine automatisierte Pipeline, um Indikatoren nach einem Zeitplan abzurufen und direkt in GCS zu schreiben.

Mit Cloud Build, das von Cloud Scheduler ausgelöst wird, einen containerisierten Job ausführen, der STIX-Bundles vom AIS TAXII-Server abruft und in GCS schreibt.

  1. AIS-Clientzertifikat und -Schlüssel in Secret Manager speichern:

    1. Wechseln Sie in der GCP Console zu Sicherheit > Secret Manager.
    2. Klicken Sie auf Secret erstellen.
    3. Erstellen Sie zwei Secrets:
      • Name: ais-client-cert, Value: Inhalt der PEM-Datei Ihres AIS-Clientzertifikats.
      • Name: ais-client-key, Value: Inhalt Ihrer privaten Schlüssel-PEM-Datei für den AIS-Client.
  2. Erstellen Sie ein Dienstkonto für den Exportjob:

    1. Wechseln Sie in der GCP Console zu IAM und Verwaltung > Dienstkonten.
    2. Klicken Sie auf Dienstkonto erstellen.
    3. Geben Sie die folgenden Konfigurationsdetails an:
      • Name des Dienstkontos: Geben Sie dhs-ioc-export-sa ein.
      • Beschreibung des Dienstkontos: Geben Sie Service account for automated DHS IOC export to GCS ein.
    4. Klicken Sie auf Erstellen und fortfahren.
    5. Fügen Sie die folgenden Rollen hinzu:
      • Storage-Objekt-Administrator (zum Schreiben von Dateien in GCS)
      • Cloud Build-Bearbeiter (zum Ausführen von Cloud Build-Jobs)
      • Zugriffsperson für Secret Manager-Secret (zum Lesen von AIS-Zertifikaten)
    6. Klicken Sie auf Fertig.
  3. Erstellen Sie eine Cloud Build-Konfigurationsdatei (cloudbuild.yaml):

    steps:
      - name: 'gcr.io/cloud-builders/gcloud'
        entrypoint: 'bash'
        args:
          - '-c'
          - |
            apt-get update && apt-get install -y curl
            # Retrieve AIS certificates from Secret Manager
            gcloud secrets versions access latest --secret=ais-client-cert > /tmp/ais-cert.pem
            gcloud secrets versions access latest --secret=ais-client-key > /tmp/ais-key.pem
            # Fetch IOC data from AIS TAXII server
            TIMESTAMP=$(date -u +%Y%m%d_%H%M%S)
            FROM=$(date -u -d '-60 minutes' +"%Y-%m-%dT%H:%M:%SZ")
            curl -s --cert /tmp/ais-cert.pem --key /tmp/ais-key.pem \
              -H "Accept: application/taxii+json;version=2.1" \
              "https://ais2.cisa.dhs.gov/taxii2/ais2/collections/${_COLLECTION_ID}/objects?added_after=$${FROM}" \
              -o /workspace/dhs_ioc_$${TIMESTAMP}.json
            # Upload to GCS
            gcloud storage cp /workspace/dhs_ioc_$${TIMESTAMP}.json \
              gs://${_BUCKET_NAME}/ioc-data/
            # Clean up certificates
            rm -f /tmp/ais-cert.pem /tmp/ais-key.pem
    substitutions:
      _BUCKET_NAME: 'dhs-ioc-logs'
      _COLLECTION_ID: 'YOUR_AIS_COLLECTION_ID'
    
  4. Cloud Scheduler-Job erstellen, um den Build auszulösen:

    1. Rufen Sie in der GCP Console Cloud Scheduler auf.
    2. Klicken Sie auf Job erstellen.
    3. Geben Sie die folgenden Konfigurationsdetails an:

      Einstellung Wert
      Name dhs-ioc-export-hourly
      Region Wählen Sie dieselbe Region wie für Ihren GCS-Bucket aus.
      Frequenz 0 * * * * (jede Stunde)
      Zeitzone UTC (empfohlen)
      Zieltyp HTTP
      URL https://cloudbuild.googleapis.com/v1/projects/YOUR_PROJECT_ID/builds
      HTTP-Methode POST
      Auth-Header OAuth-Token hinzufügen
      Dienstkonto dhs-ioc-export-sa@YOUR_PROJECT_ID.iam.gserviceaccount.com
    4. Klicken Sie auf Erstellen.

Option 2: Compute Engine-VM mit cron (alternativ)

Wenn Cloud Build nicht verfügbar ist, verwenden Sie eine kleine Compute Engine-VM mit einem Cron-Job, um IOC-Daten abzurufen und in GCS zu schreiben.

  1. Eine Compute Engine-VM erstellen:

    1. Rufen Sie in der GCP Console Compute Engine > VM-Instanzen auf.
    2. Klicken Sie auf Instanz erstellen.
    3. Wählen Sie einen kleinen Maschinentyp aus, z. B. e2-micro.
    4. Wählen Sie unter Identität und API-Zugriff ein Dienstkonto mit der Rolle Storage-Objekt-Administrator aus.
    5. Klicken Sie auf Erstellen.
  2. Stellen Sie eine SSH-Verbindung zur VM her und erstellen Sie ein Exportscript (/opt/dhs-ioc/export.sh):

    #!/usr/bin/env bash
    set -euo pipefail
    
    TAXII_URL="https://ais2.cisa.dhs.gov/taxii2"
    API_ROOT="ais2"
    COLLECTION_ID="YOUR_AIS_COLLECTION_ID"
    CERT="/etc/ais/client-cert.pem"
    KEY="/etc/ais/client-key.pem"
    BUCKET="dhs-ioc-logs"
    
    TIMESTAMP=$(date -u +%Y%m%d_%H%M%S)
    FROM=$(date -u -d '-60 minutes' +"%Y-%m-%dT%H:%M:%SZ")
    
    curl -s --cert "$CERT" --key "$KEY" \
      -H "Accept: application/taxii+json;version=2.1" \
      "${TAXII_URL}/${API_ROOT}/collections/${COLLECTION_ID}/objects?added_after=${FROM}" \
      -o "/tmp/dhs_ioc_${TIMESTAMP}.json"
    
    gcloud storage cp "/tmp/dhs_ioc_${TIMESTAMP}.json" "gs://${BUCKET}/ioc-data/"
    rm -f "/tmp/dhs_ioc_${TIMESTAMP}.json"
    
  3. Machen Sie das Script ausführbar und planen Sie es mit cron:

    chmod +x /opt/dhs-ioc/export.sh
    (crontab -l ; echo "0 * * * * /opt/dhs-ioc/export.sh >> /var/log/dhs-ioc-export.log 2>&1") | crontab -
    

Google SecOps-Dienstkonto abrufen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. DHS IOC Feed.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Department of Homeland Security als Log type (Protokolltyp) aus.
  7. Klicken Sie auf Dienstkonto abrufen.
  8. Es wird eine eindeutige E-Mail-Adresse für das Dienstkonto angezeigt, z. B.:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Kopieren Sie diese E‑Mail-Adresse für den nächsten Schritt.

Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren

Das Google SecOps-Dienstkonto benötigt die Rolle Storage Object Viewer für Ihren GCS-Bucket.

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets (z. B. dhs-ioc-logs).
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Fügen Sie die E-Mail-Adresse des Google SecOps-Dienstkontos ein (z. B. chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com).
    • Rollen zuweisen: Wählen Sie Storage Object Viewer aus.
  6. Klicken Sie auf Speichern.

Google SecOps-Feed konfigurieren

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. DHS IOC Feed.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Department of Homeland Security als Log type (Protokolltyp) aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage-Bucket-URL: Geben Sie den GCS-Bucket-URI ein:

      gs://dhs-ioc-logs/ioc-data/
      
      • Ersetzen Sie dhs-ioc-logs durch den Namen Ihres GCS-Buckets.
      • Ersetzen Sie ioc-data durch den konfigurierten Präfixpfad.
    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus:

      • Nie: Löscht nach Übertragungen nie Dateien (empfohlen für Tests).
      • Übertragene Dateien und leere Verzeichnisse löschen: Löscht Dateien und leere Verzeichnisse nach der erfolgreichen Übertragung.

    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden (Standardwert: 180 Tage).

    • Asset-Namespace: Der Asset-Namespace.

    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
entity.application Name oder Kennung der Anwendung
observable_id entity.asset.asset_id Asset-Kennung
object_id entity.asset.product_object_id Produktobjekt-ID
hash_value entity.file.md5 MD5-Hash der Datei
hash_value entity.file.sha1 SHA1-Hash der Datei
hash_value entity.file.sha256 SHA256-Hash der Datei
file_size entity.file.size Größe der Datei in Byte
fuzzy_hash_value entity.file.ssdeep SSDEEP-Hash der Datei
file_path entity.file.full_path Vollständiger Dateipfad
ip_address_value entity.ip IP-Adresse
country entity.location.country_or_region Land oder Region
administrativeArea entity.location.state Bundesland
Port entity.port Portnummer
file_name_label entity.resource.attribute.labels Attributlabels für die Ressource
URL entity.url URL
organisationInfo entity.user.department Abteilung
email_address, email entity.user.email_addresses E-Mail-Adressen
organisationName entity.user.userid Nutzer-ID
ioc.domain_and_ports.domain Domainname
indicator_type, confidence_value ioc.feed_name Feedname
ip_address_value, target_ip ioc.ip_and_ports.ip_address IP-Adresse
Port ioc.ip_and_ports.ports Ports
description, desc1, ttp_description metadata.description Beschreibung
entity_type metadata.entity_type Entitätstyp
start_time metadata.interval.start_time Startzeit des Intervalls
object_id metadata.product_entity_id Kennung für Produktentität
sightings_count_label metadata.source_labels Quelllabels
security_result_data, ttp_security_result metadata.threat Gefahreninformationen
metadata.vendor_name Name des Anbieters oder Unternehmens
metadata.product_name Produktname
address_label, subject_label, file_label security_result.about.labels Labels zum Sicherheitsergebnis
indicator_type security_result_data.category_details Kategoriedetails
desc1 security_result_data.description Beschreibung
confidence_value security_result_data.severity Wichtigkeitsstufe
host, domain_name target.hostname Ziel-Hostname
target_ip target.ip Ziel-IP-Adresse
domain_name target.url Ziel-URL
malware_category ttp_security_result.category_details Kategoriedetails für TTP
ttp_id_label ttp_security_result.detection_fields Erkennungsfelder für TTP
ttp_description ttp_security_result.description Beschreibung für TTP
ttp_summary ttp_security_result.summary Zusammenfassung für TTP

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten