O que é uma vulnerabilidade? Definição + Exemplos
Uma vulnerabilidade é uma fraqueza que pode ser explorada por cibercriminosos para obter acesso não autorizado a um sistema de computador. Depois de explorar uma vulnerabilidade, um ataque cibernético pode executar código malicioso, instalar malware e até roubar dados confidenciais.
As vulnerabilidades podem ser exploradas por uma variedade de métodos, incluindo injeção de SQL, estouros de buffer, cross-site scripting (XSS) e kits de exploração de código aberto que procuram vulnerabilidades conhecidas e pontos fracos de segurança em aplicativos da web.
Muitas vulnerabilidades afetam o software popular, colocando os muitos clientes que usam o software em um risco maior de violação de dados ou ataque à cadeia de suprimentos. Essas explorações de dia zero são registradas pelo MITRE como uma Exposição de Vulnerabilidade Comum (CVE).
Exemplos de vulnerabilidade
Existem vários tipos diferentes de vulnerabilidades, determinadas pela infraestrutura em que são encontradas. As vulnerabilidades podem ser classificadas em seis grandes categorias:
1. Hardware
Qualquer suscetibilidade à umidade, poeira, sujeira, desastre natural, criptografia ruim ou vulnerabilidade de firmware.
2. Software
Testes insuficientes, falta de trilha de auditoria, falhas de design, violações de segurança de memória (estouros de buffer, leituras excessivas, ponteiros pendentes), erros de validação de entrada (injeção de código, script entre sites (XSS), travessia de diretório, injeção de e-mail, ataques de string de formato, injeção de cabeçalho HTTP, divisão de resposta HTTP, injeção de SQL), bugs de confusão de privilégios (clickjacking, falsificação de solicitação entre sites, ataque de rejeição de FTP), condições de corrida (corridas de links simbólicos, tempo de verificação para tempo de uso bugs), ataques de canal lateral, ataques de tempo e falhas na interface do usuário (culpar a vítima, condições de corrida, fadiga de aviso).
Saiba mais sobre a vulnerabilidade do MOVEit Transfer >
3. Rede
Linhas de comunicação desprotegidas, ataques man-in-the-middle, arquitetura de rede insegura, falta de autenticação, autenticação padrão ou outra segurança de rede ruim.
4. Pessoal
Política de recrutamento deficiente, falta de conscientização e treinamento de segurança, baixa adesão ao treinamento de segurança, gerenciamento de senhas deficiente ou download de malware por meio de anexos de e-mail.
5. Site físico
Área sujeita a desastres naturais, fonte de energia não confiável ou sem acesso por cartão-chave.
6. Organizacional
Controles internos adequados, falta de auditoria, plano de continuidade, segurança ou plano de resposta a incidentes.
Saiba mais sobre as principais configurações incorretas que causam violações de dados >
Quando as vulnerabilidades conhecidas devem ser divulgadas publicamente?
A divulgação pública de vulnerabilidades conhecidas continua sendo uma questão controversa. Existem duas opções:
1. Divulgação completa imediata
Alguns especialistas em segurança cibernética defendem a divulgação imediata, incluindo informações específicas sobre como explorar a vulnerabilidade. Os defensores da divulgação imediata acreditam que isso leva a um software seguro e a patches mais rápidos, melhorando a segurança do software, a segurança do aplicativo, a segurança do computador, a segurança do sistema operacional e a segurança da informação.
2. Limitado a nenhuma divulgação
Outros são contra a divulgação de vulnerabilidades porque acreditam que a vulnerabilidade será explorada por hackers. Os defensores da divulgação limitada acreditam que limitar as informações a grupos selecionados reduz o risco de exploração.
Como a maioria dos argumentos, existem argumentos válidos de ambos os lados.
Independentemente de qual lado você esteja, saiba que agora é comum que invasores amigáveis e criminosos cibernéticos procurem regularmente vulnerabilidades e testem explorações conhecidas.
Algumas empresas têm equipes de segurança internas cujo trabalho é testar a segurança de TI e outras medidas de segurança da organização como parte de seu processo geral de gerenciamento de risco de informações e avaliação de risco de segurança cibernética.
As melhores empresas da categoria oferecem recompensas por bugs para incentivar qualquer pessoa a encontrar e relatar vulnerabilidades a elas, em vez de explorá-las. Os programas de recompensas por bugs são ótimos e podem ajudar a minimizar o risco de sua organização ingressar em nossa lista das maiores violações de dados.
Normalmente, o valor do pagamento de um programa de recompensas por bugs será proporcional ao tamanho da organização, à dificuldade de explorar a vulnerabilidade e ao impacto da vulnerabilidade. Por exemplo, encontrar um vazamento de dados de informações de identificação pessoal (PII) de uma empresa da Fortune 500 com um programa de recompensas por bugs seria de maior valor do que uma violação de dados de sua loja de esquina local.
Qual é a diferença entre vulnerabilidade e risco?
Os riscos de segurança cibernética são comumente classificados como vulnerabilidades. No entanto, vulnerabilidade e risco não são a mesma coisa, o que pode levar à confusão.
Pense no risco como a probabilidade e o impacto de uma vulnerabilidade sendo explorada.
Se o impacto e a probabilidade de uma vulnerabilidade ser explorada forem baixos, o risco é baixo. Inversamente, se o impacto e a probabilidade de uma vulnerabilidade ser explorada forem altos, haverá um risco alto.
Geralmente, o impacto de um ataque cibernético pode estar vinculado à tríade da CIA ou à confidencialidade, integridade ou disponibilidade do recurso. Seguindo essa linha de raciocínio, há casos em que vulnerabilidades comuns não representam risco. Por exemplo, quando o sistema de informação com a vulnerabilidade não tem valor para sua organização.
Quando uma vulnerabilidade se torna explorável?
>Uma vulnerabilidade com pelo menos um vetor de ataque conhecido e funcional é classificada como uma vulnerabilidade explorável. A janela de vulnerabilidade é o tempo desde o momento em que a vulnerabilidade foi introduzida até o momento em que ela é corrigida.
Se você tiver práticas de segurança fortes, muitas vulnerabilidades não poderão ser exploradas para sua organização.
Por exemplo, se você configurou corretamente a segurança do S3, a probabilidade de vazamento de dados será reduzida. Verifique suas permissões do S3 ou outra pessoa o fará.
Da mesma forma, você pode reduzir o risco de terceiros e o risco de terceiros com estratégias de gerenciamento de risco de terceiros e gerenciamento de risco de fornecedor.
O que é um exploit de dia zero?
Uma exploração de dia zero (ou dia zero) explora uma vulnerabilidade de dia zero. Uma vulnerabilidade de dia zero (ou 0 dia) é uma vulnerabilidade desconhecida ou não abordada por aqueles que desejam corrigir a vulnerabilidade.
Até que a vulnerabilidade seja corrigida, os invasores podem explorá-la para afetar adversamente um programa de computador, data warehouse, computador ou rede.
"Dia Zero" é o dia em que a parte interessada fica sabendo da vulnerabilidade, levando a um patch ou solução alternativa para evitar a exploração.
A principal coisa a entender é que quanto menos dias desde o Dia Zero, maior a probabilidade de que nenhum patch ou mitigação tenha sido desenvolvido e maior o risco de um ataque bem-sucedido.
O que causa vulnerabilidades?
Existem muitas causas de vulnerabilidades, incluindo:
- Complexidade - Sistemas complexos aumentam a probabilidade de uma falha, configuração incorreta ou acesso não intencional.
- Familiaridade - Código, software, sistemas operacionais e hardware comuns aumentam a probabilidade de um invasor encontrar ou ter informações sobre vulnerabilidades conhecidas.
- Conectividade - Quanto mais conectado estiver um dispositivo, maior a chance de uma vulnerabilidade.
- Gerenciamento de senhas ruim - Senhas fracas podem ser quebradas com força bruta, e a reutilização de senhas pode resultar em uma violação de dados se tornando muitas.
- Falhas do sistema operacional - Como qualquer software, os sistemas operacionais podem ter falhas. Os sistemas operacionais inseguros por padrão permitem que qualquer usuário obtenha acesso e potencialmente injete vírus e malware.
- Uso da Internet - A Internet está cheia de spyware e adware que podem ser instalados automaticamente nos computadores.
- Bugs de software - Os programadores podem acidentalmente ou deliberadamente deixar um bug explorável no software. Às vezes, os usuários finais não atualizam seu software, deixando-os sem patches e vulneráveis à exploração.
- Entrada do usuário não verificada - Se o seu site ou software assumir que todas as entradas são seguras, ele poderá executar comandos SQL não intencionais.
- Pessoas - A maior vulnerabilidade em qualquer organização é o humano no final do sistema. A engenharia social é a maior ameaça para a maioria das organizações. Essa categoria de ameaças cibernéticas pode ser abordada com um programa interno de conscientização sobre ameaças cibernéticas.
O que é Gerenciamento de Vulnerabilidades?
O gerenciamento de vulnerabilidades é uma prática cíclica de identificar, classificar, corrigir e mitigar vulnerabilidades de segurança. Os elementos essenciais do gerenciamento de vulnerabilidades incluem detecção de vulnerabilidades, avaliação de vulnerabilidades e correção.
Os métodos de detecção de vulnerabilidades incluem:
- Verificação de vulnerabilidades
- Teste de penetração
- Hacking do Google
Depois que uma vulnerabilidade é encontrada, ela passa pelo processo de avaliação de vulnerabilidade:
1. Identifique vulnerabilidades
Analisar varreduras de rede, resultados de testes de penetração, logs de firewall e resultados de varredura de vulnerabilidade para encontrar anomalias que sugerem que um ataque cibernético pode tirar proveito de uma vulnerabilidade.
2. Verifique as vulnerabilidades
Decida se a vulnerabilidade identificada pode ser explorada e classifique a gravidade da exploração para entender o nível de risco.
3. Mitigar vulnerabilidades
Decida sobre contramedidas e como medir sua eficácia se um patch não estiver disponível.
4. Corrija vulnerabilidades
A correção de vulnerabilidades requer a atualização do software ou hardware afetado sempre que possível. Devido ao fato de que os ataques cibernéticos estão em constante evolução, o gerenciamento de vulnerabilidades deve ser uma prática contínua e repetitiva para garantir que sua organização permaneça protegida.
O que é verificação de vulnerabilidade?
Um scanner de vulnerabilidades é um software projetado para avaliar computadores, redes ou aplicativos em busca de vulnerabilidades conhecidas. Eles podem identificar e detectar vulnerabilidades decorrentes de configuração incorreta e programação falha em uma rede e realizar verificações autenticadas e não autenticadas:
- Verificações autenticadas: permite que o verificador de vulnerabilidades acesse diretamente os ativos em rede usando protocolos administrativos remotos, como SSH (Secure Shell) ou RDP (Remote Desktop Protocol), e autentique usando as credenciais do sistema fornecidas. Isso dá acesso a dados de baixo nível, como serviços específicos e detalhes de configuração, fornecendo informações detalhadas e precisas sobre sistemas operacionais, software instalado, problemas de configuração e patches de segurança ausentes.
- Verificações não autenticadas: resultam em falsos positivos e informações não confiáveis sobre sistemas operacionais e software instalado. Esse método geralmente é usado por invasores cibernéticos e analistas de segurança para tentar determinar a postura de segurança de ativos externos e encontrar possíveis vazamentos de dados.
O que é teste de penetração?
O teste de penetração, também conhecido como teste de penetração ou hacking ético, é a prática de testar um ativo de tecnologia da informação para encontrar vulnerabilidades de segurança que um invasor possa explorar. O teste de penetração pode ser automatizado com software ou realizado manualmente.
De qualquer forma, o processo é coletar informações sobre o alvo, identificar possíveis vulnerabilidades e tentar explorá-las e relatar as descobertas.
O teste de penetração também pode ser usado para testar a política de segurança de uma organização, a adesão aos requisitos de conformidade, a conscientização de segurança dos funcionários e a capacidade de uma organização de identificar e responder a incidentes de segurança.
Saiba mais sobre testes de penetração
O que é o Google Hacking?
O hacking do Google é o uso de um mecanismo de pesquisa, como o Google ou o Bing da Microsoft, para localizar vulnerabilidades de segurança. O hacking do Google é obtido por meio do uso de operadores de pesquisa avançada em consultas que localizam informações difíceis de encontrar ou informações que estão sendo expostas acidentalmente por meio de configuração incorreta de serviços em nuvem.
Pesquisadores de segurança e invasores usam essas consultas direcionadas para localizar informações confidenciais que não devem ser expostas ao público.
Essas vulnerabilidades tendem a se enquadrar em dois tipos:
- Vulnerabilidades de software
- Configurações incorretas
Dito isso, a grande maioria dos invasores tende a procurar configurações incorretas comuns do usuário que eles já sabem como explorar e simplesmente verificam se há sistemas que tenham falhas de segurança conhecidas.
Para evitar a invasão do Google, você deve garantir que todos os serviços em nuvem estejam configurados corretamente. Uma vez que algo é exposto ao Google, é público, quer você goste ou não.
Sim, o Google limpa periodicamente seu cache, mas até lá, seus arquivos confidenciais estão sendo expostos ao público.
O que são bancos de dados de vulnerabilidade?
Um banco de dados de vulnerabilidades é uma plataforma que coleta, mantém e compartilha informações sobre vulnerabilidades descobertas. O MITRE executa um dos maiores, chamado CVE ou Common Vulnerabilities and Exposures, e atribui uma pontuação do Common Vulnerability Scoring System (CVSS) para refletir o risco potencial que uma vulnerabilidade pode apresentar à sua organização.
Essa lista central de CVEs serve como base para muitos scanners de vulnerabilidade.
O benefício dos bancos de dados públicos de vulnerabilidades é que eles permitem que as organizações desenvolvam, priorizem e executem patches e outras mitigações para corrigir vulnerabilidades críticas.
Dito isso, eles também podem fazer com que vulnerabilidades adicionais sejam criadas a partir dos patches lançados às pressas que corrigem a primeira vulnerabilidade, mas criam outra.
Veja o argumento para divulgação completa versus divulgação limitada acima.
As vulnerabilidades comuns listadas em bancos de dados de vulnerabilidades incluem:
- Falha de implantação inicial: a funcionalidade dos bancos de dados pode parecer boa, mas sem testes rigorosos, as falhas podem permitir que invasores se infiltrem. Controles de segurança ruins, senhas fracas ou configurações de segurança padrão podem fazer com que material confidencial se torne acessível ao público.
- Injeção de SQL: ataques de banco de dados são comumente registrados em bancos de dados de vulnerabilidade.
- Configuração incorreta: as empresas geralmente não conseguem configurar seus serviços em nuvem corretamente, deixando-os vulneráveis e muitas vezes acessíveis ao público.
- Auditoria inadequada: sem auditoria, é difícil saber se os dados foram alterados ou acessados. Os bancos de dados de vulnerabilidades promulgaram a importância do rastreamento de auditoria como um impedimento de ataques cibernéticos.