Recolha registos do Cylance PROTECT

Compatível com:

Este documento explica como carregar registos do Cylance PROTECT para o Google Security Operations através do Bindplane. O código do analisador Logstash transforma as mensagens syslog do Cylance PROTECT num modelo de dados unificado (UDM). Extrai campos da mensagem syslog, normaliza-os, mapeia-os para campos UDM e enriquece os dados com informações de gravidade e categoria de ameaças.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
  • Acesso privilegiado ao Cylance PROTECT

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 o seguinte comando:

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

Recursos de instalação adicionais

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

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:
    • Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro 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_file_path: '/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: 'CYLANCE_PROTECT'
                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 de cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.

Reinicie o agente do Bindplane para aplicar as alterações

  • 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, pode usar a consola Services ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog no Cylance Protect

  1. Inicie sessão na consola de gestão do Cylance.
  2. Aceda a Definições > Aplicação.
  3. Selecione a caixa de verificação Syslog/SIEM.
  4. Selecione todos os eventos.
  5. Indique os seguintes detalhes de configuração:
    • SIEM: selecione Syslog.
    • Protocolo: selecione UDP.
    • Selecione a caixa de verificação Permitir mensagens com mais de 2 KB.
    • IP/Domínio: introduza o endereço IP do agente Bindplane.
    • Porta: introduza o número da porta do agente Bindplane (por exemplo, 514 para UDP).
    • Instalação: selecione o tipo de registo de aplicações.
  6. Clique em Testar ligação.
  7. Clique em Guardar.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de UDM Lógica
