Um novo sistema operacional foi instalado nos servidores de um Centro de Dados, e a equipe de segurança recebeu a informação de que o novo sistema pode ter uma vulnerabilidade dia-zero. As vulnerabilidades dia-zero são perigosas porque são desconhecidas e suas correções ainda não foram produzidas. Durante o período de espera pela correção, os usuários ficam sujeitos às tentativas de explorações dessas vulnerabilidades pelos hackers. Uma das formas utilizadas pelos hackers para a descoberta das vulnerabilidades dia-zero é o fuzzing, cujo processo de funcionamento consiste em:
- A)inserir muitos dados em intervalos diferentes e verificar como um programa responde;
Certa: fuzzing consiste em enviar entradas variadas, muitas vezes aleatórias ou inválidas, para observar como o programa responde e descobrir falhas.
- B)adaptar vulnerabilidades anteriores a novos programas;
Errada: isso descreve mais uma adaptação ou reaproveitamento de técnicas antigas de ataque, não fuzzing.
- C)roubar a identidade de um desenvolvedor para ter acesso ao código-fonte do programa;
Errada: isso é roubo de credenciais ou engenharia social para acesso indevido, e não uma técnica de descoberta de vulnerabilidade por teste de entradas.
- D)confundir um roteador a fim de se passar por um ativo da rede;
Errada: isso se aproxima de spoofing ou falsificação de identidade na rede, sem relação com fuzzing.
- E)enviar um código malicioso através de uma porta aberta na aplicação.
Errada: isso descreve a exploração de uma porta aberta com código malicioso, ou seja, ataque/exploração, não a técnica de descoberta de falhas.
Gabarito: A
Quando a banca fala em vulnerabilidade dia-zero, pense em falha recém-descoberta, ainda sem correção disponível, o que deixa o sistema exposto até surgir um patch ou mitigação. Nesse cenário, o atacante tenta achar falhas antes que o fabricante as corrija, e uma técnica clássica para isso é o fuzzing. O fuzzing funciona assim: o pesquisador ou atacante envia entradas aleatórias, inválidas, exageradas ou fora do padrão para o programa, observando como ele reage. Se o sistema travar, gerar erro inesperado ou permitir comportamento estranho, isso pode indicar uma vulnerabilidade explorável. É quase como testar a resistência do software com “chutes” muito bem bagunçados. Por isso, a alternativa A está correta: ela descreve exatamente a ideia de inserir muitos dados em diferentes variações e verificar a resposta do programa. Em termos doutrinários, fuzzing é uma técnica de teste dinâmico de segurança usada para descobrir falhas de robustez e possíveis vulnerabilidades, especialmente em softwares expostos a entrada de dados do usuário. As demais opções falam de outras coisas: reutilização de falhas antigas, engenharia social, spoofing e distribuição de malware. Ou seja, a banca quis ver se você reconhecia o termo técnico, não se o nome parecia assustador. E, nesta questão, o nome assustador era só a embalagem do fuzzing mesmo.