Vui lòng liên hệ zalo 0353764719, Hoặc gmail : 123docntcgmail.com để mua tài liệu trực tiếp với giá ưu đãi, giảm giá 2050% giá tài liệu. Xin cám ơn Vui lòng liên hệ zalo 0353764719, Hoặc gmail : 123docntcgmail.com để mua tài liệu trực tiếp với giá ưu đãi, giảm giá 2050% giá tài liệu. Xin cám ơn
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 ĐẠI HỌC ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN IOT BOTNET DỰA TRÊN PHÂN TÍCH ĐỘNG VÀ HỌC MÁY Giảng viên hướng dẫn : TS Hoàng Xuân Dậu Sinh viên thực : Trịnh Thị Thu Hằng Mã sinh viên : B17DCAT066 Lớp : D17CQAT02-B Khóa : 2017-2022 Hệ : Đại học Chính quy HÀ NỘI, - 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 ĐẠI HỌC ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN IOT BOTNET DỰA TRÊN PHÂN TÍCH ĐỘNG VÀ HỌC MÁY Giảng viên hướng dẫn : TS Hoàng Xuân Dậu Sinh viên thực : Trịnh Thị Thu Hằng Mã sinh viên : B17DCAT066 Lớp : D17CQAT02-B Khóa : 2017-2022 Hệ : Đại học Chính quy HÀ NỘI, - 2022 LỜI CẢM ƠN Đối với sinh viên, đồ án tốt nghiệp minh chứng cho kiến thức có sau năm năm học tập Trong trình hồn thành đồ án tốt nghiệp, ngồi cố gắng thân, em khơng thể hồn thành tốt cơng việc khơng có hướng dẫn thầy giáo TS Hoàng Xuân Dậu Thầy ln quan tâm, tận tình bảo em, cho em nhiều kiến thức dẫn dắt em suốt trình học tập trường giai đoạn khó khăn đồ án Em xin chân thành cảm ơn thầy, ngành An Tồn Thơng Tin, khoa Công Nghệ Thông Tin dạy cho em kiến thức hữu ích quý giá để em hồn thành đồ án, tồn cán nhân viên Học viện Cơng nghệ Bưu Viễn thơng Hà Nội tạo mơi trường học tập tốt cho sinh viên Cuối em xin gửi lời cảm ơn tới gia đình, bạn bè, người thân em bên em, quan tâm, động viên tạo điều kiện tốt để em hồn thành đồ án Với trình độ hiểu biết nhiều hạn chế 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 01 năm 2022 SINH VIÊN THỰC HIỆN Trịnh Thị Thu Hằng NHẬ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, tháng 01 năm 2022 GIẢNG VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) NHẬ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, tháng 01 năm 2022 GIẢNG VIÊN PHẢN BIỆN (Ký ghi rõ họ tên) MỤC LỤC LỜI CẢM ƠN NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của người hướng dẫn) NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của người phản biện) MỤC LỤC .4 DANH MỤC TỪ VIẾT TẮT DANH MỤC HÌNH ẢNH .7 DANH MỤC BẢNG BIỂU .8 MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ IOT BOTNET VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN 10 1.1 Tổng quan thiết bị IoT .10 1.1.1 Khái niệm thiết bị IoT .10 1.1.2 Kiến trúc cách thức hoạt động Internet of Things (IoT) 12 1.2 Tổng quan IoT Botnet 14 1.2.1 Giới thiệu Botnet 14 1.2.2 Tổng quan IoT Botnet 18 1.2.3 Cấu trúc nguyên lý hoạt động IoT Botnet .21 1.3 Các phương pháp phát IoT Botnet 23 1.3.1 Khái quát phát IoT Botnet 23 1.3.2 Phát dựa phân tích tĩnh .24 1.3.3 Phát dựa phân tích động .26 1.3.4 Phát dựa phân tích lai 28 Kết chương 28 CHƯƠNG 2: XÂY DỰNG MƠ HÌNH HỌC MÁY CHO PHÁT HIỆN IOT BOTNET .29 2.1 Tổng quan học máy giải thuật học máy 29 2.1.1 Tổng quan học máy 29 2.1.2 Phân loại giải thuật học máy .32 2.1.3 Một số giải thuật học máy 33 2.1.3.1 Cây định (Decision Tree) 33 2.1.3.2 Rừng ngẫu nhiên (Random Forest) 37 2.2 2.1.3.3 Naïve Bayes (Naïve Bayes) 40 2.1.3.4 Máy vectơ hỗ trợ (Support Vector Machine) .42 Mơ hình học máy phát IoT botnet 45 2.2.1 Bộ liệu 46 2.2.2 Kiến trúc mơ hình tổng quan .46 2.2.3 Bộ chuẩn hóa tiền xử lý liệu 47 2.2.4 Bộ phận trích chọn đặc trưng 49 2.2.5 Độ đo đánh giá 55 2.2.5.1 Confusion matrix 56 2.2.5.2 False Positive Rate (FPR), False Negative Rate (FNR) .57 2.2.5.3 Accuracy .57 2.2.5.4 Precision Recall .58 2.2.5.5 F1-score 59 Kết chương 59 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 60 3.1 Môi trường triển khai thực nghiệm 60 3.2 Kết thực nghiệm 61 3.2.1 Dữ liệu luồng mạng 61 3.2.2 Dữ liệu sử dụng tài nguyên hệ thống 62 3.3 Đánh giá kết thực nghiệm 64 Kết chương 65 KẾT LUẬN 66 DANH MỤC TÀI LIỆU THAM KHẢO 67 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Viết đầy đủ (Tiếng Anh) Viết đầy đủ (Tiếng Việt) ARM Advanced RISC Machine Bộ xử lý dựa kiến trúc RISC Botnet Bots Network Mã độc công thông qua mạng máy tính CART Classification and Regression Tree Cây phân loại hồi quy CPU Central Processing Unit Bộ xử lý trung tâm CFG Control Flow Graph Đồ thị luồng điều khiển C&C Server Command and Control Server Máy chủ lệnh điều khiển DDoS Distributed Denial of Service attack Tấn công từ chối dịch vụ phân tán DFG Data Flow Graph Đồ thị luồng liệu ELF Linux Executable and Linkable Format Định dạng tệp tin thực thi liên kết động Linux GRE Generic Routing Encapsulation Mã hóa định tuyến IoT Internet of Things Vạn vật kết nối Internet IP Internet Protocol Giao thức Internet MIPS Microprocessor without Interlocked Pipeline Stages Kiến trúc tập lệnh RISC PDoS Permanent Denial of Service attack Tấn công từ chối dịch vụ vĩnh viễn PSI Printable String Information Các chuỗi mang thông tin P2P Peer to Peer network Mạng ngang hàng RAM Random Access Memory Bộ nhớ RF Random Forest Thuật toán rừng ngẫu nhiên SVM Support Vector Machine Máy vectơ hỗ trợ SYN SYN Flood Một dạng công từ chối dịch vụ phân tán (DDoS) SSH Secure Socket Shell Giao thức mạng bảo mật TCP Transmission Control Protocol Giao thức truyền tải hướng kết nối UDP User Datagram Protocol Giao thức truyền tải hướng không kết nối DANH MỤC HÌNH ẢNH Hình 1.1: Số lượng thiết bị IoT từ năm 2015 - 2025 .12 Hình 1.2: Kiến trúc tảng IoT 12 Hình 1.3: Cấu trúc Botnet 15 Hình 1.4: Mơ hình mạng hình 16 Hình 1.5: Mơ hình mạng hình đa máy chủ .16 Hình 1.6: Mơ hình liên kết dạng phân cấp 17 Hình 1.7: Mơ hình ngang hàng 18 Hình 1.8: Vị trí IoT Botnet loại mã độc 19 Hình 1.9: Mối quan hệ số mã độc IoT botnet 19 Hình 1.10: Vịng đời IoT Botnet .20 Hình 1.11: Quy trình lây nhiễm IoT Botnet 22 Hình 1.12: Phương pháp phát mã độc IoT Botnet 24 Hình 1.13: Các phương pháp phân tích lai 28 Hình 2.1: Quy trình học máy 30 Hình 2.2: Phân loại vài mơ hình học máy phổ biến .31 Hình 2.3: Mơ tả chung định .34 Hình 2.4: Sơ đồ định .36 Hình 2.5: Mơ tả thuật tốn Random Forest 38 Hình 2.6: Bài toán minh họa thuật toán Navie Bayes 41 Hình 2.7: Minh hoạ Multinomial Naive Bayes .42 Hình 2.8: Class SVM .43 Hình 2.9: Multi-Class SVM 43 Hình 2.10: Phân tích tốn SVM .44 Hình 2.11: Mặt phân cách class 45 Hình 2.12: Mơ hình tổng quan phát IoT botnet .47 Hình 2.13: Confusion matrix 56 Hình 2.14: Biểu diễn TPR, FNR, FPR, TNR confusion matrix .57 Hình 2.15: Minh họa cách tính Precision Recall 58 Hình 3.1: So sánh độ xác thuật toán học máy liệu luồng mạng 62 Hình 3.2: So sánh độ xác thuật tốn học máy liệu sử dụng tài nguyên hệ thống .64 DANH MỤC BẢNG BIỂU Bảng 2.1: Dữ liệu thống kê chơi golf 35 Bảng 2.2: Mô tả liệu 46 Bảng 2.3: Mô tả đặc trưng luồng mạng 48 Bảng 2.4: Mô tả đặc trưng sử dụng tài nguyên hệ thống 49 Bảng 2.5: Đặc trưng dư thừa với liệu luồng mạng 51 Bảng 2.6: Đặc trưng luồng mạng thử nghiệm .51 Bảng 2.7: Đặc trưng dư thừa với liệu sử dụng tài nguyên hệ thống 53 Bảng 2.8: Đặc trưng sử dụng hệ thống thử nghiệm .54 Bảng 3.1: Kết liệu luồng mạng sử dụng Cây định 61 Bảng 3.2: Kết liệu luồng mạng sử dụng Rừng ngẫu nhiên .61 Bảng 3.3: Kết liệu luồng mạng sử dụng Naïve Bayes .61 Bảng 3.4: Kết liệu luồng mạng sử dụng Máy vectơ hỗ trợ .62 Bảng 3.5: Kết liệu sử dụng tài nguyên hệ thống sử dụng Cây định 63 Bảng 3.6: Kết liệu sử dụng tài nguyên hệ thống sử dụng Rừng ngẫu nhiên .63 Bảng 3.7: Kết liệu sử dụng tài nguyên hệ thống sử dụng Naïve Bayes 63 Bảng 3.8: Kết liệu sử dụng tài nguyên hệ thống sử dụng Máy vectơ hỗ trợ .64 Sau loại bỏ đặc trưng dư thừa, ta tiến hành tính độ lợi thơng tin (Information Gain) 50 đặc trưng sử dụng tài nguyên hệ thống lại thu Bảng 2.8: Bảng 2.8: Đặc trưng sử dụng hệ thống thử nghiệm STT Đặc trưng Độ lợi thông tin swap_cache_mean 0.8325030027128645 mem_free_mean 0.8310175561750826 swap_cache_min 0.7875605078442874 mem_free_min 0.7857528408133192 swap_cache_max 0.7727472772578085 mem_used_min 0.7256352992005963 mem_free_max 0.7091036828709889 swap_cache_std 0.5936555077397891 cpu_%_us_std 0.5746206463111678 10 num_total_sleeping_std 0.4293441842323224 11 num_total_running_std 0.3932741976826797 12 cpu_%_id_std 0.3530798456097202 13 mem_buffers_std 0.34539824065961044 14 cpu_%_si_std 0.26571649706012357 15 num_total_running_mean 0.2584952704686113 16 swap_used_mean 0.2259118565985988 17 swap_used_max 0.2259118565985988 18 swap_used_min 0.2259118565985988 19 swap_total_max 0.22575656796917787 20 swap_total_min 0.22575656796917787 21 cpu_%_sy_max 0.1365820437324875 22 num_total_zombie_mean 0.11390310885038313 23 num_total_zombie_std 0.10723763936551345 24 cpu_%_wa_std 0.0907416420091951 25 num_total_zombie_max 0.026413319183205997 54 26 num_total_running_max 0.01755274957775299 27 cpu_%_wa_min 0.014745607382519732 28 num_total_running_min 0.012599508450718888 29 num_total_zombie_min 0.003668651291125702 30 num_total_stopped_max 0.00013320173861308682 31 swap_free_mean 6.659519335416864e-05 32 swap_free_max 6.659519335416864e-05 33 swap_free_min 6.659519335416864e-05 34 num_total_stopped_min 35 cpu_%_ni_mean 36 cpu_%_ni_std 37 cpu_%_ni_max 38 cpu_%_ni_min 39 cpu_%_hi_mean 40 cpu_%_hi_std 41 cpu_%_hi_max 42 cpu_%_hi_min 43 cpu_%_st_mean 44 cpu_%_st_std 45 cpu_%_st_max 46 cpu_%_st_min 47 mem_total_std 48 swap_total_std 49 swap_used_std 50 swap_free_std Tương tự đặc trưng liệu sử dụng tài nguyên hệ thống, đồ án thử nghiệm lấy 10, 20, 30 đặc trưng có độ ảnh hưởng cao Từ sử dụng mơ hình học máy để tìm tham số tốt trình bày chương 2.2.5 Độ đo đánh giá Khi xây dựng mơ hình Machine Learning, cần phép đánh giá để xem mơ hình sử dụng có hiệu khơng để so sánh khả mơ hình Hiệu mơ hình thường đánh giá dựa tập liệu kiểm thử (test data) Cụ thể, giả sử đầu mơ hình đầu vào tập kiểm thử mô tả 55 vectơ y_pred - vectơ dự đoán đầu với phần tử class dự đoán điểm liệu tập kiểm thử Ta cần so sánh vectơ dự đoán y_pred với vectơ class thật liệu, mơ tả vectơ y_true Có nhiều cách đánh giá mơ hình phân lớp Tuỳ vào toán khác mà sử dụng phương pháp khác Các phương pháp thường sử dụng là: accuracy score, confusion matrix, ROC curve, Area Under the Curve, Precision and Recall, F1 score, Top R error… Trước hết xét toán phân loại nhị phân • True Positive (TP): số lượng điểm lớp positive phân loại positive • True Negative (TN): số lượng điểm lớp negative phân loại negative • False Positive (FP): số lượng điểm lớp negative bị phân loại nhầm thành positive • False Negative (FN): số lượng điểm lớp positive bị phân loại nhầm thành negative 2.2.5.1 Confusion matrix Về bản, confusion matrix thể có điểm liệu thực thuộc vào class, dự đoán rơi vào class Để hiểu rõ hơn, quan sát Hình 2.13 sau đây: Hình 2.13: Confusion matrix Nó ma trận vng với kích thước chiều số lượng lớp liệu Giá trị hàng thứ i, cột thứ j số lượng điểm lẽ thuộc vào class i lại dự đoán thuộc vào class j 56 Chúng ta suy tổng phần tử tồn ma trận số điểm tập kiểm thử Các phần tử đường chéo ma trận số điểm phân loại lớp liệu 2.2.5.2 False Positive Rate (FPR), False Negative Rate (FNR) Hình 2.14: Biểu diễn TPR, FNR, FPR, TNR confusion matrix False Positive Rate (FPR) gọi False Alarm Rate (tỷ lệ báo động nhầm), tính tỷ lệ số điểm false positive (FP) số điểm thực negative (FP + TN) FPR = FP FP + TN (2.22) False Negative Rate (FNR) gọi Miss Detection Rate (tỷ lệ bỏ sót), tính tỷ lệ số điểm false negative (FN) số điểm thực positive (TP + FN) FNR = FN TP + FN (2.23) Trong toán phát IoT botnet, dự đốn nhầm tốt việc bỏ sót, tức ta chấp nhận False Positive Rate cao để đạt False Negative Rate thấp 2.2.5.3 Accuracy Cách đơn giản hay sử dụng accuracy (độ xác) Cách đánh giá đơn giản tính tỷ lệ số điểm dự đoán tổng số điểm tập liệu kiểm thử Từ suy accuracy tổng phần tử đường chéo ma trận chia cho tổng phần tử toàn ma trận Confusion matrix 57 𝐴𝐶𝐶 = 𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (2.24) 2.2.5.4 Precision Recall Với toán phân loại mà tập liệu lớp chênh lệch nhiều, có phép đo hiệu thường sử dụng Precision-Recall Trước hết xét toán phân loại nhị phân Ta coi hai lớp positive, lớp lại negative Xét Hình 2.15 đây: Hình 2.15: Minh họa cách tính Precision Recall Với cách xác định lớp positive, Precision định nghĩa tỷ lệ số điểm true positive (TP) số điểm phân loại positive (TP + FP) Precision = TP TP + FP (2.25) Recall định nghĩa tỷ lệ số điểm true positive số điểm thực positive (TP + FN) Recall = TP TP + FN (2.26) Precision cao đồng nghĩa với việc độ xác điểm tìm cao Recall cao đồng nghĩa với việc True Positive Rate cao, tức tỷ lệ bỏ sót điểm thực positive thấp Khi Precision = 1, điểm tìm thực positive, tức khơng có điểm negative lẫn vào kết Tuy nhiên, Precision = không đảm bảo mơ hình 58 tốt, câu hỏi đặt liệu mơ hình tìm tất điểm positive hay chưa Nếu mơ hình tìm điểm positive mà chắn ta khơng thể gọi mơ hình tốt Khi Recall = 1, điểm positive tìm thấy Tuy nhiên, đại lượng lại khơng đo liệu có điểm negative bị lẫn Nếu mơ hình phân loại điểm positive chắn Recall = 1, nhiên dễ nhận mơ hình cực tồi Một mơ hình phân lớp tốt mơ hình có Precision Recall cao, tức gần tốt Có hai cách đo chất lượng phân lớp dựa vào Precision Recall: Precision-Recall curve F-score Để thuận tiện cho nghiên cứu, đồ án sử dụng F1-score 2.2.5.5 F1-score F1-score harmonic mean precision recall (giả sử hai đại lượng khác không): 1 = + 𝐹1 precision recall hay 𝐹1 = 1 + precision Recall =2 precision recall precision + recall (2.27) 𝐹1-score có giá trị nằm nửa khoảng (0,1] 𝐹1 cao, phân lớp tốt Khi recall precision (tốt có thể), 𝐹1 = Khi recall precision thấp, ví dụ 0.1, 𝐹1 = 0.1 Kết chương Trong chương này, đồ án cung cấp số kiến thức học máy giải thuật học máy phổ biến bao gồm: Cây định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Naïve Bayes (Naïve Bayes), Máy vectơ hỗ trợ (Support Vector Machine) Ngoài ra, chương đưa mơ hình tổng quan cho tốn phát sớm mã độc IoT Botnet cụ thể chức năng, kỹ thuật sử dụng mục đích thành phần Kết triển khai thực nghiệm mơ hình với tập liệu thực tế đánh giá độ xác thuật tốn trình bày chương đồ án 59 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Môi trường triển khai thực nghiệm Q trình triển khai thực nghiệm để đánh giá mơ hình đề xuất tiến hành máy chủ với thông số kỹ thuật gồm: Bộ vi xử lý Intel I5-3210M, ổ cứng lưu trữ SSD dung lượng 512 GB, nhớ DDR4 GB Đồ án tìm hiểu sử dụng thuật tốn học máy thường sử dụng cho toán phát mã độc Cây định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Naïve Bayes (Naïve Bayes) Máy vectơ hỗ trợ (Support Vector Machine) để chọn phương pháp tối ưu Các thuật toán học máy đơn lẻ thử nghiệm Cây định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Naïve Bayes (Naïve Bayes, Máy vectơ hỗ trợ (Support Vector Machine) cài đặt thông qua ngôn ngữ Python với thư viện Scikitlearn (Sklearn) [27] IDE Jupyter-lab Python hỗ trợ nhiều thư viện mã nguồn mở cho phép cắt giảm thời gian công sức mà nhà phát triển phần mềm đưa vào lĩnh vực khác công việc học máy Một vài thư viện sử dụng trình thử nghiệm sau: Thư viện Sklearn: thư viện mạnh mẽ dành cho thuật toán học máy viết ngôn ngữ Python Thư viện cung cấp tập cơng cụ xử lý tốn machine learning statistical modeling gồm: classification, regression, clustering dimensionality reduction Thư viện Numpy: thư viện toán học phổ biến Python NumPy trang bị hàm số tối ưu, cho phép làm việc hiệu với ma trận mảng, đặc biệt liệu ma trận mảng lớn với tốc độ xử lý nhanh nhiều lần sử dụng Python đơn Thư viện Pandas: thư viện hỗ trợ đắc lực thao tác liệu Pandas cung cấp nhiều chức xử lý làm việc cấu trúc liệu gồm hai loại đối tượng – DataFrame (loại hai chiều bảng tính với hàng cột) Sê-ri (một cột đơn) hỗ trợ nhiều loại liệu đầu vào CSV, TSV, Excel, HDF, JSON, THML, SQL, HDF5 60 3.2 Kết thực nghiệm 3.2.1 Dữ liệu luồng mạng Thuật toán Cây định (Decision Tree) cho kết độ xác mơ hình thể Bảng 3.2 Bảng 3.1: Kết liệu luồng mạng sử dụng Cây định Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 90.24% 90.07% 90.24% 90.08% 4.94% 22.91% 20 90.31% 90.21% 90.31% 90.06% 3.83% 24.62% 30 90.96% 90.80% 90.96% 90.78% 4.10% 23.25% Thuật toán Rừng ngẫu nhiên (Random Forest – 50) cho kết độ xác mơ hình thể Bảng 3.3 Bảng 3.2: Kết liệu luồng mạng sử dụng Rừng ngẫu nhiên Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 90.09% 89.92% 90.09% 89.91% 4.76% 23.73% 20 90.46% 90.32% 90.53% 90.21% 3.86% 24.93% 30 91.54% 91.40% 91.54% 91.33% 3.38% 23.56% Thuật tốn Nạve Bayes (Nạve Bayes) cho kết độ xác mơ hình thể Bảng 3.4 Bảng 3.3: Kết liệu luồng mạng sử dụng Naïve Bayes Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 79.61% 87.95% 79.61% 80.71% 27.66% 1.06% 20 78.24% 85.85% 78.24% 79.35% 28.06% 5.45% 30 77.95% 87.20% 77.95% 79.03% 30.37% 1.02% 61 Thuật toán Máy vectơ hỗ trợ (Support Vector Machine) cho kết độ xác mơ hình thể Bảng 3.5 Bảng 3.4: Kết liệu luồng mạng sử dụng Máy vectơ hỗ trợ Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 87.99% 88.49% 87.99% 88.17% 10.15% 16.93% 20 89.30% 90.05% 89.30% 89.50% 10.44% 11.36% 30 88.87% 89.08% 88.87 88.95% 9.02 16.22% Hình 3.1 cho ta thấy độ xác chung thuật toán học máy ta trích chọn cịn lại 10, 20 30 đặc trưng liệu luồng mạng: Hình 3.1: So sánh độ xác thuật tốn học máy liệu luồng mạng 3.2.2 Dữ liệu sử dụng tài nguyên hệ thống Thuật toán Cây định (Decision Tree) cho kết độ xác mơ hình thể Bảng 3.6 62 Bảng 3.5: Kết liệu sử dụng tài nguyên hệ thống sử dụng Cây định Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 98.05% 98.11% 98.05% 98.06% 2.15% 1.39% 20 98.55% 98.57% 98.55% 98.56% 1.31% 1.80% 30 98.34% 98.38% 98.34% 98.33% 0.59% 4.49% Thuật toán Rừng ngẫu nhiên (số chọn mặc định 50) cho kết độ xác mơ hình thể Bảng 3.7 Bảng 3.6: Kết liệu sử dụng tài nguyên hệ thống sử dụng Rừng ngẫu nhiên Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 99.28% 99.28% 99.28% 99.28% 0.39% 1.67% 20 98.92% 98.91% 98.92% 98.91% 0.60% 2.31% 30 98.48% 98.49% 98.48% 98.47% 0.39% 4.49% Thuật tốn Nạve Bayes (Nạve Bayes) cho kết độ xác mơ hình thể Bảng 3.8 Bảng 3.7: Kết liệu sử dụng tài nguyên hệ thống sử dụng Naïve Bayes Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 91.83% 91.77% 91.80% 91.79% 5.08% 16.99% 20 86.91% 90.39% 86.91% 87.46% 17.20% 2.57% 30 77.29% 87.08% 77.29% 78.68% 29.91% 2.22% Thuật toán Máy vectơ hỗ trợ (Support Vector Machine) cho kết độ xác mơ hình thể Bảng 3.9 63 Bảng 3.8: Kết liệu sử dụng tài nguyên hệ thống sử dụng Máy vectơ hỗ trợ Độ đo Số feature Accuracy Precision Recall F1-score FPR FNR 10 97.90% 97.93% 97.90% 97.91% 1.86% 2.79% 20 97.83% 97.85% 97.83% 97.84% 1.81% 3.08% 30 97.76% 97.75% 97.76% 97.75% 0.99% 5.54% Hình 3.2 cho ta thấy độ xác chung thuật tốn học máy ta trích chọn cịn lại 10, 20 30 đặc trưng liệu sử dụng tài ngun hệ thống: Hình 3.2: So sánh độ xác thuật toán học máy liệu sử dụng tài nguyên hệ thống 3.3 Đánh giá kết thực nghiệm Từ bảng kết 3.2, 3.3, 3.4, 3.5 cho liệu luồng mạng, ta nhận thấy thuật toán Random Forest cho kết tốt Điều cho thấy hiệu mơ hình học máy Random Forest sử dụng độ tương đồng Cosine Similarity để loại bỏ đặc trưng giống Information Gain để trích chọn đặc trưng thực tốt cho tốn phân loại IoT botnet Bên cạnh đó, hai thuật toán cho kết tương 64 đối tốt Decision Tree (ACC cao 90.96%) Support Vector Machine (ACC cao 89.30%) Với liệu sử dụng tài nguyên hệ thống, thuật toán Random Forest cho độ xác cao lên đến 99.28%, với số lượng đặc trưng 10, 20, 30 độ xác tương ứng 99.28%, 98.92%, 98.48% Bằng việc loại bỏ đặc trưng có độ tương đồng cao (bằng 1) cụ thể Bảng 2.6 giúp ích cho việc tránh bỏ sót đặc trưng quan trọng liệu Trong mô hình mà đồ án đưa (Hình 2.12) áp dụng phương pháp học kết hợp (Bộ tổng hợp), ví dụ như: kết hợp liệu, kết hợp trung bình cộng thuật tốn, … Tuy nhiên, từ kết phân tích, phát IoT Botnet hai liệu đơn lẻ, ta dễ dàng nhận thấy liệu sử dụng tài nguyên hệ thống tốt hẳn so với liệu luồng mạng (trung bình độ xác tăng 7-13% thuật tốn) Khơng vậy, liệu sử dụng tài ngun hệ thống có độ xác cao 99.28%, liệu luồng mạng có độ xác cao 91.54% Cho nên, đồ án cần sử dụng liệu sử dụng tài nguyên hệ thống để phát IoT Botnet việc kết hợp trường hợp không thật cần thiết Từ liệu, ta nhận thấy độ đo không thay đổi đáng kể ta sử dụng 10, 20, 30 đặc trưng Điều việc lấy số lượng đặc trưng không ảnh hưởng nhiều đến kết quả, đồng thời mang lại ý nghĩa vô quan trọng việc triển khai hệ thống thực tế Việc lấy số lượng đặc trưng làm giảm nhiều khả tính tốn dung lượng lưu trữ Bên cạnh lấy nhiều thừa đặc trưng gây tình trạng mơ hình hiệu có nhiều nhiễu xuất Kết chương Trong chương này, đồ án trình bày kết thực nghiệm triển khai mơ hình ứng dụng mơ tả chương với liệu tảng phần cứng, phần mềm kèm Từ đó, đồ án đưa so sánh, đánh giá trực quan hiệu thuật toán học máy: Cây định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Naïve Bayes (Naïve Bayes), Máy vectơ hỗ trợ (Support Vector Machine) Kết thử nghiệm cho thấy hiệu vượt trội mơ hình ứng dụng khả ứng dụng vào giải toán phát mã độc IoT Botnet thực tế 65 KẾT LUẬN Trong phạm vi nghiên cứu phân tích, phát mã độc Botnet thiết bị IoT, đồ án tiến hành tìm hiểu phương pháp phân tích, phát mã độc Botnet thiết bị IoT phổ biến sau xây dựng, ứng dụng thực nghiệm mơ hình học máy phân tích, phát mã độc IoT Botnet Cụ thể, đồ án đạt số kết sau: - Nghiên cứu, lựa chọn phương pháp xây dựng thành cơng mơ hình học máy phân tích, phát mã độc IoT Botnet - Thử nghiệm phát mã độc IoT Botnet thuật toán đơn lẻ: Cây định, Rừng ngẫu nhiên, Naive Bayes, Máy vectơ hỗ trợ Kết cho thấy mức độ ứng dụng hiệu thuật toán học máy - Mơ hình cách thức triển khai đem lại tính ứng dụng thực tế cao việc giảm nhiều khả tính tốn dung lượng lưu trữ Chỉ với liệu đầu vào nhỏ phát hành vi IoT Botnet với độ xác cao, hạn chế rủi ro tiềm ẩn mã độc thiết bị hệ thống thông tin Dựa kết nghiên cứu, đồ án đưa số kiến nghị cho hướng phát triển tương lai sau: - Tiếp tục nghiên cứu, thử nghiệm kết hợp thuật tốn học máy, phương pháp trích chọn đặc trưng nhằm cải thiện tốc độ tính tốn, độ xác dự đốn - Ứng dụng thuật toán nhiều liệu khác nhiều liệu lớn để đánh giá tính hữu dụng mơ hình trình bày - Bổ sung độ đo đánh giá để tăng độ xác cho thuật toán 66 DANH MỤC TÀI LIỆU THAM KHẢO [1] Majda Wazzan, Daniyal Algazzawi, Omaima Bamasaq, Aiiad Albeshri, Li Cheng, “Internet of Things Botnet Detection Approaches,” Analysis and Recommendations for Future Research, 20 June 2021 [2] K Ashton, “That ‘internet of things’ thing,” RFID J., vol 22, no 7, p 97–114, 2009 [3] ITU-T, Recommendation, “International Telecommunication Union Overview of the Internet of things,” 15 06 2012 [Online] Available: https://www.itu.int/rec/TREC-Y.2060-201206-I [4] Oracle, [Online] Available: https://www.oracle.com/internet-of-things/what-isiot/ [5] “Wikipedia,” Wikimedia Foundation, Inc., 13 12 2021 [Online] Available: https://en.wikipedia.org/wiki/Botnet [6] Alzahrani H., Abulkhair M., Alkayal E., “A multi-class neural network model for rapid detection of IoT botnet attacks,” Int J.Adv Comput Sci, 2020 [7] Beltrán-García, P.; Aguirre-Anaya, E.; Escamilla-Ambrosio, P.J.; AcostaBermejo, “In Communications in Computer and Information Science,” Springer Science and Business Media LLC, no Berlin, Germany, p 247–257, 2019 [8] De Donno, M.; Dragoni, N.; Giaretta, A.; Spognardi, A, “Analysis of DDoScapable IoT malwares,” In Proceedings of the 2017 Federated Conference on Computer Science and Information Systems (FedCSIS), Prague, Czech Republic, p 807–816, 2017 [9] P Paganini, “The Hajime Botnet Continues to Grow and Implements a New Attack Technique,” 2017 [Online] Available: https://securityaffairs.co/wordpress/58415/malware/hajime-botnet.html [Accessed March 2021] [10] Saleh Soltan, Prateek Mittal, H Vincent Poor, “BlackIoT: In Proceedings of the 27th {USENIX} Security Symposium ({USENIX} Security 18),” IoT botnet of high wattage devices can disrupt the power grid, pp 15-23, 2018 [11] “Trendmicro, Mirai Updates: New Variant,” 2020 [Online] Available: https://www.trendmicro.com/vinfo/us/security/news/ internet-of-things/miraiupdates-new-variant-mukashi-targets-nas-devices-new-vulnerability-exploited-ingpon-routersupx-packed-fbot [Accessed March 2021] [12] Y P I R Syarif Yusirwan S, “Implementation of Malware Analysis using Static and Dynamic Analysis Method,” International Journal of Computer Applications, 67 April 2015 [13] A Moser, C Kruegel, E Kirda, “Limits of Static Analysis for Malware Detection,” Computer security applications conference, pp 421-430, 2007 [14] Y Yanfang, “A survey on malware detection using data mining techniques,” ACM Comput Surv CSUR, no 50.(3), p 1–40 [15] X Yang, “Machine learning and deep learning methods for cybersecurity,” IEEE Access, 2018 [16] T M Phương, Nhập mơn trí tuệ nhân tạo, Hà Nội, 2014 [17] [Online] Available: https://towardsdatascience.com/workflow-of-a-machinelearning-project-ec1dba419b94 [18] M Stratton, “Genome-wide association study of 14 000 cases of seven common diseases and 3000 shared,” The Journal of Nature, vol 447, no 7145, p 661–678, 2007 [19] L Breiman, “Random Forests,” Machine Learning Journal Paper, vol 45, 2001 [20] Leo Breiman, Jerome Friedman, Charles J Stone, R.A Olshen, Classification and Regression Trees, Taylor & Francis, 1984 [21] B P Hofer, “Distributed Decision Tree Induction within the Grid Data Mining Framework GridMiner-Core,” Institute for Software Science, March 2004 [22] J.-H Chiang, P.-Y Hao, “Support vector learning mechanism for fuzzy rule-based modeling: a new approach,” IEEE Trans, vol 12, pp 1-12, 2004 [23] L.J.Cao, Francis E.H.Tay, “Support vector machine with adaptive parameters in Financial time series forecasting,” IEEE trans, vol 14, p 6, 2003 [24] Sheng-Hsun Hsu, JJ Po-An Hsieh, Ting-Chih CHih, Kuei-Chu Hsu, “A two-stage architecture for stock price forecasting by integrating self-organizing map and support vector regression,” Expert system with applications, no 6, 2009 [25] N Đ Vinh, “Phân tích câu hỏi hệ thống hỏi đáp Tiếng Việt,” in Khóa luận tốt nghiệp đại học Trường Đại học Công Nghệ, Đại học Quốc gia Hà Nội, 2009 [26] H.-V Le, Q.-D Ngo, “V-Sandbox for Dynamic Analysis IoT Botnet,” IEEE Access, vol 8, p 145768–145786, 2020 [27] “scikit-learn: machine learning in Python — scikit-learn 0.20.2 documentation.,” [Online] Available: https://scikit-learn.org/stable/ [Accessed 16 Jan 2019] 68