Threat Hunting em ambiente AWS

Cyber Key
4 min readDec 28, 2020

--

O foco desse post é para mostrar como identificar possíveis ameaças em AWS que possam impactar toda uma organização.

Nele irei citar algumas das principais ameaças em Cloud AWS, como priorizá-las e onde começar a caçar.

Ambientes de nuvem trazem seu próprio conjunto de complexidade e peculiaridades para ameaças, por isso, é importante citar o Mitre com suas táticas e técnicas focadas em ambiente AWS, como também mostrar algumas fontes públicas e centralizá-las aqui.

Threat Hunting

Os Threat hunters identificarão problemas operacionais e atividades maliciosas difíceis de serem encontrados na infraestrutura. Alinhar-se às equipes pode ser fundamental para continuar melhorando o entendimento do ambiente, pois algumas vezes uma evidência pode parecer algo malicioso, quando na verdade foi uma atividade “não programada/divulgada” entre as equipes. A análise proativa desta infraestrutura para detecção de uma ameaça, requer tempo para vasculhar logs, conhecimento do ambiente e das técnicas utilizadas pelos atacantes.

A melhoria do threat hunting é um processo contínuo, por isso precisamos estar atentos ao que acontece no mundo, para isso:

  • Construa um processo de modelo de ameaças para melhorar as hipóteses.
  • Comece pequeno, se for o caso, com ferramentas gratuitas ou scripts fáceis. Aumente a complexidade da caça às ameaças enquanto aumenta a consistência no ambiente.
  • A caça a ameaças na nuvem é um cenário que muda rapidamente. Esteja sempre aprendendo.
  • Reúna os dados, identifique as informações que faltam e disponibilize esses dados.

Criando uma estratégia de hunting na AWS

Algumas das principais fontes de logs AWS:

  • AWS CloudTrail
  • Amazon CloudWatch Events
  • Amazon GuardDuty Findings
  • Amazon VPC Flows Logs
  • Amazon Inspector Findings
  • DNS Logs

Três domínios de dados, mostrando onde buscar logs de Rede, Host e Aplicação:

Imagem domínio de dados AWS

Criando hipóteses

A equipe de hunting precisa construir um conjunto de técnicas para investigar e criar uma hipótese de como esses ataques funcionariam e quais artefatos estão nos logs que precisam ser analisados. Organizações que possuem equipes focadas em ataques, como um grupo de pentest ou purple team, com especialistas internos que pesquisem e pratiquem técnicas de ataque.

Uma fonte muito utilizada e que possui materiais publicados sobre técnicas de ataque para criar novas hipóteses é o MITRE ATT&CK™, com um Framework que está crescendo em popularidade entre pesquisadores e empresas de segurança. Hoje possui um Framework específico para Cloud, que fornece uma explicação detalhada dos comos e porquês de técnicas específicas utilizadas pelos invasores.

Matriz do Mitre Attack — AWS
https://attack.mitre.org/matrices/enterprise/cloud/aws/

Amazon CloudTrail

Com o AWS CloudTrail, você pode monitorar as implantações da AWS na nuvem obtendo um histórico de chamadas das APIs da AWS em sua conta, incluindo as chamadas feitas pelo Console de Gerenciamento da AWS, pelos SDKs da AWS, pelas ferramentas da linha de comando e por serviços da AWS de nível mais alto.

Anatomia de um evento CloudTrail

Esta é a aparência de um evento CloudTrail genérico, onde, alguns elementos-chave de uma perspectiva de threat hunting são:

eventName — Esta é a chamada de API feita
eventSource — Este é o serviço AWS (ec2, s3, lambda, etc)
sourceIPAddress - Endereço IP de onde veio a chamada. É um IP ou um serviço AWS como cloudformation.amazonaws.com
userIdentity.arn — Dependendo do tipo, os atributos de userIdentity mudam, mas o arn está sempre presente
userIdentity.type - Normalmente IAMUser ou AssumeRole
recipientAccountId - ID da conta AWS para o qual o evento se destina. Nesta postagem, todos serão 123456789012
requestParameters — mudará com base na chamada API.

Imagem retirada do Reinvent2019-sec339

Amazon GuardDuty

Amazon GuardDuty é um serviço de monitoramento de segurança contínuo que analisa e processa as seguintes fontes de dados: VPC Flow Logs, logs de eventos de gerenciamento do AWS CloudTrail, logs de eventos de dados Cloudtrail S3 e logs DNS. Ele usa feeds de inteligência de ameaças, como listas de endereços IP maliciosos e domínios, e aprendizado de máquina para identificar atividades inesperadas e potencialmente não autorizadas e maliciosas no ambiente AWS.

Amazon GuardyDuty Findings

Basicamente, o GuardDuty finding traz informações de possíveis problemas de segurança detectados na rede. O GuardDuty gera um finding sempre que detecta atividades inesperadas e potencialmente maliciosas no ambiente AWS.

Tipos de findings

  • EC2 finding types
  • IAM finding types
  • S3 finding types

Lista de Findings

As listas a seguir listam cada tipo de recurso para o qual GuardDuty gera todos os tipos de findings. São como assinaturas que reconhecem um comportamento como sendo malicioso e gera logs da atividade para fins de monitoramento e detecção. São eles:

GuardDuty EC2 finding types

Para maiores detalhes sobre os tipos de findings EC2, acesse: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-ec2.html

GuardDuty S3 finding types

Para maiores detalhes sobre os tipos de findings S3, acesse: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html

GuardDuty IAM finding types

Para maiores detalhes sobre os tipos de findings IAM, acesse: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html

Iniciando o hunting

Agora que já temos informações relevantes sobre algumas fontes de dados importantes na Amazon AWS, podemos iniciar a atividade de hunting e criarmos algumas regras para monitoramento em nosso ambiente.

No próximo post, utilizarei como modelo algumas queries que são possíveis de serem feitas no Splunk, porém, algumas informações nas regras irão de como o Splunk está implementado em seu ambiente, como por exemplo, o tipo de index que está sendo encaminhado os logs da AWS. Nesse modelo irei utilizar o index=amazonaws somente para que possam tomar como base.

--

--