Investor's wiki

Grå boks

Grå boks

Hva er en grå boks?

Grå boks refererer til testing av programvare der det er en viss begrenset kunnskap om den interne funksjonen. Gråbokstesting er en etisk hackingteknikk der hackeren må bruke begrenset informasjon for å identifisere styrker og svakheter ved et måls sikkerhetsnettverk.

Forstå grå bokser

Grey box er hybriden av white box-testing, hvor testeren undersøker den interne logikken og strukturen til programvarens kode, og black box- testing, hvor testeren ikke vet noe om programvarens kode. For å forstå testing av grå boks, må vi først forstå testing av svart boks og testing av hvit boks.

Black Box og White Box Testing

Black box-testing ser ikke på noe mer enn inndata fra brukeren og hvilken utgang programvaren produserer gitt disse inngangene. Black box-testing krever ingen kunnskap om programmeringsspråk eller andre tekniske detaljer. Det er en type testing på høyt nivå som brukes i systemtesting og aksepttesting. Programvareingeniører krever et programvarekravsspesifikasjonsdokument (SRS) for å utføre black box-testing. Denne testingen tar et sluttbrukerperspektiv der black box-testeren ikke vet hvordan utgangene genereres fra inngangene.

White box-testing krever inngående kunnskap om teknikkene og plattformene som brukes til å bygge programvare, inkludert det relevante programmeringsspråket. Det er en type lavnivåtesting som brukes i enhetstesting og indikasjonstesting. Programvareingeniører må forstå programmeringsspråket som brukes til å lage applikasjonen, slik at de kan forstå kildekoden. White box-testingens primære formål er å styrke sikkerheten, undersøke hvordan innganger og utganger flyter gjennom applikasjonen, og forbedre design og brukervennlighet. Når en tester for hvit boks ikke får det forventede resultatet fra en gitt inngang, anses resultatet å være en feil som må fikses.

Hvordan Gray Box Testing fungerer

Grå bokstesting inkluderer viktige komponenter i både svart og hvit bokstesting for å få et bedre resultat enn begge kan oppnå alene. Både sluttbrukere og utviklere utfører gråbokstesting med begrenset (delvis) kunnskap om en applikasjons kildekode. Gråbokstesting kan være manuell eller automatisert. Det er mer omfattende og mer tidkrevende enn black box-testing, men ikke så omfattende eller tidkrevende som white box-testing. Testere av grå boks krever detaljerte designdokumenter.

Gråbokstesting innebærer å identifisere innganger, utganger, hovedveier og underfunksjoner. Deretter går den videre til å utvikle innganger og utganger for underfunksjoner, utføre testtilfeller for underfunksjoner og verifisere disse resultatene.

Eksempel på grå boks

En grå boks-tester kan sjekke og fikse koblingene på et nettsted. Hvis en kobling ikke fungerer, endrer testeren HTML-koden for å prøve å få koblingen til å fungere, og kontrollerer deretter brukergrensesnittet på nytt for å se om koblingen fungerer. En grå boks-tester kan også teste en online kalkulator. Testeren vil definere innganger - matematiske formler som 1+1, 2*2, 5-4 og 15/3 - og deretter sjekke at kalkulatoren gir de riktige utgangene gitt disse inngangene. Den grå boks-testeren har tilgang til kalkulatorens HTML-kode og kan endre den hvis det oppdages feil.

Gråbokstesting ser på både applikasjonens brukergrensesnitt, eller presentasjonslag, og dens interne funksjoner, eller kode. Den brukes hovedsakelig i integrasjonstesting og penetrasjonstesting, men den er ikke egnet for algoritmetesting. Gråbokstesting brukes vanligvis til å teste en applikasjons brukergrensesnitt, sikkerhet eller nettfunksjonalitet gjennom teknikker som matrisetesting, regresjonstesting,. ortogonal array-testing og mønstertesting. Gråbokstestere identifiserer mest sannsynlig kontekstspesifikke problemer.

"Grå" refererer til testerens delvise evne til å se applikasjonens interne funksjoner. "Hvit" refererer til evnen til å se gjennom programvarens grensesnitt til dens indre funksjoner, og "svart" refererer til manglende evne til å se programvarens interne funksjoner. Testing av grå bokser kalles noen ganger gjennomskinnelig testing, mens testing av hvit boks noen ganger kalles klar testing og testing av svart boks kan også kalles ugjennomsiktig testing.

Høydepunkter

  • Testing av grå boks er i hovedsak en blanding av metoder for hvit boks (full kunnskap) og svart boks (ikke-kunnskap).

– Gråbokstesting er en teknikk for å oppdage programvarefeil eller finne utnyttelser, der noe begrenset kunnskap om den underliggende programvaren er kjent på forhånd.

  • Denne formen for "etisk hacking" lar programvareutviklere lage rettelser og oppdateringer for å hindre ondsinnede angripere fra å bruke disse utnyttelsene.