Genetic algorithm in code coverage guided fuzz testing
Jääskelä, Esa (2016-01-12)
Jääskelä, Esa
E. Jääskelä
12.01.2016
© 2016 Esa Jääskelä. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201601151058
https://urn.fi/URN:NBN:fi:oulu-201601151058
Tiivistelmä
The security of computers is a growing concern when the amount of devices increases. New and more comprehensive testing methods need to be done to avoid damages to the users and their computers. Fuzzing is a testing method that inserts semi-valid input to the tested system and has before been considered as a good method for the security testing. However, it usually either does not get high code coverage or it requires a long set-up process or a source code analysis to achieve better code coverage. This work presents a genetic algorithm that automatically balances the probabilities of multiple mutators in a fuzzing program. This balancing aims to maximize the code coverage fuzz testing. After fuzzing two different open source libraries it was found that the grey-box approach in fuzzing gives better results than pure black-box fuzzing. Tietokoneiden tietoturva on kasvava huolenaihe, kun laitteiden määrä lisääntyy. Uusia ja kattavampia testauksia täytyy suorittaa, jotta voidaan estää käyttäjille ja heidän laitteilleen tapahtuvat vahingot. Fuzzausta on pidetty hyvänä testausmetodina, mutta yleensä se ei saavuta hyvää koodikattavuutta tai vaatii joko monimutkaisen asennuksen tai lähdekoodianalyysin. Tämä työ esittelee geneettisen algoritmin, joka automaattisesti tasapainottaa fuzzerin eri mutaatiofunktioiden todennäköisyydet. Tämä tasapainotus pyrkii maksimoimaan saavutetun koodikattavuuden ja parantamaan fuzzaamisen tehokkuutta. Kahden avoimen lähdekoodin kirjaston testaamisen perusteella mutatorit koodikattavuuden perusteella tasapainottava työkalu pärjäsi paremmin kuin perinteinen, lisätietoa hyödyntämätön black-box fuzzaus.
Kokoelmat
- Avoin saatavuus [37130]