Original title:
Akcelerace systému Suricata prostřednictvím vyhledávacích metadat
Translated title:
Accelerating Suricata with pattern-matching metadata
Authors:
Tobolík, David ; Kekely, Lukáš (referee) ; Šišmiš, Lukáš (advisor) Document type: Bachelor's theses
Year:
2024
Language:
eng Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[eng][cze]
Suricata je aplikace pro monitorování sítí, která prohledává pakety pomocí sady pravidel pro rozpoznání vzorů v síťovém provozu a v případě, že detekuje podezřelou aktivitu, vyvolá upozornění. Pro porovnávání vzorů Suricata využívá pattern-matching, což je proces náročný na výpočetní zdroje a tvoří většinu času běhu aplikace. Tato práce se zaměřuje na návrh nové komponenty, která si klade za cíl snížit množství porovnávaných vzorů v systému Suricata pomocí přibližného vyhledávání vzorů v aplikaci zvané DPDK Prefilter, která slouží k simulaci specializovaného hardware pomocí softwarové implementace. Nová komponenta přidává vyhledávací metadata k paketům, která jsou v Suricatě použita k potenciálnímu přeskočení pattern-matchingu v případě, že byl paket zkontrolován v DPDK Prefilteru a nebyly nalezeny žádné vzory. Implementace využívá DPDK pro meziprocesovou komunikaci a sdílení dat, pro pattern-matching byl použit Hyperscan. V rámci práce byly navrženy a implementovány různé typy vyhledávacích metadat a některé z nich dokázaly vylepšit výkon Suricaty díky snížení množství pattern-matchingu.
Suricata is a network monitoring application inspecting packets using a set of rules to detect malicious activity. One of the main detection mechanisms is pattern-matching, however, it is a resource-intensive process taking up most of the application processing time. This thesis focuses on designing a new component to help reduce the amount of pattern-matching in Suricata. The new component was implemented in an application called DPDK Prefilter used to simulate specialized hardware components using software implementation. It adds detection metadata to packets, which are used in Suricata to potentially skip patterns matching if the packet was checked and no patterns were found. The implementation utilizes DPDK for inter-process communication and sharing data, and Hyperscan was used as a pattern-matching engine. Different types of detection metadata were designed and implemented and some of them have shown improvements in the performance of Suricataby reducing the amount of pattern-matching.
Keywords:
detekční modul; DPDK; DPDK Prefilter; Hyperscan; IDS; IPS; metadata; monitorování sítí; Suricata; vyhledávání vzorů; detection module; DPDK; DPDK Prefilter; Hyperscan; IDS; IPS; metadata; network monitoring; pattern-matching; Suricata
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: https://hdl.handle.net/11012/246908