Abnormal-Sicherheitslogs erfassen
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.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz.
- Privilegierter Zugriff auf Abnormal Security.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
Abnormal Security so konfigurieren, dass Logs an Google SecOps gesendet werden
- Melden Sie sich in der Web-UI von Abnormal Security an.
- Klicken Sie auf Einstellungen > Integrationen.
- Suchen Sie das Symbol für Google Chronicle und klicken Sie auf Verbinden.
- Geben Sie Ihre Google SecOps-Kundennummer ein.
- Geben Sie die Endpunktadresse Ihrer Google SecOps-Instanz ein.
- Kanada: https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam: https://me-central2-malachiteingestion-pa.googleapis.com
- Europa, mehrere Regionen: https://europe-malachiteingestion-pa.googleapis.com
- Frankfurt: https://europe-west3-malachiteingestion-pa.googleapis.com
- London: https://europe-west2-malachiteingestion-pa.googleapis.com
- Mumbai: https://asia-south1-malachiteingestion-pa.googleapis.com
- Singapur: https://asia-southeast1-malachiteingestion-pa.googleapis.com
- Sydney: https://australia-southeast1-malachiteingestion-pa.googleapis.com
- Tel Aviv: https://me-west1-malachiteingestion-pa.googleapis.com
- Tokio: https://asia-northeast1-malachiteingestion-pa.googleapis.com
- USA (mehrere Regionen): https://malachiteingestion-pa.googleapis.com
- Zürich: https://europe-west6-malachiteingestion-pa.googleapis.com
- Laden Sie die zuvor heruntergeladene Ingestion Authentication File als Google-Dienstkonto hoch.
- 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 Beispielprotokolle 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, falls 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 festgelegt, wenn das Nachrichtenarray vorhanden ist. Andernfalls wird der Wert anhand anderer Felder bestimmt 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, sofern 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 Nachrichtenarray 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 |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten