bakalářská práce

Fuzz testování výkonu programu

Text práce 1.5 MB

Autor práce: Ing. Matúš Liščinský

Ak. rok: 2018/2019

Vedoucí: doc. Mgr. Adam Rogalewicz, Ph.D.

Oponent: Ing. Aleš Smrčka, Ph.D.

Abstrakt:

Oprava jednej chyby niekedy prináša do programu ďalších desať. Na odhalenie týchto chýb, najmä výkonnostných, často musíme programu poskytnúť vstup, ktorý vynúti jeho správanie pre najhorší prípad. Populárnym riešením pre automatické generovanie vstupov je tzv. fuzzing, avšak jeho cieľom je nájsť funkčné chyby programu. V tejto práci sa preto snažíme vytvoriť automatický generátor vstupov, ktorého úlohou bude vyvolať výkonnostné výkyvy. Navrhli sme preto vyladené fuzzing pravidlá pre mutáciu a spôsob spracovania informácií o behu programu so zámerom zachytiť výkonnostnú degradáciu. Naše riešenie je integrované do nástroja Perun, správcu výkonnostných profilov, ktorý uchováva informácie o každom behu vo forme profilu a je schopný porovnať tieto profily s cieľom detekovať zmenu vo výkone. Takýmto spôsobom môžeme dokázať, že beh programu s určitým vstupom zaberie viac času alebo pamäte. Náš fuzzer sme testovali na niekoľkých umelo vytvorených projektoch, kde ukazuje svoj potenciál generovanými vstupmi, ktoré markantne predlžujú dobu behu programu. Prínosom takéhoto riešenia je možnosť pre vývojárov pravidelne otestovať každú verziu projektu na výskyt výkonnostných chýb a vyhýbať sa im automatickým vyhľadávaním nečakaných vstupov.

Klíčová slova:

výkonnostné chyby, fuzz testovanie, mutácia vstupu, najhorší prípad, algoritmická zraniteľnosť, denial of service

Termín obhajoby

10.06.2019

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm "A".

Otázky u obhajoby:

  • Zdůrazněte výhody vlastního fuzz testeru oproti afl nebo PerfFuzz.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (IT-BC-3)

Studijní obor

Informační technologie (BIT)

Složení komise

prof. Ing. Tomáš Vojnar, Ph.D. (předseda)
prof. Ing. Jan M. Honzík, CSc. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)

Známka navržená vedoucím: A

Soubor vložený vedoucím Velikost
Hodnocení vedoucího [.pdf] 86,08 kB

Posudek oponenta
Ing. Aleš Smrčka, Ph.D.

Známka navržená oponentem: A

Soubor vložený oponentem Velikost
Posudek oponenta [.pdf] 87,32 kB

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová