Automatická detekce protokolu pro black-box fuzz testování

Loading...
Thumbnail Image

Date

Authors

Závada, Tomáš

Mark

D

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií

ORCID

Abstract

Automatické testování je jedním z klíčových nástrojů pro zvyšování bezpečnosti současných softwarových systémů. Jednou z efektivních metod je fuzzing, tedy testování pomocí náhodně generovaných vstupních dat. Tento přístup umožňuje odhalit zranitelnosti, které by při běžném testování mohly zůstat skryté, a přispívá tak k robustnosti aplikací. V oblasti síťové komunikace je však použití fuzzingu komplikované pevně definovanou strukturou protokolů a složitou konfigurací testovacích scénářů. V této práci je popsán návrh a realizace nástroje, který automaticky analyzuje zachycenou síťovou komunikaci a pomocí algoritmu DBSCAN identifikuje statické a variabilní části zpráv. Ty jsou následně zobrazeny v grafickém rozhraní a převedeny do formátu kompatibilního s nástrojem Boofuzz, který provádí samotné testování. Díky tomuto přístupu je možné aplikovat fuzzing i bez znalosti definice protokolu. Testování probíhá formou Black-Box přístupu, což činí tuto implementaci velmi flexibilní a jednoduše aplikovatelnou. Vytvořený nástroj byl úspěšně otestován v prostředí využívajícím komunikační protokoly MODBUS/TCP, MQTT a DNP3. Během testování byla navíc odhalena chyba v implementaci jednoho z používaných nástrojů, což potvrzuje praktický přínos tohoto řešení.
Automated testing is one of the key approaches for improving the security of modern software systems. One effective method is fuzzing, which tests applications by injecting randomly generated input data. This approach helps uncover vulnerabilities that may remain hidden during conventional testing and thus contributes to the overall robustness of applications. In the domain of network communication, however, the use of fuzzing is often limited due to the strict structure of protocol messages and the complexity of configuring valid test cases. This thesis describes the design and implementation of a tool that automatically analyzes captured network communication and uses the DBSCAN clustering algorithm to identify static and variable parts of messages. These components are visualized in a graphical user interface and converted into a format compatible with the Boofuzz tool, which performs the actual fuzz testing. This approach enables effective fuzzing even without prior knowledge of the protocol specification. The tool performs testing using a black-box methodology, making the solution highly flexible and easy to apply. It was successfully tested on communication protocols MODBUS/TCP, MQTT, and DNP3, during which a vulnerability was discovered in one of the tested tools, which demonstrates the practical value of the proposed system.

Description

Citation

ZÁVADA, T. Automatická detekce protokolu pro black-box fuzz testování [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2025.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

bez specializace

Comittee

prof. Ing. Jan Hajný, Ph.D. (předseda) Ing. Josef Vojtěch, Ph.D. (člen) Ing. Jan Látal, Ph.D. (člen) JUDr. MgA. Jakub Míšek, Ph.D. (místopředseda) Ing. Ondřej Pospíšil (člen) Ing. Petr Ilgner (člen) Ing. Rudolf Procházka (člen)

Date of acceptance

2025-06-09

Defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci s výhradami a odpověděl na otázky členů komise a oponenta. Otázky: Při nastavování proměnných MODBUS_SERVER_IP a MODBUS_SERVER_PORT v programu modbus_client.py je nutný zásah do kódu. Proč není toto nastavení řešeno parametrem při spouštění nástroje? Na základě, jakých parametrů byl vybrán algoritmus DBSCAN?

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO