Cloud Pentest 101

2023-12-03

Porque fazer testes de penetração em Cloud

A maior parte das metodologias de pentest não são cloud-native, porque este tipo de teste exige conhecimentos especificos e ao mesmo tempo variados tanto em cloud quanto em testes de penetração, além de alguma expertise em áreas como autenticação e autorização, APIs e banco de dados. Dito isto, precisamos pensar nos motivos que devem ser considerados para que se invista neste tipo de pentest: os principais são identificação de riscos e vulnerabilidades, mas os testes podem ajudar também a garantir que todas as boas práticas estão sendo cumpridas para questões de auditoria ou processos de melhorias internas.

Modelo de Responsabilidade Compartilhada

Existem vários frameworks para testes em cloud, aqui iremos tratar do mais comum: o modelo de responsabilidade compartilhada. Neste modelo, os testes envolvem testes nos requisitos de segurança da cloud (e não testes na segurança da cloud). Basicamente: o provedor é responsável por garantir que o provedor seja seguro, enquanto o cliente garante que o ambiente e seus componentes estão seguros. Neste modelo, cabe ao provedor definir o escopo dos testes, a frequência em que podemos fazê-los e quaisquer outros acordos (SLA). Você pode saber mais sobre as regras para testes e também sobre o modelo de responsabilidade compartilhada nas documentações da AWS.

Etapas

Neste ponto, o pentest é bem parecido com qualquer outro teste de penetração. Temos basicamente três etapas: Discovery, Exploitation e Remediation (descoberta, exploração e remediação):

1. Discovery

O pentester irá buscar falhas conhecidas, configurações erradas, informações ou qualquer outra coisa que o permita penetrar no ambiente.

2. Exploitation

Utilizando as informações coletadas na fase 1, o pentester irá combinar informações para conseguir explorar as falhas e entrar no ambiente. Aqui o foco também pode ser na resiliência, no monitoramento ou na disponibilidade do serviço, além de coletar evidências de tudo que ele conseguir.

3. Remediation

Envolve o follow up das correções e retestes para garantir que as falhas foram corrigidas.

Boas práticas

- Entenda o modelo de responsabilidade compartilhada Assim você garante que está trabalhando no escopo correto e nas áres que são de sua responsabilidade.

- Determine bem o tipo de teste Antes de começar, saiba se será um gray box, black box ou white box. Isso ajudará a definir melhor as táticas utilizadas.

- Entenda o SLA do seu provedor Evitar bloqueios e processos é sempre uma boa ideia.

OWASP

Assim como para o desenvolvimento de softwares e APIs, a OWASP possui uma lista com as dez vulnerabilidades mais exploradas em ambientes cloud native, além de um guia para testes de segurança em ambientes cloud native.

Próximos passos

Primeiro, entenda bem o modelo de responsabilidade compartilhada e todos os SLAs envolvidos. O próximo passo é entender como atacar. Nesta etapa, usaremos como exemplo a cloud AWS. Nos vemos em um próximo capitulo :)