Visão geral da detecção de ameaças do Cloud Run

O Cloud Run Threat Detection é um serviço integrado do Security Command Center que monitora continuamente o estado dos recursos compatíveis do Cloud Run para detectar os ataques de ambiente de execução mais comuns. Se o Cloud Run Threat Detection detectar um ataque, ele vai gerar uma descoberta no Security Command Center quase em tempo real.

Os detectores de tempo de execução do Cloud Run Threat Detection monitoram recursos do Cloud Run em busca de binários e bibliotecas suspeitos e usam o processamento de linguagem natural (PLN) para detectar código Bash e Python malicioso.

Além disso, os detectores de plano de controle estão disponíveis no Event Threat Detection. Esses detectores monitoram o fluxo do Cloud Logging da sua organização ou dos seus projetos para detectar possíveis ataques ao plano de controle dos recursos do Cloud Run.

Recursos suportados

A detecção de ameaças do Cloud Run monitora os seguintes recursos:

Ambientes de execução compatíveis

Os ambientes de execução compatíveis são diferentes para detectores de tempo de execução e plano de controle.

Ambientes de execução compatíveis para detectores de tempo de execução

Os detectores de tempo de execução da detecção de ameaças do Cloud Run oferecem suporte apenas a recursos do Cloud Run executados no ambiente de execução de segunda geração. Considere o seguinte antes de ativar a detecção de ameaças do Cloud Run:

  • Quando você ativa a detecção de ameaças do Cloud Run, não é possível criar um serviço ou uma revisão de serviço do Cloud Run que seja executado no ambiente de execução de primeira geração. O serviço do Cloud Run precisa usar o ambiente de execução de segunda geração. Recomendamos testar suas cargas de trabalho no ambiente de execução de segunda geração antes de ativar a detecção de ameaças do Cloud Run.

  • Para ativar a detecção de ameaças em tempo de execução de um serviço, implante uma revisão que defina o ambiente de execução do serviço como a segunda geração ou o ambiente de execução padrão.

Ambientes de execução compatíveis com detectores do plano de controle

Os detectores do plano de controle são compatíveis com ambientes de execução de primeira e segunda geração.

Como funciona a detecção de ameaças de tempo de execução da Detecção de ameaças do Cloud Run

Quando você ativa a detecção de ameaças do Cloud Run, ela coleta telemetria dos recursos compatíveis do Cloud Run para analisar processos, scripts e bibliotecas que podem indicar um ataque de tempo de execução. Veja a seguir o caminho de execução quando os eventos são detectados:

  1. A detecção de ameaças do Cloud Run usa um processo de observador para coletar informações de contêiner e evento durante toda a duração de uma carga de trabalho do Cloud Run.
  2. A detecção de ameaças do Cloud Run analisa as informações de eventos coletadas para determinar se um evento indica um incidente. Ele usa o PLN para analisar scripts Bash e Python em busca de código malicioso.

    • Se a Detecção de ameaças do Cloud Run identificar um incidente, ele será informado como uma descoberta no Security Command Center.

    • Se a Detecção de ameaças do Cloud Run não identificar um incidente, nenhuma informação será armazenada.

    • Todos os dados coletados são temporários e não são armazenados de forma permanente.

Para saber como analisar as descobertas do Cloud Run Threat Detection no console doGoogle Cloud , consulte Analisar descobertas.

Problemas conhecidos

  • Se o processo de observador for interrompido prematuramente em uma instância em execução do serviço ou job do Cloud Run, ele não será reiniciado. A instância para de enviar informações de telemetria para a Detecção de ameaças do Cloud Run. Os registros de detecção de ameaças do Cloud Run não aparecem nos registros da instância. Não há indicador de que um processo de observador foi interrompido.

Detectores

Esta seção lista os detectores de ambiente de execução e plano de controle disponíveis. Adicionamos regularmente novos detectores à medida que novas ameaças na nuvem surgem.

Detectores de ambiente de execução

O Cloud Run Threat Detection inclui os seguintes detectores de ambiente de execução:

