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

84 21 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠ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ẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2013 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán hướng dẫn khoa học : TS Trần Ngọc Thịnh Cán chấm nhận xét : TS Lê Thành Sách Cán chấm nhận xét : TS Nguyễn Minh Sơn Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 24 tháng năm 2013 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ị Hội đồng chấm bảo vệ luận văn thạc sĩ) TS Nguyễn Đức Thái TS Trần Văn Hoài TS Trần Ngọc Thịnh TS Lê Thành Sách TS Nguyễn Minh Sơn Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA………… ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Trần Trung Hiếu Ngày, tháng, năm sinh: Chuyên ngành: MSHV: 11076025 Nơi sinh: Hà Nội 02/10/1988 Khoa học máy tính Mã số : 604801 I TÊN ĐỀ 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ểu đề xuất phương pháp so trùng mẫu cho tập quy luật hệ thống phát xâm nhập mạng  Thiết kế thực hệ thống xử lý nội dung phần thân gói liệụ phần cứng FPGA  Xây dựng cơng cụ hỗ trợ việc tự động hóa xây dựng hệ thống xử lý nội dung phần thân gói liệu 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Ộ HƯỚNG DẪN: TS Trần Ngọc Thịnh Tp HCM, ngày tháng năm 20 CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO TRƯỞNG KHOA KH & KT MT Lời cám ơn Đầu tiên, xin gửi lời cám ơn chân thành tới Thầy hướng dẫn tơi TS Trần Ngọc Thịnh Trong suốt qua trình thực luận văn, Thầy quan tâm theo sát hỗ trợ Những lời động viên hướng dẫn tận tình Thầy nguồn động lực lớn cho tơi hồn thành luận văn Tơi xin gửi lời cám ơn đến anh Trần Huy Vũ, người bạn động viên hỗ trợ nhiều thời gian học tập nghiên cứu trường Bên cạnh tơi xin gửi lời cám ơ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ận văn NetFPGA platform, hỗ trợ chia sẻ suốt q trình tơi thực luận văn Và cuối cùng, xin gửi lời cám ơn sâu sắc đến gia đình, bạn bè người thân chỗ dựa tinh thần vững chắc, cổ vũ cho suốt trình học tập, nghiên cứu TP Hồ Chí Minh tháng 6/2013 Trần Trung Hiếu Tóm tắt luận văn Sự phát triển mạnh mẽ mạng máy tính tồn cầu yêu cầu ngày cao dịch vụ mạng tạo điều kiện hoạt động cho nhiều hiểm họa an ninh mạng xâm nhập mạng, sâu máy tính, virus, spam… Điều cho thấy, vai trị hệ thống an ninh mạng mạnh mẽ cần thiết hết Hệ thống phát xâm nhập mạng (NIDS) giải pháp an ninh đáp ứng yêu cầu Đối với NIDS, giải thuật tác vụ so trùng đa mẫu xem tảng thiết yếu Tuy nhiên nguyên nhân gây giảm hiệu suất hệ thống mà số lượng độ phức tạp tập quy luật ngày tăng cao Gần nhiều nghiên cứu tập trung vào việc thực tác vụ so trùng mẫu xuống phần cứng Luận văn trình bày việc thiết kế, xây dựng thực máy so trùng đa mẫu dựa tảng FPGA cho việc xử lý nội dung phần thân gói liệu hệ thống NIDS Máy so trùng làm việc tốc độ Gbps hỗ trợ đầy đủ dạng luật khác phần mềm phát xâm nhập mạng mã nguồn mở Snort Nội dung luận văn phân làm hai phần chính: kiến trúc phần cứng khả cấu hình phương pháp phân tích tổ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ế thực máy so trùng đa mẫu chip FPGA bao gồm việc so trùng mẫu tĩnh, so trùng mẫu động kết hợp ràng buộc đa mẫu để hỗ trợ luật NIDS hoàn chỉnh Đối với so trùng mẫu tĩnh, luận văn áp dụng phương pháp Cuckoo Hashing Kết thử nghiệm cho thấy độ hiệu tài nguyên kiến trúc với việc hỗ trợ 8000 mẫu tĩnh với kích thước tập ký tự lên đến 115K Đối với so trùng mẫu động, luận văn áp dụng phương pháp máy trạng thái không đơn định Bên cạnh kiến trúc truyền thống, luận văn đề xuất phương pháp để chia sẻ mẫu infix, suffix mẫu động với nhau, qua tăng độ hiệu dụng tài nguyên phần cứng Thử nghiệm cho thấy, thiết kế tiết kiệm lên đến 42% LUT 32%FFs so với phương pháp truyền thống Trong phương pháp phân tích tổng hợp luật, luận văn trình bày quy trì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 đa mẫu từ tập luật hệ thống phát xâm nhập mạng Kiến trúc phần cứng kiểm tra với tập quy luật Snort Các bước kiểm tra thực thành công phần mềm với công cụ mô Xilinx phần cứng với tảng phát triển ứng dụng mạng NetFPGA II ABSTRACT 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 Lời cam đoan Tôi xin cam đoan rằng, tài liệu tham khảo tài liệu khác thích nguồn gốc đính kèm tồn nội dung báo cáo kết nghiên cứu tơi tơi tự soạn thảo Nếu có sai phạm so với lời cam kết, xin chịu hình thức xử lý theo quy định Trần Trung Hiếu IV MỤC LỤC LỜI CÁM ƠN I TÓM TẮT LUẬN VĂN II ABSTRACT III LỜI CAM ĐOAN IV MỤC LỤC V MỤC LỤC HÌNH VII MỤC LỤC BẢNG IX CHƯƠNG GIỚI THIỆU 1.1 Tính cấp thiết đề tài 1.2 Phát biểu vấn đề 1.3 Đóng góp luận văn 1.4 Cấu trúc luận văn CHƯƠNG KIẾN THỨC NỀN TẢNG 2.1 Hệ thống phát 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ước 2.3.1 Phương pháp so trùng mẫu tĩnh 2.3.2 Phương pháp so trùng mẫu biểu thức quy 2.3.3 Vấn đề xử lý ràng buộc kết hợp đa mẫu 2.4 Phương pháp băm Cuckoo 2.5 Phương pháp máy trạng thái 10 2.5.1 Máy trạng thái đơn định 11 2.5.2 Máy trạng thái không đơn định 11 2.6 NetFPGA Platform 13 CHƯƠNG THỐNG NIDS TỔNG QUAN XỬ LÝ PHẦN THÂN GÓI DỮ LIỆU CHO HỆ 16 3.1 Tập sở liệu mã độc Snort 16 3.1.1 Cấu trúc luật 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 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 CHƯƠNG 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ếp đầ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ƯƠNG 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 5.1.2 Phân đoạ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 CHƯƠNG ĐÁNH GIÁ VÀ KIỂM NGHIỆM HỆ THỐNG 58 6.1 Đánh giá kiến trúc so trùng mẫu tĩnh 58 6.2 Đánh giá kiến trúc so trùng mẫu động 62 6.3 Thử nghiệm hệ thống 65 CHƯƠNG TỔNG KẾT 68 7.1 Kết luận văn 68 7.2 Định hướng phát triển 68 TÀI LIỆU THAM KHẢO 69 VI MỤC LỤC HÌNH 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ỖI ‘NICE’ 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Ự ĐƠN 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ỖI ĐẦU VÀO 13 HÌNH 2-11 NFA BIỂU DIỄN + CHẤP NHẬN MỘT SỐ DƯƠNG CHUỖI ĐẦU VÀO 13 HÌNH 2-12 NFA BIỂU DIỄN ((A*B)(C|D)) ĐƯỢC XÂY DỰNG THEO CÁC QUY TẮC CƠ BẢ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ỦA CÁC OPTION TRONG ĐỊNH NGHĨA MẪU TĨNH 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 QT 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ẠNG THÁI NFA ĐỂ SO TRÙNG MẪU ĐỘNG ‘^A*(B|C)D$’ 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-2 SƠ ĐỒ TỔNG QUÁT CPMU 26 HÌNH 4-3 BẢNG PHÂN BỐ CHIỀU DÀI MẪU TĨNH Ứ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ẾP ĐẦU 31 HÌNH 4-9 ĐỊNH DẠNG MỘT ENTRY TRONG FIFO 31 HÌNH 4-10 DẠNG SĨNG ĐẦU RA CỦA MODULE GIAO TIẾP ĐẦU 32 HÌNH 4-11 MƠ HÌNH CÁC KHỐI LOGIC CƠ BẢN: A STATE BLOCK; B START BLOCK; C END BLOCK 33 HÌNH 4-12 MƠ HÌNH TỔNG QT KHỐI “^(A|B)C*$” 33 HÌNH 4-13 KIẾN TRÚC KHỐI CRB CHO THỨC CHÍNH QUY “(AB+C){2,10}” 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 QT CHIA SẺ INFIX GIỮA CÁC REME 35 VII ... cho tập quy luật hệ thống phát xâm nhập mạng  Thiết kế thực hệ thống xử lý nội dung phần thân gói liệụ phần cứng FPGA  Xây dựng công cụ hỗ trợ việc tự động hóa xây dựng hệ thống xử lý nội dung. .. 11076025 Nơi sinh: Hà Nội 02/10/1988 Khoa học máy tính Mã số : 604801 I TÊN ĐỀ 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ểu đề... đề tài, bao gồm hệ thống phát xâm nhập mạng, giải thuật so trùng mẫu kết nghiên cứu trước Chương 3: Tổng quan vấn đề xử lý nội dung phần thân gói liệu cho hệ thống phát xâm nhập mạng Đặc điểm,

Ngày đăng: 27/01/2021, 13:51

Tài liệu cùng người dùng

Tài liệu liên quan