Bachelor's Thesis

Orchestration system for simulating software vulnerabilities

Final Thesis 2.04 MB Appendix 35.63 kB

Author of thesis: Jakub Myška

Acad. year: 2025/2026

Supervisor: Ing. Willi Lazarov

Reviewer: Ing. David Kohout, Ph.D.

Abstract:

This thesis focuses on the design and implementation of a system for orchestrating vulnerable software environments intended for security testing purposes. The theoretical part first introduces software vulnerabilities and their classification, followed by a description of critical layers of application security. The final section of the theoretical part presents and compares existing solutions for vulnerability simulation. The practical part begins with a high-level design of the orchestration system and a description of the technologies used for its implementation. It further presents the automation playbooks as well as the functionalities of the developed system. The final section introduces the user interface of the application. The outcome of this bachelor’s thesis is a web-based platform suitable for educational purposes as well as for testing security scenarios.

Keywords:

Docker, containerization, Ansible, Flask, PostgreSQL, orchestration, vulnerabilities, CVE, CWE, security testing, automation

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta. Otázky: Jaké bezpečnostní riziko představuje možnost spouštět z webového rozhraní libovolné Docker obrazy a jaká opatření by bylo vhodné implementovat pro minimalizaci těchto rizik? Bylo by možné doplnit informace o zranitelnostech formou tooltipů nebo informačního dialogu či panelu tak, aby měl uživatel okamžitý přehled o jednotlivých zranitelnostech bez nutnosti opouštět rozhraní aplikace? Jakým způsobem by bylo možné takovou funkcionalitu implementovat? Na základě jakého parametru párujete nalezené zranitelnosti s databází zranitelností? Proč byl zvolen právě software Ansible?

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

prof. Ing. Jan Hajný, Ph.D. (předseda)
doc. Ing. Pavel Mašek, Ph.D. (místopředseda)
Mgr. Václav Stupka, Ph.D. (člen)
Ing. Adrián Tomašov, Ph.D. (člen)
Ing. Jan Dvořák, Ph.D. (člen)
Ing. David Kohout, Ph.D. (člen)
Ing. Vojtěch Sikora (člen)

Supervisor’s report
Ing. Willi Lazarov

Bakalářská práce se věnuje návrhu a implementaci orchestračního systému pro simulaci softwarových zranitelností v izolovaném prostředí. Výstupem práce je aplikace postavená na technologiích Docker a Ansible, která umožňuje automatizované nasazování zranitelných služeb. V teoretické části student popisuje klasifikaci zranitelností pomocí CVE, CWE a OWASP Top 10. Následně jsou popsány vybrané vrstvy aplikační bezpečnosti a existující řešení pro simulaci zranitelností včetně jejich srovnání.

V praktické části je nejprve představen návrh systému. V rámci orchestrace student připravil dynamické Ansible playbooky pro správu životního cyklu kontejnerů, řešení dvouúrovňového logování a správu Docker kontejnerů. Pro obsluhu systému vyvinul student vlastní uživatelské rozhraní ve formě interaktivního panelu. Implementované funkcionality jsou postupně popsány, avšak místy až příliš obecně bez hlubšího technického rozboru. Postrádám rovněž ověření systému v měřitelných podmínkách včetně autentizační a autorizační vrstvy pro produkční nasazení.

Po formální stránce je práce se svými 44 stranami na dobré úrovni s občasným výskytem překlepů v textové části. Citováno je celkem 17 zdrojů složených převážně z webových stránek a dokumentací k použitým technologiím.

Veškeré stanovené cíle bakalářské práce považuji za splněné. Student realizaci práce pravidelně konzultoval a mé revize postupně zapracovával. Vytvořený systém je funkční a rozšiřitelný. Na základě uvedených skutečností doporučuji práci k obhajobě s hodnocením B/80. Points proposed by supervisor: 80

Grade proposed by supervisor: B

Reviewer’s report
Ing. David Kohout, Ph.D.

Student se v rámci bakalářské práce zabýval implementací orchestračního systému pro simulaci softwarových zranitelností. V teoretické části práce jsou popsány základní klasifikační systémy zranitelností (CVE, CWE a OWASP Top 10), kritické vrstvy aplikační bezpečnosti a vybraná existující řešení pro simulaci zranitelností. Praktická část se věnuje návrhu a implementaci webové platformy umožňující nasazení a správu kontejnerizovaných služeb obsahujících známé zranitelnosti.

Po formální stránce je práce zpracována na odpovídající úrovni, místy je však text poměrně stručný. V seznamu literatury převažují webové zdroje a dokumentace k použitým technologiím. Přínosné by bylo doplnění o odborné publikace. Vysokoúrovňový návrh systému (obrázek 3.1) by mohl být zpracován přehledněji. V práci mi také chybí celkový pohled na navrženou aplikaci, který by usnadnil orientaci v popisovaném uživatelském rozhraní.

Implementované řešení je funkční a splňuje cíle zadání. Aplikace umožňuje správu kontejnerů, automatizované spouštění Ansible playbooků i zobrazení zranitelností vztahujících se k jednotlivým verzím služeb. Za přínosné považuji zejména propojení s databází zranitelností a automatizaci nasazení prostředí. V oblasti uživatelského rozhraní bych však uvítal lepší zpětnou vazbu při operacích, jako je nasazení, restart či zastavení kontejneru, aby měl uživatel přehled o průběhu prováděných akcí.

Zadání bakalářské práce však považuji za splněné a navrhuji hodnocení B/85. Topics for thesis defence:
  1. Bylo by možné doplnit informace o zranitelnostech formou tooltipů nebo informačního dialogu či panelu tak, aby měl uživatel okamžitý přehled o jednotlivých zranitelnostech bez nutnosti opouštět rozhraní aplikace? Jakým způsobem by bylo možné takovou funkcionalitu implementovat?
  2. Jaké bezpečnostní riziko představuje možnost spouštět z webového rozhraní libovolné Docker obrazy a jaká opatření by bylo vhodné implementovat pro minimalizaci těchto rizik?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová