Fakulta informačních technologií VUT v Brně

Detail produktu

Knihovna akceleračních modulů pro analýzu aplikačních protokolů v FPGA

Vznik: 2018

Název anglicky
Library of acceleration components for analysis of application-layer protocols on FPGA
Typ
software
Licence
vyžadována - licenční poplatek
Autoři
Košař Vlastimil, Ing. (UPSY FIT VUT)
Selecký Roman, Ing. (UPSY FIT VUT)
Kořenek Jan, doc. Ing., Ph.D. (UPSY FIT VUT)
Fukač Tomáš, Ing. (UPSY FIT VUT)
Klíčová slova
Analýza síťového provozu, analýza aplikačních protokolů, FPGA, PCRE, NKA, Vyhledávání řetězců popsaných regulárními výrazy,
Popis
Tento softwarový balíček obsahuje knihovnu akceleračních modulů pro analýzu aplikačních protokolů v FPGA. Součástí knihovny je modul pro extrakci hlaviček protokolů a tři moduly pro vyhledávání řetězců popsaných regulárními výrazy v aplikačních datech. Součástí knihovny je i software pro generování výše uvedených modulů z konfigurace a pro jejich ovládání za běhu. Akcelerační moduly jsou široce konfigurovatelné a podporují široké spektrum požadované propustnosti od 1Gbit/s až po více než 10Gbit/s.

Modul pro extrakci hlaviček protokolů (HFE-R) je generovaný na základě popisu v jazyce P4. V jazyce P4 se popisuje struktura hlaviček jednotlivých protokolů, návaznost protokolů za sebou a specifikuje se, které položky z hlaviček mají být extrahovány. Modul je tudíž díky použití jazyka P4 velmi flexibilní a univerzální.

Moduly pro vyhledávání řetězců popsaných regulárními výrazy v aplikačních datech jsou v knihovně obsaženy tři. Podle jejich charakteru je můžeme rozdělit do dvou skupin. První skupina obsahuje moduly, jejichž zdrojový kód je generovány z množiny regulárních výrazů a tudíž není možné jejich konfiguraci měnit za běhu. Druhou skupinu tvoří moduly, které umožňují změnu množiny regulárních výrazů popisujících vyhledávané řetězce za běhu.

Do první skupiny patří moduly PROTOCOL_IDENTIFIER a CRYPTO_PROTOCOL_IDENTIFIER. Tyto dva moduly se liší účelem pro který byly navrženy, jádro provádějící vyhledávání mají oba společné. PROTOCOL_IDENTIFIER slouží pro identifikaci příslušnosti paketu k aplikačnímu protokolu. CRYPTO_PROTOCOL_IDENTIFIER slouží pro detekci protokolů používajících šifrování. Zdrojový kód těchto modulů je generován z dodané množiny regulárních výrazů ve formátu PCRE. Pro zvýšení flexibility je za běhu možné podporu pro jednotlivé regulární výrazy zapínat nebo vypínat. Výhodu těchto modulů je malá spotřeba zdrojů, nevýhodou je nemožnost měnit množinu regulárních výrazů popisujících vyhledávané řetězce za běhu.

Do druhé skupiny patří modul PATTERN_MATCH. Tento modul umožňuje měnit, množinu regulárních výrazů popisujících vyhledávané řetězce za běhu. Modul je parametrizovatelný, umožňuje měnit maximální počet uložitelných regulárních výrazů a požadovanou propustnost modulu. Z důvodu snížení náročnosti modulu na zdroje FPGA podporuje modul pouze podmnožinu výrazových prostředků regulárních výrazů. Jednotka je konfigurovatelná za běhu konfiguračním souborem, který je vygenerován z množiny regulárních výrazů nástrojem pmgen. Konfigurace jednotky je přepínána atomicky v jednom taktu hodin, tudíž není propustnost jednotky omezena ani změnou konfigurace. Výhodou tohoto modulu je možnost měnit množinu regulárních výrazů popisujících vyhledávané řetězce za běhu, nevýhodou je větší spotřeba zdrojů a podpora části výrazových prostředků regulárních výrazů.



Umístění
Licence
Software je šířen v souladu s licenční politikou projektu Sondy pro analýzu a filtraci provozu na úrovni aplikačních protokolů, MV, VI20152019001.
Soubory
Nahoru