AWS GuardDuty

O AWS GuardDuty é um serviço da AWS que encontra ameaças no seu ambiente em um mar de dados trafegados, ajudando a encontrar as agulhas no palheiro, ele análise seus recursos e análise comportamentos suspeitos.

Figura 1 - AWS GuardDuty
Figura 1 – AWS GuardDuty

Para começar a utilizar o AWS GuardDuty é muito simples, basta acessar o serviço pelo console e habilitar ele clicando no botão Enable GuardDuty

Figura 2 - Enable AWS GuardDuty
Figura 2 – Enable AWS GuardDuty

Agora você verá as opções que o AWS GuardDuty fornece, como os Findings (o que foi encontrado de suspeito), o tempo da licença Trial que está rodando na sua contato e outras opções que vamos falar mais pra frente.

AWS GuardDuty Data Source

O AWS GuardDuty possuí três fontes de dados, onde ele irá coletar e analisar esses dados constantemente

  • VPC Flow Logs
  • DNS Logs
  • CloudTrail Events

Cada um desses recursos possuem uma infinidade de informações que serão analisadas por práticas de Machine Learning dentro da caixa do AWS GuardDuty.

VPC Flows Logs – não captura pacotes de dados, mas ele fornece a nível de ENI (Elastic Network Interface) informação de conectividade entre subnets e redes internas.

DNS Logs – são dados ativados diretamente no Route53, porém caso sua aplicação não utilize o DNS da AWS (Route 53) o AWS GuardDuty ainda assim consegue capturar essas informações a partir de chamadas que forem feitos para outros DNS partindo de uma EC2, por exemplo.

CloudTrail Events – são dados de auditoria, o AWS CloudTrail já captura dados a todo instante de tudo o que é alterado/acessado na sua conta e o AWS GuardDuty analisa esses dados também, atrás de mudanças que possam ser suspeitas.

GuardDuty Findings

O Findings foi mencionado anteriormente, ela é a primeira tela disponível pelo AWS GuardDuty e ela permite que você veja cada tipo de ameaças alertadas, sendo elas categorizadas pelo seu tipo de ameaça.

  • Backdoor: O Recurso está afetado e pode permitir que o invasor acesse o servidor por comandos remotos de uma outra ponta.
  • Behavior: Alguns recursos estão com um comportamento/atividades diferente dos padrões.
  • Crypto Currency: Foi encontrado software relacionado com mineração de moedas.
  • Pentest: Atividades similares a de Pen Tests, mesmo quando seja feito com o consentimento do dono da conta, o GuardDuty irá reportar.
  • Recon: Identifica atividade de reconhecimento de portas abertas, como banco de dados e outros serviços.
  • Stealth: Atividades indicam que algum tipo de ataque está sendo feito por trás de proxy, anonimizando o atacante.
  • Trojan: Atividades indicam que existe software suspeito, que podem ter sido instalado ou inseridos a partir de uma vulnerabilidade
  • Unauthorized Access: Atividades suspeitas por usuários desconhecidos.
Figura 3 - Findings
Figura 3 – Findings

AWS GuardDuty Níveis de Alertas

O AWS GuardDuty, além das categorias, também informa o nível de criticidade da suspeita identificada. Existem três níveis de severidade:

  • Low: Atividade suspeita/maliciosa foi bloqueado e não comprometeu o recurso.
  • Medium: Atividade suspeita está com um comportamento além do normal esperado.
  • High: Recurso comprometido e exige ação imediata.

AWS GuardDuty Events

Figura 4 - AWS GuardDuty Events
Figura 4 – AWS GuardDuty Events

O AWS GuardDuty Events permite que você aproveite a cada novo evento gerado dentro dele, para que seja gerado algum tipo de tratamento dessa informação (usando Lambda) ou basicamente reportar por email ou outra ferramente de comunicação como o Slack, para reportar ao time que um novo evento foi gerado.

Um evento do AWS GuardDuty é um corpo de mensagem em JSON como esta abaixo:

    {
     "version": "0",
     "id": "cd2d702e-ab31-411b-9344-793ce56b1bc7",
     "detail-type": "GuardDuty Finding",
     "source": "aws.guardduty",
     "account": "111122223333",
     "time": "1970-01-01T00:00:00Z",
     "region": "us-east-1",
     "resources": [],
     "detail": {COMPLETE_GUARDDUTY_FINDING_JSON}
    }   

A partir disso você pode criar sua própria lambda para tratar o Log, por categoria e level de severidade e tomar a ação para seu negócio, uma ação de segurança emergencial ou simplesmente reportar ao time de sustentação.

Abraços