Mikä on fuzz-testaus?

Sumutestausta pidetään testityyppinä, jossa tarvitaan joko automatisoitua tai puoliautomaattista testaustekniikkaa koodauksen virheiden ja joko ohjelmistojen tai käyttöjärjestelmien tietoturvan aukkojen selvittämiseksi tarjoamalla satunnaisdatan syöte järjestelmään. Tätä satunnaista dataa kutsutaan FUZZ: ksi. Loppujen lopuksi tämä tapahtuu, järjestelmässä tarkistetaan erityyppisiä poikkeuksia, kuten joko järjestelmän kaatuminen tai jopa sisäänrakennetun koodin epäonnistuminen ja paljon muuta. Tämän on alun perin kehittänyt joku nimeltään Barton Miller, joka oli kotoisin Wisconsinin yliopistosta. Sitä kutsutaan myös sumeaksi pidetään tietoturvatestauksen tyyppinä.

Miksi tarvitsemme fuzz-testausta?

  • Usein Fuzz-testauksella pystytään selvittämään järjestelmän vakavimmat turvallisuusvirheet.
  • Se tarjoaa paljon tehokkaampia tuloksia, kun käytämme sitä yhdessä Black Box -testauksen, beetatestauksen tai erilaisten virheenkorjausmenetelmien kanssa.
  • Sitä tarvitaan myös ohjelmiston haavoittuvuuden todentamiseksi. Se on myös todella kustannustehokas testaustekniikka.
  • Sitä pidetään yhtenä mustan laatikon testaustekniikana. Se on myös yksi eniten käytettyjä hakkereita, jotka löytävät järjestelmän haavoittuvuuden.

Kuinka sumea testaus suoritetaan?

Sumuisen testauksen vaiheet sisältävät testauksen perusvaiheet-

Vaihe 1 : Kohdejärjestelmän tunnistaminen.

Vaihe 2 : Tulojen tunnistaminen.

Vaihe 3 : sumea tiedon luonti.

Vaihe 4 : Testaa suorittaminen sumeaa dataa käyttämällä.

Vaihe 5 : Järjestelmän toiminnan seuranta.

Vaihe 6 : Vikojen kirjaaminen.

Esimerkkejä höyrystimistä

Alla on monia höyrystimiä:

  • Mutaatioon pohjautuvat sulattajat: Nämä sulatimet muuttavat olemassa olevat datanäytteet uusien testitietojen tuottamiseksi. Tämä on melko helppoa sekä suora menetelmä, se alkaa kohtuullisen protokollan kanssa ja sekoittaa jokaista tavua tai jopa tiedostona.
  • Sukupolvepohjaiset höyrystimet: Ne määrittelevät uutta tietoa mallitulosta riippuen. Se aloittaa tulojen tuottamisen tyhjästä eritelmästä riippuen.
  • Protokollapohjainen tukija: Menestyksekkäimmänä pidetään fuzzeria, jolla on melko selitetty tieto testattavasta protokollamuodosta. Tämä ymmärrys riippuu erittelystä. Se sisältää joukon eritelmien kirjoittamista työkalun sisälle ja sen jälkeen mallipohjaisen tekniikan hyödyntämistä. Sitä kutsutaan myös syntaksitestiksi tai kieliopin testaamiseksi tai lujuuden testaamiseksi.

Meillä on kaksi rajoitusta tälle protokollapohjaiselle sumulle, joka on seuraava:

  1. Emme voi jatkaa testausta, ennen kuin ja ellei eritelmä ole melko kypsä.
  2. On olemassa monia protokollia, jotka ovat julkaistujen protokollien jatke. Jos sumea testaus perustuu näihin eritelmiin, jotka julkaistaan, testien kattavuus näille uusille protokollille olisi rajoitettu.

Siellä on yksinkertaisin fuzzing-testauksen muoto, joka on satunnaistulon lähettäminen ohjelmistoon protokollapakettien tai jopa tapahtuman muodossa. Tämän nimenomaisen tavanomaisen syötteen siirtämisen tavan katsotaan olevan varsin tehokas vikojen löytämiseen eri sovelluksissa ja palveluissa. On myös muita tekniikoita, joita on saatavana, ja ne ovat myös melko helppoja toteuttaa.

Fuzz-testauksella havaitut viatyypit

  • Muistivuodot ja väitteet epäonnistumisista: Tätä menetelmää käytetään laajasti laajoissa sovelluksissa, joissa virheet vaikuttavat vakavan haavoittuvuuden vuoksi pidetyn muistin turvallisuuteen.
  • Virheellinen syöttö: Huuhtelulaitteita tarvitaan virheellisen tulon luomiseen, jota tarvitaan sumun testauksen virheenkäsittelyrutiinien testaamiseen. Se on myös aivan välttämätöntä ohjelmistoille, jotka eivät hallitse tuloa. Sumuistamista pidetään tapana automatisoida negatiivinen testaus.
  • Virheiden paikkansapitävyys: Fuzzing on tarpeen, jotta voidaan havaita eräitä "oikeellisuuden" virheitä, kuten vioittunut tietokanta tai huonot hakutulokset ja paljon muuta.

Sumujen testaustyökalut

Verkkoturvallisuudessa varsin hyödyllisiä työkaluja voidaan myös suurelta osin käyttää sumutustestauksessa tai sumeaan. Esimerkiksi Peach Fuzzer, Burp Suite jne.

1. Peach Fuzzer

Tämä työkalu tarjoaa paljon vankeamman ja turvallisemman suojan skanneriin verrattuna. Jos puhumme muista testaustyökaluista, niillä on kuitenkin kyky etsiä vain tunnettuja uhkia. Mutta Peach Fuzzer saa käyttäjät löytämään sekä tunnettuja että tuntemattomia uhkia.

2. Spike Proxy

Spikeä pidetään ammattitason työkaluna, joka etsii haavoittuvuuksia sovellustasolla eri verkkosovelluksissa. SPIKE Proxy ottaa huomioon vain perusasiat, kuten SQL Injection tai sivustojen väliset komentosarjat. Se on kuitenkin täysin Pythonin avoin infrastruktuuri. SPIKE Proxy on läsnä sekä Linuxissa että Windowsissa.

edut

  • Sumutestauksessa löydettyjä virheitä pidetään usein vakavina ja useimmiten hakkerit käyttävät niitä kaatumisista, muistivuodoista tai käsittelemättömistä poikkeuksista ja paljon muuta.
  • Jos testaajat eivät löytäneet virheitä tai virheitä, koska aika ja resurssit ovat rajalliset, ne voidaan löytää Fuzz-testauksessa.

haitat

  • Pelkästään fuzz-testauksella yksin ei voida antaa kaikkien turvallisuusuhkien kokonaiskuvaa.
  • Myös sumea testausta ei pidetä todella tehokkaana käsitellessäsi tietoturvavirheitä, jotka eivät aiheuta ohjelman kaatumisia, kuten viruksia, matoja jne.
  • Se pystyy tunnistamaan vain yksinkertaisia ​​uhkia.
  • Tehokkaan suorituksen saamiseksi se vaatii huomattavasti aikaa.

johtopäätös

Voimme siis päätellä, että ohjelmistosuunnittelussa tämä testaus, toisin sanoen Fuzz-testaus, osoittaa virheiden esiintymisen missä tahansa sovelluksessa. Tämä testaus ei takaa virheen havaitsemista täydellisesti yhdessäkään sovelluksessa. Kuitenkin, jos käytämme tätä Fuzz-tekniikkaa, se takaa, että sovellus on melko vankkaa, ja varma syy siihen, että sumea testaus auttaa melko paljon paljastamaan monia yleisiä haavoittuvuuksia.

Suositellut artikkelit

Tämä on opas sumetestaukseen. Tässä keskustellaan mitä on sumea testaus? testaustyökalut, edut ja haitat. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Vertailutestaus
  2. Ohjelmistotestauksen tyypit
  3. Mikä on käytettävyystestaus?
  4. Staattinen testaus