Čo je Fuzz Testing?

Fuzz Testovanie sa považuje za typ testovania, pri ktorom sú potrebné automatizované alebo poloautomatizované testovacie techniky na zistenie chýb v kódovaní, ako aj medzier v zabezpečení v softvéri alebo operačných systémoch poskytnutím vstupu náhodných údajov. do systému. Tieto náhodné údaje sa nazývajú FUZZ. Koniec koncov sa to deje, systém sa kontroluje na rôzne typy výnimiek, ako napríklad zlyhanie systému alebo dokonca zlyhanie vstavaného kódu a omnoho viac. Toto bolo pôvodne vyvinuté niekým menom Barton Miller, ktorý pochádza z Wisconsinskej univerzity. Nazýva sa aj fuzzing, ktorý sa považuje za typ bezpečnostného testovania.

Prečo potrebujeme testovanie chmele?

  • Fuzz testovanie má často schopnosť zistiť najzávažnejšie bezpečnostné chyby v systéme.
  • Poskytuje omnoho efektívnejšie výsledky, keď ich použijeme spolu s testami Black Box, Beta Testing alebo rôznymi metódami ladenia.
  • Je tiež potrebné overiť zraniteľnosť softvéru. Je to tiež skutočne nákladovo efektívna testovacia technika.
  • Je považovaná za jednu techniku ​​testovania čiernych skriniek. Je to tiež jeden z najpoužívanejších hackerov metód, ktorý zistí zraniteľnosť systému.

Ako sa vykonáva fuzzy testovanie?

Kroky pre fuzzy testovanie zahŕňajú základné kroky testovania -

Krok 1 : Rozpoznanie cieľového systému.

Krok 2 : Rozpoznávanie vstupov.

Krok 3 : Generovanie chybných údajov.

Krok 4 : Vykonanie testu pomocou fuzzy údajov.

Krok 5 : Monitorovanie správania systému.

Krok 6 : Zaznamenávanie chýb.

Príklady Fuzzers

Existuje veľa fuzzers, ako je uvedené nižšie:

  • Fuzzers na báze mutácií: Tieto fuzzery zmenia existujúce vzorky údajov tak, aby sa získali nové testovacie údaje. Je to celkom jednoduché, rovnako ako priama metóda, ktorá začína spolu s primeraným protokolom a neustále sa prelína každý bajt alebo dokonca ako súbor.
  • Generátory založené na generáciách: Definujú údaje, ktoré sú nové v závislosti od vstupu modelu. Začína generovanie vstupu od nuly v závislosti od špecifikácie.
  • Protokol založený na protokole: Fuzzer sa považuje za najúspešnejší fuzzer, ktorý má celkom vysvetlené znalosti týkajúce sa formátu protokolu, ktorý sa má testovať. Toto porozumenie závisí od špecifikácie. Zahŕňa vypracovanie súboru špecifikácií v nástroji a potom použitie techniky založenej na modeli. Je tiež známa ako testovanie syntaxe alebo testovanie gramatiky alebo testovanie robustnosti.

Máme dve obmedzenia tohto fuzzingu založeného na protokole, ktorý je uvedený nižšie:

  1. Nemôžeme pokračovať v testovaní, kým a pokiaľ nie je špecifikácia celkom vyspelá.
  2. Existuje veľa protokolov, ktoré sú rozšírením publikovaných protokolov. V prípade, že fuzz testovanie je založené na týchto zverejnených špecifikáciách, potom by testovacie pokrytie týchto nových protokolov bolo obmedzené.

Existuje najjednoduchšia forma fuzzingového testovania, ktorou je posielanie náhodného vstupu do softvéru vo forme protokolových paketov alebo dokonca vo forme udalosti. Tento konkrétny spôsob odovzdávania náhodných vstupov sa považuje za pomerne silný na lokalizáciu chýb v rôznych aplikáciách a službách. Existujú aj iné techniky, ktoré sú tiež k dispozícii a tiež sa dajú pomerne ľahko implementovať.

Typy chýb zistené testom Fuzz

  • Nedostatky pamäte a zlyhania tvrdenia: Táto metóda je široko používaná v širokých aplikáciách, kde chyby ovplyvňujú bezpečnosť pamäte, ktorá sa považuje za vážnu zraniteľnosť.
  • Neplatný vstup: Fuzzers sú potrebné na vygenerovanie neplatného vstupu, ktorý sa vyžaduje pri testovaní rutín spracovania chýb pri testovaní fuzz. Je tiež nevyhnutné, aby softvér, ktorý nekontroluje vstup. Fuzzing sa považuje za spôsob automatizácie negatívneho testovania.
  • Správnosť chýb: Fuzzing je potrebná na detekciu niekoľkých druhov chýb „správnosti“, ako je poškodená databáza alebo zlé výsledky vyhľadávania a oveľa viac.

Nástroje na testovanie chmele

Nástroje, ktoré sú dosť užitočné pri zabezpečení webu, sa môžu do veľkej miery použiť aj pri testovaní chmúr alebo fuzzy. Napríklad Peach Fuzzer, Burp Suite atď.

1. Broskyňový fuzzer

Tento nástroj poskytuje v porovnaní so skenerom omnoho robustnejšie a bezpečnejšie pokrytie. Ak však hovoríme o iných testovacích nástrojoch, majú možnosť vyhľadávať iba známe hrozby. Peach Fuzzer však umožňuje používateľom objavovať známe aj neznáme hrozby.

2. Spike Proxy

Spike je považovaný za nástroj profesionálnej úrovne, ktorý hľadá zraniteľné miesta na úrovni aplikácií v rôznych webových aplikáciách. SPIKE Proxy zvažuje iba základy, ako je SQL Injection alebo cross-site-scripting. Je to však úplne otvorená infraštruktúra Pythonu. SPIKE Proxy je prítomný pre Linux aj Windows.

výhody

  • Chyby, ktoré sa objavia pri testovaní chmeľu, sa často považujú za závažné a väčšinou ich používajú hackeri, ktorí pozostávajú z havárií, úniku pamäte alebo neošetřenej výnimky a ešte oveľa viac.
  • Ak testeri nezistia žiadnu chybu alebo chybu z dôvodu obmedzenia času a zdrojov, môžu byť tieto chyby objavené pri testovaní Fuzz.

nevýhody

  • Samotné testovanie chmele nemá schopnosť podať celkový scenár všetkých bezpečnostných hrozieb.
  • Testovanie chmeľu sa tiež nepovažuje za skutočne efektívne pri riešení bezpečnostných chýb, ktoré nespôsobujú zlyhania programu, ako sú vírusy, červy atď.
  • Má schopnosť odhaliť iba jednoduché hrozby.
  • Na dosiahnutie účinného výkonu si vyžaduje značný čas.

záver

Môžeme teda konštatovať, že v softvérovom inžinierstve toto testovanie, to znamená testovanie Fuzz, demonštruje prítomnosť chýb v akejkoľvek aplikácii. Toto testovanie nezaručuje úplnú detekciu chýb v žiadnej aplikácii. Ak však použijeme túto techniku ​​Fuzz, zaručuje to, že aplikácia je dosť robustná a bezpečná. Dôvodom je, že testovanie chmele pomáha pri odhaľovaní mnohých bežných zraniteľností.

Odporúčané články

Toto je sprievodca testom Fuzz. Tu diskutujeme o tom, čo je fuzz testovanie? testovacie nástroje, výhody a nevýhody. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Testovanie výkonnosti
  2. Typy testovania softvéru
  3. Čo je testovanie použiteľnosti?
  4. Statické testovanie

Kategórie: