(Đồ án tốt nghiệp) tìm hểu spark cho phân tích dữ liệu lớn và áp dụng cho bài toán phát hiện xâm nhập mạng

67 13 0
(Đồ án tốt nghiệp) tìm hểu spark cho phân tích dữ liệu lớn và áp dụng cho bài toán phát hiện xâm nhập 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN TÌM HIỂU SPARK CHO PHÂN TÍCH DỮ LIỆU LỚN VÀ ÁP DỤNG CHO BÀI TỐN PHÁT HIỆN XÂM NHẬP MẠNG GVHD: QCH ĐÌNH HOÀNG SVTT1: HỒ VĂN PHONG MSSV: 15110277 SVTT2: TRẦN QUANG MINH MSSV: 15110250 SKL005878 Tp Hồ Chí Minh, tháng 07/2019 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN HỒ VĂN PHONG : 15110277 TRẦN QUANG MINH : 15110250 Đề tài: TÌM HIỂU SPARK CHO PHÂN TÍCH DỮ LIỆU LỚN VÀ ÁP DỤNG CHO BÀI TỐN PHÁT HIỆN XÂM NHẬP MẠNG KHÓA LUẬN TỐT NGHIỆP KỸ SƢ CNTT GIÁO VIÊN HƢỚNG DẪN THS QCH ĐÌNH HỒNG KHOÁ 2015 - 2019 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN HỒ VĂN PHONG : 15110277 TRẦN QUANG MINH : 15110250 Đề tài: TÌM HIỂU SPARK CHO PHÂN TÍCH DỮ LIỆU LỚN VÀ ÁP DỤNG CHO BÀI TỐN PHÁT HIỆN XÂM NHẬP MẠNG KHĨA LUẬN TỐT NGHIỆP KỸ SƢ CNTT GIÁO VIÊN HƢỚNG DẪN THS QCH ĐÌNH HỒNG KHỐ 2015 - 2019 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Họ tên Sinh viên 1: Trần Quang Minh MSSV: 15110250 Họ tên Sinh viên 2: Hồ Văn Phong MSSV: 15110277 Ngành: Công nghệ Thơng tin Tên đề tài: Tìm hiểu Spark cho phân tích liệu lớn áp dụng cho toán phát xâm nhập mạng Họ tên Giáo viên hướng dẫn: Ths Qch Đình Hồng NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm 4.Điểm : ThS Qch Đình Hồng PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên 1: Trần Quang Minh MSSV: 15110250 Họ tên Sinh viên 1: Hồ Văn Phong MSSV: 15110277 Ngành: Công nghệ Thông tin Tên đề tài: Tìm hiểu Spark cho phân tích liệu lớn áp dụng cho toán phát xâm nhập mạng Họ tên Giáo viên phản biện: ………………………………………… NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm Điểm : TP.HCM, ngày tháng năm 2019 Giáo viên phản biện ThS Hoàng Long LỜI CẢM ƠN Nhóm chúng tơi xin chân thành cảm ơn khoa Cơng Nghệ Thông Tin, Bộ Môn Hệ Thống Thông Tin, trường Đại học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh tạo điều kiện thuận lợi cho thực đề tài Chúng xin gửi lời cảm ơn chân thành đến thầy Qch Đình Hồng, người tận tình bảo hướng dẫn nhóm chúng tơi thực đề tài Bên cạnh đó, xin gửi lời cảm ơn đến thầy cô giảng viên trường Đại Học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh nói chung thầy giảng viên khoa Cơng Nghệ Thơng Tin nói riêng, người giảng dạy, tạo điều kiện cho chúng tơi ích lũy kiến thức q báu năm học qua Dù cố gắng hoàn thành đề tài khóa luận yêu cầu, thời gian hạn hẹp khả hạn chế nên nhóm chúng tơi chắn khơng tránh khỏi thiếu sót Chúng tơi mong nhận thơng cảm tận tình bảo thầy bạn Nhóm chúng tơi xin chân thành cảm ơn TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HCM KHOA CÔNG NGHỆ THÔNG TIN o ĐỀ CƢƠNG LUẬN VĂN TỐT NGHIỆP Họ tên SV thực 1: Họ tên SV thực 2: Thời gian làm luận văn: Chuyên ngành: Tên luận văn: Tìm hiểu Spark cho phân tích liệu lớn áp dụng cho toán phát xâm nhập mạng Giáo viên hướng dẫn: Ths Qch Đình Hồng NHIỆM VỤ CỦA LUẬN VĂN: Nhiệm vụ luận văn áp dụng vài thuật toán học máy Spark hỗ trợ vào tập liệu phổ biến cho vấn đề xâm nhập mạng Sau đó, luận văn tập trung vào tiến hành đánh giá hiệu số thuật toán phát xâm nhập mạng Để đạt điều đó, chúng tơi tập trung tìm hiểu số vấn đề sau: Tìm hiểu tổng quan phát xâm nhập mạng Tìm hiểu tổng quan Spark cho phân tích liệu lớn Tìm hiểu tổng quan thuật tốn học máy mà Spark hỗ trợ Tìm hiểu tập liệu mạng phổ biến sử dụng cho toán phát xâm nhập mạng Đánh giá so sánh số thuật toán học máy cho toán phát xâm nhập mạng KẾ HOẠCH THỰC HIỆN: STT Thời gian 10 11 12 Từ 01/03/2019 Đến 07/03/2019 Từ 08/03/2019 Đến 15/03/2019 Từ 16/03/2019 Đến 29/03/2019 Từ 30/03/2019 Đến 12/04/2019 Từ 13/04/2019 Đến 26/04/2019 Từ 27/04/2019 Đến 10/05/2019 Từ 10/05/2019 Đến 24/05/2019 Từ 25/05/2019 Đến 07/06/2019 Từ 08/06/2019 Đến 21/06/2019 Từ 22/06/2019 Đến 28/06/2019 Từ 29/06/2019 Đến 05/07/2019 Từ 06/07/2019 Đến 12/07/2019 Ý kiến giảng viên hướng dẫn (Ký ghi rõ họ tên) TP Hồ Chí Minh, ngày … tháng … năm 2019 Người viết đề cương Hình 4.6 Minh họa phƣơng pháp One hot encoding Trong tập liệu NSL-KDD, cột chứa nhãn liệu ta chuyển đổi thành dạng: - Nhãn có hai loại normal attack đánh indexer thành 1, nhãn có nhãn normal giữ ngun cịn lại đánh nhãn attack - Nhãn có năm loại normal, dos, probe, r2l, u2r đánh indexer theo thứ tự 0, 1, 2, 3, Phương án biến đổi mô tả chi tiết bảng 4.4 Bảng 4.4 Phƣơng án biến đổi nhãn cho tiền xử lý liệu Loại nhãn Normal Probe Dos U2R R2L 47 4.2.3.2 Lựa chọn thuộc tính Lưu chọn thuộc tính bước quan trọng việc tiền xử lí liệu Chúng ta chọn thuộc tính quan trọng có ảnh hưởng đến thuật tốn tập thuộc tính ban đầu Mặt khác, lựa chọn liệu giúp giải số vấn đề liệu thuộc tính bị nhiễu, giảm số chiều liệu, tăng tốc độ xử lí thuật tốn tăng độ xác thuật tốn Để thực cơng việc này, nhóm chọn phương pháp Attribute Ratio (AR) để lựa chọn thuộc tính Chỉ số AR thuộc tính i tính sau: AR(i) = MAX(CR(j)) Trong đó, số Class Ratio (CR) thuộc tính thể tỷ lệ class thuộc tính j Dựa vào loại liệu thuộc tính, CR tính theo hai công thức: - Công thức cho numeric: CR(j) = AVG trung bình cộng - Cơng thức cho binary: CR(j) = Bảng 4.5 Loại liệu thuộc tính tập KDD-NSL 48 num_failed_logins(11), num_compromised(13), num_root(16), num_file_creations(17), num_shells(18), num_access_files(19), num_outbound_cmds(20), count(23) srv_count(24), serror_rate(25), srv_serror_rate(26), rerror_rate(27), srv_rerror_rate(28), same_srv_rate(29) diff_srv_rate(30), srv_diff_host_rate(31), dst_host_count(32), dst_host_srv_count(33), dst_host_same_srv_rate(34), dst_host_diff_srv_rate(35), dst_host_same_src_port_rate(36, dst_host_srv_diff_host_rate(37), dst_host_serror_rate(38), dst_host_srv_serror_rate(39), dst_host_rerror_rate(40), dst_host_srv_rerror_rate(41) Trong tập KDD-NSL có 41 thuộc tính, bảng 4.5 mơ tả loại liệu thuộc tính Dựa vào đó, áp dụng tính số AR Chúng ta ví dụ với cách tính số AR cho thuộc tính count - thuộc tính số 23 Bảng 4.6 Kết tính mean cho thuộc tính count 49 Dựa vào bảng 4.6, ta tính số AR(23) = 0.348512787/0.16459408 = 2.117 Với thuộc tính dạng binary logged_in – thuộc tính số 12, dựa vào kết bảng số 4.7 tính số AR(12) = 909/86 = 10.6 Bảng 4.7 Bảng thống kê tần số thuộc tính logged_in Dos Tương tự, tính số AR cho thuộc tính cịn lại kết thống kê bảng 4.8 50 Bảng 4.8 Thống kê kết số AR cho 41 thuộc tính Từ bảng thống kê bảng 4.8, nhóm chúng tơi lựa chọn thuộc tính có số AR từ trở lên đồng nghĩa với việc bỏ thuộc tính số 22, 7, 15, 21, 20 nhằm tăng độ xác thuật tốn 4.2.4.3 Ƣớc lƣợng độ xác lực chọn tham số Để thực công việc để chọn hyperparameter tốt cho model, nhóm chúng tơi sử dụng phương pháp gridsearch để chọn tham số cross validation dự đoán xem ứng với tham số thi cho model tốt 51 Đầu tiên, nhóm chia liệu thành năm fold số lượng phần tử fold gần nhau, sau ứng với thuật tốn chúng tơi chọn danh sách tham số Chúng chọn thuật toán để thực thực nghiệm thuật tốn chúng tơi lại chọn tham số để thực dự đoán Với thuật toán Randomforest chọn tham số thử nghiệm numTree(số lượng cây) với giá trị 100, 400, 600, 800,1000 Với thuật tốn Neural Network chúng tơi chọn số lượng node lớp hidden với giá trị 20, 30,40,50,60 Tht tốn Logistic regression nhóm chọn chọn tham số threshold giá trị 0.4, 0.5, 0.6 , 0.7, 0.8 Và cuối với thuật tốn Support Vector Machine nhóm chọn tham số C với giá trị sau 0.4, 0.5, ,2 Kết tổng hợp mô tả chi tiết bảng 4.9 Bảng 4.9 Hyperparameter cho tham số lên thuật toán Tên thuật toán Randomforest Neural Network Logistic regression Support Vector Machine Sau chọn hyperparameter ứng với thuật toán, ta tiến hành lấy 5-1 fold để tiến hành xây dựng model Với tham số ta xây dựng model dựa fold đem fold cịn lai để tiến hành kiểm tra độ xác model.Sau kiểm tra với model ta lại có số đo xác ững với model, cuối ta tính độ chính xác trung bình cách lấy độ xác model cộng lại chia cho 5, kết đưa để đánh giá với tham số lại thuật tốn Ví dụ với thuật 52 tốn Randomforest ta có tham số numTree ứng với fold ta lại có x lần chạy Sau ta tính độ chính xác trung bình tham số chọn tham số có độ xác trung bình cao Tương tự ta thực với thuật tốn cịn lại Kết tính nhóm miêu tả bảng 4.10, 4.11, 4.12 4.13 Bảng 4.10 Kết độ xác trung bình áp dụng fold lên tham số cho thuật toán Randomforest NumTree Bảng 4.11 Kết độ xác trung bình áp dụng fold lên tham số cho thuật toán Neural Network Bảng 4.12 Kết độ xác trung bình áp dụng fold lên tham số cho thuật toán Logistic regression Threshold 53 Bảng 4.13 Kết độ xác trung bình áp dụng fold lên tham số cho thuật tốn Support Vector Machine regularization parameter Sau có độ xác trung bình tham số, ta xem xét ứng với giá trị tham số cho ta độ xác trung bình cao Như với trường hợp ứng với thuật toán ta lại chọn tham số tốt Ta hyperparameter tốt cho randomforest 400, Neural Network 50, Logistic regression 0.4 SVM Bảng 4.14 mô tả kết chọn hyperparameter tốt lên tham số tương ứng với thuật toán Bảng 4.14 Hyperparameter tốt cho tham số tƣơng ứng với thuật toán Tên thuật toán Randomforest Neural Network Logistic regressio Support Vector Mac Sau chọn tham số tốt cho thuật toán ta xậy dựng lại model tập tập liệu train ứng với tham số tìm Sau xây dựng xong ta đem model kiểm tra tập test 54 4.2.4.4 Tiến hành kiểm tra model Sau nhóm có model, nhóm tiến hành predict với tập test tập validate để so sánh kết Kết thể bảng 4.13, 4.14, 4.15 4.16 Bảng 4.15 Kết thực nghiệm cho thuật toán Randomforest Randomforest(numTree=400) Test set Validation Test Bảng 4.16 Kết thực nghiệm cho thuật toán Neural Network Test set Validation Test+ Bảng 4.17 Kết thực nghiệm cho thuật toán Logistic regression Logistic regression Test set Validation Test+ Bảng 4.18 Kết thực nghiệm cho thuật toán Support Vector Machine Support Vector Machine Test set Validation Test+ 55 Từ bảng kết phía trên, ta thấy thuật tốn Neural Network cho ta độ xác cao Nhưng khơng phải mà lại kết luận áp dụng Neural Network tốt thuật tốn cịn lại Mặt khác, chi phí huấn luyện model Neural Network tốn so với thuật tốn cịn lại Vì vậy, việc lựa chọn thuật tốn cịn phụ thuộc vào nhu cầu, yêu cầu toán đặt 56 KẾT LUẬN KẾT QUẢ ĐẠT ĐƢỢC Phát xâm nhập mạng khía cạnh quan tâm hàng đầu lĩnh vực an ninh mạng Nó giúp giảm thiểu thiệt hại nghiêm trọng cho hệ thống mạng Quá trình thu thập liệu mạng tạo lượng lớn liệu đầu vào cần đến công cụ mạnh mẽ xác để giải tốn Spark Luận văn tập trung vào tìm hiểu Spark cho phân tích liệu lớn áp dụng cho tốn phát xâm nhập mạng Những kết đạt luận văn sau: Thứ nhất, luận văn trình bày hệ thống hóa vấn đề khía cạnh liên quan tới phát xâm nhập mạng Thứ hai, luận văn tìm hiểu tổng quan, kiến trúc, thành phần gói MLlib Spark Thơng qua gói MLlib, tìm thấy số thuật tốn học máy Spark hỗ trợ gồm: học có giám sát, gợi ý, học khơng có giám sát, phân tích đồ thị deep learning Thứ ba, luận văn đề xuất việc thực nghiệm vài thuật toán học máy phù hợp cho toán phát xâm nhập mạng Spark Bên cạnh đó, luận văn tập trung giải vấn đề tăng tốc độ tính tốn thuật toán học máy, đặc biệt thuật tốn có khối lượng tính tốn lớn nhờ vào Spark Từ đó, tốn đơn giản hóa rút ngắn thời gian tính tốn dễ dàng đưa so sánh đánh giá hiệu thuật tốn KHĨ KHĂN GẶP PHẢI Nguồn tài liệu đề tài cịn nên q trình tìm kiếm phục vụ cho đề tài gặp nhiều khó khăn Do kiến thức cịn nhiều hạn chế ngơn ngữ nhóm nên q trình thực gặp nhiều trục trặc lỗi Do thời gian hạn hẹp có nhiều đề tài nghiên cứu học kì nên chưa có hội giới thiệu hết chức Spark lợi ích mang lại 57 VẤN ĐỀ TỒN ĐỌNG VÀ HƢỚNG PHÁT TRIỂN Trong nghiên cứu này, luận văn dừng lại việc tìm hiểu nghiên cứu vài thuật toán học máy cho toán Nhiều thuật toán Spark hỗ trợ chưa thực nghiệm, xem hướng phát triển tương lai Đồng thời, thuật toán chạy Spark cluster việc kết hợp hướng tiếp cận dựa vào bất thường hướng tiếp cận dựa vào dấu hiệu xâm nhập phát cơng với tỷ lệ phát cao mà tỷ lệ cảnh báo sai thấp hướng phát triển luận văn 58 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hoàng Ngọc Thanh, Một cách tiếp cận để giảm chiều liệu việc xây dựng hệ thống phát xâm nhập mạng hiệu quả, Hội thảo lần thứ II: Một số vấn đề chọn lọc an tồn an ninh thơng tin, TP Hồ Chí Minh, 12/2017 [2] Trần Thị Hương, Đánh giá hiệu số thuật toán phát xâm nhập mạng, Luận văn thạc sĩ, Đại học Khoa học tự nhiên - ĐHQGHN, 2016, trang 04-10 Tiếng Anh [3] Anna L Buczak, Erhan Guven, A Survey of Data Mining and Machine Learning methods for Cyber Security Intrusion Detection, IEEE Communications Survey & Tutorials, 2016, trang 1153-1174 [4] Chuanlong Yin, Yuefei Zhu, Jinlong Fei, Xinzheng He, A Deep learning approach for instrusion detection using recurrent neural networks, IEEE Access, 2017, trang 21954-21960 [5] https://www.unb.ca/cic/datasets/nsl.html 59 ... hướng tìm hiểu Spark cho phân tích liệu lớn áp dụng cho tốn xâm nhập mạng 1.2 MỤC TIÊU Nhiệm vụ đề tài áp dụng vài thuật toán học máy Spark hỗ trợ vào tập liệu phổ biến cho vấn đề xâm nhập mạng. .. Spark cho phân tích liệu lớn + Tìm hiểu tổng quan thuật tốn học máy mà Spark hỗ trợ + Tìm hiểu tập liệu mạng phổ biến sử dụng cho toán phát xâm nhập mạng + Đánh giá so sánh số thuật toán học máy cho. .. luận văn áp dụng vài thuật toán học máy Spark hỗ trợ vào tập liệu phổ biến cho vấn đề xâm nhập mạng Sau đó, luận văn tập trung vào tiến hành đánh giá hiệu số thuật toán phát xâm nhập mạng Để đạt

Ngày đăng: 21/12/2021, 09:13

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

Tài liệu liên quan