Kaj je Fuzz testiranje?

Šteje se, da je Fuzz testiranje vrsta preskušanja, pri kateri so potrebne avtomatizirane ali polavtomatske tehnike testiranja, da se ugotovijo napake pri kodiranju in vrzeli v varnosti v programski opremi ali operacijskih sistemih z zagotavljanjem vnosa naključnih podatkov v sistem. Ta naključni podatek se imenuje FUZZ. Konec koncev se to zgodi, sistem se preveri za različne vrste izjem, kot je, da se sistem zruši ali celo vgrajena koda ne uspe in še veliko več. To je prvotno razvil nekdo, imenovan Barton Miller, ki je bil z univerze v Wisconsinu. Imenuje se tudi fuzzing, ki velja za vrsto varnostnega testiranja.

Zakaj potrebujemo Fuzz testiranje?

  • Pogosto lahko s Fuzzovim testiranjem ugotovimo najresnejše varnostne napake v sistemu.
  • Omogoča veliko bolj učinkovite rezultate, kadar jih uporabljamo skupaj s črnim testom Box, Beta Testing ali različnimi metodami za odpravljanje napak.
  • Prav tako je treba preveriti ranljivost programske opreme. Je tudi resnično stroškovno učinkovita tehnika testiranja.
  • Velja za eno tehniko testiranja črne škatle. To je tudi eden najbolj uporabljenih metod hekerjev, ki ugotovi ranljivost sistema.

Kako se izvaja mehko testiranje?

Koraki za mehko testiranje vključujejo osnovne korake testiranja -

1. korak : Prepoznavanje ciljnega sistema.

2. korak : Prepoznavanje vhodov.

3. korak : Zbiranje nejasnih podatkov

4. korak : preizkus Izvedba z neizrazitimi podatki.

5. korak : Spremljanje vedenja sistema.

6. korak : beleženje napak.

Primeri puhlic

Spodaj je veliko puhtov:

  • Mutacije, ki temeljijo na mutacijah: ti fuzerji spreminjajo obstoječe vzorce podatkov, tako da naredijo nove preskusne podatke. To je zelo enostavno, kot tudi neposredna metoda, začne se z razumnim protokolom in ohranja mešanje vsakega bajta ali celo kot datoteke.
  • Generacije na osnovi fuzzerjev: Določajo podatke, ki so novi, odvisno od vnosa modela. Začne se ustvarjati vhod iz nič, odvisno od specifikacije.
  • Protokol, ki temelji na mehčalcu: Šteje se, da je fuzzer najbolj uspešen, ki ima precej pojasnjeno znanje o formatu protokola, ki ga je treba preizkusiti. To razumevanje je odvisno od specifikacije. Vključuje pisanje niza specifikacij znotraj orodja in nato uporabi tehniko, ki temelji na modelu. Znano je tudi kot preverjanje skladenj ali slovnica ali robustnostno testiranje.

Imamo dve omejitvi protokola, ki temelji na protokolu:

  1. S testiranjem ne moremo nadaljevati, dokler in če ni specifikacija dovolj zrela.
  2. Obstaja veliko protokolov, ki so razširitev objavljenih protokolov. V primeru, da neprekinjeno testiranje temelji na teh specifikacijah, ki so objavljene, bi bilo pokritje s temi novimi protokoli omejeno.

Obstaja najpreprostejša oblika preizkusa fuzzinga, ki je pošiljanje naključnega vhoda v programsko opremo v obliki protokolarnih paketov ali celo v obliki dogodka. Ta poseben način prenosa naključnega vhoda velja za precej močnega za iskanje hroščev v različnih aplikacijah in storitvah. Na voljo so tudi druge tehnike, ki jih je prav tako enostavno izvajati.

Vrste hroščev, ki jih je zaznalo Fuzz testiranje

  • Popuščanje pomnilnika in napake pri trditvah: Ta metoda se široko uporablja v širokih aplikacijah, kjer napake vplivajo na varnost pomnilnika, za katero velja, da je resna ranljivost.
  • Neveljaven vnos: Fuzzerji so potrebni za ustvarjanje neveljavnega vnosa, ki je potreben za testiranje rutin za ravnanje z napakami pri nenehnem testiranju. Prav tako je povsem potrebna programska oprema, ki ne nadzoruje vhoda. Mešanje se šteje za način avtomatizacije negativnega testiranja.
  • Pravilnost napak : Nejasnost je potrebna za odkrivanje nekaj vrst napak "pravilnosti", kot je poškodovana baza podatkov ali slabi rezultati iskanja in še veliko več.

Orodja za preizkušanje Fuzz

Orodja, ki so precej koristna za spletno varnost, se lahko v veliki meri uporabljajo tudi pri nejasnih testiranjih ali mehkih. Na primer Peach Fuzzer, Burp Suite itd.

1. Peach Fuzzer

To orodje v primerjavi s optičnim bralnikom zagotavlja veliko bolj zanesljivo in varnostno pokritost. Če govorimo o drugih orodjih za testiranje, pa lahko preiščejo samo znane grožnje. Toda Peach Fuzzer uporabnikom odkriva znane in neznane grožnje.

2. Spike proxy

Spike velja za orodje za profesionalno ocenjevanje ranljivosti na ravni aplikacij v različnih spletnih aplikacijah. SPIKE Proxy upošteva le osnove, kot sta SQL Injection ali križno skriptanje. Vendar je popolnoma odprta infrastruktura Pythona. SPIKE Proxy je prisoten tako za Linux kot za Windows.

Prednosti

  • Napake, ki jih odkrijemo pri testovnem mehanju, pogosto veljajo za hude, večinoma pa jih uporabljajo hekerji, ki so sestavljeni iz zrušenj, uhajanja spomina ali neobdelane izjeme in še marsičesa drugega.
  • Če napake ali napake preizkuševalci ne odkrijejo zaradi časovne omejitve in sredstev, potem te napake lahko odkrijemo v Fuzzovem testiranju.

Slabosti

  • Sama fuzz testiranje ne more dati celotnega scenarija vseh varnostnih groženj.
  • Prav tako velja, da testiranje fuzsov ni resnično učinkovito pri obravnavi varnostnih napak, ki ne povzročajo zrušitev programa, kot so virusi, črvi itd.
  • Ima sposobnost zaznavanja le preprostih groženj.
  • Za učinkovito delovanje potrebuje veliko časa.

Zaključek

Tako lahko sklepamo, da v programskem inženiringu to testiranje, to je Fuzzovo testiranje, dokazuje prisotnost napak v kateri koli aplikaciji. To testiranje ne zagotavlja popolnega odkrivanja napak v nobeni aplikaciji. Če uporabljamo to tehniko Fuzz, pa zagotavlja, da je uporaba dokaj robustna, hkrati pa je varen razlog, da fuzz testiranje precej pomaga pri izpostavitvi številnih pogostih ranljivosti.

Priporočeni članki

To je vodnik za Fuzz testiranje. Tukaj razpravljamo, kaj je fuzz testiranje? preizkusna orodja, prednosti in slabosti. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Primerjalno testiranje
  2. Vrste testiranja programske opreme
  3. Kaj je testiranje uporabnosti?
  4. Statično testiranje