Využití jazyka P4 pro generování síťových bezpečnostních aplikací
Usage of P4 language to generate network security applications
Type of document
diplomová prácemaster thesis
Author
Jiří Havránek
Supervisor
Čejka Tomáš
Opponent
Benáček Pavel
Field of study
Počítačová bezpečnostStudy program
InformatikaInstitutions assigning rank
katedra informační bezpečnostiRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Tato práce se věnuje využití vysokoúrovňového jazyka P4 pro generování bezpečnostních síťových aplikací. Využití je demonstrováno na popisu nového exportéru síťových toků, který vychází z existujícího exportéru flow_meter. Existující exportér a jazyk P4 jsou analyzovány a jsou identifikovány klíčové komponenty architektury. Mezi tyto komponenty patří parser paketů, flow cache, komponenta pro export toků ve formátu IPFIX a parsovací pluginy aplikačních protokolů. V práci je navržen vhodný popis těchto komponent pomocí programových konstrukcí jazyka P4. P4 program je následně možné přeložit na zdrojové kódy exportéru v C pomocí překladače jazyka P4, do kterého byl touto prací vytvořen backend. Měření a porovnání ukázalo, že nově vytvořený exportér je rychlejší než původní. Navíc je více flexibilní a podporuje mnohem více protokolů, jelikož je automaticky generovaný z P4 popisu. Je možné jednoduše přidávat nové protokoly, upravovat algoritmus vytváření toků v cache, upravovat záznam o toku a mnohem jednodušeji vytvářet nové parsovací pluginy aplikačních protokolů. Jednotlivé generované komponenty jsou měřeny zvlášť a byly obecně pomalejší než jejich ručně optimalizovaná verze. This work focuses on usage of P4 high-level language for generation of network security applications. Usage is demonstrated by writing new flow exporter that is based on existing exporter flow_meter. Existing exporter and P4 language are analyzed and key architecture components are identified. These components are packet parser, flow cache, IPFIX flow export component and application protocols parsing plugins. Work proposes proper design of these components by P4 programming constructs. P4 program can be afterwards compiled into C source codes of flow exporter by P4 compiler that contains backend created by this work. Measurements and evaluation show that the created new version of flow exporter is faster than the original one. In addition, it is more flexible and can support much more protocols, since it is automatically generated from P4 language. It is possible to simply add new protocols, change algorithm of flow creation in flow cache, modify flow record and create new application protocols parsing plugins. Generated components were measured separately and were generally slower than their hand optimized versions in existing exporter.
Collections
- Diplomové práce - 18106 [115]