Versão do agente metadata.product_version Valor extraído de Agent Version: <value>
Pontuação da Cylance security_result.severity_details Valor extraído de Cylance Score: <value>
security_result.severity Mapeada com base na seguinte lógica:
- ALTO: se a pontuação do Cylance for superior a 67
- MÉDIO: se a pontuação do Cylance for superior a 33
- BAIXO: se a pontuação do Cylance for igual ou inferior a 33
Detetado por security_result.detection_fields.value Valor extraído de Detected By: <value>
ID do dispositivo principal.asset_id Valor extraído de Device Id: <value> e adicionado com Cylance:
IDs de dispositivos principal.asset_id Valor extraído de Device Ids: <value> e adicionado com Cylance:, usado quando Device Id não está presente
Nome do dispositivo principal.hostname Valor extraído de Device Name: <value>
Nome do dispositivo target.hostname Valor extraído de Device Name: <value>, usado para tipos de eventos específicos, como ScriptControl
Nomes dos dispositivos principal.hostname Valor extraído de Device Names: <value>, usado quando Device Name não está presente
Descrição security_result.summary Valor extraído de Description: <value>, usado para tipos de eventos específicos, como OpticsCaeNetworkEvent
IP de destino target.ip Valor extraído de Destination IP: <value>
Porta de destino target.port Valor extraído de Destination Port: <value>
ID do evento metadata.product_log_id Valor extraído de Event Id: <value>
Nome do evento Usado para determinar subtipos de eventos específicos e aplicar a lógica correspondente
Tipo de evento metadata.product_event_type Valor extraído de Event Type: <value>
metadata.event_type Mapeada com base nos campos Event Type e Event Name. O valor predefinido é GENERIC_EVENT
Nome do ficheiro principal.process.file.full_path Valor extraído de File Name: <value> e combinado com Path: <value> para formar o caminho completo
Caminho do ficheiro target.file.full_path Valor extraído de File Path: <value>
Instigating Process ImageFileSha256 principal.process.file.sha256 Valor extraído de Instigating Process ImageFileSha256: <value>
Nome do processo instigador principal.process.file.full_path Valor extraído de Instigating Process Name: <value>
Proprietário do processo de instigação principal.user.userid Valor extraído de Instigating Process Owner: <value>. O nome de utilizador é extraído após a divisão por //, se estiver presente
Proprietário do processo de instigação principal.administrative_domain Nome do domínio extraído de Instigating Process Owner: <value> dividindo por //, se presente
Endereço IP principal.ip Endereços IP extraídos de IP Address: (<value>)
Intérprete security_result.rule_labels.value Valor extraído de Interpreter: <value>
Versão do intérprete security_result.rule_labels.value Valor extraído de Interpreter Version: <value>
Utilizadores com sessão iniciada about.user.userid Nomes de utilizador extraídos de Logged On Users: (<value>)
Endereço MAC principal.mac Endereço MAC extraído de MAC Address: (<value>) e formatado com dois pontos
MD5 principal.process.file.md5 Valor extraído de MD5: <value>
Mensagem Usado para extrair dados de tipos de eventos específicos, como AuditLog
SO principal.platform Mapeado para WINDOWS se o campo OS contiver Windows
Caminho principal.process.file.full_path Valor extraído de Path: <value> e combinado com File Name: <value> para formar o caminho completo
Nome da política security_result.rule_name Valor extraído de Policy Name: <value>
ID do processo principal.process.pid Valor extraído de Process ID: <value>
Nome do processo principal.process.file.full_path Valor extraído de Process Name: <value>
Morada resolvida network.dns.answers.name Valor extraído de Resolved Address: <value>
SHA256 principal.process.file.sha256 Valor extraído de SHA256: <value>
IP da fonte principal.ip Valor extraído de Source IP: <value>, usado para tipos de eventos específicos
Estado security_result.action Mapeado para ações da UDM específicas com base no valor:
- Quarantined: QUARANTINE
- Cleared: ALLOW_WITH_MODIFICATION
Nome do domínio de destino network.dns.questions.name Valor extraído de Target Domain Name: <value>
Target Process ImageFileSha256 target.process.file.sha256 Valor extraído de Target Process ImageFileSha256: <value>
Nome do processo de destino target.process.file.full_path Valor extraído de Target Process Name: <value>
Proprietário do processo de destino target.user.userid Valor extraído de Target Process Owner: <value>. O nome de utilizador é extraído após a divisão por //, se estiver presente
Proprietário do processo de destino target.administrative_domain Nome do domínio extraído de Target Process Owner: <value> dividindo por //, se presente
Target Registry KeyPath target.registry.registry_key Valor extraído de Target Registry KeyPath: <value>
Classificação de ameaças security_result.threat_name Valor extraído de Threat Classification: <value>
Utilizador principal.user.userid Nome de utilizador extraído de User: <value>, se presente, usado quando User Name não está presente
Utilizador principal.user.email_addresses Endereço de email extraído de User: <value>, se estiver presente, usado quando User Name não está presente
Nome de utilizador principal.user.userid Valor extraído de User Name: <value>
Tipo de violação security_result.summary Valor extraído de Violation Type: <value> e adicionado com ExploitAttempt:
Tipo de violação security_result.threat_name Valor extraído de Violation Type: <value>
Nomes das zonas security_result.description Valor extraído de Zone Names: (<value>) e adicionado com Zone_Names:
metadata.vendor_name Codificado nos Cylance
metadata.product_name Valor extraído da mensagem de registo, PROTECT ou OPTICS
metadata.log_type Codificado nos CYLANCE_PROTECT
network.ip_protocol Codificado de forma rígida para TCP para eventos OpticsCaeNetworkEvent
network.application_protocol Codificado de forma rígida para DNS para eventos OpticsCaeDnsEvent
security_result.rule_labels.key Defina como Interpreter ou Interpreter Version com base no campo disponível
security_result.detection_fields.key Codificado nos Detected By
security_result.category Mapeado com base no tipo de evento. Os valores possíveis incluem:
- SOFTWARE_SUSPICIOUS
- AUTH_VIOLOATION
- POLICY_VIOLATION
- NETWORK_SUSPICIOUS
- EXPLOIT
- SOFTWARE_MALICIOUS
security_result.action Mapeado com base no tipo de evento e nas condições específicas. Os valores possíveis incluem:
- ALLOW
- BLOCK
- QUARANTINE
- ALLOW_WITH_MODIFICATION

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