DESIGNING INTRUSION DETECTION SYSTEM FOR FPGA TECHNOLOGY ABSTRACT

DESIGNING INTRUSION DETECTION SYSTEM FOR FPGA TECHNOLOGY ABSTRACT
DESIGNING INTRUSION DETECTION SYSTEM FOR FPGA TECHNOLOGY ABSTRACT

DESIGNING INTRUSION DETECTION SYSTEM FOR

FPGA TECHNOLOGY

Petr KOBIERSKY,Bachelor Degree Programme(3)

Dept.of Computer Systems,FIT,BUT

E-mail:xkobie00@stud.?t.vutbr.cz

Supervised by:Ing.Jan Koˇr enek

ABSTRACT

Intrusion Detection System(IDS)is an integrated software/hardware tool capable of detecting unauthorised access to computer systems and malicious network traf?c such as viruses,trojan horses and worms.This paper introduce architecture of the hardware accelerated IDS for Field-Programmable Gate Arrays(FPGAs).The approach based on on Nondeterministic Finite Automation(NFA)[1]with optimalization focused to Snort[2] ruleset is used for payload scanning.Proposed architecture was implemented in VHDL and was tested in a hardware.

1úVOD

V posledním desetiletíjsme svˇe dky vyrazného rozvoje sít’ovych technologií.S roz-vojem Internetu se ale takémno?ívirovéhrozby aútoky na poˇcítaˇc ovésystémy.K zaji?tˇe níbezpeˇc nosti poˇcítaˇc ovych sítíji?nestaˇcí?rewaly,ale je nutnépou?ít so?stikovanˇe j?ísys-témy pro detekci nebezpeˇc ného provozu(IDS).IDS kombinuje funkci klasi?kace paket?u, kteráje obsa?enáv ka?dém?rewallu,a funkci vyhledávánívzor?u v datech paket?u.Tímto umo?ˇn uje IDS detekovat daleko více hrozeb?íˇr icích se po Internetu.

IDS musíhledatˇrádovˇe tisíceˇr etˇe zc?u a regulárních vyrazu na rychlostech10Gb/s a více.To je pro softwarováˇr e?ení,kterájsou omezena zejména pomalou sbˇe rnici a zpra-cováním na obecném procesoru,neˇr e?itelnáúloha.Bˇe?nˇe pou?ívanyvolnˇe?iˇr itelnyIDS systém Snort dosahuje v závislosti na poˇc tu IDS pravidel propustnosti vˇrádech100Mb/s, co?je pro dne?nígigabitovésítˇe nedostateˇc né.Aby bylo mo?nédosáhnout tˇe chto,ale i vy??ích rychlostí,je nutnépˇr esunoutˇc asovˇe kriticou operaci vyhledáváníˇr etˇe zc?u do hard-ware.

Pro relalizaci rychlého vyhledávánívzor?u se jevíjako vhodnátechnologie FPGA.Ta poskytuje mo?nost rekon?gurace,ˇcím?umo?ˇn uje vytvoˇr it obvod s po?adovanymi vlast-nostmi,jakymi jsou rychlost hledánívzor?u nebo pou?itáplochaˇc ipu.Existujeˇr ada pˇrístupu na bázi FPGA pro rychlévyhledávánívzor?u,nejlep?ích vysledku v?ak dosahuje pˇrístup na bázi NFA publikovanypanem Clarkem[1].Z tohoto pˇrístupu vycházím i v této práci.

2ARCHITEKTURA

Navr?enáarchitektura se skládáz jednotky pro klasi?kaci paket?u ,jednotky pro vy-hledávánívzor?u a z nˇe kolika dal?ích komponent.Blokovéschéma architektury je zná-zornˇe no na obrázku 1.Paket je pˇr ijat ze vstupního rozhranído vstupního bufferu (IBUF).Pomocíjednotky HFE (Header Field Extractor)jsou TCP/IP polo?ky hlaviˇc ky (zdrojováa cílováadresa,porty,protokol...)pˇr evedeny na uni?kovanou hlaviˇc ku (UH),a ta je pˇr e-dána do klasi?kaˇc níjednotky.Celypaket je ulo?en do vystupního bufferu (SWOBUF),

kde ˇc ekána vysledek analyzy.Klasi?kaˇc níjednotka porovnáUH s pravidly IDS systému a jednotka pro vyhledáváníˇr etˇe zc?u (PTRN_MATCH)vyhledávzory vyskytujícíse v paketu.Pravidla nalezenáklasi?kaˇc níjednotkou se vyhodnotís vysledkem vyhledávacíjednotky.Pokud pˇr ijatypaket odpovídáalespoˇn jednomu pravidlu,je paket exportován do software,v opaˇc ném pˇr ípadˇe je zahozen.SWOBUF

..........

..........

..........UNIT PTRN_MATCH HFE IBUF UNIT CLASSIFICATION 1Gbps Obrázek 1:Navrhovanáarchitektura

