O que é Fuzzing ? – TI Forense
Home Termos	O que é Fuzzing ?
por - TI Forense 09/11/2018
escrito por - TI Forense 09/11/2018
Os hackers, por sua vez, retratam seu trabalho como um processo preciso de aprendizado de cada detalhe de um sistema – até melhor do que o de seu projetista – e, em seguida, aprofundam-se nele para explorar falhas secretas. Mas, com a mesma frequência, é praticamente o oposto, um processo fundamentalmente aleatório de cutucar uma máquina e observar o que acontece. Refine esse ataque aleatório a uma tentativa cuidadosa de tentativa e erro, e isso se torna o que os hackers chamam de "fuzzing" – uma ferramenta poderosa para a exploração e a defesa de computadores.
No mundo da segurança cibernética, fuzzing é o processo geralmente automatizado de encontrar bugs de software hackable aleatoriamente alimentando diferentes permutações de dados em um programa de destino até que uma dessas permutações revele uma vulnerabilidade. É um processo antigo, mas cada vez mais comum, tanto para hackers que procuram vulnerabilidades para explorar como para os defensores que tentam encontrá-los em primeiro lugar para corrigir. E numa época em que qualquer um pode criar poderosos recursos de computação para bombardear um aplicativo de vítima com dados inúteis em busca de um bug, ele se torna uma frente essencial na corrida armamentista de dia zero.
Comparado com a engenharia reversa tradicional, "é um tipo de ciência estúpida", diz Pedram Amini, diretor de tecnologia da InQuest, empresa de segurança cibernética, e co-autora do livro Fuzzing: Brute Force Vulnerability Discovery. "Você está lançando uma grande quantidade de dados em um programa, alterando-o rapidamente e confiando no monitoramento do software para descobrir quando algo ruim aconteceu, em vez de mapear meticulosamente o fluxo de dados para encontrar um bug … É uma maneira de matar um monte de insetos muito rapidamente ".
Um hacker fazendo o fuzzing do Internet Explorer, por exemplo, pode executar o navegador da Microsoft em uma ferramenta de depuração, para que eles possam rastrear todos os comandos que o programa executa na memória do computador. Em seguida, eles apontavam o navegador para seu próprio servidor da Web, um projetado para executar seu programa de difusão. Esse fuzzer criaria milhares ou até milhões de páginas da web diferentes e as carregaria em seu destino de navegador, experimentando variação após variação de HTML e javascript para ver como o navegador responde. Depois de dias ou mesmo semanas ou meses desses testes automatizados, o hacker teria registros de milhares de vezes que o navegador falhava em resposta a uma das entradas.
Essas falhas em si não representam tanto ataques úteis quanto aborrecimentos; O verdadeiro objetivo da fuzzing não é apenas travar um programa, mas sim seqüestrá-lo. Assim, um hacker irá vasculhar suas entradas de fuzz que levaram a falhas para ver que tipos de erros eles causaram. Em alguns pequenos conjuntos de casos, essas falhas podem ter acontecido por uma razão interessante – por exemplo, porque a entrada fez com que o programa executasse comandos que estão armazenados no lugar errado na memória. E nesses casos, o hacker pode, ocasionalmente, ser capaz de escrever seus próprios comandos para esse local de memória, enganando o programa para que ele faça seus lances – o santo graal do hacking conhecido como execução de código. "Você sacode uma árvore com muita força e usa vários filtros", diz Amini. "Eventualmente a fruta sairá."
O método de Fuzzing de usar ajustes aleatórios de dados para descobrir bugs foi um acidente. Em 1987, o professor Barton Miller, da Universidade de Wisconsin, em Madison, tentava usar o computador desktop VAX em seu escritório através de um terminal em sua casa. Mas ele estava se conectando a essa máquina UNIX através de uma linha telefônica usando um modem antiquado sem correção de erros, e uma tempestade continuou introduzindo ruído nos comandos que ele estava digitando. Programas no VAX continuaram travando. "Parecia estranho, e desencadeou a ideia de que deveríamos estudá-lo", diz ele.
Com um grupo de estudantes, Miller criou a primeira ferramenta de fuzzing de propósito específico para tentar explorar esse método de tropeçar aleatoriamente em falhas de segurança, e submeteram um documento sobre isso a conferências. "A comunidade de software me matou. 'Onde está o seu modelo formal?' Eles diriam, eu diria: "Estou apenas tentando encontrar insetos". Eu fui varrido sobre as brasas ", lembra ele. "Hoje, se você é um hacker tentando decifrar um sistema, a primeira coisa que você faz é fuzz testá-lo."
Na verdade, o fuzzing cresceu de uma técnica de baixo orçamento usada por hackers individuais para uma espécie de auditoria de segurança de alto risco executada por grandes empresas em seu próprio código. Hackers solitários podem usar serviços como a Amazon para criar exércitos de centenas de computadores que testam um programa em paralelo. E agora empresas como o Google também dedicam seus próprios recursos de servidor significativos para lançar código aleatório em programas para encontrar suas falhas, mais recentemente usando o aprendizado de máquina para refinar o processo. Empresas como a Peach Fuzzer e a Codenomicon até construíram negócios em todo o processo.
Tudo isso, argumenta Amini, tornou a difusão mais relevante do que nunca. "As lojas de software estão fazendo esse trabalho como parte padrão de seu ciclo de desenvolvimento", diz ele. "É um ótimo investimento, e eles estão ajudando a melhorar a segurança mundial ao gravar ciclos de software para todos".
Dica de Leitura: https://research.aurainfosec.io/hunting-for-bugs-101/
Fonte: https://www.wired.com/2016/06/hacker-lexicon-fuzzing/
ataquecaixafuzzerfuzzingpretateste
Análise de Artefatos: Videos que foram Visualizados no VLC – Windows e Linux
Rayne 02/04/2019 - 09:34
Seria legal se usassem a definição correta de hackers, pois quem usa informações adquiridas de forma ilícita e para ganhos próprios, com objetivo de causar mal ou danos a outro indivíduo se chama crackers e não hackers.
Daniel Oliveira 02/04/2019 - 10:26
Olá, no sentido estrito da palavra você está certa. Contudo, o termo hacker foi utilizado no sentido amplo se referindo à hacker como um especialista. Veja que mesmo um profissional de segurança da informação pode fazer uso desta técnica para fazer um hardening em sua empresa.