Wat ass Fuzzing?

Wat ass fuzzing

Intro: Wat ass Fuzzing?

Am Joer 2014, Chinesesch Hacker gehackt an Community Health Systems, eng Profit-US Spidolskette, an huet 4.5 Millioune Patientendaten geklaut. D'Hacker hunn e Feeler mam Numm Heartbleed exploitéiert deen an der OpenSSL Kryptografiebibliothéik e puer Méint virum Hack entdeckt gouf.

Heartbleed ass e Beispill vun enger Klass vun Attackvektoren, déi Ugräifer erlaben Zougang zu engem Zil ze kréien andeems se falsch Ufroe verschécken, déi valabel genuch sinn fir virleefeg Kontrollen ze passéieren. Wärend Professionnelen, déi un verschiddenen Deeler vun enger App schaffen, hiert Bescht maache fir seng Sécherheet ze garantéieren, ass et onméiglech un all Eckfäll ze denken, déi eng App briechen oder se an der Entwécklung vulnérabel maachen.

Dëst ass wou 'fuzzing' erakënnt.

Wat ass e Fuzzing Attack?

Fuzzing, Fuzz Testen, oder e Fuzzing Attack, ass eng automatiséiert Software Testtechnik déi benotzt gëtt fir zoufälleg, onerwaart oder ongëlteg Daten (genannt Fuzz) an e Programm ze fidderen. De Programm gëtt iwwerwaacht fir ongewéinlech oder onerwaart Verhalen wéi Puffer Iwwerfloss, Crashen, Gedächtnisleckage, Fuedem hänkt, a Lies- / Schreifzougangsverletzungen. De Fuzzing-Tool oder de Fuzzer gëtt dann benotzt fir d'Ursaach vum ongewéinleche Verhalen z'entdecken.

Fuzzing baséiert op der Virgab datt all Systemer Bugs enthalen déi waarden op entdeckt ze ginn, a kënne genuch Zäit a Ressourcen ginn fir dat ze maachen. Meescht Systemer hu ganz gutt Parsers oder Input Validatioun verhënneren cyberkrimineller aus Ausnotzen vun all hypothetesch Bugs an engem Programm. Wéi och ëmmer, wéi mir uewen ernimmt, all Eckfäll während der Entwécklung ofdecken ass schwéier.

Fuzzers ginn op Programmer benotzt déi strukturéiert Input huelen oder eng Aart vu Vertrauensgrenz hunn. Zum Beispill, e Programm deen PDF-Dateien akzeptéiert hätt eng Validatioun fir sécherzestellen datt d'Datei eng .pdf-Extensioun a Parser huet fir d'PDF-Datei ze veraarbecht.

En effektive Fuzzer kann Inputen generéieren déi gëlteg genuch sinn fir laanscht dës Grenzen ze kommen, awer ongëlteg genuch fir onerwaart Verhalen méi wäit am Programm ze verursaachen. Dëst ass wichteg well just laanscht d'Validatiounen ze kommen heescht net vill wa kee weidere Schued verursaacht gëtt.

Fuzzers entdecken Attacke Vecteure ganz ähnlech wéi an abegraff wéi SQL Injektioun, Cross-Site Scripting, Puffer Iwwerfloss, an Denial-of-Service Attacken. All dës Attacke sinn e Resultat vun onerwaarten, ongëlteg oder zoufälleg Daten an e System fidderen. 

 

Zorte vu Fuzzers

Fuzzers kënne klasséiert ginn op Basis vun e puer Charakteristiken:

  1. Attack Ziler
  2. Fuzz Kreatioun Method
  3. Bewosstsinn vun Input Struktur
  4. Sensibiliséierung vun Programm Struktur

1. Attack Ziler

Dës Klassifikatioun baséiert op der Aart vun der Plattform déi de Fuzzer benotzt gëtt fir ze testen. Fuzzers ginn allgemeng mat Netzwierkprotokoller a Softwareapplikatiounen benotzt. All Plattform huet eng bestëmmten Typ vun Input et kritt, a verlaangt also verschidden Zorte vu fuzzers.

Zum Beispill, wann Dir mat Uwendungen handelt, geschéien all fuzzing Versuche bei de verschiddenen Inputkanäl vun der Applikatioun, sou wéi d'Benotzerinterface, Kommandozeilenterminal, Formen / Textinputen, a Dateiuploads. Also all Input generéiert vum Fuzzer mussen dës Kanäl passen.

Fuzzers, déi sech mat Kommunikatiounsprotokoller beschäftegen, musse mat Pakete këmmeren. Fuzzers, déi dës Plattform zielen, kënne gefälschte Pakete generéieren, oder souguer als Proxy handelen fir ofgefaange Pakete z'änneren an se ze widderhuelen.

2. Fuzz Créatioun Method

Fuzzers kënnen och klasséiert ginn baséiert op wéi se Daten erstellen fir mat ze fuzzen. Historesch hunn Fuzzers Fuzz erstallt andeems se zoufälleg Daten vun Null generéieren. Dëst war wéi de Professer Barton Miller, den Initiator vun dëser Technik, et am Ufank gemaach huet. Dës Zort Fuzzer gëtt a genannt Generatioun-baséiert Fuzzer.

Wéi och ëmmer, wärend een theoretesch Daten kéint generéieren déi eng Vertrauensgrenz ëmgoen, et géif bedeitend Zäit a Ressourcen huelen fir dat ze maachen. Dofir gëtt dës Method normalerweis fir Systemer mat einfachen Inputstrukturen benotzt.

Eng Léisung fir dëse Problem ass Donnéeën ze mutéieren bekannt als valabel fir Daten ze generéieren déi gëlteg genuch sinn fir eng Vertrauensgrenz ze passéieren, awer ongülteg genuch fir Probleemer ze verursaachen. E gutt Beispill vun dëser ass a DNS Fuzzer déi en Domain Numm hëlt an dann eng grouss Lëscht vun Domain Nimm generéiert fir potenziell béiswëlleg Domainen z'entdecken, déi de Besëtzer vun der spezifizéierter Domain zielen.

Dës Approche ass méi clever wéi déi virdru a verklengert déi méiglech Permutatiounen wesentlech. Fuzzers, déi dës Method benotzen, ginn genannt Mutatioun-baséiert Fuzzers

Et gëtt eng drëtt méi rezent Method déi genetesch Algorithmen benotzt fir op déi optimal Fuzzdaten ze konvergéieren déi néideg sinn fir Schwachstelle ze root. Et funktionnéiert andeems se seng Fuzzdaten kontinuéierlech raffinéiert, andeems d'Leeschtung vun all Testdaten berücksichtegt wann se an e Programm gefüttert ginn. 

Déi schlëmmst performant Sätz vun Daten ginn aus dem Datepool geläscht, während déi bescht mutéiert an / oder kombinéiert sinn. Déi nei Generatioun vun Daten gëtt dann benotzt fir erëm ze fuzztesten. Dës Fuzzers ginn als evolutiv Mutatioun-baséiert Fuzzers.

3. Sensibiliséierung vun Input Struktur

Dës Klassifikatioun baséiert op ob e Fuzzer bewosst ass an aktiv d'Inputstruktur vun engem Programm benotzt fir Fuzzdaten ze generéieren. A domm fuzzer (e Fuzzer deen d'Inputstruktur vun engem Programm net bewosst ass) generéiert Fuzz op eng meeschtens zoufälleg Manéier. Dëst kéint souwuel Generatioun a Mutatioun-baséiert Fuzzers enthalen. 


Sollt e Fuzzer mam Inputmodell vun engem Programm geliwwert ginn, kann de Fuzzer dann probéieren Daten ze generéieren oder ze mutéieren sou datt et dem geliwwert Input Modell entsprécht. Dës Approche reduzéiert weider d'Quantitéit u Ressourcen déi verbraucht ginn fir ongülteg Donnéeën ze generéieren. Esou e Fuzzer gëtt a genannt intelligent fuzzer.

4. Sensibiliséierung vun Programm Struktur

Fuzzers kënnen och klasséiert ginn op Basis ob se bewosst sinn iwwer déi intern Aarbecht vum Programm deen se fuzzéieren, a benotzen dës Bewosstsinn fir d'Fuzz-Datengeneratioun ze hëllefen. Wann Fuzzers benotzt gi fir e Programm ze testen ouni seng intern Struktur ze verstoen, gëtt et Black-Box Testen genannt. 

Fuzz Donnéeën generéiert während Black-Box Testen sinn normalerweis zoufälleg ausser de Fuzzer ass en evolutiver Mutatiounsbaséierten Fuzzer, wou et 'léiert' andeems se den Effekt vu sengem Fuzzing iwwerwaacht an dat benotzt Informatiounen fir säi Fuzz-Datenset ze verfeineren.

White-Box Testen op der anerer Säit benotzt e Modell vun der interner Struktur vum Programm fir Fuzzdaten ze generéieren. Dës Approche léisst e Fuzzer op kritesch Plazen an engem Programm kommen an et testen. 

Populär Fuzzing Tools

Et gi vill Fuzzing Handwierksgeschir dobaussen vun Pen Tester benotzt. E puer vun de populäersten sinn:

Aschränkungen vun Fuzzing

Wärend Fuzzing eng wierklech nëtzlech Pen-Testtechnik ass, ass et net ouni seng Feeler. E puer vun dësen sinn:

  • Et dauert zimlech laang Zäit fir ze lafen.
  • Crashen an aner onerwaart Verhalen, déi während der Black-Box Testen vun engem Programm fonnt goufen, kënne schwéier sinn, wann net onméiglech ze analyséieren oder ze debuggen.
  • D'Erstelle vun Mutatiounstemplates fir Smart Mutatiounsbaséiert Fuzzers kann Zäitopwänneg sinn. Heiansdo ass et vläicht net emol méiglech wéinst dem Inputmodell propriétaire oder onbekannt.

 

Trotzdem ass et e zimmlech nëtzlecht an noutwendegt Tool fir jiddereen deen Käfere wëll entdecken virun de Béisen.

Konklusioun

Fuzzing ass eng mächteg Pen-Test Technik déi benotzt ka ginn fir Schwachstelle vu Software z'entdecken. Et gi vill verschidden Zorte vu Fuzzer, an nei Fuzzer ginn déi ganzen Zäit entwéckelt. Wärend Fuzzing en onheemlech nëtzlecht Tool ass, huet et seng Aschränkungen. Zum Beispill, Fuzzers kënnen nëmme sou vill Schwachstelle fannen a si kënne ganz ressourceintensiv sinn. Wéi och ëmmer, wann Dir dës erstaunlech Technik fir Iech selwer ausprobéiere wëllt, hu mir eng gratis DNS Fuzzer API déi Dir op eiser Plattform benotze kënnt. 

Also wat wart Dir? 

Start fuzzing haut!

Bypass TOR Zensur

Ëmgank Internet Zensur mat TOR

Bypass Internet Zensur mat TOR Aféierung An enger Welt wou den Zougang zu Informatioun ëmmer méi reglementéiert gëtt, sinn Tools wéi den Tor Netzwierk entscheedend ginn fir

Weiderliesen »