Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
1,27 MB
Nội dung
I H C QU C GIA TP HCM I H C BÁCH KHOA TR N TRUNG HI U X LÝ N I DUNG GÓI TIN CHO H TH NG PHÁT HI N XÂM NH P M NG TRÊN FPGA Chuyên ngành : Khoa h c máy tính Mã s 604801 LU TP H CHÍ MINH, tháng 2013 C HOÀN THÀNH T I I H C BÁCH KHOA -HCM Cán b ng d n khoa h c : TS Tr n Ng c Th nh Cán b ch m nh n xét : TS Lê Thành Sách Cán b ch m nh n xét : TS Nguy Lu c b o v t i Tr ng HCM ngày 24 tháng 2013 i h c Bách Khoa, HQG Tp Thành ph n H i ng nh giá lu n v n th c s g m: (Ghi rõ h , tên, h c hàm, h c v c a H i ng ch m b o v lu n v n th c s) TS Nguy TS Tr c Thái TS Tr n Ng c Th nh TS Lê Thành Sách TS Nguy Xác nh n c a Ch t ch H i ng chuyên ngành sau lu n v n ã CH T CH H NG h giá LV ng Khoa qu n lý c s a ch a (n u có) IH C GIA TP.HCM I H C BÁCH KHOA C NG HÒA XÃ CH T NAM c l p - T - H nh phúc NHI M V LU MSHV: 11076025 02/10/1988 Chuyên ngành: I tính : 604801 TÀI: X LÝ N I DUNG GĨI TIN CHO H TH NG PHÁT HI N XÂM NH P M NG TRÊN FGPA II NHI M V VÀ N I DUNG: Tìm hi xu t p phát hi n xâm nh p m ng so trùng m u cho t p quy lu t c a h th ng Thi t k hi n th c h th ng x lý n i dung ph n thân gói d li c ng FPGA Xây d ng cơng c h tr vi c t ph n thân gói d li u ng hóa xây d ng h th ng x lý n i dung III NGÀY GIAO NHI M V : 02/07/2012 IV NGÀY HOÀN THÀNH NHI M V : 21/06/2013 V CÁN B NG D N: TS Tr n Ng c Th nh Tp HCM, ng CÁN B NG D N ph n CH NHI M B T O NG KHOA KH & KT MT u tiên, xin g i l i Th ng d n c a TS Tr n Ng c Th nh Trong su t qua trình th c hi n lu tâm theo sát h tr Nh ng l ngu quan ng d n t n tình c a Th y ng l c l n nh t cho tơi hồn thành lu il n anh Tr m ib viên h tr r t nhi u th i gian h c t p nghiên c u t c il ng ng Bên n b n h c viên cao h c khóa 2011, em sinh viên khóa 2007, 2008 làm th c t p lu platform, v nh ng h tr chia s su t trình th c hi n lu Và cu i cùng, xin g i l n bè nh ng ôn ch d a tinh th n v ng ch c, c t trình h c t p, nghiên c u TP H Chí Minh tháng 6/2013 Tr n Trung Hi u S phát tri n m nh m c a m ng máy tính tồn c u nh ng yêu c u ngày cao d ch v m u ki n ho ng cho nhi u hi m h a v an ninh m p m ng, sâu máy tính, virus, spam u cho th y, vai trò c a m t h th ng an ninh m ng m nh m c n thi h t H th ng phát hi n xâm nh p m ng (NIDS) m t gi i pháp an ninh có th ng yêu c i v i NIDS, gi i thu t tác v u c xem n n t ng thi t y uyên nhân gây gi m hi u su t c a h th ng mà s ph c t p c a t p quy lu t ngày u nghiên c u t p trung vào vi c hi n th c tác v so trùng m u xu ng ph n c ng Lu trình bày vi c thi t k , xây d ng hi n th c m m u d a n n t ng FPGA cho vi c x lý n i dung ph n thân gói d li u c a h th ng NIDS Máy so trùng có th làm vi c t Gbps h tr y d ng lu t khác c a ph n m m phát hi n xâm nh p m ng mã ngu n m Snort N i dung c a lu c phân làm hai ph n chính: ki n trúc ph n c ng kh c ng h p lu t Ki n trúc ph n c ng kh c u hình trình bày thi t k hi n th c máy so trùng u chip FPGA bao g m vi c so trùng m ng k t h p ràng bu h tr m t lu t NIDS hoàn ch i v i so trùng m K t qu th nghi m cho th hi u qu v tài nguyên ki n trúc v i vi c h tr c t p ký t n 115K i v i so trùng m ng, lu nh Bên c nh ki n trúc truy n th ng, lu xu chia s m u infix, suffix gi a m ng v hi u d ng v tài nguyên ph n c ng Th nghi m cho th y, thi t k ti t ki n 42% LUT 32%FFs so v n th ng ng h p lu t, lu ình phát tri n cơng c cho phép t ng phân tích xây d ng máy so trùng u t t p lu t c a h th ng phát hi n xâm nh p m ng Ki n trúc ph n c c ki m tra v i t p quy lu t c a Snort c ki m c th c hi n thành công c ph n m m v i công c mô ph ng c a Xilinx ph n c ng v i n n t ng phát tri n ng d ng m ng NetFPGA II Widespread development of the internet and increasing demand on network services have made computer network more vulnerable to many threats, such as intrusions, worms, viruses and spam Therefore, the role of network security system has become more and more crucial Network intrusion detection system (NIDS) is one such system that monitors network traffic and detects intrusions and malicious activities Multi-pattern matching is a critical mechanism in NIDS and has been considered as a bottleneck of software-based NIDS as the number and complexity of signature have recently increased In order to speed up this process, recent researches have focused on hardware-based pattern matching engine This thesis provides a FPGA-based multi-pattern matching engine for support packet payload inspection on NIDS The engine can work at Gbps throughput and completely support Snort NIDS signature set The thesis contributions are mainly made up from two parts: Reconfigurable hardware, and pattern analyzer and complier The reconfigurable hardware provides hardware architecture for multi-pattern matching on FPGA which includes matching static patterns, matching dynamic patterns, and combining these matching results for a complete NIDS signature For matching static patterns, the thesis proposed to use Cuckoo Hashing approaches Experimental static matching engine could support more than 8000 patterns with character size of 115K The thesis utilizes Non-deterministic Finite Automata for matching dynamic patterns and provides novel technique for sharing common infix, suffix across pattern set The technique improves hardware utilization of dynamic pattern matching engine Required hardware resources of matching engine have been reduced up to 42% LUTs and 32%FFs compared to traditional approaches The pattern analyzer and complier provide an automatic and fully configurable approach to analyze NIDS signature set and construct multi-pattern matching engine The proposed multi-pattern matching architecture has been evaluated using Snort NIDS signature set Experimental system has been verified on software using Xilinx simulation tool and deployed on NetFPGA platform III ng, nh ng tài li u tham kh o tài li u khác ng n u k t qu nghiên c u c a t so n th o N u có b t c sai ph m so v i l i cam k t, xin ch u hình th c x nh Tr n Trung Hi u IV L I TÓM T T LU II ABSTRACT III L IV M C L C V M C L C HÌNH VII M C L C B NG IX GI I THI U 1.1 Tính c p thi t c 1.2 Phát bi u v 1.3 tài a lu 1.4 C u trúc lu KI N TH C N N T NG 2.1 H th ng phát hi n xâm nh p m ng 2.1.1 Snort IDS 2.2 So trùng m u 2.3 T ng quan nghiên c u trùng m u bi u th c quy 2.3.3 V x lý ràng bu c k t h u Cuckoo máy tr ng thái 10 2.5.1 Máy tr nh 11 2.5.2 Máy tr nh 11 2.6 NetFPGA Platform 13 TH NG NIDS 3.1 T T NG QUAN X 16 d li u LÝ PH N THÂN GÓI D LI U CHO H c c a Snort 16 3.1.1 C u trúc lu t c a Snort 17 3.1.2 Phân lo i m u 18 3.1.3 Các ràng bu c k t h p m u 20 3.2 X lý n i dung gói d li u ph n c ng 21 3.2.1 Phân tích t ng h p lu t 22 V 3.2.2 Ki n trúc ph n c ng 23 HI N TH C MODULE PH N C NG 25 4.1 Static Pattern Matching Module 25 4.1.1 Cuckoo Pattern Matching Unit (CPMU) 25 4.1.2 Long Pattern Matching 28 4.2 Dynamic Pattern Matching Unit 29 4.2.1 Module giao ti u 31 4.2.2 Module Detect Engine 32 4.2.3 Module giao ti p cu i (PostInterface) 38 4.3 Pattern Combine Module 38 CH PHÂN TÍCH VÀ X LÝ T P LU T 44 5.1 Compile Static Pattern 45 5.1.1 X lý m u ng n 46 n m u x lý m u dài 47 5.2 Dynamic pattern Compiler 47 5.2.1 Ti n x lý trích xu t t p chia s infix 47 5.2.2 Xây d ng ki n trúc máy tr ng thái NFA 49 5.2.3 Ánh x sang ki n trúc ph n c ng 52 M NGHI M H TH NG 58 n trúc so trùng m 58 n trúc so trùng m ng 62 6.3 Th nghi m h th ng 65 T NG K T 68 7.1 K t qu lu n 68 ng phát tri n 68 TÀI LI U THAM KH O 69 VI HÌNH 1-1 C U TRÚC CHÍNH C A NIDS HÌNH 2-1 TRI N KHAI NIDS TRONG H TH NG M NG HÌNH 2-2 CÁCH TH C CHÈN VÀO B NG T1 T2 S D NG CUCKOO HASHING HÌNH 2-3 M T MÁY TR NG THÁI CH P NH N CHU 10 HÌNH 2-4 DFA CH P NH N T T C CÁC CHU I BIT CH A ÍT NH T BIT 11 HÌNH 2-5 NFA CH P NH N CÁC CHU I BIT K T THÚC B I 00 HAY 0110 11 HÌNH 2-6 NFA CH P NH N M T KÝ T 12 HÌNH 2-7 K T N I HAI BI U TH C CHÍNH QUY CON 12 HÌNH 2-8 LU T LUÂN PHIÊN HAI BI U TH C CHÍNH QUY 12 HÌNH 2-9 NFA BI U DI N * CH P NH N M T CHU I B T K G M C CHU I R NG 13 HÌNH 2-10 NFA BI U DI N ?CH P NH N KHÔNG HAY CH M T CHU HÌNH 2-11 NFA BI U DI N + CH P NH N M T S HÌNH 2-12 NFA BI U DI U VÀO 13 U VÀO 13 C XÂY D NG THEO CÁC QUY T N 13 HÌNH 2-13 KI N TRÚC NETFPGA 14 HÌNH 3-1 VÍ D M T LU T D NG PLAIN TEXT TRONG SNORT 16 HÌNH 3-2 VÍ D RULE HEADER 17 HÌNH 3-3 M I LIÊN QUAN C 21 HÌNH 3-4 MƠ HÌNH GIAO TI P D LI U C A MODULE X LÝ N I DUNG GÓI D LI U 22 HÌNH 3-5 QUY TRÌNH T NG QUÁT PHÂN TÍCH X LÝ LU T VÀ XÂY D NG H TH NG 23 HÌNH 3-6 MƠ HÌNH T NG QT KI N TRÚC PH N C NG CHO MODULE PAYLOAD PROCESSOR 24 HÌNH 3-7 MINH H A KI N TRÚC MÁY TR SO TRÙNG M U NG 24 HÌNH 4-1 KI N TRÚC T NG QUÁT H TH NG X LÝ PH N THÂN GÓI D LI U 25 HÌNH 4- T NG QUÁT CPMU 26 HÌNH 4-3 B NG PHÂN B CHI U DÀI M NG V I CÁC NHÓM LU T 26 HÌNH 4-4 KI N TRÚC MODULE CUCKOO 27 HÌNH 4-5 KI N TRÚC LIÊN K T CÁC CHU I TRONG LONG PATTERN MATCHING 28 HÌNH 4-6 KI N TRÚC T NG QUAN MÁY SO TRÙNG BI U TH C CHÍNH QUY 30 HÌNH 4-7 C U TRÚC NHĨM SO TRUNG BI U TH C CHÍNH QUY (REMG) 30 HÌNH 4-8 C U TRÚC C A MODULE GIAO TI HÌNH 4- U 31 NH D NG M T ENTRY TRONG FIFO 31 HÌNH 4-10 D U RA C A MODULE GIAO TI HÌNH 4-11 MƠ HÌNH CÁC KH HÌNH 4-12 MƠ HÌNH T NG QT KH U 32 N: A STATE BLOCK; B START BLOCK; C END BLOCK 33 33 HÌNH 4-13 KI N TRÚC KH I CRB CHO TH C CHÍNH QUY 34 HÌNH 4-14 KI N TRÚC KH I CRB.A, T NG QUÁT B, KH I AT LEAST C, EXACTLY & BETWEEN D, AT MOST 35 HÌNH 4-15 MƠ HÌNH T NG QUÁT CHIA S INFIX GI A CÁC REME 35 VII m ba ph n, ph hai n trúc so trùng m n trúc so trùng m ng, ph n cu n th t h p h th ng th nghi m board NetFPGA 6.1 M t BlockRAM ki n trú th c 18Kbits BlockRAM có c s d ng v i m t c u hình sau: 18K x bit, 2K x bit, 512 x 36 bit D a t n thi t; b ng T1, T2, T3 có th B ng 6-1 B ng T1 T2 c a m t cuckoo engine có th a ch cao ong c k t h p s d ng chung m t Block r ng 2048 x B ng T1 s chi m 1024 entry s chi m 1024 entry cc a ch th p, b ng T2 heo c u hình m i b ng T3 s g m 512 entry r ng c a b ng T3 tùy thu c vào t ng b Cuckoo v i công th ch s x lý m y T ng Block RAM c n thi t cho m t b Cuckoo Pattern Engine Unit (CPMU) 39 B ng 6-1 Tài nguyên BlockRAMs s d ng b i máy so trùng m RamT12 Cuckoo engine Depth Width Block RAMs 2048 2048 2048 2048 2048 2048 2048 2048 9 2048 10 2048 11 2048 12 2048 13 2048 14 2048 15 2048 16 2048 Total 16 58 RamT3 Depth Width 512 512 512 512 512 512 512 512 512 512 512 512 512 512 512 512 10 18 26 34 42 50 58 66 74 82 90 98 106 114 122 130 Block RAMs 1 1 2 2 3 3 4 39 B ng 6-2 k t qu t ng h p c a máy so trùng m nh chip FPGA Virtex 2Pro50 Máy so trùng chi m 9780 Logic cells s d ng 124 Block RAMs M i BlockRAM ng 18kb, nên t ng b nh onchip cho máy so trùng m B ng 6-2 Th ng kê tài nguyên máy so trùng m Thành ph n S B ng T1&T2 ng x x 16 Block RAMs 32 Logic cells B ng T3 x 16 78 B ng T4 2x1 14 Down case unit SAX hashes x 16 x 0 1792 124 7826 9622 M ch logic khác T ng c ng M t t p m u trích xu t t d li v tài nguyên c a ki n trúc so trùng m kê s ng m u s chip Virtex 2Pro 50 Ghi b ng m t BlockRam cho 16 Cuckoo Engine (CPMU1 CPMU2) M i CPMU chi m 39 BlockRam cho 16 b ng T3 Hai b ng T4 cho CPMU1, CPMU2, m i b ng chi m BlockRam M i module hash chi Các m c c a Snort s d B ng 6-3li t ng kí t t p m u th nghi m.Hình 6-1 Hình 6-2 k t qu MU2 ng m short pattern long pattern total ng ký t t p m u th nghi m #char 60334 55233 115567 #pattern 6632 2119 8751 Toàng b quy trình phân tích t p m u xây d ng b ng phân tích t ng h p m b hi u qu so sánh v i k t qu xây d ng b ng tra cho b so trùng m B ng 6-3 S m, so sánh, b ch c th c hi n b ph n m m i c thi t l p 95% t ng s l n rehash tồn b q trình xây d ng b ng l n 59 long pattern insert rates 600 1.25 500 1.2 1.15 400 1.1 300 1.05 200 100 #inserts/#patterns # patterns short pattern 0.95 0.9 10 11 12 13 14 15 16 pattern length (bytes) Hình 6-1 K t qu xây d ng b ng tra c u cho t p m u phân bi t ch hoa ch ng long pattern insert rates 600 3.5 500 2.5 400 300 1.5 200 100 #inserts/#patterns # patterns short pattern 0.5 0 10 11 12 13 14 15 16 pattern length (bytes) Hình 6-2 K t qu xây d ng b ng tra cho t p m u không phân bi t ch hoa ch ng thêm m t m u ng n ho c m n c a m u ng n vào b ng tra s c n m t tác v insert vào b ng T3 m t tác v insert vào b ng T1 Tuy nhiên nhi u ng h p, x gi a giá tr hash b ng T1, giá tr thêm vào b ng T2, c n c l y y K t qu s hình ch tính d a vào s l n insert vào b ng T1 ho c T2, v i ràng bu c s l n l p t M t ch s s c s d ng ph bi c rehash hi u qu c a h th ng so trùng m u chip FPGA PEM (Performance Efficient Metric) [10] [13] [22] [24] Ch s mô t thông qua công th c sau: 60 c Throughput Logic Cells: FlipFlop MemorySize (BlockRam) Characters B i so sánh ki n trúc so trùng m k t qu c hi n th c lu i a PEM Tested results k t qu máy so trùng v i t p m bày trên.K t qu t ng h p cho th y máy so trùng có th ho Do m i chu k có th x nh t n s 182 MHz c byte ký t , throughput c a máy so trùng có th 1.46 Gbps H th ng c c ng v i 2.232 Mbits b nh on chip 9780 Logic cell cho m ch lu u n Giá tr PEM c a h th ng 5.14 Trên lý thuy t, h th ng có th có c a BlockRAM d ng s ng c trình c PEM 6.16 (expected result) v ng s n b ng T3 c ng 100% s ng ký t t p m u hi n th c có th c 139264 ký t mà không làm ng Logic Cell c n thi t So sánh v i PAMELA-2, có ki th ng th nghi m có s ng v i hiên th c c a lu ng bit b nh cho m i ký t nguyên logic cell cho m i ký t l i l th ng th nghi m nh ng Tuy nhiên tài n s x lý th PEM c a h u so v i k t qu PAMELA-2 Ngun nhân có th gi i thích h th ng h tr thêm x lý m phân bi t ch hoa ch nguyên ph n c ng lý thuy ng tài ph c t p c a m ch lên cao m t s ph n ki tr m ch lên cao So sánh v i ki n trúc so trùng khác, h th ng th nghi m có t p m u l n nh t, hi u su t s d ng tài nguyên (LCs/Char, Mem/Chars) t hi u qu PEM v B ng 6-4 B ng so sánh hi u su t c FPGA 61 c dù t n s ho ng th p Device bits/ cycle Freq (MHz) No Char No LCs Mem (Kbits) LCs/ char T-put (Gbps) PEM 0.069 Mem/ char (bits) 16.03 Expected results XC2VP50 182 139264 9622 2232 1.46 6.19 Tested results XC2VP50 182 115567 9622 2232 0.083 19.31 1.46 5.14 PAMELA-2 [22] XC4VLX100 285 68266 3,233 1,170 0.047 17.14 2.28 10.11 HashMem [8] XCV1000 250 18636 2570 630 0.138 33.81 4.08 Prefix Tree [25] XCVP100 191 39278 12176 0.31 1.53 4.94 6.2 Ph ng g m hai ph n ph u tiên, m xu t t t p lu t c a Snort gom thành nhóm Các nhóm m ng s th c th nghi m ki n trúc khác nhau, m c c trích c hi n hi u qu v tài nguyên infix, suffix ki n trúc so trùng m ng c a lu th hai, k t qu t ng h p h th ng v i thông s v tài nguyên t ph n x c so sánh v i k t qu nghiên c Các m t p lu c trích xu t t t p lu t c a Snort phâ ng v i : backdoor, exploit, file-identify, spyware-put, web-client, web-misc, oracle, smtp ki m tra ki n trúc v i s ng m u l n, m c trích xu t t nhi u t p lu t gom chung thành nhóm lu t ph thêm: subset1, subset2, subset3 nhóm lu t l t xây d ng h th ng ki nh t (Baseline), m i m ng v i m i so sánh.Ki n trúc th c chuy n tr c ti p thành máy so trùng NFA, không th c hi n chia s tr ng thái gi a máy so trùng, b so trùng ký t chuy n tr ng thái hi n th n ch g m m t b 8-to-256 decoder Ki n trúc th hai (Sharing prefix) chia prefix gi a máy tr ng thái, thay th b so trùng ký t decoder thành b so trùng kí t t p trung d a Block memory (BCCM) Ki n trúc th ba (Sharing infix, suffix) c i ti n ki n trúc th 2, s d ng ghi d chia s infix, suffix gi a máy tr ng thái v i B ng 6-5 trình bày k t qu t ng h p hi n th c chip FPGA Xilinx Virtex2Pro-50 B ng 6-5 B u su t s d ng tài nguyên c a máy so trùng m ng v i ki n trúc khác Rule set backdoor exploit file-identify spyware-put # chars 3555 2071 2383 1230 Baseline LUT FFs s 4293 3614 6453 3012 3386 2581 1329 1270 Dela y (ns) 3.13 3.66 3.02 4.59 Sharing prefix LUT FFs s 3413 3507 3252 2950 1741 1781 1061 1081 62 Dela y (ns) 3.8 3.9 3.5 Sharing infix,suffix Dela LUTs FFs y (ns) 2813 2984 3.9 2965 2650 4.13 1146 1186 3.8 4.26 7334 7302 4.4 46 23 36 Speed (Mbps) 2051 1937 2105 281 1818 SRLs web-client 5565 web-misc oracle smtp 3946 1259 1550 1743 1104 2233 subset1 subset2 subset3 average 7587 RATIO (%) 1212 7614 4403 3487 1893 1395 2341 1012 100 7217 4.25 8716 6971 4.45 8422 6656 4.5 21 1778 4456 2077 1948 1817 1243 2197 4.11 3.52 3.22 4532 2081 1947 1612 1043 1782 3541 1943 1911 1685 1023 1764 4.01 4.1 3.51 4193 1787 1863 4.2 4.31 3.57 26 19 12 1905 1856 2241 3.8 12012 3201 1701 1772 1214 3.93 332 2036 3.55 8163 8140 3.9 179 2051 4.21 14109 1383 4.33 423 1848 8200 3.69 7335 7104 3.92 5892 5597 4.09 127 1956 100 100 72 87 106 58 68 111 3.68 3.56 3.86 ng có th th y, so v i ki n trúc Baseline, vi c chia s prefix gi 28% Lookup Table 13% n tr m ch lên 106% Khi áp d ng ki n trúc chia s infix, suffix s d ng ghi d tr ph c t p c a m ng tài nguyên Lookup table FlipFlop gi m xu ng Hình 6-3 so sánh k t qu c a ba ki n trúc # FFs or LUTs LUT FF Throughput 12000 3000 10000 2500 8000 2000 6000 1500 4000 1000 2000 500 Throughput (Mbps) 58% 68% Bi Baseline Sharing prefix Sharing infix/suffix Hình 6-3 K t qu s d ng tài nguyên t B ng 6-6 so sánh ki n trúc so trùng m x lý c a ba ki n trúc xu t lu i k t qu d a thông s v hi u su t PEM Trong so sánh này, t p m s d c xây d ng lên máy so trùng v i ki n trúc cho phép chia s prefix, infix suffix c t ng h b m ng v i k t qu B ng 6-6 So sánh v i k t qu nghiên c u v so trùng m System Type Bits / cycle Proposed approach NFA Devices #char V2 22,337 V4 22,337 63 LCs Mem (Kbits) area/ char 14,109 75 0.67 T-put (Gbps) PEM 1.45 2.18 2.30 3.45 Bispo et al [13] NFA Baker et al [26] DFA Clark et al [27] NFA Hutchigns et al [1] NFA Nakahara et al [24] Nakahara et al [14] V2 2.00 1.56 2.90 2.27 1.40 0.22 1.67 2.00 1.20 3.13 7.00 2.24 2.51 0.40 0.16 4,707 441 0.77 3.20 4.16 19,552 17,585 2.68 1.60 0.60 19,580 25,074 1.28 V4 16,715 42,790 6,000 6.30 V2 17,537 29,281 VirtexE 16,028 40,232 NFA 24 12,095 MNFAU Virtex6 Spartan 75,633 V4 32 So sánh v i h th lý s th ng th nghi m c a lu có ng kí t m i chu k xung clock, h s d ng tài nguyên area/char th p nh t ch s hi u su t PEM cao nh t C th , so v i Bispo et al., h th ng th nghi area/char l c dù có t PEM v hi u qu v tài nguyên x lý th s v hi u su t [26], tác gi s d ng, thi t k s d ng b nh m u th nghi m không l x lý m u c t gi b ng tr ng thái.M c dù s th ng hi n th Logic cells 6M b nh D n tiêu t n tài nguyên ph n c ng l n area/char 6.3 ch s PEM r t th p ch 0.22 Trong [27], [1], tác gi s d ng m m ng ký t t p d ng mơ hình máy tr bi u di n k t h p nhi u hi n th c máy so trùng m u Ki n trúc h th ng c a h i h th ng th nghi m So sánh v i Clark et al., h th ng th nghi m có throughput th s d ng tài nguyên ph n c ng t t n chip virtex 4.7 l n chip Virtex Nakahara et al gi i thi u hai so trùng m ng [24] m r ng ki n trúc NFA truy n th ng, cho phép x lý lúc p ký t chuy n tr ng thái m i chu k xung clock K t qu b ng tron th nâng cao t so trùng m ng h p p =3 M t s ch am c bi t m u theo cú pháp PCRE h th ng phát hi n xâm nh p m ng, không th th c hi h lý toán t l p ràng bu c, ký t ub chu i ($), l p ký t Trong khi, nh ng ch nghi m d mc u k t thúc c h tr b i h th ng th [14], s d ng k t h so trùng m u chu i (^), ký t c Ch ng DFA Tác gi s m u v i máy tr ng thái NFA M i s d ng b nh gi i h n (1.6 Gbps) 64 c a h th ng b 6.3 M c tiêu c a ph n ki m tra h th ng x lý n i dung ph n thân gói d li u tri n khai th c t B ng 6-7 th ng kê t p lu t cs d tri n khai h th ng th nghi 215 m ng, v i 572 lu t k t h p , t p lu t th nghi m g m 1540 m 356 lu u B ng 6-7 B ng th ng kê t p lu t th nghi m Type #rules 349 140 162 39 203 28 Total 928 B #static pattern 349 140 424 96 461 63 #dynamic pattern 140 39 29 1540 215 i trình bày k t qu t ng h p h th ng ph n m m Xilinx 10.1.03i, chip NetFPGA h th ng th nghi c c u hình ho ng t ns x lý 1Gbps Quy trình th nghi m h th c th c hi u tiên h th c t ng h p ki m nghi m ph n m m s d ng công c ISim(ISE Simulator) c a Xilinx Vi c ki m nghi k th p c th c hi n hai m c, ki m tra ch nh th i m c th p (Post-route Simulaton) trùng ho m tra c ki m b o máy so Hình 6-4 minh ho t k t qu mô ph ng ki m tra thành công cho lu t có ch s 419 B ng 6-8 K t qu t ng h p Kh i ch Static Pattern Matching Module Dynamic Pattern Matching Module Pattern Combine Module Slices (No.-%) 4743 - 20% 2840 - 11% Block Ram (No.- %) 124 - 53% 10 - 4% 947 - 4% 21 - 9% M ch logic khác 5720 - 24% 29 - 12% T ng c ng 14250 - 60% 184 - 79% Freq 137 MHz 65 Ghi M Logic cells XCV2p50 có 23,616 slides 232 BlockRAM Lõi TEMAC, b T n s ho ng c a board 125MHz Hình 6-4 Mơ ph ng ki m tra ch th ng Experiment Environment Attacker Attacker TCPReplay TCPReplay NIDS NIDS NetFPGA NetFPGA 1G 1G eth0 eth0 eth2 eth2 Management Management Server Server Hình 6-5 k t n i m ng ki m tra h th ng th nghi m Sau ki m tra mô ph c ti p theo tri n khai h th ng th nghi m lên board NetFPGA Hình 6-5 trình bày mơ hình k t k t n i thi t b mô hình này, bên c nh máy ch ki m tra h th ng Trong t board NetFPGA, s s d ng thêm máy tính M t máy t n cơng (attacker), g i gói d li u ch n h th ng NIDS M t i qu n tr m ng, nh n c nh báo t h th ng NIDS tr v Trên máy attacker s l i gói d li u ch t ph n m sinh gói d li u Ph n m m s chi u c chu n b c Trên board NetFPGA, h th ng x lý n i dung ph n thân gói d li u s ki m tra gói d li u g lu c so trùng thành công, s g i c nh báo v n c ng eth0, n u m t i d ng gói UDP packet qua c ng eth2 Ph n m m máy ch qu n lý s phân tích gói d li u c nh báo hi n th thông tin Hình 6-6 k t qu c nh báo tr v t board NetFPGA 66 Hình 6-6 K t qu tr v c nh báo gói d li u có ch Hình 6-7 K t qu th nghi m trang Web 67 c 7.1 Lu c thi t k hi n th c h th ng x lý n i dung ph n thân gói d li u cho h th ng phát hi n xâm nh p m ng FPGA H th c tri n khai th nghi m thành công n n t ng NetFPGA Ki n trúc h th xu t lu ràng bu c v k t h p m u Nh lý m ng c tính cho phép h th ng h tr t p quy lu t c a h th ng phát hi n xâm nh p m ng ngu n m Snort Ki n trúc so trùng m v hi u qu tài nguyên kh p nh m s d ng ng K t qu th nghi m cho th y v i hi n th c gi i h n cho 16 b ng 512 m u cho m i b , máy so trùng có th x c 8751 m c t p ký t Ki n trúc so trùng m u n 115k ký t ng d nh Bên c nh ki n trúc truy n th ng, lu xu lý toán t l p ràng bu c, t ki m tài nguyên ph n c ng Th nghi m so sánh v i gi i pháp so trùng m Ki xu t lu t hi u qu v tài nguyên cao nh t h tr cú pháp bi u di n m ng ph c t p c a h th ng phát hi n xâm nh p m ng ngu n m Snort Bên c nh ki n trúc ph n c ng hoàn ch nh cho h th ng x lý n i dung ph n thân gói d li u, lu xu ng h p t p quy lu t c a ph n m m phát hi n xâm nh p m phân c dàng trích xu t, phân tích, xây d ng ki n trúc m b o vi c vi c c p nh t h th c nh i v t p quy lu t 7.2 Hi n t i ki n trúc h th xu t lu x lý pipeline 8bits (1 byte d li u) n i dung ph n thân c a gói d li u m i chu k xung clock M lai g n c a lu có th r ng ki n trúc cho vi c x lý nhi u bytes d li x lý K t qu s ng th c phát tri n h th ng NIDS/ NIPS ph n c ng cho h th ng m n nhi u Gbps 68 [1] B Hutchings, R Franklin and D Carver, "Assisting network intrusion detection with reconfigurable hardware," in the 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2002 [2] L Tan and T Sherwood, "A high throughput string matching architecture for intrusion detection and prevention," in the 32nd Annual International Symposium on Computer Architecture, 2005 [3] I Sourdis and D Pnevmatikatos, "Fast, large-scale string match for a 10Gbps FPGAbased network intrusion detection system," in the 12th International Conference on FieldProgrammable Logic and Applications, 2003 [4] M Aldwairi, T Conte and P Franzon, "Configurable string matching hardware for speeding up intrusion detection," in SIGARCH Computter Architecture News, 2005 [5] [Online] Available: http://www.snort.org [6] Y Cho, S Navab and W Mangione-Smith, "Specialized hardware for deep network packet filtering," in the 12th International Conference on Field-Programmable Logic and Applications, 2002 [7] A Aho and M Corasick, "Efficent string matching: an aid to bibliographic search," Communication ACM, vol 18, no 6, pp 333-340, 1975 [8] G Papadopoulos and D Pnevmatikatos, "Hashing + memory = low cost, exact pattern matching," in 15th International Conference on Field-Programmable Logic and Applications, 2005 [9] S Dharmapurikar, P Krishnamurthy, T Sproull and J Lockwood, "Deep Packet Inspection using Parallel Bloom Filters," Micro IEEE, vol 24, no 1, pp 52-61, 2004 [10] T Thinh, S Kittitornkun and S Tomiyama, "PAMELA: Pattern Matching Engine with," IEICE Transactions of Information and Systems, Vol E92-D, No.5, May 2009 [11] R Sidhu and V Prasanna, "Fast Regular Expression Matching Using FPGAs," in the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines [12] C Clark and D Schimmel, "Scalable pattern matching for high speed networks," in the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2004 [13] I Sourdis, J Bispo, J Cardoso and S Vassiliadis, "Regular expression matching for reconfigurable packet inspection," in the IEEE nternational Conference on Field [14] H Nakahara, T Sasao and M Matsuura, "A regular expression matching circuit based on a decomposed automaton," in the 7th international conference on Reconfigurable computing: architectures, tools and applications, 2011 [15] C Lin, C Huang, C Jiang and S Chang, "Optimization of Pattern Matching Circuits for Regular Expression on FPGA," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol 15, no 12, pp 1303-1310, 2007 [16] Y.-H E Yang, W Jiang and V Prasanna, "Compact architecture for high-throughput regular expression matching on FPGA," in the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, 2008 69 [17] J Moscolar, J Lockwood, R Loui and M Pachos, "Implementation of a content-scanning module for an internet firewall," in Filed-Programmable Custom Computing Machines (FCCM03), 2003 [18] S Kumar, S Dharmapurikar, F Yu, P Crowley and J Turner, "Algorithms to accelerate multiple regular expressions matching for deep packet inspection," in the 2006 conference on Applications, technologies, architectures, and protocols for computer communications, 2006 [19] Z Baker and V Prasanna, "High-throughput linked pattern matching for intrusion detection system," in ACM/IEEE Symp On Architecture for networking and communications systems, 2005 [20] C Clark and D Schimmel, "Efficient reconfigurable logic circuits for matching complex network intrusion detection patterns," in The 3th International Conference on Field Program, 2003 [21] F R R Pagh, "Cuckoo hashing," J.Algorithms, vol 51, no 2, pp 122-144, 2004 [22] S K a S T Tran Ngoc Thinh, "PAMELA: Pattern Matching Engine with Limited-time Update for NIDS/NIPS," IEICE Transcations of Information and Systems, Vols E92-D, no 5, pp 1049-1061, 2009 [23] a M N M Faezipour, "Constraint Repetition Inspection for Regular Expression on FPGA," 2008 [24] M M T.S.H Nakahara, "A regular expression matching circuit based on a modular non -deterministic finite automaton with multi-character transition," in The 16th Workshop on Synthesis and System Integration of Mixed Information Technologies, 2010 [25] V P Z.K Baker, "High-throughput linked-pattern matching for intrusion detection systems," in ACM/IEEE Symponym on Architecture for Networking and Communications Systems, 2005 [26] H.-J J V P Z.K Baker, "Regular expression software deceleration," in the International Conference on Field Programmable Logic and Applications, 2006 [27] D S C.R Clark, "Scalable parallel pattern-matching on high-speed networks," in 12th IEEE Symposium on Field-Programmable Custom Computing Machines, 2004 [28] C H C J S C C.H Lin, "Optimization of regular expression pattern matching circuits on FPGA," Design, Automation and Test in Europe, vol 2, pp 1-6, 2006 [29] F Yu, Z chen, Y Diao, T Lakshman and R Katz, "Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection," in The 2006 ACM/IEEE symposium on Architecture for networking and communications systems, 2006 [30] "Snort Home Page," [Online] Available: http://www.snort.org [31] "The Bro Network Security Monitor," [Online] Available: http://bro-ids.org/ Open Information Security Foundataion," [Online] Available: [32] "The http://www.openinfosecfoundation.org/index.php [33] "NetFPGA offical website," [Online] Available: http://netfpga.org/ 70 PUBLICATION Tran Trung Hieu EfficientNFA-based Regular Expression Matching Engine on Reconfigurable Hardware for -7621, Volume 59, Issues 5, page 202-212, April 2013 Tran Trung Hieu -based Pa 5th International Conference on Ubiquitous and Future Networks (ICUFN), 2013, (accepted to be presented in July 2013) Tran Ngoc Thinh, Tran Trung Hieu based deep packet inspection - engine for Network Intrusion Detection InformationTechnology (ECTI-CON), 2012 9th International Conference on , pp.14,Thailand 16-18 May 2012 Tran Trung Hieu, Tran Ng andComputing (ICNC), 2011 Second International Conference on , pp.105-112, Osaka, Japan, Nov 30 2011-Dec 2011 71 PH N LÝ L CH TRÍCH NGANG H tên: Tr n Trung Hi u 02/10/1988 a ch liên l c: Hà N i ih ng Ki t, Qu n 10, TP HCM O (B ut ih n nay) 9/2006 4/2011: Chuyên ngành K Thu t Máy Tính - Khoa Khoa h c & K thu t Máy Tính, ih Q TRÌNH CƠNG TÁC (B ut n nay) 4/2011 - nay: Tr gi ng - Khoa Khoa h c & K thu TPHCM ih ... TIN CHO H TH NG PHÁT HI N XÂM NH P M NG TRÊN FGPA II NHI M V VÀ N I DUNG: Tìm hi xu t p phát hi n xâm nh p m ng so trùng m u cho t p quy lu t c a h th ng Thi t k hi n th c h th ng x lý n i dung. .. t ng FPGA cho vi c x lý n i dung ph n thân gói d li u c a h th ng NIDS Máy so trùng có th làm vi c t Gbps h tr y d ng lu t khác c a ph n m m phát hi n xâm nh p m ng mã ngu n m Snort N i dung. .. header bao g m thông tin: giao th cho module x lý ph a ch IP ngu a ch c ng ngu n u gói d li u (Header Processor) Ph n payload gói d li c chuy n cho module x lý ph n thân gói d li u (Payload Processor)