A Signature Match Processor Architecture for Network Intrusion Detection Janardhan Singaraju, Long Bu and John A. Chandy Electrical and Computer Engineering.

Slides:



Advertisements
Similar presentations
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Advertisements

A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
Massively Parallel Cuckoo Pattern Matching Applied For NIDS/NIPS  Author: Tran Ngoc Thinh, Surin Kittitornkun  Publisher: Electronic Design, Test and.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
Authors: Raphael Polig, Kubilay Atasu, and Christoph Hagleitner Publisher: FPL, 2013 Presenter: Chia-Yi, Chu Date: 2013/10/30 1.
Technical University of Crete Packet Pre-filtering for Network Intrusion Detection Ioannis Sourdis, Vasilis Dimopoulos, Dionisios Pnevmatikatos and Stamatis.
Pipelined Parallel AC-based Approach for Multi-String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Router Architecture : Building high-performance routers Ian Pratt
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Using Cell Processors for Intrusion Detection through Regular Expression Matching with Speculation Author: C˘at˘alin Radu, C˘at˘alin Leordeanu, Valentin.
1 An Evolution of Pattern Matching within Network Intrusion Detection Systems Erik Anderson 9 November 2006.
Processor Technology and Architecture
Snort - an network intrusion prevention and detection system Student: Yue Jiang Professor: Dr. Bojan Cukic CS665 class presentation.
1 A CAM-based keyword match processor architecture Author: Long Bu, John A. Chandy * Publisher: Microelectronics Journal 37 (2006) Presenter: Han-Chen.
Deterministic Memory- Efficient String Matching Algorithms for Intrusion Detection Nathan Tuck, Timothy Sherwood, Brad Calder, George Varghese Department.
1 FPGA-based ROM-free network intrusion detection using shift-OR circuit Department of Computer Science and Information Engineering National Cheng Kung.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
1 Multi-Core Architecture on FPGA for Large Dictionary String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
1 Gigabit Rate Multiple- Pattern Matching with TCAM Fang Yu Randy H. Katz T. V. Lakshman
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
A High Throughput String Matching Architecture for Intrusion Detection and Prevention Lin Tan U of Illinois, Urbana Champaign Tim Sherwood UC, Santa Barbara.
ECE 526 – Network Processing Systems Design
Deep Packet Inspection with Regular Expression Matching Min Chen, Danny Guo {michen, CSE Dept, UC Riverside 03/14/2007.
Gnort: High Performance Intrusion Detection Using Graphics Processors Giorgos Vasiliadis, Spiros Antonatos, Michalis Polychronakis, Evangelos Markatos,
Computer Networks Switching Professor Hui Zhang
 Author: Tsern-Huei Lee  Publisher: 2009 IEEE Transation on Computers  Presenter: Yuen-Shuo Li  Date: 2013/09/18 1.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Network Intrusion Detection Systems on FPGAs with On-Chip Network Interfaces Christopher ClarkGeorgia Institute of Technology Craig UlmerSandia National.
Cis303a_chapt06_exam.ppt CIS303A: System Architecture Exam - Chapter 6 Name: __________________ Date: _______________ 1. What connects the CPU with other.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK
Timothy Whelan Supervisor: Mr Barry Irwin Security and Networks Research Group Department of Computer Science Rhodes University Hardware based packet filtering.
Vladimír Smotlacha CESNET Full Packet Monitoring Sensors: Hardware and Software Challenges.
FPGA Based String Matching for Network Processing Applications Janardhan Singaraju, John A. Chandy Presented by: Justin Riseborough Albert Tirtariyadi.
Automatic Synthesis of Efficient Intrusion Detection Systems on FPGAs by Zachary K. Baker and Viktor K. Prasanna University of Southern California, Los.
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
Cis303a_chapt04.ppt Chapter 4 Processor Technology and Architecture Internal Components CPU Operation (internal components) Control Unit Move data and.
A Configurable High-Throughput Linear Sorter System Jorge Ortiz Information and Telecommunication Technology Center 2335 Irving Hill Road Lawrence, KS.
Author : Ioannis Sourdis, Vasilis Dimopoulos, Dionisios Pnevmatikatos and Stamatis Vassiliadis Publisher : ANCS’06 Presenter : Zong-Lin Sie Date : 2011/01/05.
Regular Expression Matching for Reconfigurable Packet Inspection Authors: Jo˜ao Bispo, Ioannis Sourdis, Jo˜ao M.P. Cardoso and Stamatis Vassiliadis Publisher:
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Department of Computer Science and Engineering Applied Research Laboratory Architecture for a Hardware Based, TCP/IP Content Scanning System David V. Schuehler.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
FPL Sept. 2, 2003 Software Decelerators Eric Keller, Gordon Brebner and Phil James-Roxby Xilinx Research Labs.
TCAM –BASED REGULAR EXPRESSION MATCHING SOLUTION IN NETWORK Phase-I Review Supervised By, Presented By, MRS. SHARMILA,M.E., M.ARULMOZHI, AP/CSE.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching Yao Song 11/05/2015.
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Introduction to Intrusion Detection Systems. All incoming packets are filtered for specific characteristics or content Databases have thousands of patterns.
Gnort: High Performance Network Intrusion Detection Using Graphics Processors Date:101/2/15 Publisher:ICS Author:Giorgos Vasiliadis, Spiros Antonatos,
Range Hash for Regular Expression Pre-Filtering Publisher : ANCS’ 10 Author : Masanori Bando, N. Sertac Artan, Rihua Wei, Xiangyi Guo and H. Jonathan Chao.
FPGA Based String Matching For Network Processing Applications
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Operating Systems (CS 340 D)
Chapter 7.2 Computer Architecture
Instructor: Dr. Phillip Jones
Regular Expression Matching in Reconfigurable Hardware
Operating Systems Chapter 5: Input/Output Management
Scalable Memory-Less Architecture for String Matching With FPGAs
Computer Systems An Introducton.
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
Presentation transcript:

A Signature Match Processor Architecture for Network Intrusion Detection Janardhan Singaraju, Long Bu and John A. Chandy Electrical and Computer Engineering Department, University of Connecticut, Storrs, CT

Introduction Network intrusion Detection :Process of identifying and analyzing packets that may signify an impending threat to Organizations Network. Deployment- Passive : Uses secondary node to analyze data flow Host Based System : Monitors a single system. SNORT- Open Source intrusion detection Software. EX: alert udp $EXTERNAL_NET any -> $HOME_NET (msg:"DDOSTrin00 Daemon to Master message detected"; content:"l44"; reference:arachnids,186;classtype:attempted-dos; sid:231; rev:3;) String Matching: 30% of Computation Time.

Software vs. Hardware Software Implementation  Relatively slow  More CPU computation  Flexible  Easy design and implementation Hardware implementation  Very fast  CPU offload  Less flexible  Much longer design cycle Hardware Techniques : Finite Automata based methods, CAM Based methods

CAM Based NIDS Content Addressable Memories: Used in caches,IP address look-up tables. CAM based NIDS stores a set of signatures k bits matched against CAM for matches. No need to reprogram. Cannot handle regular Expressions.

Disadvantages Fixed keyword size. Cannot match overlapping signatures e.g.: Signatures FOO and BAR Data: AFOOBARCD, k=3 checks AFO, OBA,RCD – no match? Sliding window approach using single character comparators with shift registers.

Our Model CAM based Signature match processor Uses array of Cellular automata to process Character matches. Compatible with further optimizations like processing characters in parallel, prefix sharing, pattern partitioning etc. Multiple character matches per cycle of operation

Signature Match processor Architecture Matched Address Output Control circuit Data in From network CPU Control Character Match Array Signature Match Array Signature Match buffer Match Signal Data in PE Reset SM Reset Finish Match Address output Logic CPU Control

Character match array Can be implemented with CAM Array of Discrete Comparators 256, 8 bit Comparators to match all possible ASCII Characters P rows of Comparators, P denote the degree of parallelism

Character Match Array ABCD Byte 1... ABCD Byte 2... ABCD Byte p Match A[1:p] Match D[1:p]

Character Match Array ABCD Byte 1... D ABCD Byte 1... C

Signature Match Array N x 1 array of processing elements (PE) N is number of characters in the signature set to be matched. All inputs connected according to the signature set to be matched. Each element performs a simple algorithm based on the number of characters matched at a time (p).

Signature Match Array Cout [1:p] Cin [1:p] Cout [1:p] Cin [1:p] Signature: QUIT MQ[1:p] MU[1:p] MI[1:p] MT[1:p] Sig_begSig_end Signature match

Signature Match Array EX: p = 4 cout1 <= MA1 and (cin3 or sig_beg); cout2 <= MA2 and (cin1 or sig_beg); cout3 <= MA3 and (cin2 or sig_beg); cout4_temp <= MA4 and (cin3 or sig_beg); sig_match <= sig_end and (cout1 or cout2 or cout3 or cout4_temp); if ( clk’event and clk=’1’) then cout4 <= cout4_temp; end if

Signature Match Array Each PE generates carry signals that are propagated to the next PE These carry signals determine the carry signals that are generated in the next PE. Carry signals along with signature begin signal determine the word match Pth Carry out in each PE is latched for further use.

Signature Match Processor 4adls 4adls f l l Sig_beg 44adsl Sig_end Signature match Data in : fl44

Signature Match Processor 4adls 4adls l Sig_beg 44adsl Sig_end Signature match Data in : fl44

Address Output Logic Separates multiple matches for signatures and decodes start address of each Signature match Signature match buffer stores end address of all word matches Match position (MP) is given as input to binary structured address output logic

Address Output Logic MP0MP1MP2MP3LP0LP1LP2LP3 MAA A1 A0 MA out LP in MP0 LP0 MP1 LP1

Address Output Logic MP1MP2MP3LP0LP1LP2LP3 A1 A LP Address MAA MP

Control Circuit Manages data flow throughout the signature match processor Presents p bytes of data to the signature match processor Resets the signature match buffers, enables address output logic

Performance Analysis time to process a b byte packet is b/p+M+1 cycles where M is the number of matches found in the packet. b/p corresponds to the time for the packet to stream through the SMP signature matches and M + 1 is the time to do the matched address output per-packet cycle time is max ( b/p, M + 1) If b/p > M + 1, which is the general case, the per-packet cycle time is b/p, and the per-byte run-time is 1/p cycles.

NIDS with SMP Architecture

FPGA implementation Xilinx Virtex II Pro XC2VP30 FPGA Virtex II Pro has Rocket IO to implement MAC XILINX ISE 7.1i Design environment Rule set ranging from 94 rules with 1021 char to 1237 rules with chars

Resource Utilization

Design using binary tree structured Address output logic uses 1.5 registers and 1.5 LUTs per CAM Character LUTs correspond to CAM, PE logic,MAO logic. Registers correspond to Word match buffers and PE registers.

Comparison NIDS FPGA Designs

The performance metric is ratio between throughput and logic cell/char to evaluate the tradeoff between area and performance Number of Logic cells/Char is small Throughput will increase with increase in parallelism.

Conclusions Innovative CAM based Signature Match Processor Processing speed of over 5Gbps can be achieved Priority address encoder to generate addresses in case of multiple matches

Future Directions Plan to use embedded PowerPC in Virtex II Pro to implement software part of NIDS such as SMP Managements, Alerts, logging etc Other applications such as directory lookup in network storage systems, DNS lookup and LDAP processing Extending SMP to support wild card and approximate word matching capabilities Improving power characteristics of SMP