Usar dados enriquecidos por contexto em relatórios
Para dar suporte às investigações de segurança, o Chronicle ingere dados contextuais de diferentes fontes, realiza análises nos dados ingeridos e fornece mais contexto sobre artefatos em um ambiente do cliente. Neste documento, mostramos exemplos de como analistas podem usar dados enriquecidos contextual em painéis e em esquemas do Chronicle no BigQuery.
Para mais informações sobre o enriquecimento de dados, consulte Como o Chronicle enriquece os dados de eventos e entidades.
Usar dados enriquecidos com geolocalização
Os eventos UDM podem incluir dados aprimorados por geolocalização para fornecer contexto adicional 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 enriquecidos por geolocalização ao criar relatórios.
Ver dados em painéis
Os campos de UDM enriquecidos com geolocalização podem ser visualizados nos painéis do Chronicle no Looker.
Exemplo de dados de enriquecimento
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, ou seja, calculando uma área razoável para viajar de um local em um determinado intervalo e verificando se vários valores geográficos correspondem, ou seja, detecções impossíveis de viajar, mas com a ressalva de que há uma fonte de dados de geolocalização precisa e consistente.
A seguir
Para ver informações sobre como usar dados enriquecidos com outros recursos do Chronicle, consulte:
- Use dados aprimorados por contexto nas regras.
- Use dados aprimorados pelo contexto na pesquisa do UDM.