Co je Fuzz Testing?

Fuzz Testing je považován za typ testování, při kterém jsou k nalezení chyb v kódování a mezer v zabezpečení v softwaru nebo operačních systémech vyžadovány buď automatizované nebo poloautomatické testovací techniky poskytnutím vstupu náhodných dat. do systému. Tato náhodná data se nazývají FUZZ. Koneckonců, to se děje, systém je zkontrolován na různé typy výjimek, jako je buď zhroucení systému nebo dokonce vestavěný kód selže a mnohem více. Toto bylo původně vyvinuto někým volal Barton Miller kdo byl od University Wisconsinu. To je také nazýváno fuzzing je považován za typ testování bezpečnosti.

Proč potřebujeme testování chmele?

  • Fuzz testování má často schopnost zjistit nejzávažnější bezpečnostní chyby v systému.
  • Poskytuje mnohem efektivnější výsledky, když je používáme společně s testováním Black Box, Beta Testing nebo různými metodami ladění.
  • Je také nutné ověřit zranitelnost softwaru. Je to také nákladově efektivní technika testování.
  • To je považováno za jednu techniku ​​testování černé skříňky. Je to také jeden z nejpoužívanějších hackerů metod, který najde zranitelnost systému.

Jak se provádí fuzzy testování?

Kroky pro fuzzy testování zahrnují základní kroky testování -

Krok 1 : Rozpoznání cílového systému.

Krok 2 : Rozpoznávání vstupů.

Krok 3 : Generování chybných dat.

Krok 4 : Provedení testu pomocí fuzzy dat.

Krok 5 : Sledování chování systému.

Krok 6 : Protokolování vad.

Příklady Fuzzers

Existuje mnoho fuzzers, jak je uvedeno níže:

  • Mutátoři založené na mutacích: Tyto fuzzery mění vzorky dat, které existují, aby vytvořily nové testovací údaje. Je to docela snadné, stejně jako přímá metoda, která začíná spolu s rozumným protokolem a neustále se mísí každý bajt nebo dokonce jako soubor.
  • Generátory založené na generacích: Definují data, která jsou nová v závislosti na vstupu modelu. Zahájí generování vstupu od nuly v závislosti na specifikaci.
  • Fuzzer založený na protokolu: Je považován za fuzzer, který je nejúspěšnější a má docela vysvětlené znalosti týkající se formátu protokolu, který má být testován. Toto porozumění závisí na specifikaci. Zahrnuje psaní řady specifikací uvnitř nástroje a poté využívá techniku ​​založenou na modelu. Je známá také jako testování syntaxe nebo testování gramatiky nebo testování robustnosti.

Máme dvě omezení tohoto fuzzingu založeného na protokolu, který je uveden níže:

  1. Nemůžeme pokračovat v testování, dokud a pokud specifikace není zcela vyspělá.
  2. Existuje mnoho protokolů, které jsou rozšířením publikovaných protokolů. V případě, že fuzz testování je založeno na těchto specifikacích, které jsou zveřejněny, pak by se testovací pokrytí těchto nových protokolů omezilo.

Existuje nejjednodušší forma fuzzingového testování, které je odeslání náhodného vstupu do softwaru ve formě protokolových paketů nebo dokonce ve formě události. Tento konkrétní způsob předávání náhodných vstupů je považován za poměrně silný pro lokalizaci chyb v různých aplikacích a službách. Existují i ​​jiné techniky, které jsou také k dispozici, a také se poměrně snadno implementují.

Typy chyb detekované testem Fuzz

  • Selhání paměti a selhání assertion: Tato metoda je velmi používána v širokých aplikacích, kde chyby ovlivňují bezpečnost paměti, která je považována za vážnou zranitelnost.
  • Neplatný vstup: Fuzzers jsou potřeba ke generování neplatného vstupu, který je vyžadován při testování rutin zpracování chyb při testování fuzz. Je také zcela nezbytné pro software, který nekontroluje vstup. Fuzzing je považován za způsob automatizace negativního testování.
  • Správnost chyb: Fuzzing je nutná pro detekci několika druhů chyb „správnosti“, jako je poškozená databáze nebo špatné výsledky vyhledávání a mnohem více.

Nástroje pro testování chmele

Nástroje, které jsou docela užitečné v zabezpečení webu, lze také do značné míry použít při testování chmýří nebo fuzzy. Například Peach Fuzzer, Burp Suite atd.

1. Broskev Fuzzer

Tento nástroj poskytuje mnohem robustnější a bezpečnější pokrytí ve srovnání se skenerem. Pokud však hovoříme o jiných testovacích nástrojích, budou mít možnost vyhledávat pouze známé hrozby. Ale Peach Fuzzer umožňuje uživatelům objevovat známé i neznámé hrozby.

2. Spike Proxy

Spike je považován za nástroj profesionální úrovně, který hledá zranitelnosti na úrovni aplikací v různých webových aplikacích. SPIKE Proxy zvažuje pouze základy, jako je SQL Injection nebo cross-site-scripting. Jedná se však o plně otevřenou infrastrukturu Pythonu. SPIKE Proxy je přítomen pro Linux i Windows.

Výhody

  • Chyby, které se objevují při testování chmele, jsou často považovány za závažné a většinou se používají v hackerech, které se skládají z havárií, úniku paměti nebo neošetřené výjimky a mnohem více.
  • Pokud testeři neobjeví jakoukoli chybu nebo chybu kvůli omezení času a zdrojů, mohou být tyto chyby objeveny při testování Fuzz.

Nevýhody

  • Samotné fuzz testování samo o sobě nemá schopnost podat celkový scénář všech bezpečnostních hrozeb.
  • Také testování chmele se nepovažuje za skutečně efektivní při řešení bezpečnostních chyb, které nezpůsobují selhání programu, jako jsou viry, červy atd.
  • Má schopnost detekovat pouze jednoduché hrozby.
  • Aby bylo dosaženo účinného výkonu, vyžaduje to značný čas.

Závěr

Můžeme tedy dojít k závěru, že v softwarovém inženýrství toto testování, to znamená, testování Fuzz demonstruje přítomnost chyb v jakékoli aplikaci. Toto testování nezajišťuje úplnou detekci chyb v žádné aplikaci. Pokud však použijeme tuto techniku ​​Fuzz, zaručuje to, že aplikace je poměrně robustní a bezpečná. Důvodem je, že testování chmele pomáhá při odhalení mnoha běžných zranitelností.

Doporučené články

Toto je průvodce testem Fuzz. Zde diskutujeme, co je testování chmele? testovací nástroje, výhody a nevýhody. Další informace naleznete také v dalších navrhovaných článcích -

  1. Benchmarkové testování
  2. Typy testování softwaru
  3. Co je testování použitelnosti?
  4. Statické testování

Kategorie: