ỨNG DỤNG PHÁT HIỆN ĐỘT NHẬP SỬ DỤNG THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI TRONG CÔNG NGHỆ THÔNG TIN

69 952 2
ỨNG DỤNG  PHÁT HIỆN ĐỘT NHẬP SỬ DỤNG THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI TRONG CÔNG NGHỆ THÔNG TIN

Đ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

NGUYỄN THỊ BÍCH NGỌC HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRẦN BÍCH TRÂM HỆ THỐNG THÔNG TIN 2012 – 2013 HÀ NỘI ỨNG DỤNG PHÁT HIỆN ĐỘT NHẬP SỬ DỤNG THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI TRONG CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2015 2 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! 3 MỤC LỤC 4 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 5 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 6 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 " ỨNG DỤNG PHÁT HIỆN ĐỘT NHẬP SỬ DỤNG THUẬT TOÁN ĐỐI SÁNH CHUỖI LAI TRONG CÔNG NGHỆ THÔNG TIN ". 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: 7 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 8 Chương này trình bày tổng 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 tài liệu hiện tại. Việc tích hợp các thuật toán đối sánh chuỗi là một trong những khâu cơ bản được sử dụng trong việc triển khai phần mềm và được thực hiện trên hầu hết các hệ điều hành. Mặc dù hiện nay dữ liệu được lưu trữ dưới nhiều hình thức khác nhau, nhưng văn bản vẫn là hình thức chủ yếu để lưu trữ và trao đổi thông tin. Trong nhiều lĩnh vực như phát hiện đột nhập, trích trọn thông tin và tin sinh học, một lượng lớn dữ liệu thường được lưu trữ trong các tập tin tuyến tính. Hơn nữa, khối lượng dữ liệu thu thập được tăng lên rất nhanh nên đòi hỏi phát các thuật toán xử lý và đối sánh dữ liệu văn bản hiệu quả. 1.1.2 Các khái niệm “Đối sánh chuỗi là gì?” Đối sánh chuỗi bao gồm việc tìm kiếm một, nhiều, hoặc tất cả số lần xuất hiện của một chuỗi (thường được gọi là mẫu (Pattern)) trong một văn bản. Đối sánh chuỗi có thể được biểu diễn dưới dạng toán học như sau: Cho một chuỗi văn bản T[1…n] và một chuỗi mẫu P[1…m], tìm sự xuất hiện của P trong T chính là sự đối sánh chuỗi giữa P và T. Cả P và T đều thuộc *. * là tập hữu hạn các mẫu tự trong bảng chữ cái. P xuất hiện với độ dịch s (bắt đầu tại s+1) : P[1] = T[s+1], P[2] = T[s+2],… , P[m] = T[s+m]. Do đó, chúng ta gọi s là giá trị dịch, ngược lại, chúng ta gọi là không có giá trị dịch. Ví dụ: 9 P = “abab” , T = “abcabababbc”, P xuất hiện tại s = 3 và s = 5. Theo tính chính xác của phép đối sánh, có 2 loại đối sánh chuỗi: - Đối sánh chuỗi chính xác (Exact string matching): Cho một chuỗi văn bản T có độ dài n, và một chuỗi mẫu P có độ dài m. Bài toán đối sánh chuỗi chính xác chính là việc tìm ra sự xuất hiện chính xác của P trong T. Ví dụ: T = “DABCDEADBACABAD” P = “AB” - Đối sánh chuỗi gần đúng (Approximate string matching): Tìm một chuỗi phù hợp với mẫu gần đúng (chứ không phải là chính xác) mà sự so khớp là tốt nhất với mẫu. Một vài sai khác có thể chấp nhận được. Chính thức hơn : Đưa một văn bản T, một mẫu P, và một hàm khoảng cách D. Tìm tất cả các chuỗi con s của T sao cho D(s, P) < k. Sự sai khác cho phép được ở đây có thể là : • Thêm (ran  rain) . • Bớt (brain  rain) . • Thay thế (brain  train) Ví dụ: T = “brainaaranastraindshanb” P = “ran”. 1.1.3 Lịch sử phát triển Trong năm 1970, S.A. Cook [2] đã chứng minh một kết quả lý thuyết giúp suy ra sự tồn tại của một thuật toán để giải bài toán đối sánh mẫu có thời gian tỷ lệ với (M+N) trong trường hợp xấu nhất. D.E.Knuth và V.R.Pratt[2]đã kiên trì theo đuổi kiến trúc mà Cook đã dùng để chứng minh cho định lý của ông và nhận được một thuật toán tương đối đơn giản. Đồng thời J.H.Morris [2]cũng khám phá ra thuật toán này. Knuth, Morris, Pratt đã không giới thiệu thuật này của họ cho đến năm 1976, và trong thời gian này R.S.Boyer và J.S.Moore đã khám phá ra một thuật toán nhanh hơn nhiều. 10 Tháng 6 – 1975, Alfred V. Aho và Margret J. Corasick [1] đã giới 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 1980, 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 đảo ngược thứ tự so sánh trong tài liệu Software - Practice & Experience, 10(6):501-506. Tháng 3 - 1987, 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 thi tỉ lệ với m+n trong tài liệu IBM J. Res develop – vol 31 no.2. 1.1.4 Các bước xử lý Các thuật toán đối sánh chuỗi thường được thực hiện theo 2 bước xử lý sau: • Bước tiền xử lý (Preprocessing phase): bao gồm Xử lý mẫu và Khởi tạo cấu trúc dữ liệu. • Bước tìm kiếm (Searching phase): thực hiện việc Tìm kiếm mẫu trong văn bản. 1.1.5 Các cách tiếp cận Có 4 cách tiếp cận chính của các thuật toán đối sánh chuỗi: Thuật toán cổ điển (Classical algorithms): là các thuật toán chủ yếu dựa vào sự so sánh giữa các ký tự. • Các thuật toán điển hình bao gồm Brute Force, Naïve,… Thuật toán máy tự động hậu tố (Suffix automata algorithms): là các thuật toán sử dụng cấu trúc dữ liệu hậu tố tự động để nhận ra tất cả các hậu tố của mẫu. • Các thuật toán điển hình bao gồm Knuth – Morris – Pratt, Boyer – Moore, Horspool,… Thuật toán bit song song (Bit – Parallelism algorithms): là các thuật toán khai thác bản chất song song của các dữ liệu bit để thực hiện các thao tác cùng lúc. • Các thuật toán điển hình bao gồm Shift – Or, … [...]... 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 22 Chương 2: CÁC KỸ THUẬT ĐỐI SÁNH CHUỖI... sánh sử 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. .. 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. .. thực hiện của 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 21 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, ... hiện đột nhập dựa trên chữ ký Hình 1.10 Bước kiểm tra 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ứuthuậ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, ... – Karp,… Các kỹ thuật đối sánh chuỗi sử dụng đa mẫu với số lượng hữu hạn cho phép một số mẫu nhất định trong mỗi phép đối sánh • Một số kỹ thuật đối sánh chuỗi sử dụng đa mẫu với số lượng có hạn là: thuật toán Commentz – Walter, thuật toán Aho – Corasick,… Các kỹ thuật đối sánh chuỗi sử dụng đa mẫu với số lượng vô hạn cho phép không hạn chế số mẫu nhất định trong mỗi phép đối sánh • Dĩ nhiên, các mẫu... chia phát hiện đột nhập thành phát hiện đột nhập dựa trên các dấu hiệu hoặc chữ ký và phát hiện đột nhập dựa trên bất thường • Phát hiện đột nhập dựa trên các dấu hiệu (còn gọi là chữ ký): Phương pháp này nhận dạng các sự kiện hoặc tập hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa là tấn công hoặc đột nhập Phát hiện đột nhập dựa trên chữ ký có khả năng phát hiện hiệu quả các tấn công, ... 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. .. 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 cụ tìm... 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

Ngày đăng: 17/04/2015, 10:14

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

  • DANH MỤC CÁC HÌNH

  • I. MỞ ĐẦU

  • 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

    • 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

      • 1.1.2 Các khái niệm

      • 1.1.3 Lịch sử phát triển

      • 1.1.4 Các bước xử lý

      • 1.1.5 Các cách tiếp cận

      • 1.1.6 Độ phức tạp tính toán

      • 1.1.7 Ứng dụng của đối sánh chuỗi

      • 1.2 Tổng quan về đột nhập và phát hiện đột nhập

        • 1.2.1 Các dạng tấn công, đột nhập

          • 1.2.1.1 Các dạng phần mềm phá hoại

          • 1.2.1.2 Các dạng tấn công máy tính, mạng

          • 1.2.2 Các phương pháp phát hiện đột nhập

            • 1.2.2.1 Phân loại phương pháp phát hiện đột nhập

            • 1.2.2.2 Các thành phần củahệ thống 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

            • 1.4 Mô tả bài toán của luận văn

            • 1.5 Kết chương

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

Tài liệu liên quan