Skip to main content

5 maneiras como o Snyk ajuda você a priorizar e corrigir vulnerabilidades

Escrito por
Headshot of Josefa Riveros

Josefa Riveros

Priority blog Featured

18 de fevereiro de 2020

0 minutos de leitura

Nossa equipe fez recentemente algumas melhorias na aparência e no funcionamento dos relatórios, facilitando ainda mais a criação de relatórios de segurança de aplicações que gerem impacto para sua empresa.

Está difícil colocar ordem no caos?

Imagine que você acabou de se mudar para uma casa nova e comprou alguns móveis para montar — quão difícil pode ser, certo? Ao abrir as caixas, você se depara com um milhão de parafusos, arruelas e peças de plástico esquisitas. “Essa peça faz parte do móvel ou veio só na caixa?”, você se pergunta. De repente, a bagunça à sua frente começa a parecer assustadora. Então você se lembra: não precisa ser tão complicado. Existe um manual de instruções! Depois de algum esforço (e alguns erros), você finalmente pode descansar, com a sensação de dever cumprido.

Muitos dos nossos clientes conhecem bem essa sensação quando precisam corrigir as vulnerabilidades em seus projetos. Infelizmente, nesse caso não há manual de instruções, porque cada equipe tem suas próprias prioridades. Você executou vários testes e agora tem uma pilha de vulnerabilidades pela frente. “Essa vulnerabilidade realmente representa um risco ou podemos nos preocupar com ela mais tarde?”, você se pergunta. Lá vem aquela sensação de estar sobrecarregado de novo.

Por onde começar?! Como priorizar essas vulnerabilidades para que suas equipes avancem e tenham a mesma sensação de “Consegui!”?

Vimos que nossos clientes conseguem ser muito criativos com os relatórios: transformam aquela pilha de vulnerabilidades em algo mais fácil de gerenciar e de que podem se orgulhar. Por isso, como parte do processo de desenvolvimento do produto, perguntamos como eles usam os relatórios e aprendemos muito sobre o que funciona para eles.

Queremos compartilhar algumas dessas ideias com você. Embora não exista um conjunto único e claro de instruções, há métodos comprovados que podem ajudar você a priorizar melhor as vulnerabilidades da sua empresa e começar a reduzir essa quantidade.

Crie uma lista priorizada para seus desenvolvedores

Em novembro, lançamos os dados de maturidade de exploração dos resultados do Project, que rapidamente se tornaram um dos recursos favoritos dos nossos clientes. Agora, você também pode filtrar por maturidade de exploração na guia Issues, na área Reports, para identificar as vulnerabilidades específicas que afetam seus projetos e têm exploits disponíveis publicamente (os exploits “maduros”, como os chamamos). Vulnerabilidades de segurança com exploits conhecidos representam um risco muito maior do que aquelas sem exploits conhecidos e devem ser tratadas primeiro.

Agora, a lista de filtros de Issues permite filtrar por:

  • Tipo de problema — selecione apenas Vulnerabilities para se concentrar em segurança

  • Maturidade de exploração — selecione Mature para se concentrar nos maiores riscos do seu projeto

  • Status — selecione Open para se concentrar nas vulnerabilidades que ainda não foram tratadas

  • Corrigíveis — filtre as vulnerabilidades que podem ser corrigidas com as opções de patch e upgrade

Recomendamos restringir ainda mais o escopo para obter informações mais práticas: filtre os dados por “High Severity” na lista principal Filters e por “Fixable” nos filtros de Issues. Assim, você e sua equipe podem se concentrar nas vulnerabilidades de maior risco que seus desenvolvedores conseguem corrigir com relativa facilidade. Ao filtrar por alta gravidade e por “upgrade” ou “patch”, você verá uma lista de todos os projetos com vulnerabilidades corrigíveis e de alta gravidade — oportunidades de correção rápidas e de grande impacto para suas equipes. Compartilhe essa lista com sua equipe para que todos saibam quais vulnerabilidades devem ser tratadas primeiro!

Painel de software exibindo uma página de relatórios com filtros de projetos e uma lista de problemas de segurança, incluindo gravidade, identificadores CVE, projetos afetados e vulnerabilidades conhecidas

Classifique para agir rapidamente

Mesmo depois de aplicar os filtros, sua lista ainda pode parecer assustadora. Mas não se preocupe! Você pode direcionar ainda mais o foco e definir prioridades: acesse a visualização agrupada de problemas e classifique por “projects affected” para descobrir qual vulnerabilidade corrigível é mais comum em toda a sua organização. Assim, você pode se concentrar na correção dos problemas que terão o maior impacto.

Painel de relatórios de projetos com uma lista classificável de projetos, quantidade de problemas, datas e controles de exportação

Você também pode acessar essa lista diretamente pela guia Summary: basta clicar no texto abaixo da contagem de problemas de alta gravidade para abrir uma versão da guia Issues com os filtros já aplicados. Depois, é só classificar a coluna de projetos.

Depois de resolver os problemas de alta gravidade, passe para os de gravidade média!

Painel de software com resumos de problemas de segurança e licenciamento, contagem por gravidade e gráficos de problemas ao longo do tempo

Identifique vulnerabilidades perigosas e evite violações de dados

Quando surgir a próxima vulnerabilidade do event-stream ou de execução remota de código, cada minuto sem uma correção é crítico. No entanto, reunir uma lista de todos os projetos afetados pode dar bastante trabalho.

Use o campo Search issues na guia Issues para pesquisar um CVE específico (CVE-2018-11776), um CWE (CWE-20) ou um tipo de problema (como “struts”) e ver quantos projetos são afetados. Clique em view issues ungrouped para ver os problemas separados por projeto e identificar quais equipes devem ser contatadas.

Painel de relatórios de software que exibe uma lista de problemas em projetos, com identificadores CVE, projetos afetados e status de exploração.

Os clientes já usaram essa técnica com sucesso para priorizar o trabalho, concentrando-se em uma vulnerabilidade específica. Mas descobrimos que eles não a usam apenas para lidar com violações urgentes: também costumam se concentrar dessa forma em vulnerabilidades específicas como parte da rotina de trabalho.

Por exemplo, você pode pedir à sua equipe que se concentre em corrigir todas as vulnerabilidades de injeção de código arbitrária da organização. Depois que todas forem corrigidas, a equipe pode comemorar e escolher outra vulnerabilidade para resolver.

Corrija vulnerabilidades dentro do prazo

No mundo ideal, sua organização nunca teria vulnerabilidades abertas por mais de 30 dias. Mas sabemos que nem sempre é assim: as vulnerabilidades podem se acumular rapidamente e, quando você percebe, algumas estão abertas há 90, 180 ou 365 dias!

Na guia Summary, o gráfico “Exposure window” mostra rapidamente há quanto tempo as vulnerabilidades da sua organização estão abertas.

Gráfico da janela de exposição mostrando problemas e projetos de novembro a fevereiro, com problemas com mais de 91 dias representando a maior parte do total.

Acesse a guia Issues, clique em ungrouped issues e confira as datas em que as vulnerabilidades da sua organização foram introduzidas. Você também pode classificar essa coluna em ordem crescente para ver quais problemas do seu portfólio são os mais antigos. Com mais alguns filtros — como o status Open, as opções corrigíveis Upgrade e Patch e o tipo de problema Vulnerability —, você identifica as vulnerabilidades corrigíveis que estão abertas há mais tempo na sua organização e orienta suas equipes de desenvolvimento a resolver primeiro os problemas mais antigos.

Painel de software mostrando uma página de relatórios com uma aba de problemas que lista vulnerabilidades de projetos, identificadores CVE, projetos afetados e status de explorabilidade.

À medida que as equipes resolvem esses problemas, você também começará a notar mudanças no gráfico Exposure window!

Priorize primeiro os projetos mais importantes

Se quiser se concentrar em um conjunto específico de projetos que compõe uma aplicação crítica para os negócios da sua equipe, selecione os projetos correspondentes no menu suspenso Projects e combine-os com as opções da lista Filters. Agora, você pode navegar pelas diferentes guias que compõem toda a área de relatórios. Assim, fica fácil priorizar vulnerabilidades específicas ou analisar a integridade das dependências (por exemplo, consultar pacotes obsoletos) e a análise de licenças desse subconjunto de projetos.

Painel de integridade das dependências de software que mostra problemas de segurança e licenciamento por gravidade, com gráficos resumidos sobre problemas ao longo do tempo e período de exposição.

Além dos filtros

Esta é apenas uma pequena amostra dos relatórios que você pode criar diretamente na nossa plataforma. Você pode exportar as informações da guia Issues como PDF para compartilhar diretamente com colegas ou exportar os dados de todas as guias de relatórios como CSV ou pela API. Assim, você pode complementar e integrar os dados às suas próprias ferramentas de relatórios e criar análises ainda mais complexas.

Primeiros passos

Os relatórios estão disponíveis nos planos Snyk Standard, Pro e Enterprise. É fácil começar. Queremos conhecer suas dicas e sugestões!

Aproveite os filtros e mantenha-se seguro!

Comece a participar de desafios de Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.