O blog da AWS
Implementando análise de vulnerabilidade no repositório de containers ECR usando o novo Amazon Inspector
Por Erik Miyashita, Arquiteto de Soluções na AWS
O Amazon Inspector foi lançado em 2015 com o objetivo de ajudar diferentes organizações a identificar vulnerabilidades de aplicação realizando scans de vulnerabilidade e análise de exposição de rede em instâncias Amazon EC2. Desde o seu lançamento, o ambiente que é analisado pelo Amazon Inspector mudou consideravelmente: além da utilização de instâncias EC2, clientes adotaram containers como uma nova alternativa para lançar seus aplicativos na nuvem.
Recentemente o AWS Inspector passou por uma reformulação e uma nova versão foi lançada no ano final de 2021. Nesta nova versão, a arquitetura do serviço foi redefinida, com o objetivo de atender aos requerimentos mais atuais dos clientes. Neste blogpost, vamos explorar as principais novidades trazidas pela nova versão e configurar o scan de vulnerabilidades para containers. Vamos lá!
Expansão para containers
Um dos avanços mais importantes é a expansão para análises de imagens de containers, além da análise de instâncias EC2. Esta função deve auxiliar clientes que executam pipelines de deployment de containers na AWS. Para tornar o processo de análise de vulnerabilidade integrado ao pipeline de deployment, o Amazon Inspector foi integrado ao Amazon Elastic Container Registry (ECR).
Mudança de agente
Anteriormente, para realizar avaliações do Amazon Inspector era necessária a instalação do agente exclusivo do serviço. Nesta nova versão, deixamos de usar um agente específico e utilizamos o do AWS Systems Manager (SSM). Esta mudança promove uma simplificação para os clientes, que agora podem realizar diferentes atividades usando apenas um mecanismo: o AWS Systems Manager.
Avaliação automática
Outra característica modificada com a nova versão é execução das avaliações. Nesta nova versão, as avaliações são contínuas – o que nos livra da necessidade de criar um agendamento para isso. Esta característica é adequada aos pipelines de integração contínua dos clientes – ele permite que as imagens de containers sejam avaliadas assim que sejam enviadas para o repositório.
Integração com AWS SecurityHub e Amazon EventBridge
A integração com outros serviços também foi melhorada nesta nova versão. Eventos do serviço podem ser enviados para o Amazon EventBridge, possibilitando diferentes integrações tanto dentro da plataforma AWS como com ferramentas de gerenciamento, monitoração, etc. Esta integração pode permitir ainda que sejam criadas automações para correção de vulnerabilidades reportadas. Além da integração de eventos, o Amazon Inspector também está integrado ao AWS SecurityHub para compartilhamento das descobertas. Isto pode tornar a priorização de findings ainda mais completa.
Agora que conhecemos um pouco mais da nova versão do Amazon Inspector, vamos habilitar o serviço e identificar vulnerabilidades em containers.
Habilitando o Inspector para containers
Primeiramente precisamos habilitar o serviço. Dentro da console, procure por Amazon Inspector. Não se preocupe se você já tem o seu repositório ECR funcionando, o Inspector encontrará tanto repositórios ECR antigos quanto novos. Clique em “Enable Inspector”:
Perceba que na Figura 1, também é possível identificar um administrador delegado. Com isso, você pode delegar a administração do Inspector para outra conta dentro da sua organização.
Imediatamente após a habilitação do serviço, você será apresentado ao novo Dashboard. Ele traz um resumo da cobertura do ambiente, descobertas críticas, contas AWS com mais descobertas, repositórios ECR com mais descobertas, instâncias e imagens com mais descobertas. Com isso é possível identificar rapidamente quais ambientes devem ser priorizados.
Após alguns minutos, podemos identificar no Dashboard, a indicação de repositórios, instâncias e contas sendo cobertas pelas avaliações.
Por meio do menu do serviço, podemos aplicar filtros rápidos por vulnerabilidade, conta, instância, imagem de container ou repositório.
Ao clicar na descoberta, o serviço nos apresenta um Dashboard de detalhamento da vulnerabilidade. Ele apresenta dados como severidade, data, pacote, recurso afetado, score Common Vulnerability Scoree System (CVSS) e possíveis correções.
Até aqui o Amazon Inspector nos ajudou a centralizar, visualizar e filtrar descobertas, podendo até identificar detalhes sobre cada vulnerabilidade e scoring CVSS. Os times de desenvolvimento também podem ter visibilidade das vulnerabilidades. Vejamos:
Acessando o Amazon ECR, podemos observar diferentes repositórios de imagens. Podemos ver também que uma coluna chamada “Scan Frequency” indica o tipo de análise sendo feita no repositório. As opções são “Continuous” – em que as imagens são analisadas continuamente ou “Scan on push” – em que as imagens são analisadas somente durante o push para o repositório.
Outra configuração importante que se deve notar é o tipo de scanning, ele pode ser “Basic scanning” ou “Enhanced scanning”. O scan básico utiliza o projeto open source Clair como base e não tem custo. Já o “Enhanced scanning” utiliza o Amazon Inspector, analisando tanto vulnerabilidades de sistema operacional quanto de pacotes de linguagens de programação. Este tipo de scan possui custo – o do Amazon Inspector (confira as definições de preço do serviço aqui).
Acessamos então os repositórios e os links para as descobertas de cada imagem. Podemos então explorar quais vulnerabilidades foram encontradas.
Neste ponto os times de desenvolvimento também podem verificar quais vulnerabilidades foram encontradas nas imagens do repositório.
Conclusão
Neste blogpost exploramos algumas características da nova versão do Amazon Inspector e vimos como podemos habilitar análise de vulnerabilidades em um repositório de containers com apenas alguns cliques. O serviço já está disponível em 19 regiões, inclusive na região de São Paulo (sa-east-1). Os clientes podem experimentar o serviço por 15 dias sem custo.
Sobre o autor
Erik Miyashita é Arquiteto de Soluções na AWS com larga experiência em sistemas distribuídos, DevSecOps e monitoração. Atualmente atende clientes do segmento enteprise, auxiliando-os a utilizar melhor os recursos de cloud computing.
Sobre os revisores
Daniel Garcia é especialista em segurança na AWS com mais de 20 anos de experiência em tecnologia e segurança da informação. Trabalha junto aos clientes do Brasil e da América Latina na definição, implementação de suas jornadas de segurança na nuvem.
Pedro Rosinholi é Arquiteto de Soluções na AWS com mais de 10 anos de experiência em soluções de TI. Ajuda empresas de diversas indústrias em sua jornada para a nuvem de maneira segura, escalável e resiliente. No tempo livre coloca uns discos de vinil para tocar.