University of Oulu

Genetic algorithm in code coverage guided fuzz testing

Saved in:
Author: Jääskelä, Esa1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Computer Science and Engineering
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 1.2 MB)
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201601151058
Language: English
Published: Oulu : E. Jääskelä, 2016
Publish Date: 2016-01-18
Physical Description: 41 p.
Thesis type: Master's thesis (tech)
Tutor: Röning, Juha
Reviewer: Röning, Juha
Schaberreiter, Thomas
Description:

Abstract

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.

see all

Tiivistelmä

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.

see all

Subjects:
Copyright information: © Esa Jääskelä, 2016. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.