Vad är Fuzz Testing?

Fuzz Testing anses vara den typ av testning där antingen automatiserade eller halvautomatiska testtekniker krävs för att ta reda på fel i kodning samt kryphål i säkerhet i antingen programvara eller operativsystem genom att tillhandahålla inmatningen av slumpmässiga data till systemet. Denna slumpmässiga data kallas FUZZ. Detta sker trots allt, systemet kontrolleras för olika typer av undantag som antingen att systemet kraschar ner eller till och med den inbyggda koden misslyckas och mycket mer. Detta utvecklades ursprungligen av någon som heter Barton Miller som var från University of Wisconsin. Det kallas också fuzzing anses vara typen av säkerhetstest.

Varför behöver vi fuzz-testning?

  • Ofta har Fuzz-testning möjligheten att ta reda på de allvarligaste säkerhetsfel i systemet.
  • Det ger mycket effektivare resultat när vi använder det tillsammans med Black Box Testing, Beta Testing eller olika felsökningsmetoder.
  • Det behövs också för att verifiera programvarans sårbarhet. Det är också en riktigt kostnadseffektiv testteknik.
  • Det anses vara en svartteknisk testteknik. Det är också en av de mest använda metodhackerarna som finner systemets sårbarhet.

Hur utförs Fuzzy Testing?

Stegen för fuzzy testning inkluderar de grundläggande teststegen-

Steg 1 : Erkännande av målsystemet.

Steg 2 : Erkännande av ingångarna.

Steg 3 : Fuzzed Data Generation.

Steg 4 : Test exekvering med fuzzy data.

Steg 5 : Systembeteende Övervakning.

Steg 6 : Loggning av fel.

Exempel på Fuzzers

Det finns många fuzzers som nedan:

  • Mutationsbaserade fuzzers: Dessa fuzzers ändrar dataproverna som finns för att göra nya testdata. Detta är ganska enkelt såväl som den direkta metoden, det börjar tillsammans med rimligt protokoll och fortsätter att blanda varenda byte eller till och med som en fil.
  • Generationsbaserade fuzzers: De definierar data som är nya beroende på modellinmatningen. Den startar inmatningsgenerering från början beroende på specifikationen.
  • Protokollbaserad fuzzer: Det anses vara fuzzer som är mest framgångsrikt som har fått ganska förklarad kunskap om det protokollformat som måste testas. Denna förståelse är beroende av specifikationen. Det inkluderar skrivning av en rad specifikationer inuti verktyget och därefter använder man den modellbaserade tekniken. Det är också känt som syntaxtest eller grammatestest eller robustness-testning.

Vi har två begränsningar av denna protokollbaserade fuzzing som är enligt:

  1. Vi kan inte fortsätta med testning förrän och såvida inte specifikationen är ganska mogen.
  2. Det finns många protokoll som är en förlängning av de publicerade protokollen. Om fuzz-testning baseras på dessa specifikationer som publiceras, skulle testtäckningen för dessa nya protokoll bli begränsad.

Det finns den enklaste formen av fuzzing-testning som skickar slumpmässiga input till programvaran i form av protokollpaket eller till och med i form av en händelse. Detta speciella sätt att överföra slumpmässiga input anses vara ganska kraftfullt för att hitta buggar i olika applikationer och tjänster. Det finns andra tekniker som också finns tillgängliga och de är ganska enkla att implementera.

Buggtyper upptäckt av Fuzz Testing

  • Minnesläckor och påståendefel: Denna metod används i stor utsträckning i stora applikationer där buggar påverkar minnets säkerhet som anses vara en allvarlig sårbarhet.
  • Ogiltig ingång: Fuzzers behövs för att generera ogiltig ingång som krävs för att testa felhanteringsrutinerna i fuzz-testning. Det är också helt nödvändigt för programvara som inte kontrollerar ingången. Fuzzing anses vara ett sätt att automatisera negativa tester.
  • Korrektiteten hos buggar: Fuzzing behövs för att upptäcka några slags "korrekthet" buggar som en skadad databas eller dåliga sökresultat och mycket mer.

Fuzz Testing Tools

Verktygen som är ganska användbara inom webbsäkerhet kan också till stor del användas vid fuzz-test eller fuzzy. Till exempel Peach Fuzzer, Burp Suite, etc.

1. Peach Fuzzer

Det här verktyget ger mycket mer robust och säkerhetstäckning jämfört med skannern. Om vi ​​pratar om andra testverktyg kan de dock bara söka efter de kända hoten. Men Peach Fuzzer gör att användare upptäcker såväl kända som okända hot.

2. Spike Proxy

Spike anses vara verktyget i professionell kvalitet som söker efter sårbarheter på applikationsnivå i olika webbapplikationer. SPIKE Proxy tar bara hänsyn till grunderna som SQL Injection eller scripting över flera webbplatser. Men det är helt och hållet en öppen infrastruktur för Python. SPIKE Proxy finns för både Linux och Windows.

fördelar

  • Buggar som upptäcks vid fuzz-testning anses ofta vara allvarliga och mest används det av hackarna som består av kraschar, minnesläcka eller ett obehandlat undantag och mycket mer.
  • Om något fel eller fel misslyckas med att upptäckas av testarna på grund av begränsningen av tid såväl som resurser kan dessa fel upptäckas i Fuzz-testning.

nackdelar

  • Helt ensam, fuzz-testning ensam har inte förmågan att ge det övergripande scenariot för alla säkerhetshot.
  • Fuzz-testning anses också inte vara effektiv när man hanterar säkerhetsbuggar som inte orsakar programkrascher som virus, maskar etc.
  • Det har förmågan att upptäcka bara enkla hot.
  • För att ge en effektiv prestanda kräver det betydande tid.

Slutsats

Således kan vi dra slutsatsen att vid programvaruteknik visar denna testning, det vill säga Fuzz-testning förekomsten av buggarna i alla applikationer. Denna testning garanterar inte feldetektering på ett fullständigt sätt i någon av applikationerna. Men om vi använder denna Fuzz-teknik, garanterar den att applikationen är ganska robust och säkert, varför skäletestet hjälper ganska mycket att avslöja många vanliga sårbarheter.

Rekommenderade artiklar

Detta är en guide till Fuzz Testing. Här diskuterar vi vad som är fuzz-testning? testverktyg, fördelar respektive nackdelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Benchmark Testing
  2. Typer av programvarutestning
  3. Vad är användbarhetstest?
  4. Statisk testning

Kategori: