Collecter les journaux Abnormal Security

Version de l'analyseur : 6.0

Compatible avec :

Ce document explique comment ingérer les journaux Abnormal Security dans Google Security Operations. L'analyseur gère les journaux d'e-mails aux formats JSON et Syslog. Il tente d'abord de traiter l'entrée au format JSON. Si cela échoue, il utilise des modèles Grok pour extraire les données du format Syslog. Les champs extraits sont ensuite mappés au modèle de données unifié (UDM), ce qui enrichit les données avec un contexte de sécurité pertinent et normalise le format pour une analyse plus approfondie.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps.
  • Un accès privilégié à Abnormal Security.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Profil.
  3. Copiez et enregistrez l'ID client dans la section Organization Details (Informations sur l'organisation).

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à SIEM Settings > Collection Agents (Paramètres SIEM > Agents de collecte).
  3. Téléchargez le fichier d'authentification d'ingestion.

Configurer Abnormal Security pour envoyer des journaux à Google SecOps

  1. Connectez-vous à l'interface utilisateur Web Abnormal Security.
  2. Cliquez sur Settings > Integrations (Paramètres > Intégrations).
  3. Recherchez l'icône Google Chronicle , puis cliquez sur Connect (Connecter).
  4. Saisissez votre ID client Google SecOps.
  5. Saisissez l'adresse du point de terminaison de votre instance Google SecOps.
  6. Importez le fichier d'authentification d'ingestion téléchargé précédemment en tant que compte de service Google.
  7. Cliquez sur Save > Confirm (Enregistrer > Confirmer).

Formats de journaux Abnormal Security compatibles

L'analyseur Abnormal Security est compatible avec les journaux aux formats SYSLOG et JSON.

Exemples de journaux Abnormal Security compatibles

  • 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": []
    }
  ]
}
  • Schéma JSON (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"
}
  • Schéma JSON (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"
}
  • Schéma JSON (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"
}
  • Schéma JSON (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"
}

Table de mappage UDM

Champ du journal Mappage UDM Logique
attachmentCount additional.fields.attachmentCount.value.number_value Mappage direct
attachmentNames additional.fields.attachmentNames.value Concaténé dans une chaîne séparée par une virgule
attackStrategy security_result.detection_fields.attackStrategy.value Mappage direct
attackType security_result.threat_name Mappage direct
attackVector security_result.detection_fields.attackVector.value Mappage direct
attackedParty security_result.detection_fields.attackedParty.value Mappage direct
autoRemediated Non mappé à l'objet IDM
ccEmails network.email.cc Chaque adresse e-mail est extraite et ajoutée au tableau
fromAddress network.email.from L'adresse e-mail est extraite et mappée directement
fromName principal.user.user_display_name Mappage direct
impersonatedParty security_result.detection_fields.impersonatedParty.value Mappage direct
internetMessageId additional.fields.internetMessageId.value.string_value Mappage direct
isRead additional.fields.isRead.value.bool_value Mappage direct
postRemediated additional.fields.postRemediated.value.bool_value Mappage direct
receivedTime additional.fields.mailReceivedTime.value.string_value Mappage direct
remediationStatus additional.fields.remediationStatus.value.string_value Mappage direct
remediationTimestamp additional.fields.mailRemediationTimestamp.value.string_value Mappage direct
replyToEmails network.email.reply_to La première adresse e-mail est extraite et mappée directement
returnPath additional.fields.returnPath.value.string_value Mappage direct
senderDomain principal.administrative_domain Mappage direct
senderIpAddress principal.ip, principal.asset.ip L'adresse IP est extraite et mappée aux deux champs
sentTime additional.fields.mailSentTime.value.string_value Mappage direct
subject network.email.subject Mappage direct
summaryInsights security_result.summary Concaténé dans une chaîne séparée par une virgule
threatId security_result.threat_id Mappage direct
toAddresses network.email.to Chaque adresse e-mail est extraite et ajoutée au tableau
urlCount additional.fields.urlCount.value.number_value Mappage direct
URLs additional.fields.detectedUrls.value Concaténé dans une chaîne séparée par une virgule
additional.fields.campaign_id.value.string_value Mappé à partir de event_data.abx_body.campaign_id s'il est présent
additional.fields.trace_id.value.string_value Mappé à partir de event_data.abx_metadata.trace_id s'il est présent
additional.fields.messageReportedTime.value.string_value Mappé à partir de event_data.abx_body.message_reported_time s'il est présent
metadata.event_type Défini sur EMAIL_TRANSACTION si le tableau de messages est présent, sinon déterminé en fonction d'autres champs et peut être USER_LOGIN, STATUS_UPDATE ou GENERIC_EVENT
metadata.product_name Toujours défini sur ABNORMAL_SECURITY
metadata.vendor_name Toujours défini sur ABNORMAL_SECURITY
metadata.product_event_type Mappé à partir de event_data.abx_metadata.event_type s'il est présent
extensions.auth.type Défini sur AUTHTYPE_UNSPECIFIED si event_type est USER_LOGIN
security_result.category Défini sur MAIL_SPAM et MAIL_PHISHING si le tableau de messages est présent, sinon défini sur MAIL_PHISHING et/ou MAIL_SPAM en fonction d'autres champs
security_result.category_details Défini sur ABUSE_MAILBOX si abx_metadata.event_type est ABUSE_MAILBOX, sinon défini sur login si abx_body.category est login
security_result.detection_fields.reported.value Mappé à partir de event_data.abx_body.reported s'il est présent
security_result.detection_fields.judgement.value Mappé à partir de event_data.abx_body.judgement s'il est présent
target.url Mappé à partir de event_data.abx_body.details.request_url s'il est présent
target.user.userid Mappé à partir de event_data.abx_body.user.email s'il est présent
target.user.email_addresses Mappé à partir de event_data.abx_body.user.email s'il est présent
event.abx_body.abnormal_message_id event.idm.read_only_udm.metadata.product_log_id Mappé à partir du journal des modifications
event.abx_body.email_label_or_location event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
event.abx_body.not_analyzed event.idm.read_only_udm.security_result.detection_fields Mappé à partir du journal des modifications
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 Mappé à partir du journal des modifications
event_data.abx_body.severity security_result.severity Mappé à partir du journal des modifications
event_data.abx_body.trigger_event" and "event_data.abx_body.entity.entity_type additional.fields Mappé à partir du journal des modifications
event_data.abx_body.entity.identifier principal.user.email_addresses Mappé à partir du journal des modifications
event_data.abx_body.case_id metadata.product_log_id Mappé à partir du journal des modifications
sourcetype", "event.folder_locations additional.fields Mappé à partir du journal des modifications
event.abx_message_id metadata.product_log_id Mappé à partir du journal des modifications

Journal des modifications

Consulter le journal des modifications de cet analyseur

Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels Google SecOps.