O que mais cai
| Parte do tópico | Importância | O que a banca cobra |
|---|---|---|
| Malware: vírus, worms, trojans e outros | Alta | Diferença entre vírus, worm e cavalo de troia; rootkit, backdoor, bot, spyware e ransomware |
| Engenharia social e phishing | Alta | Phishing, spear phishing, whaling, vishing, smishing, pharming e técnicas presenciais |
| Spoofing | Média | Falsificação de IP, MAC, ARP, DNS e e-mail; SPF, DKIM e DMARC |
| Negação de serviço (DoS e DDoS) | Alta | Disponibilidade, SYN flood, Smurf, amplificação, Slowloris e defesas |
| Ataques a senhas | Média | Força bruta, dicionário, rainbow table, salt, credential stuffing e password spraying |
| Ataques a aplicações web (XSS, CSRF e injeção de SQL) | Alta | Tipos de XSS, diferença entre XSS e CSRF, injeção de SQL e consulta parametrizada |
| Ameaças técnicas relacionadas a redes e criptografia | Média | Sniffing, homem no meio, sequestro de sessão, replay, SSL stripping e ataque do aniversário |
| Questões mescladas de ameaças aos sistemas computacionais | Baixa | Identificar a ameaça a partir de um caso e a propriedade de segurança que ela atinge |
Do que trata o tópico
Este tópico trata das ameaças que atingem computadores, redes e sistemas: os programas maliciosos, os golpes que enganam pessoas, a falsificação de identidade na rede, os ataques que derrubam serviços, os ataques a senhas, os ataques a aplicações web e os ataques ao tráfego e à criptografia. Para cada ameaça, o guia explica como ela funciona, o que ela atinge e qual defesa a impede ou reduz o dano.
Base de referência
- Cartilha de Segurança para Internet, do CERT.br (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil), material público e gratuito.
- OWASP Top 10, lista pública da OWASP (Open Worldwide Application Security Project) com as categorias de risco mais graves em aplicações web.
- ISO/IEC 27002:2022, norma paga de controles de segurança da informação, explicada aqui só com palavras próprias.
- Padrões abertos da IETF: RFC 4987 (ataque SYN flood e defesas), RFC 2827 (filtragem de entrada contra IP falsificado), RFC 7208 (SPF), RFC 6376 (DKIM) e a especificação do DMARC da IETF.
Conteúdo
Malware: vírus, worms, trojans e outros
Um servidor de um órgão abre um anexo chamado "contracheque.pdf.exe" e, no dia seguinte, os arquivos da rede estão ilegíveis e há um pedido de pagamento na tela. Para reagir, a equipe precisa saber que tipo de programa causou o dano, porque cada tipo entra, se espalha e se esconde de um jeito. O nome geral desses programas é malware (de malicious software, software malicioso), isto é, todo programa feito para executar ações danosas sem o consentimento do usuário.
A classificação usa três perguntas: como o malware se propaga, se ele precisa de outro programa para existir e o que ele faz depois de instalado. A propagação separa o vírus do worm. A aparência separa o cavalo de troia dos demais. A função separa o spyware, o bot, o rootkit, o backdoor e o ransomware.
O vírus é o programa ou parte de programa que se propaga inserindo cópias de si mesmo em outros programas ou arquivos. Ele depende de um hospedeiro, ou seja, do arquivo infectado, e só age quando esse hospedeiro é executado ou aberto. Por isso o vírus precisa de uma ação do usuário ou do sistema para se ativar, como abrir o anexo, rodar o programa ou ligar o computador com a mídia infectada.
Os vírus têm subtipos que caem em prova:
- vírus de boot: infecta a área de inicialização do disco e age antes do sistema operacional;
- vírus de macro: vive dentro de documentos que aceitam macros, como planilhas e textos de escritório, e roda quando o documento é aberto com as macros ativadas;
- vírus de script: escrito em linguagem de script (como JavaScript ou VBScript) e recebido em página web ou e-mail;
- vírus polimórfico: muda a própria forma a cada infecção, em geral cifrando o corpo com chaves diferentes, para escapar da detecção por assinatura;
- vírus metamórfico: reescreve o próprio código a cada geração, e não só a camada cifrada;
- vírus furtivo (stealth): esconde as alterações que fez, por exemplo devolvendo ao antivírus a versão limpa do arquivo.
O worm (verme) é o programa que se propaga sozinho pela rede, enviando cópias de si mesmo de computador para computador. Ele não infecta outros arquivos e não precisa de hospedeiro: ele se propaga pela execução direta das próprias cópias ou pela exploração automática de vulnerabilidades. Como cada cópia procura novas vítimas, o worm consome muita banda e processamento, e uma rede inteira pode ficar lenta em poucas horas.
O cavalo de troia (trojan) é o programa que, além de executar a função que promete, executa outras funções maliciosas sem o conhecimento do usuário. O exemplo clássico é o protetor de tela, o jogo ou o "gerador de boletos" baixado de site suspeito. O cavalo de troia não se replica: ele depende de o usuário instalá-lo, e por isso anda junto com a engenharia social.
Os outros tipos se definem pela função:
- backdoor (porta dos fundos): permite que o invasor volte ao computador comprometido sem passar de novo pelo método da invasão;
- rootkit: conjunto de programas e técnicas que esconde e mantém a presença do invasor ou de outro malware, apagando registros e ocultando processos e arquivos;
- bot: tem mecanismo de comunicação com o invasor, que passa a controlar o computador remotamente; o computador vira um zumbi, e a rede de zumbis é a botnet, comandada por um servidor de comando e controle;
- spyware: monitora as atividades do usuário e envia as informações a terceiros; o keylogger captura as teclas digitadas, o screenlogger captura imagens da tela e da posição do mouse, e o adware mostra propaganda;
- ransomware: torna os dados inacessíveis, em geral por criptografia, e exige pagamento de resgate para devolver o acesso;
- bomba lógica: código que fica parado até uma condição acontecer, como uma data ou a exclusão de um nome da folha de pagamento.
O ransomware tem duas formas. O ransomware crypto cifra os arquivos e deixa o computador funcionando. O ransomware locker bloqueia o acesso ao equipamento, sem necessariamente cifrar os arquivos. A defesa principal contra os dois é a cópia de segurança guardada fora do alcance da rede, porque o ransomware também cifra as cópias que encontra nas pastas compartilhadas.
O malware sem arquivo (fileless) roda na memória e usa ferramentas legítimas do próprio sistema, como o PowerShell, em vez de gravar um executável no disco. O antivírus que só examina arquivos tem dificuldade de encontrá-lo. O exploit é o código que aproveita uma vulnerabilidade, e a vulnerabilidade de dia zero (zero-day) é a falha que o fabricante ainda não corrigiu.
A defesa contra malware combina várias camadas. O antivírus por assinatura compara o arquivo com uma base de padrões conhecidos e não reconhece malware novo. A análise heurística e a comportamental procuram ações suspeitas, como um processo que cifra centenas de arquivos por minuto, e podem achar malware novo, com mais alarmes falsos. Somam-se a isso a atualização do sistema, o menor privilégio, o bloqueio de macros e o backup isolado.
Exemplo resolvido: um técnico recebe quatro relatos e precisa classificar cada malware.
- Relato 1: um programa de "calculadora de férias" funciona, mas envia as senhas do navegador a um servidor externo. O programa faz o que promete e mais uma função oculta, e não se replica. Classificação: cavalo de troia que instala um spyware.
- Relato 2: em uma hora, 200 computadores da rede ficam lentos, sem que ninguém abra arquivo algum, e cada máquina tenta se conectar a outras pela mesma falha do sistema. A propagação é automática e sem hospedeiro. Classificação: worm.
- Relato 3: uma planilha recebida por e-mail, ao ser aberta com macros ativas, infecta outras planilhas da pasta. O código está dentro do documento e se copia para outros documentos. Classificação: vírus de macro.
- Relato 4: depois da invasão, o servidor não mostra o processo malicioso na lista de processos e os registros de acesso somem. A função é esconder o invasor. Classificação: rootkit.
Na prática, a prefeitura de uma cidade inventada, Vila Serena, tem os arquivos da secretaria de finanças cifrados por ransomware numa sexta-feira. A equipe isola os computadores da rede para conter a propagação, identifica o tipo de ataque e restaura os dados a partir do backup guardado fora da rede. O pagamento do resgate não garante a devolução dos dados.
A diferença que a banca mais troca é entre vírus e worm. O vírus precisa de hospedeiro e de execução, e se propaga infectando arquivos; o worm é autônomo e se propaga sozinho pela rede. O cavalo de troia é o terceiro vizinho: ele também precisa de execução pelo usuário, mas não se replica.
O erro comum é chamar todo malware de vírus. Também é comum achar que o rootkit dá o acesso inicial ao invasor: o rootkit esconde e mantém o acesso, e quem garante a volta é o backdoor.
Julgue o item a seguir, acerca de códigos maliciosos.
O worm, assim como o vírus, depende da execução do arquivo hospedeiro para se propagar, mas difere do vírus por não causar dano aos arquivos do usuário.
Comentário:
Regra: o worm se propaga sozinho, pela execução direta das próprias cópias ou pela exploração de vulnerabilidades, e não precisa de hospedeiro.
O item erra em depende da execução do arquivo hospedeiro para se propagar: quem depende de hospedeiro é o vírus. O worm também pode causar dano, por exemplo ao consumir banda ou ao carregar outro malware.
Resultado: errado.
Depois de uma invasão, a equipe de um tribunal percebe que o atacante consegue voltar ao servidor mesmo após a troca de todas as senhas, e que a lista de processos do sistema não mostra nenhum programa estranho. As ameaças que explicam, respectivamente, a volta do atacante e a ocultação dos processos são
- A) worm e spyware.
- B) backdoor e rootkit.
- C) rootkit e backdoor.
- D) bot e adware.
- E) vírus de boot e keylogger.
Comentário:
A) Errada.
Regra: o worm se propaga sozinho pela rede, e o spyware coleta informações do usuário.
A alternativa erra em worm e spyware: nenhum dos dois tem a função de garantir a volta do invasor nem de esconder processos.
B) Certa.
Regra: o backdoor permite o retorno do invasor, e o rootkit esconde a presença do invasor e de outros códigos.
A volta sem depender das senhas é o papel do backdoor, e a ocultação dos processos é o papel do rootkit, nessa ordem.
C) Errada.
Regra: o rootkit oculta, e o backdoor garante o retorno.
A alternativa erra em rootkit e backdoor: a ordem está invertida em relação ao que o enunciado pede.
D) Errada.
Regra: o bot dá controle remoto ao invasor, e o adware mostra propaganda.
A alternativa erra em bot e adware: o adware não esconde processos, e o enunciado descreve ocultação.
E) Errada.
Regra: o vírus de boot infecta a área de inicialização, e o keylogger captura teclas.
A alternativa erra em vírus de boot e keylogger: o keylogger capturaria senhas novas, mas não explica a ocultação dos processos.
Resultado: alternativa B.
Como a banca cobra: a banca troca as características do vírus e do worm, diz que o cavalo de troia se replica ou inverte as funções do rootkit e do backdoor.
Engenharia social e phishing
Um atacante não precisa quebrar a criptografia de um banco se consegue que o cliente digite a senha num site falso. A engenharia social é o conjunto de técnicas que manipulam pessoas para que elas entreguem informações, executem ações ou deem acesso, explorando confiança, medo, pressa, curiosidade ou vontade de ajudar. Ela ataca o elo humano, e por isso nenhum firewall a impede sozinho.
As técnicas presenciais e por conversa mais cobradas são estas:
- pretexting (pretexto): o atacante inventa uma história, como "sou do suporte e preciso da sua senha para migrar a caixa de e-mail";
- baiting (isca): o atacante deixa um pen drive infectado com o rótulo "salários 2026" no estacionamento;
- quid pro quo: o atacante oferece um favor em troca da informação, como suporte técnico gratuito;
- tailgating ou piggybacking (carona): o atacante entra numa área restrita logo atrás de quem tem crachá;
- shoulder surfing: o atacante olha por cima do ombro da vítima enquanto ela digita a senha;
- dumpster diving: o atacante procura informação no lixo, como papéis com senhas ou organogramas.
O phishing é a fraude em que o golpista se passa por instituição conhecida, em geral por mensagem eletrônica, para levar a vítima a fornecer dados pessoais e financeiros ou a instalar malware. A mensagem costuma ter urgência ("sua conta será bloqueada hoje"), um link para página falsa ou um anexo. As variantes se distinguem pelo alvo e pelo canal:
- spear phishing: mensagem feita sob medida para uma pessoa ou um grupo, com dados reais da vítima;
- whaling: spear phishing contra alto executivo, como o presidente ou o diretor financeiro;
- vishing: phishing por voz, em ligação telefônica;
- smishing: phishing por mensagem de texto no celular (SMS ou aplicativo de mensagem);
- clone phishing: cópia de uma mensagem legítima já recebida, com o link ou o anexo trocado;
- quishing: phishing com código QR que leva ao site falso.
O pharming é diferente do phishing num ponto que a banca adora. No pharming, a vítima digita o endereço certo do banco e mesmo assim chega ao site falso, porque o atacante alterou a resolução de nomes, seja envenenando o cache do servidor DNS, seja mudando o arquivo hosts do computador. O phishing depende de a vítima clicar num link enganoso; o pharming funciona mesmo sem clique em link.
A fraude de comprometimento de e-mail corporativo (BEC, de Business Email Compromise) usa uma conta de e-mail invadida ou imitada de um diretor ou de um fornecedor para pedir transferência urgente ou troca de conta bancária. O hoax (boato) é a mensagem falsa que pede para ser repassada, como o falso alerta de vírus, e espalha desinformação e consome recursos.
O ataque de engenharia social segue em geral estas etapas:
- Coleta de informação: o atacante pesquisa a vítima em redes sociais, no site do órgão e no lixo; sai um perfil com nomes, cargos e rotinas.
- Aproximação: o atacante cria o pretexto e o contato, por e-mail, telefone ou pessoalmente; sai uma relação de confiança.
- Exploração: a vítima entrega a senha, abre o anexo ou faz a transferência; sai o acesso ou o dinheiro.
- Saída: o atacante encerra o contato sem levantar suspeita e apaga rastros; sai um incidente que pode demorar a ser notado.
- Coleta de informação sobre a vítima
- Criação do pretexto e contato
- A vítima confia no contato?SimEntrega a senha, abre o anexo ou pagaNãoO ataque falha ou recomeça por outro canal
- Saída sem levantar suspeita
A defesa principal é a conscientização: treinamento periódico, simulações de phishing e uma regra clara de confirmar pedidos sensíveis por outro canal. Os controles técnicos ajudam: o filtro de e-mail, a autenticação de domínio (SPF, DKIM e DMARC, vistos em Spoofing) e a autenticação multifator, que exige um segundo fator além da senha e por isso limita o dano da senha roubada. O cadeado do HTTPS só mostra que a conexão é cifrada com aquele site; um site falso também pode ter certificado válido.
Exemplo resolvido: um servidor recebe um link que, sem o prefixo do protocolo, é www.bancoexemplo.com.br.acesso-seguro.net/login, e precisa dizer se o site é do banco.
- Localize o fim do nome do servidor: tudo o que vem antes da primeira barra. O nome é
www.bancoexemplo.com.br.acesso-seguro.net. - Leia o nome da direita para a esquerda. O domínio de topo é
net, e o domínio registrado éacesso-seguro.net. - Tudo o que fica à esquerda (
www.bancoexemplo.com.br) são subdomínios, que o dono deacesso-seguro.netcria livremente. - Conclusão: o site pertence a
acesso-seguro.net, e não abancoexemplo.com.br. O link é de phishing.
Na prática, a diretora financeira de uma autarquia inventada recebe e-mail com o nome do presidente pedindo transferência urgente para um fornecedor novo, "sem comentar com ninguém". O caso é whaling com fraude do tipo BEC. A regra do órgão manda confirmar o pedido por telefone, com o número da lista interna, e não com o número que veio no e-mail.
A banca troca phishing e pharming, e também spear phishing e whaling. O phishing engana pelo conteúdo da mensagem e pelo link; o pharming engana pela resolução de nomes, com o endereço certo digitado. O spear phishing mira uma pessoa ou grupo específico, e o whaling é o spear phishing contra o alto escalão.
O erro comum é achar que a engenharia social é sempre digital. Shoulder surfing, tailgating e dumpster diving não usam computador nenhum.
Julgue o item a seguir, acerca de golpes na internet.
No pharming, o usuário pode ser levado a uma página falsa mesmo digitando corretamente o endereço do site legítimo, o que torna inútil, contra esse golpe, a orientação de nunca clicar em links recebidos por e-mail.
Comentário:
Regra: no pharming, o atacante altera a resolução de nomes (cache do DNS ou arquivo hosts), e o endereço certo leva ao servidor falso.
O item está certo. Como o desvio acontece na resolução do nome, a vítima chega à página falsa sem clicar em link algum, e a orientação sobre links não a protege desse golpe.
Resultado: certo.
Considere o link abaixo, recebido por mensagem de texto no celular de um servidor.
https://gov.br.restituicao-receita.online/consulta?cpf=
Considere o link acima. A mensagem diz que o servidor tem restituição a receber e que precisa confirmar os dados hoje. A análise correta é:
- A) O site pertence ao governo, porque o nome começa por gov.br.
- B) O golpe é pharming, porque o servidor recebeu o link pronto.
- C) O golpe é vishing, porque chegou ao celular.
- D) O golpe é smishing, e o domínio registrado é restituicao-receita.online.
- E) O site é seguro se mostrar o cadeado do HTTPS na barra de endereço.
Comentário:
A) Errada.
Regra: o domínio registrado se lê da direita para a esquerda, e o que fica à esquerda é subdomínio criado pelo dono.
A alternativa erra em O site pertence ao governo, porque o nome começa por gov.br: gov.br aqui é só subdomínio de restituicao-receita.online.
B) Errada.
Regra: no pharming, o desvio está na resolução de nomes, e a vítima chega ao site falso com o endereço certo.
A alternativa erra em O golpe é pharming, porque o servidor recebeu o link pronto: link enganoso enviado em mensagem é phishing, não pharming.
C) Errada.
Regra: vishing é o phishing por voz, em ligação telefônica.
A alternativa erra em O golpe é vishing, porque chegou ao celular: a mensagem é de texto, e não ligação.
D) Certa.
Regra: smishing é o phishing por mensagem de texto, e o domínio registrado é o nome logo antes do domínio de topo.
O canal é a mensagem de texto, e o domínio de topo online antecedido de restituicao-receita mostra quem controla o site.
E) Errada.
Regra: o cadeado mostra que a conexão é cifrada, e um site falso também pode ter certificado válido.
A alternativa erra em O site é seguro se mostrar o cadeado do HTTPS: o cadeado não prova que o site é do governo.
Resultado: alternativa D.
Como a banca cobra: a banca descreve o golpe em um caso e pede o nome, troca phishing por pharming ou diz que o cadeado garante que o site é legítimo.
Spoofing
Na rede, quem recebe um pacote, um e-mail ou uma resposta de DNS confia nos campos que dizem de onde a mensagem veio. O spoofing (falsificação) é o ataque em que o atacante forja a identidade de origem, seja o endereço IP, o endereço MAC, o remetente do e-mail ou a resposta de um serviço, para se passar por outro. O spoofing raramente é o fim do ataque: ele serve para esconder o atacante, enganar a vítima ou desviar o tráfego.
Os tipos mais cobrados são cinco:
- IP spoofing: o atacante põe no pacote um endereço IP de origem falso;
- MAC spoofing: o atacante troca o endereço físico da própria placa de rede, por exemplo para passar por um filtro de MAC no Wi-Fi;
- ARP spoofing (ou envenenamento de ARP): o atacante envia respostas ARP falsas que ligam o IP do roteador ao MAC dele;
- DNS spoofing (ou envenenamento de cache DNS): o atacante faz o servidor DNS guardar uma resposta falsa, que liga um nome legítimo a um IP do atacante;
- e-mail spoofing: o atacante forja o campo de remetente do e-mail.
O IP spoofing funciona bem em ataques de mão única, como a inundação e a reflexão, porque o atacante não precisa receber a resposta. Para abrir uma conexão TCP completa com IP falso, o atacante teria de adivinhar a resposta que vai para o dono verdadeiro do endereço, o que é difícil. A defesa na borda é a filtragem de entrada (RFC 2827): o provedor descarta os pacotes que chegam da rede do cliente com endereço de origem que não pertence ao bloco de endereços desse cliente.
O ARP (Address Resolution Protocol) descobre o MAC que corresponde a um IP na rede local e aceita respostas que ninguém pediu. No ARP spoofing, o atacante diz aos computadores que o MAC do roteador é o dele, e todo o tráfego para fora da rede passa pela máquina do atacante, que lê e repassa os pacotes. O resultado é um ataque de homem no meio dentro da rede local. As defesas são a inspeção dinâmica de ARP no switch, que confere as respostas com a tabela do DHCP, e entradas ARP fixas nos equipamentos críticos.
No DNS spoofing, o servidor DNS envenenado responde a todos os clientes com o IP falso até a resposta expirar, e por isso esse ataque é o caminho técnico do pharming. A defesa é o DNSSEC, que assina digitalmente as respostas de DNS. O DNSSEC garante a origem e a integridade da resposta, mas não cifra a consulta nem a resposta.
O protocolo de envio de e-mail, o SMTP, não confere quem é o remetente, e por isso o campo "De" pode ser forjado. Três mecanismos, todos publicados no DNS do domínio, reduzem o e-mail spoofing:
- SPF (Sender Policy Framework): o domínio publica a lista de servidores autorizados a enviar e-mail em nome dele; o servidor que recebe confere o IP de quem entregou a mensagem.
- DKIM (DomainKeys Identified Mail): o servidor que envia assina digitalmente partes da mensagem; quem recebe confere a assinatura com a chave pública publicada no DNS, e isso mostra que a mensagem veio do domínio e não foi alterada no caminho.
- DMARC (Domain-based Message Authentication, Reporting and Conformance): o domínio diz o que fazer com a mensagem que falha no SPF e no DKIM (política none, quarantine ou reject), exige que o domínio verificado seja o mesmo do campo "De" (alinhamento) e pede relatórios.
Exemplo resolvido: um servidor de e-mail recebe mensagem com remetente diretoria@orgao.exemplo vinda do IP 203.0.113.50, e o SPF de orgao.exemplo autoriza só os IPs 198.51.100.10 e 198.51.100.11.
- Conferência do SPF: o IP 203.0.113.50 não está na lista. Resultado: falha.
- Conferência do DKIM: a mensagem não tem assinatura do domínio orgao.exemplo. Resultado: falha.
- Leitura do DMARC: o domínio publica a política reject. Resultado: o servidor que recebe recusa a mensagem.
- Conclusão: a mensagem forjada não chega à caixa de entrada.
Na prática, um técnico de uma escola inventada percebe que, numa sala, todo acesso à internet ficou lento e um aluno tem um programa que mostra o tráfego dos colegas. A tabela ARP dos computadores mostra o MAC do notebook do aluno associado ao IP do roteador. O caso é ARP spoofing, e a defesa é ligar a inspeção dinâmica de ARP no switch da sala.
O spoofing se confunde com o sniffing e com o sequestro de sessão. O spoofing falsifica a identidade, o sniffing apenas escuta o tráfego, e o sequestro de sessão toma uma sessão já autenticada. Os três costumam aparecer juntos, mas são coisas diferentes.
O erro comum é achar que o DNSSEC cifra o DNS ou que o SPF assina a mensagem. O DNSSEC e o DKIM assinam; o SPF só lista os servidores autorizados.
Julgue o item a seguir, acerca da autenticação de e-mail.
O SPF protege contra a falsificação de remetente porque assina digitalmente o cabeçalho de cada mensagem com a chave privada do domínio, e o DMARC é o mecanismo que publica no DNS a chave pública usada para conferir essa assinatura.
Comentário:
Regra: o SPF lista no DNS os servidores autorizados a enviar pelo domínio; quem assina a mensagem é o DKIM, cuja chave pública fica no DNS; o DMARC define a política e o alinhamento.
O item erra em assina digitalmente o cabeçalho de cada mensagem com a chave privada do domínio: isso é o DKIM. Erra também em o DMARC é o mecanismo que publica no DNS a chave pública: a chave pública é do registro DKIM.
Resultado: errado.
Como a banca cobra: a banca troca as funções do SPF, do DKIM e do DMARC, ou diz que o DNSSEC garante sigilo.
Negação de serviço (DoS e DDoS)
Uma loja virtual vende pouco o ano todo e muito na semana de promoções. Se alguém consegue deixar o site fora do ar justamente nessa semana, o prejuízo é grande, mesmo sem roubar nenhum dado. O ataque de negação de serviço (DoS, de Denial of Service) é o ataque que tenta tirar de operação um serviço, um computador ou uma rede, esgotando os recursos dele ou explorando uma falha que o derruba. A propriedade atacada é a disponibilidade, e não o sigilo nem a integridade.
Quando o ataque parte de muitos computadores ao mesmo tempo, em geral de uma botnet, ele é um DoS distribuído (DDoS). O DDoS é mais difícil de bloquear, porque o tráfego vem de milhares de endereços diferentes, e o simples bloqueio de um IP não resolve. Muitas vezes os donos dos computadores zumbis nem sabem que participam do ataque.
Os ataques se dividem em três famílias:
- volumétricos: enchem o link da vítima com tráfego, como a inundação UDP e a amplificação de DNS;
- de protocolo: esgotam tabelas e estados de equipamentos e sistemas, como o SYN flood;
- de camada de aplicação (camada 7): enviam pedidos que parecem legítimos e são caros para o servidor, como a inundação HTTP e o Slowloris.
O SYN flood explora o aperto de mão em três vias do TCP. Normalmente o cliente envia SYN, o servidor reserva memória para a conexão e responde SYN-ACK, e o cliente fecha com ACK. No ataque, o atacante envia muitos SYN, quase sempre com IP de origem falsificado, e nunca envia o ACK, deixando o servidor com a fila de conexões semiabertas cheia.
- Atacante envia SYN com IP de origem falso
- Servidor reserva memória e responde SYN-ACK ao IP falso
- O ACK final chega?SimA conexão se completa normalmenteNãoA conexão fica semiaberta até expirar
- Fila cheia: clientes legítimos são recusados
A defesa clássica contra o SYN flood são os SYN cookies (RFC 4987): o servidor não reserva memória ao receber o SYN e codifica os dados da conexão no número de sequência do SYN-ACK. Se o ACK volta com o número certo, o servidor reconstrói a conexão; se não volta, nada foi gasto.
Outros ataques clássicos de protocolo também caem:
- Smurf: o atacante envia ping (ICMP echo request) para o endereço de broadcast de uma rede, com o IP de origem falsificado para o da vítima; todos os computadores da rede respondem à vítima;
- Fraggle: a mesma ideia do Smurf, com UDP em vez de ICMP;
- ping da morte: um pacote ICMP que, depois de remontado, passa do tamanho máximo do pacote IP e derrubava sistemas antigos;
- teardrop: fragmentos IP com posições sobrepostas que travavam a remontagem em sistemas antigos.
Nos ataques de reflexão e amplificação, o atacante envia uma pergunta pequena a um servidor público (DNS, NTP, memcached), com o IP de origem falsificado para o da vítima. O servidor responde à vítima com uma resposta muito maior que a pergunta. O fator de amplificação é o tamanho da resposta dividido pelo tamanho da pergunta, e o atacante multiplica a própria banda por esse fator sem que o tráfego saia do IP dele.
Exemplo resolvido: um atacante controla 200 bots, e cada um envia 2 Mbps de consultas DNS de 60 bytes, com o IP da vítima como origem, a servidores que respondem com 3.000 bytes.
- Fator de amplificação: 3.000 ÷ 60 = 50.
- Tráfego que sai dos bots: 200 × 2 Mbps = 400 Mbps.
- Tráfego que chega à vítima: 400 Mbps × 50 = 20.000 Mbps.
- Resultado: 20.000 Mbps, ou 20 Gbps, contra a vítima, a partir de 400 Mbps de consultas.
O Slowloris é o ataque de camada de aplicação de baixo volume. O atacante abre muitas conexões HTTP e envia os cabeçalhos aos poucos, sem nunca terminar o pedido, e o servidor web mantém todas abertas até esgotar o número máximo de conexões simultâneas. Um único computador derruba o site, e o tráfego é tão pequeno que o monitor de banda não vê nada de anormal.
As defesas dependem da família. Contra o volumétrico, só capacidade maior que o ataque resolve: centros de limpeza de tráfego, redes de distribuição de conteúdo (CDN) e roteamento anycast, que espalha o tráfego por vários pontos. Contra o de protocolo, SYN cookies, limites de conexões semiabertas e firewall com controle de estado. Contra o de aplicação, limite de pedidos por cliente, tempo máximo para receber o cabeçalho, desafios que separam pessoas de robôs e firewall de aplicação web (WAF).
Na prática, um tribunal inventado tem o sistema de processos eletrônicos fora do ar no último dia de um prazo. O monitor mostra o link de 1 Gbps totalmente ocupado por respostas de DNS que o tribunal nunca pediu, vindas de milhares de servidores. O caso é DDoS volumétrico por reflexão e amplificação de DNS, e o tribunal precisa acionar o provedor ou o serviço de limpeza de tráfego, porque o próprio firewall fica atrás do link já saturado.
O DoS se confunde com a invasão. O DoS não precisa entrar no sistema nem ler dado algum: basta tirar o serviço do ar. O DoS e o DDoS diferem pelo número de origens, e não pela técnica.
O erro comum é pensar que o firewall local da vítima resolve todo DDoS. No ataque volumétrico, o gargalo é o link, que já está cheio antes de o tráfego chegar ao firewall.
Julgue o item a seguir, acerca de ataques de negação de serviço.
Em um ataque de amplificação, se cada consulta enviada tem 50 bytes e cada resposta refletida tem 2.500 bytes, um conjunto de bots que gera 100 Mbps de consultas faz chegar à vítima cerca de 5 Gbps, sem que o tráfego de resposta parta dos endereços IP dos bots.
Comentário:
Conta: 2.500 ÷ 50 = 50 de fator; 100 Mbps × 50 = 5.000 Mbps, ou 5 Gbps.
O item está certo. As respostas partem dos servidores refletores, que acreditam que a vítima fez as consultas, porque o IP de origem foi falsificado.
Resultado: certo.
O site de um órgão fica inacessível. O tráfego de entrada está baixo, mas o servidor web atinge o limite de conexões simultâneas, e cada conexão vem de poucos endereços, envia cabeçalhos HTTP incompletos e mantém o pedido aberto. O ataque e a defesa adequada são
- A) Slowloris; definir tempo máximo para receber o cabeçalho e limitar conexões por cliente.
- B) Smurf; desativar a resposta a ping enviado ao endereço de broadcast.
- C) SYN flood; ativar SYN cookies no sistema operacional.
- D) amplificação de DNS; contratar centro de limpeza de tráfego.
- E) ping da morte; bloquear pacotes ICMP maiores que o normal.
Comentário:
A) Certa.
Regra: o Slowloris abre muitas conexões HTTP e envia os cabeçalhos aos poucos, com pouco tráfego, até esgotar as conexões do servidor.
O tempo máximo para o cabeçalho fecha as conexões lentas, e o limite por cliente impede que poucos endereços ocupem todas as vagas.
B) Errada.
Regra: o Smurf usa respostas de ping de uma rede inteira contra a vítima, com alto volume.
A alternativa erra em Smurf: o enunciado descreve tráfego baixo e pedidos HTTP, não respostas de ping.
C) Errada.
Regra: o SYN flood age no aperto de mão do TCP, antes de existir pedido HTTP.
A alternativa erra em SYN flood: no caso, as conexões estão completas e mandam cabeçalhos HTTP, o que mostra ataque de camada de aplicação.
D) Errada.
Regra: a amplificação de DNS é volumétrica e enche o link com respostas grandes.
A alternativa erra em amplificação de DNS: o tráfego de entrada está baixo.
E) Errada.
Regra: o ping da morte usa pacote ICMP acima do tamanho máximo depois da remontagem.
A alternativa erra em ping da morte: o enunciado fala de conexões HTTP abertas, e não de pacotes ICMP.
Resultado: alternativa A.
Como a banca cobra: a banca pede a propriedade atacada (disponibilidade), descreve um ataque e pede o nome, ou diz que o DDoS difere do DoS pela técnica.
Ataques a senhas
O sistema não guarda a senha do usuário: ele guarda o hash da senha, isto é, o resultado de uma função que transforma a senha num valor de tamanho fixo e que não se desfaz. No login, o sistema calcula o hash da senha digitada e compara com o guardado. Os ataques a senhas tentam descobrir a senha a partir desse hash, tentar senhas direto na tela de login ou capturar a senha no caminho.
Os ataques online tentam senhas contra o sistema em funcionamento, e o bloqueio de conta e o limite de tentativas os freiam. Os ataques offline usam um arquivo de hashes já roubado e testam senhas no computador do atacante, sem limite de tentativas. Por isso a forma de guardar a senha decide quanto tempo o atacante leva.
Os ataques mais cobrados são estes:
- força bruta: testa todas as combinações possíveis de caracteres até achar a senha;
- dicionário: testa uma lista de palavras e senhas comuns, como nomes, datas e senhas vazadas;
- híbrido: parte do dicionário e acrescenta variações, como "Brasil2026!" a partir de "brasil";
- rainbow table (tabela arco-íris): usa tabelas pré-calculadas que relacionam hashes a senhas, trocando tempo de cálculo por espaço em disco;
- credential stuffing (recheio de credenciais): testa em outros sites os pares de login e senha vazados de um site, porque muita gente repete a senha;
- password spraying (pulverização): testa poucas senhas muito comuns contra muitas contas, uma tentativa por conta de cada vez, para não disparar o bloqueio;
- pass-the-hash: usa o próprio hash capturado para se autenticar em sistemas que aceitam o hash, sem descobrir a senha.
O salt (sal) é um valor aleatório, diferente para cada usuário, juntado à senha antes do cálculo do hash e guardado ao lado do hash. Ele faz duas senhas iguais terem hashes diferentes e torna inútil a rainbow table pré-calculada, porque ela teria de ser refeita para cada salt. O salt não é segredo. O pepper (pimenta) é um valor secreto, igual para todos, guardado fora do banco de dados, por exemplo no servidor da aplicação.
A segunda defesa é usar uma função de hash lenta de propósito, feita para senhas: bcrypt, scrypt, Argon2 ou PBKDF2. Essas funções repetem o cálculo muitas vezes, e algumas também gastam muita memória, de modo que cada tentativa custa caro ao atacante e quase nada ao usuário, que faz um login por vez. As funções rápidas de uso geral, como MD5 e SHA-256, não servem sozinhas para guardar senha, porque permitem bilhões de tentativas por segundo.
Exemplo resolvido: um atacante offline testa 1 bilhão de senhas por segundo contra um hash rápido. Quanto tempo ele leva, no pior caso, para senhas de 8 caracteres?
- Só letras minúsculas: 26 opções por posição. Combinações: 26⁸ = 208.827.064.576.
- Tempo: 208.827.064.576 ÷ 1.000.000.000 ≈ 209 segundos, ou cerca de 3,5 minutos.
- Letras minúsculas, maiúsculas e algarismos: 26 + 26 + 10 = 62 opções. Combinações: 62⁸ = 218.340.105.584.896.
- Tempo: 218.340.105.584.896 ÷ 1.000.000.000 ≈ 218.340 segundos, ou cerca de 60,7 horas (2,5 dias).
- Mesmo conjunto de 62 opções, com 10 caracteres: 62¹⁰ ≈ 8,4 × 10¹⁷ combinações. Tempo: cerca de 8,4 × 10⁸ segundos, ou cerca de 26,6 anos, contra cerca de 2,5 dias com 8 caracteres.
- Conclusão: aumentar o conjunto de caracteres multiplica o tempo, mas o que mais pesa é o comprimento, porque ele é o expoente: dois caracteres a mais multiplicam o tempo por 62² = 3.844. Um hash lento divide ainda mais a velocidade do atacante.
Na prática, o portal de uma câmara municipal inventada registra, numa madrugada, uma tentativa de login com a senha "Mudar@123" em cada uma das 2.000 contas, a partir de vários IPs. Nenhuma conta chega ao limite de bloqueio. O caso é password spraying, e as defesas são a autenticação multifator, a proibição de senhas comuns no cadastro e o alerta por número de contas com falha, e não só por conta.
A banca troca credential stuffing e password spraying. No credential stuffing, o atacante já tem pares de login e senha de outro vazamento; no password spraying, ele só tem a lista de contas e chuta senhas comuns. A força bruta testa tudo; o dicionário testa só a lista.
O erro comum é achar que o salt precisa ser secreto ou que ele torna a força bruta impossível. O salt derruba a rainbow table e iguala o trabalho por usuário, mas cada senha ainda pode ser atacada por força bruta, o que o hash lento torna caro.
Julgue o item a seguir, acerca do armazenamento de senhas.
O uso de salt aleatório e único por usuário, guardado junto com o hash, impede o ataque de dicionário offline contra cada senha, motivo pelo qual dispensa o uso de funções de hash lentas, como bcrypt e Argon2.
Comentário:
Regra: o salt torna inútil a tabela pré-calculada e faz senhas iguais terem hashes diferentes, mas o atacante com o salt ainda testa o dicionário contra cada hash.
O item erra em impede o ataque de dicionário offline contra cada senha: o salt fica ao lado do hash e não é segredo. Erra também em dispensa o uso de funções de hash lentas: o hash lento é a defesa que torna caro cada palpite.
Resultado: errado.
Como a banca cobra: a banca troca credential stuffing por password spraying, diz que o salt é secreto ou que hash rápido serve para senha.
Ataques a aplicações web (XSS, CSRF e injeção de SQL)
A aplicação web recebe dados do usuário a todo momento: o campo de login, a caixa de busca, o comentário, o endereço da página. Se a aplicação mistura esses dados com comandos (uma consulta ao banco, um trecho de página, um comando do sistema) sem separar um do outro, o atacante consegue escrever comandos no lugar de dados. Essa é a raiz da família de injeção, a mais cobrada. No OWASP Top 10, a lista das categorias de risco mais graves, a categoria Injeção inclui o XSS desde a edição de 2021.
A injeção de SQL acontece quando a aplicação monta a consulta ao banco colando o texto digitado pelo usuário. O atacante digita apóstrofos e trechos de SQL que mudam a lógica da consulta. Com isso ele pode entrar sem senha, ler tabelas inteiras, alterar ou apagar dados, conforme as permissões da conta da aplicação no banco.
login = input("Login: ")
senha = input("Senha: ")
consulta = "SELECT nome FROM usuario WHERE login = '" + login + "' AND senha = '" + senha + "'"
cursor.execute(consulta)
O código lê o login e a senha e cola os dois dentro do texto da consulta, entre apóstrofos. Se o usuário digitar um apóstrofo, ele fecha o texto antes da hora e o resto do que digitou vira SQL. O cursor.execute manda a consulta montada ao banco sem distinguir o que era comando e o que era dado.
Exemplo resolvido: a tabela usuario tem os dados abaixo, e o atacante digita x' OR '1'='1' -- no campo de login e qualquer coisa na senha.
| login | senha | nome |
|---|---|---|
| ana | (hash da senha de Ana) | Ana Souza |
| bruno | (hash da senha de Bruno) | Bruno Lima |
- A consulta montada fica:
SELECT nome FROM usuario WHERE login = 'x' OR '1'='1' --' AND senha = '...'. - O
--inicia um comentário no SQL, e o banco ignora tudo o que vem depois, inclusive a conferência da senha. - A condição que sobra é
login = 'x' OR '1'='1'. Como'1'='1'é sempre verdadeiro, a condição vale para todas as linhas. - Resultado: a consulta devolve "Ana Souza" e "Bruno Lima", e a aplicação que aceita o primeiro resultado faz o login como Ana, sem senha.
A defesa é a consulta parametrizada (prepared statement): a consulta vai ao banco com marcadores no lugar dos dados, e os dados vão em separado. O banco trata o apóstrofo digitado como parte do texto, nunca como comando. Somam-se a ela a validação da entrada, o menor privilégio da conta da aplicação no banco e mensagens de erro que não mostram a estrutura do banco; o WAF ajuda, mas não substitui a consulta parametrizada.
A injeção de SQL tem variantes. Na injeção com UNION, o atacante junta o resultado de outra consulta ao da consulta original e lê outras tabelas. Na injeção cega (blind), a página não mostra o resultado, e o atacante deduz os dados por perguntas de sim ou não, observando se a página muda (cega booleana) ou se a resposta demora (cega por tempo).
O XSS (Cross-Site Scripting) acontece quando a aplicação devolve ao navegador, sem tratamento, um texto do atacante que contém script. O navegador da vítima executa o script como se fosse do próprio site, e o script pode ler os cookies de sessão, alterar a página ou agir em nome da vítima. O XSS tem três tipos:
- refletido: o script vem no próprio pedido, em geral num link preparado, e volta na resposta só para quem clicou;
- armazenado (persistente): o script fica gravado no servidor, como num comentário, e atinge todos que abrem a página;
- baseado em DOM: o script é inserido pelo JavaScript da própria página, no navegador, sem passar pela resposta do servidor.
A defesa contra o XSS é a codificação da saída conforme o contexto, que transforma os caracteres especiais em texto inofensivo antes de mostrá-los, somada à validação da entrada. A política de segurança de conteúdo (CSP) diz ao navegador de onde ele pode carregar scripts e reduz o dano. O cookie com o atributo HttpOnly não pode ser lido por script, o que impede o roubo do cookie de sessão por XSS, mas não impede o XSS em si.
O CSRF (Cross-Site Request Forgery, falsificação de pedido entre sites) leva o navegador de uma vítima já autenticada a enviar ao site um pedido que ela não quis fazer. O navegador anexa sozinho o cookie de sessão ao pedido, e o site, que confia no cookie, executa a ação. O atacante não vê a resposta: ele só faz a ação acontecer.
O ataque de CSRF segue estes passos:
- A vítima está logada no banco, e o navegador guarda o cookie de sessão.
- A vítima abre uma página do atacante, em outra aba.
- A página do atacante contém um formulário invisível que se envia sozinho ao banco, pedindo uma transferência.
- O navegador envia o pedido com o cookie de sessão da vítima.
- O banco vê um pedido autenticado e faz a transferência.
A defesa contra o CSRF é o token anti-CSRF: um valor imprevisível que o site põe em cada formulário e confere em cada pedido, e que a página do atacante não consegue ler. O atributo SameSite do cookie impede que o navegador o envie em pedidos vindos de outro site. Pedir de novo a senha ou um segundo fator nas operações sensíveis também barra o CSRF.
Outros ataques web aparecem em questões mescladas:
- injeção de comandos: o dado do usuário vira comando do sistema operacional;
- path traversal (travessia de diretório): o atacante usa
../no nome de arquivo para ler arquivos fora da pasta permitida; - SSRF (Server-Side Request Forgery): o atacante faz o servidor enviar pedidos a endereços internos, que ele não alcança de fora;
- referência direta insegura a objeto (IDOR): o atacante troca o número do recurso no endereço, como de
pedido=100parapedido=101, e vê dado de outra pessoa porque o site não confere a posse; - clickjacking: o atacante põe o site verdadeiro, invisível, sob um botão falso, e a vítima clica no site sem saber; a defesa é proibir que o site seja exibido dentro de moldura de outro;
- sequestro de sessão: o atacante rouba o identificador de sessão e assume a sessão; na fixação de sessão, ele impõe à vítima um identificador que já conhece, o que se evita trocando o identificador no login.
Na prática, um sistema de ouvidoria inventado mostra os comentários dos cidadãos na página pública. Um comentário com script, gravado no banco, passa a rodar no navegador de cada servidor que abre a lista. O caso é XSS armazenado, e a correção é codificar o comentário na saída da página, com a CSP e o cookie HttpOnly como camadas extras.
A troca mais cobrada é entre XSS e CSRF. O XSS executa script do atacante no navegador da vítima e explora a confiança do usuário no site; o CSRF não executa script no site, só faz o navegador enviar um pedido autenticado, e explora a confiança do site no navegador do usuário. O token anti-CSRF não resolve XSS, e um XSS consegue ler o token e derrubar a defesa contra CSRF.
O erro comum é achar que validar a entrada no navegador, com JavaScript, protege o servidor. O atacante envia o pedido direto, sem passar pela página, e por isso a validação e a parametrização valem no servidor.
Julgue o item a seguir, acerca de ataques a aplicações web.
No CSRF, o atacante aproveita a sessão já autenticada da vítima, porque o navegador anexa automaticamente o cookie de sessão ao pedido forjado, e o atributo SameSite do cookie é uma das defesas contra esse ataque.
Comentário:
Regra: no CSRF, o navegador da vítima envia o cookie de sessão junto com o pedido forjado, e o SameSite impede o envio do cookie em pedidos vindos de outro site.
O item está certo. O atacante não precisa ler o cookie: basta que o navegador o envie. O SameSite e o token anti-CSRF são as defesas típicas.
Resultado: certo.
termo = request.args.get("busca")
sql = "SELECT titulo FROM processo WHERE titulo LIKE '%" + termo + "%'"
cursor.execute(sql)
Considere o código acima, de um sistema de consulta de processos. A medida que corrige a vulnerabilidade na origem é
- A) guardar o cookie de sessão com o atributo HttpOnly.
- B) adicionar token anti-CSRF ao formulário de busca.
- C) codificar a saída da página com o título dos processos.
- D) limitar o tamanho do campo de busca no formulário do navegador.
- E) usar consulta parametrizada, enviando o termo de busca separado do texto da consulta.
Comentário:
A) Errada.
Regra: o HttpOnly impede que script leia o cookie e reduz o dano do XSS.
A alternativa erra em guardar o cookie de sessão com o atributo HttpOnly: o código tem injeção de SQL, que o cookie não alcança.
B) Errada.
Regra: o token anti-CSRF barra pedidos forjados a partir de outro site.
A alternativa erra em adicionar token anti-CSRF: o atacante pode digitar o SQL malicioso no próprio formulário, com token válido.
C) Errada.
Regra: a codificação da saída é a defesa contra o XSS, na hora de mostrar o dado.
A alternativa erra em codificar a saída da página: a falha está na montagem da consulta, antes de o banco responder.
D) Errada.
Regra: a restrição feita no navegador é contornada por quem envia o pedido direto ao servidor.
A alternativa erra em limitar o tamanho do campo de busca no formulário do navegador: o atacante envia o pedido sem passar pelo formulário, e trechos curtos de SQL também injetam.
E) Certa.
Regra: na consulta parametrizada, o dado vai separado do comando, e o banco nunca o trata como SQL.
O termo colado entre apóstrofos é o que permite a injeção, e o parâmetro separado elimina essa mistura.
Resultado: alternativa E.
Como a banca cobra: a banca troca XSS e CSRF, mistura os tipos de XSS ou oferece HttpOnly e WAF como solução para injeção de SQL.
Ameaças técnicas relacionadas a redes e criptografia
Uma conexão segura depende de três coisas: ninguém escutar no caminho, ninguém se pôr no meio da conversa e ninguém quebrar a criptografia. Os ataques desta parte atacam cada uma delas. Alguns só escutam (passivos) e atingem o sigilo; outros alteram, repetem ou desviam mensagens (ativos) e atingem a integridade e a autenticidade.
O sniffing (farejamento) é a captura do tráfego que passa pela rede, com a placa de rede em modo promíscuo, que aceita pacotes destinados a outros computadores. Num hub, todo o tráfego chega a todos; no switch, cada porta recebe só o próprio tráfego, e o atacante precisa de um truque, como o ARP spoofing ou o MAC flooding. No MAC flooding, o atacante enche a tabela de endereços do switch com MACs falsos, e o switch passa a repassar os quadros para todas as portas, como um hub. A defesa é cifrar o tráfego e limitar o número de MACs por porta.
O ataque do homem no meio (MITM, de man-in-the-middle) põe o atacante entre as duas partes, que acreditam falar uma com a outra. O atacante lê, altera e repassa as mensagens. O ARP spoofing, o DNS spoofing e o ponto de acesso falso são formas de chegar a essa posição.
O ponto de acesso falso (evil twin, gêmeo do mal) é uma rede Wi-Fi com o mesmo nome de uma rede conhecida, como a do aeroporto. O celular se conecta a ele, e todo o tráfego passa pelo atacante. O ponto de acesso clandestino (rogue AP) é um roteador sem fio instalado sem autorização dentro da rede da empresa, que abre uma porta pela qual ninguém controla quem entra.
O SSL stripping rebaixa a conexão de HTTPS para HTTP. O atacante no meio fala HTTPS com o site e HTTP com a vítima, que vê a página sem cadeado e envia a senha em texto claro. A defesa é o HSTS (HTTP Strict Transport Security): o site avisa ao navegador que só aceita HTTPS, e o navegador passa a recusar a versão sem criptografia. O ataque de rebaixamento (downgrade), de modo mais geral, força as partes a usar uma versão antiga e fraca do protocolo ou do algoritmo.
O ataque de repetição (replay) captura uma mensagem válida e a envia de novo depois, por exemplo uma ordem de pagamento ou um pedido de autenticação. O atacante não precisa entender o conteúdo, mesmo cifrado: basta repetir. A defesa é tornar cada mensagem única, com nonce (número usado uma vez), carimbo de tempo ou número de sequência.
Os ataques à criptografia atacam a chave, o algoritmo ou a implementação:
- força bruta de chave: testa todas as chaves; com chave de n bits, são 2 elevado a n possibilidades, e por isso cada bit a mais dobra o trabalho;
- criptoanálise: explora a estrutura do algoritmo; os modelos clássicos são o ataque só com texto cifrado, com texto claro conhecido e com texto claro escolhido;
- ataque de canal lateral: deduz a chave pelo tempo de execução, pelo consumo de energia ou pela radiação do equipamento, e não pela matemática do algoritmo;
- ataque do aniversário: procura duas mensagens com o mesmo hash, chamadas de colisão, e precisa de cerca de 2 elevado a n/2 tentativas para um hash de n bits.
O ataque do aniversário vem do paradoxo do aniversário: numa sala com 23 pessoas, a chance de duas fazerem aniversário no mesmo dia já passa de 50%. Achar qualquer par que colide é muito mais fácil que achar uma mensagem que bata com um hash específico. Por isso o tamanho do hash precisa ser o dobro da segurança desejada, e o MD5 e o SHA-1, que já têm colisões práticas, não servem para assinatura digital.
Exemplo resolvido: compare o trabalho do ataque do aniversário em dois hashes.
- Hash de 128 bits (MD5): colisão por aniversário em cerca de 2⁶⁴ tentativas, ou cerca de 18 quintilhões (18.446.744.073.709.551.616).
- A busca de uma mensagem para um hash específico no mesmo MD5 precisaria de cerca de 2¹²⁸ tentativas.
- Hash de 256 bits (SHA-256): colisão por aniversário em cerca de 2¹²⁸ tentativas.
- Conclusão: o SHA-256 dá contra colisão a mesma margem que o MD5 daria contra a busca de mensagem específica, e por isso é o mínimo usado hoje em assinatura.
A varredura de portas (port scanning) é o reconhecimento que vem antes do ataque: o atacante descobre quais computadores estão ligados, quais portas estão abertas e que serviço e versão respondem. Na varredura SYN, chamada de meia abertura, o programa envia SYN e, se recebe SYN-ACK, marca a porta como aberta e não completa a conexão. A varredura em si não invade, mas mostra onde atacar.
Na prática, uma servidora de um conselho inventado conecta o notebook à rede "Aeroporto_WiFi_Gratis" e acessa o sistema do órgão, que abre sem cadeado. O caso é ponto de acesso falso com SSL stripping. O HSTS no sistema do órgão faria o navegador recusar a versão sem criptografia, e a VPN do órgão cifraria o tráfego desde o notebook.
A banca troca o sniffing e o MITM. O sniffing é passivo e só escuta; o MITM é ativo e se põe entre as partes, podendo alterar as mensagens. O replay também se confunde com o MITM: no replay, o atacante só repete uma mensagem válida, sem precisar estar no meio da conversa em tempo real.
O erro comum é achar que a criptografia, sozinha, impede o replay. A mensagem cifrada repetida continua válida se o protocolo não usa nonce, carimbo de tempo ou número de sequência.
Julgue o item a seguir, acerca de ameaças à criptografia.
Para encontrar uma colisão em uma função de hash com saída de 160 bits, o ataque do aniversário precisa, em média, de um número de tentativas da ordem de 2 elevado a 80, o que é muito menos que as 2 elevado a 160 tentativas da busca de uma mensagem que gere um hash específico.
Comentário:
Conta: no ataque do aniversário, o trabalho é cerca de 2 elevado a n/2; com n = 160, dá 2 elevado a 80.
O item está certo. A busca de mensagem para um hash específico custa cerca de 2 elevado a 160, e a colisão qualquer custa cerca de 2 elevado a 80.
Resultado: certo.
Como a banca cobra: a banca troca sniffing por MITM, diz que a criptografia sozinha impede o replay ou pede o número de tentativas do ataque do aniversário.
Questões mescladas de ameaças aos sistemas computacionais
As questões mescladas descrevem um caso e pedem o nome da ameaça, ou misturam várias ameaças numa lista e pedem a associação certa. O caminho para acertar é identificar o sinal que só aquela ameaça tem: o que entrou, como se espalhou, o que foi afetado e quem precisou agir. Outra pergunta frequente é a propriedade de segurança atingida: confidencialidade (só quem pode lê), integridade (o dado não muda sem autorização) ou disponibilidade (o serviço funciona quando precisa).
O roteiro para a questão de caso tem quatro passos:
- Procure o sinal de propagação: se espalha sozinho é worm; precisa de arquivo hospedeiro é vírus; o usuário instalou achando útil é cavalo de troia.
- Procure a vítima do engano: se foi uma pessoa, é engenharia social; se foi um protocolo que aceitou origem falsa, é spoofing.
- Procure o efeito: serviço fora do ar é negação de serviço; dado lido é ataque à confidencialidade; dado alterado é ataque à integridade.
- Procure o canal: e-mail com link é phishing; endereço certo levando a site falso é pharming; script na página é XSS; pedido autenticado sem querer é CSRF.
Exemplo resolvido: o caso diz que um funcionário recebe ligação de um falso técnico do suporte, que pede a senha para "corrigir a caixa de e-mail".
- Propagação: não há programa. Passo sem resposta.
- Vítima do engano: uma pessoa, por telefone. Engenharia social.
- Efeito: a senha é revelada, o que atinge a confidencialidade.
- Canal: voz. Classificação: vishing com pretexto (pretexting).
Na prática, um órgão inventado sofre num mesmo dia um phishing que rouba a senha de um servidor, o uso dessa senha para instalar um ransomware e o pedido de resgate. A questão mesclada pode pedir a ordem dos eventos, a ameaça de cada etapa ou a propriedade atingida em cada uma: confidencialidade no roubo da senha e disponibilidade no sequestro dos arquivos.
O erro comum é escolher a primeira palavra conhecida do enunciado, como "e-mail" para phishing, sem ler o efeito. Um e-mail forjado sem link nem pedido de dado é spoofing de e-mail, e um anexo que se espalha sozinho pela rede depois de aberto envolve um worm.
Associe cada ameaça ao efeito principal sobre a segurança da informação.
- Ataque de negação de serviço distribuído.
- Sniffing em rede sem criptografia.
- Injeção de SQL que altera notas no banco de dados de uma universidade.
A associação correta da propriedade atingida, na ordem 1, 2 e 3, é
- A) confidencialidade, integridade e disponibilidade.
- B) integridade, disponibilidade e confidencialidade.
- C) disponibilidade, confidencialidade e integridade.
- D) disponibilidade, integridade e confidencialidade.
- E) confidencialidade, disponibilidade e integridade.
Comentário:
A) Errada.
Regra: a negação de serviço atinge a disponibilidade, e o sniffing atinge a confidencialidade.
A alternativa erra em confidencialidade, integridade e disponibilidade: as três propriedades estão fora de lugar.
B) Errada.
Regra: a negação de serviço tira o serviço do ar e não altera dados.
A alternativa erra em integridade, disponibilidade e confidencialidade: o DDoS atinge a disponibilidade, e a alteração de notas atinge a integridade.
C) Certa.
Regra: a negação de serviço atinge a disponibilidade, a escuta atinge a confidencialidade e a alteração indevida de dados atinge a integridade.
O DDoS derruba o serviço, o sniffing lê dados alheios e a injeção que muda as notas altera o dado.
D) Errada.
Regra: o sniffing é passivo e só lê o tráfego.
A alternativa erra em disponibilidade, integridade e confidencialidade: o sniffing não altera dados, e a mudança de notas é que atinge a integridade.
E) Errada.
Regra: a negação de serviço atinge a disponibilidade, e não o sigilo.
A alternativa erra em confidencialidade, disponibilidade e integridade: o DDoS e o sniffing estão trocados.
Resultado: alternativa C.
Como a banca cobra: a banca descreve um caso com sinais de duas ameaças e pede a principal, ou pede a propriedade de segurança atingida por cada ataque.
- Ameaças aos sistemas
- Malware
- Vírus com hospedeiro
- Worm autônomo
- Cavalo de troia
- Rootkit e backdoor
- Bot e botnet
- Spyware e ransomware
- Engenharia social
- Phishing e variantes
- Pharming pelo DNS
- Técnicas presenciais
- Spoofing
- IP, MAC e ARP
- DNS e DNSSEC
- E-mail com SPF, DKIM, DMARC
- Negação de serviço
- Volumétrico e amplificação
- SYN flood e SYN cookies
- Camada de aplicação
- Ataques a senhas
- Força bruta e dicionário
- Rainbow table e salt
- Stuffing e spraying
- Aplicações web
- Injeção de SQL
- XSS refletido, armazenado, DOM
- CSRF e token
- Redes e criptografia
- Sniffing e homem no meio
- Replay e nonce
- SSL stripping e HSTS
- Ataque do aniversário
- Malware
Quadros e comparações
A tabela abaixo compara os tipos de malware que a banca mais troca.
| Malware | Precisa de hospedeiro | Se replica | Função principal |
|---|---|---|---|
| Vírus | Sim | Sim, infectando arquivos | Infectar e danificar |
| Worm | Não | Sim, sozinho pela rede | Propagar-se e consumir recursos |
| Cavalo de troia | Não | Não | Fingir ser útil e agir oculto |
| Rootkit | Não | Não | Esconder o invasor |
| Backdoor | Não | Não | Garantir a volta do invasor |
| Ransomware | Não | Depende da variante | Bloquear dados e cobrar resgate |
A tabela abaixo compara os golpes de engenharia social pelo canal e pelo alvo.
| Golpe | Canal | Alvo ou sinal |
|---|---|---|
| Phishing | E-mail ou mensagem com link | Qualquer pessoa |
| Spear phishing | E-mail sob medida | Pessoa ou grupo específico |
| Whaling | E-mail sob medida | Alto executivo |
| Vishing | Ligação telefônica | Qualquer pessoa |
| Smishing | Mensagem de texto | Qualquer pessoa |
| Pharming | Resolução de nomes alterada | Endereço certo leva a site falso |
A tabela abaixo compara os mecanismos de autenticação de e-mail.
| Mecanismo | O que faz | Onde fica |
|---|---|---|
| SPF | Lista servidores autorizados a enviar | Registro no DNS do domínio |
| DKIM | Assina partes da mensagem | Assinatura na mensagem; chave pública no DNS |
| DMARC | Define a política e exige alinhamento | Registro no DNS do domínio |
A tabela abaixo compara os ataques web mais cobrados.
| Ataque | O que explora | Defesa principal |
|---|---|---|
| Injeção de SQL | Dado colado na consulta | Consulta parametrizada |
| XSS | Script devolvido sem tratamento | Codificação da saída e CSP |
| CSRF | Cookie enviado pelo navegador | Token anti-CSRF e SameSite |
| Clickjacking | Site exibido dentro de moldura | Proibir a exibição em moldura |
| IDOR | Falta de conferência de posse | Conferir a posse a cada pedido |
A tabela abaixo liga cada ataque à propriedade de segurança que ele atinge primeiro.
| Ataque | Propriedade atingida | Por quê |
|---|---|---|
| Negação de serviço | Disponibilidade | Tira o serviço do ar |
| Sniffing | Confidencialidade | Lê o tráfego |
| Injeção que altera dados | Integridade | Muda dados sem autorização |
| Ransomware | Disponibilidade | Bloqueia o acesso aos dados |
| Spoofing | Autenticidade | Falsifica a origem |
Para decorar
- Vírus: precisa de hospedeiro e de execução; se propaga infectando arquivos.
- Worm: autônomo; se propaga sozinho pela rede, explorando vulnerabilidades.
- Cavalo de troia: faz o que promete e mais uma função oculta; não se replica.
- Rootkit esconde; backdoor garante a volta; bot dá controle remoto.
- Pharming: endereço certo, site falso, por alteração da resolução de nomes.
- Whaling: spear phishing contra alto executivo.
- SPF lista; DKIM assina; DMARC define a política.
- DNSSEC: assina as respostas de DNS; não cifra.
- DoS atinge a disponibilidade; DDoS parte de muitas origens.
- Fator de amplificação: tamanho da resposta ÷ tamanho da pergunta.
- SYN cookies: defesa contra SYN flood.
- Salt: aleatório, por usuário, não secreto; derruba a rainbow table.
- Hash para senha: bcrypt, scrypt, Argon2, PBKDF2.
- Força bruta: com n bits de chave, 2 elevado a n tentativas.
- Ataque do aniversário: cerca de 2 elevado a n/2 tentativas para colisão.
- Injeção de SQL: defesa principal é a consulta parametrizada.
- XSS: refletido, armazenado e baseado em DOM.
- CSRF: token anti-CSRF e cookie SameSite.
- HSTS: defesa contra SSL stripping.
- Replay: defesa por nonce, carimbo de tempo ou número de sequência.
Pegadinhas
| # | Errado | Certo |
|---|---|---|
| 1 | O worm precisa de arquivo hospedeiro para se propagar. | Quem precisa de hospedeiro é o vírus. O worm se propaga sozinho. |
| 2 | O cavalo de troia se replica como o vírus. | O cavalo de troia não se replica. Ele depende da instalação pelo usuário. |
| 3 | O rootkit serve para o invasor voltar ao sistema. | O rootkit esconde o invasor. Quem garante a volta é o backdoor. |
| 4 | No pharming, a vítima precisa clicar num link falso. | No pharming, o endereço certo leva ao site falso. |
| 5 | O cadeado do HTTPS prova que o site é legítimo. | O cadeado só mostra conexão cifrada. Site falso também tem certificado. |
| 6 | O SPF assina digitalmente a mensagem. | Quem assina é o DKIM. O SPF lista os servidores autorizados. |
| 7 | O DNSSEC cifra as consultas de DNS. | O DNSSEC assina as respostas. Ele não cifra. |
| 8 | O DoS atinge a confidencialidade dos dados. | O DoS atinge a disponibilidade. |
| 9 | O salt precisa ficar em segredo. | O salt fica ao lado do hash. O segredo guardado fora do banco é o pepper. |
| 10 | Password spraying testa muitas senhas numa só conta. | Password spraying testa poucas senhas comuns em muitas contas. |
| 11 | O cookie HttpOnly impede o XSS. | O HttpOnly impede que script leia o cookie. O XSS continua possível. |
| 12 | A criptografia sozinha impede o ataque de repetição. | Contra o replay valem nonce, carimbo de tempo ou número de sequência. |
Fontes e data
- [1] Cartilha de Segurança para Internet, CERT.br.
- [2] OWASP Top 10, edição de 2025.
- [3] ISO/IEC 27002:2022, Segurança da informação, segurança cibernética e proteção da privacidade: controles de segurança da informação.
- [4] RFC 4987, TCP SYN Flooding Attacks and Common Mitigations (IETF).
- [5] RFC 2827, Network Ingress Filtering (IETF).
- [6] RFC 7208 (SPF), RFC 6376 (DKIM) e especificação do DMARC, da IETF.
Texto conferido em 15/10/2026.