Aprimoramento
O enriquecimento usa os seguintes métodos para adicionar contexto a um indicador ou evento do Modelo de dados unificado (UDM):
- Identifica entidades de alias que descrevem um indicador, geralmente um campo da UDM.
- Preenche a mensagem da UDM com mais detalhes dos aliases ou entidades identificados.
- Adiciona dados de enriquecimento global, como GeoIP e VirusTotal, a eventos da UDM.
Entender os padrões de lógica de enriquecimento
O Google SecOps aplica diferentes padrões lógicos aos dados, dependendo do tipo de enriquecimento. Use a tabela a seguir para entender esses padrões na solução de problemas e explicar por que determinados campos são preenchidos, mesclados ou substituídos.
| Padrão lógico | Descrição | Enriquecimento aplicável |
|---|---|---|
| Primeira correspondência | Segue uma lista de prioridades estrita. O pipeline consulta apenas o primeiro valor disponível encontrado na sequência. | Artefato (hashes de arquivo) |
| Mesclado | Coleta e combina dados de vários campos simultaneamente para criar um único registro de entidade "ouro". | Recurso, usuário |
| Substituição condicional | Um campo específico só é usado para enriquecimento se um identificador de maior prioridade estiver faltando. | Recurso (endereço ip) |
| Mapeamento e substituição | Usa um ID exclusivo (PSPI) para resolver entidades. Os dados com alias da fonte de enriquecimento substituem os dados analisados atuais. |
Processo |
Enriquecimento de recursos
Para o enriquecimento de recursos, o pipeline identifica recursos exclusivos avaliando vários campos da UDM. Ao contrário do enriquecimento de artefatos (que escolhe um), o enriquecimento de recursos mescla o contexto de vários IDs para criar um perfil completo de recursos.
O Google SecOps enriquece eventos de recursos classificados com o mesmo namespace.
Para recursos, a lógica é cumulativa em vez de exclusiva, exceto em cenários de substituição específicos. Use estes detalhes para explicação:
- Tipo de lógica: mesclada ou de substituição. O pipeline coleta dados de todos os campos disponíveis para criar uma única visualização de "Entidade", a menos que uma condição de substituição (como a verificação
asset_id) seja atendida. - Mapeamentos de campos:
- Nome do host, MAC e
asset_id: tratados como IDs principais. Os resultados de alias de todos esses campos são mesclados para produzir o perfil de recurso enriquecido final. - Endereço IP: incluído na consulta de enriquecimento somente se
asset_idestiver indisponível.
- Nome do host, MAC e
Para cada evento de recurso, o pipeline extrai os seguintes campos da UDM das entidades principal, src e target:
| Campo do UDM | Tipo de indicador | Lógica / precedência |
|---|---|---|
hostname |
HOSTNAME | Mesclado: os resultados de alias desses campos são combinados para produzir o registro de recurso enriquecido final. |
asset_id |
PRODUCT_SPECIFIC_ID | Mesclado: identificador principal usado para consolidar o contexto do recurso. |
mac |
MAC | Mesclado: usado com outros identificadores para resolver o recurso. |
ip |
IP | Alternativa: incluída na consulta de enriquecimento somente se asset_id não estiver disponível. |
Enriquecimento de usuários
O enriquecimento de usuários resolve dados de identidade procurando identificadores específicos. Assim como o enriquecimento de artefatos, esse pipeline usa uma preferência de ordem para determinar qual identificador é usado como chave primária para a pesquisa.
Para cada evento do usuário, o pipeline extrai os seguintes campos da UDM de
principal, src e target:
| Campo do UDM | Tipo de indicador | Lógica ou precedência |
|---|---|---|
user.email_addresses |
Prioridade mais alta:o pipeline primeiro tenta enriquecer com base nos endereços de e-mail principal ou secundário do usuário. | |
user.windows_sid |
WINDOWS_SID | Segunda prioridade:se nenhum e-mail estiver disponível, o pipeline usará o identificador de segurança (SID) do Windows. |
user.userid |
USER_ID | Terceira prioridade:usada apenas se o e-mail e o SID estiverem faltando. Normalmente, é mapeada para IDs locais ou específicos do aplicativo. |
user.employee_id |
EMPLOYEE_ID | Prioridade mais baixa:o último recurso para resolver uma identidade de usuário. |
Para cada indicador, o pipeline executa as seguintes ações:
- Recupera uma lista de entidades de usuário. Por exemplo, as entidades de
principal.email_addresseprincipal.useridpodem ser iguais ou diferentes. - Escolhe os aliases do tipo de indicador de maior prioridade, usando esta ordem:
WINDOWS_SID,EMAIL,USERNAME,EMPLOYEE_IDePRODUCT_OBJECT_ID. - Preenche
noun.usercom a entidade cujo intervalo de validade se cruza com o horário do evento.
Enriquecimento de processos
O enriquecimento de processos se concentra em fornecer visibilidade dos eventos de execução. O pipeline extrai detalhes do processo e os enriquece fazendo referências cruzadas a reputações de arquivos e relações pai-filho.
Use o enriquecimento de processos para mapear um ID de processo específico do produto
(product_specific_process_id), ou PSPI, para o processo real e recuperar
detalhes sobre o processo pai. Esse processo depende do tipo de lote de eventos
EDR.
| Entidade do UDM | Origem do campo | Lógica ou prioridade |
|---|---|---|
| Entidades principais |
principal, src, target
|
Extração:o pipeline extrai as PSPIs dessas entidades de nível superior para iniciar a pesquisa. |
| Processos principais |
principal.process.parent_process, src.process.parent_process, target.process.parent_process
|
Mapeamento:o PSPI recupera detalhes sobre o processo principal com alias de processo. |
| Mesclagem de dados |
noun.process (por exemplo, principal.process)
|
Regra de substituição:os campos com alias têm prioridade absoluta. Se os dados analisados e com alias existirem para o mesmo campo, o pipeline vai substituir os dados analisados pelos dados com alias. |
O pipeline usa o alias de processo para identificar o processo real do PSPI
e recupera informações sobre o processo pai. Em seguida, ele mescla esses dados no campo noun.process correspondente na mensagem enriquecida.
Campos indexados de EDR para alias de processo
Quando um processo é iniciado, o sistema coleta metadados (por exemplo, linhas de comando, hashes de arquivo e detalhes do processo pai). O software EDR em execução na máquina atribui um UUID de processo específico do fornecedor.
A tabela a seguir lista os campos indexados durante um evento de início de processo:
| Campo do UDM | Tipo de indicador |
|---|---|
| target.product_specific_process_id | PROCESS_ID |
| target.process | Todo o processo, não apenas o indicador |
Além do campo target.process do evento normalizado, a Google SecOps coleta e indexa informações do processo principal.
Enriquecimento de artefatos
O enriquecimento de artefatos adiciona metadados de hash de arquivo do VirusTotal e dados de geolocalização para endereços IP. Para hashes de arquivo, o pipeline para no primeiro valor encontrado em uma lista priorizada. No entanto, para endereços IP, ele processa todas as entradas em paralelo. Para cada evento da UDM, o pipeline extrai e consulta dados de contexto para os seguintes indicadores de artefato das entidades principal, src e target, em que o comportamento de enriquecimento difere com base no tipo de indicador:
| Tipo de indicador | Lógica de extração | Precedência / ordem de operações |
|---|---|---|
| FileHashes | Primeira correspondência |
O pipeline procura hashes na seguinte ordem e escolhe apenas o primeiro disponível para consultar o VirusTotal:
|
| Endereço IP | Paralelo (repetido) | Cada endereço IP público ou roteável é tratado como uma entrada independente. Não há uma ordem de preferência. Cada IP recebe os próprios resultados de enriquecimento. |
O pipeline usa a época UNIX e a hora do evento para definir o período das consultas de artefato de arquivo. Se os dados de geolocalização estiverem disponíveis, o pipeline vai substituir os seguintes campos da UDM para as entidades principal, src e target, com base na origem dos dados de geolocalização:
artifact.ipartifact.locationartifact.network(somente se os dados incluírem o contexto da rede IP)location(somente se os dados originais não incluírem esse campo)
Se o pipeline encontrar metadados de hash de arquivo, ele os adicionará aos campos de arquivo ou process.file, dependendo da origem do indicador. O pipeline mantém todos os valores atuais que não se sobrepõem aos novos dados.
Aprimoramento de geolocalização de IP
O aliasing geográfico fornece dados de geolocalização para endereços IP externo. Para
cada endereço IP sem alias no campo principal, target ou src de um evento da UDM, um buffer de subprotocolo ip_geo_artifact é criado
com as informações de local e ASN associadas.
O aliasing geográfico não usa lookback nem cache. Devido ao grande volume de eventos, o Google SecOps mantém um índice na memória.
Enriquecer eventos com metadados de arquivos do VirusTotal
O Google SecOps enriquece os hashes de arquivo em eventos do UDM e fornece contexto adicional durante uma investigação. A inclusão de alias de hash enriquece os eventos da UDM combinando todos os tipos de hashes de arquivo e fornecendo informações sobre um hash de arquivo durante uma pesquisa.
O Google SecOps integra metadados de arquivos do VirusTotal e o enriquecimento de relacionamentos para identificar padrões de atividades maliciosas e rastrear movimentos de malware em uma rede.
Um registro bruto fornece informações limitadas sobre o arquivo. O VirusTotal enriquece o evento com metadados de arquivos, incluindo detalhes sobre hashes e arquivos maliciosos. Os metadados incluem informações como nomes de arquivos, tipos, funções importadas e tags. Você pode usar essas informações no mecanismo de pesquisa e detecção da UDM com YARA-L para entender eventos de arquivos maliciosos e durante a busca de ameaças. Por exemplo, é possível detectar modificações no arquivo original que usam os metadados do arquivo para detecção de ameaças.
As seguintes informações são armazenadas com o registro. Para conferir uma lista de todos os campos do UDM, consulte Lista de campos do modelo de dados unificado.
| Tipos de dados | Campo do UDM |
|---|---|
| sha-256 | ( principal | target | src | observer ).file.sha256 |
| md5 | ( principal | target | src | observer ).file.md5 |
| sha-1 | ( principal | target | src | observer ).file.sha1 |
| tamanho | ( principal | target | src | observer ).file.size |
| ssdeep | ( principal | target | src | observer ).file.ssdeep |
| vhash | ( principal | target | src | observer ).file.vhash |
| authentihash | ( principal | target | src | observer ).file.authentihash |
| Imphash de metadados de arquivo PE | ( principal | target | src | observer ).file.pe_file.imphash |
| security_result.threat_verdict | ( principal | target | src | observer ).(process | file).security_result.threat_verdict |
| security_result.severity | ( principal | target | src | observer ).(process | file).security_result.severity |
| last_modification_time | ( principal | target | src | observer ).file.last_modification_time |
| first_seen_time | ( principal | target | src | observer ).file.first_seen_time |
| last_seen_time | ( principal | target | src | observer ).file.last_seen_time |
| last_analysis_time | ( principal | target | src | observer ).file.last_analysis_time |
| exif_info.original_file | ( principal | target | src | observer ).file.exif_info.original_file |
| exif_info.product | ( principal | target | src | observer ).file.exif_info.product |
| exif_info.company | ( principal | target | src | observer ).file.exif_info.company |
| exif_info.file_description | ( principal | target | src | observer ).file.exif_info.file_description |
| signature_info.codesign.id | ( principal | target | src | observer ).file.signature_info.codesign.id |
| signature_info.sigcheck.verfied | ( principal | target | src | observer ).file.signature_info.sigcheck.verified |
| signature_info.sigcheck.verification_message | ( principal | target | src | observer ).file.signature_info.sigcheck.verification_message |
| signature_info.sigcheck.signers.name | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.name |
| signature_info.sigcheck.status | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.status |
| signature_info.sigcheck.valid_usage | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage |
| signature_info.sigcheck.cert_issuer | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer |
| file_type | ( principal | target | src | observer ).file.file_type |
Resolver problemas de enriquecimento
Se você notar que um evento da UDM não tem os dados de enriquecimento esperados, use as sugestões a seguir para resolver o problema.
Enriquecimento geral
Se alguns dos seus eventos não forem enriquecidos, provavelmente é porque o Google SecOps prioriza a velocidade de entrega. Uma pequena porcentagem de eventos (<1%) pode pular o enriquecimento durante a primeira transmissão. Para resolver isso, tente de novo em alguns minutos. O sistema reprocessa esses eventos automaticamente. Se o enriquecimento ainda estiver faltando após uma hora, verifique se a origem do registro está sendo analisada corretamente na UDM.
Enriquecimento de artefatos (lógica de primeira correspondência)
Se o evento tiver um hash MD5 e um SHA256, mas você só conseguir ver metadados do VirusTotal para o SHA256, isso é lógica de primeira correspondência. O pipeline para assim que encontra o hash de maior prioridade (sha256). Ele não consulta o VirusTotal para o MD5 se um SHA256 estiver presente.
Se você encontrar a geolocalização de principal.ip, mas não de target.ip, a lógica paralela vai tratar cada IP de forma independente. Se um IP for interno ou particular (não roteável) e o outro for público, apenas o IP público vai receber o enriquecimento de geolocalização.
Enriquecimento de recursos (lógica de substituição e mesclagem)
Se o campo de endereço IP não mostrar dados de enriquecimento no seu recurso, significa que é uma lógica de substituição condicional. O IP só é usado para uma consulta de enriquecimento se o asset_id (PSID) estiver faltando. Se um asset_id existir, o sistema vai depender dele e ignorar o IP dessa consulta específica para evitar dados redundantes ou conflitantes.
Enriquecimento do usuário (preferência de ordem)
Se o campo Department mostrar "IT" quando meus registros locais dizem "Security", significa que o enriquecimento de usuário prefere campos analisados em vez de campos com alias. Se o registro bruto foi analisado com "IT", o pipeline de enriquecimento não o vai substituir pelo valor "Security" da sua fonte de identidade (por exemplo, Okta ou AD).
Enriquecimento de processos (mapeamento e substituição)
Se você encontrar um nome de processo no seu registro bruto, mas na pesquisa da UDM ele for substituído por um nome diferente, isso significa que é uma lógica de substituição. O enriquecimento de processos prioriza campos com alias. Se a pesquisa de PSPI retornar um nome de processo mais preciso do contexto de EDR, ela vai substituir completamente o valor analisado original.
A seguir
Para informações sobre como usar dados enriquecidos com outros recursos do Google SecOps, consulte o seguinte:
- Usar dados enriquecidos com contexto na pesquisa da UDM.
- Usar dados enriquecidos com contexto em regras.
- Usar dados enriquecidos com contexto em relatórios.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.