Hvad er fuzz -test?

fuzz -test eller fuzzing er en metode til at kontrollere for at se, hvordan et computerprogram eller et system vil reagere på forskellige, undertiden tilfældige, input og information. Processen involverer at generere en form for data, enten helt tilfældig eller tilfældig inden for visse begrænsninger, og derefter fodre disse data til programmet for at teste, hvordan de håndterer uventede oplysninger. Den mest basale form for fuzz -test involverer at sende en tilfældig sekvens af nøglepresser eller tegn til programmet og kontrollere, at det behandler dem korrekt. En mere kompleks version af fuzz -test bruger strukturerede data, der derefter manipuleres tilfældigt og sendes til programmet. Dataene kan nå programmet som systembegivenheder, tastaturindgange, mock -netværkssignaler eller endda som filer, der skal indlæses.

Der er forskellige dele af et computerprogram, der kan testes med en fuzzgenerator. Den grafiske brugergrænseflade (GUI) kan være TESted ved at skabe en række af tilfældige mus- og tastaturbegivenheder og kontrollere, at GUI er i stand til at håndtere input uden at gå ned, fryse eller udføre en uventet opgave. Netværksprotokoller kan testes ved at lade Fuzz -generatoren tilfældigt ændre dele af en gyldig datapakke og derefter sikre, at protokollen kan fortsætte med at fungere efter modtagelse af misdannede data. De grundlæggende inputelementer i næsten ethvert program kan kontrolleres for deres evne til at modstå fejl, såsom input, der er alt for lang til lagringstypen, input, der er af en anden type end forventet og input, der på en eller anden måde er ufuldstændig eller forkert.

Computersikkerhedsindustrien kan bruge fuzz -test for at sikre, at der ikke findes nogen åbenlyse sikkerhedshuller i visse systemer. Dette kan gøres ved at bruge en fuzzgenerator designet til test af computersikkerhed. Disse programmer vil forsøge at bruge systemnøgleord, kendte standardadministratoradgangskoder, funktioner inden for bibliotekerne, som programmet bruger, og tilfældig CalLS til systemfunktioner for at se, hvordan programmet vil reagere.

De forskellige typer fuzz -test kan tilpasses til at være inden for visse intervaller eller endda til at teste kun specifikke typer input. Dette betyder, at et program kun kunne have gyldige kommandoer sendt til det, men de kunne være i en nonsensisk rækkefølge. Der findes mere komplekse fuzz -testprogrammer, der kan tage elementer i målprogrammet og manipulere dem til at producere situationer, der kunne udnyttes ondsindet. Dette kan omfatte ændring af rækkefølgen af ​​processer, der er spawned, ændringer af tilladelser eller ændring af keredata og biblioteksfiler.

Slutresultatet af fuzz -test er at se, om et program er sikkert og opfører sig, som det skal, når det konfronteres med en uventet situation. Når det bruges i tandem med profilering og analysesoftware, kan det også registrere hukommelseslækager i områder af programmet, såsom fejlhåndtering eller performance -flaskehalse. I tilfælde af computersikkerhed, farlige problemer såsom overløb, der kan indgåomise Et system kan fanges med den korrekte opsætning. Fuzz -test kan imidlertid ikke bruges som den eneste metode til softwaretest og skal være en del af en større proces med kvalitetssikring og softwareinspektion.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?