Recopila registros de Abnormal Security

Versión del analizador: 6.0

Compatible con:

En este documento, se explica cómo transferir registros de Abnormal Security a Google Security Operations. El analizador controla los registros de correo electrónico en formatos JSON y Syslog. Primero, intenta procesar la entrada como JSON y, si no tiene éxito, usa patrones de Grok para extraer datos del formato Syslog. Luego, los campos extraídos se asignan al Modelo de datos unificado (UDM), lo que enriquece los datos con contexto de seguridad relevante y estandariza el formato para su análisis posterior.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Acceso con privilegios a Abnormal Security

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia.

Configura Abnormal Security para enviar registros a Google SecOps

  1. Accede a la IU web de Abnormal Security.
  2. Haz clic en Configuración > Integraciones.
  3. Busca el ícono de Google Chronicle y haz clic en Conectar.
  4. Ingresa tu ID de cliente de Google SecOps.
  5. Ingresa la dirección del extremo de la instancia de Google SecOps.
  6. Sube el archivo de autenticación de transferencia que descargaste anteriormente como cuenta de servicio de Google.
  7. Haz clic en Guardar > Confirmar.

Formatos de registro de Abnormal Security compatibles

El analizador de Abnormal Security admite registros en formatos SYSLOG y JSON.

Registros de muestra de 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": []
    }
  ]
}
  • Esquema 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"
}
  • Esquema 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"
}
  • Esquema 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"
}
  • Esquema 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"
}

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
attachmentCount additional.fields.attachmentCount.value.number_value Se asignó directamente
attachmentNames additional.fields.attachmentNames.value Se concatenó en una cadena separada por comas
attackStrategy security_result.detection_fields.attackStrategy.value Se asignó directamente
attackType security_result.threat_name Se asignó directamente
attackVector security_result.detection_fields.attackVector.value Se asignó directamente
attackedParty security_result.detection_fields.attackedParty.value Se asignó directamente
autoRemediated No se asignó al objeto IDM
ccEmails network.email.cc Se extrae cada dirección de correo electrónico y se agrega al array
fromAddress network.email.from Se extrae la dirección de correo electrónico y se asigna directamente
fromName principal.user.user_display_name Se asignó directamente
impersonatedParty security_result.detection_fields.impersonatedParty.value Se asignó directamente
internetMessageId additional.fields.internetMessageId.value.string_value Se asignó directamente
isRead additional.fields.isRead.value.bool_value Se asignó directamente
postRemediated additional.fields.postRemediated.value.bool_value Se asignó directamente
receivedTime additional.fields.mailReceivedTime.value.string_value Se asignó directamente
remediationStatus additional.fields.remediationStatus.value.string_value Se asignó directamente
remediationTimestamp additional.fields.mailRemediationTimestamp.value.string_value Se asignó directamente
replyToEmails network.email.reply_to Se extrae la primera dirección de correo electrónico y se asigna directamente
returnPath additional.fields.returnPath.value.string_value Se asignó directamente
senderDomain principal.administrative_domain Se asignó directamente
senderIpAddress principal.ip, principal.asset.ip Se extrae la dirección IP y se asigna a ambos campos
sentTime additional.fields.mailSentTime.value.string_value Se asignó directamente
subject network.email.subject Se asignó directamente
summaryInsights security_result.summary Se concatenó en una cadena separada por comas
threatId security_result.threat_id Se asignó directamente
toAddresses network.email.to Se extrae cada dirección de correo electrónico y se agrega al array
urlCount additional.fields.urlCount.value.number_value Se asignó directamente
URLs additional.fields.detectedUrls.value Se concatenó en una cadena separada por comas
additional.fields.campaign_id.value.string_value Se asignó desde event_data.abx_body.campaign_id si está presente
additional.fields.trace_id.value.string_value Se asignó desde event_data.abx_metadata.trace_id si está presente
additional.fields.messageReportedTime.value.string_value Se asignó desde event_data.abx_body.message_reported_time si está presente
metadata.event_type Se establece en EMAIL_TRANSACTION si el array de mensajes está presente; de lo contrario, se determina en función de otros campos y puede ser USER_LOGIN, STATUS_UPDATE o GENERIC_EVENT
metadata.product_name Siempre se establece en ABNORMAL_SECURITY
metadata.vendor_name Siempre se establece en ABNORMAL_SECURITY
metadata.product_event_type Se asignó desde event_data.abx_metadata.event_type si está presente
extensions.auth.type Se establece en AUTHTYPE_UNSPECIFIED si event_type es USER_LOGIN
security_result.category Se establece en MAIL_SPAM y MAIL_PHISHING si el array de mensajes está presente; de lo contrario, se establece en MAIL_PHISHING o MAIL_SPAM en función de otros campos
security_result.category_details Se establece en ABUSE_MAILBOX si abx_metadata.event_type es ABUSE_MAILBOX; de lo contrario, se establece en login si abx_body.category es login
security_result.detection_fields.reported.value Se asignó desde event_data.abx_body.reported si está presente
security_result.detection_fields.judgement.value Se asignó desde event_data.abx_body.judgement si está presente
target.url Se asignó desde event_data.abx_body.details.request_url si está presente
target.user.userid Se asignó desde event_data.abx_body.user.email si está presente
target.user.email_addresses Se asignó desde event_data.abx_body.user.email si está presente
event.abx_body.abnormal_message_id event.idm.read_only_udm.metadata.product_log_id Se asignó desde el registro de cambios
event.abx_body.email_label_or_location event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
event.abx_body.not_analyzed event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
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 Se asignó desde el registro de cambios
event_data.abx_body.severity security_result.severity Se asignó desde el registro de cambios
event_data.abx_body.trigger_event" and "event_data.abx_body.entity.entity_type additional.fields Se asignó desde el registro de cambios
event_data.abx_body.entity.identifier principal.user.email_addresses Se asignó desde el registro de cambios
event_data.abx_body.case_id metadata.product_log_id Se asignó desde el registro de cambios
sourcetype", "event.folder_locations additional.fields Se asignó desde el registro de cambios
event.abx_message_id metadata.product_log_id Se asignó desde el registro de cambios

Registro de cambios

Consulta el registro de cambios de este analizador

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.