Využití virtualizace pro zabezpečení systému automatizovaného hodnocení úloh z programování
Utilization of Virtualization to Secure a System for Automated Evaluation of Programming Tasks
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Jan Kuběna
Vedoucí práce
Růžička Jakub
Oponent práce
Fesl Jan
Studijní obor
Bezpečnost a informační technologieStudijní program
InformatikaInstituce přidělující hodnost
katedra počítačových systémůPrá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
Cílem této práce je využít virtualizaci k zabezpečení existujícího systému SharpTest, což je systém pro automatizované hodnocení domácích úloh z programování. Zabezpečení tohoto systému obnáší zejména bezpečné spouštění nedůvěryhodného kódu v testovacím prostředí a separaci systému do izolovaných částí. V první části práce jsou popsány problémy se spouštěním nedůvěryhodného kódu a je provedena rešerše technologií virtualizace. Také je provedena analýza systému SharpTest, zabývající se zejména částí systému starající se o spouštění nedůvěryhodného kódu a automatizované hodnocení úloh. V druhé části práce je navrženo řešení využívající hardwarovou virtualizaci na virtualizační platformě XCP-ng s hypervisorem Xen a je proveden návrh její integrace do systému SharpTest. Tento návrh je realizován a jeho správná integrace je otestována, příčemž jsou vytvořeny i automatizované testy. The aim of this thesis is to utilize virtualization in order to secure an existing solution SharpTest (a system for automated evaluation of programming tasks). Main focus is on secure execution of untrusted code in testing environment and separation and isolation of the system's components. The first part of this thesis introduces problems with execution of untrusted code followed by literature review on virtualization technology. SharpTest is also analyzed with emphasis on the components responsible for untrusted code execution and automated evaluation. In the latter part of this thesis, a solution utilizing hardware virtualization on virtualization platform XCP-ng with hypervisor Xen and it's integration into SharpTest is introduced. Proposed solution is then implemented, integrated and finally tested, with automated tests included as well.
Kolekce
- Bakalářské práce - 18104 [347]