O desafio: vulnerabilidades de código aberto criavam um gargalo manual na segurança
A Natera já adotava diversas práticas de segurança, mas elas exigiam que os desenvolvedores analisassem manualmente páginas e mais páginas de falsos positivos. Desenvolver rapidamente insights baseados em dados é essencial para o sucesso dos negócios. Por isso, a empresa buscava adotar novas práticas de segurança para automatizar a segurança de aplicações e a garantia de qualidade ao longo do ciclo de vida de desenvolvimento de software (SDLC). Para isso, precisava de novas ferramentas para descobrir e gerenciar vulnerabilidades no código aberto, no código personalizado, na infraestrutura e nos contêineres. Com mais de 200 desenvolvedores trabalhando em vários projetos, a Natera precisava de uma abordagem abrangente de DevSecOps que pudesse ser adotada facilmente por todas as equipes.
“Fazíamos revisões manuais. Recebíamos a solicitação de pull request e tentávamos designar pessoas para cuidar dos problemas. A segurança era um gargalo”, disse Charlotte Townsley, diretora de engenharia de segurança da Natera. “Eu queria desenvolver e normalizar a preparação em segurança. Precisávamos de segurança desde a concepção e da adesão de toda a engenharia ao longo do SDLC. Para isso, era necessário ampliar a colaboração, a conscientização, as habilidades e as ferramentas. Isso geraria muito valor para a organização.”
A solução: viabilizar a segurança em todo o processo de desenvolvimento de aplicações
Ao buscar uma solução, a Natera avaliou vários produtos, incluindo Snyk, SonarQube, Blackduck e Veracode. A avaliação mostrou que a Plataforma de segurança de aplicações nativas da nuvem da Snyk era a mais voltada para desenvolvedores, útil e prática, facilitando a adoção e a integração rápida. A plataforma permite que os desenvolvedores assumam a responsabilidade pela segurança de toda a aplicação, do código e do código aberto aos contêineres e à infraestrutura em nuvem.
“Escolhemos a Snyk porque ela atende às necessidades da organização e aos nossos objetivos”, disse Townsley. “É bem projetada, fácil de usar e simples para a equipe de engenharia. O conjunto de ferramentas foi bem pensado para analisar dependências, código personalizado, contêineres e infraestrutura como código. Está tudo ali.”
Snyk Code permite corrigir vulnerabilidades desde o início do desenvolvimento
A Natera queria garantir que toda a equipe de desenvolvimento pudesse assumir a responsabilidade pela segurança. Para concretizar essa visão, era preciso realizar testes estáticos de segurança de aplicações (SAST) e conscientizar sobre vulnerabilidades o mais cedo possível no fluxo de trabalho. A Natera constatou que outras ferramentas de SAST eram limitadas por análises demoradas e baixa precisão. Já o Snyk Code foi desenvolvido para oferecer sugestões práticas e eficientes de correção de vulnerabilidades enquanto os desenvolvedores escrevem código na interface que usam, antes da implantação.
“Foi uma decisão fácil. Avaliamos algumas outras ferramentas, mas não encontrei nenhuma que oferecesse o mesmo tipo de análise sem precisar esperar pela implantação ou pela fase anterior à implantação. Simplesmente não havia nada com que eu pudesse compará-la.”
Integração à IDE para proteger código próprio e de código aberto
Com o plug-in da Snyk para o JetBrains IntelliJ IDE, a equipe de segurança da Natera conseguiu integrar a segurança perfeitamente aos fluxos de trabalho de engenharia. No ambiente de preferência dos desenvolvedores, a Snyk analisa nativamente os repositórios da equipe de engenharia para detectar vulnerabilidades no código-fonte das aplicações e nas dependências Java de código aberto. Ao analisar e validar o código enquanto escrevem, os desenvolvedores podem identificar problemas ainda no início do processo de build e corrigi-los por conta própria com rapidez e eficiência.
“Quero que todos vejam a segurança como uma parceira, algo que os capacita”, disse Townsley. “E ter uma solução desde o início do ciclo de vida realmente faz isso. Começamos com a implementação na IDE e integramos aos repositórios. Isso nos ajuda a entender o contexto das vulnerabilidades de segurança nas dependências e a tomar decisões bem fundamentadas.”
Snyk Container capacitou desenvolvedores a corrigir imediatamente vulnerabilidades críticas
Como a Natera depende de componentes de aplicações conteinerizados, a equipe de engenharia mantém várias imagens de contêiner em produção. Vulnerabilidades em contêineres poderiam comprometer a conformidade com as regulamentações da área da saúde. Por isso, a equipe de segurança buscou impedir que os desenvolvedores usassem determinadas imagens do registro. A equipe escolheu o Snyk Container para ajudar a bloquear imagens indesejadas e corrigir vulnerabilidades nos contêineres aprovados.
“Fiquei muito feliz por poder analisar os contêineres antes de eles entrarem em produção”, disse Townsley. “As pessoas não prestavam atenção às vulnerabilidades nos contêineres, então isso abriu os olhos da organização. Realmente aumenta a conscientização sobre essas vulnerabilidades e permite mais automação. Está mais alinhado à mentalidade de melhoria da qualidade que as equipes de engenharia adotam nas práticas de CI/CD.”
Snyk IaC amplia a visibilidade dos repositórios
A infraestrutura como código era a última peça do quebra-cabeça de DevSecOps da Natera. Para fornecer e proteger insights de dados sobre resultados de DNA, a Natera depende de várias configurações de infraestrutura para dar suporte às aplicações. O Snyk IaC permite que os desenvolvedores protejam essas configurações e incorporem as melhores práticas aos fluxos de trabalho. Essa abordagem de implementação dos produtos da Snyk estava alinhada ao objetivo da Natera de integrar os fundamentos de segurança a todo o ciclo de vida de desenvolvimento.
“Queríamos uma cobertura abrangente para encontrar problemas que pudessem causar vulnerabilidades de infraestrutura no ambiente de execução”, disse Townsley. “Essas configurações nem sequer eram revisadas manualmente. Por isso, a Snyk foi uma ótima maneira de obter visibilidade de todos os diferentes repositórios de IaC.”
O impacto: analisar todo o espectro de vulnerabilidades de segurança
A Natera conseguiu implementar processos e políticas de segurança que causam o mínimo de interrupção para os desenvolvedores. A Snyk se integra ao processo de build e ajuda a priorizar vulnerabilidades para acelerar sua correção. Assim, a Natera obteve visibilidade completa e melhorou a qualidade do software sem atrasar o lançamento dos recursos inovadores que seus clientes desejam.
“A Snyk teve um grande impacto na nossa organização. Antes, realmente não fazíamos nada parecido. Então, ter uma ferramenta que analisa todo o espectro de vulnerabilidades de segurança no nosso código personalizado, nas dependências, nos contêineres e no IaC foi como encontrar um banquete que ninguém aqui jamais tinha experimentado.”
Garantir a conformidade do código sem atritos
Desde a implementação da plataforma Snyk, a Natera consegue relacionar as informações coletadas a políticas de segurança específicas e tem provas incontestáveis de que está analisando possíveis violações. Essa trilha de auditoria é essencial para manter a conformidade com as regulamentações da área da saúde e as leis de privacidade de dados, como as da FDA, da HIPAA e da SOC 2.
“Todos ficamos impressionados com a eficácia do Snyk Code em atender aos requisitos do sistema de qualidade da FDA”, disse Townsley. “Temos defensores muito atuantes que consideram a ferramenta fácil de usar e muito mais rápida. Mais importante: ao contrário de outras ferramentas que geram páginas de falsos positivos, a Snyk é ágil e aponta problemas reais.”
Automatizar para eliminar totalmente as vulnerabilidades das aplicações
A Natera implementou a Snyk em toda a equipe, com foco em capacitar 40 defensores da segurança que lideram esses esforços e em breve treinarão os demais integrantes. Com a Snyk, os defensores e a equipe de segurança da Natera adotaram uma abordagem de segurança centrada em engenharia, sem desacelerar as implantações. As ferramentas automatizadas da plataforma detectam vulnerabilidades de segurança antes da integração do código, para que as equipes de engenharia da Natera saibam que a segurança foi validada antes de a aplicação chegar aos ambientes de homologação ou produção.
“Incorporamos a Snyk ao nosso processo e estamos avançando rumo à automação”, disse Townsley. “Também estamos trabalhando para bloquear totalmente as vulnerabilidades. Queremos chegar ao ponto em que tudo seja DevSecOps. Em breve, teremos tudo ajustado para funcionar muito bem para nós, em vez dos processos inconsistentes e manuais em que confiávamos antes da Snyk.”
