Em cibersegurança, uma vulnerabilidade é uma fraqueza num sistema, rede, aplicação, procedimento ou controlo de segurança que pode ser explorada por uma ameaça de forma a obter acesso não autorizado.
As vulnerabilidades são as portas entreabertas que os atacantes procuram de forma a ser possível aceder ao sistema.
Descrição das Principais Vulnerabilidades
Vulnerabilidades de Software
São as falhas mais comuns. Ocorrem em aplicações, sistemas operativos, navegadores e qualquer tipo de software devido a erros de programação, design ou lógica.
- Causas: Pressão de tempo para lançamento (time-to-market), complexidade de código, falta de revisões de código (code review) e testes inadequados (como testes de penetração).
- Exemplos Notórios:
- Buffer Overflow: Ocorre quando um programa tenta escrever mais dados num bloco de memória (buffer) do que aquele que foi alocado. Isso pode permitir que um atacante execute código arbitrário.
- Injeção de SQL (SQLi): Uma vulnerabilidade em aplicações web que interagem com bases de dados. O atacante “injeta” um comando SQL malicioso num campo de entrada (como um formulário de login), podendo roubar, modificar ou apagar dados da base de dados.
- Cross-Site Scripting (XSS): Permite que um atacante injete scripts maliciosos (normalmente JavaScript) em páginas web visualizadas por outros utilizadores. Estes scripts podem roubar cookies de sessão, redirecionar a vítima para sites falsos ou deface a página.
- Falta de Validação de Input: Quando uma aplicação não verifica ou sanitiza corretamente os dados fornecidos pelo utilizador, abrindo caminho para várias explorações, incluindo as mencionadas acima.
Vulnerabilidades de Configuração
Estas vulnerabilidades não são causadas por um “bug” no código, mas sim por uma configuração incorreta ou insegura de sistemas, dispositivos de rede ou software.
- Causas: Desconhecimento, negligência, uso de configurações por defeito ou políticas de segurança fracas.
- Exemplos Comuns:
- Credenciais por Defeito: Manter as passwords de administrador que vêm predefinidas nos equipamentos (ex.: routers, câmaras IP, impressoras).
- Permissões Excessivas: Atribuir a um utilizador ou a uma aplicação mais privilégios do que aqueles que são necessários para a sua função (violando o princípio do menor privilégio).
- Portos de Rede Desnecessários Abertos: Ter portos de rede (ex.: Telnet – porta 23) abertos e acessíveis publicamente sem qualquer necessidade, servindo como ponto de entrada.
- Serviços Desnecessários Ativos: Executar serviços no sistema operativo que não são usados, mas que podem conter falhas exploráveis.
Vulnerabilidades Humanas (o Elo Mais Fraco)
Muitos dos ataques bem-sucedidos exploram o fator humano, através de engenharia social.
- Causas: Falta de consciencialização, curiosidade, pressão, excesso de confiança ou simples distração.
- Exemplos:
- Phishing: E-mails, mensagens ou chamadas fraudulentas que se fazem passar por entidades legítimas para enganar o utilizador e levá-lo a revelar informações sensíveis (credenciais, dados bancários) ou a clicar num link malicioso.
- Pretexting: Criar um cenário fictício (um pretexto) para ganhar a confiança da vítima e levar a que esta partilhe informações ou execute ações.
- Uso de Dispositivos USB Desconhecidos: Ligar um pen drive encontrado no chão ou recebido de uma fonte não confiável, que pode conter malware.
Vulnerabilidades de Hardware
Falhas físicas ou de design em componentes de hardware.
- Causas: Erros de fabrico, design flawed ou características não documentadas.
- Exemplos:
- Meltdown e Spectre (2018): Vulnerabilidades críticas no design de processadores modernos (CPU) que permitiam a programas maliciosos roubar dados que estavam a ser processados noutros programas. Exploravam a execução especulativa.
- Firmware: O software embebido no hardware (ex.: BIOS, UEFI) também pode conter vulnerabilidades, que são particularmente perigosas porque o malware pode persistir mesmo após uma reinstalação do sistema operativo.
Vulnerabilidades de Rede
Falhas nos protocolos de comunicação, dispositivos de rede ou na sua arquitetura.
- Causas: Protocolos antigos sem segurança incorporada, configuração fraca ou equipamentos desatualizados.
- Exemplos:
- Homem-no-Meio (Man-in-the-Middle – MitM): Um atacante posiciona-se secretamente entre duas partes que comunicam (ex.: um utilizador e um site) para intercetar, escutar ou modificar a comunicação.
- Negação de Serviço (DoS/DDoS): Exploram a forma como os recursos de rede são alocados para sobrecarregar um sistema, servidor ou rede com um volume tráfego absurdamente alto, tornando-o inacessível para utilizadores legítimos.
Vulnerabilidades de Criptografia
Falhas na implementação ou uso de algoritmos criptográficos que tornam a cifra fraca ou quebrável.
- Causas: Uso de algoritmos obsoletos, chaves de encriptação demasiado curtas ou geração inadequada de números aleatórios.
- Exemplos:
- Uso de Protocolos Antigos: Manter ativos protocolos como SSL 2.0/3.0 ou TLS 1.0, que têm vulnerabilidades conhecidas (ex.: POODLE).
- Chaves de Encriptação Fracas: Utilizar passwords simples para proteger chaves criptográficas.
O Ciclo de Vida de uma Vulnerabilidade
- Descoberta: Um investigador de segurança, um hacker ético ou malicioso descobre a falha.
- Divulgação: A vulnerabilidade é reportada ao vendor (fabricante do software/hardware) de forma responsável.
- Patch/Correção: O vendor desenvolve e lança uma atualização (patch) para corrigir a falha.
- Aplicação: Os administradores de sistemas e utilizadores finais aplicam o patch nos seus sistemas.
- Exploração: Se o patch não for aplicado a tempo, os cibercriminosos exploram a “janela de vulnerabilidade” entre a divulgação do patch e a sua aplicação generalizada.
Principais vulnerabilidades técnicas e digitais
| Categoria / Termo | Descrição resumida |
|---|---|
| Malware | Software malicioso que causa danos ou permite acesso não autorizado. |
| Ransomware | Malware que encripta ficheiros ou dispositivos, exigindo resgate online. |
| Spyware | Monitora atividades e rouba informações sensíveis (ex.: passwords, dados bancários). |
| Adware | Exibe anúncios e pode recolher informações do utilizador. |
| Trojan (Cavalo de Troia) | Programa disfarçado que executa funções maliciosas. |
| Virus de computador | Código malicioso anexado a outros programas; requer interação para propagação. |
| Emotet / GandCrab / Ryuk / TrickBot | Exemplos de malware avançado, incluindo trojans bancários e ransomware. |
| Keylogger | Regista secretamente teclas e ações do utilizador. |
| Cryptojacking | Malware que utiliza recursos do dispositivo para mineração de criptomoedas. |
| Malvertising | Publicidade online que distribui malware sem interação do utilizador. |
| Backdoor | Método que permite contornar a segurança e obter acesso privilegiado. |
| Phishing / Pharming | Engano que induz o utilizador a fornecer dados sensíveis ou ser redirecionado para sites falsos. |
| Spoofing | Fingir identidade ou sistema para ganhar confiança ou acesso não autorizado. |
| DDoS (Distributed Denial of Service) | Sobrecarga de sistemas com tráfego falso para indisponibilizar serviços. |
| SQL Injection | Exploração de vulnerabilidades em aplicações web para acesso não autorizado a bases de dados. |
| Exploits | Aproveitamento de falhas em software ou sistemas operativos para comprometer a segurança. |
| Spam / Robocalls / Scam calls | Comunicação em massa indesejada, muitas vezes usada para fraudes ou roubo de dados. |
| Hacking / Engenharia social | Ataques que exploram comportamento humano ou técnicas de intrusão. |
| Roubo de identidade (Identity theft) | Uso de dados pessoais de terceiros para fraude ou ganhos financeiros. |
Ferramentas de mitigação / proteção
- Antivirus / Anti-malware – Proteção básica contra malware conhecido.
- EDR (Endpoint Detection & Response) – Monitorização e resposta avançada em endpoints corporativos.
- VPN – Proteção de tráfego e anonimato na rede.
- Password managers – Gestão segura de credenciais com encriptação.
- Atualizações regulares e patches – Mitigação de exploits conhecidos.
