Master's Thesis

Multifunctional tool for testing RTU devices

Final Thesis 3.26 MB

Author of thesis: Bc. Tomáš Calábek

Acad. year: 2025/2026

Supervisor: Ing. Antonín Bohačík

Reviewer: Ing. Petr Blažek, Ph.D.

Abstract:

This master's thesis deals with the issue of cybersecurity in industrial control systems communicating via the IEC 60870-5-104 protocol. The main objective of the thesis is the design and implementation of a comprehensive testing framework for functional validation and cybersecurity resilience assessment of RTU units. The tool was implemented in the Apache JMeter environment in combination with programs developed in the Python programming language. It includes modules for client communication, Denial of Service (DoS) load testing, and advanced mutation-based as well as systematic fuzzing with automated semantic classification of responses. The functionality of the framework was experimentally verified on a reference software server and a commercial hardware device. The test results revealed significant differences in the network resilience of both systems against UDP flooding and identified critical implementation vulnerabilities at the application layer, particularly failures leading to denial of service during the processing of heavily mutated packets. The obtained findings confirm the necessity of in-depth security testing beyond standard functional compliance with the protocol specification.

Keywords:

Apache JMeter, DoS attacks, fuzzing, IEC 60870-5-104, cybersecurity,  industrial control systems, RTU, SCADA

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. Otázky oponenta: - Z čeho jste vycházel při volbě časového průběhu a jednotlivých úrovní zatížení (50/75/100 %) u DoS scénářů? V kapitole 4 nejsou tyto hodnoty zdůvodněny. - U povelů Read (TI=102) a synchronizace času (TI=103) docházelo místo chybové odpovědi k pádu relace. Šlo podle vás o typy zpráv, které daná implementace vůbec nepodporuje, nebo o chybu v jejich obsluze, a jak tyto dvě možnosti při vyhodnocení odlišujete? - Testované hardwarové zařízení označujete u zátěžových testů za black box, u systematického fuzzingu však pracujete se známou mapou platných adres IOA. Jak jste tuto mapu adres získal a jak by automatické vyhodnocení fungovalo u skutečně neznámého zařízení? A-B: Student obhájil diplomovou práci C-E: Student obhájil diplomovou práci s výhradami F: Student neobhájil diplomovou práci. a odpověděl na otázky členů komise a oponenta.

Language of thesis

Czech

Faculty

Department

Study programme

Communications and Informatics (MPC-TIT)

Composition of Committee

doc. Ing. Petr Mlýnek, Ph.D. (předseda)
doc. Ing. Martin Vaculík, Ph.D. (místopředseda)
doc. Ing. Pavel Šilhavý, Ph.D. (člen)
doc. Ing. Martin Kyselák, Ph.D. (člen)
Ing. Rudolf Vohnout, Ph.D. (člen)
Ing. Pavel Bezpalec, Ph.D. (člen)
Ing. Lukáš Benešl, Ph.D. (člen)
Jakub Lešinský (člen)
Ing. Viet Anh Phan (člen)

Supervisor’s report
Ing. Antonín Bohačík

Student se ve své diplomové práci zabýval metodikami testování kybernetické bezpečnosti průmyslových systémů se zaměřením na protokol IEC 60870-5-104 a návrhem nástroje pro testování RTU zařízení. Práce je po stránce prezentační na nadprůměrné úrovni, text je vhodně členěn a rozsah práce odpovídá požadavkům kladeným na diplomovou práci. Formální a jazyková úroveň je celkově dobrá, ačkoli se v textu místy objevují krkolomné nebo méně vhodně formulované věty. Práce s odbornou literaturou je na dobré úrovni, použité zdroje jsou převážně odborného charakteru a jsou řádně citovány. Výsledky práce hodnotím velmi kladně. Výsledkem je prakticky využitelný nástroj pro odborné testování RTU zařízení, který bude možné dále využívat v rámci výzkumné i testovací činnosti. Oceňuji rovněž skutečnost, že programové řešení bylo navrženo s ohledem na budoucí rozšiřitelnost a další možný vývoj. Během semestru byl student velmi aktivní, pravidelně konzultoval dosažené výsledky a případné nejasnosti řešil bezprostředně po jejich vzniku. S ohledem na celkovou kvalitu práce ji hodnotím známkou A a uděluji 94 bodů. Points proposed by supervisor: 94

Grade proposed by supervisor: A

Reviewer’s report
Ing. Petr Blažek, Ph.D.

Předložená diplomová práce je se svými 101 stranami včetně příloh logicky členěna do pěti hlavních kapitol. Cílem práce bylo navrhnout a realizovat multifunkční nástroj pro testování RTU zařízení komunikujících protokolem IEC 60870-5-104, a to pro validaci komunikace i pro testování odolnosti vůči DoS útokům a fuzzingu.
V teoretické části autor popisuje problematiku standardu a metodiky bezpečnostního testování, v praktické části navrhl a realizoval nástroj postavený nad prostředím JMeter ve spojení s programy v jazyce Python a jeho funkčnost ověřil na reálném zařízení i na referenčním softwarovém serveru.
Po odborné stránce je práce na nadprůměrné úrovni. Interpretace výsledků je na velmi dobré úrovni s věcnou diskuzí a konkrétními doporučeními. Z formálního hlediska je práce na dobré úrovni, ačkoli se v textu místy objevují krkolomné formulace. Práce s literaturou je na dobré úrovni, zdroje jsou převážně odborné a řádně citované.
Na základě zadání a vypracované práce považuji všechny cíle za splněné a navrhuji hodnocení A/94. Topics for thesis defence:
  1. Z čeho jste vycházel při volbě časového průběhu a jednotlivých úrovní zatížení (50/75/100 %) u DoS scénářů? V kapitole 4 nejsou tyto hodnoty zdůvodněny.
  2. U povelů Read (TI=102) a synchronizace času (TI=103) docházelo místo chybové odpovědi k pádu relace. Šlo podle vás o typy zpráv, které daná implementace vůbec nepodporuje, nebo o chybu v jejich obsluze, a jak tyto dvě možnosti při vyhodnocení odlišujete?
  3. Testované hardwarové zařízení označujete u zátěžových testů za black box, u systematického fuzzingu však pracujete se známou mapou platných adres IOA. Jak jste tuto mapu adres získal a jak by automatické vyhodnocení fungovalo u skutečně neznámého zařízení?
Points proposed by reviewer: 94

Grade proposed by reviewer: A

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