Usar dados enriquecidos de contexto em relatórios

Para oferecer suporte a investigações de segurança, o Chronicle ingere dados contextuais de diferentes fontes, realiza análises nos dados ingeridos e fornece contexto extra sobre os artefatos em um ambiente do cliente. Neste documento, fornecemos exemplos de como os analistas podem usar dados enriquecidos contextuais em painéis e em esquemas do Chronicle no BigQuery.

Para saber mais sobre o aprimoramento de dados, consulte Como o Chronicle aprimora os dados de eventos e entidades.

Usar dados enriquecidos por geolocalização

Os eventos do UDM podem incluir dados aprimorados por geolocalização para fornecer mais contexto durante uma investigação. Quando os eventos do UDM são exportados para o BigQuery, esses campos também são exportados. Esta seção explica como usar campos aprimorados por geolocalização ao criar relatórios.

Consultar dados no esquema events

Os dados de geolocalização podem ser consultados usando o esquema events do Chronicle no BigQuery. O exemplo a seguir é uma consulta SQL que retorna resultados agregados para todos os eventos USER_LOGIN por usuário, país e com o primeiro e o último horários observados.

SELECT
 ip_geo_artifact.location.country_or_region,
 COUNT(ip_geo_artifact.location.country_or_region) AS count_country,
 ip_geo_artifact.location.state,
 COUNT(ip_geo_artifact.location.state) AS count_state,
 target.user.email_addresses[ORDINAL(1)] AS principal_user,
 TIMESTAMP_SECONDS(MIN(metadata.event_timestamp.seconds)) AS first_observed,
 TIMESTAMP_SECONDS(MAX(metadata.event_timestamp.seconds)) AS last_observed,
FROM `datalake.events`,
UNNEST (principal.ip_geo_artifact) as ip_geo_artifact
WHERE DATE(hour_time_bucket) = "2023-01-11"
AND metadata.event_type = 15001
AND metadata.vendor_name IN ("Google Cloud Platform","Google Workspace")
GROUP BY 1,3,5
HAVING count_country > 0
ORDER BY count_country DESC

A tabela a seguir contém um exemplo dos resultados que podem ser retornados.

country_or_region count_country state count_state principal_user first_observed last_observed
Netherlands 5

North Holland 5

admin@acme.com 2023-01-11 14:32:51 UTC 2023-01-11 14:32:51 UTC
Israel 1

Tel Aviv District

1

omri@acme.com 2023-01-11 10:09:32 UTC 2023-01-11 15:26:38 UTC

A consulta SQL a seguir ilustra como detectar a distância entre dois locais.

SELECT
DISTINCT principal_user,
(ST_DISTANCE(north_pole,user_location)/1000) AS distance_to_north_pole_km
FROM (
  SELECT
    ST_GeogPoint(135.00,90.00) AS north_pole,
    ST_GeogPoint(ip_geo_artifact.location.region_coordinates.longitude, ip_geo_artifact.location.region_coordinates.latitude) AS user_location,
    target.user.email_addresses[ORDINAL(1)] AS principal_user
  FROM `datalake.events`,
  UNNEST (principal.ip_geo_artifact) as ip_geo_artifact
  WHERE DATE(hour_time_bucket) = "2023-01-11"
  AND metadata.event_type = 15001
  AND metadata.vendor_name IN ("Google Cloud Platform","Google Workspace")
  AND ip_geo_artifact.location.country_or_region != ""
)
ORDER BY 2 DESC

A tabela a seguir contém um exemplo dos resultados que podem ser retornados.

principal_user distance_to_north_pole_km
omri@acme.com 6438.98507

admin@acme.com 4167.527018

É possível fazer consultas um pouco mais úteis aproveitando polígonos de área para calcular uma área razoável para viajar de um local em um determinado intervalo. Você também pode verificar se diversos valores geográficos correspondem para identificar detecções de viagem impossíveis. Essas soluções exigem uma fonte de dados de geolocalização precisa e consistente.

visualizar campos aprimorados em painéis.

Também é possível criar um painel usando campos do UDM aprimorados por geolocalização. A imagem a seguir é um exemplo.

Exemplo de painel com dados enriquecidos Painel de exemplo com dados enriquecidos

A seguir

Para saber mais sobre como usar dados enriquecidos com outros recursos do Chronicle, consulte: