Mi a fuzz tesztelés?

A fuzz tesztelést olyan tesztelés típusának tekintik, ahol automatizált vagy félig automatizált tesztelési technikákra van szükség a kódolás hibáinak, valamint a szoftverek vagy az operációs rendszerek biztonságának hiányosságainak feltárásához a véletlenszerű adatok bevitele révén. a rendszerhez. Ezt a véletlenszerű adatot FUZZ-nek hívják. Végül is ez történik, a rendszert ellenőrzik különböző típusú kivételektől, például, ha a rendszer összeomlik, vagy akár a beépített kód megbukik, és még sok más. Ezt eredetileg Barton Miller nevű személy fejlesztette ki, aki a Wisconsini Egyetemen volt. A fuvarozásnak is nevezik a biztonsági tesztelés típusának.

Miért van szükség fuzz tesztelésre?

  • A Fuzz tesztelés gyakran képes a rendszer legsúlyosabb biztonsági hibáinak feltárására.
  • Sokkal hatékonyabb eredményeket biztosít, ha a Black Box teszteléssel, a béta teszteléssel vagy más hibakeresési módszerekkel használjuk.
  • Szükség van a szoftver sebezhetőségének ellenőrzésére. Ez egy igazán költséghatékony tesztelési módszer is.
  • Egy fekete dobozos tesztelési módszernek tekintik. Ez egyben a leggyakrabban használt módszer-hackerek, amelyek megtalálják a rendszer sebezhetőségét.

Hogyan történik a fuzzy tesztelés?

A homályos tesztelés lépései tartalmazzák az alapvető tesztelési lépéseket -

1. lépés : A célrendszer felismerése.

2. lépés : A bemenetek felismerése.

3. lépés : Elmosódott adatgenerálás.

4. lépés : Tesztelje a végrehajtást homályos adatok felhasználásával.

5. lépés : A rendszer viselkedésének figyelése.

6. lépés : A hibák naplózása.

Példák a füstölőkre

Az alábbiak szerint sok füstölő van:

  • Mutáción alapuló füstölők: Ezek a füstölők megváltoztatják a meglévő adatmintákat, hogy friss vizsgálati adatokat nyújtsanak. Ez nagyon egyszerű, mint a közvetlen módszer is, ésszerű protokollal együtt kezdődik, és folyamatosan kever minden egyes bájtot, vagy akár fájlt is.
  • Generációs alapú füstölők: Új adatokat határoznak meg, a modell bemenetétől függően. A specifikációtól függően a nulláról indítja a bemeneti generációt.
  • Protokoll alapú fuzzer: Fuzzernek tekintik a legsikeresebbet, amely meglehetősen magyarázott ismeretekkel rendelkezik a tesztelni kívánt protokoll formátumáról. Ez a megértés a specifikációtól függ. Ez magában foglalja a specifikációk tömbjének írását az eszközön belül, majd ezt követően a modell alapú technika felhasználását. Szintaxis-tesztelésként vagy nyelvtani vagy robusztussági tesztelésként is ismert.

Két korlátozása van ennek a protokoll-alapú fuzzingnak, az alábbiak szerint:

  1. Addig nem folytathatjuk a tesztelést, és csak akkor, ha a specifikáció meglehetősen érett.
  2. Számos olyan protokoll létezik, amelyek kiterjesztik a közzétett protokollokat. Ha a fuzz tesztelés ezen a specifikáción alapul, amelyeket közzétesznek, akkor az új protokollok tesztelési lefedettsége korlátozott lenne.

Létezik a fuzzing tesztelés legegyszerűbb formája, amely a véletlenszerű bemenetet továbbítja a szoftverbe protokollcsomag vagy akár esemény formájában. A véletlenszerű bevitelnek ezt a speciális módját meglehetősen hatékonynak tartják a hibák felkutatására különféle alkalmazásokban és szolgáltatásokban. Vannak más technikák is, amelyek rendelkezésre állnak, és ezeket meglehetősen könnyű megvalósítani.

A fuzz tesztelés által észlelt hibatípusok

  • Memóriaszivárgások és állításhiba: Ezt a módszert széles körben alkalmazzák széles körű alkalmazásokban, ahol a hibák befolyásolják a súlyos sebezhetőségnek tekintett memória biztonságát.
  • Érvénytelen bemenet: A rozsdamentesítőkre szükség van az érvénytelen bemenet előállításához, amelyre szükség van a fuzz tesztelésében a hibakezelési rutinok teszteléséhez. Ez is nagyon szükséges olyan szoftver számára, amely nem vezérli a bemenetet. A fuzzing a negatív tesztelés automatizálásának egyik módja.
  • A hibák helyessége: A megdöbbentésre van szükség néhányféle „helyesség” hibájának - például egy sérült adatbázis vagy a rossz keresési eredmények és még sok egyéb - felderítéséhez.

Fuzz-tesztelő eszközök

Az internetes biztonságban nagyon hasznos eszközök nagyrészt fel lehet használni a fuzz teszteléshez vagy a fuzzy-hoz. Például Peach Fuzzer, Burp Suite stb.

1. Peach Fuzzer

Ez az eszköz sokkal robusztusabb és nagyobb biztonságot nyújt a szkennerhez képest. Ha más tesztelési eszközökről beszélünk, akkoruk képesek csak az ismert fenyegetések keresésére. A Peach Fuzzer segítségével a felhasználók felismerik az ismert és ismeretlen fenyegetéseket.

2. Spike Proxy

A Spike a professzionális eszköz, amelyet a különféle webes alkalmazások szintjén sebezhetőségek keresnek. A SPIKE Proxy csak az alapokat veszi figyelembe, mint például az SQL befecskendezés vagy a webhelyek közötti szkriptek. Ez azonban teljesen nyitott Python infrastruktúra. A SPIKE Proxy mind Linux, mind Windows esetén megtalálható.

Előnyök

  • A fuzz-tesztelés során felfedezett hibákat gyakran súlyosnak tekintik, és általában a hackerek használják, amelyek összeomlásokból, memóriaszivárgásokból vagy kezelhetetlen kivételekből és még sok másból állnak.
  • Ha bármilyen hibát vagy hibát a tesztelők nem tudnak fedezni az idő és az erőforrások korlátozása miatt, akkor ezeket a hibákat fel lehet fedezni a Fuzz tesztelés során.

hátrányok

  • Egyedül a fuzz tesztelés önmagában nem képezi az összes biztonsági fenyegetés átfogó forgatókönyvét.
  • Ezenkívül a fuzz tesztelése nem igazán hatékony olyan biztonsági hibák kezelésekor, amelyek nem okoznak program-összeomlást, például vírusok, férgek stb.
  • Képesek csak egyszerű fenyegetéseket észlelni.
  • A hatékony teljesítmény eléréséhez jelentős idő szükséges.

Következtetés

Megállapíthatjuk tehát, hogy a szoftverfejlesztés során ez a tesztelés, vagyis a Fuzz tesztelés bizonyítja a hibák jelenlétét bármely alkalmazásban. Ez a tesztelés nem garantálja a hibák teljes felismerését az alkalmazások egyikében sem. Ha azonban ezt a Fuzz technikát használjuk, ez garantálja, hogy az alkalmazás meglehetősen robusztus, és biztosítja azt az okot, hogy a fuzz tesztelése nagyban hozzájárul sok általános sebezhetőség felfedéséhez.

Ajánlott cikkek

Ez egy útmutató a Fuzz Testinghez. Itt megvitatjuk, mi a fuzz tesztelés? tesztelő eszközök, előnyök és hátrányok. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Benchmark tesztelés
  2. A szoftver tesztelésének típusai
  3. Mi a használhatóság tesztelése?
  4. Statikus tesztelés

Kategória: