À medida que a infraestrutura em nuvem se torna a espinha dorsal das empresas modernas, garantir a segurança desses ambientes é de extrema importância. Sendo a AWS (Amazon Web Services) a nuvem dominante, é importante para qualquer profissional de segurança saber onde procurar sinais de comprometimento. O AWS CloudTrail se destaca como uma ferramenta importante para rastrear e registrar atividades de API, fornecendo um registro completo das ações realizadas em uma conta AWS. Pense no AWS CloudTrail como uma auditoria ou log de eventos de todas as chamadas de API feitas para sua conta AWS. Para profissionais de segurança, monitorar esses logs é importante, especialmente quando se trata de encontrar possíveis acessos não autorizados, como chaves de API roubadas. Essas técnicas e muitas outras aprendi em eventos em que trabalhei na AWS e construí para SANS FOR509, Enterprise Cloud Forensics.
1. Chamadas de API e padrões de acesso incomuns
A. Aumento inesperado nas solicitações de API
Um dos primeiros sinais de uma possível violação de segurança é um aumento inesperado nas solicitações de API. O CloudTrail registra todas as chamadas de API feitas na sua conta da AWS, incluindo quem fez a chamada, quando ela foi feita e de onde. Um invasor com chaves de API roubadas pode lançar um grande número de solicitações em um curto período de tempo, investigar a conta em busca de informações ou tentar explorar determinados serviços.
O que procurar:
- Uma operação repentina e perfeita da API.
- Chamadas de API de endereços IP incomuns, especialmente de regiões onde usuários legítimos não estão ativos.
- Aproveite os esforços em uma variedade de serviços, especialmente se eles não forem comumente usados pela sua organização.
Observe que a função Watchdog (se habilitada) sinalizará automaticamente esses tipos de eventos, mas você terá que observar para detectá-los.
B. Uso não autorizado da conta Origin
A AWS recomenda fortemente evitar o uso da conta root nas operações diárias devido ao seu alto nível de privilégios. Qualquer acesso à conta root, especialmente se forem usadas chaves de API associadas a ela, é um sério sinal de alerta.
O que procurar:
- As chamadas de API são feitas com as credenciais da conta root, especialmente se a conta root raramente for usada.
- Alterações nas configurações no nível da conta, como alteração de informações de pagamento ou configurações da conta.
2. Função IAM complexa
A. Criação Suspeita de Chaves de Acesso
Os invasores podem criar novas chaves de acesso para obter acesso contínuo à conta comprometida. Monitorar logs do CloudTrail para a criação de novas chaves de acesso é importante, especialmente se essas chaves forem criadas para contas que normalmente não precisam delas.
O que procurar:
- Criação de novas chaves de acesso para usuários do IAM, principalmente aqueles que antes não necessitavam delas.
- Uso rápido de chaves de acesso recém-geradas, o que pode indicar que um invasor está testando ou usando essas chaves.
- As chamadas de API relacionadas são `CreateAccessKey`, `ListAccessKeys` e `UpdateAccessKey`.
C. Padrões de Assunção de Papéis
A AWS permite que os usuários assumam funções, fornecendo-lhes credenciais temporárias para tarefas específicas. O monitoramento de padrões incomuns de suposição de função é importante, pois um invasor pode usar a função para percorrer o ambiente.
O que procurar:
- Chamadas para a API `AssumeRole` são raras ou comuns, especialmente para funções com privilégios elevados.
- Suposições de funções de endereços IP ou regiões que normalmente não estão associadas aos seus usuários legítimos.
- Suposições de função seguidas de ações que são inconsistentes com as práticas comerciais normais.
3. Acesso e movimentação não convencional de dados
A. Acesso aleatório ao bucket S3
O Amazon S3 costuma ser alvo de invasores, visto que pode armazenar grandes quantidades de dados potencialmente confidenciais. Monitorar o CloudTrail em busca de acesso incomum a buckets S3 é fundamental para encontrar chaves de API vulneráveis.
O que procurar:
- Chamadas de API relacionadas a `ListBuckets`, `GetObject` ou `PutObject` para buckets geralmente não reconhecem tal funcionalidade.
- Downloads ou uploads de dados em grande escala de ou para buckets S3, especialmente quando ocorrem fora do horário comercial normal.
- Acesse os esforços de buckets que armazenam dados confidenciais, como backups ou arquivos confidenciais.
B. Tentativas de extrair dados
Um invasor pode tentar extrair dados do seu ambiente AWS. Os logs do CloudTrail podem ajudar a detectar essas tentativas de filtragem, especialmente se os padrões de transferência de dados forem incomuns.
O que procurar:
- Grandes transferências de dados de serviços como S3, RDS (Relational Database Service) ou DynamoDB, especialmente para endereços IP externos ou desconhecidos.
- Chamadas de API relacionadas a serviços como AWS DataSync ou S3 Transfer Acceleration que normalmente não são usados em seu ambiente.
- Tentativas de criar ou modificar configurações de replicação de dados, como aquelas que envolvem replicação de região S3.
4. Modificação Inesperada do Grupo de Proteção
Os grupos de segurança controlam o tráfego de entrada e saída para recursos da AWS. Um invasor pode alterar essas configurações para abrir vetores de ataque adicionais, como permitir o acesso SSH a endereços IP externos.
O que procurar:
- Alterações nas regras do grupo de segurança que permitem tráfego de entrada de endereços IP fora da sua rede confiável.
- Chamadas de API relacionadas a `AuthorizeSecurityGroupIngress` ou `RevokeSecurityGroupEgress` são incompatíveis com funções padrão.
- Criação de novos grupos de segurança com regras mais permissivas, como permitir todo o tráfego de entrada para áreas comuns.
5. Medidas para reduzir o risco de chaves de API roubadas
A. Aplicar o Princípio do Menor Privilégio
Para minimizar os danos que um invasor pode causar com chaves de API roubadas, aplique uma política de privilégio mínimo a toda a sua conta da AWS. Certifique-se de que os usuários e funções do IAM tenham apenas as permissões necessárias para executar suas tarefas.
B. Use autenticação multifator (MFA)
Requer MFA para todos os usuários do IAM, especialmente aqueles com privilégios administrativos. Isso adiciona uma camada extra de segurança, tornando mais difícil o acesso dos invasores, mesmo que roubem as chaves da API.
C. Sempre vire e verifique as chaves de acesso
Alterne as chaves de acesso regularmente e garanta que elas estejam vinculadas aos usuários IAM de que realmente precisam. Além disso, pesquise o uso de chaves de acesso para garantir que não sejam abusadas ou usadas em locais inesperados.
D. Habilitar e monitorar CloudTrail e GuardDuty
Certifique-se de que o CloudTrail esteja habilitado em todas as regiões e que os logs estejam centralizados para análise. Além disso, o AWS GuardDuty pode fornecer monitoramento em tempo real de atividades maliciosas, proporcionando outra camada de proteção contra credenciais comprometidas. Considere o AWS Detective para obter alguma inteligência baseada na descoberta.
E. Use o AWS Config para monitorar a conformidade
O AWS Config pode ser usado para monitorar a conformidade com as práticas recomendadas de segurança, incluindo o uso apropriado de políticas e grupos de segurança do IAM. Esta ferramenta pode ajudar a identificar configurações incorretas que podem deixar sua conta vulnerável a ataques.
A conclusão
A segurança do seu ambiente AWS depende do monitoramento cuidadoso e da detecção rápida de anomalias nos logs do CloudTrail. Ao compreender os padrões comuns de uso legítimo e reconhecer os desvios desses padrões, os profissionais de segurança podem detectar e responder a vulnerabilidades potenciais, como aquelas que envolvem chaves de API roubadas, antes que causem danos significativos. À medida que os ambientes de nuvem continuam a evoluir, manter um ambiente operacional seguro é fundamental para proteger dados confidenciais e garantir a integridade da sua infraestrutura AWS. Se você quiser saber mais sobre o que procurar na AWS para login, bem como nas nuvens da Microsoft e do Google, você pode considerar minha classe FOR509 em execução na SANS Cyber Defense Initiative 2024. Visite 509.com para leia mais.