Master's Thesis

Design and Implementation of a Framework for Automatic Generation of Attack Graphs Using Open Sources

Final Thesis 5.36 MB Appendix 374.78 kB

Author of thesis: Bc. Róbert Ruman

Acad. year: 2025/2026

Supervisor: Ing. Viet Anh Phan

Reviewer: Ing. Willi Lazarov

Abstract:

Due to the complexity of cybersecurity datasets and their missing taxonomy mappings it
is time consuming to lead from a real life vulnerability to its mitigation technique. The
aim of this thesis was to create a program that does these steps more time efficiently and
creates a visual roadmap using these information. From the inserted identifier of one of
the major cybersecurity dataset entries (Common Vulnerabilities and Exposures, Common Weaknesses Enumeration, Common Attack Pattern Enumeration and Classification,
MITRE ATT&CK and MITRE D3FEND), free text or a product, detailed information
is fetched. Where datasets do not provide direct links, the system uses a Natural Language Processing model to suggest additional connections. These steps are repeated for
every related item, creating a complete roadmap that shows how a vulnerability can lead
through different stages of exploitation and ultimately to applicable defense techniques.
The final output is displayed through a web-based interactive graph that allows users
to explore the data, move nodes, view brief descriptions, and open detailed JSON files.
Testing with various input types showed that the program handles all valid identifiers
correctly and produces accurate results. Future improvements include speeding up the
NLP component, improving its accuracy and adding support for searching by keywords.
To support reproducibility and further development, the complete source code and application are publicly accessible in the designated GitHub repository via the following link:
https://github.com/RumanRobert/VEACOR.git.

Keywords:

CVE, CWE, CAPEC, MITRE, ATT&CK, D3FEND, vulnerability, weakness, taxonomy
mapping, severity, mitigation, penetration testing

Date of defence

09.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky: 1) NLP modul vytváří vztahy na základě sémantické podobnosti, přičemž sám uvádíte, že jde pouze o orientační vztahy. Rozlišuje vizualizace nějak mezi oficiálně doloženými mapováními a vztahy odvozenými NLP modulem, aby uživatel nezaměnil sémantickou podobnost za potvrzené spojení? 2) Při vyhledávání pomocí názvu produktu uvádíte, že zadání pouze jména vendora může vrátit tisíce CPE záznamů a zásadně tak zhoršit zpracování a přehlednost výstupů. Jak nástroj v takovém případě postupuje při výběru relevantních záznamů? 3) V práci propojujete databáze, při každém dotazu vytváříte nové spojení, nebo ho jen aktualizujete? Je to časově náročné?

Language of thesis

English

Faculty

Department

Study programme

Information Security (MPC-IBE)

Composition of Committee

prof. Ing. Jan Hajný, Ph.D. (předseda)
JUDr. Ing. František Kasl, Ph.D. (místopředseda)
Ing. Jan Látal, Ph.D. (člen)
Ing. Petr Ilgner, Ph.D. (člen)
Ing. František Urban, Ph.D. (člen)
Ing. Willi Lazarov (člen)
Ing. Peter Balušík (člen)
doc. Ing. Karol Molnár, Ph.D. (člen)

Supervisor’s report
Ing. Viet Anh Phan

Diplomová práce studenta Bc. Róberta Rumana se zaměřuje na návrh a implementaci frameworku VEACOR, který automaticky propojuje hlavní kyberbezpečnostní taxonomie (CVE, CWE, CAPEC, MITRE ATT&CK, D3FEND a CPE) a jejich vzájemné vztahy vizualizuje formou interaktivní útokové roadmapy. Student kombinuje získávání dat z oficiálních zdrojů s NLP modulem sémantické podobnosti, díky čemuž dokáže odvodit i propojení, která oficiální databáze neuvádějí.
Student přistupoval k zadání aktivně, řešení často konzultoval a navrhoval efektivní postupy. Teoretická část je dostačující a srozumitelně popisuje jednotlivé znalostní báze. V praktické části vytvořil plně funkční a veřejně dostupný nástroj s instalátory pro Windows, macOS i Linux. V práci se vyskytují pouze drobné (i jazykové) nedostatky.
Z formálního i strukturálního hlediska je práce na dobré úrovni. Část výsledků student prezentoval na studentské konferenci STUDENT EEICT 2026 v sekci Intelligent Systems and Cybersecurity, kde získal první místo. Vzhledem k výše uvedenému navrhuji hodnocení A/98 bodů. Points proposed by supervisor: 98

Grade proposed by supervisor: A

Reviewer’s report
Ing. Willi Lazarov

Diplomová práce se věnuje návrhu a implementaci frameworku pro automatické generování útokových grafů z otevřených zdrojů dat. Práce nejprve představuje relevantní databáze, taxonomie a jejich vzájemné vazby, čemuž následuje návrh datového modelu a implementace vlastního nástroje.

Student v rámci praktické části implementoval vícevrstvou architekturu, kde řídící vrstva zpracovává uživatelský vstup, integrační vrstva získává a normalizuje data z jednotlivých zdrojů a prezentační vrstva zajišťuje interaktivní vizualizaci. Jako vhodný vnímám zejména retriever pro každý dataset, díky němuž lze nástroj rozšiřovat o další taxonomie. Za zdařilou považuji rovněž evaluaci NLP modulu pomocí dvou nezávislých jazykových modelů.

Z formálního hlediska obsahuje práce menší nedostatky. V textu se místy objevují překlepy, přetékání textu a nejednotné odborné termíny. Student cituje celkem 19 zdrojů skládajících se převážně z vědeckých publikací a webových stránek použitých standardů. Některé pasáže v teoretické části však citované nejsou (např. popis CPE nebo D3FEND u prvního výskytu). Jelikož je výskyt uvedených nedostatků minoritní, nemají zásadní vliv na celkovou kvalitu práce.

Veškeré stanovené cíle práce považuji za splněné. Framework je funkční a plně interaktivní. S ohledem na uvedené skutečnosti doporučuji práci k obhajobě s hodnocením A/92. Topics for thesis defence:
  1. NLP modul vytváří vztahy na základě sémantické podobnosti, přičemž sám uvádíte, že jde pouze o orientační vztahy. Rozlišuje vizualizace nějak mezi oficiálně doloženými mapováními a vztahy odvozenými NLP modulem, aby uživatel nezaměnil sémantickou podobnost za potvrzené spojení?
  2. Při vyhledávání pomocí názvu produktu uvádíte, že zadání pouze jména vendora může vrátit tisíce CPE záznamů a zásadně tak zhoršit zpracování a přehlednost výstupů. Jak nástroj v takovém případě postupuje při výběru relevantních záznamů?
Points proposed by reviewer: 92

Grade proposed by reviewer: A

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