NGHIÊN CỨU THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI VÀ ỨNG DỤNG TRONG PHÁT HIỆN ĐỘT NHẬP
NGUYỄN THỊ BÍCH NGỌC HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN THỊ BÍCH NGỌC HỆ THỐNG THÔNG TIN 2012 – 2013 HÀ NỘI NGHIÊN CỨU THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI VÀ ỨNG DỤNG TRONG PHÁT HIỆN ĐỘT NHẬP LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2014 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN THỊ BÍCH NGỌC NGHIÊN CỨU THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI VÀ ỨNG DỤNG TRONG PHÁT HIỆN ĐỘT NHẬP Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : TS. HOÀNG XUÂN DẬU HÀ NỘI - 2014 3 LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Tác giả luận văn ký và ghi rõ họ tên Nguyễn Thị Bích Ngọc 4 5 LỜI CẢM ƠN Để hoàn thành được luận văn, ngoài sự nghiên cứu và cố gắng của bản thân, em xin gửi lời cảm ơn tới TS Hoàng Xuân Dậu _ giáo viên trực tiếp hướng dẫn, tận tình chỉ bảo và định hướng cho em trong suốt quá trình thực hiện luận văn. Em xin gửi lời cảm ơn chân thành cảm ơn tất cả các thầy cô giáo của Học viện Công nghệ Bưu chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt quá trình học tập tại trường từ khi còn học đại học cho đến sau đại học. Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những người đã luôn ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể học tập tốt và hoàn thiện luận văn. Em xin chân thành cảm ơn! 6 MỤC LỤC 7 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt BMH Boyer – Moore – Horspool algorithm Thuật toán Boyer Moore Horspool CSDL Database Cơ sở dữ liệu CPU Central Processing Unit Bộ xử lí trung tâm Dos Detack of Service Tấn công từ chối dịch vụ IDS Intrusion Detection System Hệ thống phát hiện đột nhập HIDS Host – based Intrusion Detection Hệ thống phát hiện đột nhập cho host UDP User Datagram Protocol Giao thức gói tin người dùng ICMP Internet Control Message Protocol Giao thức điều khiển thông điệp Internet TCP Transmission Control Protocol Giao thức điều khiển truyền vận NIDS Network – based Intrusion Detection Hệ thống phát hiện đột nhập cho mạng P Pattern Mẫu RK Rabin – Karp algorithm Thuật toán Rabin Karp T Text Văn bản 8 DANH MỤC CÁC HÌNH Số hiệu hình vẽ Tên hình vẽ Trang 1.1 Các dạng phần mềm phá hoại 7 1.2 Minh họa kiểu tấn công gián đoạn 9 1.3 Minh họa tấn công nghe trộm 10 1.4 Minh họa tấn công thay đổi gói tin 10 1.5 Minh họa tấn công giả mạo 10 1.6 NIDS 12 1.7 HIDS 13 1.8 Các thành phần của hệ thống phát hiện đột nhập 14 1.9 Bước kiểm tra của phát hiện đột nhập dựa trên chữ ký 15 1.10 Bước kiểm tra của phát hiện đột nhập dựa trên bất thường 15 1.11 Mô hình mô tả bài toán luận văn 16 2.1 Xây dựng hàm Goto 39 2.2 Xây dựng hàm Failure 40 2.3 Xây dựng hàm Output 40 2.4 Ví dụ xây dựng hàm goto 41 2.5 Ví dụ xây dựng hàm Failure 45 3.1 Mô hình hệ thống phát hiện đột nhập 48 3.2 Hệ thống mạng trước và sau khi cài Snort 52 3.3 Cấu trúc Snort.conf – phần HOME_NET 54 3.4 Cấu trúc Snort.conf – phần RULE_PATH 54 3.5 Cấu trúc Snort.conf – phần config 54 3.6 Gói tin được mã hóa 57 3.7 Gói tin sau khi được giải mã bằng Wireshark 57 3.8 Thời gian xử lý của các thuật toán với tập mẫu 10000 bản ghi 60 3.9 Thời gian xử lý của các thuật toán với tập mẫu 5000 bản ghi 60 3.10 Thời gian xử lý của các thuật toán với tập mẫu 1500 bản ghi 61 3.11 Kết quả rule Demo.rules trong Snort 63 3.12 Kết quả rule Demo1.rules trong Snort 63 9 I. MỞ ĐẦU 1. Lý do lựa chọn đề tài Phát hiện tấn công, đột nhập mạng là một trong các thành phần quan trọng trong hệ thống các giải pháp đảm bảo an ninh cho các mạng hiện đại. Nhiều giải pháp phát hiện đột nhập mạng đã được đề xuất và áp dụng, bao gồm cả các giải pháp dựa trên phần cứng và phần mềm. Tuy nhiên, hầu hết các hệ thống phát hiện đột nhập mạng hiện có gặp phải vấn đề về hiệu năng do chúng phải phân tích, xử lý một lượng rất lớn các gói tin truyền qua mạng. Hơn nữa, việc phân tích các gói tin nhằm tìm kiếm dấu vết của các tấn công, đột nhập thường dựa trên việc tìm kiếm, đối sánh các chuỗi hoặc các mẫu chữ ký đã được định nghĩa trước trên nội dung gói tin là phần việc đòi hỏi chi phí tính toán và thời gian xử lý lớn. Khi lưu lượng mạng rất lớn, nhiều gói tin có thể bị bỏ qua không được phân tích và điều này có thể để lọt các tấn công, đột nhập nguy hiểm vào các hệ thống và dịch vụ trên mạng. Từ phân tích trên, luận văn này tập trung nghiên cứu về các giải thuật đối sánh chuỗi có hiệu năng cao, đặc biệt là các giải thuật đối sánh chuỗi đa mẫu và ứng dụng vào phân tích và đối sánh dữ liệu giám sát trong phát hiện đột nhập. Khi xây dựng đề cương luận văn, tác giả đề xuất nghiên cứu thuật toán đối sánh chuỗi lai – là sự kết hợp của hai thuật toán đối sánh chuỗi Horspool [5] và Karp-Rabin [8] với mục tiêu tăng tốc độ đối sánh chuỗi trong đề tài "Nghiên cứu thuật toán đối sánh chuỗi lai và ứng dụng trong phát hiện đột nhập mạng". Tuy nhiên, khi triển khai nghiên cứu thực tế, kết quả đánh giá cho thấy thuật toán đối sánh chuỗi đa mẫu Aho-Corasick [1] có hiệu năng vượt trội so với thuật toán đối sánh chuỗi lai. Được sự đồng ý của thầy hướng dẫn, tác giả đã sử dụng thuật toán đối sánh chuỗi đa mẫu Aho-Corasick thay cho thuật toán đối sánh chuỗi lai để cài đặt thử nghiệm trong luận văn. 2. Luận văn bao gồm 3 chương và phần kết luận: Chương 1: Tổng quan về đối sánh chuỗi và ứng dụng trong phát hiện đột nhập: 10 Giới thiệu tổng quan về đối sánh chuỗi, phát hiện đột nhập, và ứng dụng của đối sánh chuỗi vào phát hiện đột nhập. Chương 2: Các kỹ thuật đối sánh chuỗi: Trình bày chi tiết về các kỹ thuật đối sánh chuỗi. Chương 3: Xây dựng mô hình phát hiện đột nhập dựa vào đối sánh chuỗi: Chương này trình bày việc xây dựng mô hình phát hiện đột nhập ứng dụng các kỹ thuật đối sánh chuỗi đã nghiên cứu ở chương 2 và việc áp dụng kỹ thuật đối sánh chuỗi vào hệ thống Snort. 3. Mục đích nghiên cứu • Nghiên cứu các thuật toán đối sánh chuỗi và ứng dụng. • Nghiên cứu thuật toán đối sánh chuỗi đa mẫu hiệu năng cao. • Xây dựng mô hình phát hiện đột nhập mạng dựa trên thuật toán đối sánh chuỗi đa mẫu hiệu năng cao, cài đặt thử nghiệm và đánh giá kết quả. 4. Đối tượng và phạm vi nghiên cứu • Đối tượng nghiên cứu: các thuật toán đối sánh chuỗi, các chuỗi hoặc mẫu chữ ký tấn công/đột nhập, các luật phát hiện tấn công đột nhập. • Phạm vi nghiên cứu: Nghiên cứu giới hạn trong môi trường mô phỏng và thực. 5. Phương pháp nghiên cứu Phương pháp nghiên cứu là nghiên cứu lý thuyết kết hợp với thực nghiệm và phân tích, đánh giá kết quả. II. NỘI DUNG Chương 1: TỔNG QUAN VỀ ĐỐI SÁNH CHUỖI VÀ ỨNG DỤNG TRONG PHÁT HIỆN ĐỘT NHẬP [...]... của phát hiện đột nhập dựa trên bất thường 1.4 Mô tả bài toán của luận văn Bài toán của luận văn là nghiên cứu thuật toán đối sánh chuỗi đa mẫu và ứng dụng vào phát hiện đột nhập Mô hình phát hiện đột nhập được sử dụng là mô hình phát hiện đột nhập dựa vào chữ ký, như minh họa trên Hình 1.9 Nội dung chính của luận văn gồm: nghiên cứu thuật toán, cài đặt và đánh giá hiệu năng thực hiện của các thuật toán. .. quan về đối sánh chuỗi, các dạng tấn công, đột nhập và phát hiện đột nhập mạng, và ứng dụng đối sánh chuỗi trong phát hiện đột nhập mạng 1.1 Tổng quan về đối sánh chuỗi và ứng dụng 1.1.1 Tổng quan về đối sánh chuỗi Đối sánh chuỗi là một kỹ thuật đóng vai trò nền tảng trong lĩnh vực xử lý văn bản Hầu như tất cả các trình soạn thảo và xử lý văn bản đều cần phải có một cơ chế để tìm kiếm các chuỗi trong. .. công, đột nhập và ứng dụng của đối sánh chuỗi vào phát hiện đột nhập Các phương pháp đối sánh chuỗi được sử dụng như một khâu chính trong bước kiểm tra nhằm phát hiện các tấn công, đột nhập Việc nghiên cứu sâu về các kỹ thuật đối sánh chuỗi, đánh ưu nhược điểm của chúng và trên cơ sở đó lựa chọn kỹ thuật thích hợp cho phát hiện đột nhập là nội dung của chương 2 25 Chương 2: CÁC KỸ THUẬT ĐỐI SÁNH CHUỖI... thuật đối sánh chuỗi bao gồm: cách phân loại, các phương pháp tiếp cận, một số kỹ thuật đối sánh chuỗi thông dụng, và đối sánh chuỗi đa mẫu Aho-Corasick và đánh giá hiệu năng của các kỹ thuật đối sánh chuỗi 2.1 Phân loại các kỹ thuật đối sánh chuỗi Có nhiều cách để phân loại các kỹ thuật đối sánh chuỗi Căn cứ vào số lượng mẫu sử dụng, các kỹ thuật đối sánh chuỗi có thể được chia thành 3 loại: đối sánh. .. các thuật toán đối sánh chuỗi thông dụng (gồm thuật toán Naïve, thuật toán Horspool, thuật toán BMH) và thuật toán đối sánh chuỗi đa mẫu Aho Corasick; Trên cơ sở đánh giá hiệu năng, tích hợp thuật toán đối sánh chuỗi có hiệu năng tốt nhất vào hệ thống phát hiện đột nhập mã mở Snort 24 Hình 1.11 Mô hình mô tả bài toán luận văn 1.5 Kết chương Chương 1 giới thiệu tổng quan về đối sánh chuỗi, khát quát... dụng đơn mẫu, đối sánh sử dụng đa mẫu với số lượng có hạn, đối sánh sử dụng đa mẫu với số lượng vô hạn Các kỹ thuật đối sánh chuỗi sử dụng đơn mẫu chỉ cho phép một mẫu trong mỗi phép đối sánh • Một số kỹ thuật đối sánh chuỗi sử dụng đơn mẫu là: thuật toán sơ khai (Naïve string matching), thuật toán Knuth – Morris – Pratt, thuật toán Boyer – Moore – Horspool, thuật toán Rabin – Karp,… Các kỹ thuật đối. .. phát hiện đột nhập 1.3 Ứng dụng đối sánh chuỗi trong phát hiện đột nhập Các phương pháp phát hiện đột nhập thường được triển khai thành hai bước: bước huấn luyện và bước kiểm tra Trong bước huấn luyện, chúng ta thu được một tập các hành vi bình thường của hệ thống hoặc tập các chữ ký (các mẫu) đột nhập đã biết – những thông tin thường được biểu diễn dưới dạng các chuỗi Trong bước kiểm tra, các kỹ thuật. .. kỹ thuật đối sánh chuỗi khác nhau được áp dụng để so sánh hành vi hiện tại của hệ thống với tập hành vi thu được ở bước huấn luyện, và đưa ra kết quả hành vi hiện tại là đột nhập hay không Độ chính xác và hiệu năng của các phương pháp đối sánh chuỗi có ảnh hưởng quyết định đến hiệu quả của phát hiện đột nhập Hình 1.9 mô tả bước kiểm tra của kỹ thuật phát hiện đột nhập dựa trên chữ ký Hành vi hiện tại... 1.2.2 Các phương pháp phát hiện đột nhập Phát hiện đột nhập là quá trình giám sát các sự kiện xuất hiện trong một hệ thống máy tính hoặc hệ thống mạng, phân tích các sự kiện này để phát hiện các dấu hiệu của tấn công, đột nhập 19 1.2.2.1 Phân loại phương pháp phát hiện đột nhập Có hai phương pháp khác nhau để phân loại phát hiện đột nhập: Phân loại dựa trên kỹ thuật phân tích dữ liệu và Phân loại dựa trên... nhau Độ phức tạp tính toán tỉ lệ thuận với chiều dài của mẫu, chiều dài của văn bản và độ lớn của tập các ký tự 1.1.7 Ứng dụng của đối sánh chuỗi Đối sánh chuỗi là một trong những bài toán cơ bản và “tự nhiên” nhất của ngành Tin học Đối sánh chuỗi được sử dụng rộng rãi trong nhiều ứng dụng và lĩnh vực khác nhau như: • • • • • • Chức năng search trong các trình soạn thảo văn bản và web browser Các công . thiệu thuật toán đối sánh chuỗi đa mẫu Aho Corasick trong tài liệu “Communications of the ACM 18 . Năm 1 980 , Nigel Horspool [5] đã giới thiệu thuật toán đối sánh chuỗi tương tự thuật toán KMP, nhưng. sánh trong tài liệu Software - Practice & Experience, 10(6):501-506. Tháng 3 - 1 987 , R.M.Karp và M.O.Rabin [8] đã giới thiệu thuật toán đơn giản gần như thuật toán Brute Force có thời gian thực. Minh họa tấn công thay đổi gói tin 10 1.5 Minh họa tấn công giả mạo 10 1.6 NIDS 12 1.7 HIDS 13 1 .8 Các thành phần của hệ thống phát hiện đột nhập 14 1.9 Bước kiểm tra của phát hiện đột nhập dựa