Uma vulnerabilidade, na tecnologia da informação (TI), é uma falha no código ou design que cria um potencial ponto de comprometimento da segurança para um endpoint ou rede. As vulnerabilidades criam possíveis vetores de ataque, através dos quais um intruso pode executar código ou acessar a memória.  de um sistema alvo; os meios pelos quais as vulnerabilidades são exploradas são variados e incluem injeção de código e buffer overruns; eles podem ser conduzidos através de scripts de hacking, aplicativos e codificação de mão livre. Um exploit de dia zero, por exemplo, ocorre assim que uma vulnerabilidade se torna geralmente conhecida.
A questão de quando tornar pública a divulgação de uma vulnerabilidade continua a ser uma questão controversa. Alguns especialistas em segurança defendem a divulgação total e imediata, incluindo a informação específica que poderia ser usada para explorar a vulnerabilidade. Os defensores da divulgação imediata sustentam que ela leva a mais correções de vulnerabilidades e software mais seguro. Aqueles contra a divulgação de vulnerabilidades argumentam que as informações sobre as vulnerabilidades não devem ser publicadas, pois as informações podem ser usadas por um intruso. Para mitigar o risco, muitos especialistas acreditam que informações limitadas devem ser disponibilizadas para um grupo selecionado após algum tempo especificado desde a detecção.
Bambos chapéus pretos e brancos procuram regularmente por vulnerabilidades e testam exploits. Algumas empresas oferecem bugs para encorajar os hackers brancos a procurarem por vulnerabilidades. Tipicamente, os valores de pagamento são proporcionais ao tamanho da organização, a dificuldade em hackear o sistema e quanto impacto um bug pode ter nos usuários.
Vulnerability scanning and assessments
O planejamento de gerenciamento de vulnerabilidades é uma abordagem abrangente para o desenvolvimento de um sistema de práticas e processos projetados para identificar, analisar e endereçar falhas em hardware ou software que poderiam servir como vetores de ataque. Os processos de gerenciamento de vulnerabilidades incluem:
Verificação de vulnerabilidades - Este processo deve incluir varredura regular da rede, registro de firewall, teste de penetração ou uso de uma ferramenta automatizada como um scanner de vulnerabilidades. Um varredura de vulnerabilidade é um programa que executa a fase de diagnóstico de uma análise de vulnerabilidade, também conhecida como avaliação de vulnerabilidades. Isso geralmente inclui um componente de teste de caneta para identificar vulnerabilidades no pessoal, procedimentos ou processos de uma organização que podem não ser detectáveis com varreduras de rede ou de sistema.
Identificando vulnerabilidades - Isso envolve analisar varreduras de rede e resultados de testes de caneta, registros de firewall ou resultados de varreduras de vulnerabilidades para encontrar anomalias que sugiram um ataque de malware ou outro evento malicioso que tenha tirado vantagem de uma vulnerabilidade de segurança, ou que possivelmente possa fazê-lo.
Verificando vulnerabilidades - Este processo inclui verificar se as vulnerabilidades identificadas podem realmente ser exploradas em servidores, aplicativos, redes ou outros sistemas. Isto também inclui classificar a gravidade de uma vulnerabilidade e o nível de risco que ela apresenta para a organização.
Mitigar vulnerabilidades - Este é o processo de descobrir como evitar que as vulnerabilidades sejam exploradas antes que um patch esteja disponível, ou no caso de não haver um patch. Pode envolver retirar a parte afetada do sistema (se não for crítica), ou várias outras alternativas de trabalho.
Patch vulnerabilities - Este é o processo de obter patches -- geralmente dos fornecedores do software ou hardware afetado -- e aplicá-los a todas as áreas afetadas de forma oportuna. Este é às vezes um processo automatizado, feito com ferramentas de gerenciamento de patches. Este passo também inclui testes de patches.
Fabricuras de gerenciamento de vulnerabilidades
O Common Vulnerability Scoring System (CVSS) é uma estrutura para classificar a gravidade das vulnerabilidades de segurança em software. Operado pelo Forum of Incident Response and Security Teams (FIRST), o CVSS usa um algoritmo para determinar três escores de classificação de severidade: Base, Temporal e Ambiental. As pontuações são numéricas; elas variam de 0.0 a 10.0, sendo 10.0 a mais severa.
O National Vulnerability Database (NVD) é um repositório governamental de informações de vulnerabilidade baseadas em padrões. O NVD é um produto da Divisão de Segurança Informática do Instituto Nacional de Padrões e Tecnologia (NIST) e é usado pelo governo dos EUA para gerenciamento e conformidade de segurança, bem como gerenciamento automático de vulnerabilidades. O NVD é patrocinado pelo Departamento de Segurança Nacional (DHS), NCCIC e US-CERT.
.