Ir para o conteúdo
TI - Segurança da Informação

Ameaças aos Sistemas Computacionais

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. A) worm e spyware.
  2. B) backdoor e rootkit.
  3. C) rootkit e backdoor.
  4. D) bot e adware.
  5. 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:

  1. 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.
  2. Aproximação: o atacante cria o pretexto e o contato, por e-mail, telefone ou pessoalmente; sai uma relação de confiança.
  3. Exploração: a vítima entrega a senha, abre o anexo ou faz a transferência; sai o acesso ou o dinheiro.
  4. Saída: o atacante encerra o contato sem levantar suspeita e apaga rastros; sai um incidente que pode demorar a ser notado.
  1. Coleta de informação sobre a vítima
  2. Criação do pretexto e contato
  3. A vítima confia no contato?
    SimEntrega a senha, abre o anexo ou paga
    NãoO ataque falha ou recomeça por outro canal
  4. Saída sem levantar suspeita
Etapas do ataque de engenharia social

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.

  1. Localize o fim do nome do servidor: tudo o que vem antes da primeira barra. O nome é www.bancoexemplo.com.br.acesso-seguro.net.
  2. Leia o nome da direita para a esquerda. O domínio de topo é net, e o domínio registrado é acesso-seguro.net.
  3. Tudo o que fica à esquerda (www.bancoexemplo.com.br) são subdomínios, que o dono de acesso-seguro.net cria livremente.
  4. Conclusão: o site pertence a acesso-seguro.net, e não a bancoexemplo.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 é:

  1. A) O site pertence ao governo, porque o nome começa por gov.br.
  2. B) O golpe é pharming, porque o servidor recebeu o link pronto.
  3. C) O golpe é vishing, porque chegou ao celular.
  4. D) O golpe é smishing, e o domínio registrado é restituicao-receita.online.
  5. 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:

  1. 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.
  2. 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.
  3. 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.

  1. Conferência do SPF: o IP 203.0.113.50 não está na lista. Resultado: falha.
  2. Conferência do DKIM: a mensagem não tem assinatura do domínio orgao.exemplo. Resultado: falha.
  3. Leitura do DMARC: o domínio publica a política reject. Resultado: o servidor que recebe recusa a mensagem.
  4. 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.

  1. Atacante envia SYN com IP de origem falso
  2. Servidor reserva memória e responde SYN-ACK ao IP falso
  3. O ACK final chega?
    SimA conexão se completa normalmente
    NãoA conexão fica semiaberta até expirar
  4. Fila cheia: clientes legítimos são recusados
SYN flood

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.

  1. Fator de amplificação: 3.000 ÷ 60 = 50.
  2. Tráfego que sai dos bots: 200 × 2 Mbps = 400 Mbps.
  3. Tráfego que chega à vítima: 400 Mbps × 50 = 20.000 Mbps.
  4. 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

  1. A) Slowloris; definir tempo máximo para receber o cabeçalho e limitar conexões por cliente.
  2. B) Smurf; desativar a resposta a ping enviado ao endereço de broadcast.
  3. C) SYN flood; ativar SYN cookies no sistema operacional.
  4. D) amplificação de DNS; contratar centro de limpeza de tráfego.
  5. 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?

  1. Só letras minúsculas: 26 opções por posição. Combinações: 26⁸ = 208.827.064.576.
  2. Tempo: 208.827.064.576 ÷ 1.000.000.000 ≈ 209 segundos, ou cerca de 3,5 minutos.
  3. Letras minúsculas, maiúsculas e algarismos: 26 + 26 + 10 = 62 opções. Combinações: 62⁸ = 218.340.105.584.896.
  4. Tempo: 218.340.105.584.896 ÷ 1.000.000.000 ≈ 218.340 segundos, ou cerca de 60,7 horas (2,5 dias).
  5. 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.
  6. 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
  1. A consulta montada fica: SELECT nome FROM usuario WHERE login = 'x' OR '1'='1' --' AND senha = '...'.
  2. O -- inicia um comentário no SQL, e o banco ignora tudo o que vem depois, inclusive a conferência da senha.
  3. A condição que sobra é login = 'x' OR '1'='1'. Como '1'='1' é sempre verdadeiro, a condição vale para todas as linhas.
  4. 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:

  1. A vítima está logada no banco, e o navegador guarda o cookie de sessão.
  2. A vítima abre uma página do atacante, em outra aba.
  3. A página do atacante contém um formulário invisível que se envia sozinho ao banco, pedindo uma transferência.
  4. O navegador envia o pedido com o cookie de sessão da vítima.
  5. 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=100 para pedido=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 é

  1. A) guardar o cookie de sessão com o atributo HttpOnly.
  2. B) adicionar token anti-CSRF ao formulário de busca.
  3. C) codificar a saída da página com o título dos processos.
  4. D) limitar o tamanho do campo de busca no formulário do navegador.
  5. 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.

  1. 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).
  2. A busca de uma mensagem para um hash específico no mesmo MD5 precisaria de cerca de 2¹²⁸ tentativas.
  3. Hash de 256 bits (SHA-256): colisão por aniversário em cerca de 2¹²⁸ tentativas.
  4. 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:

  1. 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.
  2. Procure a vítima do engano: se foi uma pessoa, é engenharia social; se foi um protocolo que aceitou origem falsa, é spoofing.
  3. Procure o efeito: serviço fora do ar é negação de serviço; dado lido é ataque à confidencialidade; dado alterado é ataque à integridade.
  4. 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".

  1. Propagação: não há programa. Passo sem resposta.
  2. Vítima do engano: uma pessoa, por telefone. Engenharia social.
  3. Efeito: a senha é revelada, o que atinge a confidencialidade.
  4. 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.

  1. Ataque de negação de serviço distribuído.
  2. Sniffing em rede sem criptografia.
  3. 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, é

  1. A) confidencialidade, integridade e disponibilidade.
  2. B) integridade, disponibilidade e confidencialidade.
  3. C) disponibilidade, confidencialidade e integridade.
  4. D) disponibilidade, integridade e confidencialidade.
  5. 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

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.

Conferido em 15/10/2026.

Estude todos os tópicos do seu edital assim.

A assinatura custa R$ 50 por mês ou R$ 500 por ano. Você tem garantia de 7 dias.