ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU THUẬT TOÁN SVM KẾT HỢP ĐỒNG HUẤN LUYỆN VÀ ỨNG DỤNG TRONG PHÁT HIỆN ĐỘT NHẬP MỞ ĐẦU Với sự phát triển mạnh mẽ trong lĩnh vực khoa học và công nghệ, Internet đang dần đi sâu hơn vào đời sống văn hóa, xã hội của con người, đã và đang mang lại nhiều lợi ích trong nhiều lĩnh vực của cuộc sống. Nó đang dần trở thành một thành phần quan trọng không thể tách rời của xã hội thông tin hiện đại. Ưu điểm của Internet so với các phương tiện trao đổi thông tin khác là sự đa dạng về các kiểu dữ liệu như: dữ liệu âm thanh, hình ảnh, văn bản và video và sự phong phú về nguồn dữ liệu. Các ứng dụng, phần mềm trợ giúp cho con người không ngừng phát triển và cải tiến. Từ đó, con người có thể tự động hóa nhiều khâu góp phần giảm sức lực lao động thủ công, cơ chế làm việc nhanh gọn hơn. Tuy nhiên, Internet cũng có hai mặt của nó. Đi cùng với những ưu điểm là những nhược điểm không thể tránh khỏi, làm tăng nguy cơ người dùng phải đối mặt với những nguy hiểm do chính con người tạo ra với mục đích xấu. Với sự đầy đủ và tiện dụng của Internet, nó đã bị những người có ý định xấu sử dụng với mục đích tấn công, xâm nhập tài nguyên mạng trái phép, nhằm vụ lợi cho bản thân. Trong hệ thống mạng, các máy chủ thường là mục tiêu chính của các cuộc tấn công. Kẻ xấu có thể xâm nhập hệ thống trái phép, cài đặt thêm các phần mềm gián điệp, làm tê liệt hệ thống hoặc chiếm quyền điều khiển hệ thống. Các gói tin trao đổi trên đường truyền cũng có thể bị giả mạo, bị nghe trộm hoặc thay đổi gói tin. Những hành vi trên có thể gây ra những hậu quả vô cùng to lớn, ảnh hưởng đến các cá nhân hoặc các tổ chức có liên quan. Do đó, việc nghiên cứu phát triển các phương pháp phòng chống xâm nhập mạng hiệu quả là rất cần thiết hiện nay. Hiện nay đã có một số phương pháp phát hiện đột nhập mạng được nghiên cứu và phát triển. Đồ án này trình bày một phương pháp tiếp cận cho việc xây dựng một mô hình phát hiện đột nhập dựa trên máy vec-tơ hỗ trợ kết hợp với giải thuật đồng huấn luyện, với mong muốn nâng cao khả năng phát hiện các cuộc tấn công đột nhập mạng. Đồ án gồm có bốn chương được tổ chức như sau: Chương 1: Tổng quan về phát hiện đột nhập: Trình bày khái quát về các yêu cầu đảm bảo an toàn cho hệ thống máy tính và mạng, các phương pháp tấn công hệ thống và tổng quan về hệ thống phát hiện đột nhập cũng như các kỹ thuật xử lý dữ liệu trong phát hiện đột nhập. Nội dung cuối của chương mô tả cách tiếp cận của phương pháp SVM kết hợp giải thuật đồng huấn luyện vào lĩnh vực phát hiện đột nhập. Chương 2: Cơ sở lý thuyết của phương pháp SVM và đồng huấn luyện: Trình bày về cơ sở lý thuyết được nghiên cứu sử dụng trong phương pháp, bao gồm cơ sở lý thuyết về phương pháp phân loại dựa trên máy vec-tơ hỗ trợ và nội dung cơ bản của giải thuật đồng huấn luyện. Chương 3: Xây dựng mô hình phát hiện đột nhập: Nội dung của chương tập trung trình bày quá trình xây dựng mô hình phát hiện đột nhập dựa trên phương pháp SVM kết hợp giải thuật đồng huấn luyện và các kết quả thực tế rút ra được khi áp dụng vào tập dữ liệu KDD 99. Chương 4: Kết luận: Tổng kết lại toàn bộ những vấn đề đã thực hiện được trong đồ án này. Dựa trên những kết quả thu được để từ đó nêu ra những hướng nghiên cứu và phát triển trong tương lai nhằm cải thiện hiệu quả của phương pháp được nghiên cứu.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGHIÊN CỨU THUẬT TOÁN SVM KẾT HỢP ĐỒNG HUẤN LUYỆN VÀ ỨNG DỤNG
Trang 2Hà Nội, tháng 12 /2012
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGHIÊN CỨU THUẬT TOÁN SVM KẾT HỢP ĐỒNG HUẤN LUYỆN VÀ ỨNG DỤNG
Trang 3MỞ ĐẦU
Với sự phát triển mạnh mẽ trong lĩnh vực khoa học và công nghệ, Internet đang dần đi sâu hơn vào đời sống văn hóa, xã hội của con người, đã và đang mang lại nhiều lợi ích trong nhiều lĩnh vực của cuộc sống Nó đang dần trở thành một thành phần quan trọng không thể tách rời của xã hội thông tin hiện đại Ưu điểm của Internet so với các phương tiện trao đổi thông tin khác là sự đa dạng về các kiểu dữ liệu như: dữ liệu âm thanh, hình ảnh, văn bản và video và sự phong phú về nguồn dữ liệu Các ứng dụng, phần mềm trợ giúp cho con người không ngừng phát triển và cải tiến Từ đó, con người có thể tự động hóa nhiều khâu góp phần giảm sức lực lao động thủ công, cơ chế làm việc nhanh gọn hơn Tuy nhiên, Internet cũng có hai mặt của nó Đi cùng với những ưu điểm là những nhược điểm không thể tránh khỏi, làm tăng nguy cơ người dùng phải đối mặt với những nguy hiểm do chính con người tạo ra với mục đích xấu
Với sự đầy đủ và tiện dụng của Internet, nó đã bị những người có ý định xấu sử dụng với mục đích tấn công, xâm nhập tài nguyên mạng trái phép, nhằm vụ lợi cho bản thân Trong hệ thống mạng, các máy chủ thường là mục tiêu chính của các cuộc tấn công Kẻ xấu có thể xâm nhập hệ thống trái phép, cài đặt thêm các phần mềm gián điệp, làm tê liệt hệ thống hoặc chiếm quyền điều khiển hệ thống Các gói tin trao đổi trên đường truyền cũng có thể bị giả mạo, bị nghe trộm hoặc thay đổi gói tin Những hành vi trên có thể gây ra những hậu quả vô cùng to lớn, ảnh hưởng đến các cá nhân hoặc các tổ chức có liên quan Do đó, việc nghiên cứu phát triển các phương pháp phòng chống xâm nhập mạng hiệu quả là rất cần thiết hiện nay
Hiện nay đã có một số phương pháp phát hiện đột nhập mạng được nghiên cứu và phát triển Đồ án này trình bày một phương pháp tiếp cận cho việc xây dựng một mô hình phát hiện đột nhập dựa trên máy vec-tơ hỗ trợ kết hợp với giải thuật đồng huấn luyện, với mong muốn nâng cao khả năng phát hiện các cuộc tấn công đột nhập mạng
Đồ án gồm có bốn chương được tổ chức như sau:
Chương 1: Tổng quan về phát hiện đột nhập: Trình bày khái quát về các yêu cầu đảm
bảo an toàn cho hệ thống máy tính và mạng, các phương pháp tấn công hệ thống và tổng quan
về hệ thống phát hiện đột nhập cũng như các kỹ thuật xử lý dữ liệu trong phát hiện đột nhập Nội dung cuối của chương mô tả cách tiếp cận của phương pháp SVM kết hợp giải thuật đồng huấn luyện vào lĩnh vực phát hiện đột nhập
Chương 2: Cơ sở lý thuyết của phương pháp SVM và đồng huấn luyện: Trình bày về
cơ sở lý thuyết được nghiên cứu sử dụng trong phương pháp, bao gồm cơ sở lý thuyết về phương pháp phân loại dựa trên máy vec-tơ hỗ trợ và nội dung cơ bản của giải thuật đồng huấn luyện
Chương 3: Xây dựng mô hình phát hiện đột nhập: Nội dung của chương tập trung trình
bày quá trình xây dựng mô hình phát hiện đột nhập dựa trên phương pháp SVM kết hợp giải thuật đồng huấn luyện và các kết quả thực tế rút ra được khi áp dụng vào tập dữ liệu KDD 99
Chương 4: Kết luận: Tổng kết lại toàn bộ những vấn đề đã thực hiện được trong đồ án
này Dựa trên những kết quả thu được để từ đó nêu ra những hướng nghiên cứu và phát triển trong tương lai nhằm cải thiện hiệu quả của phương pháp được nghiên cứu
Trang 4Do còn hạn chế về mặt kiến thức và thời gian, đồ án không tránh khỏi những thiếu sót Vì vậy em mong nhận được những ý kiến đóng góp của các thầy cô giáo và các bạn sinh viên để
em có thể nâng cao kiến thức của mình hơn nhằm phục vụ cho những nghiên cứu sau này
Trang 5LỜI CẢM ƠN
Đầu tiên em xin gửi lời biết ơn sâu sắc nhất tới Thầy giáo, Tiến sĩ Hoàng Xuân Dậu, người thầy đã tận tình chỉ bảo, định hướng cho em trong suốt quá trình thực hiện đồ án vừa qua, đồng thời giúp em tiếp cận được nhiều phương pháp tư duy và nghiên cứu khoa học mới
Em xin gửi lời cảm ơn chân thành tới tất cả các thầy cô giáo trong khoa Công nghệ thông tin cùng các thầy cô giáo trong khoa Cơ bản – Học viện Công nghệ Bưu chính Viễn thông đã tận tình giúp đỡ, dạy dỗ và động viên em trong suốt quá trình học tập và nghiên cứu tại trường
Em xin gửi lời cảm ơn sâu sắc và chân thành nhất đến gia đình, bạn bè đã tận tình giúp
đỡ, động viên và đóng góp những ý kiến quý báu giúp em hoàn thiện được đồ án này
Xin chân thành cảm ơn!
Hà Nội, tháng 12 năm 2012
Sinh viên thực hiện
Hoàng Minh
Trang 6NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của Người hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Điểm: ……….………(bằng chữ: … ……… ….)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
Hà Nội, ngày tháng 12 năm 2012
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)
Trang 7NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của Người phản biện)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Điểm: ……….………(bằng chữ: … ……… ….)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
Hà Nội, ngày tháng 12 năm 2012
CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN
(ký, họ tên)
Trang 8MỤC LỤC
MỞ ĐẦU 3
LỜI CẢM ƠN 5
MỤC LỤC 8
DANH MỤC CÁC HÌNH VẼ 10
DANH MỤC CÁC BẢNG, BIỂU ĐỒ 11
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT 12
CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP 13
1.1 TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP 13
1.1.1 Các yêu cầu an toàn hệ thống máy tính và mạng 13
1.1.2 Các phương pháp tấn công hệ thống 13
1.1.3 Hệ thống phát hiện xâm nhập 18
1.1.4 Các phương pháp phát hiện xâm nhập 19
1.2 CÁC KỸ THUẬT XỬ LÝ DỮ LIỆU TRONG PHÁT HIỆN ĐỘT NHẬP 24
1.2.1 Phân tích thống kê 24
1.2.2 Phân biệt ý định người dùng 24
1.2.3 Phát hiện xâm nhập dựa trên luật 24
1.2.4 Phân tích trạng thái phiên 25
1.2.5 Hệ thống chuyên gia 25
1.2.6 Kỹ thuật mạng nơ-ron 25
1.2.7 Phương pháp Colored Petri Nets 25
1.2.8 Phương pháp loại suy miễn dịch máy tính 25
1.2.9 Học máy 25
1.3 MÔ TẢ BÀI TOÁN ĐỀ XUẤT TRONG ĐỒ ÁN 26
1.4 KẾT CHƯƠNG 27
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA PHƯƠNG PHÁP SVM VÀ ĐỒNG HUẤN LUYỆN 28
2.1 TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI 28
2.1.1 Khái niệm về phân lớp 28
2.1.2 Giới thiệu về học có giám sát, học không giám sát và học bán giám sát 28
2.1.3 Một số phương pháp phân lớp cơ bản 30
2.2 CƠ SỞ LÝ THUYẾT VỀ PHƯƠNG PHÁP SVM 32
2.2.1 Tổng quan về SVM 32
2.2.2 Phân lớp tuyến tính 34
2.2.3 Phân lớp tuyến tính với trường hợp không phân tách được 38
2.2.4 Phân lớp phi tuyến tính 41
2.3 GIỚI THIỆU VỀ GIẢI THUẬT ĐỒNG HUẤN LUYỆN 44
2.3.1 Thuật toán đồng huấn luyện 44
2.3.2 Quy trình thực hiện thuật toán đồng huấn luyện 45
2.4 KẾT HỢP SVM VÀ ĐỒNG HUẤN LUYỆN VÀO BÀI TOÁN PHÁT HIỆN ĐỘT NHẬP 45
2.5 KẾT CHƯƠNG 46
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP 47
3.1 XÂY DỰNG MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP 47
3.1.1 Tiền xử lý dữ liệu 48
3.1.2 Tách các đặc trưng riêng biệt 48
3.1.3 Huấn luyện xây dựng mô hình 48
Trang 93.1.4 Kiểm thử mô hình 48
3.2 CÀI ĐẶT MÔ HÌNH 49
3.2.1 Tập dữ liệu thử nghiệm 49
3.2.2 Cài đặt mô hình 53
3.3 KẾT QUẢ THỰC NGHIỆM 54
3.3.1.Thực nghiệm quan sát tính chính xác trong phân loại 54
3.3.2.Thực nghiệm quan sát sự phụ thuộc của độ chính xác vào tập dữ liệu huấn luyện đã gán nhãn 57
3.4 KẾT CHƯƠNG 58
CHƯƠNG 4: KẾT LUẬN 59
4.1 KẾT QUẢ ĐẠT ĐƯỢC 59
4.2 HƯỚNG NGHIÊN CỨU TRONG TƯƠNG LAI 59
DANH MỤC TÀI LIỆU THAM KHẢO 60
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Tấn công gián đoạn 16
Hình 1.2 Tấn công thay đổi 17
Hình 1.3 Tấn công giả mạo 17
Hình 1.4 Tấn công nghe trộm 17
Hình 1.5 Tấn công từ chối dịch vụ 18
Hình 1.6 Sơ đồ chức năng của hệ thống phát hiện xâm nhập 19
Hình 1.7 Mô hình Network – Based IDS 20
Hình 1.8 Mô hình Host Based IDS 22
Hình 1.9 Mô hình phát hiện mẫu sai (Misuse Detection) 23
Hình 1.10 Mô hình phát hiện sự không bình thường (Anomaly Detection) 24
Hình 2.1 Minh họa các biên của một bài toán phân lớp 33
Hình 2.2 Minh họa biên cực đại của bài toán phân lớp 33
Hình 2.3 Mặt phẳng phân tách theo các giá trị vector pháp tuyến và ngưỡng 34
Hình 2.4 Minh họa độ rộng của biên 35
Hình 2.5 Minh họa đường viền của biên 35
Hình 2.6 Ví dụ bài toán phân loại tuyến tính không tách biệt 38
Hình 2.7 Các điểm lỗi của dữ liệu 39
Hình 2.8 Ảnh hưởng của tham số C đến bài toán phân lớp 39
Hình 2.9 Chuyển đổi không gian biểu diễn 41
Hình 2.10 Không gian đầu vào 42
Hình 2.11 Không gian đặc trưng 42
Hình 2.12 Minh họa hàm nhân đa thức 43
Hình 2.13 Sơ đồ biểu diễn quy trình thuật toán đồng huấn luyện 45
Hình 2.14 Sơ đồ thiết lập thuật toán đồng huấn luyện 45
Hình 2.15 Mô tả thuật toán SVM kết hợp đồng huấn luyện 46
Hình 3.1 Mô hình phát hiện đột nhập 47
Trang 11DANH MỤC CÁC BẢNG, BIỂU ĐỒ
Bảng 3.1 Các kiểu tấn công và lớp tấn công của tập dữ liệu KDD Cup 99 50
Bảng 3.2 Các thuộc tính của tập dữ liệu KDD Cup 99 51
Bảng 3.3 Các giá trị của thuộc tính chuyển đổi sang dạng số 52
Bảng 3.4 Các thông số dự đoán độ chính xác 53
Bảng 3.5 Độ chính xác với 5% dữ liệu kiểm thử của tập 62206 bản ghi 54
Bảng 3.6 Độ chính xác với 20% dữ liệu kiểm thử của tập 62206 bản ghi 55
Bảng 3.7 Độ chính xác với 40% dữ liệu kiểm thử của tập 62206 bản ghi 55
Bảng 3.8 Độ chính xác với 5% dữ liệu kiểm thử của tập 93309 bản ghi 56
Bảng 3.9 Độ chính xác với 20% dữ liệu kiểm thử của tập 93309 bản ghi 56
Bảng 3.10 Độ chính xác với 40% dữ liệu kiểm thử của tập 93309 bản ghi 56
Bảng 3.11 Độ chính xác của hai thuật toán với 5% dữ liệu đã gán nhãn 57
Bảng 3.12 Độ chính xác của hai thuật toán với 20% dữ liệu đã gán nhãn 57
Bảng 3.13 Độ chính xác của hai thuật toán với 40% dữ liệu đã gán nhãn 58
Biểu Đồ 3.1 Độ chính xác của hai thuật toán trên tập 62206 bản ghi 55
Biểu Đồ 3.2 Độ chính xác của hai thuật toán trên tập 93309 bản ghi 57
Biểu Đồ 3.3 Sự phụ thuộc của độ chính xác vào tập dữ liệu mẫu đã gán nhãn 58
Trang 12KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
SVM : Support Vector Machine Máy vectơ hỗ trợ
IDS : Intrusion Detection System Hệ thống phát hiện đột nhập
HIDS: Host Based IDS Hệ thống phát hiện đột nhập cục bộ NIDS: Network Based IDS Hệ thống phát hiện đột nhập theo mạng KDD: Knowledge Discovery and Data Mining Khám phá tri thức và khai phá dữ liệu
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP
1.1 TỔNG QUAN VỀ PHÁT HIỆN ĐỘT NHẬP
1.1.1 Các yêu cầu an toàn hệ thống máy tính và mạng
Các hệ thống máy tính và mạng cần được đảm bảo các yêu cầu an toàn sau:
Tính xác thực (Authentication): là một hành động nhằm xác nhận hay chứng thực một người nào đó, một tài khoản nào đó hoặc một cái gì đó đáng tin cậy, nghĩa là những thông tin, những khai báo do người đó đưa ra hoặc về cái đó là
sự thật và hợp lệ Từ đó hệ thống đưa ra quyết định cho phép người dùng truy cập vào tài nguyên của hệ thống hay không
Tính phân quyền (Authorization): là quá trình xác định quyền mà người dùng
sẽ được thực hiện sau khi xác thực và đăng nhập vào hệ thống Mỗi loại tài khoản trong hệ thống sẽ có quyền khác nhau với hệ thống đó Tính phân quyền nhằm ngăn chặn những hành động trái phép vượt quá quyền hạn có thể làm hệ thống hoạt động thiếu ổn định hoặc gặp sự cố
Tình khả dụng (Availability): là khả năng thực hiện các chức năng yêu cầu tại thời điểm quy định hoặc tại thời điểm bất kỳ trong khoảng thời gian quy định với giả thiết là các điều kiện hoạt động được đáp ứng theo yêu cầu
Tính bí mật (Confidentiality) : là tính đảm bảo bí mật thông tin riêng tư của cá nhân thuộc hệ thống, để chỉ những người được cấp phép mới có thể đọc được những thông tin đó
Tính toàn vẹn dữ liệu (Data Integrity): là tính chính xác và đáng tin cậy của dữ liệu trong cơ sở dữ liệu của hệ thống Dữ liệu hay thông tin phải không bị thay đổi và mất mát trong khi lưu trữ hay truyền tải Bất kì sự thay đổi trái phép nào dẫn tới thông tin có thể bị sai lệch sẽ phải được phát hiện và ngăn chặn
Tính không từ chối (Non – repudiation) : là tính chống lại việc phủ nhận đã thực hiện hành động nào đó trong quá khứ của thành viên tham gia trao đổi liên lạc trên hệ thống Người gửi một tập tin hay thông tin trên hệ thống không thể chối bỏ việc mình đã gửi nội dung như vậy và người nhận cũng không thể phủ nhận việc mình chưa nhận được thông tin đó
1.1.2 Các phương pháp tấn công hệ thống
Tấn công hay đột nhập vào một hệ thống chính là sự vi phạm chính sách an toàn bảo mật của hệ thống đó Việc đột nhập mạng có thể được kẻ xấu thực hiện theo nhiều cách khác nhau, tuy nhiên các phương pháp đột nhập có thể được phân chia thành hai loại chính, đó là:
Tấn công bằng phần mềm phá hoại
Tấn công vào các tài nguyên mạng
Trang 141.1.2.1 Tấn công bằng phần mềm phá hoại
Phần mềm phá hoại là những phần mềm được xây dựng bởi kẻ xấu nhằm mục đích tấn công gây tổn thất thông tin hay chiếm đoạt tài nguyên một cách bất hợp pháp Những phần mềm này thường ngụy trang là phần mềm hợp pháp nhằm che mắt người dùng, hoặc được cài
bí mật vào máy người dùng theo một cách nào đó Phần mềm phá hoại cũng được chia ra thành hai loại là phần mềm phá hoại phụ thuộc vào chương trình chủ và phần mềm phá hoại độc lập với chương trình chủ
Phần mềm phá hoại độc lập với chương trình chủ bao gồm:
Worm:
Chương trình tự nhân bản trên đĩa cứng, bộ nhớ của máy tính và qua mạng và vì thế chiếm dụng tài nguyên máy tính Worm khác với virus là không có mục đính “bỏ bom” hay mục đích khác ngoài việc nhân bản Một số worm có khả năng tự lây lan sang máy tính khác qua e-mail
Sâu máy tính ban đầu ( có thể là một tai nạn ngẫu nhiên ) bị phát tán trên mạng Internet do Robert Tappan Morris vào năm 1988 Sâu Internet dùng gửi thư và tự nó phát tán trên mạng Internet Sâu SQL Slammer Worm , năm 2003 , sử dụng lỗ hổng không được bảo vệ trong Microsoft SQL Server 2000 để tự phát tán qua Internet Sâu Blaster , năm 2003 , dùng kẽ hở trong Microsoft DCOM RPC để tự phát tán
Sâu Melissa trong năm 1999 , sâu Sobig năm 2003 và Mydoom năm 2004 tất cả tự phát tán qua Email Những sâu này tương tự một vài đặc điểm của Trojan Horse , trong
đó chúng phát tán bằng cách thu hút sự tò mò của người dùng để mở những thư điện tử bị lây nhiễm đính kèm
Sâu Mydoom cũng cố gắng tự phát tán thông qua ứng dụng chia xẻ File Peer-to-Peer của KaZaA Sâu này cũng tấn công Từ chối Dịch vụ ( DoS – Denial of Service ) chống lại SCO và Microsoft
Zombie:
Chương trình bí mật khống chế một máy tính kết nối Internet khác, sau đó dùng máy tính này để bắt đầu những cuộc tấn công mà người ta không thể lần ra được dấu vết của người đã tạo ra zombie này
Thông thường zombie được sử dụng để khởi động tấn công từ chối các dịch vụ phân tán (DDOS) Nó có thể sử dụng hàng trăm hoặc hàng nghìn máy tính bị lây nhiễn để làm tràn ngập việc di chuyển thông tin trên Internet
Phần mềm phá hoại phụ thuộc vào chương trình chủ bao gồm:
Trojan Horse:
Là những chương trình được ngụy trang bằng vẻ ngoài vô hại nhưng ẩn chứa bên trong những đoạn mã nguy hiểm nhằm đánh cắp thông tin cá nhân, mở các cổng để hacker xâm nhập, biến máy tính bị nhiễm thành nguồn phát tán thư rác hoặc trở thành công cụ tấn công một website nào đó, chẳng hạn như W32.Mimic Không như virus và worm, Trojan horse không có khả năng tự nhân bản để lây lan, vì vậy chúng thường kết hợp với virus, worm để xâm nhập vào máy tính người dùng
Trang 15Phương pháp chung để phát tán Trojan Horse là gửi nó đi kèm với Email Kẻ tấn công
sẽ gửi cho nạn nhân với File đính kèm một cái gì đó đại loại như “Prettygirls.exe” ,
“sexy.exe “ Khi nạn nhân mở File đính kèm này thì sẽ nhìn thấy cô gái đẹp và lúc đó Trojan Horse đã lây nhiễm vào hệ thống máy tính đó
Tương tự như kỹ thuật đó để phát tán Trojan Horse là gửi File tới những người dùng
cả tin qua hệ thống Chat như : IRC , AIM , ICQ , MSN hoặc Yahoo Messenger
Logic Bomb:
Bom Logic là một chương trình hoặc một phần của chương trình mà nằm yên cho tới khi một đoạn chương trình nào đó của Logic chương trình được kích hoạt Bằng cách này
nó giống như là một quả mìn mằn trên mặt đất
Phương pháp chung để kích hoạt bom Logic chính là ngày tháng Bom Logic kiểm tra ngày hệ thống và không làm gì cho tới khi một ngày đã được lập trình trước , đúng ngày đó thì bom Logic được kích hoạt và thực hiện đoạn mã của nó
Bom Logic cũng có thể được lập trình để chờ một thông điệp nào đó từ người lập trình Ví dụ với loại bom Logic này , nó sẽ kiểm tra Website một tuần một lần và tới khi gặp một thông điệp nào đó hoặc khi bom Logic không nhìn thấy thông điệp thì khi đó nó
sẽ kích hoạt để thực hiện đoạn mã của nó
Bom Logic cũng có thể được lập trình để kích hoạt theo nhiều cách khác nhau như khi File cơ sở dữ liệu tăng đến một kích thước nào đó hoặc thu mục người dùng bị xoá Điều nguy hiểm của bom Logic là nó kích hoạt không biết lúc nào và với điều kiện nào thì
nó kích hoạt Bom Logic không có khả năng tự tái tạo , nó rất dễ để viết chương trình Bom Logic điều đó có nghĩa là bom Logic sẽ không phát tán để xác định nạn nhân Có một vài cách bom Logic là được dùng với mục đích đe dọa ai đó bởi vì nó có thể nhắm tới một nạn nhân có chủ định
Bom Logic ban đầu được sử dụng để đảm bảo sự thanh toán một phần mềm Nếu sự thanh toán không được thực hiện ở một ngày xác định thì bom Logic tự động kích hoạt và
tự động xoá phần mềm Nhiều dạng chương trình độc hại của bom Logic sẽ xoá những dữ liệu khác trên máy tính
BackDoor:
Backdoor đơn giản là mã độc mở cổng (port) trên máy tính để gửi thông tin trên máy
ăn cắp được tới server hacker chỉ định hoặc phục vụ cho botnet tấn công từ chối dịch vụ các website trên diện rộng Khi đã nhiễm backdoor rồi thì máy sẽ bị hacker kiểm soát phục vụ mục đích xấu
Trang 16W97M.Groov ) lây nhiễm vào tập tin trong MS Office Ngoài ra, còn một số loại virus khác như virus lưỡng tính (kết hợp giữa boot virus và file virus), master boot record virus
1.1.2.2 Tấn công vào các tài nguyên mạng
Tấn công vào các tài nguyên mạng có thể chia thành các loại chính như sau:
Tấn công gián đoạn:
Tấn công lên tính khả dụng của hệ thống Đây là hình thức tấn công làm ngắt kết nối giữa hai trạm trên mạng, vì thế dễ phát hiện kiểu tấn công này
Hình 1.1 Tấn công gián đoạn
Hai chương trình thường được dùng cho phương pháp này là chương trình Sendmail
và Rlogin của hệ thống Unix
Tấn công thay đổi
Kiểu tấn công nhằm vào tính toàn vẹn của hệ thống, khi kẻ đột nhập chèn một kết nối giữa hai máy trong mạng, bắt giữ gói tin và thay đổi nội dung gói tin theo mục đích của chúng Tuy tham gia vào quá trình trao đổi gói tin nhưng rất khó cho các bên tham gia phát hiện ra sự can thiệp của kẻ đột nhập Tấn công kiểu người đứng giữa (Man – In – The – Middle) là điển hình cho trường hợp này Tấn công kiểu người đứng giữa hoạt động bằng cách thiết lập các kết nối đến máy tính nạn nhân và relay các message giữa chúng Trong trường hợp bị tấn công, nạn nhân cứ tin tưởng là họ đang truyền thông một cách trực tiếp với nạn nhân kia, trong khi đó sự thực thì các luồng truyền thông lại bị thông qua host của kẻ tấn công Và kết quả là các host này không chỉ có thể thông dịch dữ liệu nhạy cảm mà nó còn có thể gửi xen vào cũng như thay đổi luồng dữ liệu để kiểm soát sâu hơn những nạn nhân của nó
Trang 17Hình 1.2 Tấn công thay đổi
Tấn công giả mạo
Đây là hình thức tấn công vào tính xác thực của hệ thống Kẻ xâm nhập giả mạo người dùng để thực hiện trao đổi thông tin với máy tính khác để khai thác thông tin, chiếm quyền điều khiển của máy đó.Việc này có thể thực hiện thông qua việc dẫn đường trực tiếp.Với các tấn công này , các hacker sẽ gởi các gói tin IP tới mạng bên trong với một địa chỉ IP giả (Thông thường là IP của một mạng hoặc một máy tính được coi là an toàn đối với mạng bên trong) ,đồng thời chỉ rõ đường dẫn má các gói tin IP phải gửi đi
Hình 1.3 Tấn công giả mạo
Tấn công nghe trộm
Đây là hình thức tấn công lên tính bảo mật của hệ thống, nhằm xem trộm thông tin giao dịch giữa hai thực thể trên mạng hoặc thực hiện các phân tích mạng, vì thế nó khó bị phát hiện.Việc nghe trộm thông tin trên mạng có thể đem lại những thông tin có ích như tên, mật khẩu của người sử dụng, các thông tin chuyển qua mạng…Việc nghe trộm thường được các hacker tiến hành sau khi chiếm được quyền truy cập hệ thống thông qua các chương trình cho phép đưa giao tiếp mạng (NIC – Network Interface Card) vào chế độ nhận toàn thông tin lưu truyền trên mạng Những thông tin này cũng có thể lấy được trên Internet
Hình 1.4 Tấn công nghe trộm
Tấn công từ chối dịch vụ
Là kiểu tấn công rất lợi hại Với loại tấn công này, bạn chỉ cần một máy tính kết nối Internet là đã có thể thực hiện việc tấn công được máy tính của đối phương Thực chất của DoS là hacker sẽ chiếm dụng một lượng lớn tài nguyên trên server ( tài nguyên đó có thể
là băng thông, bộ nhớ, CPU, đĩa cứng ) làm cho server không thể nào đáp ứng các yêu cầu từ các máy của nguời khác (máy của những người dùng bình thường) và server có thể nhanh chóng bị ngừng hoạt động, crash hoặc reboot
Trang 18Hình 1.5 Tấn công từ chối dịch vụ
1.1.3 Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS) là một hệ thống có nhiệm vụ phát hiện ra các cuộc xâm nhập, bảo vệ an toàn thông tin mạng ở một mức độ cao hơn Hệ thống này bao gồm việc giám sát, phân tích các hành động của người dùng và của hệ thống, quản lý quyền truy cập hệ thống, dự đoán được các hành vi tấn công, ghi lại các hành
vi vi phạm của người dùng IDS cũng có thể phân biệt giữa các cuộc tấn công từ bên trong hay tấn công từ bên ngoài Nó phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết hoặc so sánh lưu thông mạng hiện tại với thông số đo đạc chuẩn của hệ thống để tìm ra các dấu hiệu khác thường
Các chức năng của hệ thống phát hiện xâm nhập:
- Chức năng quan trọng nhất là: giám sát – cảnh báo – bảo vệ
Giám sát: lưu lượng mạng và các hoạt động khả nghi
Cảnh báo: báo cáo về tình trạng mạng cho hệ thống và nhà quản trị
Bảo vệ: Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại
- Chức năng mở rộng:
Phân biệt: tấn công bên trong và tấn công bên ngoài
Phát hiện: những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so sánh thông lượng mạng hiện tại với baseline
- Ngăn chặn sự gia tăng của những tấn công
- Bổ sung những điểm yếu mà các hệ thống khác chưa làm được
- Đánh giá chất lượng của việc thiết kế hệ thống
Trang 19Hình 1.6 Sơ đồ chức năng của hệ thống phát hiện xâm nhập
1.1.4 Các phương pháp phát hiện xâm nhập
Có hai cách phân loại các hệ thống phát hiện xâm nhập:
Phân loại phát hiện xâm nhập dựa trên nguồn dữ liệu
Phân loại phát hiện xâm nhập dựa trên kỹ thuật phân tích dữ liệu
1.1.4.1 Phân loại phát hiện xâm nhập dựa trên nguồn dữ liệu
Dựa trên nguồn dữ liệu có hai loại hệ thống phát hiện xâm nhập: Network Based IDS
và Host Based IDS
1.1.4.1.1 Network Based IDS
Đây là hệ thống được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám sát toàn bộ lưu lượng vào ra Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian thực (real-time) Nó kiểm tra các giao tiếp, quét header của các gói tin, và
có thể kiểm tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn công khác nhau Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based) của tấn công Denied of Service (DoS)
Nó có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính, chủ yếu dùng để đo lưu lượng mạng được sử dụng.Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao
VD: Cisco IDS, Dragon IDS/IPS…
Trang 20Hình 1.7 Mô hình Network – Based IDS Lợi thế của Network-Based IDS:
- Quản lý được cả một network segment (gồm nhiều host)
- "Trong suốt" với người sử dụng lẫn kẻ tấn công
- Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
- Tránh DOS ảnh hưởng tới một host nào đó
- Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI)
- Độc lập với hệ điều hành
Hạn chế của Network-Based IDS:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có đột nhập mà NIDS báo có đột nhập
- Không thể phân tích các traffic đã được mã hóa (vd: SSL, SSH, IPSec…)
- NIDS đòi hỏi phải được cập nhật các chữ ký( signature) mới nhất để thực sự an toàn
- Có độ trễ giữa thời điểm bị tấn công với thời điểm phát báo động Khi báo động được phát ra, hệ thống có thể đã bị tổn hại
- Không cho biết việc tấn công có thành công hay không
Một trong những hạn chế là giới hạn băng thông Những bộ dò mạng phải nhận tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó cũng như phân tích chúng Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng vậy Một giải pháp là bảo đảm cho mạng được thiết kế chính xác để cho phép sự sắp đặt của nhiều đầu dò Khi mà mạng phát triển, thì càng nhiều đầu dò được lắp thêm vào để bảo đảm truyền thông và bảo mật tốt nhất
Một cách mà các kẻ xâm nhập cố gắng nhằm che đậy cho hoạt động của họ khi gặp hệ thống IDS dựa trên mạng là phân mảnh những gói thông tin của họ Mỗi giao thức có một kích cỡ gói dữ liệu giới hạn, nếu dữ liệu truyền qua mạng lớn hơn kích cỡ này thì gói dữ liệu
đó sẽ được phân mảnh Phân mảnh đơn giản chỉ là quá trình chia nhỏ dữ liệu ra những mẫu nhỏ Thứ tự của việc sắp xếp lại không thành vấn đề miễn là không xuất hiện hiện tượng chồng chéo Nếu có hiện tượng phân mảnh chồng chéo, bộ cảm biến phải biết quá trình tái hợp lại cho đúng Nhiều hacker cố gắng ngăn chặn phát hiện bằng cách gởi nhiều gói dữ liệu phân mảnh chồng chéo Một bộ cảm biến sẽ không phát hiện các hoạt động xâm nhập nếu bộ cảm biến không thể sắp xếp lại những gói thông tin một cách chính xác
Trang 211.1.4.1.2 Host Based IDS
Hệ thống này được cài đặt cục bộ trên một máy tính làm cho nó trở nên linh hoạt hơn nhiều so với NIDS HIDS là thiết bị bảo mật cho phát hiện các tấn công trực tiếp tới một máy chủ, kiểm soát lưu lượng vào ra trên một máy tính, có thể được triển khai trên nhiều máy tính trong hệ thống mạng Một HIDS chỉ làm nhiệm vụ giám sát và ghi lại log cho một máy chủ (host-system) Đây là dạng IDS với giới hạn chỉ giám sát và ghi lại toàn bộ những khả năng của host-system (nó bao gồm cả hệ điều hành và các ứng dụng cũng như toàn bộ service của máy chủ đó) HIDS có khả năng phát hiện các vấn đề nếu các thông tin về máy chủ đó được giám sát và ghi lại HIDS có thể được cài đặt trên nhiều dạng máy tính khác nhau cụ thể như các máy chủ, máy trạm, máy tính xách tay HIDS cho phép bạn thực hiện một cách linh hoạt trong các đoạn mạng mà NIDS không thể thực hiện được Lưu lượng đã gửi tới máy tính HIDS được phân tích và chuyển qua nếu chúng không chứa mã nguy hiểm
Không phải tất cả các cuộc tấn công được thực hiện qua mạng Bằng cách giành quyền truy cập ở mức vật lý (physical access) vào một hệ thống máy tính, kẻ xâm nhập có thể tấn công một hệ thống hay dữ liệu mà không cần phải tạo ra bất cứ lưu lượng mạng (network traffic) nào cả Hệ thống dựa trên máy chủ có thể phát hiện các cuộc tấn công mà không đi qua đường công cộng hay mạng được theo dõi, hay thực hiện từ cổng điều khiển (console), nhưng với một kẻ xâm nhập có hiểu biết, có kiến thức về hệ IDS thì hắn có thể nhanh chóng tắt tất cả các phần mềm phát hiện khi đã có quyền truy cập vật lý
Một ưu điểm khác của IDS dựa trên máy chủ là nó có thể ngăn chặn các kiểu tấn công dùng sự phân mảnh hoặc TTL Vì một host phải nhận và tái hợp các phân mảnh khi xử lí lưu lượng nên IDS dựa trên host có thể giám sát chuyện này
HIDS thường được cài đặt trên một máy tính nhất định Thay vì giám sát hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một máy tính HIDS thường được đặt trên các host xung yếu của tổ chức, và các server trong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên Nhiêm vụ chính của HIDS là giám sát các thay đổi trên hệ thống, bao gồm:
Trang 22Hình 1.8 Mô hình Host Based IDS Lợi thế của HIDS:
- Có khả năng xác định người sử dụng liên quan tới một sự kiện (event)
- HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy, NIDS không có khả năng này
- Có thể phân tích các dữ liệu mã hoá
- Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này
Hạn chế của HIDS:
- Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công
- Khi OS bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ"
- HIDS phải được thiết lập trên từng host cần giám sát
- HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…)
- HIDS cần tài nguyên trên host để hoạt động
- HIDS có thể không hiệu quả khi bị DOS
- Đa số chạy trên hệ điều hành Windows Tuy nhiên cũng đã có 1 số chạy được trên UNIX và những hệ điều hành khác
Vì hệ thống IDS dựa trên máy chủ đòi hỏi phần mềm IDS phải được cài đặt trên tất cả các máy chủ nên đây có thể là cơn ác mộng của những nhà quản trị khi nâng cấp phiên bản, bảo trì phần mềm, và cấu hình phần mềm trở thành công việc tốn nhiều thời gian và là những việc làm phức tạp Bởi vì hệ thống dựa trên máy chủ chỉ phân tích những lưu lượng được máy chủ nhận được, chúng không thể phát hiện những tấn công thăm dò thông thường được thực hiện nhằm chống lại một máy chủ hay là một nhóm máy chủ Hệ thống IDS dựa trên máy chủ
sẽ không phát hiện được những chức năng quét ping hay dò cổng (ping sweep and port scans) trên nhiều máy chủ Nếu máy chủ bị thỏa hiệp thì kẻ xâm nhập hoàn toàn có thể tắt phần mềm IDS hay tắt kết nối của máy chủ đó Một khi điều này xảy ra thì các máy chủ sẽ không thể tạo
ra được cảnh báo nào cả
Phần mềm IDS phải được cài đặt trên mỗi hệ thống trên mạng nhằm cung cấp đầy đủ khả năng cảnh báo của mạng Trong một môi trường hỗn tạp, điều này có thể là một vấn đề
Trang 23bởi vì phần mềm IDS phải tương ứng nhiều hệ điều hành khác nhau Do đó trước khi chọn một hệ thống IDS, chúng ta phải chắc là nó phù hợp và chạy được trên tất cả các hệ điều hành
1.1.4.2 Phân loại phát hiện xâm nhập dựa trên kỹ thuật phân tích dữ liệu
Dựa trên kỹ thuật phân tích dữ liệu có hai phương pháp chính là phát hiện mẫu sai (Misuse Detection) và phát hiện sự không bình thường (Anomaly Detection)
1.1.4.2.1 Misuse Detection
Phương pháp này phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước Các mẫu tấn công biết trước này gọi là các dấu hiệu tấn công Do vậy phương pháp này còn được gọi là phương pháp dò dấu hiệu (Signature Detection) Kiểu phát hiện tấn công này có ưu điểm là phát hiện các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khả năng họat động của mạng và giúp các người quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình Tuy nhiên, phương pháp này có nhược điểm là không phát hiện được các các cuộc tấn công không có trong mẫu, các kiểu tấn công mới, do vậy hệ thống luôn phải cập nhật các mẫu tấn công mới
Hình 1.9 Mô hình phát hiện mẫu sai (Misuse Detection)
1.1.4.2.2 Anomaly Detection
Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động không bình thường của mạng Quan niệm của phương pháp này về các cuộc tấn công là khác so với các hoạt động thông thường Ban đầu, chúng lưu trữ các mô tả về các hoạt động bình thường của hệ thống Các cuộc tấn công sẽ có những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng
Trang 24Hình 1.10 Mô hình phát hiện sự không bình thường (Anomaly Detection)
1.2 CÁC KỸ THUẬT XỬ LÝ DỮ LIỆU TRONG PHÁT HIỆN ĐỘT NHẬP
1.2.1 Phân tích thống kê
Đây là phương pháp thường được sử dụng Hành vi người dùng hay hệ thống (tập các thuộc tính) được tính theo một số biến thời gian Ví dụ, các biến như là: đăng nhập người dùng, đăng xuất, số tập tin truy nhập trong một khoảng thời gian, hiệu suất sử dụng không gian đĩa, bộ nhớ, CPU,… Chu kỳ nâng cấp có thể thay đổi từ một vài phút đến một tháng Hệ thống lưu giá trị có nghĩa cho mỗi biến được sử dụng để phát hiện sự vượt quá ngưỡng được định nghĩa từ trước
Phương pháp này sử dụng thông tin người dùng ngắn hạn hoặc dài hạn Các thông tin này thường xuyên được nâng cấp để bắt kịp với thay đổi trong hành vi người dùng Các phương pháp thống kê thường được sử dụng trong việc bổ sung trong IDS dựa trên thông tin hành vi người dùng thông thường
1.2.2 Phân biệt ý định người dùng
Kỹ thuật này mô hình hóa các hành vi thông thường của người dùng bằng một tập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ thống (liên quan đến chức năng người dùng) Các nhiệm vụ đó thường cần đến một số hoạt động được điều chỉnh sao cho hợp với
dữ liệu kiểm định thích hợp Bộ phân tích giữ một tập hợp nhiệm vụ có thể chấp nhận cho mỗi người dùng Bất cứ khi nào một sự không hợp lệ được phát hiện thì một cảnh báo sẽ được sinh ra
1.2.3 Phát hiện xâm nhập dựa trên luật
Phương pháp này dựa trên những hiểu biết có sẵn về các kiểu tấn công Chúng biến đổi sự mô tả của mỗi tấn công thành định dạng kiểm định thích hợp Như vậy, dấu hiệu tấn công có thể được tìm thấy trong các bản ghi Sự phát hiện được thực hiện bằng cách sử dụng những chuỗi văn bản chung kết hợp với các cơ chế Điển hình, nó là một kỹ thuật rất mạnh và thường được sử dụng trong các hệ thống thương mại Ví dụ như: Cisco Secure IDS, Emerald eXpert-BSM (Solaris)…
Trang 251.2.4 Phân tích trạng thái phiên
Một tấn công được miêu tả bằng một tập các mục tiêu và phiên cần được thực hiện bởi một kẻ xâm nhập để gây tổn hại hệ thống Các phiên được trình bày trong sơ đồ trạng thái phiên Nếu phát hiện được một tập phiên vi phạm sẽ tiến hành cảnh báo hay đáp trả theo các hành động đã được định trước
1.2.5 Hệ thống chuyên gia
Hệ thống này làm việc trên một tập các nguyên tắc đã được định nghĩa từ trước để miêu tả các tấn công Tất cả các sự kiện có liên quan đến bảo mật đều được kết hợp vào cuộc kiểm định và được dịch dưới dạng nguyên tắc if-then-else Ví dụ như hệ thống Wisdom & Sense và ComputerWatch được phát triển tại AT&T
1.2.7 Phương pháp Colored Petri Nets
Phương pháp này thường được sử dụng để tổng quát hóa các tấn công từ những hiểu biết cơ bản và thể hiện các tấn công theo đồ họa Hệ thống IDIOT của đại học Purdue sử dụng Colored Petri Nets Với kỹ thuật này, các quản trị viên sẽ dễ dàng hơn trong việc bổ sung thêm dấu hiệu mới Mặc dù vậy, việc tổng quát hóa một dấu hiệu phức tạp với dữ liệu kiểm định là một vấn đề gây tốn nhiều thời gian Kỹ thuật này không được sử dụng trong các hệ thống thương mại
1.2.8 Phương pháp loại suy miễn dịch máy tính
Sự nghiên cứu miễn dịch được chủ định để phát triển các kỹ thuật được xây dựng từ
mô hình hành vi thông thường trong các dịch vụ mạng UNIX hơn là người dùng riêng lẻ Mô hình này gồm có các chuỗi ngắn cuộc gọi hệ thống được tạo thành bởi các quá trình Các tấn công khai thác lỗ hổng trong mã ứng dụng rất có khả năng gây ra đường dẫn thực thi không bình thường Đầu tiên, một tập dữ liệu kiểm định tham chiếu được sưu tập để trình bày hành
vi hợp lệ của các dịch vụ, sau đó kiến thức cơ bản được bổ sung thêm với tất cả các chuỗi được biết rõ về cuộc gọi hệ thống Các mẫu đó sau đó được sử dụng cho việc kiểm tra liên tục các cuộc gọi hệ thống, để xem chuỗi được tạo ra đã được liệt kê trong cơ sở kiến thức chưa.Nếu không, một báo cảnh sẽ được tạo ra Kỹ thuật này có tỉ lệ báo cảnh sai rất thấp Trở ngại của nó là sự bất lực trong việc phát hiện lỗi trong cấu hình dịch vụ mạng
1.2.9 Học máy
Đây là một kỹ thuật thông minh nhân tạo, nó lưu luồng lệnh đầu ra người dùng vào các biểu mẫu vector và sử dụng như một tham chiếu của profile hành vi người dùng thông thường Các profile sau đó được nhóm vào trong một thư viện lệnh người dùng có các thành
Trang 26phần chung nào đó Việc tối thiểu hóa dữ liệu thường phải dùng đến một số kỹ thuật sử dụng quá trình trích dữ liệu chưa biết nhưng có khả năng sử dụng trước đó từ những vị trí dữ liệu được lưu trữ với số lượng lớn Phương pháp tối thiểu dữ liệu này vượt trội hơn đối với việc xử
lý bản ghi hệ thống lớn (dữ liệu kiểm định) Mặc dù vậy, chúng kém hữu dụng đối với việc phân tích luồng lưu lượng mạng
Một trong những kỹ thuật tối thiểu hóa dữ liệu cơ bản được sử dụng trong phát hiện xâm nhập được kết hợp với các cây quyết định Các mô hình cây quyết định cho phép ai đó có thể phát hiện các sự bất thường trong một cơ sở dữ liệu lớn Một kỹ thuật tối thiểu hóa dữ liệu điển hình được kết hợp với việc tìm kiếm các nguyên tắc kết hợp Nó cho phép ai đó có thể trích kiến thức chưa hiểu trước đó về các tấn công mới hoặc đã xây dựng trên mẫu hành vi thông thường Sự phát hiện bất thường thường gây ra các báo cảnh sai Với việc tối thiểu hóa
dữ liệu, nó dễ dàng tương quan dữ liệu đã liên quan đến các báo cảnh với dữ liệu kiểm định tối thiểu, do đó giảm đáng kể xác suất báo sai
1.3 MÔ TẢ BÀI TOÁN ĐỀ XUẤT TRONG ĐỒ ÁN
Trên cơ sở tìm hiểu về các phương pháp phòng chống đột nhập mạng máy tính, đồ án đưa ra một phương pháp phát hiện đột nhập dựa trên máy vector hỗ trợ (Support Vector Machine – SVM) kết hợp đồng huấn luyện
Thuật toán đồng huấn luyện là thuật toán thuộc phần học bán giám sát Đây là một phương pháp kết hợp sử dụng cả dữ liệu đã gán nhãn và dữ liệu chưa gán nhãn, trong đó, dữ liệu đã gán nhãn chỉ cần một tập số lượng nhỏ các mẫu, nhỏ hơn nhiều so với tập dữ liệu chưa gán nhãn Đây cũng là một trong những ưu điểm lớn nhất của thuật toán đồng huấn luyện, bởi
dữ liệu đã gán nhãn là rất ít và đắt, để có được một mẫu dữ liệu đã gán nhãn tốn rất nhiều thời gian và chi phí,cũng như công sức của các chuyên gia Thuật toán dựa trên giả thiết rằng các đặc trưng (features) có thể chia được thành hai tập, mỗi tập có khả năng huấn luyện một tập phân lớp tốt Mỗi tập phân lớp phân tách dữ liệu huấn luyện và dữ liệu gán nhãn trên hai tập đặc trưng con, sau đó các dữ liệu chưa gán nhãn trên mỗi tập phân lớp lại được phân lớp và được dùng để “dạy lại” tập phân lớp khác cùng với một số mẫu chưa gán nhãn (đã có nhãn dự đoán) có độ tin cậy cao Cuối cùng, mỗi tập phân lớp được huấn luyện lại cùng với các mẫu huấn luyện được chèn thêm bởi tập phân lớp kia và tiến trình lặp được lặp lại
Để huấn luyện hai bộ phân lớp độc lập và chọn ra được các mẫu chưa gán nhãn (đã được dự đoán bởi bộ phân lớp) có độ tin cậy cao thì phương pháp phân loại sử dụng máy vector hỗ trợ được sử dụng Đây là phương pháp phân loại được thực hiện dựa trên việc tìm ra một siêu phẳng cực đại để phân lớp các tập dữ liệu Mỗi tập dữ liệu sẽ được phân lớp ở một phía so với lề và được gán nhãn là +1 hoặc -1 Theo thực tế quan sát cũng như lý thuyết học thống kê của Vapnik năm 1999 cho thấy rằng phân lớp siêu phẳng làm việc tốt hơn nếu siêu phẳng tách biệt chính xác hai tập dữ liệu với một biên độ lớn Lề cực đại là lề có chiều rộng đường viền lớn nhất Các vector hỗ trợ (support vector ) là các điểm mà kề sát đường viền Như vậy, các mẫu dữ liệu có độ tin cậy càng cao nếu khoảng cách từ nó đến siêu phẳng là càng lớn
Dữ liệu đầu vào cho phương pháp này là tập các tham số về các kết nối mạng Các thuộc tính của dữ liệu được chuyển hết sang dạng số và được xử lý để phù hợp với đầu vào
Trang 27của giải thuật Phương pháp này được triển khai thành hai bước bao gồm bước huấn luyện và bước kiểm tra Sau quá trình huấn luyện thì ta thu được một mô hình mà nó dự đoán được các tập tham số đầu vào là tấn công hay bình thường Dựa vào bước kiểm tra thì ta có thể tìm ra được hiệu năng của thuật toán kết hợp giữa đồng huấn luyện và SVM
1.4 KẾT CHƯƠNG
Trong chương đầu tiên, chúng ta đã có một cái nhìn khái quát về phát hiện đột nhập, bao gồm các yêu cầu cần thiết nhằm đáp ứng an toàn hệ thống máy tính và mạng, các phương pháp mà kẻ xấu có thể lợi dụng để tấn công vào hệ thống, cũng như các hệ thống phát hiện xâm nhập và các phương pháp để phát hiện xâm nhập phổ biến hiện nay Nội dung của chương nhằm nâng cao kiến thức chung của người dùng về an toàn mạng máy tính và nâng cao ý thức phòng vệ trước những mối nguy hiểm do kẻ xấu lợi dụng kẽ hở của mạng máy tính nhằm thu lợi bất chính Ngoài ra, nội dung chương cũng đã đưa ra các đặc điểm nổi bật của các phương pháp xử lý dữ liệu trong phát hiện đột nhập và đề ra một phương pháp phát hiện đột nhập dựa trên máy vector hỗ trợ kết hợp với giải thuật đồng huấn luyện Chúng ta sẽ tìm hiểu kĩ hơn phương pháp này trong các chương sau của đồ án
Trang 28CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA PHƯƠNG PHÁP SVM VÀ ĐỒNG HUẤN LUYỆN
2.1 TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI
2.1.1 Khái niệm về phân lớp
Phân lớp là một tiến trình trong đó các đối tượng và sự việc được hệ thống phân loại nhận ra, tìm ra những điểm giống và khác nhau so với các đối tượng khác, để từ đó tách biệt được chúng và phân ra thành các lớp Sự phân lớp hàm ý rằng các đối tượng được nhóm thành các bộ phân loại, thường thì phục vụ cho một vài mục đích đặc biệt Có rất nhiều cách tiếp cận phân lớp, nhưng có 2 cách cơ bản nhất là:
• Phân lớp dựa trên học có giám sát (supervised learning) Ví dụ: Phân loại văn bản (Text Classification)
• Phân lớp dựa trên học không có giám sát (unsupervised learning) Ví dụ: Phân cụm văn bản (Text Clustering)
Phân lớp dựa trên học có giám sát: là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước Chúng được phân lớp dựa vào các thuộc tính của các mẫu dữ liệu hay đối tượng Quá trình phân lớp còn được gọi là quá trình gán nhãn cho các tập dữ liệu.Nhiệm vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình phân lớp để khi có một dữ liệu mới vào thì mô hình phân lớp sẽ cho biết dữ liệu đó thuộc lớp nào Phân lớp dựa vào một tập dữ liệu đã được gán nhãn từ trước (gọi là tập huấn luyện)
Phân lớp dựa trên học không có giám sát: Giả sử cho một số văn bản, nhiệm vụ của phân cụm văn bản là chia các văn bản này thành các cụm thích hợp căn cứ vào sự tương tự về mặt nội dung giữa các văn bản Quá trình phân lớp này không đòi hỏi phải có tập dữ liệu huấn luyện từ trước
Ngoài hai phương pháp nêu trên, gần đây phương pháp phân lớp dựa trên học bán giám sát cũng được nghiên cứu và ứng dụng Học bán giám sát là phương pháp học kết hợp giữa học có giám sát và học không giám sát
2.1.2 Giới thiệu về học có giám sát, học không giám sát và học bán giám sát
2.1.2.1 Học có giám sát và học không giám sát
Học có giám sát là một phương pháp để xây dựng một hàm từ dữ liệu huấn luyện, trong đó dữ liệu huấn luyện bao gồm các cặp đối tượng đầu vào ( thường là dạng vector) và đầu ra Đầu ra của một hàm có thể là giá trị liên tục (hồi quy) hoặc là một dự đoán nhãn cho một đối tượng đầu vào (phân lớp).Theo đó, nhiệm vụ của học có giám sát là dự đoán giá trị của hàm cho một đối tượng đầu vào hợp lệ sau khi đã qua một số ví dụ huấn luyện Để dự đoán chính xác thì chương trình học phải tổng quát hóa theo một cách nào đó từ các dữ liệu
có sẵn để dự đoán các mẫu chưa từng gặp một cách hợp lý
Các bước của quá trình học có giám sát:
Xác định loại của ví dụ huấn luyện
Trang 29Ví dụ : một từ, một kí tự hoặc một tập hợp các từ
Thu thập tổng hợp tập huấn luyện
Tập huấn luyện bao gồm các đối tượng đầu vào và đầu ra được thu thập, từ việc đo đạc tính toán hoặc từ các chuyên gia
Biểu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm
Các đối tượng đầu vào quyết định nhiều đến sự chính xác của hàm chức năng Thông thường các đối tượng đầu vào được chuyển đổi thành một vector đặc trưng, chứa một số đặc trưng mô tả cho đối tượng đó Số lượng các đặc trưng chỉ nên vừa đủ, vừa để không quá lớn
mà vẫn đủ để dự đoán chính xác đầu ra
Xác định cấu trúc của hàm chức năng và giải thuật phù hợp
Cài đặt giải thuật
Giải thuật được cài đặt từ một tập huấn luyện thu thập được, trong đó các tham số có thể được điều chỉnh để tối ưu hóa hiệu năng của giải thuật, bằng kiểm chứng chéo hoặc tối ưu hóa trên một tập con
Học không giám sát là một phương pháp của ngành học máy nhằm tìm ra một mô hình phù hợp với các quan sát, trong đó đầu ra tương ứng với mỗi đầu vào là không biết trước Trong học không giám sát, một tập dữ liệu đầu vào được thu thập và được coi như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu
đó
2.1.2.2 Học bán giám sát
Học bán giám sát được đưa ra năm 1970 khi bài toán đánh giá quy tắc Linear Discrimination Fisher cùng với dữ liệu chưa gán nhãn được nhiều nhà khoa học trên thế giới quan tâm Đây là phương pháp sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn, trong đó các
dữ liệu chưa gán nhãn có thể được gán nhãn thông qua một số lượng nhỏ các dữ liệu đã gán nhãn
Như vậy chúng ta rút ra được về học bán giám sát có thể coi như:
Học có giám sát kết hợp với dữ liệu chưa gán nhãn
Học không giám sát kết hợp với dữ liệu đã gán nhãn
Công việc thu thập kết quả của dữ liệu gán nhãn thường đòi hỏi nhiều công sức và chi phí,
vì thế dữ liệu gán nhãn thường rất hiếm và đắt, trong khi đó dữ liệu chưa gán nhãn thì lại rất nhiều Chính vì thế, học bán giám sát được coi là rất cần thiết để tạo ra các tập dữ liệu đã gán nhãn từ các tập dữ liệu chưa gán nhãn, giúp tiết kiệm rất nhiều chi phí và công sức của con người Như vậy có thể coi học bán giám sát là phương pháp học có giám sát kết hợp với việc
sử dụng các dữ liệu chưa được gán nhãn
Ví dụ như bài toán học để nhận biết phân loại các bài báo trên mạng Đầu tiên hệ thống phải lọc và sắp xếp các bài báo Theo một thực nghiệm thì sau khi lọc và gán nhãn khoảng
1000 bài báo thì một bộ phân lớp được huấn luyện qua chúng sẽ thu được độ chính xác khoảng 50% khi dự đoán 10% các bài báo có độ tin cậy cao nhất Tuy nhiên trong thực tế thì không có nhiều người có thể gán nhãn hàng nghìn bài báo như trên, ngoài ra độ chính xác thu được cũng là khá thấp Chính vì thế sự ra đời và phát triển của phương pháp học bán giám sát
là rất cần thiết
Trang 302.1.3 Một số phương pháp phân lớp cơ bản
2.1.3.1 Phương pháp cây quyết định
Đây là phương pháp sử dụng dạng cây, trong đó mỗi nút được gán nhãn là một đặc trưng, mỗi nhánh sẽ là giá trị trọng số xuất hiện của đặc trưng trong văn bản cần phân lớp, và mỗi lá là nhãn của phân lớp tài liệu Việc phân lớp của một tài liệu sẽ được duyệt đệ quy theo trọng số của những đặc trưng có xuất hiện trong văn bản đó Thuật toán lặp đệ quy đến khi đạt đến nút lá và nhãn chính là nhãn của nút lá tìm được Phân lớp văn bản nhị phân sẽ tương thích với việc dùng cây nhị phân
Ngoài ra cây quyết định không thể xử lý tốt khi đầu vào là văn bản có một số lượng rất lớn các đặc trưng Thời gian huấn luyện phân loại nhiều cũng là một nhược điểm bởi giải thuật này cần so sánh tất cả các nhánh con có thể, vì thế mất nhiều thời gian để chia và duyệt các đặc trưng
2.1.3.2 Phương pháp mạng Nơ-ron
Mô hình mạng neural gồm có ba thành phần chính như sau: kiến trúc (architecture), hàm chi phí (cost function), và thuật toán tìm kiếm (search algorithm) Kiến trúc định nghĩa dạng chức năng (functional form) liên quan đến giá trị nhập và giá trị xuất
Kiến trúc phẳng (flat architecture ) : Mạng phân loại đơn giản nhất ( còn gọi là mạng logic) có một đơn vị xuất là kích hoạt kết quả (logistic activation) và không có lớp ẩn, kết quả trả về ở dạng hàm (functional form) tương đương với mô hình hồi quy logic Thuật toán tìm kiếm chia nhỏ mô hình mạng để thích hợp với việc điều chỉnh mô hình ứng với tập huấn luyện
Kiến trúc môđun (modular architecture ): Việc sử dụng một hay nhiều lớp ẩn của những hàm kích hoạt phi tuyến tính cho phép mạng thiết lập các mối quan hệ giữa những biến nhập và biến xuất Mỗi lớp ẩn học để biểu diễn lại dữ liệu đầu vào bằng cách khám phá ra những đặc trưng ở mức cao hơn từ sự kết hợp đặc trưng ở mức trước
2.1.3.3 Phương pháp Naive Bayes
Ý tưởng cơ bản của phương pháp xác suất Bayes là dựa vào xác suất có điều kiện của
từ hay đặc trưng xuất hiện trong văn bản để dự đoán chủ đề của văn bản đang xét Điểm quan trọng cơ bản của phương pháp này là các giả định độc lập:
Các từ hay đặc trưng của văn bản xuất hiện là độc lập với nhau
Vị trí của các từ hay các đặc trưng là độc lập và có vai trò như nhau