Nghiên cứu các phương pháp phát hiện botnet dựa trên học máy sử dụng lưu lượng mạng

69 6 0
Nghiên cứu các phương pháp phát hiện botnet dựa trên học máy sử dụng lưu lượng mạng

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN - - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN BOTNET DỰA TRÊN HỌC MÁY SỬ DỤNG LƯU LƯỢNG MẠNG Giảng viên hướng dẫn: TS Hoàng Xuân Dậu Sinh viên thực hiện: Nguyễn Quốc Tuấn Mã sinh viên: B17DCAT201 Khoa: Cơng nghệ thơng tin Lớp: D17CQAT01-B Niên khóa: 2017 - 2021 Hà Nội, tháng 01 năm 2022 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN - - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN BOTNET DỰA TRÊN HỌC MÁY SỬ DỤNG LƯU LƯỢNG MẠNG Giảng viên hướng dẫn: TS Hoàng Xuân Dậu Sinh viên thực hiện: Nguyễn Quốc Tuấn Mã sinh viên: B17DCAT201 Khoa: Cơng nghệ thơng tin Lớp: D17CQAT01-B Niên khóa: 2017 - 2021 Hà Nội, tháng 01 năm 2022 LỜI CẢM ƠN Đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến Thầy giáo hướng dẫn em – TS Hồng Xn Dậu, người ln tận tình hướng dẫn dạy cho em, người dành thời gian quan tâm đến em suốt trình học tập thực đồ án tốt nghiệp Giúp em có định hướng phương pháp tiếp cận trình tìm hiểu, phát triển đồ án Em xin chân thành cảm ơn thầy! Em xin chân thành cảm ơn Thầy, Cô Khoa Cơng Nghệ Thơng Tin tồn thể cán Học viện Cơng nghệ Bưu Viễn thơng Hà Nội tạo điều kiện để em học tập môi trường tốt Cảm ơn Thầy, Cô cung cấp cho em kiến thức hữu ích học tập kinh nghiệm công việc Giúp em bạn sinh viên ngày trưởng thành Xin gửi lời cảm ơn chân thành đến tất bạn bè em, người bên em, động viên, cổ vũ, tận tình giúp đỡ tạo điều kiện thuận lợi cho em trình làm đồ án tốt nghiệp Cuối cùng, với trình độ hiểu biết cịn nhiều hạn chế thân vốn kiến thức cịn ỏi nên đồ án em không tránh khỏi thiếu sót Em mong nhận góp ý Thầy, Cô để đồ án em hoàn thiện Em xin chân thành cảm ơn! Hà Nội, tháng năm 2022 Sinh viên thực Nguyễn Quốc Tuấn i NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (của giảng viên 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 tốt nghiệp? Hà Nội, ngày tháng năm 2022 CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN HOÀNG XUÂN DẬU ii NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (của giảng viên 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 tốt nghiệp? Hà Nội, ngày tháng năm 2022 CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN iii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC iv DANH MỤC HÌNH ẢNH vi DANH MỤC BẢNG viii DANH MỤC TỪ VIẾT TẮT ix LỜI MỞ ĐẦU xi CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN BOTNET 12 1.1 Khái quát Botnet 12 1.1.1 Giới thiệu mã độc 12 1.1.2 Giới thiệu Botnet 15 1.1.3 Kiến trúc hoạt động Botnet 16 1.2 Các phương pháp, kỹ thuật phát Botnet 22 1.2.1 Phát dựa honeypot 22 1.2.2 Phát dựa chữ ký 23 1.2.3 Phát dựa bất thường 23 1.3 Kết chương 25 CHƯƠNG 2: PHÁT HIỆN BOTNET DỰA TRÊN HỌC MÁY SỬ DỤNG LƯU LƯỢNG MẠNG 26 2.1 Mơ hình phát Botnet dựa học máy sử dụng lưu lượng mạng 26 2.1.1 Giới thiệu mơ hình 26 2.1.2 Các khâu xử lý 26 2.2 Khái quát học máy 27 2.2.1 Giới thiệu học máy 27 2.2.2 Quy trình làm việc (Workflow) 29 2.2.3 Phân loại 29 2.2.4 Các thuật ngữ học máy 31 2.2.5 Ứng dụng thực tế 31 2.3 Một số thuật tốn học máy có giám sát 32 2.3.1 SVM (Support Vector Machine) 32 2.3.2 Cây định (Decision Tree) 37 2.3.3 Rừng ngẫu nhiên (Random Forest) 41 2.3.4 Naïve Bayes 43 iv 2.4 Kết chương 45 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ 46 3.1 Giới thiệu tập liệu thử nghiệm 46 3.2 Các tảng công cụ thử nghiệm 47 3.2.1 Phần cứng 47 3.2.2 Phần mềm thư viện 47 3.3 Các độ đo đánh giá 47 3.3.1 Ma trận nhầm lẫn 47 3.3.2 Accuracy 48 3.3.3 Precision 48 3.3.4 Recall 48 3.3.5 F1-score 49 3.3.6 FPR (False positive rate) FNR (False negative rate) 49 3.4 Thử nghiệm 49 3.4.1 Tiền xử lý 50 3.4.2 Huấn luyện kiểm thử mơ hình 54 3.4.3 Kết 58 3.4.4 Nhận xét 63 3.5 Kết chương 64 KẾT LUẬN 65 v DANH MỤC HÌNH ẢNH Hình 1-1: Phân loại mã độc 13 Hình 1-2: Mơ hình cơng Botnet 15 Hình 1-3: Kiến trúc Client-Server Botnet 16 Hình 1-4: Kiến trúc P2P Botnet 17 Hình 2-1: Mơ hình xử lý tốn 26 Hình 2-2: Các thành phần AI 27 Hình 2-3: Học máy học sâu 28 Hình 2-4: Các bước triển khai mơ hình học máy 29 Hình 2-5: Siêu phẳng phân cách hai lớp 33 Hình 2-6: Lề phân cách hai lớp 34 Hình 2-7: Các siêu phẳng phân lớp 35 Hình 2-8: Điểm liệu gây nhiễu 35 Hình 2-9: Siêu phẳng chọn trường hợp có điểm gây nhiễu 35 Hình 2-10: Các điểm liệu hai lớp khơng phân biệt tuyến tính 36 Hình 2-11: Siêu phẳng trường hợp điểm liệu khơng phân biệt tuyến tính 36 Hình 2-12: Mơ hình định 38 Hình 2-13: Mơ hình Rừng ngẫu nhiên 41 Hình 2-14: Mơ hình chi tiết thuật tốn Rừng ngẫu nhiên 42 Hình 3-1: Ma trận nhầm lẫn 48 Hình 3-2: Các ghi lưu lượng 50 Hình 3-3: Code chuẩn hóa trường nhãn 51 Hình 3-4: Code chuẩn hóa trường giao thức 51 Hình 3-5: Kết quả, số lượng ghi sau chuẩn hóa trường giao thức 52 Hình 3-6: Code chuẩn hóa trường có giá trị rỗng 52 Hình 3-7: Code chuẩn hóa trường có giá trị hexa 52 Hình 3-8: Code chuẩn hóa trường địa IP 53 Hình 3-9: Danh sách liệu sau bước tiền xử lý 53 Hình 3-10: Code tách liệu huấn luyện kiểm thử 53 Hình 3-11: Code scaling liệu 54 Hình 3-12: Các thư viện sử dụng 54 Hình 3-13: Đọc liệu 54 Hình 3-14: Tách liệu huấn luyện kiểm thử, scaling liệu 55 vi Hình 3-15: Khai báo thư viện Naive Bayes huấn luyện mơ hình 55 Hình 3-16: Kiểm thử mơ hình Naive Bayes tính độ đo 55 Hình 3-17: Huấn luyện, kiểm thử tính độ đo cho mơ hình Cây định 56 Hình 3-18: Huấn luyện, kiểm thử tính độ đo cho mơ hình Rừng ngẫu nhiên 57 Hình 3-19: Khai báo thư viện SVM huấn luyện mơ hình 58 Hình 3-20: Kiểm thử mơ hình tính độ đo mơ hình SVM 58 Hình 3-21: Các độ đo mơ hình 58 vii DANH MỤC BẢNG Bảng 3-1: Các thuộc tính ghi lưu lượng sử dụng 50 Bảng 3-2: Các độ đo kịch 59 Bảng 3-3: Các độ đo kịch 59 Bảng 3-4: Các độ đo kịch 59 Bảng 3-5: Các độ đo kịch 60 Bảng 3-6: Các độ đo kịch 60 Bảng 3-7: Các độ đo kịch 61 Bảng 3-8: Các độ đo kịch 61 Bảng 3-9: Các độ đo kịch 61 Bảng 3-10: Các độ đo kịch 62 Bảng 3-11: Các độ đo kịch 10 62 Bảng 3-12: Các độ đo kịch 11 62 Bảng 3-13: Các độ đo kịch 12 63 Bảng 3-14: Các độ đo kịch 13 63 viii ĐỒ ÁN TỐT NGHIỆP chuẩn hóa để xác định tần suất xuất địa IP, từ làm cho việc xác định lưu lượng Botnet hay khơng Hình 3-8: Code chuẩn hóa trường địa IP Sau chuẩn hóa trường thuộc tính với 13 kịch bản, kết thu 13 file liệu qua xử lý, tiến hành chuyển qua bước huấn luyện mô hình học máy Hình 3-9: Danh sách liệu sau bước tiền xử lý Trước đưa liệu vào bước huấn luyện mơ hình, tiến hành tách liệu kịch theo tỷ lệ 70:30 70% sử dụng để huấn luyện mơ hình 30% cịn lại dùng để tính tốn, kiểm thử mơ hình Hình 3-10: Code tách liệu huấn luyện kiểm thử Thêm bước quan trọng trước huấn luyện mơ hình tiến hành đưa liệu thuộc tính liệu tỷ lệ (Scaling) NGUYỄN QUỐC TUẤN – B17DCAT201 53 ĐỒ ÁN TỐT NGHIỆP Hình 3-11: Code scaling liệu 3.4.2 Huấn luyện kiểm thử mơ hình Tại bước tiếp theo, sử dụng module có sẵn thư viện sklearn tiến hành huấn luyện mơ hình Với thuật tốn học máy sử dụng ứng với module thư viện sklearn, thuật tốn Cây định có module tương ứng DecisionTreeClassifier sklearn.tree, … Trước huấn luyện mơ hình, tiến hành khai báo thư viện sử dụng cho bước đọc liệu Hình 3-12: Các thư viện sử dụng Bước tiếp theo, nhập liệu xử lý bước vào dataframe Trong đó, X ma trận gồm cột tương ứng với trường thuộc liệu, chứa thông tin điểm liệu, Y véc tơ đánh nhãn điểm liệu Hình 3-13: Đọc liệu Sau nhập liệu đầu vào, tiến hành tách liệu thành phần với tỷ lệ 70:30, 70 dùng để huấn luyện 30 dùng để kiểm thử đề cập Đồng thời tiến hành đưa liệu trường thuộc tính tỷ lệ (scaling data) NGUYỄN QUỐC TUẤN – B17DCAT201 54 ĐỒ ÁN TỐT NGHIỆP Hình 3-14: Tách liệu huấn luyện kiểm thử, scaling liệu 3.4.2.1 Naïve Bayes Đối với thuật tốn Nạve Bayes, sử dụng GaussianNB thư viện sklearn.naive_bayes Cấu hình tham số cho thuật tốn: Mặc định Hình 3-15: Khai báo thư viện Naive Bayes huấn luyện mơ hình Sau mơ hình huấn luyện xong, tiến hành kiểm thử với liệu kiểm tra tính tốn độ đo Hình 3-16: Kiểm thử mơ hình Naive Bayes tính độ đo NGUYỄN QUỐC TUẤN – B17DCAT201 55 ĐỒ ÁN TỐT NGHIỆP 3.4.2.2 Cây định Tại thuật toán định, sử dụng DecisionTreeClassifier thư viện sklearn.tree Thực chạy thuật toán 20 lần với tham số max_depth khoảng từ đến 21 Độ đo tính theo giá trị trung bình 20 lần chạy Cấu hình tham số cho thuật tốn: criterion = ’entropy’, random_state = 0, max_depth = i, đó: i chạy từ đến 21 Hình 3-17: Huấn luyện, kiểm thử tính độ đo cho mơ hình Cây định Tại vịng lặp mơ hình Cây định tạo với tham số thiết lập, độ đo tương ứng có list, sau trải qua 20 vịng lặp, độ đo trung bình tính 3.4.2.3 Rừng ngẫu nhiên NGUYỄN QUỐC TUẤN – B17DCAT201 56 ĐỒ ÁN TỐT NGHIỆP Đối với thuật toán Rừng ngẫu nhiên, sử dụng RandomForestClassifier thư viện sklearn.ensemble Trong đó, tham số số chạy từ 10 đến 110 với khoảng nhảy 10 Tương tự với thuật toán Cây định, tiến hành huấn luyện mơ hình 10 lần, độ đo mơ hình tính theo giá trị trung bình 10 lần chạy Tại vịng lặp mơ hình Rừng ngẫu nhiên tạo với tham số thiết lập, độ đo tương ứng có list, sau trải qua 10 vòng lặp, độ đo trung bình tính Cấu hình tham số cho thuật tốn: n_estimators = i, i chạy từ 10 đến 110 với khoảng nhảy 10, criterion = ‘entropy’ Hình 3-18: Huấn luyện, kiểm thử tính độ đo cho mơ hình Rừng ngẫu nhiên 3.4.2.4 SVM Đối với thuật toán học máy SVM, sử dụng h+àm SVC module sklearn.svm Cấu hình tham số cho thuật toán: kernel = ‘linear’, random_state = NGUYỄN QUỐC TUẤN – B17DCAT201 57 ĐỒ ÁN TỐT NGHIỆP Hình 3-19: Khai báo thư viện SVM huấn luyện mô hình Sau mơ hình huấn luyện, tiến hành dự đốn với liệu kiểm thử để tính độ đo mơ hình Các độ đo sau in hình console Hình 3-20: Kiểm thử mơ hình tính độ đo mơ hình SVM 3.4.3 Kết Trong phần thử nghiệm này, đồ án tiến hành với 13 kịch liệu CTU13 Mỗi kịch chạy với thuật tốn học máy bao gồm: Nạve Bayes, Cây định, Rừng ngẫu nhiên SVM Hình 3-21: Các độ đo mơ hình Các độ đo tiến hành làm tròn tới hàng thập phân thứ hai 3.4.3.1 Kịch NGUYỄN QUỐC TUẤN – B17DCAT201 58 ĐỒ ÁN TỐT NGHIỆP Bộ liệu bao gồm 71228 ghi có 30267 ghi đánh nhãn tương ứng lưu lượng bình thường 40961 ghi nhãn tương ứng lưu lượng Botnet (Neris) Kết thuật toán biểu diễn bảng sau: Bảng 3-2: Các độ đo kịch Tên thuật toán Accuracy Precision (%) Recall F1-score FNR FPR Naïve Bayes 99.89 100.00 99.82 99.91 0.17 0.00 Cây định 99.99 99.98 99.99 99.99 0.00 0.02 Rừng ngẫu nhiên 100.00 100.00 100.00 100.00 0.00 0.00 SVM 99.94 100.00 99.97 0.00 0.07 99.96 3.4.3.2 Kịch Bộ liệu bao gồm 30025 ghi có 9084 ghi đánh nhãn tương ứng lưu lượng bình thường 20941 ghi nhãn tương ứng lưu lượng Botnet (Neris) Kết thuật toán biểu diễn bảng sau: Bảng 3-3: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.89 100.00 99.84 99.92 0.16 0.00 Cây định 99.99 99.98 100.00 99.99 0.00 0.03 Rừng ngẫu nhiên 100.00 100.00 100.00 100.00 0.00 0.00 SVM 99.97 100.00 99.98 0.00 0.07 99.98 3.4.3.3 Kịch Bộ liệu bao gồm 143147 ghi có 116325 ghi đánh nhãn tương ứng lưu lượng bình thường 26822 ghi nhãn tương ứng lưu lượng Botnet (Rbot) Kết thuật toán biểu diễn bảng sau: Bảng 3-4: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.97 99.95 99.89 99.92 0.11 0.01 Cây định 99.98 99.94 99.94 99.94 0.06 0.01 NGUYỄN QUỐC TUẤN – B17DCAT201 59 ĐỒ ÁN TỐT NGHIỆP Rừng ngẫu nhiên 99.99 99.98 99.96 99.97 0.04 0.01 SVM 99.82 99.91 99.87 0.08 0.04 99.95 3.4.3.4 Kịch Bộ liệu bao gồm 27799 ghi có 25219 ghi đánh nhãn tương ứng lưu lượng bình thường 2580 ghi nhãn tương ứng lưu lượng Botnet (Rbot DOS) Kết thuật toán biểu diễn bảng sau: Bảng 3-5: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 100.00 100.00 100.00 100.00 0.00 0.00 Cây định 99.94 99.85 99.45 99.64 0.55 0.01 Rừng ngẫu nhiên 99.99 99.97 99.96 100.00 0.00 0.01 SVM 99.03 92.39 95.59 7.61 0.09 99.20 3.4.3.5 Kịch Bộ liệu bao gồm 5569 ghi có 4668 ghi đánh nhãn tương ứng lưu lượng bình thường 901 ghi nhãn tương ứng lưu lượng Botnet (Virut) Kết thuật toán biểu diễn bảng sau: Bảng 3-6: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.76 99.63 98.91 99.27 1.09 0.07 Cây định 99.99 99.96 100.00 99.98 0.00 0.01 Rừng ngẫu nhiên 99.98 99.89 100.00 99.95 0.00 0.02 SVM 99.63 100.00 99.81 0.00 0.07 99.94 3.4.3.6 Kịch Bộ liệu bao gồm 12102 ghi có 7472 ghi đánh nhãn tương ứng lưu lượng bình thường 4630 ghi nhãn tương ứng lưu lượng Botnet (Menti) Kết thuật toán biểu diễn bảng sau: NGUYỄN QUỐC TUẤN – B17DCAT201 60 ĐỒ ÁN TỐT NGHIỆP Bảng 3-7: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.61 100.00 99.01 99.51 0.98 0.00 Cây định 99.95 99.95 99.93 99.94 0.07 0.03 Rừng ngẫu nhiên 99.97 100.00 99.94 99.97 0.06 0.00 SVM 99.93 100.00 99.96 0.00 0.04 99.97 3.4.3.7 Kịch Bộ liệu bao gồm 1732 ghi có 1669 ghi đánh nhãn tương ứng lưu lượng bình thường 63 ghi nhãn tương ứng lưu lượng Botnet (Sogou) Kết thuật toán biểu diễn bảng sau: Bảng 3-8: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.61 100.00 90.48 95.00 9.52 0.00 Cây định 99.79 95.25 100.00 97.56 0.00 0.21 Rừng ngẫu nhiên 100.00 100.00 100.00 100.00 0.00 0.00 SVM 100.00 100.00 100.00 0.00 0.00 100.00 3.4.3.8 Kịch Bộ liệu bao gồm 78767 ghi có 72640 ghi đánh nhãn tương ứng lưu lượng bình thường 6127 ghi nhãn tương ứng lưu lượng Botnet (Murlo) Kết thuật toán biểu diễn bảng sau: Bảng 3-9: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.70 100.00 96.21 98.07 3.80 0.00 Cây định 99.98 99.81 99.95 99.88 0.05 0.02 Rừng ngẫu nhiên 99.99 100.00 99.95 99.97 0.05 0.00 SVM 99.06 95.84 97.42 4.16 0.08 99.60 NGUYỄN QUỐC TUẤN – B17DCAT201 61 ĐỒ ÁN TỐT NGHIỆP 3.4.3.9 Kịch Bộ liệu bao gồm 214886 ghi có 29899 ghi đánh nhãn tương ứng lưu lượng bình thường 184987 ghi nhãn tương ứng lưu lượng Botnet (Neris) Kết thuật toán biểu diễn bảng sau: Bảng 3-10: Các độ đo kịch Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.89 99.99 99.88 99.93 0.11 0.06 Cây định 99.99 99.99 99.99 99.99 0.01 0.05 Rừng ngẫu nhiên 99.99 99.99 100.00 99.99 0.00 0.01 SVM 99.98 99.99 99.86 0.01 0.13 99.97 3.4.3.10 Kịch 10 Bộ liệu bao gồm 122162 ghi có 15810 ghi đánh nhãn tương ứng lưu lượng bình thường 106352 ghi nhãn tương ứng lưu lượng Botnet (Rbot) Kết thuật toán biểu diễn bảng sau: Bảng 3-11: Các độ đo kịch 10 Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 99.76 99.99 99.74 99.86 0.26 0.04 Cây định 99.94 99.96 99.97 99.97 0.03 0.27 Rừng ngẫu nhiên 99.99 99.99 100.00 99.99 0.00 0.01 SVM 99.97 99.93 99.95 0.07 0.17 99.92 3.4.3.11 Kịch 11 Bộ liệu bao gồm 10874 ghi có 2710 ghi đánh nhãn tương ứng lưu lượng bình thường 8164 ghi nhãn tương ứng lưu lượng Botnet (Rbot) Kết thuật toán biểu diễn bảng sau: Bảng 3-12: Các độ đo kịch 11 Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 98.56 98.21 99.03 1.78 99.87 NGUYỄN QUỐC TUẤN – B17DCAT201 0.37 62 ĐỒ ÁN TỐT NGHIỆP Cây định 99.86 99.95 99.87 99.91 0.13 0.16 Rừng ngẫu nhiên 99.99 100.00 99.99 99.99 0.01 0.00 SVM 99.88 100.00 99.94 0.00 0.38 99.91 3.4.3.12 Kịch 12 Bộ liệu bao gồm 9783 ghi có 7615 ghi đánh nhãn tương ứng lưu lượng bình thường 2168 ghi nhãn tương ứng lưu lượng Botnet (NSIS.ay) Kết thuật toán biểu diễn bảng sau: Bảng 3-13: Các độ đo kịch 12 Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 89.51 95.80 57.14 71.59 42.86 0.75 Cây định 99.93 99.81 99.89 99.85 0.11 0.06 Rừng ngẫu nhiên 99.93 99.71 99.99 99.85 0.01 0.09 SVM 98.95 97.20 98.07 2.80 0.31 99.11 3.4.3.13 Kịch 13 Bộ liệu bao gồm 71790 ghi có 31787 ghi đánh nhãn tương ứng lưu lượng bình thường 40003 ghi nhãn tương ứng lưu lượng Botnet (Virut) Kết thuật toán biểu diễn bảng sau: Bảng 3-14: Các độ đo kịch 13 Tên thuật toán Accuracy Precision (%) (%) Recall (%) F1-score (%) FNR (%) FPR (%) Naïve Bayes 71.03 65.90 99.48 79.28 0.52 64.77 Cây định 99.99 99.99 99.99 99.99 0.01 0.01 Rừng ngẫu nhiên 99.99 99.99 100.00 99.99 0.00 0.01 SVM 99.98 99.98 99.98 0.02 0.02 99.98 3.4.4 Nhận xét Phần thử nghiệm tiến hành chạy với thuật toán học máy 13 liệu tương ứng với 13 kịch Mỗi kịch sử dụng phương thức công riêng biệt với loại Botnet Sau tiến hành huấn luyện mơ hình, kiểm thử, tính tốn độ đo đưa 13 bảng kết đây, ta rút số nhận xét: NGUYỄN QUỐC TUẤN – B17DCAT201 63 ĐỒ ÁN TỐT NGHIỆP Cả thuật tốn học máy Nạve Bayes, Cây định, Rừng ngẫu nhiên, SVM hoạt động tốt việc học phân loại lưu lượng bình thường Botnet Trong thuật tốn học máy Rừng ngẫu nhiên thuật toán hiệu việc phân loại lưu lượng độ đo nằm mức 99%, độ đo FNR FPR thấp (≈ 0) Nằm vị trí thứ hai thuật toán Cây định đưa kết phân loại có độ đo cao Kế thuật tốn SVM Nạve Bayes Đặc biệt thấy kịch 12 13, độ đo thuật tốn Nạve Bayes thấp so với độ đo thuật tốn cịn lại 3.5 Kết chương Tại chương này, đồ án tiến hành việc thử nghiệm mơ hình học máy việc phân loại lưu lượng mạng Cụ thể hơn, đồ án giới thiệu sơ lược tập liệu thử nghiệm CTU-13 bao gồm 13 kịch bản, kịch loại công với loại Botnet khác Tiếp đó, đồ án trình bày mơi trường huấn luyện mơ hình bao gồm phần cứng phần mềm, thư viện sử dụng để giải toán Đồng thời, độ đo sử dụng để đánh giá tính hiệu mơ hình giới thiệu cụ thể mục 3.3 Mục 3.4 đồ án trình bày chi tiết bước thử nghiệm, tiền xử lý liệu trước huấn luyện kiểm thử mô hình Các kết thuật toán học máy sử dụng hoạt động tốt việc xây dựng nên mơ hình phân loại lưu lượng mạng từ đưa phán đốn với ghi lưu lượng bình thường hay lưu lượng Botnet Thuật toán hiệu thấy thơng qua kết mục 3.4.3 thuật tốn Rừng ngẫu nhiên NGUYỄN QUỐC TUẤN – B17DCAT201 64 ĐỒ ÁN TỐT NGHIỆP KẾT LUẬN Đồ án đề xuất thử nghiệm việc sử dụng thuật toán học máy vào việc phát Botnet dựa lưu lượng mạng, đóng góp kể tới: Tiến hành xử lý liệu lớn CTU-13, trích xuất ghi lưu lượng bình thường lưu lượng Botnet - Tiến hành chuẩn hóa trường thuộc tính ghi - Tiến hành huấn luyện mơ hình với thuật tốn học máy: Nạve Bayes, SVM, Cây định, Rừng ngẫu nhiên - Tiến hành lập bảng so sánh thuật toán học máy kịch thấy thuật tốn Rừng ngẫu nhiên thuật toán hiệu việc phát lưu lượng Botnet Tuy nhiên, đồ án số hạn chế, thiếu sót sau: - - Việc phát lưu lượng Botnet dừng lại việc sử dụng lưu lượng tĩnh, chưa đưa vào phát thời gian thực - Việc thử nghiệm nằm quy mô nhỏ, chưa đảm bảo tính hiệu với lượng liệu lớn phức tạp Điều khiến mơ hình thu nằm mức độ tham khảo, không đảm bảo ứng dụng thực tế Từ đây, số hướng phát triển tương lai từ đồ án đề xuất sau: - Sử dụng liệu PCAP (dữ liệu thô thu qua công cụ Wireshark), từ phát triển thành giải pháp phát lưu lượng Botnet thời gian thực - Gia tăng số lượng ghi cho liệu để tăng cường độ hiệu việc phát hiện, từ phát triển thành giải pháp ứng dụng thực tế NGUYỄN QUỐC TUẤN – B17DCAT201 65 TÀI LIỆU THAM KHẢO [1] "Malware Bytes," [Online] Available: https://www.malwarebytes.com/malware [Accessed 10 August 2021] [2] "Lastline," [Online] Available: https://www.lastline.com/blog/malware-types-andclassifications/ [Accessed 22 August 2021] [3] "Cisco," [Online] Available: https://www.cisco.com/c/en/us/products/security/advanced-malwareprotection/what-is-malware.html#~7-types-of-malware [Accessed 22 August 2021] [4] "Vietnix," [Online] Available: https://vietnix.vn/malware-la-gi/ [Accessed 22 August 2021] [5] "Kaspersky," [Online] Available: https://usa.kaspersky.com/resourcecenter/threats/botnet-attacks [Accessed September 2021] [6] "Vietnetco," [Online] Available: https://vietnetco.vn/botnet-la-gi-giai-phap-phongve-botnet-fortiguard/4999.html [Accessed September 2021] [7] "Crowdstrike," [Online] Available: https://www.crowdstrike.com/cybersecurity101/botnets/ [Accessed 15 September 2021] [8] H Khanh, "Hoangkhanh.tech," [Online] Available: https://www.hoangkhanh.tech/2021/01/botnet-la-gi-vong-oi-va-phuong-thuc.html [Accessed 16 September 2021] [9] T V Tran and A T T Huynh, "TÌM HIỂU VỀ SỰ PHÁT TRIỂN CỦA BOTNET TRONG 20 NĂM TRỞ LẠI ĐÂY," TRƯỜNG ĐẠI HỌC NAM CẦN THƠ , Can Tho, 2019 [10] C Jiawen, "Machine Learning and Cybersecurity: Studying network behaviour to detect anomalies," The University of Edinburgh, 2018 [11] Sherif Saad, Ali A Ghorbani, Issa Traore and Bassam Sayed, "Detecting P2P botnets through network behavior analysis and machine learning," 2011 [12] "IBM," [Online] Available: https://www.ibm.com/cloud/learn/machinelearning#toc-what-is-ma-qhM6PX35 [Accessed October 2021] [13] "Topdev," [Online] Available: [Accessed October 2021] NGUYỄN QUỐC TUẤN – B17DCAT201 https://topdev.vn/blog/machine-learning-la-gi/ [14] "Javapoint," [Online] Available: https://www.javatpoint.com/machine-learningsupport-vector-machine-algorithm [Accessed 13 October 2021] [15] "Viblo," [Online] Available: https://viblo.asia/p/gioi-thieu-ve-support-vectormachine-svm-6J3ZgPVElmB [Accessed 13 October 2021] [16] "Machinelearningcoban," [Online] https://machinelearningcoban.com/2017/04/22/kernelsmv/ October 2021] Available: [Accessed 14 [17] "Javapoint," [Online] Available: https://www.javatpoint.com/machine-learningdecision-tree-classification-algorithm [Accessed 16 October 2021] [18] "Javapoint," [Online] Available: https://www.javatpoint.com/machine-learningrandom-forest-algorithm [Accessed 18 October 2021] [19] P Amini and R Azmi, "A Survey on Botnet: Classification, Detection and Defense," in ICEEE2015, 2015 [20] Cho D.X, Thuong D.T.H and Dung N.K, "A Method of Detecting Storage Based Network Steganography Using Machine Learning," 2019 [21] Ibrahim Anwar Ibrahim, Tamer T.N Khatib, Azah Mohamed and Wilfried Elmenreich, "Modeling of the output current of a photovoltaic grid-connected system using random forests technique," 2018 [22] "Javapoint," [Online] Available: https://www.javatpoint.com/machine-learningnaive-bayes-classifier [Accessed 21 October 2021] [23] "Codelearn," [Online] Available: https://codelearn.io/sharing/scikit-learn-trongpython-la-gi [Accessed November 2021] [24] "Machinelearningcoban," [Online] Available: https://machinelearningcoban.com/2017/08/31/evaluation/#-truefalsepositivenegative-1 [Accessed 11 November 2021] NGUYỄN QUỐC TUẤN – B17DCAT201

Ngày đăng: 12/09/2023, 16:41

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

Tài liệu liên quan