Informações gerais sobre a detecção de ameaças de contêiner

Nesta página, você encontra uma visão geral dos conceitos e recursos do Container Threat Detection.

O que é o Container Threat Detection?

O Container Threat Detection é um serviço integrado do Security Command Center que monitora continuamente o estado das imagens de nó do Container-Optimized OS. O serviço avalia todas as mudanças e tentativas de acesso remoto para detectar ataques de ambiente de execução quase em tempo real.

O Container Threat Detection detecta os ataques mais comuns no ambiente de execução do contêiner e envia alertas no Security Command Center e, opcionalmente, no Cloud Logging. O Container Threat Detection inclui vários recursos de detecção, incluindo binários e bibliotecas suspeitos, e usa processamento de linguagem natural (PLN) para detectar códigos Bash e Python maliciosos.

O Container Threat Detection está disponível apenas com o nível Premium ou Enterprise do Security Command Center.

Como funciona o

A instrumentação de detecção do Container Threat Detection coleta o comportamento de baixo nível no kernel convidado e executa scripts. Veja a seguir o caminho de execução quando os eventos são detectados:

  1. O Container Threat Detection transmite informações de evento e informações que identificam o contêiner usando um DaemonSet de modo de usuário para um serviço de detector para análise. A coleção de eventos é configurada automaticamente quando o Container Threat Detection está ativado.

    O DaemonSet do inspetor transmite informações do contêiner da melhor maneira possível. As informações do contêiner poderão ser removidas da descoberta informada se o Kubernetes e o ambiente de execução dele não enviarem as informações correspondentes a tempo.

  2. O serviço de detector analisa eventos para determinar se um evento indica um incidente. O Bash e o Python são analisados com PLN para determinar se o código executado é malicioso.

  3. Se o serviço identificar um incidente, ele será gravado como uma descoberta no Security Command Center ou, opcionalmente, no Cloud Logging.

    • Se o serviço de detector não identificar um incidente, a descoberta de informações não será armazenada.
    • Todos os dados no serviço de kernel e detector são temporários e não são armazenados de forma permanente.

É possível conferir os detalhes da descoberta no console do Security Command Center e investigar as informações de descoberta. A capacidade de visualizar e editar as descobertas é determinada pelos papéis concedidos a você. Para mais informações sobre os papéis do Security Command Center, consulte Controle de acesso.

Detectores do Container Threat Detection

O Container Threat Detection inclui os seguintes detectores:

Detector Descrição Entradas para detecção
Adição de binário executado

Um binário que não fazia parte da imagem do contêiner original foi executado.

Se um binário adicionado for executado por um invasor, é possível que um invasor tenha controle da carga de trabalho e esteja executando comandos arbitrários.

Esse detector fica desativado por padrão. Para instruções sobre como ativar, consulte Como testar o Container Threat Detection.

O detector procura um binário em execução que não fazia parte da imagem do contêiner original ou foi modificado a partir da imagem do contêiner original.
Adição de biblioteca carregada

Uma biblioteca que não fazia parte da imagem do contêiner original foi carregada.

Se uma biblioteca adicionada for carregada, é possível que um invasor tenha controle da carga de trabalho e esteja executando um código arbitrário.

Esse detector fica desativado por padrão. Para instruções sobre como ativar, consulte Como testar o Container Threat Detection.

O detector procura uma biblioteca carregada que não fazia parte da imagem do contêiner original ou foi modificada a partir da imagem do contêiner original.
Execução: adição de binário malicioso executado

Um binário que atende às seguintes condições foi executado:

  • Identificado como malicioso com base na inteligência de ameaças
  • Não faz parte da imagem do contêiner original

Se um binário malicioso adicionado for executado, é um forte sinal de que um invasor tem controle da carga de trabalho e está executando um software malicioso.

O detector procura um binário em execução que não fazia parte da imagem do contêiner original e foi identificado como malicioso com base na inteligência de ameaças.
Execução: adição de biblioteca maliciosa carregada

Uma biblioteca que atende às seguintes condições foi carregada:

  • Identificado como malicioso com base na inteligência de ameaças
  • Não faz parte da imagem do contêiner original

Se uma biblioteca maliciosa adicionada for carregada, é um forte sinal de que um invasor tem controle da carga de trabalho e está executando um software malicioso.

O detector procura uma biblioteca carregada que não fazia parte da imagem do contêiner original e foi identificada como maliciosa com base na inteligência de ameaças.
Execução: binário malicioso integrado executado

Um binário que atende às seguintes condições foi executado:

  • Identificado como malicioso com base na inteligência de ameaças
  • Incluída na imagem do contêiner original

Se um binário malicioso integrado for executado, será um sinal de que o invasor está implantando contêineres maliciosos. Eles podem ter conseguido o controle de um repositório de imagem legítimo ou de um pipeline de build de contêineres e injetado um binário malicioso na imagem do contêiner.

O detector procura um binário em execução que foi incluído na imagem do contêiner original e foi identificado como malicioso com base na inteligência de ameaças.
Execução: escape de contêiner

