CHƯƠNG 1.1 Tính cấp thiết của đề tài.- -- QC HH n0 00 0301 10 0 05 0n Sg 1 1.2 Phát biểu vấn đề.3 DOng ZOp Cla IUAN 0 8 .4 Cau tric JUAN 0 06. KIEN THỨC NEN TẢNG.1 Hệ thống phát hiện xâm nhập mạng.1 SNOrt IDS oo ồ.2 SO trUNG MAU .3 Tổng quan các nghiên cứu trước đây.1 Phương pháp so trùng mẫu tĨnh.- ---- c + Sex tk x1 SH HH HH Hy Hy nh 6 2.2 Phương pháp so trùng mẫu biểu thức chính QUY .3 Vấn đề xử lý các ràng buộc kết hợp da mẫu.4 Phương pháp băm CUCKOO. - -- - -- SG nọ HH BS 9 2.5 Phương pháp máy trạng thái .1 Máy trạng thái đơn định. ác cà HH ng ng rên 11 2.2 Máy trạng thái không đơn định.
-- -cc L0 00000111 S SH HH TH nen re, 11 2.-- --- cọ nọ HT 0008 13 CHƯƠNG 3. TONG QUAN XU’ LÝ PHAN THÂN GÓI DU’ LIEU CHO HỆ THONG NIDS 16 3.1 Tap cơ sở dữ liệu mã độc của SnOrt.1 Cấu trúc luật của SnOFẲ. Ác cc Q11 SH SH TT ky 17 3.3 Các ràng buộc và kết hợp mẫu.---- ¿+ 5c tk k1 E111 H11 Hy nghiệt 20 3.2 Xử lý nội dung gói dữ liệu trên phần cứng .1 Phân tích và tổng hợp luật.2 KiGN trUc PHAN 16 “---1-ŸÍAẰÍẰC. HIEN THỰC MODULE PHAN CỨNG.1 Static Pattern Matching Module.1 Cuckoo Pattern Matching Unit (CPIMMÙ).2 Long Pattern Matching .2 Dynamic Pattern Matching Unit.1 Module giao ti€p 8 .2 Module Detect Engine 0n .3 Module giao tiếp cuối (Postln†erfaCe) .3 Pattern Combine Modulle.
PHAN TÍCH VÀ XỬ LÝ TẬP LUẬTT.1 Compile Static Pattern. -c con HT HS 9098005: 108908 9 086 45 5,1.1 Xử lý các mẫu ngắn. -¿- -:- L1 k1 k1 S1 SỰ TT T HT TT HH TH TH TH HH 46 5.2 Phân đoạn mẫu và xử lý mẫu dài. ¿- ¿+ ¿+ + S2 SE 511 Y Hynrryưệt 47 5.2 Dynamic pattern CompiÏerr.1 Tiền xử ly va trích xuất tập chia sẽ infix.2 Xây dựng kiến trúc máy trạng thái NFA.3 Ánh xạ sang kiến trúc phần CỨng.---- -¿- - +: tt E SE SE 1kg Hy triệt 52 CHƯƠNG 6.
DANH GIÁ VÀ KIỂM NGHIỆM HỆ THỐNG .1 Đánh giá kiến trúc so trùng MAU tĩnh.2 Đánh giá kiến trúc so trùng mẫu động .-- Ác SH se eres 62 6.3 Thử nghiệm hệ thống.- - -- - -- LG c G0909 000 0 S80 80950 65 CHƯƠNG7. 68 TÀI LIEU THAM KHẢO.------<©5-ceess+r+rrressrtrrrrrrtrrrrrsrrrrrrrred 69 VI MỤC LUC HINH HÌNH 1-1 CẤU TRÚC CHÍNH CUA NIDS.ccccccsescsscsescscsesscscscsscscscsscscscsecscscsesscsssesscssessesscscsesscsssesssetssseeeesees 2 HÌNH 2-1 TRIỂN KHAI NIDS TRONG HỆ THỐNG MẠNG. 4 HÌNH 2-2 CÁCH THỨC CHEN VÀO BANG T1 T2 SỬ DUNG CUCKOO HASHING.---- 52525255552 9 HÌNH 2-3 MOT MAY TRẠNG THÁI CHAP NHẬN CHUỖI “NICE”.--- 2 2© 2+EEESEEEEEEEEEEEEerrrrk 10 HÌNH 2-4 DFA CHAP NHAN TẤT CẢ CÁC CHUỖI BIT CHUA ÍT NHẤT 2 BIT 1.---2-22+s+r+rzred 11 HÌNH 2-5 NFA CHAP NHẬN CÁC CHUOI BIT KẾT THÚC BỞI 00 HAY 0110.-----2¿+ce+xe+xerErrere 11 HÌNH 2-6 NFA CHAP NHẬN MOT KÝ TỰ ĐƠN. 12 HÌNH 2-7 KẾT NOI HAI BIỂU THỨC CHÍNH QUY CON.
12 HÌNH 2-8 LUẬT LUAN PHIEN HAI BIỂU THỨC CHÍNH QUY.-- 2-52 SE2EE2EEE2EEEE3217127121121 21 1cxe, 12 HÌNH 2-9 NFA BIỂU DIỄN * CHAP NHẬN MỘT CHUOI BAT KỲ GỒM CẢ CHUỖI RỖNG. 13 HÌNH 2-10 NFA BIỂU DIEN ?CHẤP NHẬN KHÔNG HAY CHỈ MỘT CHUỖI ĐẦU VÀO. 13 HÌNH 2-11 NFA BIỂU DIEN + CHAP NHẬN MOT SỐ DƯƠNG CHUỖI ĐẦU VÀO. 13 HÌNH 2-12 NFA BIỂU DIỄN ((A*B)(C|D)) DUOC XÂY DỰNG THEO CÁC QUY TAC CƠ BẢN.
13 HÌNH 2-13 KIẾN TRÚC NETFPGA. 14 HÌNH 3-1 Vi DỤ MỘT LUẬT DANG PLAIN TEXT TRONG SNORT. ¿c5 5S Sccrterererrrererrrrrrrreee 16 HINH 3-2 Vi DU RULE HEADER 00. 17 HÌNH 3-3 MỐI LIÊN QUAN CUA CAC OPTION TRONG ĐỊNH NGHĨA MAU TINH.---- 752 21 HÌNH 3-4 MÔ HÌNH GIAO TIẾP DU’ LIEU CUA MODULE XỬ LÝ NỘI DUNG GÓI DU LIEU.
22 HÌNH 3-5 QUY TRINH TONG QUAT PHAN TÍCH XỬ LÝ LUẬT VÀ XÂY DỰNG HỆ THỐNG. 23 HÌNH 3-6 MÔ HÌNH TONG QUAT KIẾN TRÚC PHAN CỨNG CHO MODULE PAYLOAD PROCESSOR. 24 HÌNH 3-7 MINH HỌA KIẾN TRÚC MAY TRẠNG THAI NEA ĐỂ SO TRÙNG MẪU DONG ““A*(B/C)DS’.24 HÌNH 4-1 KIẾN TRÚC TONG QUAT HỆ THỐNG XỬ LY PHAN THAN GÓI DỮ LIỆU.-----5--+: 25 HÌNH 4-2 SƠ ĐỒ TONG QUÁT CPMU. - - 522112 121521211111215211111111111111111111E 1111111111 26 HÌNH 4-3 BANG PHAN BO CHIEU DAI MẪU TĨNH ỨNG VỚI CÁC NHÓM! LUẬT.-- 2 2-++:s+xe2 26 HÌNH 4-4 KIẾN TRÚC MODULE CUCKOO.- ¿252 SE2EEEEEEEE9EEEEEEEEE 1231115237115 111111 1111511 cxE 27 HÌNH 4-5 KIẾN TRÚC LIÊN KET CÁC CHUỖI TRONG LONG PATTERN MATCHING.-- 2-5252 28 HÌNH 4-6 KIẾN TRÚC TONG QUAN MAY SO TRÙNG BIỂU THỨC CHÍNH QUY.---2-c-cccccccee 30 HÌNH 4-7 CẤU TRÚC NHÓM SO TRUNG BIỂU THỨC CHÍNH QUY (REMM).
- 52562 ccsEcvsesreresed 30 HÌNH 4-8 CẤU TRÚC CUA MODULE GIAO TIẾP ĐẦU. 31 HÌNH 4-9 ĐỊNH DANG MOT ENTRY TRONG FIFO.-- ¿22525222 SE SE EEEEEEEEEEEEEEEEEEEEErkrrrree 31 HÌNH 4-10 DẠNG SÓNG ĐẦU RA CUA MODULE GIAO TIẾP ĐẦU.--¿ 5-5-5222 E+EEE‡E2EEErErErrrkred 32 HÌNH 4-11 MÔ HÌNH CÁC KHOI LOGIC CƠ BẢN: A. 33 HÌNH 4-12 MÔ HÌNH TONG QUAT KHOI “A(A |B)C *'$””. St St 1E 11511111 11111111111111 511111 Erxee 33 HÌNH 4-13 KIẾN TRÚC KHOI CRB CHO THỨC CHÍNH QUY “(AB+C){2, 10)”.-- << cscs+k+kE2EzEererrees 34 HÌNH 4-14 KIẾN TRÚC KHOI CRB.
B, KHOI AT LEAST. D, AT VI HÌNH 4-16 HAI CHE ĐỘ HOAT DONG CUA LOGIC CELL.-- - ¿2 52 S22E+E2EE£E+E+EEE£E+EEEEEErEererrsrerree 36 HÌNH 4-17 Vi DỤ CHIA SẺ INFIX GIỮA HAI PATTERN EATING VA EARNING.----25-c2c+cscscescee 36 HÌNH 4-18 MÔ TẢ MACH SO TRÙNG CHO MẪU “AB[^AB]XB”.-c 5c St E E11 11 111111111111111xEEEerreeg 37 HÌNH 4-19 CẤU TRÚC CUA MODULE GIAO TIẾP CUỐI .---- ¿2-2-5252 2E+E2EE£E£ESEEEEEEEEEEEEEEEeErkrrrree 38 HÌNH 4-20 KIẾN TRÚC PHAN LOALI. 39 HÌNH 4-21 KIẾN TRÚC XỬ LÝ CÁC NHÓM! LUẬTT.---- - ¿2 5256292 EEE1E5EEEE115E5212151111 11111111 re. 39 HÌNH 4-22 KIẾN TRÚC CONTRAIN VERIFY UNIT.
40 HÌNH 4-23 KIEN TRÚC XỬ LÝ LUẬT KẾT HỢP NHIỀU MẪU TĨNH NOI TIẾP.-- 2 2+ z+xe+xe+xe+e 42 HÌNH 5-1 SƠ ĐỒ HOAT ĐỘNG PHAN MEM PHAN TÍCH VÀ XỬ LÝ LUẬT.------ ¿2552 22s+c+zscszea 45 HÌNH 5-2 GIẢI THUẬT THÊM MỚI MẪU NGẮN.----- 2c t1 1221211211111111111111111 11111 re 46 HÌNH 5-3 GIẢI THUAT PHAN DOAN CHUỖI DÀI. 47 HÌNH 5-4TRINH TỰ XỬ LY CUA BƯỚC TONG HỢP MẪU ĐỘNG .- 25c tt 11 1111 xe 49 HÌNH 5-5 CAY CÚ PHAP CHO PCRE: “/A*[XYZ](C |D)*(MIP)4{2,10}\X3F/7.- -- Ă S5 SkSkskcskcskrske 51 HÌNH 5-6 CẤU TRÚC NFA SINH RA TỪ CÂY CÚ PHÁP.----- ¿©2- 525223915 EEEEE9EE212152111111111 7111k re. 51 HÌNH 5-7 CẤU TRÚC NFA SAU KHI RUT GỌN.------ SE SE 1 E121 191211211111111111111111 111111111111 cre. 52 HÌNH 5-8 CHIA SE PREFIX GIỮA HAI MẪU DONG A(D|BC)E VA ABCD.--©22 222tr 52 HÌNH 5-9 SƠ ĐỒ GIẢI THUẬT XÂY DỰNG KIẾN TRÚC RTLL.---- - 2 2S SE +E+E+E£E£E+EEEEEErEererkrsrrrree 53 HÌNH 5-10 CÁC BƯỚC XÂY DỰNG SUBREGEX UNIT VÀ COUNTCOMP UNIT TỪ CHUỖI "/MIP/,2,10".55 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Ữ THƯỜNG.60 HÌNH 6-2 KẾT QUA XÂY DỰNG BANG TRA CHO TẬP MẪU KHÔNG PHAN BIET CHỮ HOA CHỮ THƯỜNG ¬ _______.
60 HÌNH 6-3 KẾT QUA SỬ DỤNG TÀI NGUYÊN VÀ TỐC ĐỘ XỬ LÝ CUA BA KIẾN TRÚC. ------- 63 HÌNH 6-4 MO PHONG KIỂM TRA CHỨC NĂNG HỆ THỐNG. xe, 66 HÌNH 6-5 SƠ ĐỒ KẾT NOI MẠNG KIỂM TRA HỆ THONG THU’ NGHIỆM.-----52©ccccercrerrrred 66 HÌNH 6-6 KẾT QUA TRA VỀ CẢNH BAO GÓI DỮ LIEU CO CHUA MÃ ĐỘC.------ 5c cccsrcrsrea 67 HÌNH 6-7 KET QUA THU’ NGHIỆM TREN TRANG WEB. 67 Vill MỤC LUC BANG BANG 2-1 BANG CHUYỂN TRẠNG THAI CUA NFA TRONGHINH 2-5.sccscssssesscssesessecstsscssesssstsstseeseeeeens 12 BANG 3-1 BANG THONG KẾ TAP LUAT SNORT PHIÊN BẢN 2.cccscsccsssssscsesssssesscscsesssssssseseesseesees 18 BANG 3-2 BANG THONG KE TẬP LUAT SNORT PHAN THEO 7 NHÓM LUẬT.-------- 2 2555552 21 BANG 4-1 CAC TOÁN TỬ VÀ CAC KHOI LOGIC HIEN THỰC TƯƠNG UNG.----5- 5552 cs+csc<2 32 BANG 4-2 CAC THONG SỐ TRONG MODULE DEM VA SO SÁNH.-- G222 S* t2 221211211 EEerrkrea 34 BANG 4-3 CẤU TRÚC DỮ LIEU PATTERN COMBINE UNIT.---- 52 2 2E+E2EE£E+ESEEEEEESEEEEEErEerkrkrsrerree 40 BANG 4-4 CÁC THONG TIN ĐI KÈM VỚI MẪU TĨNH.1116 41 BANG 5-1 CÁC CẤU HÌNH ĐƯỢC XỬ LÝ TRONG BƯỚC CLASSIFY AND FILTER RULE .------ 44 BANG 5-2 CÁC CẤU HÌNH ĐƯỢC XỬ LÝ TRONG BƯỚC COMPILE STATIC PATTERN.------5- 45 BANG 5-3 BANG MÔ TẢ CÁC TOÁN TỬ PCRE ĐƯỢC HỖ TRỢ.--- 25c TH H2 111211111111 48 BANG 5-4 BANG MÔ TA THUỘC TÍNH CAC KHOI START BLOCK, STATE BLOCK VÀ END BLOCK.
54 BANG 5-5 BANG MO TẢ CÁC THUỘC TÍNH CUA KHOI CRB.cccsscsescsscsesscscsesscscscsssscsesecscsssssscssssseescesenees 54 BANG 5-6 MOT PHAN BANG BRAM CHO CAC KÝ TU ĐƯỢC XÂY DỰNG TRONG CONG CỤ. 57 BANG 6-1 TÀI NGUYEN BLOCKRAMS SỬ DUNG BỞI MAY SO TRÙNG MAU TĨNH.--5--s¿ 58 BANG 6-2 THONG KE TÀI NGUYEN MAY SO TRÙNG MAU TINH TREN CHIP VIRTEX 2PRO 50. 59 BANG 6-3 SO LƯỢNG MẪU TĨNH VÀ SỐ LUONG KÝ TỰ TRONG TAP MAU THU NGHIỆM. 59 BANG 6-4 BANG SO SÁNH HIEU SUAT CUA CÁC PHƯƠNG PHAP SO TRÙNG MẪU TINH TREN FPGA.61 BANG 6-5 BANG ĐÁNH GIÁ HIEU SUAT SỬ DUNG TÀI NGUYEN CUA MAY SO TRÙNG MAU DONG VỚI CÁC KIẾN TRÚC KHAC NHAU .ecccccscscsscscsssscscsssscscsscscscsecscscsescssscsecscsssscssscsesscscssecssscsecacecsesesscesass 62 BANG 6-6 SO SANH VỚI CAC KET QUA NGHIÊN CỨU VE SO TRÙNG MAU DONG TRƯỚC ĐÂY.
63 BANG 6-7 BANG THONG KE TẬP LUAT THU’ NGHIEM .cccccscscsscsssssscsesscsescsscscscsecscscssscssssecssscessessecens 65 BANG 6-8 KET QUA TONG HOP .ecsesscsssssssscsesscssesecssssesecsucsssansucsecsnsansessucansatsucsesansatsecstsansassscansansnesesaens 65 IX Chương1.1 Tính cấp thiết của dé tài Trong thời đại ngày nay, mạng máy tính đã phát triển với quy mô rất rộng trên toàn thế giới và với tốc độ ngày càng nhanh. Đi kèm với sự phát triển đó là sự đa dạng về các phương pháp tân công trên mang. Chang hạn như virus, spam, malwares, cũng như các hành vi độc hại khác. Không những thé các loại tan công này ngày một nguy hiểm, tinh vi hơn và các hậu qua do chúng gây ra ngày càng nghiêm trọng hơn.
Do đó, các phương pháp phòng chống là cần thiết hơn bao giờ hết. Có nhiều phương pháp được triển khai áp dụng như các hệ thống mã hóa, tường lửa (firewall), anti-virus. Tuy nhiên, do sự đa dạng trong hình thức tan công, các mẫu độc hại có thé xuất hiện tại bat cứ vi trí nào trong các gói dữ liệu, bài toán đặt ra là cần có một giải pháp có khả năng thâm nhập sâu vào toàn bộ nội dung của gói dữ liệu và so sánh với các dấu hiệu tan cong nam trong một cơ sở dữ liệu được chon lọc, tập hợp săn, để có thể báo động được các loại tân công một cách chính xác và hiệu quả hơn. Từ đó nảy sinh ra nhu cầu sử dụng hệ thống phát hiện xâm nhập mạng NIDS (Network Intrusion Detection System).
Do quy mô mạng ngày càng lớn, tốc độ mạng máy tính hiện nay đã lên tới hàng chục Gbps và sẽ còn cao hơn nữa trong tương lai, các giải pháp NIDS trên phần mềm chi đạt được tốc độ vài trăm Mbps sẽ không thể xử lý và đáp ứng kịp tốc độ truyền dữ liệu. Thêm vao đó với kích thước tập quy luật ngày càng tang, việc dam bảo độ ồn định và tính chính xác của hệ thống càng trở lên khó khăn hơn. Vi vậy các giải pháp phần cứng (hardware) cho bài toán này là can thiết và tat yêu.