Hvad er fuzz-test?

Fuzz Testing anses for at være den type test, hvor enten automatiseret eller semiautomatiseret testteknik er påkrævet for at finde ud af fejl i kodning såvel som smuthuller i sikkerhed i enten software eller operativsystemer ved at give input af tilfældige data til systemet. Disse tilfældige data kaldes FUZZ. Når alt kommer til alt dette sker, kontrolleres systemet for forskellige typer undtagelser, som at enten systemet bliver nedbrudt eller endda den indbyggede kode bliver mislykket og meget mere. Dette blev oprindeligt udviklet af nogen ved navn Barton Miller, der var fra University of Wisconsin. Det kaldes også fuzzing anses for at være typen af ​​sikkerhedstest.

Hvorfor har vi brug for fuzz-test?

  • Ofte har Fuzz-test evnen til at finde ud af de mest alvorlige sikkerhedsfejl i systemet.
  • Det giver meget mere effektive resultater, når vi bruger det sammen med Black Box Testing, Beta Testing eller forskellige fejlfindingsmetoder.
  • Det er også nødvendigt at verificere softwarens sårbarhed. Det er også en rigtig omkostningseffektiv testteknik.
  • Det anses for at være en sort kassetestningsteknik. Det er også en af ​​de mest anvendte metodehacker, der finder systemets sårbarhed.

Hvordan udføres Fuzzy Testing?

Trinene til fuzzy test inkluderer de grundlæggende teststrin-

Trin 1 : Anerkendelse af målsystemet.

Trin 2 : Anerkendelse af input.

Trin 3 : Genereret fuzzed data.

Trin 4 : Testudførelse ved hjælp af fuzzy data.

Trin 5 : Systemadfærd Overvågning.

Trin 6 : Logning af defekter.

Eksempler på fuzzere

Der er mange fuzzere som nedenfor:

  • Mutationsbaserede fuzzere: Disse fuzzere ændrer de dataprøver, der findes, således at friske testdata oprettes. Dette er ganske let såvel som den direkte metode, den starter sammen med en fornuftig protokol og fortsætter med at blande hver byte eller endda som en fil.
  • Generationsbaserede fuzzere: De definerer data, der er nye, afhængigt af modelinput . Det starter inputgenerering fra bunden afhængigt af specifikationen.
  • Protokolbaseret fuzzer: Det anses for at være fuzzer, der er mest vellykket, der har fået ganske forklaret viden om det protokolformat, der skal testes. Denne forståelse er afhængig af specifikationen. Det inkluderer skrivning af en række specifikationer inde i værktøjet, og derefter bruges den modelbaserede teknik. Det er også kendt som syntaksafprøvning eller grammatikktest eller robusthedsprøvning.

Vi har to begrænsninger af denne protokolbaserede fuzzing, der er som under:

  1. Vi kan ikke fortsætte med testning, indtil og medmindre specifikationen er ret moden.
  2. Der findes mange protokoller, der er en udvidelse af de offentliggjorte protokoller. I tilfælde af at fuzz-test er baseret på disse specifikationer, der offentliggøres, ville testdækning for disse nye protokoller blive begrænset.

Der findes den enkleste form for fuzzing-test, der sender den tilfældige input til softwaren i form af protokolpakker eller endda i form af en begivenhed. Denne særlige måde at videregive tilfældige input anses for at være ret kraftig til at lokalisere bugs i forskellige applikationer såvel som tjenester. Der er også andre teknikker, der er tilgængelige, og de er også ganske lette at implementere.

Bugtyper opdaget ved fuzz-test

  • Hukommelseslækager og påståelsesfejl: Denne metode bruges i vid udstrækning i brede applikationer, hvor fejl påvirker hukommelsens sikkerhed, der betragtes som en alvorlig sårbarhed.
  • Ugyldig input: Fuzzere er nødvendige for at generere den ugyldige input, der kræves til test af fejlhåndteringsrutinerne i fuzz-test. Det er også ganske nødvendigt for software, der ikke kontrollerer input. Fuzzing betragtes som en måde at automatisere den negative test på.
  • Rigtigheden af ​​fejl: Fuzzing er nødvendig for at registrere få slags “korrekthed” -fejl som en beskadiget database eller de dårlige søgeresultater og meget mere.

Fuzz-testværktøjer

De værktøjer, der er ganske nyttige i websikkerhed, kan også i vid udstrækning bruges til fuzz-test eller fuzzy. For eksempel Peach Fuzzer, Burp Suite osv.

1. Peach Fuzzer

Dette værktøj giver meget mere robust såvel som sikkerhedsdækning sammenlignet med scanneren. Hvis vi taler om andre testværktøjer, har de dog mulighed for kun at søge efter de kendte trusler. Men Peach Fuzzer får brugere til at opdage såvel kendte som ukendte trusler.

2. Spike Proxy

Spike betragtes som værktøjet i professionel kvalitet, der søger efter sårbarheder på applikationsniveau i forskellige webapplikationer. SPIKE Proxy betragter kun det grundlæggende som SQL-injektion eller scripting på tværs af websteder. Imidlertid er det fuldt ud en åben infrastruktur for Python. SPIKE Proxy er til stede for både Linux og Windows.

Fordele

  • Bugs, der opdages i fuzz-test, betragtes ofte som alvorlige, og det bruges mest af hackere, der består af crash, hukommelseslækage eller en uhåndteret undtagelse og meget mere.
  • Hvis der ikke opdages en fejl eller fejl, som testerne opdager på grund af tidsbegrænsningen såvel som ressourcerne, kan disse fejl opdages i Fuzz-test.

Ulemper

  • Alene alene, fuzz-test alene har ikke evnen til at give det overordnede scenarie med alle sikkerhedstrusler.
  • Fuzz-test anses også for ikke at være effektiv, når man håndterer sikkerhedsfejl, der ikke forårsager programnedbrud som vira, orme osv.
  • Det har kapacitet til kun at opdage enkle trusler.
  • For at give en effektiv ydelse kræver det betydelig tid.

Konklusion

Således kan vi konkludere, at i test af software, denne test, dvs. Fuzz-test, viser tilstedeværelsen af ​​bugs i ethvert program. Denne test sikrer ikke bugdetektering på en komplet måde i nogen af ​​applikationerne. Men hvis vi bruger denne Fuzz-teknik, garanterer den, at applikationen er ret robust såvel som sikker, fordi årsagen er, at fuzz-test hjælper meget med at afsløre mange almindelige sårbarheder.

Anbefalede artikler

Dette er en guide til Fuzz Testing. Her diskuterer vi, hvad der er fuzz-test? testværktøjer, fordele og ulemper. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Benchmark Testing
  2. Typer af softwaretestning
  3. Hvad er brugbarhedstest?
  4. Statisk testning

Kategori: