Objevování bezpečnostních chyb ve zdrojovém kódu za použití dotazů v grafových databázích
Discovering security bugs in source code using graph database queries
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Skoumal Ondřej
Vedoucí práce
Černý Tomáš
Oponent práce
Láznička Stanislav
Studijní obor
Softwarové systémyStudijní program
Otevřená informatikaInstituce přidělující hodnost
katedra počítačůObhájeno
2017-06-15Práva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Najít bezpečnostní chybu ve zdrojovém kódu není jednoduchý úkol. Tato práce si klade za cíl prozkoumat nový způsob jejich nalezení - použitím open-source nástroje Joern a grafových databází. Joern umožňuje analyzovat zdrojové kódy C/C++ a ukládat informace popisující kód do grafové databáze. Do této databáze se pak můžeme dotazovat různými zbůsoby, např. "najděte všechna místa, kde jsou nekontrolovaná vstupní data použita jako argument ve volání funkce". Toto dotazování za účelem hledání chyb může být velice efektivní a tato práce ukazuje způsoby, jak napsat dotazy k nalezení již známých bezpečnostních chyb, jak tyto dotazy zobecnit, abychom je mohli použít k nalezení neznámých bezpečnostních chyb, a nakonec ukazuje použití jednoduchého nástroje, který tyto zobecněné dotazy používá k vyhledávání chyb. Finding a security vulnerability in a source code is not an easy task. This thesis aims to explore a new way to find them - to use open-source tool the Joern and modern graph databases. Joern allows to analyze C/C++ codebases and store information about the code in the Graph database. We can then query this database in various ways, e.g. to "find all places where unsanitized input data are used as argument in a function call". This kind of quering of Graph database to find the vulnerabilities can be very efficient and this thesis explores ways how to write the queries to find already known security bugs, how to generalize such queries so they can be used to find yet unknown security vulnerabilities, and finally to utilize simple tool to use these generalized queries for the vulnerability search.
Kolekce
- Bakalářské práce - 13136 [1125]