Análise de vulnerabilidades
De acordo com a ISO 27000, a portaria de Sistemas de Gestão de Segurança da Informação, as vulnerabilidades são “fraquezas de um ativo que poderia ser potencialmente explorado por uma ou mais ameaças”. Isto é, vulnerabilidade é uma falha que pode ser explorada por um individuo mal intencionado. É o teto de vidro que tem como vulnerabilidade uma chuva de granizo, mas enquanto o granizo não cai, este teto consegue cumprir seu papel contra a chuva.
A análise de vulnerabilidade determina as estratégias de exploração e, no caso do desenvolvedor, a contra exploração de falhas que serão adotadas e se serão bem-sucedidas. É nesta fase em que o atacante executa os scanners de vulnerabilidade que, utilizam de bancos de dados de vulnerabilidade e uma série de verificações ativas para obter prováveis vulnerabilidades que existem no sistema.
Apesar desses scanners serem eficazes, eles não substituem uma analise manual. Portanto, devem ser realizadas análises manuais para encontrar possíveis falhas que passaram despercebido pelos scanners e, também, a fim de verificar os resultados obtidos por essas ferramentas.
A análise manual nesta fase tem o intuído de encontrar falhas como IDOR, RCE, LFI, XSS ou as demais, das quais já vimos anteriormente. Além disso, é necessário realizar o teste de POC (Prova de conceito), para identificar se as vulnerabilidades obtidas pelos scanners são reais, realizar as categorizações dessas vulnerabilidade e obter suas respectivas severidades.
Para a realização da categorização utiliza-se de catálogos e conversões estabelecidas ao longo do tempo por iniciativas colaborativas de organizações e fundações como a CVE (Common Vulnerabilities and Exposures), CWE (Common Weakness Enumeration) e OWASP (Open Web Application Security Project). Já para inferir a severidade, utiliza-se de um mecanismo denominado de CVSS (Common Vulnerability Scoring System).
CVE
O CVE é um banco de dados com iniciativa colaborativa de diversas organizações de tecnologia e segurança que registra vulnerabilidades e exposições relacionadas a segurança da informação, padronizando-os e tornando de fácil acesso e entendimento.
Em outras palavras, essa ferramenta age como se fosse um dicionário de vulnerabilidades, quando você busca por um CVE, está buscando por uma vulnerabilidade em especifico. Essa lista é publica, pode ser acessada e registrada por qualquer individuo com interesse em contribuir com a lista e, pesquisar sobre vulnerabilidades.
Cada CVE tem seu formato que inclui três chaves básicas de informação, a sigla CVE, o ano, que representa quando que o ID da CVE foi atribuído ou o ano em que a vulnerabilidade se tornou pública e o número da sua sequência de ID, resultando em entradas como “CVE-1999-0067”, “CVE-2014-12345”, “CVE-2016-7654321”, entre muitas outras.
Em algumas ocasiões, as entradas CVE podem estar denominadas como reservadas (Entrada foi reservada para o uso da CVE Numbering Authority ou do pesquisador*)*, disputas (Quando uma parte discorda sobre o problema, porém é oferecido referências publicas para informar quem busca esse CVE) ou rejeitadas (Uma entrada que não foi aceita e tem sua razão descriminada).
CWE
Common Weakness Enumeration é um sistema de categorias de vulnerabilidades de hardware e software. Ou seja, enquadra uma vulnerabilidade registrada em uma categoria a fim de padronizar e gerar um idioma comum para a discursões sobre segurança e vulnerabilidades.
Essa categoria tem por principal objetivo sanar as vulnerabilidades por meio da educação de arquitetos, designes, programadores de software e hardware. Ela ajuda os profissionais da área em:
- Descrever e discutir as fraquezas de software e hardware em um idioma comum.
- Verificar se há pontos fracos nos produtos de software e hardware existentes.
- Avaliar a cobertura de ferramentas direcionadas a essas fraquezas.
- Aproveitar um padrão de linha de base comum para esforços de identificação, mitigação e prevenção de fraquezas.
- Evitar vulnerabilidades de software e hardware antes da implantação.
Atualmente, o CWE é mantido pelo MITRE Corporation. Uma lista detalhada do CWE está atualmente disponível no site do MITRE; esta lista fornece uma definição detalhada para cada CWE individual.
OWASP
O Open Web Application Security Project, ou OWASP, é uma organização internacional sem fins lucrativos dedicada a segurança de aplicativos web. Um dos princípios fundamentais do OWASP é que todos os seus materiais estejam disponíveis gratuitamente e facilmente acessíveis em seu site, tornando possível para qualquer pessoa melhorar a segurança de seus próprios aplicativos web.
Duas ferramentas disponibilizadas são o OWASP ZAP - ferramenta utilizada para realização de scanner de vulnerabilidade - e o top 10 da OWASP que é um relatório atualizado regularmente que descreve questões de segurança para a segurança de aplicativos web, com foco nos 10 riscos mais críticos elaborado por especialistas.
CVSS
O Common Vulnerability Scoring System ( CVSS ) é um método usado para fornecer uma medida qualitativa de gravidade das vulnerabilidades. O CVSS consiste em três grupos métricos: Base, Temporal e Ambiental.
A base grupo representa as qualidades intrínsecas de uma vulnerabilidade que são constantes ao longo do tempo e nos ambientes do usuário, o grupo Temporal reflete a características de uma vulnerabilidade que muda ao longo do tempo e o meio ambiente grupo representa as características de uma vulnerabilidade exclusiva de um ambiente do usuário.
Quando as métricas de base recebem valores por um analista, a equação de base calcula uma pontuação que varia de 0,0 a 10,0. Todas as pontuações podem ser mapeadas para classificações qualitativas.
Nenhum | 0,0 |
Baixo | 0,1 - 3,9 |
Médio | 4.0 - 6.9 |
Alto | 7.0 - 8.9 |
Crítico | 7.0 - 8.9 |
Os benefícios do CVSS incluem o fornecimento de um fornecedor e plataforma padronizados metodologia agnóstica de pontuação de vulnerabilidades. É uma estrutura aberta, fornecendo transparência às características e metodologia individuais usadas para derivar Ponto.
O CVSS pertence e é gerenciado pela FIRST.Org, Inc. ( FIRST ), uma organização sem fins lucrativos, cuja missão é ajudar as equipes de resposta a incidentes de segurança de computadores em todo o mundo. Essa mesma organização disponibiliza um calculadora para realizar o calculo do CVSS no endereço: https://www.first.org/cvss/calculator/3.0.
Remediação
Do ponto de vista do desenvolvedor é necessário saber identificar as categorias e severidades, conhecer algumas de suas especificidades e entender onde buscar informações sobre vulnerabilidades e falhas é essencial, mas é importante também se preocupar em como se manter protegido e estar sempre na busca pela segurança.
Muitas ações precisam ser tomadas para criar ambientes seguros para os dados e informações a fim de controlar e diminuir os riscos e exposições. Mais do que atuar no controle das falhas, é importante realizar ações preventivas e fazer gestão de vulnerabilidades a fim de identificar, classificar, analisar e, então remediar cada falha encontrada.
Referências
https://nvd.nist.gov/vuln-metrics/cvss
https://www.first.org/cvss/specification-document
https://blog.ecoit.com.br/o-que-e-cve/
https://www.cve.org/
https://cwe.mitre.org/about/faq.html
https://nvd.nist.gov/vuln/categories
https://owasp.org/
https://www.cloudflare.com/pt-br/learning/security/threats/owasp-top-10/