81% acreditam que os desenvolvedores devem ser responsáveis pela segurança, mas não estão bem preparados
26 de fevereiro de 2019
0 minutos de leituraBoas-vindas ao relatório anual da Snyk State of Open Source Security 2019. Este relatório está dividido em várias publicações:
Pacotes do Maven Central dobram; npm indexa 250 mil novos pacotes
Aumento de 88% nas vulnerabilidades em bibliotecas de aplicativos em dois anos
81% acreditam que os desenvolvedores devem ser responsáveis pela segurança, mas não estão bem preparados
As dez imagens Docker mais populares têm pelo menos 30 vulnerabilidades cada
Vulnerabilidades ReDoS no npm aumentam 143%, e os ataques XSS continuam crescendo
78% das vulnerabilidades são encontradas em dependências indiretas, o que dificulta a correção
Ou baixe nosso caprichado relatório em PDF, feito à mão, com todas essas informações e muito mais em um só lugar.
Baixe o relatório State of Open Source Security 2019
Responsabilidade pela segurança do código aberto
Nosso objetivo foi descobrir quem, na prática, é responsável pela segurança de um aplicativo ou biblioteca hoje e quem os usuários acreditam que deveria assumir essa responsabilidade.
Para 81% dos entrevistados, os desenvolvedores devem ser responsáveis pela segurança do código de seus aplicativos. Isso deixa claro o nível de participação e engajamento esperado dos desenvolvedores e reforça o movimento DevSecOps, que muitas equipes estão adotando atualmente.

Uma abordagem saudável para incorporar a segurança ao SDLC é integrá-la a todo o ciclo de vida do desenvolvimento, do design à produção. Isso difere bastante da abordagem tradicional, que concentra os testes de segurança em uma etapa pontual, realizada periodicamente e incompatível com o modelo moderno e acelerado de entrega de software. No entanto, processos e diretrizes talvez não sejam suficientes. Capacitação, ferramentas fáceis de usar e engajamento com as equipes de P&D e as partes interessadas são igualmente importantes para que as práticas de segurança sejam adotadas de forma saudável na organização.
Identificação de vulnerabilidades
É preciso muito conhecimento, experiência e um olhar atento para revisar o próprio código e identificar possíveis vulnerabilidades de segurança. Como essa tarefa não é simples e muitas vezes nem chega a ser feita, o código vulnerável pode permanecer despercebido por muito tempo, até que alguém o encontre.
37% dos usuários não realizam nenhum tipo de teste de segurança durante a CI
Equipes que adotam DevOps ou têm um pipeline de CI/CD maduro talvez encontrem mais facilidade para incluir testes de segurança na automação do processo de build. Ainda assim, descobrimos que quase 40% dos usuários não realizam nenhum tipo de teste de segurança durante as execuções de CI. Um dado positivo é que mais da metade deles, pelo menos, testa as dependências de código aberto em busca de vulnerabilidades.
Outra descoberta da nossa pesquisa é que as equipes que incorporam a segurança ao trabalho também têm melhores resultados na entrega contínua. Um elemento fundamental é garantir que as equipes de segurança da informação disponibilizem bibliotecas, pacotes, cadeias de ferramentas e processos pré-aprovados e fáceis de usar para que desenvolvedores e equipes de operações de TI possam aplicá-los no trabalho.
Nicole Forsgren, Accelerate

Como descobrir vulnerabilidades
Do ponto de vista do usuário, é interessante entender como ele fica sabendo das vulnerabilidades nas dependências de seus aplicativos para poder reagir a possíveis ameaças assim que forem descobertas.
Preocupantes 27% dos entrevistados afirmaram não ter nenhuma forma proativa ou automática de descobrir vulnerabilidades recém-identificadas em seus aplicativos. Apenas 36% dos usuários disseram usar uma ferramenta de gerenciamento ou análise de dependências para identificar vulnerabilidades.

Números da Snyk
Somente no segundo semestre de 2018, a Snyk abriu mais de 70 mil pull requests para seus usuários nos ecossistemas Maven, RubyGems e npm, corrigindo vulnerabilidades em seus projetos.
Entre todas as dependências de um projeto Java analisado, a Snyk indicou um caminho de correção para 60% das vulnerabilidades encontradas. Nem sempre é possível indicar um caminho de correção quando não há compatibilidade entre uma dependência direta e uma versão corrigida de uma dependência indireta. A equipe de segurança da Snyk pode criar patches personalizados para resolver alguns desses casos.
Tempo para adotar correções de segurança
Quanto tempo os usuários levam para adotar novas versões que corrigem vulnerabilidades conhecidas? Para descobrir, analisamos o registro PyPI do Python e o pacote websockets. O objetivo foi entender por quanto tempo versões vulneráveis populares continuaram sendo usadas mesmo após o lançamento de uma correção.
O projeto websockets é um pacote bastante popular e bem mantido, lançado em 2013 e com atualizações regulares até hoje.
Em agosto de 2018, uma vulnerabilidade de negação de serviço foi divulgada à comunidade. Ela afetava as versões 4.0 e 4.0.1 do pacote. Quando a vulnerabilidade foi divulgada, já havia versões mais recentes no registro com a correção de segurança. Mesmo assim, os dados de download mostram que usuários continuaram baixando por muito tempo as versões vulneráveis do websockets.
Em dezembro de 2018, ainda registrávamos 11 mil downloads do pacote websockets com a vulnerabilidade, embora já houvesse uma versão corrigida disponível como atualização principal: a versão 5.0 do websockets.

Continue lendo:
Pacotes do Maven Central dobram; npm indexa 250 mil novos pacotes
Aumento de 88% nas vulnerabilidades em bibliotecas de aplicativos em dois anos
81% acreditam que os desenvolvedores devem ser responsáveis pela segurança, mas não estão bem preparados
As dez imagens Docker mais populares têm pelo menos 30 vulnerabilidades cada
Vulnerabilidades ReDoS no npm aumentam 143%, e os ataques XSS continuam crescendo
78% das vulnerabilidades são encontradas em dependências indiretas, o que dificulta a correção
Comece a resolver desafios de capture the flag
Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.
