Aula 02 – Ameaças, Vulnerabilidades e Ataques 🕵️
Para defender um sistema, você precisa entender como ele é atacado. Nesta aula vamos mapear o vocabulário e os vetores de ataque mais comuns — a base de qualquer análise de risco.
🧩 Ameaça x Vulnerabilidade x Risco
Esses três termos são frequentemente confundidos, mas têm significados bem distintos:
| Termo | Definição | Exemplo |
|---|---|---|
| Ameaça | Algo com potencial de causar dano | Um invasor, um vírus, um incêndio |
| Vulnerabilidade | Uma fraqueza que pode ser explorada | Senha fraca, software desatualizado |
| Risco | A probabilidade de uma ameaça explorar uma vulnerabilidade | Chance real de um invasor quebrar uma senha fraca |
Fórmula Mental
Risco = Ameaça × Vulnerabilidade × Impacto. Reduzir qualquer um dos três reduz o risco total.
🎭 Engenharia Social
A engenharia social explora a psicologia humana, não falhas técnicas. É frequentemente o elo mais fraco de qualquer sistema.
- Phishing: e-mails falsos que imitam bancos, empresas ou colegas para roubar credenciais.
- Spear Phishing: phishing direcionado a uma pessoa específica, com informações personalizadas.
- Pretexting: criar uma história falsa (ex: "sou do suporte técnico") para obter informações.
- Baiting: deixar um pendrive infectado "esquecido" para que alguém o conecte por curiosidade.
graph TD
A["Atacante pesquisa a vítima"] --> B["Cria um pretexto convincente"]
B --> C["Contata a vítima (e-mail, telefone, mensagem)"]
C --> D{"Vítima cai no golpe?"}
D -- Sim --> E["Credenciais ou acesso comprometidos"]
D -- Não --> F["Ataque falha, mas pode ser reportado"] 🕳️ Vetores de Ataque Técnicos Mais Comuns
- Força bruta: tentar todas as combinações possíveis de senha até acertar.
- Injeção: inserir código malicioso em campos de entrada (veremos SQL Injection na Aula 12).
- Man-in-the-Middle (MITM): interceptar comunicação entre duas partes sem que elas percebam.
- Ataques de negação de serviço (DoS/DDoS): sobrecarregar um sistema até torná-lo indisponível.
💻 Verificando Exposição Básica
$ # Verificando se uma senha ja apareceu em vazamentos conhecidos (Have I Been Pwned API) $ curl -s "https://api.pwnedpasswords.com/range/5BAA6" | head -3 $ $ # Verificando cabecalhos de seguranca de um site $ curl -sI https://example.com | grep -i "strict-transport\|x-frame\|content-security"
Dica
O serviço Have I Been Pwned usa k-anonimato: você envia só os 5 primeiros caracteres do hash SHA-1 da senha, nunca a senha em si.
📝 Exercícios de Fixação
- Básico: Explique com suas palavras a diferença entre ameaça, vulnerabilidade e risco, usando um exemplo do seu dia a dia.
- Básico: Cite 3 sinais que ajudam a identificar um e-mail de phishing.
- Intermediário: Por que engenharia social costuma ser mais eficaz que ataques puramente técnicos?
- Intermediário: O que diferencia um ataque DoS de um DDoS?
- Desafio: Pesquise um caso real de vazamento de dados causado por engenharia social e resuma o vetor de ataque usado.
🚀 Mini-Projeto: Caçador de Phishing
Objetivo: Analisar um e-mail suspeito (real ou simulado) e listar os indicadores de phishing encontrados.
- Encontre (ou peça para um colega simular) um e-mail suspeito.
- Verifique: o domínio do remetente bate com a empresa? Há erros de português? O link do botão aponta para onde parece apontar (passe o mouse sem clicar)?
- Documente pelo menos 3 indicadores encontrados e explique por que cada um é suspeito.