Uma configuração incorreta no Google Kubernetes Engine (GKE) pode permitir que invasores assumam o controle de clusters Kubernetes e acessem informações confidenciais, de acordo com um alerta da startup de segurança em nuvem Orca Security.
O problema está relacionado aos privilégios concedidos aos usuários no grupo system:authenticated, que inclui todos os usuários com uma conta do Google, embora se acredite erroneamente que inclui apenas identidades verificadas. “Esse mal-entendido cria uma brecha de segurança significativa quando os administradores, sem saber, vinculam esse grupo a funções excessivamente permissivas”, diz a Orca em seu relatório sobre o problema.
Um serviço gerenciado do Kubernetes, o GKE oferece suporte à autenticação e autorização de cluster e, sendo o Google o provedor de identidade, qualquer pessoa com uma conta do Google pode se autenticar no servidor da API Kubernetes. Isso significa que, quando se trata de grupos integrados do Kubernetes, como system:anonymous, system:authenticated e system:unauthenticated, podem ocorrer configurações incorretas de autorização, o que pode ter consequências terríveis.
A empresa de segurança descobriu especificamente que um invasor poderia obter um token de acesso por meio do OAuth 2.0 Playground e se tornar parte do grupo system:authenticated, o que lhe forneceria pelo menos acesso a APIs. Agora, se os usuários autenticados forem autorizados com funções estendidas, o nível de acesso do invasor seria muito maior, permitindo-lhe realizar reconhecimento, assumir o controle do cluster Kubernetes, causar negação de serviço ou acessar informações confidenciais.
A Orca diz ter descoberto mais de 250 mil clusters GKE expostos à internet, com cerca de 1.300 potencialmente vulneráveis a essa configuração incorreta. Destes, mais de 100 podem ser imediatamente comprometidos, alertou a empresa.
Para algumas das instâncias identificadas, as permissões de administrador do cluster foram concedidas ao grupo system:authenticated, proporcionando ao invasor a capacidade de consultar vários recursos.
Os pesquisadores da Orca descobriram que os clusters do GKE afetados por essa configuração incorreta aparentemente ineficaz expuseram credenciais da Amazon Web Services (AWS), chaves de API do Google Cloud Platform (GCP), arquivos JSON de autenticação de conta de serviço, chaves privadas, credenciais para registros de contêiner e acesso a recursos críticos, como Grafana, RabbitMQ e ElasticSearch.
A Orca relatou as descobertas ao Google, que tomou medidas para mitigar os riscos na versão 1.28 do GKE, evitando a vinculação de funções administrativas a grupos integrados do Kubernetes, criando regras de prevenção configuráveis, restringindo o acesso à rede e notificando os usuários do GKE com ligações a esses grupos para revisar as configurações.
“Os clusters que aplicam restrições às redes autorizadas possuem uma primeira camada de defesa: não podem ser atacados diretamente pela Internet. Mas ainda recomendamos a remoção dessas ligações para defesa profunda e proteção contra erros nos controles de rede”, disse o Google em um boletim de segurançaseparado.
O que é o Google Kubernetes Engine?
GKE é uma implementação gerenciada do Kubernetes, com recursos e integrações adicionais adicionados pelo Google, sendo um deles uma autenticação contínua baseada em OIDC (OpenID Connect) com o Google como IdP (provedor de identidade). O GKE oferece uma solução pronta para uso de orquestração de contêineres, permitindo que os usuários se concentrem na implantação e no gerenciamento dos aplicativos sem se preocupar com a infraestrutura subjacente.
Veja isso
Google alerta sobre exploração de dia zero no navegador Chrome
Google corrige seis bugs em 1ª atualização do Chrome de 2024
O GKE é a única solução gerenciada em nuvem Kubernetes dos três principais provedores de serviços de nuvem (AWS, Azure e GCP) que, por padrão, oferece suporte à autenticação e autorização de cluster por meio do IAM (serviço de gerenciamento de acesso e identidade) padrão. Isso significa que os principais podem autenticar e autorizar no servidor da API Kubernetes usando apenas suas credenciais do Google. Portanto, o grupo system:authenticated no GKE inclui qualquer pessoa com uma conta do Google válida.
Essa descoberta é importante porque os administradores podem facilmente se enganar — especialmente ao migrar clusters autogerenciados — ao pensar que o sistema GKE: grupo autenticado inclui apenas identidades verificadas e determinísticas. Esse mal-entendido cria uma brecha de segurança significativa quando os administradores decidem vincular esse grupo a funções excessivamente permissivas.
Um briefing sobre ameaças detalhando como um invasor pode explorar essa brecha de segurança do GKE, o que a Orca encontrou nos clusters do GKE em uso, bem como recomendações sobre como proteger seus clusters, será realizado no dia 26 de janeiro, às 23h, horário do Pacífico.