Nome de exibição Nome da API Descrição
Comando e controle: ferramenta de esteganografia detectada CLOUD_RUN_STEGANOGRAPHY_TOOL_DETECTED

Um programa foi executado e identificado como uma ferramenta de esteganografia comumente encontrada em ambientes do tipo Unix, indicando uma possível tentativa de ocultar comunicação ou transferência de dados.

Os invasores podem usar técnicas esteganográficas para incorporar instruções maliciosas de comando e controle (C2) ou dados exfiltrados em arquivos digitais aparentemente benignos, com o objetivo de burlar o monitoramento e a detecção de segurança padrão. Identificar o uso dessas ferramentas é crucial para descobrir atividades maliciosas ocultas.

Acesso a credenciais: encontrar Google Cloud credenciais CLOUD_RUN_FIND_GCP_CREDENTIALS

Um comando foi executado para pesquisar chaves privadas, senhas ou outras credenciais sensíveis no ambiente de contêiner. Google Cloud

Um invasor pode usar credenciais Google Cloud roubadas para ter acesso ilegítimo a dados ou recursos sensíveis no ambiente Google Cloud visado.

Acesso com credenciais: reconhecimento de chaves do GPG CLOUD_RUN_GPG_KEY_RECONNAISSANCE

Um comando foi executado para pesquisar chaves de segurança GPG.

Um invasor pode usar chaves de segurança GPG roubadas para conseguir acesso não autorizado a comunicações ou arquivos criptografados.

Acesso às credenciais: pesquisar senhas ou chaves privadas CLOUD_RUN_SEARCH_PRIVATE_KEYS_OR_PASSWORDS

Um comando foi executado para pesquisar chaves privadas, senhas ou outras credenciais sensíveis no ambiente do contêiner, indicando uma possível tentativa de coletar dados de autenticação.

Os invasores geralmente procuram arquivos de credenciais para conseguir acesso não autorizado a sistemas, aumentar privilégios ou se mover lateralmente no ambiente. Detectar essa atividade é fundamental para evitar violações de segurança.

Evasão de defesa: linha de comando de arquivo ELF em Base64 CLOUD_RUN_BASE64_ELF_FILE_CMDLINE

Um processo foi executado e contém um argumento que é um arquivo ELF (formato executável e vinculável).

Se uma execução de arquivo ELF codificado for detectada, isso significa que um invasor está tentando codificar dados binários para transferência para linhas de comando somente ASCII. Os invasores podem usar essa técnica para evitar a detecção e executar código malicioso incorporado em um arquivo ELF.

Evasão de defesa: script Python codificado em base64 executado CLOUD_RUN_BASE64_ENCODED_PYTHON_SCRIPT_EXECUTED

Um processo foi executado com um argumento que é um script Python codificado em base64.

Se uma execução de script Python codificado for detectada, isso significa que um invasor está tentando codificar dados binários para transferência para linhas de comando somente ASCII. Os invasores podem usar essa técnica para evitar a detecção e executar código malicioso incorporado em um script Python.

Evasão de defesa: script de shell codificado em base64 executado CLOUD_RUN_BASE64_ENCODED_SHELL_SCRIPT_EXECUTED

Um processo foi executado com um argumento que é um script de shell codificado em base64.

Se uma execução de script shell codificado for detectada, isso significa que um invasor está tentando codificar dados binários para transferência para linhas de comando somente ASCII. Os invasores podem usar essa técnica para evitar a detecção e executar código malicioso incorporado em um script shell.

Evasão de defesa: iniciar a ferramenta de compilador de código no contêiner CLOUD_RUN_LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER

Um processo foi iniciado para executar uma ferramenta de compilador de código no ambiente de contêiner, indicando uma possível tentativa de criar ou modificar código executável em um contexto isolado.

Os invasores podem usar compiladores de código em contêineres para desenvolver payloads maliciosos, injetar código em binários existentes ou criar ferramentas para ignorar controles de segurança, tudo isso operando em um ambiente menos analisado para evitar a detecção no sistema host.

Execução: binário malicioso adicionado executado CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED

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

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

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

Execução: biblioteca maliciosa adicionada carregada CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED

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

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

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

Execução: binário malicioso integrado executado CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED

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

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

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

Execução: escape de contêiner CLOUD_RUN_CONTAINER_ESCAPE

Um processo foi executado no contêiner e tentou sair do isolamento dele usando técnicas de escape ou binários conhecidos. Esse tipo de ataque pode dar ao invasor acesso ao sistema host. Esses processos são identificados como ameaças potenciais com base em dados de inteligência.

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

Execução: execução sem arquivo em /memfd: CLOUD_RUN_FILELESS_EXECUTION_DETECTION_MEMFD

Um processo foi executado usando um descritor de arquivo na memória.

Se um processo for iniciado de um arquivo na memória, isso poderá indicar que um invasor está tentando burlar outros métodos de detecção para executar um código mal-intencionado.

Execução: execução de ferramenta de ataque do Kubernetes CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION

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. Essas ferramentas são identificadas como ameaças em potencial com base em dados de inteligência.

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

Execução: execução da ferramenta de reconhecimento local CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION

Uma ferramenta de reconhecimento local não associada ao contêiner ou ambiente foi executada, sugerindo uma tentativa de coletar informações internas do sistema. Essas ferramentas são identificadas como ameaças potenciais com base em dados de inteligência.

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.

Execução: Python malicioso executado CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED

Um modelo de machine learning 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 códigos Python conhecidos e novos.

Execução: binário malicioso modificado executado CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED

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

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

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

Execução: biblioteca maliciosa modificada carregada CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED

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

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

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

Execução: execução remota de código do Netcat em contêiner CLOUD_RUN_NETCAT_REMOTE_CODE_EXECUTION_IN_CONTAINER

O Netcat, um utilitário de rede versátil, foi executado no ambiente de contêiner, o que pode indicar uma tentativa de estabelecer acesso remoto não autorizado ou exfiltrar dados.

O uso do Netcat em um ambiente em contêineres pode indicar uma tentativa de um invasor de criar um shell reverso, permitir movimentação lateral ou executar comandos arbitrários, o que pode comprometer a integridade do sistema.

Execução: possível execução arbitrária de comandos com o CUPS (CVE-2024-47177) CLOUD_RUN_POSSIBLE_ARBITRARY_COMMAND_EXECUTION_THROUGH_CUPS

Essa regra detecta o processo foomatic-rip executando programas de shell comuns, o que pode indicar que um invasor explorou a CVE-2024-47177. O foomatic-rip faz parte do OpenPrinting CUPS, um serviço de impressão de código aberto que faz parte de muitas distribuições Linux. A maioria das imagens de contêiner tem esse serviço de impressão desativado ou removido. Se essa detecção existir, avalie se esse é o comportamento esperado ou desative o serviço imediatamente.

Execução: possível execução de comando remota detectada CLOUD_RUN_POSSIBLE_REMOTE_COMMAND_EXECUTION_DETECTED

Um processo foi detectado gerando comandos comuns do UNIX por uma conexão de soquete de rede, indicando uma possível tentativa de estabelecer recursos de execução de comandos remotos não autorizados.

Os invasores costumam usar técnicas que imitam shells inversos para ganhar controle interativo sobre um sistema comprometido, permitindo que eles executem comandos arbitrários remotamente e ignorem medidas padrão de segurança de rede, como restrições de firewall. A detecção da execução de comandos em um soquete é um forte indicador de acesso remoto malicioso.

Execução: execução de programa com ambiente de proxy HTTP não permitido CLOUD_RUN_PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV

Um programa foi executado com uma variável de ambiente de proxy HTTP que não é permitida. Isso pode indicar uma tentativa de burlar controles de segurança, redirecionar o tráfego para fins mal-intencionados ou exfiltrar dados por canais não autorizados.

Os invasores podem configurar proxies HTTP proibidos para interceptar informações sensíveis, encaminhar o tráfego por servidores mal-intencionados ou estabelecer canais de comunicação secretos. Detectar a execução de programas com essas variáveis de ambiente é crucial para manter a segurança de rede e evitar violações de dados.

Execução: shell reverso do Socat detectado CLOUD_RUN_SOCAT_REVERSE_SHELL_DETECTED

O comando socat foi usado para criar um shell reverso.

Essa regra detecta a execução de socat para criar um shell reverso redirecionando os descritores de arquivo stdin, stdout e stderr. Essa é uma técnica comum usada por invasores para conseguir acesso remoto a um sistema comprometido.

Execução: objeto compartilhado suspeito do OpenSSL carregado CLOUD_RUN_SUSPICIOUS_OPENSSL_SHARED_OBJECT_LOADED

O OpenSSL foi executado para carregar um objeto compartilhado personalizado.

Os invasores podem carregar bibliotecas personalizadas e substituir as bibliotecas usadas pelo OpenSSL para executar código malicioso. O uso dele em produção é incomum e exige uma investigação imediata.

Exfiltração: iniciar ferramentas de cópia de arquivos remotos no contêiner CLOUD_RUN_LAUNCH_REMOTE_FILE_COPY_TOOLS_IN_CONTAINER

A execução de uma ferramenta de cópia de arquivos remota foi detectada no contêiner, indicando possível exfiltração de dados, movimentação lateral ou a implantação de payloads maliciosos.

Os invasores geralmente usam essas ferramentas para transferir dados sensíveis para fora do contêiner, se mover lateralmente na rede para comprometer outros sistemas ou introduzir malware para mais atividades maliciosas. Detectar o uso de ferramentas de cópia de arquivos remotos é crucial para evitar violações de dados, acesso não autorizado e mais comprometimento do contêiner e, potencialmente, do sistema host.

Impacto: detectar linhas de comando maliciosas CLOUD_RUN_DETECT_MALICIOUS_CMDLINES

Um comando foi executado com argumentos conhecidos por serem potencialmente destrutivos, como tentativas de excluir arquivos críticos do sistema ou modificar configurações relacionadas a senhas.

Os invasores podem emitir linhas de comando maliciosas para causar instabilidade no sistema, impedir a recuperação excluindo arquivos essenciais ou conseguir acesso não autorizado manipulando as credenciais do usuário. Detectar esses padrões de comando específicos é fundamental para evitar um impacto significativo no sistema.

Impacto: remover dados em massa do disco CLOUD_RUN_REMOVE_BULK_DATA_FROM_DISK

Um processo foi detectado realizando operações de exclusão de dados em massa, o que pode indicar uma tentativa de apagar evidências, interromper serviços ou executar um ataque de limpeza de dados no ambiente de contêiner.

Os invasores podem remover grandes volumes de dados para encobrir seus rastros, sabotar operações ou se preparar para a implantação de ransomware. A detecção dessas atividades ajuda a identificar possíveis ameaças antes que ocorra uma perda de dados críticos.

Impacto: atividade suspeita de mineração de criptomoedas usando o protocolo Stratum CLOUD_RUN_SUSPICIOUS_CRYPTO_MINING_ACTIVITY_USING_STRATUM_PROTOCOL

Um processo foi detectado se comunicando pelo protocolo Stratum, que é usado com frequência por softwares de mineração de criptomoedas. Essa atividade sugere possíveis operações de mineração não autorizadas no ambiente de contêiner.

Os invasores geralmente implantam mineradores de criptomoedas para explorar recursos do sistema e obter ganhos financeiros, o que leva à degradação do desempenho, ao aumento dos custos operacionais e a possíveis riscos de segurança. A detecção dessas atividades ajuda a reduzir o abuso de recursos e o acesso não autorizado.

Script malicioso executado CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED

Um modelo de machine learning 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 códigos Bash maliciosos conhecidos e novos.

URL malicioso observado CLOUD_RUN_MALICIOUS_URL_OBSERVED

A Detecção de ameaças do Cloud Run 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 um site de phishing ou malware, informe o problema em Como relatar dados incorretos.

Escalonamento de privilégios: abuso do sudo para escalonamento de privilégios (CVE-2019-14287) CLOUD_RUN_ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION

sudo foi executado com argumentos que tentam elevar privilégios.

Essa detecção notifica uma tentativa de exploração da CVE-2019-14287, que permite o escalonamento de privilégios ao abusar do comando sudo. As versões do sudo anteriores à v1.8.28 tinham uma vulnerabilidade que podia elevar os privilégios de um usuário não raiz para os de um usuário raiz.

Escalonamento de privilégios: execução sem arquivos em /dev/shm CLOUD_RUN_FILELESS_EXECUTION_DETECTION_SHM

Um processo foi executado de um caminho em /dev/shm.

Ao executar um arquivo de /dev/shm, um invasor pode executar código malicioso desse diretório para evitar a detecção por ferramentas de segurança, permitindo que ele realize ataques de escalonamento de privilégios ou injeção de processos.

Escalonamento de privilégios: vulnerabilidade de escalonamento de privilégios local do Polkit (CVE-2021-4034) CLOUD_RUN_POLKIT_LOCAL_PRIVILEGE_ESCALATION_VULNERABILITY

Um usuário não raiz executou pkexec com variáveis de ambiente que tentam escalonar privilégios.

Essa regra detecta uma tentativa de explorar uma vulnerabilidade de escalonamento de privilégios (CVE-2021-4034) no pkexec do Polkit. Ao executar um código especialmente criado, um usuário não raiz pode usar essa falha para ganhar privilégios de raiz em um sistema comprometido.

Escalonamento de privilégios: possível uso do comando sudo como vetor de escalonamento de privilégios (CVE-2021-3156) CLOUD_RUN_SUDO_POTENTIAL_PRIVILEGE_ESCALATION

Um usuário não raiz executou sudo ou sudoedit com um padrão de argumentos que tentam escalonar privilégios.

Detecta uma tentativa de explorar uma vulnerabilidade que afeta as versões 1.9.5p2 e anteriores do sudo. A execução de sudo ou sudoedit com determinados argumentos, incluindo um que termina com uma única barra invertida, como um usuário sem privilégios pode elevar os privilégios do usuário ao de um usuário raiz.

Shell reverso CLOUD_RUN_REVERSE_SHELL

Um processo começou com o redirecionamento de stream para um soquete conectado remotamente. O detector procura um stdin vinculado a um soquete remoto.

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 uma botnet.

Shell filho inesperado CLOUD_RUN_UNEXPECTED_CHILD_SHELL

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.

Detectores do plano de controle

Os seguintes detectores do plano de controle estão disponíveis no Event Threat Detection. Esses detectores são ativados por padrão. Você gerencia esses detectores da mesma forma que outros detectores do Event Threat Detection. Para mais informações, consulte Usar o Event Threat Detection.

Nome de exibição Nome da API Tipos de origem do registro Descrição
Impacto: comandos de mineração de criptomoedas CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS Registros de auditoria do Cloud:
Registros de auditoria de eventos do sistema do IAM
Comandos específicos de criptomineração foram anexados a um job do Cloud Run durante a execução. As descobertas são classificadas com gravidade alta por padrão.
Execução: imagem do Docker de mineração de criptomoedas CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES Registros de auditoria do Cloud:
Registros de auditoria de eventos do sistema do IAM
Imagens docker específicas e conhecidas como maliciosas foram anexadas a um serviço ou job do Cloud Run novo ou existente. As descobertas são classificadas como de gravidade alta por padrão.
Escalonamento de privilégios: conta de serviço padrão do Compute Engine SetIAMPolicy CLOUD_RUN_SERVICES_SET_IAM_POLICY Registros de auditoria do Cloud:
Registros de atividade do administrador
A conta de serviço padrão do Compute Engine foi usada para definir a política do IAM de um serviço do Cloud Run. Essa é uma possível ação pós-exploração quando um token do Compute Engine é comprometido em um serviço sem servidor. As descobertas são classificadas com gravidade baixa por padrão.
Para regras descontinuadas e desativadas, consulte Descontinuações.

A seguir