Snyk Container em 2021: levando a segurança de contêineres para ainda mais perto do início do desenvolvimento
22 de dezembro de 2021
0 minutos de leituraSeja qual for o ângulo, o uso de contêineres e Kubernetes continua crescendo. E vulnerabilidades recentes de grande repercussão que não devem ser mencionadas mostraram a importância da segurança de contêineres para um programa abrangente de segurança de aplicações. Proteger seu próprio código, suas dependências e os serviços em contêineres que você usa é indispensável.
Os sinais de que a adoção de contêineres continua acelerada estão por toda parte. Em 2021, os clientes da Snyk realizaram mais de 130 milhões de testes de contêineres — 10 vezes mais do que em 2020! Datadog e Sysdig relatam monitorar, cada uma, bem mais de 1 bilhão de contêineres, e a Gartner prevê que mais de 75% das organizações globais executarão aplicações em contêineres em produção em 2022, ante menos de 30% no ano passado.
Com a chegada do fim de 2021, vamos relembrar os principais recursos novos de cada produto da Snyk. Neste post, o destaque é o Snyk Container.
Uso do Snyk Container dispara em 2021
Como mencionamos acima, o Snyk Container foi usado em mais de 130 milhões de testes de contêineres até agora em 2021. Mas testar um contêiner não é o objetivo final do Snyk Container — o resultado desejado é CORRIGIR os problemas nos contêineres. Veja o que observamos com o Snyk Container:
Os usuários do Snyk Container corrigiram 56 milhões de vulnerabilidades em 2021.
Esse resultado veio de mais de 133 milhões de análises de contêineres em mais de 2 milhões de imagens, que detectaram mais de 111 milhões de vulnerabilidades únicas em contêineres.
* O número de vulnerabilidades é menor que o de testes porque, quando a mesma imagem é testada várias vezes, cada vulnerabilidade detectada é contabilizada apenas uma vez.
E não se trata apenas de analisar imagens em pipelines e registros. O Snyk Container também monitorou 47 mil projetos Kubernetes e 352 mil repositórios Git com Dockerfiles.
Aprimoramentos no Snyk Container voltados para desenvolvedores
Em 2021, adicionamos ao Snyk Container vários recursos para integrá-lo aos fluxos de trabalho dos desenvolvedores. Nosso objetivo é tornar o processo de encontrar e corrigir problemas em contêineres o mais simples e intuitivo possível — tão simples que seja difícil não corrigi-los.
Um dos novos recursos mais importantes foi a possibilidade de analisar Dockerfiles em repositórios de código-fonte e abrir pull requests para corrigir os problemas detectados. Esse é um pioneirismo entre os produtos de segurança de contêineres. Escolher uma boa imagem base segura para uma aplicação é uma forma relativamente simples de reduzir até 90% das vulnerabilidades em um contêiner.

Como a escolha da imagem pai sobre a qual você vai construir é tão importante, queríamos garantir que o maior número possível de usuários recebesse as recomendações de imagem base da Snyk, independentemente de em que etapa do ciclo de vida do contêiner a análise fosse feita. Para isso, mudamos a forma como detectamos a imagem pai em um contêiner. Com a chegada de dezembro, mais de 80% de todos os contêineres testados já recebem recomendações de imagem base, ante cerca de 25% em janeiro.

Curiosamente, a lógica de imagem base do Snyk Container se baseia nas imagens oficiais do Docker. Por isso, essas altas taxas de recomendações de imagem pai são um indicador claro da popularidade e da importância contínuas do Docker no universo dos contêineres.
Também apresentamos na SnykCon nosso trabalho em andamento para oferecer suporte ao Snyk Container em IDEs. Junto com a parceria contínua com o Docker, isso é um ótimo sinal do que está por vir enquanto continuamos a levar a segurança de contêineres ainda mais para o início do desenvolvimento.
Melhorias nos fluxos de trabalho e no ecossistema de contêineres
Em 2021, também nos propusemos a resolver alguns problemas persistentes nos fluxos de trabalho baseados em contêineres, que podem complicar a correção de falhas. Além disso, queríamos ampliar nosso suporte a ferramentas populares do ecossistema de contêineres, que não para de crescer.
Um desafio peculiar dos fluxos de trabalho com contêineres é manter o Dockerfile vinculado às imagens resultantes. As imagens de contêiner não têm um mecanismo próprio para registrar qual Dockerfile foi usado para criá-las. Isso pode dificultar descobrir quem é responsável por determinado contêiner e qual Dockerfile precisa ser editado para corrigir problemas. Para facilitar esse processo no Snyk Container, decidimos seguir os rótulos padrão de contêineres da OCI, que permitem vincular esses dois artefatos. No Snyk Container, se você usar um desses rótulos OCI, podemos mostrar automaticamente quais imagens de contêiner analisadas pelo Snyk foram criadas a partir de determinado Dockerfile. Assim, fica fácil não só relacionar os testes de contêineres, mas também acessar diretamente o Dockerfile para fazer uma alteração.
Falando em adotar padrões, também adicionamos a possibilidade de usar padrões abertos de políticas para definir o que o Snyk monitora nos seus clusters Kubernetes. O Open Policy Agent (OPA) é um plano de controle baseado em políticas bastante usado em ambientes nativos da nuvem. Usamos o OPA com nosso monitoramento de Kubernetes para você definir quais cargas de trabalho serão monitoradas automaticamente e se — e quando — elas serão excluídas caso deixem de ser executadas nos seus clusters.
Também adicionamos integrações com outras ferramentas populares do ecossistema de contêineres:
Agora o Snyk Container oferece suporte a todos os registros de contêineres mais populares, tanto locais quanto na nuvem. No ano passado, foram incluídos Harbor, Quay, Nexus, Google Artifact Registry, GitHub, GitLab e DigitalOcean.
Nosso operador do OpenShift recebeu certificação da Red Hat.
E simplificamos a configuração do monitoramento do AWS Elastic Kubernetes com uma extensão do CloudFormation Registry.
Menos ruído nos alertas de contêineres e mais detalhes de segurança
À primeira vista, pode parecer contraditório adicionar mais informações de segurança e, ao mesmo tempo, reduzir o ruído causado por vulnerabilidades em contêineres. Mas, em 2021, conseguimos fazer isso com o Snyk Container.
Para reduzir o ruído dos alertas de segurança de contêineres e priorizar as vulnerabilidades mais importantes, adicionamos dados sobre tendências nas redes sociais às informações das vulnerabilidades. Um aumento nas conversas nas redes sociais pode indicar que algo malicioso está acontecendo em relação a uma vulnerabilidade, o que ajuda muito na priorização.
Também aprimoramos os recursos de políticas de segurança na plataforma Snyk, oferecendo novas maneiras de dar mais ou menos destaque às vulnerabilidades em toda a organização. Por exemplo, você pode querer aumentar a prioridade das vulnerabilidades relacionadas à memória em aplicações executadas no seu ambiente de produção. Com a interface de políticas de segurança da Snyk, você pode definir uma política como esta:
Todas as aplicações com o atributo ou a tag
Production…e com vulnerabilidades que exploram o CWE 125 (leitura fora dos limites) ou o CWE 787 (gravação fora dos limites)...“
recebem a gravidade Crítica

E, para adicionar mais informações de segurança de contêineres, incluímos suporte às versões mais recentes do Alpine, Debian, Ubuntu, ao novo CentOS Stream e a outras distribuições Linux populares usadas em contêineres, assim que foram disponibilizadas por seus mantenedores. Também mudamos a forma de relatar vulnerabilidades do Red Hat Enterprise Linux, Amazon Linux e CentOS Stream. Agora, os detalhes de cada CVE são mais granulares, com informações adicionais sobre a gravidade específicas de cada distribuição.
O que esperar do Snyk Container em 2022
Como Daniel comentou no nosso artigo Retrospectiva de 2021 do Snyk Open Source, a cadeia de suprimentos segura é um tema cada vez mais importante e em evidência, e os contêineres têm um papel central nessa história. Está se tornando cada vez mais essencial conhecer todos os componentes incluídos nos seus próprios contêineres — criados com seus processos de build específicos. Mas também é importante saber o que vem incluído nas aplicações de terceiros distribuídas em contêineres que você talvez use. Seus contêineres de banco de dados, ferramentas de registro e pesquisa, balanceadores de carga, gateways e outros provavelmente são implantados junto com as aplicações e oferecem funcionalidades essenciais. Mas eles também podem conter vulnerabilidades perigosas. Você precisa saber disso e conseguir implantar novas versões assim que os mantenedores as disponibilizarem.
Também queremos avançar muito mais na priorização de vulnerabilidades. Isso inclui novos sinais de que determinado pacote ou vulnerabilidade é mais perigoso, além de mais inteligência e políticas escaláveis para que os desenvolvedores possam filtrar vulnerabilidades ruidosas que, na verdade, não são tão relevantes. Combinando esses dois aspectos, acreditamos que podemos ajudar os usuários do Snyk Container a passar de centenas de vulnerabilidades detectadas em uma análise para apenas algumas etapas de correção das mais urgentes, além de tirar das equipes de segurança sobrecarregadas o trabalho manual de gerenciar vulnerabilidades.
Que 2022 seja um ano feliz e seguro!
Segurança de contêineres que prioriza os desenvolvedores
O Snyk encontra e corrige automaticamente vulnerabilidades em imagens de contêiner e workloads do Kubernetes.
