Coletar registros do Kaspersky AV

Compatível com:

Neste documento, explicamos como transferir os registros do Kaspersky Antivirus para as operações de segurança do Google usando o Bindplane. O código do analisador primeiro tenta analisar a mensagem de registro bruta como JSON. Se isso falhar, ele vai usar expressões regulares (padrões grok) para extrair campos da mensagem com base em formatos de registro de AV comuns do Kaspersky.

Antes de começar

Verifique se você tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou mais recente ou host Linux com systemd
  • Se estiver em execução por trás de um proxy, as portas do firewall estarão abertas.
  • Acesso privilegiado ao Kaspersky Antivirus

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Faça o download do arquivo de autenticação de transferência. Salve o arquivo com segurança no sistema em que o BindPlane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Outros recursos de instalação

Para mais opções de instalação, consulte o guia de instalação.

Configurar o agente do Bindplane para processar o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    • Localize o arquivo config.yaml. Normalmente, ele está no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Notepad).
  2. Edite o arquivo config.yaml da seguinte forma:

        receivers:
            udplog:
                # Replace the port and IP address as required
                listen_address: "0.0.0.0:514"
    
        exporters:
            chronicle/chronicle_w_labels:
                compression: gzip
                # Adjust the path to the credentials file you downloaded in Step 1
                creds: '/path/to/ingestion-authentication-file.json'
                # Replace with your actual customer ID from Step 2
                customer_id: <customer_id>
                endpoint: malachiteingestion-pa.googleapis.com
                # Add optional ingestion labels for better organization
                ingestion_labels:
                    log_type: KASPERSKY_AV
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID real do cliente.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber o arquivo de autenticação de transferência do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Services ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar a exportação de eventos no Kaspersky AV

  1. Faça login no console do Kaspersky Security Center.
  2. Selecione o Servidor de administração e os eventos que você quer exportar.
  3. No espaço de trabalho Administration Server, clique na guia Events.
  4. Clique em Configurar link de notificações e exportação de eventos.
  5. Selecione Configurar exportação para o sistema SIEM na lista.
  6. Informe os seguintes detalhes de configuração:
    • Sistema SIEM: selecione Arcsight (formato CEF).
    • Endereço do servidor do sistema SIEM: insira o endereço IP do agente do Bindplane.
    • Porta do servidor do sistema SIEM: insira o número da porta do agente Bindplane. Por exemplo, 514 para UDP.
    • Protocolo: selecione UDP.
  7. Clique em OK.

Tabela de mapeamento da UDM

