Usar dados com base no contexto em relatórios

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

Para mais informações sobre o aprimoramento de dados, consulte Como as Operações de segurança do Google enriquecem os dados de eventos e entidades.

Usar dados enriquecidos por geolocalização

Os eventos de UDM podem incluir dados enriquecidos de geolocalização para dar 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 das Operações de Segurança do Google 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 realizar consultas um pouco mais úteis aproveitando os polígonos de área para calcular uma área razoável para viajar partindo de um local em um determinado intervalo. Também é possível verificar se vários 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.

Consultar campos aprimorados em painéis

Também é possível criar um painel usando campos de UDM enriquecidos por geolocalização. O gráfico mostra a cidade de cada evento de UDM. Você pode alterar o tipo de gráfico para ver os dados em um formato diferente.

A seguir

Para informações sobre como usar dados enriquecidos com outros recursos das Operações de segurança do Google, consulte: