Já sabemos que, no mundo do desenvolvimento seguro, as dependências dos nossos softwares representam boa parte do nosso código e, portanto, há grande probabilidade de nossa aplicação herdar suas vulnerabilidades. Hoje em dia, é quase impossível verificar uma biblioteca que não exista alguma CVE atrelada a ela e, portanto é importante fazer a gestão dessas bibliotecas. Não é à toa que o uso de “Componente Desatualizado e Vulnerável” vem se tornando um dos maiores riscos para as aplicações, segundo o OWASP TOP 10.
O risco do uso de componentes vulneráveis vem se tornando cada vez mais comum, conforme o OWASP TOP 10.
Para enfrentar esse cenário, integramos ferramentas de SCA (Software Composition Analysis) em nossas esteiras para scannear nosso código e entender quais bibliotecas estão sendo usadas e quais suas vulnerabilidades. Mas qual é o real risco atrelado a essas vulnerabilidades? Neste blogpost, exploraremos o que é o EPSS, como ele funciona, sua importância e como ele pode te auxiliar na tomada de decisões quando utilizado em conjunto com sua ferramenta de SCA.
O que é EPSS?
O Exploit Prediction Scoring System (EPSS) é uma métrica, apresentada na Black Hat de 2019, que vem sendo utilizada pelas ferramentas de SCA do mercado. Esta métrica tem o objetivo de estimar a probabilidade de uma vulnerabilidade ser explorada em ataques reais nos próximos 30 dias. Diferente de outras métricas de avaliação de risco, o EPSS não foca apenas na severidade da vulnerabilidade, mas sim na chance de que ela seja realmente explorada por atacantes.
Desenvolvido pelo FIRST (Forum of Incident Response and Security Teams), o EPSS usa modelos estatísticos e machine learning para analisar dados e prever a probabilidade de exploração. O sistema fornece uma pontuação de 0 a 1 (ou 0% a 100%) para cada vulnerabilidade, indicando quão provável é que essa vulnerabilidade seja explorada em um futuro próximo.
Como o EPSS funciona?
O EPSS utiliza uma variedade de dados e técnicas para realizar suas previsões. Alguns dos fatores considerados incluem:
- Tempo de Existência da Vulnerabilidade
- Cálculo do CVSS
- CVE é listada em referências conhecidas (CISA KEV, Google Project Zero, Trend Micro’s Zero Day Initiative (ZDI), entre outros)
- Exploit publicamente disponível (Exploit-DB, GitHub, MetaSploit)
- Verificação de scanners e ferramentas de segurança ofensiva: Intrigue, sn1per, jaeles, nuclei
Outros fatores também contribuem para o cálculo do EPSS, caso queira verificar a lista completa dos dados coletados, recomendamos visitar o https://www.first.org/epss/model . Após a coleta desses dados, utilizam-se técnicas de estatística e machine learning para gerar uma pontuação gerada a cada 24 horas para cada vulnerabilidade, indicando sua probabilidade de exploração.
Por que o EPSS é importante?
No mundo do desenvolvimento de software seguro, os times de AppSec e desenvolvimento lidam com grande número de vulnerabilidades de bibliotecas diariamente. Segundo o projeto CVE.ICU, são aproximadamente 110 novas CVEs por dia, em média.
Referência: https://cve.icu/CVE2024.html#cve-per-day-graph
Corrigir todas essas CVEs de imediato é, muitas vezes, inviável, e é aqui que entra a importância do EPSS. Ele ajuda os times a focar seus esforços nas vulnerabilidades com maior probabilidade de serem exploradas.
Como implementar o EPSS na sua empresa
Para implementar o EPSS, as empresas devem:
- Integrar EPSS ao seu sistema de Gestão de Vulnerabilidades: Isso pode ser feito utilizando ferramentas de SCA que suportam o EPSS, como, por exemplo, o SCA do Conviso Plataform. Entretanto, se sua empresa não possui budget para ferramentas comerciais, considere utilizar ferramentas open-source como o Dependabot EPSS Action.
Definição do dependabot com EPSS na pipeline
Resultados do dependabot com EPSS na pipeline
- Priorizar vulnerabilidades baseadas no EPSS: Utilize a pontuação do EPSS para decidir quais vulnerabilidades necessitam de atenção imediata. O funil do Conviso Plataform é um dashboard que te oferece uma visão de priorização das vulnerabilidades, não só considerando o EPSS, mas também considerando a classificação do ativo. Levando em conta, fatores como, se o ativo está exposto na internet, seu impacto para o negócio, se possui dados PII e/ou PCI entre outros, trazendo a real visão de risco para seu negócio.
Visão do funil de vulnerabilidades do Conviso Plataform
- Treinar equipes para a leitura do EPSS: A equipe de segurança deve estar apta a entender e aplicar a metodologia EPSS eficazmente, sabendo quando e como priorizar as vulnerabilidades listadas. A tabela abaixo mostra um estudo de priorização de vulnerabilidades conforme a relação entre EPSS e CVSS.
Tabela demonstra a priorização de vulnerabilidades de acordo com a relação EPSS x CVSS
Conclusão
Em meio a tantas discussões sobre o real risco das vulnerabilidades identificadas pelas ferramentas de SCA, o EPSS oferece uma visão de como devemos priorizar as vulnerabilidades focando naquilo que realmente oferece uma ameaça para as empresas. Ao considerarmos métricas como o CVSS e EPSS em conjunto, juntamente com a correta classificação dos ativos, temos uma visão real do risco do nosso ambiente, o que nos leva a tomadas de decisões mais efetivas na gestão de vulnerabilidades, garantindo:
- Eficiência priorização: Reduz o tempo e os recursos gastos em vulnerabilidades com baixo risco de exploração.
- Melhor uso de recursos: Direciona a equipe de segurança para os problemas mais críticos e urgentes.
- Aumento da segurança proativa: Ajuda a identificar ameaças antes que elas sejam exploradas ativamente.