Campo de registro Mapeamento de UDM Lógica
Aplicativo network.http.user_agent Mapeado diretamente do campo Application no registro bruto.
Caminho do aplicativo target.process.file.full_path Usado com o campo Name para construir o caminho completo se Application path estiver presente no registro bruto.
Componente target.resource.name Mapeado diretamente do campo Component no registro bruto.
Categoria do conteúdo security_result.category_details Adicionado ao campo security_result.category_details se Content category estiver presente no registro bruto.
Origem da categoria do conteúdo target.resource.type Se o valor contiver databases, o campo UDM será definido como DATABASE.
Erreur security_result.summary Mapeado diretamente do campo Erreur no registro bruto se o campo summary estiver vazio.
et metadata.product_event_type Mapeado diretamente do campo et no registro bruto se o campo product_event_type estiver vazio.
et security_result.category_details Adicionado ao campo security_result.category_details.
etdn extensions.vulns.vulnerabilities.description Mapeado diretamente do campo etdn no registro bruto.
Hash SHA256 do arquivo target.process.file.sha256 Mapeado diretamente do campo File SHA256 hash no registro bruto.
gn security_result.about.labels O key é definido como GN, e o value é definido como o valor do campo gn.
hdn principal.hostname Mapeado diretamente do campo hdn no registro bruto.
quadril principal.ip Mapeado diretamente do campo hip no registro bruto.
host_name principal.hostname Mapeado diretamente do campo host_name no registro bruto.
intermediary_host intermediary.hostname Mapeado diretamente do campo intermediary_host no registro bruto.
intermediary_hostname intermediary.hostname Mapeado diretamente do campo intermediary_hostname no registro bruto.
kv_data1 Esse campo é analisado e os valores são mapeados para outros campos do UDM.
kv_data2 Esse campo é analisado e os valores são mapeados para outros campos do UDM.
o rótulo. network.http.user_agent Se o valor for User-Agent, o campo do UDM será preenchido com o valor do campo description.
o rótulo. principal.hostname Se o valor for Host, o campo do UDM será preenchido com o nome do host extraído do campo description.
o rótulo. security_result.description Para outros valores, o campo do UDM é preenchido com uma string que contém os campos label e description.
MD5 target.process.file.md5 Mapeado diretamente do campo MD5 no registro bruto após a conversão para letras minúsculas.
Hash de arquivo MD5 target.process.file.md5 Mapeado diretamente do campo MD5 file hash no registro bruto.
mensagem Esse campo é analisado e os valores são mapeados para outros campos do UDM.
método network.http.method Mapeado diretamente do campo method no registro bruto se ele corresponder a uma lista de métodos HTTP.
nome target.file.full_path Mapeado diretamente do campo name no registro bruto.
Nom target.process.file.full_path Usado com o campo application_path para construir o caminho completo.
p1 target.process.file.sha256 Mapeado diretamente do campo p1 no registro bruto após a conversão para letras minúsculas se o campo SHA256 estiver vazio e o valor for uma string hexadecimal.
p2 target.process.file.full_path Mapeado diretamente do campo p2 no registro bruto.
p5 security_result.rule_name Mapeado diretamente do campo p5 no registro bruto.
p7 principal.user.user_display_name Mapeado diretamente do campo p7 no registro bruto se os campos User e user_name estiverem vazios.
ID do processo principal.process.pid Mapeado diretamente do campo Process ID no registro bruto.
process_id target.process.pid Mapeado diretamente do campo process_id no registro bruto.
protocolo network.application_protocol Se o valor contiver http (sem diferenciação entre maiúsculas e minúsculas), o campo UDM será definido como HTTP.
Motivo security_result.summary Mapeado diretamente do campo Reason no registro bruto.
Página da Web solicitada target.url Mapeado diretamente do campo Requested web page no registro bruto.
Resultado Se o valor for Allowed, o campo sr_action será definido como ALLOW.
rtid security_result.about.labels O key é definido como rtid, e o value é definido como o valor do campo rtid.
Regra security_result.description Mapeado diretamente do campo Rule no registro bruto.
SHA256 target.process.file.sha256 Mapeado diretamente do campo SHA256 no registro bruto após a conversão para letras minúsculas.
sr_action security_result.action Mesclado com o campo security_result.action.
resumo security_result.summary Mapeado diretamente do campo summary no registro bruto.
task_name security_result.about.labels O key é definido como TaskName, e o value é definido como o valor do campo task_name.
threat_action_taken Se o valor for blocked, o campo security_action será definido como BLOCK. Se o valor for allowed, o campo security_action será definido como ALLOW.
timestamp metadata.event_timestamp Usado para preencher o carimbo de data/hora do evento.
Tipo security_result.threat_name Mapeado diretamente do campo Type no registro bruto.
URL network.http.referral_url Mapeado diretamente do campo url no registro bruto.
Usuário principal.user.user_display_name O nome de usuário é extraído desse campo e mapeado para o campo UDM.
Usuário principal.administrative_domain O domínio é extraído desse campo e mapeado para o campo do UDM.
user_name principal.user.user_display_name Mapeado diretamente do campo user_name no registro bruto se o campo User estiver vazio.
metadata.event_type Definido como SCAN_VULN_NETWORK se Application path e Name estiverem presentes, STATUS_UNCATEGORIZED se hdn ou host_name estiverem presentes ou GENERIC_EVENT caso contrário.
metadata.vendor_name Sempre defina como KASPERSKY.
metadata.product_name Sempre defina como KASPERSKY_AV.
metadata.log_type Sempre defina como KASPERSKY_AV.

Alterações

2025-02-13

Melhoria:

  • Foi adicionado suporte para analisar os registros CEF não analisados.

2025-02-05

Melhoria:

  • Foi adicionado suporte para analisar os registros CEF não analisados.

2023-10-13

Melhoria:

  • Mapeou Hachage SHA256, p1 para target.process.file.sha256.
  • Mapeou Hachage MD5, md5 para target.process.file.md5.
  • intermediary foi mapeado para event.idm.read_only_udm.intermediary.

2022-10-14

Melhoria:

  • Adição de gsub para ignorar caracteres especiais indesejados.

2022-05-17

Melhoria:

  • Mapeamentos adicionados para os seguintes campos
  • Nom (nome do processo/aplicativo) (Name) mapeado para target.file.full_path (extensão).
  • Chemin de l'application (caminho do aplicativo) mapeado para target.file.full_path.
  • O tipo d'événement (tipo de evento) é mapeado para metadata.product_event_type.
  • ID du processus (ID do processo) mapeado para target.process.pid.
  • Description du résultat (Result description) mapeado para metadata.description.
  • Erreur (Error) mapeado para security_result.summary.

2022-03-29

Melhoria:

  • Foram adicionados mapeamentos para os seguintes campos ausentes:
  • Result description foi mapeado para security_result.description.
  • Type foi mapeado para security_result.threat_name.
  • MD5 foi mapeado para process.file.md5.
  • SHA256 foi mapeado para process.file.sha256.
  • p2 foi mapeado para target.process.file.full_path.
  • p5 foi mapeado para security_result.rule_name.
  • p7 foi mapeado para principal.user.user_display_name.
  • Reason foi mapeado para security_result.summary.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.