Abnormal Security のログを収集する

以下でサポートされています。

このドキュメントでは、Abnormal Security ログを Google Security Operations に取り込む方法について説明します。パーサーは、JSON 形式と Syslog 形式の両方のメールログを処理します。まず、入力を JSON として処理しようとします。失敗した場合は、Grok パターンを使用して Syslog 形式からデータを抽出します。抽出されたフィールドは統合データモデル(UDM)にマッピングされ、関連するセキュリティ コンテキストでデータが拡充され、分析用の形式が標準化されます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス。
  • Abnormal Security への特権アクセス。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。

Google SecOps にログを送信するように Abnormal Security を構成する

  1. Abnormal Security ウェブ UI にログインします。
  2. [Settings] > [Integrations] をクリックします。
  3. [Google Chronicle] アイコンを見つけて、[接続] をクリックします。
  4. Google SecOps のお客様 ID を入力します。
  5. Google SecOps インスタンスのエンドポイント アドレスを入力します。
  6. 前にダウンロードした Ingestion Authentication File を Google サービス アカウントとしてアップロードします。
  7. [保存] > [確認] をクリックします。

サポートされている Abnormal Security のログ形式

Abnormal Security パーサーは、SYSLOG 形式と JSON 形式のログをサポートしています。

サポートされている Abnormal Security のサンプルログ

  • 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(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(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(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(ケース)スキーマ
{
  "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 マッピング テーブル

ログフィールド UDM マッピング ロジック
attachmentCount additional.fields.attachmentCount.value.number_value 直接マッピングされます
attachmentNames additional.fields.attachmentNames.value カンマ区切りの文字列に連結されます
attackStrategy security_result.detection_fields.attackStrategy.value 直接マッピングされます
attackType security_result.threat_name 直接マッピングされます
attackVector security_result.detection_fields.attackVector.value 直接マッピングされます
attackedParty security_result.detection_fields.attackedParty.value 直接マッピングされます
autoRemediated IDM オブジェクトにマッピングされない
ccEmails network.email.cc 各メールアドレスが抽出され、配列に追加されます。
fromAddress network.email.from メールアドレスが抽出され、直接マッピングされます
fromName principal.user.user_display_name 直接マッピングされます
impersonatedParty security_result.detection_fields.impersonatedParty.value 直接マッピングされます
internetMessageId additional.fields.internetMessageId.value.string_value 直接マッピングされます
isRead additional.fields.isRead.value.bool_value 直接マッピングされます
postRemediated additional.fields.postRemediated.value.bool_value 直接マッピングされます
receivedTime additional.fields.mailReceivedTime.value.string_value 直接マッピングされます
remediationStatus additional.fields.remediationStatus.value.string_value 直接マッピングされます
remediationTimestamp additional.fields.mailRemediationTimestamp.value.string_value 直接マッピングされます
replyToEmails network.email.reply_to 最初のメールアドレスが抽出され、直接マッピングされます。
returnPath additional.fields.returnPath.value.string_value 直接マッピングされます
senderDomain principal.administrative_domain 直接マッピングされます
senderIpAddress principal.ip、principal.asset.ip IP アドレスが抽出され、両方のフィールドにマッピングされる
sentTime additional.fields.mailSentTime.value.string_value 直接マッピングされます
件名 network.email.subject 直接マッピングされます
summaryInsights security_result.summary カンマ区切りの文字列に連結されます
threatId security_result.threat_id 直接マッピングされます
toAddresses network.email.to 各メールアドレスが抽出され、配列に追加されます。
urlCount additional.fields.urlCount.value.number_value 直接マッピングされます
URL additional.fields.detectedUrls.value カンマ区切りの文字列に連結されます
additional.fields.campaign_id.value.string_value 存在する場合は event_data.abx_body.campaign_id からマッピングされます
additional.fields.trace_id.value.string_value 存在する場合は event_data.abx_metadata.trace_id からマッピングされます
additional.fields.messageReportedTime.value.string_value 存在する場合は event_data.abx_body.message_reported_time からマッピングされます
metadata.event_type メッセージ配列が存在する場合は EMAIL_TRANSACTION に設定します。それ以外の場合は、他のフィールドに基づいて決定され、USER_LOGINSTATUS_UPDATEGENERIC_EVENT のいずれかになります。
metadata.product_name 常に ABNORMAL_SECURITY に設定
metadata.vendor_name 常に ABNORMAL_SECURITY に設定
metadata.product_event_type 存在する場合は event_data.abx_metadata.event_type からマッピングされます
extensions.auth.type event_type が USER_LOGIN の場合、AUTHTYPE_UNSPECIFIED に設定します。
security_result.category メッセージ配列が存在する場合は MAIL_SPAMMAIL_PHISHING に設定し、それ以外の場合は他のフィールドに基づいて MAIL_PHISHING または MAIL_SPAM に設定します。
security_result.category_details abx_metadata.event_type が ABUSE_MAILBOX の場合は ABUSE_MAILBOX に設定し、それ以外の場合は abx_body.category が login の場合は login に設定します。
security_result.detection_fields.reported.value 存在する場合は event_data.abx_body.reported からマッピングされます
security_result.detection_fields.judgement.value 存在する場合は event_data.abx_body.judgement からマッピングされます
target.url 存在する場合は event_data.abx_body.details.request_url からマッピングされます
target.user.userid 存在する場合は event_data.abx_body.user.email からマッピングされます
target.user.email_addresses 存在する場合は event_data.abx_body.user.email からマッピングされます

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。