Luddrigt

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 19 april 2020; kontroller kräver 7 redigeringar .

Fuzzing är en  mjukvarutestteknik , ofta automatisk eller halvautomatisk, som består i att skicka felaktiga, oväntade eller slumpmässiga data till applikationen som indata. Ämnet av intresse är krascher och frysningar, brott mot intern logik och kontroller i applikationskoden , minnesläckor orsakade av sådan indata. Fuzzing är en typ av slumpmässig  testning som ofta används för att testa säkerhetsproblem i mjukvara och datorsystem.

När man kontrollerar säkerheten är det mest intressanta kontrollerna av förtroendegränsen [1] . Till exempel är det mycket viktigare att förtydliga ett filuppladdningsformulär av en obehörig användare än att ladda upp en konfigurationsfil av en auktoriserad privilegierad användare .

Historik

Slumpmässig data har använts i apptestning tidigare. Till exempel genererade Monkey-applikationen för  Mac OS , skapad av Steve Caps redan 1983, slumpmässiga händelser som skickades till ingången för de testade programmen för att söka efter buggar. Det användes i synnerhet vid testning av MacPaint [2] .

Termen " fuzz " har sitt ursprung i ett Barton Miller-seminarium 1988 vid University of Wisconsin [3] , under vilket en enkel kommandoradsprogram- fuzzer skapades för att testa tillförlitligheten hos Unix-applikationer. Den genererade slumpmässiga data som skickades som parametrar till andra program tills de slutade med ett fel. Detta var inte bara den första testningen någonsin med slumpmässig ostrukturerad data, utan också den första specialiserade applikationen för att testa ett brett utbud av program under olika operativsystem , och med en systematisk analys av de typer av fel som uppstår under sådana tester. Skaparna av projektet har öppnat källkoderna för sin applikation, samt allmänhetens tillgång till testprocedurer och råa resultat. Testet upprepades 1995 - applikationen modifierades för att testa GUI -applikationer , nätverksprotokoll och systembibliotek under Mac OS och Windows.

Det är värt att notera att liknande testtekniker fanns långt innan termens utseende och formaliseringen av proceduren. Så det är känt att Jerry Weinberg använde en uppsättning kort med slumpmässiga nummer för att skicka dem till ingången av program på 1950-talet. [fyra]

1991 släpptes crashme- applikationen , designad för att testa tillförlitligheten av program under Unix och Unix-liknande operativsystem genom att utföra en slumpmässig uppsättning processorinstruktioner [5] .

Fuzzing är nu en integrerad del av de flesta säkerhets- och tillförlitlighetskontroller av mjukvara och datorsystem.

Se även

Anteckningar

  1. John Neustadt. Automatiserad penetrationstestning med White-Box Fuzzing . Microsoft (februari 2008). Hämtad 14 maj 2009. Arkiverad från originalet 30 juli 2017.
  2. Macintosh Stories: Monkey Lives . Folklore.org (22 februari 1999). Hämtad 28 maj 2010. Arkiverad från originalet 21 mars 2021.
  3. Michael Sutton; Adam Greene; Pedram Amini. Fuzzing : Brute Force Vulnerability Discovery . — Addison-Wesley , 2007. — ISBN 0-321-44611-9 . 
  4. Gerald M. Weinberg. Fuzz Testing och Fuzz History . Tillträdesdatum: 6 februari 2017. Arkiverad från originalet 24 augusti 2017.
  5. crashme (nedlänk) . codeplex . Hämtad 26 juni 2012. Arkiverad från originalet 11 augusti 2012. 

Länkar