Bachelor's Thesis

Virtualized simulation of a wastewater treatment plant for ICS security training

Final Thesis 2.47 MB Appendix 48.33 kB

Author of thesis: Viktória Uhrinová

Acad. year: 2025/2026

Supervisor: Ing. Ondřej Pospíšil, Ph.D.

Reviewer: Ing. Karel Kuchař, Ph.D.

Abstract:

This thesis focuses on the design and implementation of a virtualized wastewater treatment plant simulation and a cybersecurity training scenario for Industrial Control Systems (ICS). The theoretical part summarizes the fundamentals of OT/ICS security, the differences between IT and OT, the Purdue reference model, and threat categorization based on MITRE ATT&CK for ICS. It also presents current approaches to training scenario development, types of ICS testbeds, training exercise formats, and relevant security frameworks. The practical part describes the implementation of the simulation consisting of a Snap7-based simulated PLC, a wastewater treatment process model, and an HMI with a FastAPI backend and React frontend. All components are deployed in Docker containers on two virtual machines within the BUTCA platform. A Jeopardy CTF scenario was designed consisting of twelve tasks covering reconnaissance, protocol analysis, and active manipulation of the control process. The scenario tasks are mapped to MITRE ATT&CK for ICS tactics and include defense recommendations based on NIST SP 800-82.

Keywords:

Industrial Control Systems (ICS), Operational Technology (OT), Cybersecurity, Wastewater Treatment Plant, Virtualized Simulation, Docker, Programmable Logic Controller (PLC), Snap7, Human–Machine Interface (HMI), SCADA, ICS Training Scenarios, MITRE ATT&CK for ICS, Purdue Model, Capture the Flag, BUTCA

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Studentka prezentovala výsledky své práce a komise byla seznámena s posudky. Studentka obhájila bakalářskou práci a odpověděla na otázky členů komise a oponenta. Provedla jste analýzu nejčastějších útoků zaměřený na OT sítě? Jakým způsobem došlo k ustanovení návrhu Vámi definovaného scénáře? Jakým způsobem skript „plc_server.py“ „simuluje chování PLC“, jak v práci uvádíte (str. 28), co je přesně simulováno a z jakého modelu je vycházeno? Z jakého důvodu v rámci vytvořeného scénáře využíváte knihovnu python-snap7 ve verzi 2.0.2, když aktuální verze knihovny je 3.0.0? Studentka dostatečně vysvětlila otázky.

Language of thesis

Slovak

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

doc. Ing. Václav Zeman, Ph.D. (předseda)
JUDr. Mgr. Jakub Harašta, Ph.D. (místopředseda)
Ing. Karel Kuchař, Ph.D. (člen)
Ing. Michal Polívka, Ph.D. (člen)
Ing. Petr Blažek, Ph.D. (člen)
Ing. Vojtěch Fiala (člen)
doc. Ing. Norbert Herencsár, Ph.D. (člen)

Supervisor’s report
Ing. Ondřej Pospíšil, Ph.D.

Bakalářská práce je zpracovaná na dobré úrovni. Technická zpráva je přehledně členěna a jednotlivé části na sebe logicky navazují. Rozsah práce odpovídá požadavkům bakalářské práce. Formální a jazyková úroveň práce je dobrá, text je srozumitelný a vhodně popisuje navržené řešení i jeho praktickou realizaci. V teoretické části bych vytknul, že v práci mohlo být využito větší množství odborné literatury. Část zaměřená na rešerši současného přístupu tvorby tréninkových scénářů mohla být zpracována podrobněji. Za největší přínos práce považuji praktické výstupy. Studentka vytvořila simulaci virtuální čistírny odpadních vod, která zahrnuje backend i frontend s komunikací pomocí průmyslového protokolu S7 a implementovala řešení do platformy BUTCA. Součástí práce je také funkční výukový scénář zaměřený na oblast provozních technologií. Simulace je navržena na základě fyzického polygonu, díky čemuž si studenti mohou vyzkoušet obdobný scénář jak na fyzické části čistírny odpadních vod, tak i v simulačním prostředí. Toto řešení má významný praktický přínos, protože umožňuje zvýšit počet studentů, kteří mohou být současně trénováni v této problematice. Studentka byla během semestru aktivní, pravidelně konzultovala a k práci přistupovala zodpovědně. Přicházela s vlastními nápady na vylepšení připravované simulace. Zadání práce považuji za splněné. Výstupy práce jsou prakticky využitelné pro výuku a trénink v oblasti kybernetické bezpečnosti provozních technologií.

Vzhledem k dobrému zpracování praktického řešení a využitelnosti výsledků hodnotím práci známkou A, 92 body. Points proposed by supervisor: 92

Grade proposed by supervisor: A

Reviewer’s report
Ing. Karel Kuchař, Ph.D.

Bakalářská práce na téma: „Virtualizovaná simulace čistírny odpadních vod pro trénink ICS bezpečnosti“ je zpracována na 61 stranách, kde je práce členěna celkem do čtyř kapitol. Teoretická část práce se zabývá základním popisem průmyslových sítí, Purdue modelu a kybernetických hrozeb v přímé návaznosti na MITRE ATT&CK pro ICS. Dále se zaměřuje převážně na edukativní scénáře. Praktická část práce je rozdělena na část vlastního návrhu a implementaci v třetí kapitole a dále pak samotnému scénáři ve čtvrté kapitole. Práce využívá celkem 28 zdrojů, kde se jedná o odkazy na zmiňované dokumentace, odbornou literaturu a nástroje, v textu jsou uvedeny vhodně. Z formálního hlediska se v práci vyskytuje populárně naučná forma, neodborné výrazy (např. „bežia oba HMI kontejnery“), dále dochází k záměně trpného rodu a 1 os. mn. č. V teoretické části je proveden základní popis OT a kybernetických útoků vycházející z MITRE ATT&CK. Postrádám zde bližší analýzu vektorů útoků (v kap. 2.1), nebo rozbor nejčastějších kybernetických útoků (uvedena pouze reference [7] z roku 2022), na který by vhodně navazoval vytvořený scénář. Z praktického pohledu by bylo vhodnější schéma procesu ČOV uvést v textu dříve pro snadnější orientaci. Dále by bylo vhodné uvést postup přípravy pracoviště, postup instalace knihoven atp. pro zajištění snadné replikovatelnosti. Vytvořený scénář je funkční a souhlasí s popisem. Zadání práce považuji za splněné a zejména z důvodu zmíněných nedostatků navrhuji bodové hodnocení B/85 bodů a práci doporučuji k obhajobě. Topics for thesis defence:
  1. Provedla jste analýzu nejčastějších útoků zaměřený na OT sítě? Jakým způsobem došlo k ustanovení návrhu Vámi definovaného scénáře?
  2. Jakým způsobem skript „plc_server.py“ „simuluje chování PLC“, jak v práci uvádíte (str. 28), co je přesně simulováno a z jakého modelu je vycházeno?
  3. Z jakého důvodu v rámci vytvořeného scénáře využíváte knihovnu python-snap7 ve verzi 2.0.2, když aktuální verze knihovny je 3.0.0?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

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