3BLOK PRO VYHLEDáV áNíVZOR ?U

Jádrem navr?enéarchitekury je jednotka pro vyhledávánívzor?u .Obsah jednotky je generován se zadanémno?iny ˇr etˇe zc?u .Pˇr i pˇr evodu jsou nejprve ˇr etˇe zce a regulárnívyrazy pˇr evedeny na nedeterministickykoneˇc nyautomat (NFA),kterylze dále transformovat do ekvivalentníhardwarovéreprezentace zachycenéna obrázku 4.Pokud je pou?it NFA,kterypˇr ijímá8bit (1znak)v jednom hodinovém cyklu a systémováfrekvence je 100MHz,je design schopen podle vzorce T hrought put =DataWidth ?Frequency dosáhnout propust-nosti 800Mb/s.Propustnost lze zvy?it pˇr evodem NFA na roz?íˇr enyautomat (ENFA),kterypˇr ijímávíce znak?u v jednom hodinovém cyklu.Tím lze podle velikosti hledanémno?iny ˇr etˇe zc?u dosáhnout propustnosti a?10Gb/s.Vˇe t?ích propustnostínelze s tímto pˇr ístupem dosáhnout vzhledem k nedostateˇc nékapacitˇe souˇc asnych FPGA a problém?u m s omezenou kapacitou propojovacímatice.V budoucnosti je nutnése soustˇr edit na nalezenívhodného

kódovánístav?u a rozdˇe leníNFA na nˇe kolik nezávislych ˇc

ásti.Typ ˇr etˇe zc?u

0.8Gb/s 1.6Gb/s 3.2Gb/s 6.4Gb/s 12.6Gb/s Náhodnˇe 1

33%36%61%99%187%Snort 2.4.3238%39%51%85%147%

Tabulka 1:Vyu?itíplochy ˇc ipu 2VP50pro r?u znépropustnosti

11024ˇr etˇe zc?u

s rozlo?ením délky Normal(15,3)-14917znak?u 2Vychozínastavenípravidel -29925znak?u

Pˇr i tvorbˇe transformaˇc ního programu,kterypˇr evádíNFA do hardwarovéreprezen-tace popsanév jazyce VHDL,byla snaha minimalizovat poˇc et vyu?itych HW zdroj?u .ˇCást optimalizacíse provádípˇr i tvorbˇe NFA,kdy jsou sdíleny pre?xy ˇr etˇe zc?u a odstraˇn eny du-plicitníˇr etˇe zce.Dal?íoptimalizacíje sdílenílogiky pˇr echodu mezi stavy.Rovnˇe ?k im-plementaci sdíleného dekodéru,kterypˇr evádívstupníznak na kód 1z 256,jsem vyu?il BlockRam pamˇe ti,kteréjsou v designu jinak nevyu?ity.Uvedenéoptimalizace jsou velmi

vhodnépro pravidla systému Snort.V tabulce 1je uvedena závislost obsazeníˇc

ipu na cel-kovépropustnosti systému.Lep?ího pomˇe ru znak/kapacita u ˇr etˇe zc?u z IDS systému Snort je dosa?eno zejména díky uvedenym optimalizacím,kterése v náhodnych ˇr etˇe zcích nepro-jevily.Optimalizace ˇr etˇe zc?u systému Snort byly schopnézredukovat poˇc et stav?u NFA na

polovinu.

Obrázek 2:NFA pro ˇr etˇe zec …NIDS“

Obrázek 3:Roz?íˇr enyNFA (16bit)D Q

reg_1&D

Q reg_2&&D

Q

reg_0

"1"XN D Q reg_3&ID &

SX D Q reg_4

1DS MATCH NI Obrázek 4:HW.reprezentace ENFA

3.1ZáV ˇER

Byla navr?ena architektura pro hledáníˇr etezc?u na multigigabitovych rychlostech.Ar-chitektura byla implementována v jazyce VHDL a vyslednáimplementace byla ovˇe ˇr ena na desce COMBO6X a SFPRO [3].Navr?enéˇr e?enímonitoruje jeden port na 1Gb/s.Vy??ích propustnostílze dosáhnout,ale se zmen?ujícíse mno?inou vyhledávanych ˇr etˇe zc?u .Jak pro pomˇe rnˇe velkou mno?inu náhodnˇe vygenerovanych ˇr etˇe zc?u ,tak i pro celou sadu pravidel Snort se podaˇr ilo dosáhnout propustnosti 6.4Gb/s.

REFERENCE

[1]Clark Ch.,Schimmel D.:Scalable Pattern Matching for High-Speed Networks.In:

IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM),Napa,California,2004,pp.249-257.

[2]WWW stránka projektu Snort.https://www.360docs.net/doc/1f17908307.html, (únor 2006)

[3]WWW stránka projektu Liberouter.https://www.360docs.net/doc/1f17908307.html, (únor 2006)

相关主题
相关文档
最新文档