Coletar registros do Wiz

Compatível com:

Este documento explica como ingerir registros do Wiz no Google Security Operations. O analisador transforma registros brutos formatados em JSON da Wiz em um modelo de dados unificado (UDM). Primeiro, ele inicializa os valores padrão para campos da UDM e, em seguida, analisa a mensagem JSON, extrai campos relevantes, como informações do usuário, local, detalhes do dispositivo e resultados de segurança. A Wiz é uma plataforma de segurança na nuvem que oferece visibilidade de ponta a ponta sem agente e priorização de riscos em ambientes do Google Cloud, AWS, Azure, OCI e Kubernetes.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps
  • Acesso privilegiado ao Wiz

Receber o ID do cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Faça o download do arquivo de autenticação de ingestão e salve-o em um local seguro.

Configurar a integração no Wiz

  1. Faça login na UI da Web do Wiz.
  2. Acesse a página Conectar ao Wiz.
  3. Clique em Google Cloud Chronicle.
  4. Selecione o Escopo.
  5. Insira seu ID de cliente do Google SecOps.
  6. Insira o endereço do endpoint da sua instância do Google SecOps.
  7. Faça upload do arquivo de autenticação de ingestão.
  8. Clique em Salvar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento da UDM Lógica
ação metadata.product_event_type Mapeamento direto quando eventType está vazio.
ação principal.application Mapeamento direto quando a ação é Report e serviceAccount.name não está vazio.
actionParameters.groups security_result.detection_fields.value O analisador itera por cada grupo em actionParameters.groups e o mapeia para uma entrada detection_fields separada com a chave service_account_group.
actionParameters.input.patch.portalVisitHistory.dateTime additional.fields.value.string_value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo dateTime, mapeando-o para uma entrada additional.fields separada com a chave dateTime {index}.
actionParameters.input.patch.portalVisitHistory.id principal.resource.attribute.labels.value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo "id", mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave id {index}.
actionParameters.input.patch.portalVisitHistory.name principal.resource.attribute.labels.value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo "name", mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave name {index}.
actionParameters.input.patch.portalVisitHistory.resourceName principal.resource.attribute.labels.value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo resourceName, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave resourceName {index}.
actionParameters.input.patch.portalVisitHistory.resourceType principal.resource.attribute.labels.value O analisador itera por cada item em "actionParameters.input.patch.portalVisitHistory" e extrai o campo "resourceType", mapeando-o para uma entrada "principal.resource.attribute.labels" separada com a chave resourceType {index}.
actionParameters.input.patch.portalVisitHistory.ruleType principal.resource.attribute.labels.value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo ruleType, mapeando-o para uma entrada principal.resource.attribute.labels separada com a chave ruleType {index}.
actionParameters.input.patch.portalVisitHistory.type additional.fields.value.string_value O analisador itera por cada item em actionParameters.input.patch.portalVisitHistory e extrai o campo "type", mapeando-o para uma entrada "additional.fields" separada com a chave type {index}.
actionParameters.name target.user.user_display_name Mapeamento direto quando "actionParameters.name" não está vazio.
actionParameters.products security_result.detection_fields.value O analisador itera por cada produto em actionParameters.products (exceto strings vazias e *) e o mapeia para uma entrada detection_fields separada com a chave service_account_product.
actionParameters.role target.user.attribute.roles.name Mapeamento direto quando actionParameters.role não está vazio.
actionParameters.scopes security_result.detection_fields.value O analisador itera por cada escopo em "actionParameters.scopes" e o mapeia para uma entrada "detection_fields" separada com a chave service_account_scope.
actionParameters.selection additional.fields.value.list_value.values.string_value O analisador itera por cada item em actionParameters.selection.preferences e o mapeia para uma entrada string_value separada em additional.fields.value.list_value.values.
actionParameters.userEmail target.user.email_addresses Extraído usando um padrão grok e mapeado quando não está vazio.
actionParameters.userID target.user.userid Mapeamento direto quando actionParameters.userID não está vazio.
actor.displayName target.user.user_display_name Mapeamento direto quando actor.displayName não está vazio e não é unknown.
actor.id target.user.userid Mapeamento direto quando actor.id não está vazio.
authenticationContext.authenticationProvider security_result.detection_fields.value Mapeado para uma entrada "detection_fields" com a chave authenticationProvider quando não está vazio.
authenticationContext.credentialProvider security_result.detection_fields.value Mapeado para uma entrada "detection_fields" com a chave credentialProvider quando não está vazio.
authenticationContext.credentialType extensions.auth.mechanism Usado para derivar o valor de "extensions.auth.mechanism" com base em valores específicos.
authenticationContext.externalSessionId network.parent_session_id Mapeamento direto quando não está vazio e não é unknown.
client.device principal.asset.type Usado para derivar o valor de "principal.asset.type" com base em valores específicos.
client.geographicalContext.city principal.location.city Mapeamento direto quando não está vazio.
client.geographicalContext.country principal.location.country_or_region Mapeamento direto quando não está vazio.
client.geographicalContext.geolocation.lat principal.location.region_latitude Mapeamento direto quando não está vazio.
client.geographicalContext.geolocation.lon principal.location.region_longitude Mapeamento direto quando não está vazio.
client.geographicalContext.postalCode additional.fields.value.string_value Mapeado para uma entrada "additional.fields" com a chave Postal code quando não está vazia.
client.geographicalContext.state principal.location.state Mapeamento direto quando não está vazio.
client.ipAddress principal.asset.ip Mesclado com "principal.ip" e "principal.asset.ip" quando não está vazio.
client.ipAddress principal.ip Mesclado com "principal.ip" e "principal.asset.ip" quando não está vazio.
client.userAgent.browser target.resource.attribute.labels.value Mapeado para uma entrada "target.resource.attribute.labels" com a chave Browser quando não está vazia.
client.userAgent.os principal.platform Usado para derivar o valor de "principal.platform" com base em valores específicos.
client.userAgent.rawUserAgent network.http.user_agent Mapeamento direto quando não está vazio.
debugContext.debugData.behaviors security_result.description Mapeamento direto quando não está vazio.
debugContext.debugData.deviceFingerprint target.asset.asset_id Mapeado para target.asset.asset_id com o prefixo device_finger_print: quando não está vazio.
debugContext.debugData.dtHash security_result.detection_fields.value Mapeado para uma entrada "detection_fields" com a chave dtHash quando não está vazio.
debugContext.debugData.factor security_result.detection_fields.value Mapeado para uma entrada "detection_fields" com a chave factor quando não está vazio.
debugContext.debugData.promptingPolicyTypes security_result.detection_fields.value Mapeado para uma entrada "detection_fields" com a chave promptingPolicyTypes quando não está vazio.
debugContext.debugData.requestUri extensions.auth.auth_details Mapeamento direto quando não está vazio.
eventType metadata.event_type Usado para derivar o valor de "metadata.event_type" com base em valores específicos.
eventType metadata.product_event_type Mapeamento direto quando não está vazio.
outcome.reason security_result.category_details Mapeamento direto quando não está vazio.
outcome.result security_result.action Mapeado para security_result.action após a normalização com base em valores específicos.
requestId metadata.product_log_id Mapeamento direto quando não está vazio.
serviceAccount.name principal.application Mapeamento direto quando a ação é Report e serviceAccount.name não está vazio.
sourceIP principal.asset.ip Extraído usando um padrão grok e mesclado com principal.ip e principal.asset.ip quando não está vazio e é válido.
sourceIP principal.ip Extraído usando um padrão grok e mesclado com principal.ip e principal.asset.ip quando não está vazio e é válido.
status security_result.summary Mapeamento direto quando não está vazio.
timestamp metadata.event_timestamp Convertido para o formato de carimbo de data/hora e mapeado quando não está vazio.
user.id target.user.userid Mapeamento direto quando actionParameters.userID está vazio e user.id não está.
user.name target.user.user_display_name Mapeamento direto quando "actionParameters.name" está vazio e "user.name" não está.
userAgent network.http.user_agent Mapeamento direto quando client.userAgent.rawUserAgent está vazio e userAgent não está vazio.
extensions.auth.type Definido como AUTHTYPE_UNSPECIFIED quando has_user é verdadeiro e a ação é Login.
metadata.product_name Defina como WIZ_IO.
metadata.vendor_name Defina como WIZ_IO.
network.http.parsed_user_agent Derivado de user_agent_value ao convertê-lo em parseduseragent.
security_result.severity Derivada da gravidade com base em valores específicos, sendo o padrão LOW.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.