Um processo foi executado no contêiner que tentou sair do isolamento do contêiner, possivelmente ao invasor acesso ao sistema host.

Se uma tentativa de escape de contêiner for detectada, isso poderá indicar que um invasor está explorando vulnerabilidades para sair do contêiner. Como resultado, o invasor pode ter acesso não autorizado ao sistema do host ou à infraestrutura mais ampla, comprometendo todo o ambiente.

O detector monitora processos que tentam explorar os limites do contêiner que usam técnicas de escape ou binários conhecidos. Esses processos são sinalizados pela inteligência de ameaças como possíveis ataques que têm como alvo o sistema host.
Execução: execução da ferramenta de ataque do Kubernetes

Uma ferramenta de ataque específica do Kubernetes foi executada no ambiente, o que pode indicar que um invasor está segmentando componentes do cluster do Kubernetes.

Se uma ferramenta de ataque for executada no ambiente do Kubernetes, isso pode sugerir que um invasor teve acesso ao cluster e está usando a ferramenta para explorar vulnerabilidades ou configurações específicas do Kubernetes.

O detector procura ferramentas de ataque do Kubernetes que estão sendo executadas e são identificadas como possíveis ameaças com base em dados de inteligência. O detector aciona alertas para mitigar possíveis comprometimentos no cluster.
Execução: execução da ferramenta de reconhecimento local

Uma ferramenta de reconhecimento local que normalmente não está associada ao contêiner ou ao ambiente foi executada, sugerindo uma tentativa de coletar informações internas do sistema.

Se uma ferramenta de reconhecimento for executada, isso sugere que o invasor pode estar tentando mapear a infraestrutura, identificar vulnerabilidades ou coletar dados sobre as configurações do sistema para planejar as próximas etapas.

O detector monitora ferramentas de reconhecimento conhecidas sendo executadas no ambiente, identificadas pela inteligência de ameaças, o que pode indicar a preparação para atividades mais maliciosas.
Execução: Python malicioso executado (pré-lançamento)

Um modelo de aprendizado de máquina identificou o código Python especificado como malicioso. Os invasores podem usar o Python para transferir ferramentas ou outros arquivos de um sistema externo para um ambiente comprometido e executar comandos sem binários.

O detector usa técnicas de PLN para avaliar o conteúdo do código Python executado. Como essa abordagem não é baseada em assinaturas, os detectores podem identificar Pythons conhecidos e novos.
Execução: binário malicioso modificado executado

Um binário que atende às seguintes condições foi executado:

  • Identificado como malicioso com base na inteligência de ameaças
  • Incluída na imagem do contêiner original
  • Modificado da imagem do contêiner original durante a execução

Se um binário malicioso modificado for executado, isso indica que um invasor tem controle da carga de trabalho e está executando um software malicioso.

O detector procura um binário em execução que foi originalmente incluído na imagem do contêiner, mas foi modificado durante a execução e foi identificado como malicioso com base na inteligência de ameaças.
Execução: biblioteca maliciosa modificada carregada

Uma biblioteca que atende às seguintes condições foi carregada:

  • Identificado como malicioso com base na inteligência de ameaças
  • Incluída na imagem do contêiner original
  • Modificado da imagem do contêiner original durante a execução

Se uma biblioteca maliciosa modificada for carregada, é um forte sinal de que um invasor tem controle da carga de trabalho e está executando um software malicioso.

O detector procura uma biblioteca carregada que foi originalmente incluída na imagem do contêiner, mas modificada durante a execução e foi identificada como maliciosa com base na inteligência de ameaças.
Script malicioso executado

Um modelo de aprendizado de máquina identificou o código Bash especificado como malicioso. Os invasores podem usar o Bash para transferir ferramentas ou outros arquivos de um sistema externo para um ambiente comprometido e executar comandos sem binários.

O detector usa técnicas de PLN para avaliar o conteúdo do código Bash executado. Como essa abordagem não é baseada em assinaturas, os detectores podem identificar bash maliciosos conhecidos e novos.
URL malicioso observado O Container Threat Detection observou um URL malicioso na lista de argumentos de um processo em execução. O detector verifica os URLs observados na lista de argumentos de processos em execução em relação às listas de recursos da Web não seguros que são mantidos pelo serviço Navegação segura do Google. Se um URL for classificado incorretamente como phishing ou malware, informe isso em Como relatar dados incorretos.
Shell reverso

Um processo começou com o redirecionamento de stream para um soquete conectado remotamente.

Com um shell reverso, um invasor pode se comunicar de uma carga de trabalho comprometida para uma máquina controlada pelo invasor. O invasor pode comandar e controlar a carga de trabalho, por exemplo, como parte de um botnet.

O detector procura stdin vinculado a um soquete remoto.
Shell filho inesperado Um processo que normalmente não invoca shells gerou um processo de shell. O detector monitora todas as execuções do processo. Quando um shell é invocado, o detector gera uma descoberta se o processo pai normalmente não invoca shells.

A seguir