Cílem této práce bylo analyzovat volně dostupné fuzz frameworky, zjistit, zda je možné použít tyto frameworky při testování embedded softwaru a navrhnout možné strategie pro jejich fuzz testování. Analýza fuzz frameworků proběhla po teoretické stránce a jednalo se čistě o zjištění co jaký framework umí a jaké jsou jeho výhody a nevýhody. Pro fuzz testování byl vybrán volně dostupný projekt ze stránek MCUXpresso SDK, na kterém došlo k implementaci dvou navržených strategií pro fuzz testování. Z obou strategií nakonec vyšla úspěšnější druhá strategie, ve které došlo k separaci funkce z kódu a otestování ji samostatně místo toho, aby došlo k otestování celého programu, o což se snažila strategie číslo jedna.
Anotace v angličtině
The aim of this work was to analyze freely available fuzz frameworks, see if it's possible to use these frameworks on testing embedded software and design possible strategies for their fuzz testing. Analysis of fuzz framework was on the theoretical side and it was purely about finding out what frameworks can do and what are their advantages and disadvantages. For fuzz testing freely available project from MCUXpresso SDK website was selected. On this project two of the designed strategies were implemented. In the end a more successful strategy was the second one, in which the function was separated from the code and tested separately instead of testing the entire program what was that number one strategy trying to do.
Cílem této práce bylo analyzovat volně dostupné fuzz frameworky, zjistit, zda je možné použít tyto frameworky při testování embedded softwaru a navrhnout možné strategie pro jejich fuzz testování. Analýza fuzz frameworků proběhla po teoretické stránce a jednalo se čistě o zjištění co jaký framework umí a jaké jsou jeho výhody a nevýhody. Pro fuzz testování byl vybrán volně dostupný projekt ze stránek MCUXpresso SDK, na kterém došlo k implementaci dvou navržených strategií pro fuzz testování. Z obou strategií nakonec vyšla úspěšnější druhá strategie, ve které došlo k separaci funkce z kódu a otestování ji samostatně místo toho, aby došlo k otestování celého programu, o což se snažila strategie číslo jedna.
Anotace v angličtině
The aim of this work was to analyze freely available fuzz frameworks, see if it's possible to use these frameworks on testing embedded software and design possible strategies for their fuzz testing. Analysis of fuzz framework was on the theoretical side and it was purely about finding out what frameworks can do and what are their advantages and disadvantages. For fuzz testing freely available project from MCUXpresso SDK website was selected. On this project two of the designed strategies were implemented. In the end a more successful strategy was the second one, in which the function was separated from the code and tested separately instead of testing the entire program what was that number one strategy trying to do.
Zpracujte literární rešerši na téma fuzzing, fuzzery a využití genetických algoritmů ve fuzzingu a fuzzing frameworcích.
Analyzujte a popište vybrané fuzzing frameworky.
Vyberte projekt z prostředí MCUXpresso SDK a zpracujte pro něj strategie fuzzingu se zvoleným fuzzerem.
Implementujte navržené strategie na vybraný projekt.
Zhodnoťte dosažené výsledky a navrhněte další postupy pro fuzz testování.
Zásady pro vypracování
Zpracujte literární rešerši na téma fuzzing, fuzzery a využití genetických algoritmů ve fuzzingu a fuzzing frameworcích.
Analyzujte a popište vybrané fuzzing frameworky.
Vyberte projekt z prostředí MCUXpresso SDK a zpracujte pro něj strategie fuzzingu se zvoleným fuzzerem.
Implementujte navržené strategie na vybraný projekt.
Zhodnoťte dosažené výsledky a navrhněte další postupy pro fuzz testování.
Seznam doporučené literatury
HARPER, Allen, Daniel REGALADO, Ryan LINN, et al. Gray Hat Hacking: The Ethical Hacker´s Handbook. 5th Edition. New York: McGraw-Hill Education, 2018. ISBN 978-1-26-010842-2.
KIM, Peter. THE HACKER PLAYBOOK 2: Practical Guide To Penetration Testing. South Carolina: Secure Planet, 2015. ISBN 978-1512214567.
SUTTON, Michael, Adam GREENE a Pedram AMINI. Fuzzing Brute Force Vulnerability Discovery. Indiana: Addison Wesley, 2007. ISBN 0-32-144611-9.
TAKANEN, Ari, Jared DEMOTT, Charlie MILLER a Atte KETTUNEN. Fuzzing for Software Security Testing and Quality Assurance. 2nd Edition. Massachusetts: Artech House, 2018. ISBN 978-1608078509.
ZELLER Andreas, GOPINATH Rahul, BOHME Marcel, FRASER Gordon, HOLLER Christian. The Fuzzing Book [online]. CISPA Helmholtz Center for Information Security, 2021 [cit. 2021-11-29]. Dostupné z: https://www.fuzzingbook.org/
Seznam doporučené literatury
HARPER, Allen, Daniel REGALADO, Ryan LINN, et al. Gray Hat Hacking: The Ethical Hacker´s Handbook. 5th Edition. New York: McGraw-Hill Education, 2018. ISBN 978-1-26-010842-2.
KIM, Peter. THE HACKER PLAYBOOK 2: Practical Guide To Penetration Testing. South Carolina: Secure Planet, 2015. ISBN 978-1512214567.
SUTTON, Michael, Adam GREENE a Pedram AMINI. Fuzzing Brute Force Vulnerability Discovery. Indiana: Addison Wesley, 2007. ISBN 0-32-144611-9.
TAKANEN, Ari, Jared DEMOTT, Charlie MILLER a Atte KETTUNEN. Fuzzing for Software Security Testing and Quality Assurance. 2nd Edition. Massachusetts: Artech House, 2018. ISBN 978-1608078509.
ZELLER Andreas, GOPINATH Rahul, BOHME Marcel, FRASER Gordon, HOLLER Christian. The Fuzzing Book [online]. CISPA Helmholtz Center for Information Security, 2021 [cit. 2021-11-29]. Dostupné z: https://www.fuzzingbook.org/
Přílohy volně vložené
-
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Studentka v prezentaci seznámila komisi s výsledky své bakalářské práce. Po přečtení posudků vedoucího a oponenta následovala diskuze, ve které byly položeny následující dotazy:
doc. Kotyrba:
- Strategie jste si navrhla sama?
- Předala jste výsledky?
- Pomohli výsledky firmě?
- Proč toto téma?
- Vidíte v tomto trend na pokračování?
Studentka na položené dotazy odpověděla a reagovala pohotově.