Detail práce

Fuzz testování výkonu programu

Bakalářská práce Student: Liščinský Matúš Akademický rok: 2018/2019 Vedoucí: Rogalewicz Adam, doc. Mgr., Ph.D.
Název anglicky
Fuzz Testing of Program Performance
Jazyk práce
český
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

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
10. června 2019
Oponent
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
  1. Zdůrazněte výhody vlastního fuzz testeru oproti afl nebo PerfFuzz.
Komise
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT), předseda
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Honzík Jan M., prof. Ing., CSc. (UIFS FIT VUT), člen
Kořenek Jan, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Citace
LIŠČINSKÝ, Matúš. Fuzz testování výkonu programu. Brno, 2019. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2019-06-10. Vedoucí práce Rogalewicz Adam. Dostupné z: https://www.fit.vut.cz/study/thesis/19090/
BibTeX
@bachelorsthesis{FITBT19090,
    author = "Mat\'{u}\v{s} Li\v{s}\v{c}insk\'{y}",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Fuzz testov\'{a}n\'{i} v\'{y}konu programu",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2019,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/19090/"
}
Nahoru