Aprimorando a segurança do código à nuvem com o Common Configuration Scoring System
14 de dezembro de 2023
0 minutos de leituraA classificação proprietária de severidade costuma sobrecarregar as equipes de AppSec. A cada novo fornecedor, você precisa avaliar seu framework personalizado de severidade e traduzir os riscos avaliados entre diferentes ferramentas. Para eliminar esse trabalho e oferecer aos nossos clientes uma avaliação clara da segurança das configurações ao longo do SDLC, a Snyk vai padronizar seu conjunto de regras de segurança do código à nuvem com base no Common Configuration Scoring System (CCSS).
Com esta atualização da equipe de pesquisa de segurança da Snyk, seguimos em nossa missão de capacitar desenvolvedores e equipes de segurança com uma maneira melhor de avaliar, priorizar e fazer a triagem de problemas de segurança, promovendo um ciclo de desenvolvimento mais seguro e eficiente.
As regras e os níveis de severidade usados pela versão mais recente do Snyk Infrastructure as Code (IaC), o IaC+, serão avaliados de acordo com o CCSS. Com isso, a Snyk poderá oferecer aos clientes uma pontuação de risco mais precisa para suas configurações de infraestrutura como código e de nuvem, com base na severidade técnica (CCSS), em inteligência de ameaças e no contexto da aplicação e do negócio.
O que significa severidade?
Frameworks padrão do setor, como o Common Vulnerability Scoring System (CVSS) e o Common Configuration Scoring System (CCSS), oferecem metodologias valiosas para pontuar vulnerabilidades e estabelecem uma linguagem comum para todos. Assim, os fornecedores não precisam inventar seus próprios frameworks, e os consumidores podem comparar diferentes soluções diretamente, sem o trabalho de tradução.
Em resumo, esses frameworks definem um conjunto de métricas e fórmulas que convertem os valores dessas métricas em uma pontuação de 0 a 10 e em uma severidade classificada como baixa, média, alta ou crítica.

O que é o Common Configuration Scoring System?
O Common Configuration Scoring System (CCSS) foi criado pelo National Institute of Standards and Technology (NIST). Derivado do CVSS, ele foi adaptado para tratar de problemas de configuração de segurança de software. Como as configurações incorretas de IaC são, essencialmente, problemas de configuração de segurança, podemos aplicar o CCSS a elas.
A padronização com o CCSS resolve vários dos problemas mencionados anteriormente. O sistema usa terminologia, métricas e fórmulas conhecidas, baseadas no CVSS, para atribuir vetores às configurações incorretas de IaC. Com eles, podemos determinar a pontuação e a severidade de cada problema.
Assim, a Snyk pode substituir o processo anterior de atribuição de severidade a configurações incorretas de IaC. A adoção do padrão CCSS também torna a Snyk mais transparente: exibimos o vetor, a pontuação e a severidade sem exigir uma longa curva de aprendizado, assim como já fazemos com as vulnerabilidades CVSS.


O vetor CCSS do problema acima é `AV:L/AC:H/Au:M/C:P/I:C/A:N/PL:U/EM:A`. Ele resulta em uma pontuação base de `8.3` e severidade `Alta`. As seis primeiras métricas aparecem no gráfico acima, mas as duas últimas, `PL` e `EM` — ou `Privilege Level` e `Exploitation Method`, respectivamente — não. Isso acontece principalmente porque essas duas métricas não afetam a pontuação base, embora tenham um papel importante.
`Privilege Level` pode ser `User`, `Application`, `Root` ou `Not Defined` e indica o nível de acesso não autorizado que um invasor poderia obter. Para o vetor e a pontuação base, `PL` fornece informações adicionais aos consumidores e é usado no cálculo de certas métricas ambientais.
`Exploitation Method` é um pouco mais interessante, pois os valores de muitas métricas base dependem do valor da métrica `EM`. O valor de `EM` pode ser `Active` ou `Passive`. Configurações incorretas `Active` expõem uma vulnerabilidade que pode ser explorada por um invasor, como permitir que buckets do AWS S3 sejam acessíveis publicamente para leitura ou expor um banco de dados com a senha padrão do usuário root. Configurações incorretas `Passive` são aquelas que impedem ações autorizadas ou dificultam o trabalho de quem defende o sistema. Alguns exemplos são o registro de logs de API desativado ou backups de banco de dados que não são mantidos por tempo suficiente. Em geral, configurações incorretas `Passive` são erros ou violações de políticas que podem ser corrigidos rapidamente. Já as configurações `Active` podem ser mais complexas e exigir mais planejamento e análise.
Como implementamos o CCSS na Snyk?
A Snyk tem um amplo conjunto de regras de segurança para verificar configurações de IaC e de nuvem, com severidades atribuídas pelo processo anterior. Adicionar vetores CCSS manualmente, calcular pontuações e definir novas severidades seria uma tarefa trabalhosa. Criar scripts ajudaria, mas não permitiria tomar decisões. Felizmente, existe uma maneira melhor!
Ao integrar IA ao processo de implementação, simplificamos a adaptação do nosso conjunto de regras atual aos padrões do CCSS. O uso de IA, guiado por prompts e enriquecido por nossa experiência exclusiva, garante que a severidade de cada configuração incorreta seja determinada com consistência e precisão. Esse avanço não só torna nossas avaliações de segurança mais transparentes e confiáveis para os usuários, como também reforça o compromisso da Snyk com práticas de segurança voltadas para desenvolvedores, referência no setor.
Com nossa experiência anterior no uso de IA, começamos a condensar a especificação do CCSS em um prompt, junto com diretrizes adicionais baseadas em nossa investigação. Depois de analisar os resultados, a distribuição de severidades passou de:

Para:

Os gráficos acima mostram que as classificações de severidade anteriores da Snyk eram, muitas vezes, bem mais conservadoras do que as do CCSS.
Padronizar nosso sistema de severidade com base no CCSS não só nos dá um processo reproduzível para determinar a severidade das regras, como também preserva dados contextuais valiosos para análises aprofundadas, como a pontuação de risco da Snyk. Além disso, a análise da distribuição das pontuações base em nosso conjunto de dados revela um padrão de curva em sino. Isso corresponde à distribuição estatística esperada para pontuações de 0 a 10 e reafirma a confiabilidade do método CCSS para gerar avaliações de severidade equilibradas e previsíveis com o apoio da IA.

O que vem por aí para o Snyk IaC?
Fique de olho nas atualizações de pesquisa de segurança e no lançamento das classificações de severidade CCSS em updates.snyk.io!
Se quiser saber mais sobre o Common Vulnerability Scoring System (CVSS), criado há quase duas décadas, já falamos sobre ele muitas, muitas vezes.
Se quiser saber mais sobre como usamos a IA como ferramenta de desenvolvimento para ampliar nosso processo de pesquisa de segurança, escrevemos sobre isso aqui — incluindo algumas boas práticas.



