bakalářská práce

Virtualizovaná simulace čistírny odpadních vod pro trénink ICS bezpečnosti

Text práce 2.47 MB Příloha 48.33 kB

Autor práce: Viktória Uhrinová

Ak. rok: 2025/2026

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

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

Abstrakt:

Táto práca sa zaoberá návrhom a implementáciou virtualizovanej simulácie čistiarne odpadových vôd a tréningového scenára kybernetickej bezpečnosti pre priemyselné riadiace systémy (ICS). V teoretickej časti sú zhrnuté základy OT/ICS bezpečnosti, rozdiely medzi IT a OT, architektúra podľa Purdue modelu a kategorizácia hrozieb na základe rámca MITRE ATT&CK for ICS. Ďalej sú predstavené súčasné prístupy k tvorbe tréningových scenárov, typy ICS testbedov, formáty tréningových cvičení a relevantné bezpečnostné rámce. Praktická časť opisuje implementáciu simulácie pozostávajúcej zo simulovaného PLC so Snap7, modelu procesov ČOV a HMI s backendom vo FastAPI a frontendom v Reacte. Všetky komponenty sú nasadené v kontajneroch Docker na dvoch virtuálnych strojoch v rámci platformy BUTCA. Bol navrhnutý scenár vo formáte Jeopardy CTF pozostávajúci z dvanástich úloh, ktoré pokrývajú prieskum siete, analýzu protokolov a aktívnu manipuláciu riadiaceho procesu. Úlohy scenára sú mapované na taktiky MITRE ATT&CK for ICS a obsahujú obranné odporúčania podľa NIST SP 800-82.

Klíčová slova:

Priemyselné riadiace systémy, Prevádzkové technológie, Kybernetická bezpečnosť, Čistiareň odpadových vôd, Virtualizovaná simulácia, Docker, PLC, Snap7, HMI, SCADA, ICS tréningové scenáre, MITRE ATT&CK for ICS, Purdue model, Capture the Flag, BUTCA

Termín obhajoby

16.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

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.

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační bezpečnost (BPC-IBE)

Složení komise

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)

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. Výsledný počet bodů navržený vedoucím: 92

Známka navržená vedoucím: A

Posudek oponenta
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ě. Otázky k obhajobě:
  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?
Výsledný počet bodů navržený oponentem: 85

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová