Abnormal Security-Logs erfassen

Parserversion:6.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Abnormal Security-Logs in Google Security Operations aufnehmen. Der Parser verarbeitet E-Mail-Logs sowohl im JSON- als auch im Syslog-Format. Zuerst wird versucht, die Eingabe als JSON zu verarbeiten. Wenn das nicht gelingt, werden Grok-Muster verwendet, um Daten aus dem Syslog-Format zu extrahieren. Die extrahierten Felder werden dann dem Unified Data Model (UDM) zugeordnet, um die Daten mit relevantem Sicherheitskontext anzureichern und das Format für weitere Analysen zu standardisieren.

Hinweis

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

  • Eine Google SecOps-Instanz.
  • Privilegierter Zugriff auf Abnormal Security.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.

Abnormal Security so konfigurieren, dass Logs an Google SecOps gesendet werden

  1. Melden Sie sich in der Abnormal Security-Web-UI an.
  2. Klicken Sie auf Einstellungen > Integrationen.
  3. Suchen Sie das Symbol für Google Chronicle und klicken Sie auf Verbinden.
  4. Geben Sie Ihre Google SecOps-Kundennummer ein.
  5. Geben Sie die Endpunktadresse Ihrer Google SecOps-Instanz ein.
  6. Laden Sie die zuvor heruntergeladene Authentifizierungsdatei für die Aufnahme als Google-Dienstkonto hoch.
  7. Klicken Sie auf Speichern > Bestätigen.

Unterstützte Abnormal Security-Logformate

Der Abnormal Security-Parser unterstützt Logs im SYSLOG- und JSON-Format.

Unterstützte Beispiel-Logs für anormale Sicherheit

  • JSON
{
  "threatId": "3fd4ed1a-9237-7e6f-d434-eacdcc41f47b",
  "messages": [
    {
      "abxMessageId": 3405268390454580698,
      "abxPortalUrl": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/3405268390454580698",
      "attachmentCount": 0,
      "attachmentNames": [],
      "attackStrategy": "Unknown Sender",
      "attackType": "Spam",
      "attackVector": "Link",
      "attackedParty": "VIP",
      "autoRemediated": true,
      "fromAddress": "masked.from@example.com",
      "fromName": "Masked User Name",
      "impersonatedParty": "None / Others",
      "internetMessageId": "<20eb9e7c1c3046fda97f6564c81ced64@530566577>",
      "isRead": false,
      "postRemediated": false,
      "receivedTime": "2023-08-28T14:09:31Z",
      "recipientAddress": "masked.recipient@example.com",
      "remediationStatus": "Auto-Remediated",
      "remediationTimestamp": "2023-08-28T14:09:35.618Z",
      "sentTime": "2023-08-28T14:08:44Z",
      "subject": "Banking Insights | A deep dive into the global M&A landscape",
      "threatId": "3fd4ed1a-9237-7e6f-d434-eacdcc41f47b",
      "toAddresses": [
        "masked.to@example.com"
      ],
      "ccEmails": [],
      "replyToEmails": [
        "masked.reply@example.com"
      ],
      "returnPath": "masked.returnPath@example.com",
      "senderDomain": "masked.sender.domain",
      "senderIpAddress": null,
      "summaryInsights": [
        "Suspicious Link",
        "Unusual Sender",
        "Abnormal Email Body HTML",
        "Invisible characters found in Email",
        "Unusual Sender Domain",
        "Suspicious Financial Request",
        "Unusual Reply To"
      ],
      "urlCount": 19,
      "urls": [
        "https://masked.comm.link/e/es?s=530566577&e=2595782&elqTrackId=MASKEDID&elq=MASKEDID&elqaid=119820&elqat=1",
        "https://www.masked.group/en/simplifying-the-brand?utm_source=Eloqua&utm_medium=email&utm_campaign=MASKED_CAMPAIGN&elqCampaignId=20995&elq=MASKEDID",
        "https://masked.group.link/e/er?utm_source=Eloqua&utm_medium=email&utm_campaign=MASKED_CAMPAIGN&elqCampaignId=20995&s=530566577&lid=192730&elqTrackId=MASKEDID&elq=MASKEDID&elqaid=119820&elqat=1"
        // ... (16 additional masked URLs omitted for brevity)
      ]
    }
  ]
}
  • SYSLOG + JSON
<14> {
  "threatId": "83da593b-3778-9d2f-da8c-e305dc1425e1",
  "messages": [
    {
      "abxMessageId": 8274341447487143770,
      "abxPortalUrl": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/8274341447487143770",
      "attackType": "Spam",
      "fromAddress": "masked.from.1@example.com",
      "fromName": "Masked User Name",
      "internetMessageId": "<PUZPR06MB45764FCED76739D0BC8A1B69E3DFA@masked.server.prod.outlook.com>",
      "recipientAddress": "masked.recipient.1@example.com",
      "remediationStatus": "Auto-Remediated",
      "subject": "Freightview, FreightPOP Users List",
      "toAddresses": [
        "masked.to.1@example.com"
      ],
      "returnPath": "masked.returnPath.1@example.com",
      "senderDomain": "outlook.com",
      "senderIpAddress": null,
      "urlCount": 0,
      "urls": []
    },
    {
      "abxMessageId": -4495524442058864563,
      "abxPortalUrl": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/-4495524442058864563",
      "attackType": "Spam",
      "fromAddress": "masked.user.2@outlook.com",
      "fromName": "Masked User Name",
      "internetMessageId": "<PUZPR06MB4576BF221988D780C8412731E3DFA@masked.server.prod.outlook.com>",
      "recipientAddress": "masked.recipient.2@example.com",
      "remediationStatus": "Auto-Remediated",
      "subject": "Freightview, FreightPOP Users List",
      "toAddresses": [
        "masked.to.2@example.com"
      ],
      "returnPath": "masked.user.2@outlook.com",
      "senderDomain": "outlook.com",
      "senderIpAddress": null,
      "urlCount": 0,
      "urls": []
    }
  ]
}
  • JSON-Schema (threat_log)
{
  "event": {
    "abx_message_id": -3325933065721657641,
    "abx_portal_url": "https://portal.abnormalsecurity.com/home/threat-center/remediation-history/-3325933065721657641",
    "threat_id": "1c3736ab-9e3a-883f-62b5-6fe36ac9672c",
    "subject": "[EXTERNAL] RE: Masked Name PUP094439581",
    "from_address": "masked.sender@maskeddomain.xyz",
    "from_name": "masked.sender@maskeddomain.xyz",
    "to_addresses": "masked.recipient@maskedcorp.com",
    "recipient_address": "masked.recipient@maskedcorp.com",
    "internet_message_id": "<MASKEDID@masked-insurance-group.com>",
    "attack_type": "Phishing: Credential",
    "return_path": "masked.sender@maskeddomain.xyz",
    "sender_ip_address": "",
    "urls": [
      "www.masked-insurance-group.com",
      "http://www.masked-insurance-group.com/"
    ],
    "sender_domain": "masked-insurance-group.com",
    "tenant": "Auto Club Group"
  },
  "sourcetype": "threat_log"
}
  • JSON-Schema (abuse_mailbox)
{
  "event": {
    "abx_metadata": {
      "event_type": "ABUSE_MAILBOX",
      "timestamp": "2024-04-27T15:25:53.374227319Z",
      "trace_id": "00bc67b5-eb26-41c2-9f95-021eb435fc49"
    },
    "abx_body": {
      "campaign_id": "28b9c99f-f4a4-3032-bd99-3b7bac532471",
      "subject": "[EXTERNAL] News you might have missed",
      "recipient_name": "Masked PII Name",
      "recipient_address": "masked.abuse.recipient@secops.com",
      "internet_message_id": "<AutoNewsDigest-MASKED@odspnotify>",
      "email_label_or_location": "inbox"
    }
  },
  "sourcetype": "abuse_mailbox"
}
  • JSON-Schema (audit_log)
{
  "event": {
    "abx_metadata": {
      "event_type": "AUDIT_LOG",
      "timestamp": "2024-04-01T17:50:55.194231924Z",
      "trace_id": "6f95188c-cba2-4e86-a3ae-3eaf22c869e4"
    },
    "abx_body": {
      "category": "login",
      "details": {
        "request_url": "/api-token-auth/"
      },
      "source_ip": "0.0.0.0",
      "status": "SUCCESS",
      "tenant_name": "masked_secops_tenant",
      "timestamp": "2024-04-01T17:50:54.632Z",
      "user": {
        "email": "masked.audit.user@secops.net"
      }
    }
  },
  "sourcetype": "audit_log"
}
  • JSON-Schema (Fall)
{
  "event": {
    "abx_metadata": {
      "event_type": "CASE",
      "timestamp": "2024-08-08T12:42:45.104485389Z",
      "trace_id": "e4ad638f-439a-4c5f-839d-b650ecab9156"
    },
    "abx_body": {
      "schema_version": "1.0.0",
      "case_id": 11188520,
      "tenant": "masked name",
      "entity": {
        "entity_type": "USER_ACCOUNT",
        "identifier": "masked.case.user@secops.com"
      },
      "description": "Account Compromised",
      "event_timeline": [
        {
          "timestamp": "2024-09-07T20:17:25+00:00",
          "event_type": "SIGN_IN",
          "platform": "AZURE_AD",
          "insights": [
            {
              "signal": "Risky Browser",
              "description": "The browser associated with this sign-in, None, is considered risky and has been blocklisted by Abnormal or your organization."
            }
          ],
          "ip_address": "0.0.0.0 ",
          "operating_system": "ios 17.6",
          "isp": "verizon wireless",
          "location": {
            "city": "Huntley",
            "state": "Illinois",
            "country": "United States"
          }
        },
        {
          "timestamp": "2024-09-07T20:17:25+00:00",
          "event_type": "SIGN_IN",
          "platform": "AZURE_AD",
          "ip_address": "0.0.0.0 ",
          "operating_system": "ios 15.6"
        }
      ],
      "event_type": "CASE"
    }
  },
  "sourcetype": "case"
}

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
attachmentCount additional.fields.attachmentCount.value.number_value Direkt zugeordnet
attachmentNames additional.fields.attachmentNames.value Als kommagetrennter String verkettet
attackStrategy security_result.detection_fields.attackStrategy.value Direkt zugeordnet
attackType security_result.threat_name Direkt zugeordnet
attackVector security_result.detection_fields.attackVector.value Direkt zugeordnet
attackedParty security_result.detection_fields.attackedParty.value Direkt zugeordnet
autoRemediated Nicht dem IDM-Objekt zugeordnet
ccEmails network.email.cc Jede E‑Mail-Adresse wird extrahiert und dem Array hinzugefügt.
fromAddress network.email.from E‑Mail-Adresse wird extrahiert und direkt zugeordnet
fromName principal.user.user_display_name Direkt zugeordnet
impersonatedParty security_result.detection_fields.impersonatedParty.value Direkt zugeordnet
internetMessageId additional.fields.internetMessageId.value.string_value Direkt zugeordnet
isRead additional.fields.isRead.value.bool_value Direkt zugeordnet
postRemediated additional.fields.postRemediated.value.bool_value Direkt zugeordnet
receivedTime additional.fields.mailReceivedTime.value.string_value Direkt zugeordnet
remediationStatus additional.fields.remediationStatus.value.string_value Direkt zugeordnet
remediationTimestamp additional.fields.mailRemediationTimestamp.value.string_value Direkt zugeordnet
replyToEmails network.email.reply_to Die erste E-Mail-Adresse wird extrahiert und direkt zugeordnet.
returnPath additional.fields.returnPath.value.string_value Direkt zugeordnet
senderDomain principal.administrative_domain Direkt zugeordnet
senderIpAddress principal.ip, principal.asset.ip Die IP-Adresse wird extrahiert und beiden Feldern zugeordnet.
sentTime additional.fields.mailSentTime.value.string_value Direkt zugeordnet
subject network.email.subject Direkt zugeordnet
summaryInsights security_result.summary Als kommagetrennter String verkettet
threatId security_result.threat_id Direkt zugeordnet
toAddresses network.email.to Jede E‑Mail-Adresse wird extrahiert und dem Array hinzugefügt.
urlCount additional.fields.urlCount.value.number_value Direkt zugeordnet
URLs additional.fields.detectedUrls.value Als kommagetrennter String verkettet
additional.fields.campaign_id.value.string_value Wird aus event_data.abx_body.campaign_id zugeordnet, falls vorhanden
additional.fields.trace_id.value.string_value Wird aus event_data.abx_metadata.trace_id zugeordnet, sofern vorhanden
additional.fields.messageReportedTime.value.string_value Wird aus „event_data.abx_body.message_reported_time“ abgeleitet, sofern vorhanden.
metadata.event_type Auf EMAIL_TRANSACTION gesetzt, wenn das Nachrichtenarray vorhanden ist. Andernfalls wird der Wert anhand anderer Felder ermittelt und kann USER_LOGIN, STATUS_UPDATE oder GENERIC_EVENT sein.
metadata.product_name Immer auf ABNORMAL_SECURITY festgelegt
metadata.vendor_name Immer auf ABNORMAL_SECURITY festgelegt
metadata.product_event_type Wird aus „event_data.abx_metadata.event_type“ zugeordnet, falls vorhanden
extensions.auth.type Wird auf AUTHTYPE_UNSPECIFIED gesetzt, wenn „event_type“ USER_LOGIN ist.
security_result.category Auf MAIL_SPAM und MAIL_PHISHING festgelegt, wenn das Nachrichten-Array vorhanden ist. Andernfalls wird es basierend auf anderen Feldern auf MAIL_PHISHING und/oder MAIL_SPAM festgelegt.
security_result.category_details Wird auf ABUSE_MAILBOX gesetzt, wenn abx_metadata.event_type ABUSE_MAILBOX ist. Andernfalls wird es auf login gesetzt, wenn abx_body.category login ist.
security_result.detection_fields.reported.value Wird aus „event_data.abx_body.reported“ zugeordnet, falls vorhanden
security_result.detection_fields.judgement.value Wird aus „event_data.abx_body.judgement“ zugeordnet, falls vorhanden.
target.url Wird aus „event_data.abx_body.details.request_url“ zugeordnet, falls vorhanden.
target.user.userid Wird aus event_data.abx_body.user.email zugeordnet, sofern vorhanden
target.user.email_addresses Wird aus event_data.abx_body.user.email zugeordnet, sofern vorhanden
event.abx_body.abnormal_message_id event.idm.read_only_udm.metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
event.abx_body.email_label_or_location event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
event.abx_body.not_analyzed event.idm.read_only_udm.security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
event_data.message_sources", "event_data.sender_auth_results.spf", "event_data.sender_auth_results.dkim", "event_data.sender_auth_results.dmarc", "event_data.tenant", and "event_data.attack_score additional.fields Aus dem Änderungsprotokoll zugeordnet
event_data.abx_body.severity security_result.severity Aus dem Änderungsprotokoll zugeordnet
event_data.abx_body.trigger_event" and "event_data.abx_body.entity.entity_type additional.fields Aus dem Änderungsprotokoll zugeordnet
event_data.abx_body.entity.identifier principal.user.email_addresses Aus dem Änderungsprotokoll zugeordnet
event_data.abx_body.case_id metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
sourcetype", "event.folder_locations additional.fields Aus dem Änderungsprotokoll zugeordnet
event.abx_message_id metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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