Hackeři často používají fuzzers, aby hledali slabé stránky v softwaru a zkoumali je pro slabé stránky, které mohou zneužít. Vývojáři softwaru mohou použít fuzzer k předvídání a obraně proti těmto typům útoků.
Původ
První fuzzer byl napsán na počátku 80. let vývojářem Steve Capps, aby otestoval slabost v programech pro počítač Macintosh. On volal jeho program “opice, ” odkazovat se na klasický porekadlo opice stisknout náhodné klíče na psacím stroji pro nekonečné množství času. Teorie je, že pokud dostaneme dostatek času, opice nakonec napíše kompletní díla Shakespeara. Ačkoli tento přístup k testování softwaru je typicky nazvaný “fuzzing, ” to je také nazvané “testování opice” protože Capps programu.
Seznam fuzzers
Fuzzing techniky mohou být použity k testování softwaru, a mnoho fuzzers existují pro specifické účely.
Níže je seznam fuzzers, většina z nich je open-source a mnoho stále v aktivním vývoji.
Fuzzer Jméno / URL | Popis |
---|---|
Google Sanitizers | Skupina čtyř datových dezinfekčních prostředků vyvinutých v Googlu, které používají fuzzing k detekci chyb programu:
|
afl-fuzz | American Fuzzy Lop, nástroj, který využívá genetické algoritmy k testování bezpečnosti kompilovaných programů. |
Backfuzz | Protokol fuzzing toolkit. |
BrundleFuzz | Distribuovaný fuzzer pro Windows a Linux. |
CERT FOE | Failure Observation Engine, nástroj vyvinutý CERT, který používá mutační fuzzing k detekci zranitelností v programech Windows. |
CERTfuzz | Zdrojový kód CERT FOE. |
Choronzon | Evoluční fuzzer založený na znalostech. |
Diffy | Nástroj vyvinutý společností Twitter k odhalení chyb ve webových službách. |
Dizzy | Fuzzing knihovna pro Python |
dfuzzer | Fuzzing nástroj pro testování procesů, které komunikují přes D-Bus IPC a RPC mechanismus. |
dotdotpwn | Nástroj pro testování webových aplikací pro chyby průchodnosti cesty. |
Dranzer | Fuzz tester pro ovládací prvky ActiveX. |
EMFFuzzer | Enhanced metafile fuzz tester. |
Využitelný | Rozšíření pro GDB (debugger GNU), který analyzuje spustitelné soubory Linuxu a klasifikuje jejich chyby podle závažnosti podle známých zneužití. Původně vyvinut v CERT. |
Go-fuzz | Fuzz tester pro Go programy, které naplňují své objekty náhodnými hodnotami. |
grr | Překládá 32-bitové binární soubory na 64-bit, což je fuzzing jako součást procesu. |
honggfuzz | Evoluční, zpětnovazební fuzzer pro hardware a software. |
Fuzzer HTTP / 2 | Fuzzer pro HTTP / 2 aplikace, stále k dispozici ke stažení, ale již není aktivně vyvíjen. |
Hodore | Fuzzer "o něco více než naprosto hloupý". |
iFuzzer | Fuzzer napsaný v Pythonu, který používá Mercurial a Valgrind. |
KEMUfuzzer | Fuzzer pro virtuální počítače běžící na emulačních platformách QEMU, VMware, VirtualBox nebo BHOCS. |
KernelFuzzer | Fuzzer pro systémová volání jádra |
LibFuzzer | Knihovna pro in-process, evoluční, pokrytí-řízené fuzz testování. |
Netzob | Fuzzer pro komunikační protokoly s reverzním inženýrstvím. |
Neurální fuzzer | Fuzzer, který používá strojové učení (neuronové sítě) k provádění jeho testování. |
Noční můra | Distribuovaný fuzzer s webovými administračními nástroji. |
Pathgrind | Dynamická analýza založená na cestě pro 32bitové aplikace. |
Perf-fuzzer | Fuzzer speciálně navržený tak, aby otestoval systémové volání perf_event_open () v jádře Linuxu. |
Pulsar | Fuzzer, který "učí" protokoly. |
PyJFuzz | Fuzzer Python JSON. |
QuickFuzz | Experimentální gruzzer gramatiky napsaný v Haskellu. |
Radamse | Univerzální fuzzer. |
Chlípný | Jednoduchý Python fuzzer, který generuje náhodný vstup pro testovaný program. |
sfuzz | Jednoduché fuzz. "Přesně to, co to zní - jednoduchý fuzzer." Zahrnut jako součást sady nástrojů Kali Linux. |
skipfish | Webový bezpečnostní skener vyvinutý na Googlu. |
syntribios | Automatizovaný tester fuzz pro webové API, psaný v Pythonu a udržovaný OpenStack Security Group. |
TriforceAFL | Fuzzer s plným systémem, který používá QEMU. |
Wapiti | Snímač zranitelnosti webových aplikací. |
Wfuzz | Fuzzer pro hrubou sílu pro webové aplikace. |
zzuf | Deterministický, transparentní vstupní vstupní fuzzer aplikace, který náhodně mění bity ve vstupních operacích souboru. |
Následují fuzzing postroje, nebo rámce, které vám mohou pomoci spravovat vaše fuzz testování.
Fuzzing Framework | Popis |
---|---|
CERT BFF | BFF (Basic Fuzzing Framework), vyvinutý CERTem, určený k nalezení zranitelností v aplikacích Windows, MacOS a Linux. |
FuzzFlow | Fuzzing framework v AngularJS. |
Fuzzinator | Rámec pro náhodné fuzz testování. |
FuzzLabs | Univerzální fuzz testovací rámec. |
Bruska | Fuzz testovací automat / framework pro testování webových prohlížečů. |
Koťátko | Fuzz testovací rámec napsaný v Pythonu. |
ofuzz | Fuzzing framework napsaný v OCaml. |
Nodefuzz | Fuzz testovací rámec pro webové prohlížeče, napsaný v nodejs. |
PasivníFuzzFrameworkOSX | Fuzzer pro testování zranitelností v jádře macOS. |
Peach Fuzzer | Platforma pro fuzz testování, která může "otestovat prakticky jakýkoliv systém pro neznámé chyby". |
RamFuzz | Fuzzer pro testování jednotlivých parametrů objektových metod. |
Sulley | "Plně automatizovaný a bezobslužný, čistý Python" fuzzing framework. |
FunFuzzer | Python fuzzing postroj pro JavaScript motory a DOM renderery, Mozilla. |
Chyby, programovací termíny, bezpečnostní termíny, testování softwaru