Abnormal Security-Logs erfassen
Parserversion:6.0
In diesem Dokument wird beschrieben, wie Sie Abnormal Security-Logs in Google Security Operations aufnehmen. Der Parser verarbeitet E‑Mail-Logs im JSON- und 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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Profil auf.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Erfassungs-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 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 Authentifizierungsdatei für die Aufnahme 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 Abnormal Security-Beispiellogs
- 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 (case)
{
"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 | Zu einem kommagetrennten 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 | 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 | Zu einem kommagetrennten 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 | Zu einem kommagetrennten String verkettet |
| additional.fields.campaign_id.value.string_value | Falls vorhanden, aus event_data.abx_body.campaign_id zugeordnet | |
| additional.fields.trace_id.value.string_value | Falls vorhanden, aus event_data.abx_metadata.trace_id zugeordnet | |
| additional.fields.messageReportedTime.value.string_value | Falls vorhanden, aus event_data.abx_body.message_reported_time zugeordnet | |
| metadata.event_type | Wird auf EMAIL_TRANSACTION gesetzt, wenn das Nachrichtenarray vorhanden ist. Andernfalls wird es anhand anderer Felder bestimmt und kann USER_LOGIN, STATUS_UPDATE oder GENERIC_EVENT sein. |
|
| metadata.product_name | Immer auf ABNORMAL_SECURITY gesetzt |
|
| metadata.vendor_name | Immer auf ABNORMAL_SECURITY gesetzt |
|
| metadata.product_event_type | Falls vorhanden, aus event_data.abx_metadata.event_type zugeordnet | |
| extensions.auth.type | Wird auf AUTHTYPE_UNSPECIFIED gesetzt, wenn event_type USER_LOGIN ist |
|
| security_result.category | Wird auf MAIL_SPAM und MAIL_PHISHING gesetzt, wenn das Nachrichtenarray vorhanden ist. Andernfalls wird es anhand anderer Felder auf MAIL_PHISHING und/oder MAIL_SPAM gesetzt. |
|
| 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 | Falls vorhanden, aus event_data.abx_body.reported zugeordnet | |
| security_result.detection_fields.judgement.value | Falls vorhanden, aus event_data.abx_body.judgement zugeordnet | |
| target.url | Falls vorhanden, aus event_data.abx_body.details.request_url zugeordnet | |
| target.user.userid | Falls vorhanden, aus event_data.abx_body.user.email zugeordnet | |
| target.user.email_addresses | Falls vorhanden, aus event_data.abx_body.user.email zugeordnet | |
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