CloudTroop Newsletter

Minimizando a Exposição de Credenciais na AWS: Estratégias Práticas de Defesa

O Desafio das Credenciais de Longa Duração

Credenciais expostas continuam sendo o método mais explorado por atores maliciosos em incidentes de segurança observados pela equipe de resposta a incidentes da AWS. Quando credenciais de longa duração ou chaves de acesso caem em mãos não autorizadas, o risco para ambientes em nuvem se intensifica. Práticas inadequadas de rotação de chaves, compartilhamento de credenciais entre múltiplos usuários e falha em revogar acessos não utilizados deixam sistemas vulneráveis.

O uso de credenciais de longa duração é fortemente desaconselhado, criando uma oportunidade clara para migração em direção aos papéis do AWS Identity and Access Management (IAM) e ao acesso federado. Embora a melhor prática recomende que organizações se afastem desse modelo, entende-se que essa transição pode não ser imediata para todos os ambientes.

Para construir uma defesa abrangente contra exposição não intencional de credenciais, é necessário adotar uma abordagem estratificada em camadas. Essa estratégia funciona como ponte entre o ideal de segurança e as realidades operacionais, fornecendo passos práticos para equipes que gerenciam cargas de trabalho legadas que ainda dependem de credenciais de longa duração.

Identificando Riscos e Exposições Existentes

Auditando Chaves de Acesso Atuais

O primeiro passo é ganhar visibilidade. Organizações devem gerar regularmente relatórios de credenciais que identifiquem propriedade de usuários IAM sobre credenciais de longa duração, incluindo informações como última rotação, último uso, serviço e região utilizados. Esses relatórios oferecem uma visão essencial do cenário de credenciais, permitindo identificar chaves inativas ou potencialmente comprometidas — especialmente aquelas com rotações atrasadas, fora da política, ou com padrões de uso inesperados de regiões desconhecidas.

Detectando Chaves de Acesso Expostas

A fonte mais comum de comprometimento de credenciais é o commit acidental em repositórios públicos. Quando desenvolvedores, sem intencionalidade, enviam credenciais para repositórios acessíveis publicamente, ferramentas automatizadas de scanning utilizadas por adversários colhem essas chaves imediatamente.

A varredura de código é fundamental para identificar esses problemas críticos antes que credenciais sejam commitadas acidentalmente ou implantadas em ambientes de produção onde possam ser exploradas. O Amazon CodeGuru Security oferece uma capacidade de detecção de secrets que integra com o AWS Secrets Manager, localizando proativamente dados sensíveis não criptografados no código — como chaves secretas da AWS, senhas embutidas e strings de conexão de banco de dados. Quando descobertos, o CodeGuru cria achados com remediação recomendada.

O AWS Trusted Advisor também fornece uma verificação de chaves de acesso expostas que examina repositórios públicos populares e detecta uso irregular do Amazon Elastic Compute Cloud (Amazon EC2) que poderia indicar comprometimento. É importante notar que essas ferramentas não conseguem detectar segredos armazenados fora de seu escopo — como máquinas de desenvolvimento local ou sistemas externos — e devem ser vistas como parte de uma estratégia mais ampla, não como única solução.

Quando há indício de comprometimento, a rotação imediata das chaves é essencial. Instruções específicas estão disponíveis nos guias de rotação de chaves de acesso para usuários IAM.

Identificando Acessos Não Utilizados

Além de detectar credenciais expostas, identificar chaves de acesso inativas reduz a superfície de ataque. O AWS IAM Access Analyzer inclui um analisador de acesso não utilizado que identifica permissões excessivas ou em desuso — incluindo papéis IAM não utilizados, chaves de acesso inativas, senhas não usadas e ações em papéis e usuários ativos. Após revisar os achados, é possível remover ou modificar permissões desnecessárias.

Revogar credenciais sem uso limita o impacto caso um ator malicioso tenha obtido acesso a elas. Essas ferramentas em conjunto oferecem visibilidade profunda sobre riscos de credenciais no ambiente.

Estabelecendo Guardrails Preventivos: O Perímetro de Dados

Após compreender como identificar exposições, é hora de implementar controles preventivos. As políticas de controle de serviço (SCPs) e políticas de controle de recursos (RCPs) criam um perímetro de dados que garante apenas identidades confiáveis acessem recursos confiáveis de redes esperadas.

Para implementar guardrails preventivos é crucial estabelecer esse perímetro. Mais detalhes sobre perímetros de dados estão disponíveis na série de publicações sobre Estabelecendo um Perímetro de Dados na AWS.

Controles na Camada de Política

As políticas de controle de serviço podem negar que credenciais de usuários IAM sejam utilizadas fora de redes esperadas — como rangos CIDR corporativos ou VPCs específicas. Exemplos atualizados e repositórios de políticas estão disponíveis no repositório de exemplos de políticas de perímetro de dados.

Implementar esse perímetro de rede reduz risco quando credenciais são comprometidas — atores maliciosos tentando usar chaves roubadas de cafeterias ou casas serão bloqueados, limitando o impacto de acesso não autorizado.

Para defesa em profundidade adicional, as RCPs protegem dados controlando quais identidades podem acessar recursos. Por exemplo, permitindo acesso apenas a identidades dentro da organização e bloqueando identidades externas. Você pode consultar a lista de serviços AWS que suportam RCPs. O repositório no GitHub contém exemplos atualizados para uso.

Quando há plano para migrar de credenciais de longa duração, uma SCP pode negar criação e atualização de chaves de acesso, impondo uso de métodos de autenticação mais seguros como papéis IAM e acesso federado.

Controles de Rede: Protegendo o Ambiente de Execução

Além do perímetro de dados, proteger a infraestrutura de computação e rede onde chaves de acesso operam é essencial. O risco de exposição via ambientes comprometidos torna essa proteção crítica — atores maliciosos frequentemente atacam esses ambientes para obter acesso não autorizado.

Grupos de Segurança e Listas de Controle de Acesso à Rede

Proteções de segurança em nível de rede — funcionando como firewalls em múltiplos níveis, como instância ou subnet — ajudam contra acesso não autorizado. Restringir portas críticas como SSH (porta 22) e RDP (porta 3389) é essencial, pois são alvos primários de atores maliciosos. Portas administrativas abertas aumentam significativamente a superfície de ataque.

O AWS Systems Manager Session Manager oferece acesso remoto seguro sem expor portas de entrada, eliminando necessidade de bastion hosts ou gerenciamento de chaves SSH.

As listas de controle de acesso à rede (NACLs) bloqueiam acesso em nível de subnet atuando como filtros de pacote stateless nas bordas. Diferentemente de grupos de segurança que protegem instâncias individuais, NACLs protegem subnets inteiras com regras explícitas de permissão/negação para tráfego de entrada e saída. Quando implantadas como parte de defesa em profundidade, oferecem isolamento entre camadas de aplicação, bloqueiam padrões maliciosos nas bordas e mantêm proteção mesmo se outras camadas sejam comprometidas.

Para proteção de rede aprimorada, o AWS Network Firewall oferece defesa de perímetro em nível empresarial através de proteção abrangente de VPC. Combina sistemas de prevenção de intrusão, filtragem de domínio, inspeção profunda de pacotes e controles geográficos de IP, protegendo automaticamente contra ameaças emergentes usando inteligência global de ameaças coletada pela Amazon.

Integrando Network Firewall com AWS Transit Gateway, implementam-se políticas de segurança consistentes em VPCs e Zonas de Disponibilidade com gerenciamento centralizado. Para automatizar e escalar segurança de rede, o AWS Firewall Manager oferece administração centralizada de regras de Network Firewall e políticas de grupos de segurança, automatizando implantação de políticas comuns de grupo de segurança, limpando grupos não utilizados e remediando regras excessivamente permissivas em múltiplas contas.

Detecção de Vulnerabilidades e Exposição de Rede

Para identificar exposição de rede não intencional em escala, considere o Amazon Inspector. Realiza varredura contínua de cargas de trabalho AWS para vulnerabilidades de software e exposição de rede não intencional, ajudando identificar e remediar riscos antes de exploração.

As capacidades incluem vulnerabilidades de pacote (identificando pacotes de software expostos a CVEs comuns que atores podem explorar), vulnerabilidades de código (identificando linhas em código AWS Lambda exploráveis — como injeção de código, vazamento de dados, criptografia fraca — com detecção colaborativa com CodeGuru Security, listada na Biblioteca de Detectores da Amazon Q), e alcançabilidade de rede (mostrando se portas são acessíveis da internet via internet gateway, conexões de peering de VPC ou VPN através de gateway virtual).

Proteção com WAF

Complementando controles de segurança de rede, o AWS WAF adiciona uma camada de defesa filtrando tráfego web malicioso que poderia levar à exposição de credenciais. Oferece grupos de regras gerenciados para proteção contra acesso não autorizado:

O grupo de regras AWS WAF Fraud Control para prevenção de fraude em criação de contas (ACFP) usa tokens de requisição para coletar informações sobre navegador do cliente e interatividade humana. Detecta e gerencia tentativas em massa de criação de conta agregando requisições por endereço IP e sessão de cliente, além de dados como endereço físico e telefone. Também detecta e bloqueia novas contas usando credenciais comprometidas.

O grupo de regras AWS WAF Fraud Control para prevenção de sequestro de conta (ATP) oferece visibilidade e controle sobre tentativas anômalas de login e logins com credenciais roubadas. Para distribuições do Amazon CloudFront, além de inspecionar requisições de login, o ATP analisa respostas da aplicação para rastrear sucessos e falhas, verificando combinações de email e senha contra seu banco de dados de credenciais vazadas, atualizado regularmente conforme novas credenciais aparecem na dark web.

Práticas Operacionais: Mantendo a Higiene de Segurança

Para complementar essas camadas de proteção e manter postura de segurança contínua, implemente gerenciamento automatizado de credenciais através do Secrets Manager facilitando rotação e ciclo de vida de chaves de acesso adequados em todo o ambiente. Automação reduz erros humanos, garante atualizações de credenciais em tempo, limitando janela de exposição se comprometidas.

Recomenda-se rotação de chaves a cada 90 dias no mínimo. O Secrets Manager automatiza rotação conforme cronograma, garantindo atualizações regulares sem intervenção manual, além de centralizar armazenamento de segredos reduzindo likelihood de compartilhamento entre usuários. É possível configurar rotação automática via integração com Lambda.

Existe também uma solução disponível para implementar rotação automática de chaves de acesso em escala. Esse padrão utiliza templates do AWS CloudFormation disponíveis no repositório de rotação de chaves IAM.

Se não conseguir implementar rotação automática e precisar identificar rapidamente chaves que exigem rotação, o AWS Trusted Advisor oferece verificação de rotação de chaves de acesso IAM que identifica chaves ativas não rotacionadas nos últimos 90 dias, permitindo identificar quais chaves precisam de rotação manual.

Detectando Atividade Anômala em IAM

Enquanto medidas proativas para proteger infraestrutura IAM são cruciais, mecanismos robustos de detecção e alerta são igualmente importantes. Apesar de toda diligência, ameaças não previstas ou atividades não autorizadas podem ocorrer. Por isso, uma defesa em profundidade completa deve incluir capacidade de identificar e responder rapidamente a eventos anômalos relacionados a IAM.

O Amazon GuardDuty combina machine learning e inteligência de ameaças integrada para proteger contas AWS, cargas de trabalho e dados contra ameaças. A Detecção Estendida de Ameaças correlaciona múltiplos eventos em diferentes fontes de dados para identificar ameaças potenciais em ambientes AWS. Quando detecta sequências suspeitas, gera achados abrangentes. O sistema analisa atividades de API individuais como sinais fracos que, independentemente, podem não indicar riscos, mas quando observados em padrões específicos revelam potenciais problemas de segurança. Essa capacidade é ativada por padrão ao ativar GuardDuty em uma conta AWS, fornecendo proteção sem configuração adicional.

O achado de sequência de ataque específico relacionado a credenciais comprometidas é AttackSequence:IAM/CompromisedCredentials, marcado com severidade crítica. Ele informa que GuardDuty detectou sequência de ações suspeitas usando credenciais AWS afetando um ou mais recursos. Múltiplos comportamentos ameaçadores suspeitos e anômalos foram observados pelas mesmas credenciais, resultando em confiança elevada de que credenciais estão sendo mal utilizadas.

Conclusão

As práticas de segurança apresentadas oferecem abordagem abrangente e estratificada para mitigar riscos associados a credenciais de longa duração. Implementando varredura proativa de código, rotação automatizada de chaves, controles em nível de rede, restrições de perímetro de dados e detecção de ameaças, é possível reduzir significativamente a superfície de ataque e proteger melhor recursos AWS até que migração completa para credenciais temporárias seja viável.

Embora as recomendações forneçam conjunto amplo de controles posicionando organizações em boa postura de segurança, podem existir medidas adicionais dependendo de necessidades e perfil de risco específicos de cada ambiente. O ponto-chave é adotar abordagem holística e em camadas para gerenciamento e proteção de credenciais.

É importante reconhecer que credenciais de longa duração inerentemente carregam riscos. Mesmo com melhores práticas rigorosas e controles abrangentes, possibilidade de comprometimento não pode ser completamente eliminada. Organizações devem avaliar sua postura de segurança e priorizar transição para credenciais temporárias através de papéis IAM e federação sempre que possível. A AWS oferece suporte para ajudar nessa jornada.

Fonte

Practical steps to minimize key exposure using AWS Security Services (https://aws.amazon.com/blogs/security/practical-steps-to-minimize-key-exposure-using-aws-security-services/)