Coletar registros do Cylance PROTECT

Compatível com:

Este documento explica como ingerir registros do Cylance PROTECT no Google Security Operations usando o Bindplane. O código do analisador do Logstash transforma mensagens syslog do Cylance PROTECT em um modelo de dados unificado (UDM). Ele extrai campos da mensagem syslog, normaliza e mapeia para campos UDM, além de enriquecer os dados com informações de gravidade e categoria da ameaça.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

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

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. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID do 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 root 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 ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:
    • Localize o arquivo config.yaml. Normalmente, ele fica 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 Bloco de Notas).
  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_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 do cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão 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 Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o Syslog no Cylance Protect

  1. Faça login no console de gerenciamento do Cylance.
  2. Acesse Configurações > Aplicativo.
  3. Marque a caixa de seleção Syslog/SIEM.
  4. Selecione todos os eventos.
  5. Informe os seguintes detalhes de configuração:
    • SIEM: selecione Syslog.
    • Protocolo: selecione UDP.
    • Marque a caixa de seleção Permitir mensagens com mais de 2 KB.
    • IP/Domínio: insira o endereço IP do agente do Bindplane.
    • Porta: insira o número da porta do agente Bindplane (por exemplo, 514 para UDP).
    • Facilidade: selecione o tipo de registro de aplicativo.
  6. Clique em Testar conexão.
  7. Clique em Salvar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
Versão do agente metadata.product_version Valor extraído de Agent Version: <value>
Pontuação do Cylance security_result.severity_details Valor extraído de Cylance Score: <value>
security_result.severity Mapeado com base na seguinte lógica:
- ALTA: se a pontuação do Cylance for > 67
- MÉDIA: se a pontuação do Cylance for > 33
- BAIXA: se a pontuação do Cylance for <= 33
Detectado 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 precedido por 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>
Código 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 Mapeado com base nos campos Event Type e Event Name. O valor padrão é GENERIC_EVENT.
Nome do arquivo principal.process.file.full_path Valor extraído de File Name: <value> e combinado com Path: <value> para formar o caminho completo
Caminho do arquivo 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 usuário é extraído após a divisão por //, se presente.
Proprietário do processo de instigação principal.administrative_domain Nome de 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>
Usuários conectados about.user.userid Nomes de usuário 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>
Endereço resolvido network.dns.answers.name Valor extraído de Resolved Address: <value>
SHA256 principal.process.file.sha256 Valor extraído de SHA256: <value>
IP de origem principal.ip Valor extraído de Source IP: <value>, usado para tipos de evento específicos.
Status security_result.action Mapeado para ações específicas do UDM 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 usuário é extraído após a divisão por //, se presente.
Proprietário do processo de destino target.administrative_domain Nome de 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>
Usuário principal.user.userid Nome de usuário extraído de User: <value>, se presente, usado quando User Name não está presente
Usuário principal.user.email_addresses Endereço de e-mail extraído de User: <value>, se presente, usado quando User Name não está presente
Nome do usuário 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 precedido por 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 precedido por Zone_Names:
metadata.vendor_name Fixado no código para Cylance
metadata.product_name Valor extraído da mensagem de registro, PROTECT ou OPTICS.
metadata.log_type Fixado no código para CYLANCE_PROTECT
network.ip_protocol Codificado como TCP para eventos de OpticsCaeNetworkEvent
network.application_protocol Codificado como DNS para eventos de OpticsCaeDnsEvent
security_result.rule_labels.key Defina como Interpreter ou Interpreter Version com base no campo disponível
security_result.detection_fields.key Fixado no código para 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 em 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 do Google SecOps.