Comparing AFL scalability in virtual- and native environment
Authors
Date
2020Copyright
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Tämän työn lähtökohtana oli tutkia automaattisien haavoittuvuusetsintä työkalujen (fuzzereiden) skaalautuvuutta natiivissa- ja virtuaalisessa suoritusympäristössä. Tutkielma suoritettiin monitapaustutkimuksena, jossa analyysi yksikkönä toimi fuzzeri American Fuzzy Lop (AFL). Monitapaustutkimuksen tavoitteena oli millaisella konfiguraatiolla AFL toimii parhaiten, hidastaako suoritusympäristö fuzzeria ja skaalautuuko AFL rinnakkaisajossa olemassa olevan teorian mukaan?
Kirjallisuuskatsauksen perusteella tunnistettiin neljä mittaria: koodin kattavuus, löydettyjen bugien määrä, suoritusten määrä sekunnissa, sekä yhteisen bugin löytämiseen kulunut aika. Monitapaustutkimus jaettiin viiteen osaan, joista jokainen osa toistettiin natiivissa ja virtuaaliympäristössä. Osien toistaminen suoritettiin skriptaamalla.
Instanssien ajaminen ei sujunut täysin odotuksien mukaisesti. Pilotti tapauksen ajaminen vaati kaksi uusintakertaa, sillä tuloksien perusteella oli nähtävissä, että AFL ei ollut käynnistynyt oikein. Tuloksia kerätessä huomattiin myös, että yhden päivän koe oli uusittava virheen vuoksi. Lisäksi yhden virtuaalisen tapauksen tuloksia ei ollut kirjattu tuntemattomasta syystä, mutta tämä ei ollut este tutkimuksen tuloksien analysoimiseksi.
Tutkimuksen tulokset analysoitiin Mann-Whitney U-testillä sekä Vargha-Delaney Â12 vaikutuksen suuruus testillä. Koodin kattavuutta ei voitu arvioida, sillä tulokset olivat liian homogeenisia. Löydettyjä bugeja oli yhteensä seitsemän, mutta bugeja oli löydetty hyvin harvakseltaan, jolloin vertailua ei voitu suorittaa. Suoritusnopeuden tapauksessa konfiguraatioiden keskiarvon mittaaminen muodostui ongelmalliseksi, koska keskiarvo suoritusnopeudesta konvergoitui renkien (slave) tuloksien ympärille. Suoritusnopeutta mitattiin täten laskemalla fuzzereiden yhteenlaskettu keskiarvo. Kumulatiivisen keskiarvon lisäksi kaikista tapauksista löytyi yhteinen bugi (read_utmp) jota voitiin käyttää tehokkuuden mittaamiseen.
Tuloksien perusteella voidaan todeta, että käyttäessä monta isäntää fuzzeri nopeutuu, mutta lisättäessä renkejä sen kyky löytää bugeja paranee. Vastaavasti virtuaali- ja natiivi toteutus eivät tehollisesti eronneet toisistaan merkittävästi. Lopuksi voidaan todeta, että fuzzaaminen skaalautuu erittäin tehokkaasti käyttäessä kahta tai kolmea tietokoneen ydintä.
...
Object of this study is to explore scalability of automatic vulnerability discovery tools (Fuzzers) in virtual and native execution environments. Multiple-case study was executed while the unit of analysis within was fuzzer American Fuzzy Lop (AFL). Research questions for this multiple-case study were: Does AFL scale ac-cording to known theoretical models, how is the scalability hindered through virtualization and how does the performance differ when different AFL configurations are used?
From current academia four different metrics were identified: code cover-age, bug count, execution speed and time to find shared bug. Multiple-case study was done through five cases in both native and virtual environment. Execution of cases was done through scripting.
Execution of cases had few problems. Pilot study had to be repeated twice because of irregularities in data showing that AFL had not started properly. During gathering the results, it was discovered that one day worth of data had to be rerun. In addition, for unknown reason, one virtual instance run is forever lost, but it does not hamper the analysis of this study.
This study used Mann-Whitney U-test and Vargha-Delaney Â12 effect size measurement to assess metrics. Code coverage proved to be homogenous and was therefore discarded. Instances found a total of seven unique bugs and there-fore results were too sparse to be analyzed. Execution speed proved to be biased as the averages of instances skewed towards larger dataset of slave configured fuzzers. Therefore, cumulative values of execution speed per configuration were used as metric. Furthermore, a single shared bug was found (read_utmp) which could be used to assess performance.
Study concludes that configuration of instances favors execution speed while masters are used, while bug discovery is enhanced by using slave configured instances in addition to masters. No significant performance difference was found between virtual and native environments. Finally, it can be said that fuzzers scale well in two and three core instances.
...




Keywords
Metadata
Show full item recordCollections
- Pro gradu -tutkielmat [25556]
Related items
Showing items with similar title or keywords.
-
Efficient remote authentication
Kiperberg, Michael; Zaidenberg, Nezer (Peregrine Technical Solutions, LLC, 2013)In 2003, Kennel and Jamieson described a method of remote machine authentication. By authentication, the authors meant that the remote machine is non-virtual, and the operating system on the ... -
Vulnerabilities in the wild : detecting vulnerable web applications at scale
Laitinen, Pentti (2018)Web-sovellukset ovat suosittu kohde pahansuoville hyökkäyksille. Yleisissä web-sovelluksista voi löytyä useita haavoittuvuuksia vuoden aikana, joten on tärkeää päivittää sovelluksia aktiivisesti, jos niihin tulee ... -
“I felt a bit nervous” : Virtual Exchange as an emotional journey
Háhn, Judit (Jyväskylän yliopisto, 2021)Virtual Exchange is a collective term for a set of collaborative online learning practices that cut across institutional, cultural, and international borders. Moving outside their learning environments, the participants ... -
EU Projects Going Virtual : The ONE Meeting Approach
Cendon, Eva; Kananen, Päivi; Uotinen, Virpi; López-Forés, Laura (European Association of Distance Teaching Universities, 2022)The ONE meeting approach aims to equip EU project managers and HE leadership with skills and competencies needed for making EU projects more efficient, greener and more sustainable. Our target groups can pick out what is ... -
Cross-site scripting (XSS) vulnerability prevention in open-source web content management system documentation
Hanhijoki, Heikki (2023)Cross-site scripting (XSS) -haavoittuvuudet ovat olleet merkittävä uhka web-sovelluksille jo yli kahden vuosikymmenen ajan. XSS-haavoittuvuudet ovat säilyttäneet paikkansa yleisimmin havaittujen web-sovellushaavoittuvuuksien ...