Nesta página, descrevemos a detecção de ameaças do GKE, que permite verificar se há ameaças ativas nos clusters qualificados do GKE no painel de postura de segurança do GKE. O painel de postura de segurança do GKE permite ativar vários recursos de verificação e auditoria em clusters qualificados do GKE e exibe recomendações acionáveis para ajudar você a resolver problemas de segurança.
Como funciona
A detecção de ameaças do GKE é um recurso avançado do painel de postura de segurança do GKE que está disponível para os usuários do GKE Enterprise. Quando seus clusters do GKE são registrados em uma frota, a detecção de ameaças do GKE avalia seus registros de auditoria do GKE no Cloud Logging em relação a um conjunto de regras predefinidas para ameaças a clusters e cargas de trabalho. Se uma ameaça for encontrada, você verá uma descoberta no painel de postura de segurança do GKE com uma descrição da ameaça, o possível impacto e as ações recomendadas para mitigá-la.
Todos os clusters do GKE registrados em toda a frota são verificados continuamente em busca de ameaças ativas. Classificamos as ameaças detectadas usando as táticas MITRE ATT&CK®.
A detecção de ameaças do GKE é feita pelo serviço de detecção de ameaças a eventos do Security Command Center. No painel de postura de segurança do GKE, apenas o subconjunto de regras que se aplicam ao GKE é avaliado.
Recursos de postura de segurança do GKE incluídos
A detecção de ameaças do GKE está incluída no nível avançado de verificação de postura de segurança do Kubernetes. Ao ativar a detecção de ameaças do GKE em um cluster, você também ativa os seguintes recursos de verificação:
Uso como parte de uma estratégia de segurança ampla
A detecção de ameaças do GKE é um dos vários produtos de observabilidade de segurança que precisam ser usados no seu ambiente. Recomendamos que você use outros recursos do painel de postura de segurança do GKE, como a verificação de vulnerabilidades, para garantir que esteja monitorando seus clusters em busca de diversos problemas de segurança. Para mais informações, consulte Sobre o painel de postura de segurança na documentação do GKE.
Também recomendamos que você implemente o máximo possível de medidas de segurança em Aumente a segurança do cluster nos seus clusters e cargas de trabalho.
Preços
O GKE Threat Detection é oferecido sem custo financeiro adicional pelo GKE Enterprise.
Regras predefinidas de detecção de ameaças do GKE
Na tabela a seguir, descrevemos as regras de avaliação em que o GKE Threat Detection avalia seus registros de auditoria do GKE:
Nome de exibição | Nome da API | Tipos de origem do registro | Descrição |
---|---|---|---|
Evasão de defesa: implantação forçada de carga de trabalho criadaVisualização | BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_CREATE |
Registros de auditoria do Cloud: Registros de atividade do administrador |
Detecta a implantação de cargas de trabalho implantadas usando a sinalização de implantação forçada para modificar os controles da autorização binária. |
Evasão de defesa: implantação forçada da carga de trabalho atualizadaVisualização | BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_UPDATE |
Registros de auditoria do Cloud: Registros de atividade do administrador |
Detecta quando as cargas de trabalho são atualizadas usando a sinalização de implantação forçada para modificar os controles da autorização binária. |
Descoberta: pode receber verificações de objetos sensíveis do Kubernetes. | GKE_CONTROL_PLANE_CAN_GET_SENSITIVE_OBJECT |
Registros de auditoria do Cloud: Registros de acesso a dados do GKE |
Uma pessoa mal-intencionada tentou determinar quais objetos confidenciais no
GKE eles podem consultar usando o comando
|
Escalonamento de privilégios: mudanças em objetos sensíveis com RBAC do Kubernetes. | GKE_CONTROL_PLANE_EDIT_SENSITIVE_RBAC_OBJECT |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Para escalonar o privilégio, um usuário possivelmente malicioso tentou modificar um objeto de controle de acesso baseado em papéis (RBAC) ClusterRole , RoleBinding ou ClusterRoleBinding do papel sensível cluster-admin usando uma solicitação PUT ou PATCH . |
Escalonamento de privilégios: crie uma CSR do Kubernetes para o certificado mestre. | GKE_CONTROL_PLANE_CSR_FOR_MASTER_CERT |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Uma pessoa possivelmente maliciosa criou uma solicitação
de assinatura de certificado (CSR) do Kubernetes, o que concede a ela acesso cluster-admin
. |
Encaminhamento de privilégios: criação de vinculações confidenciais do Kubernetes | GKE_CONTROL_PLANE_CREATE_SENSITIVE_BINDING |
Registros de auditoria do Cloud: Registros de auditoria da atividade de amin do IAM |
Para escalonar o privilégio, um usuário possivelmente
mal-intencionado tentou criar um novo objeto RoleBinding ou ClusterRoleBinding para
o papel
cluster-admin .
|
Escalonamento de privilégios: receba a CSR do Kubernetes com credenciais de bootstrap comprometidas | GKE_CONTROL_PLANE_GET_CSR_WITH_COMPROMISED_BOOTSTRAP_CREDENTIALS |
Registros de auditoria do Cloud: Registros de acesso a dados do GKE |
Uma pessoa mal-intencionada consultada para uma
solicitação de assinatura de certificado (CSR), com o comando
kubectl , usando credenciais de inicialização comprometida. |
Escalonamento de privilégios: lançamento do contêiner com privilégios do Kubernetes | GKE_CONTROL_PLANE_LAUNCH_PRIVILEGED_CONTAINER |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Uma pessoa possivelmente maliciosa criou um pod com contêineres privilegiados ou contêineres com recursos de escalonamento de privilégios. Um contêiner privilegiado tem o campo |
Acesso credencial: segredos acessados no namespace do Kubernetes | SECRETS_ACCESSED_IN_KUBERNETES_NAMESPACE |
Registros de auditoria do Cloud: Registros de acesso a dados do GKE |
Detecta quando secrets ou tokens de conta de serviço são acessados por uma conta de serviço no namespace atual do Kubernetes. |
Acesso inicial: recurso anônimo do GKE criado na Internet pré-lançamento | GKE_RESOURCE_CREATED_ANONYMOUSLY_FROM_INTERNET |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Detecta eventos de criação de recursos de usuários da Internet efetivamente anônimos. |
Acesso inicial: recurso do GKE modificado anonimamente pela Internet pré-lançamento | GKE_RESOURCE_MODIFIED_ANONYMOUSLY_FROM_INTERNET |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Detecta eventos de manipulação de recursos por usuários da Internet efetivamente anônimos. |
Escalonamento de privilégios: usuários efetivamente anônimos receberam acesso ao cluster do GKE pré-lançamento | GKE_ANONYMOUS_USERS_GRANTED_ACCESS |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém criou uma vinculação do RBAC que faz referência a um dos seguintes usuários ou grupos:
Esses usuários e grupos são efetivamente anônimos e devem ser evitados ao criar vinculações de papéis ou de funções de cluster para qualquer papel do RBAC. Verifique se a vinculação é necessária. Se não for necessário, remova a vinculação. |
Execução: execução ou anexamento suspeito a um pod do sistema pré-lançamento | GKE_SUSPICIOUS_EXEC_ATTACH |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém usou os comandos exec ou attach para receber um shell ou executar um comando em um contêiner em execução no namespace kube-system . Esses métodos às vezes são usados para fins legítimos de depuração. No entanto, o namespace kube-system é destinado a objetos do sistema criados pelo Kubernetes, e a execução de comandos ou a criação de shells inesperadas precisa ser analisada. |
Escalonamento de privilégios: carga de trabalho criada com uma montagem de caminho de host sensível Pré-lançamento | GKE_SENSITIVE_HOSTPATH |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém criou uma carga de trabalho que contém uma montagem de volume hostPath para um caminho confidencial no sistema de arquivos do nó host. O acesso a esses caminhos no sistema de arquivos do host pode ser usado para acessar informações sensíveis ou sensíveis no nó e para escapar do contêiner. Se possível, não permita volumes hostPath no cluster. |
Escalonamento de privilégios: carga de trabalho com shareProcessNamespace ativado Visualização | GKE_SHAREPROCESSNAMESPACE_POD |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém implantou uma carga de trabalho com a opção shareProcessNamespace definida como true , permitindo que todos os contêineres compartilhem o mesmo namespace de processo do Linux. Isso pode permitir que um contêiner não confiável ou comprometido aumente privilégios acessando e controlando variáveis de ambiente, memória e outros dados sensíveis de processos executados em outros contêineres. |
Escalonamento de privilégios: ClusterRole com verbos privilegiados Prévia | GKE_CLUSTERROLE_PRIVILEGED_VERBS |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém criou uma ClusterRole do RBAC que contém os verbos bind , escalate ou impersonate . Um sujeito vinculado a uma função com esses verbos pode se passar por outros usuários com privilégios mais altos, se vincular a outros Roles ou ClusterRoles que contêm permissões adicionais ou modificar as próprias permissões de ClusterRole. Isso pode fazer com que esses indivíduos recebam privilégios de administrador do cluster. |
Escalonamento de privilégios: ClusterRoleBinding para função privilegiada Visualização | GKE_CRB_CLUSTERROLE_AGGREGATION_CONTROLLER |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém criou uma ClusterRoleBinding do RBAC que faz referência à ClusterRole system:controller:clusterrole-aggregation-controller padrão. Esse ClusterRole padrão tem o verbo escalate , que permite aos sujeitos modificar os privilégios das próprias funções, o que permite o escalonamento de privilégios. |
Evasão de defesa: solicitação de assinatura de certificado (CSR) excluída manualmente Prévia | GKE_MANUALLY_DELETED_CSR |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém excluiu manualmente uma solicitação de assinatura de certificado (CSR, na sigla em inglês). Os CSRs são removidos automaticamente por um controlador de coleta de lixo, mas agentes mal-intencionados podem excluí-los manualmente para evitar a detecção. Se a CSR excluída era de um certificado aprovado e emitido, o usuário potencialmente malicioso agora tem um método de autenticação adicional para acessar o cluster. As permissões associadas ao certificado variam dependendo do assunto incluído, mas podem ser altamente privilegiadas. O Kubernetes não permite a revogação de certificados. |
Acesso às credenciais: falha na tentativa de aprovar a solicitação de assinatura de certificado (CSR) do Kubernetes Pré-lançamento | GKE_APPROVE_CSR_FORBIDDEN |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém tentou aprovar manualmente uma solicitação de assinatura de certificado (CSR), mas a ação falhou. A criação de um certificado para autenticação de cluster é um método comum de acesso persistente a um cluster comprometido. As permissões associadas ao certificado variam dependendo do assunto incluído, mas podem ser altamente privilegiadas. |
Acesso à credencial: solicitação de assinatura de certificado (CSR, na sigla em inglês) aprovada manualmente Visualização | GKE_CSR_APPROVED |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém aprovou manualmente uma solicitação de assinatura de certificado (CSR, na sigla em inglês). A criação de um certificado para autenticação de cluster é um método comum de acesso persistente a um cluster comprometido. As permissões associadas ao certificado variam dependendo do assunto incluído, mas podem ser altamente privilegiadas. |
Execução: pod do Kubernetes criado com possíveis argumentos de shell reverso Prévia | GKE_REVERSE_SHELL_POD |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém criou um pod com comandos ou argumentos geralmente associados a um shell reverso. Os invasores usam shells reversos para expandir ou manter o acesso inicial a um cluster e executar comandos arbitrários. |
Evasão de defesa: possível mascaramento de pods do Kubernetes pré-lançamento | GKE_POD_MASQUERADING |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém implantou um pod com uma convenção de nomenclatura semelhante às cargas de trabalho padrão criadas pelo GKE para a operação normal do cluster. Essa técnica é chamada de mascaramento. |
Escalonamento de privilégios: nomes de contêiner do Kubernetes suspeitos: exploração e escape Visualização | GKE_SUSPICIOUS_EXPLOIT_POD |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém implantou um pod com uma convenção de nomenclatura semelhante a ferramentas comuns usadas para escapes de contêiner ou para executar outros ataques no cluster. |
Impacto: nomes suspeitos de contêineres do Kubernetes – Mineração de moedas Visualização | GKE_SUSPICIOUS_CRYPTOMINING_POD |
Registros de auditoria do Cloud: Registros de atividade do administrador GKE |
Alguém implantou um pod com uma convenção de nomenclatura parecida com a dos mineradores de moedas de criptomoedas comuns. Isso pode ser uma tentativa de um invasor que obteve acesso inicial ao cluster para usar os recursos dele na mineração de criptomoedas. |
Como ativar a detecção de ameaças do GKE
Para ativar a detecção de ameaças do GKE, registre um cluster qualificado no nível avançado da verificação de postura de segurança do Kubernetes. Isso também ativa todos os recursos incluídos no nível básico de verificação de postura de segurança do Kubernetes, como auditoria de configuração de carga de trabalho e exibição do boletim de segurança.
Para saber mais, consulte Encontrar ameaças em clusters usando o GKE Threat Detection.
Limitações
As seguintes limitações se aplicam ao GKE Threat Detection:
- Disponível apenas no GKE Enterprise
- Disponível apenas para projetos em organizações
- Não oferece suporte às opções do Security Command Center, como a configuração de residência de dados
- Mostra apenas resultados de clusters registrados em uma frota
- O GKE retém as descobertas de ameaças que não têm mais recursos afetados associados por até 180 dias
- Mostra apenas resultados de clusters atuais. Se você excluir um cluster, o GKE Threat Detection não mostrará mais a descoberta no painel de postura de segurança do GKE.
A seguir
- Saiba mais sobre o painel de postura de segurança do GKE
- Encontrar ameaças em clusters usando o GKE Threat Detection