Embed
Email

Code Generation for Packet Header Intrusion Analysis on the ..

Document Sample

Shared by: Lingjuan Ma
Categories
Tags
Stats
views:
2
posted:
2/10/2012
language:
pages:
15
Code Generation for Packet

Header Intrusion Analysis on the

IXP1200 Network Processor



Charitakis, D. Pnevmatikatos, E. Markatos,

and K. Anagnostakis



Software and Compilers for Em-bedded Systems

(SCOPES 2003),

Outline

• Introduction

• Overview of IXP1200 architecture (skip)

• Describes the S2I compiler

• Experimental analysis

Introduction

• Building an application for a NP is still a non-

trivial task

• Network monitoring and network intrusion

detection system (NIDS) are becoming

increasingly important .

• Snort is a popular open-source NIDS

Introduction

• In this paper we present the snort To IXP

compiler(S2I), a tool to facilitate the deployment

of the IXP1200 NP in a snort-based NIDS.

• S2I transforms such a set of snort signatures

into efficient Micro C code for IXP1200.

• The transformation is performed using a tree-

structure in order to minimize the number of

required cheds.

Outline

• Introduction

• Overview of IXP1200 architecture (skip)

• Describes the S2I compiler

• Experimental analysis

S2I compiler

• The snort-to-IXP1200 (S2I) compiler generates micro-C

code for the uEngines from a snort set of signatures.

• The generated code consists of a static and a dynamic

section.

• The static section is a skeleton that is independent of the

set of signatures and contains the fixed run-time

infrastructure needed to dispatch packets for processing.

• The dynamic section is produced from the snort set of

signatures and performs the actual computation to

analyze packet headers and trigger the corresponding

actions.

static section

• Thread-based scheme









• 2KB of instruction memory are unified and shared by all

threads

• Registers of each uEngine must be equally divided

among the for threads

static section (cont)

• Micro-engine-based scheme









• In this case, the threads are responsible for

specific jobs of packet processing

Dynamic section

• Setp 1: Building the Tree

– S2I compiler starts combining the signatures in a tree structure

Outline

• Introduction

• Overview of IXP1200 architecture (skip)

• Describes the S2I compiler

• Experimental analysis

Evaluation of the Static Section

Evaluation of Space Requirements

Plain Code 

Evaluation of Execution Time

• Artificial signatures and artificial traffic

– Five different signatures compiled using bothe the tree and without the

tree

– Produced traffic with interleaved packets so as the signatures are

matched sequentially( first packet matches first signature, second

matches the second signature, etc. the fifth signature was a wild-card)

Evaluation of Execution Time (cont)

• Using artificial signatures and real traffic

– Tree code 20% bester than Pain Code

• Using real signatures and real traffic

– we used the same trace, and the snort "backdoor" set

of signatures. We ran this trace with the simple and

the S2I tree structure

– Pain Code takes about 280 cycles and Tree Code

takes about 180cycles(44 signatures)

– Summarize: 35% reduction in time

17.3% reduction in memory size



Related docs
Other docs by Lingjuan Ma
First data from TOTEM experiment at LHC
Views: 0  |  Downloads: 0
Federal Data Collection _FDC_ for LEP
Views: 0  |  Downloads: 0
Ethical Consumption
Views: 0  |  Downloads: 0
Cost-Based Plan Selection
Views: 0  |  Downloads: 0
Cost terms
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!