Análise de risco para UEBA
Este documento oferece uma visão geral dos conjuntos de regras na categoria "Análise de risco para UEBA", os dados necessários e a configuração que você pode usar para ajustar os alertas gerados por cada conjunto de regras. Esses conjuntos de regras ajudam a identificar ameaças avaliando as fontes de registros compatíveis.
Descrições do conjunto de regras
Os seguintes conjuntos de regras estão disponíveis na categoria "Análise de risco para UEBA" e são agrupados por tipo de padrões detectados:
Autenticação
- Novo login do usuário no dispositivo: um usuário fez login em um novo dispositivo.
- Eventos de autenticação anômalos por usuário: uma única entidade de usuário teve eventos de autenticação anômalos recentemente, em comparação com o uso histórico.
- Falhas de autenticação por dispositivo: uma entidade de dispositivo único teve muitas tentativas de login malsucedidas recentemente, em comparação com o uso histórico.
- Falhas de autenticação por usuário: uma entidade de usuário único teve muitas tentativas de login falhas recentemente, em comparação com o uso histórico.
Análise de tráfego de rede
- Bytes de entrada anômalos por dispositivo: quantidade significativa de dados enviados recentemente para uma única entidade de dispositivo, em comparação com o uso histórico.
- Bytes de saída anômalos por dispositivo: quantidade significativa de dados baixados recentemente de uma única entidade de dispositivo, em comparação com o uso histórico.
- Total de bytes anômalo por dispositivo: uma entidade de dispositivo fez upload e download recentemente de uma quantidade significativa de dados em comparação com o uso histórico.
- Bytes de entrada anômalos por usuário: uma entidade de usuário único baixou recentemente uma quantidade significativa de dados em comparação com o uso histórico.
- Total de bytes anômalos por usuário: uma entidade de usuário fez upload e download de uma quantidade significativa de dados recentemente, em comparação com o uso histórico.
- Força bruta e login bem-sucedido por usuário: uma entidade de usuário único de um endereço IP teve várias tentativas de autenticação malsucedidas em um determinado aplicativo antes de fazer login com sucesso.
Detecções baseadas em grupo de empresas semelhantes
Logins anômalos ou excessivos para um usuário recém-criado: atividade de autenticação anômala ou excessiva para um usuário criado recentemente. Isso usa o tempo de criação dos dados de contexto do AD.
Ações suspeitas anômalas ou excessivas para um usuário recém-criado: atividade anômala ou excessiva (incluindo, mas não se limitando a, telemetria HTTP, execução de processos e modificação de grupos) para um usuário criado recentemente. Isso usa o tempo de criação dos dados de contexto do AD.
Ações suspeitas
- Criação excessiva de contas por dispositivo: uma entidade de dispositivo criou várias contas de novo usuário.
- Alertas excessivos por usuário: um grande número de alertas de segurança de um antivírus ou dispositivo endpoint (por exemplo, a conexão foi bloqueada, malware foi detectado) foi informado sobre uma entidade de usuário, que era muito maior do que os padrões históricos.
São eventos em que o campo
security_result.actionda UDM está definido comoBLOCK.
Detecções baseadas na prevenção contra perda de dados
- Processos anômalos ou excessivos com recursos de exfiltração de dados: atividade anômala ou excessiva para processos associados a recursos de exfiltração de dados, como keyloggers, capturas de tela e acesso remoto. Isso usa o enriquecimento de metadados de arquivos do VirusTotal.
Dados obrigatórios necessários para a análise de risco na categoria UEBA
Esta seção detalha os dados necessários para cada categoria de conjunto de regras e para uma performance ideal. Embora as detecções de UEBA sejam projetadas para funcionar com todos os analisadores padrão compatíveis, o uso dos seguintes tipos de dados específicos maximiza o benefício delas. Para conferir uma lista completa dos analisadores padrão compatíveis, consulte Tipos de registros e analisadores padrão compatíveis.
Autenticação
Para usar qualquer um desses conjuntos de regras, colete dados de registro do Azure AD Directory Audit (AZURE_AD_AUDIT) ou do Windows Event (WINEVTLOG).
Para WINEVTLOG, configure a coleta de dados para incluir os seguintes Event IDs do Windows no Security Channel de eventos.
Esses eventos são mapeados diretamente para o Event types (por exemplo, USER_LOGIN ou PROCESS_LAUNCH) usado pelo mecanismo de detecção.
Requisitos de ID de evento do Windows
| Tipo de evento | ID do evento do Windows |
|---|---|
| USER_LOGIN | 529, 4624, 4625, 4626, 4648, 4672, 4768, 4769, 4770, 4771, 4777, 4820, 4821, 4964 |
| USER_CREATION | 4720 |
| NETWORK_CONNECTION | 4096, 4097, 4321, 5156, 5632, 5633, 5157 |
| GROUP_MODIFICATION | 4728, 4729, 4732, 4733, 4735, 4737, 4745, 4746, 4747, 4750, 4751, 4752, 4755, 4756, 4757, 4760, 4761, 4762, 4764, 4784, 4785, 4786, 4787, 4788, 4791 |
| PROCESS_LAUNCH | 4688 |
| PROCESS_OPEN | 4663, 4670, 4691, 8002 |
Análise de tráfego de rede
Para usar qualquer um desses conjuntos de regras, colete dados de registro que capturem a atividade de rede.
Por exemplo, de dispositivos como FortiGate (FORTINET_FIREWALL), Check Point (CHECKPOINT_FIREWALL), Zscaler (ZSCALER_WEBPROXY), CrowdStrike Falcon (CS_EDR) ou Carbon Black (CB_EDR).
Detecções baseadas em grupo de empresas semelhantes
Para usar qualquer um desses conjuntos de regras, colete dados de registro do
Azure AD Directory Audit (AZURE_AD_AUDIT) ou do Windows Event (WINEVTLOG).
Ações suspeitas
Cada conjunto de regras nesse grupo usa um tipo de dado diferente.
Conjunto de regras de criação excessiva de contas por dispositivo
Para usar esse conjunto de regras, colete dados de registro do
Azure AD Directory Audit (AZURE_AD_AUDIT) ou do Windows Event (WINEVTLOG).
Conjunto de regras "Alertas excessivos por usuário"
Para usar esse conjunto de regras, colete dados de registro que capturem atividades de endpoint ou
dados de auditoria, como os registrados pelo CrowdStrike Falcon (CS_EDR),
Carbon Black (CB_EDR) ou Azure AD Directory Audit (AZURE_AD_AUDIT).
Detecções baseadas na prevenção contra perda de dados
Para usar qualquer um desses conjuntos de regras, colete dados de registro que capturem atividades de processo e arquivo,
como as registradas pelo CrowdStrike Falcon (CS_EDR), Carbon Black (CB_EDR)
ou SentinelOne EDR (SENTINEL_EDR).
Dependências de campo
Nesta seção, descrevemos as métricas e os campos de dimensão usados pelas regras de UEBA do Google SecOps.
Dependências de métricas
A tabela a seguir lista as métricas e as consultas de pesquisa da UDM correspondentes que definem os eventos que contribuem para cada métrica.
| Métrica | Consulta de pesquisa UDM para eventos que contribuem para a métrica |
|---|---|
AUTH_ATTEMPTS_FAIL |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_SUCCESS |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_TOTAL |
metadata.event_type = "USER_LOGIN" |
DNS_BYTES_OUTBOUND |
network.sent_bytes > 0 |
DNS_QUERIES_FAIL |
network.dns.id > 0 |
DNS_QUERIES_SUCCESS |
network.dns.id > 0 |
DNS_QUERIES_TOTAL |
network.dns.id > 0 |
FILE_EXECUTIONS_FAIL |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_SUCCESS |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_TOTAL |
metadata.event_type = "PROCESS_LAUNCH" |
HTTP_QUERIES_FAIL |
network.http.method != "" |
HTTP_QUERIES_SUCCESS |
network.http.method != "" |
HTTP_QUERIES_TOTAL |
network.http.method != "" |
NETWORK_BYTES_INBOUND |
network.received_bytes > 0 |
NETWORK_BYTES_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_BYTES_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
NETWORK_FLOWS_INBOUND |
network.received_bytes > 0 |
NETWORK_FLOWS_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_FLOWS_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
RESOURCE_READ_FAIL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_SUCCESS |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_TOTAL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_WRITTEN_FAIL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_SUCCESS |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_TOTAL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
Dependências de dimensão
A tabela a seguir lista as dimensões e as opções de campo da UDM correspondentes disponíveis para filtragem ou agrupamento.
| Dimensão | Opções de campo |
|---|---|
| Dispositivo principal | principal.asset.asset_idprincipal.asset.hostnameprincipal.asset.ipprincipal.asset.macprincipal.asset.product_object_id |
| Dispositivo de destino | target.asset.asset_idtarget.asset.hostnametarget.asset.iptarget.asset.mactarget.asset.product_object_id |
| Usuário principal | principal.user.email_addressesprincipal.user.employee_idprincipal.user.product_object_idprincipal.user.useridprincipal.user.windows_sid |
| Usuário-alvo | target.user.email_addressestarget.user.employee_idtarget.user.product_object_idtarget.user.useridtarget.user.windows_sid |
| Serviço de destino | target.application |
| IP do destino | target.ip |
| Caminho do arquivo do processo principal | principal.process.file.full_path |
| Hash do arquivo do processo principal | principal.process.file.sha256 |
| Hash do arquivo principal | principal.file.sha256 |
| País principal | principal.ip_geo_artifact.location.country_or_region |
| Categoria de segurança | security_result.category |
| Nome da organização da rede principal | principal.ip_geo_artifact.network.organization_name |
| Nome da organização da rede de destino | target.ip_geo_artifact.network.organization_name |
| Hash do certificado do cliente | network.tls.client.certificate.sha256 |
| Tipo de consulta DNS | network.dns.questions.type |
| Domínio DNS | network.dns_domain |
| User agent HTTP | network.http.user_agent |
| Tipo de evento | metadata.event_type |
| Sistema operacional | principal.platform |
Ajustar alertas retornados por conjuntos de regras nessa categoria
É possível reduzir o número de detecções geradas por uma regra ou um conjunto de regras usando exclusões de regras.
Uma exclusão de regra define os critérios usados para impedir que um evento seja avaliado pelo conjunto de regras ou por regras específicas nele. Crie uma ou mais exclusões de regra para reduzir o volume de detecções. Consulte Configurar exclusões de regras para saber como fazer isso.
Exemplo de uma regra para a análise de risco da categoria UEBA
O exemplo a seguir mostra como criar uma regra para gerar detecções em
qualquer nome de host de entidade cuja pontuação de risco seja maior que 100:
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname and risk score across a 4 hour window.
$hostname, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
Essa regra de exemplo também realiza uma deduplicação automática usando a seção "match". Se uma detecção de regra puder ser acionada, mas o nome do host e a pontuação de risco permanecerem inalterados em um período de quatro horas, nenhuma nova detecção será criada.
As únicas janelas de risco possíveis para as regras de pontuação de risco da entidade são 24 horas ou 7 dias (86.400 ou 604.800 segundos, respectivamente). Se você não incluir o tamanho da janela de risco na regra, ela vai retornar resultados imprecisos.
Os dados de pontuação de risco da entidade são armazenados separadamente dos dados de contexto da entidade. Para usar os dois em uma regra, ela precisa ter dois eventos de entidade separados, um para o contexto da entidade e outro para a pontuação de risco da entidade, conforme mostrado no exemplo a seguir:
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}
A seguir
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.