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 TOÁN PHÁT HIỆN XÂM NHẬP MẠNG GVHD: QUÁCH ĐÌNH HOÀNG SVTT1: HỒ VĂN PHONG MSSV: 15110277 SVTT2: TRẦN QUANG MINH MSSV: 15110250 SKL 0 0 5 8 7 8 Tp. Hồ Chí Minh, tháng 07/2019 do an 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 TOÁ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. QUÁCH ĐÌNH HOÀNG KHOÁ 2015 - 2019 do an 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 TOÁ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. QUÁCH ĐÌNH HOÀNG KHOÁ 2015 - 2019 do an ĐH SƢ PHẠM KỸ THUẬT TP.HCM CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc ------------ ------------ PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Họ và tên Sinh viên 1: Trần Quang Minh MSSV: 15110250 Họ và 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 dữ liệu lớn và áp dụng cho bài toán phát hiện xâm nhập mạng Họ và tên Giáo viên hướng dẫn: Ths. Quách Đình Hoàng NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: .HCM, ngày tháng năm 2019 Giáo viên hướng dẫn ThS.
Quách Đình Hoàng Ths. Quách Đình Hoàng 3 do an ĐH SƢ PHẠM KỸ THUẬT TP.HCM CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc ------------ ------------ PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên 1: Trần Quang Minh MSSV: 15110250 Họ và 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 dữ liệu lớn và áp dụng cho bài toán phát hiện xâm nhập mạng Họ và tên Giáo viên phản biện: ………………………………………… NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: .HCM, ngày tháng năm 2019 Giáo viên phản biện ThS. Hoàng Long 4 do an 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 chúng tôi thực hiện đề tài này.
Chúng tôi cũng xin được gửi lời cảm ơn chân thành nhất đến thầy Quách Đình Hoàng, người đã tận tình chỉ bảo và hướng dẫn nhóm chúng tôi thực hiện đề tài này. Bên cạnh đó, chúng tôi xin gửi lời cảm ơn đến các thầy cô giảng viên của trường Đại Học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh nói chung cũng như các thầy cô giảng viên khoa Công Nghệ Thông Tin nói riêng, những người đã giảng dạy, tạo điều kiện cho chúng tôi ích lũy được những kiến thức quý báu trong những năm học qua. Dù đã cố gắng hoàn thành đề tài khóa luận đúng yêu cầu, nhưng do thời gian hạn hẹp và khả năng còn hạn chế nên nhóm chúng tôi chắc chắn sẽ không tránh khỏi thiếu sót. Chúng tôi mong nhận được sự thông cảm và tận tình chỉ bảo của các thầy cô và các bạn.
Nhóm chúng tôi xin chân thành cảm ơn 5 do an 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ọ và tên SV thực hiện 1: Trần Quang Minh MSSV: 15110250 Họ và tên SV thực hiện 2: Hồ Văn Phong MSSV: 15110277 Thời gian làm luận văn: Từ: 03/2019 Đến: 07/2019 Chuyên ngành: Hệ thống thông tin Tên luận văn: Tìm hiể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 Giáo viên hướng dẫn: Ths. Quách Đình Hoàng NHIỆM VỤ CỦA LUẬN VĂN: Nhiệm vụ của luận văn là áp dụng một vài thuật toán học máy được Spark hỗ trợ vào tập dữ 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 quả một số thuật toán trong phát hiện xâm nhập mạng.
Để đạt được điều đó, chúng tôi tập trung tìm hiểu một số vấn đề sau: 1. Tìm hiểu tổng quan về phát hiện xâm nhập mạng. Tìm hiểu tổng quan về Spark cho phân tích dữ liệu lớn. Tìm hiểu tổng quan các thuật toán học máy mà Spark hỗ trợ.
Tìm hiểu về các tập dữ liệu mạng phổ biến được sử dụng cho bài toán phát hiện xâm nhập mạng. Đánh giá và so sánh một số thuật toán học máy cho bài toán phát hiện xâm nhập mạng. KẾ HOẠCH THỰC HIỆN: 6 do an STT Thời gian Công việc Ghi chú Từ 01/03/2019 Tìm hiểu tài liệu và tài liệu liên quan. 1 Đến 07/03/2019 Tìm hiểu tổng quan về phát hiện xâm nhập mạng.
Từ 08/03/2019 2 Tìm hiểu tổng quan về Spark cho phân tích dữ liệu lớn. Đến 15/03/2019 Từ 16/03/2019 Tìm hiểu tổng quan các thuật toán học máy mà Spark hỗ 3 Đến 29/03/2019 trợ. Tìm hiểu về các tập dữ liệu mạng phổ biến được sử dụng Từ 30/03/2019 4 cho bài toán phát hiện xâm nhập mạng. Đến 12/04/2019 Chọn tập dữ liệu cho thực nghiệm.
Chọn một vài thuật toán phù hợp để thực nghiệm. Từ 13/04/2019 5 Tìm hiểu về cách tiền xử lý dữ liệu. Đến 26/04/2019 Tìm hiểu cách lựa chọn thuộc tính. Từ 27/04/2019 Tìm hiểu về cách lựa chọn tham số và một số phương 6 Đến 10/05/2019 pháp đánh giá cho các thuật toán máy học.
Từ 10/05/2019 Thực hiện tiền xử lý dữ liệu. 7 Đến 24/05/2019 Thực hiện lựa chọn thuộc tính. Từ 25/05/2019 8 Thực hiện lựa chọn tham số và validator cho model Đến 07/06/2019 Từ 08/06/2019 Tiến hành đánh giá và so sánh một số thuật toán học máy 9 Đến 21/06/2019 cho bài toán phát hiện xâm nhập mạng. Từ 22/06/2019 Tổng hợp và viết báo cáo.
10 Đến 28/06/2019 Thiết kế slide báo cáo. Từ 29/06/2019 Chỉnh sửa lại một số nội dung trong báo cáo theo yêu cầu 11 Đến 05/07/2019 giáo viên hướng dẫn. Từ 06/07/2019 12 Hoàn chỉnh báo cáo và slide. Đến 12/07/2019 7 do an Ý kiến giảng viên hướng dẫn TP.
Hồ Chí Minh, ngày … tháng … năm 2019 (Ký và ghi rõ họ tên) Người viết đề cương 8 do an MỤC LỤC LỜI CẢM ƠN. 5 ĐỀ CƢƠNG LUẬN VĂN TỐT NGHIỆP. 9 DANH MỤC HÌNH VẼ. 12 DANH MỤC BIỂU MẪU.
13 DANH MỤC CÁC TỪ VIẾT TẮT. 14 CHƢƠNG 1: TỔNG QUAN ĐỀ TÀI. GIỚI THIỆU BÀI TOÁN. BỐ CỤC CỦA BÁO CÁO.
16 CHƢƠNG 2: TỔNG QUAN VỀ PHÁT HIỆN XÂM NHẬP MẠNG. KHÁI NIỆM XÂM NHẬP MẠNG. MỘT SỐ KIỂU TẤN CÔNG PHỔ BIẾN. Tấn công từ chối dịch vụ.
Tấn công thăm dò. Tấn công chiếm quyền root. Tấn công điều khiển từ xa. MỘT SỐ KỸ THUẬT PHÒNG CHỐNG XÂM NHẬP TRUYỀN THỐNG.
HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG. Thu thập dữ liệu giám sát. Thu thập dữ liệu phân tích. 23 9 do an CHƢƠNG 3: TỔNG QUAN VỀ SPARK TRONG PHÂN TÍCH DỮ LIỆU LỚN.
TỔNG QUAN SPARK. KIẾN TRÚC CƠ BẢN CỦA SPARK. WORKFLOW CỦA SPARK ARCHITECTURE. Học không có giám sát.
Phân tích đồ thị. 36 CHƢƠNG 4: KẾT QUẢ ỨNG DỤNG MỘT SỐ THUẬT TOÁN VÀO PHÁT HIỆN XÂM NHẬP MẠNG. BỘ DỮ LIỆU NSL-KDD. Thông số đánh giá các thuật toán học máy.
Một số phương pháp đánh giá. Hold-out Validation. Bootstrap và Jackknife. Tiến hành thực nghiệm.
Tiền xử lý dữ liệu. Lựa chọn thuộc tính. Ước lượng độ chính xác và lực chọn tham số. Tiến hành kiểm tra model.
KẾT QUẢ ĐẠT ĐƢỢC. KHÓ KHĂN GẶP PHẢI. VẤN ĐỀ TỒN ĐỌNG VÀ HƢỚNG PHÁT TRIỂN. 58 TÀI LIỆU THAM KHẢO.
59 11 do an DANH MỤC HÌNH VẼ Hình 2. Network – based IDS. Host – based IDS. Kiến trúc của hệ thống Spark.
Ví dụ cách phân phối partition trong Spark. Phép biến đổi narrow dependencies. Phép biến đổi wide dependencies. Quá trình thao tác DataFrame theo logic và vật lý.
Workflow của Spark Architecture. Apache Spark Ecosystem. Quy trình thực hiện học máy trong Spark. Đồ thị mẫu có bảy nút và bảy cạnh.
Hold-out Validation. Bootstrap and Jackknife. Minh họa phương pháp One hot encoding. 47 12 do an DANH MỤC BIỂU MẪU Bảng 4.
Tập 41 thuộc tính của tập dữ liệu KDD99 .Thông tin tập dữ liệu NSL-KDD. Phương án biến đổi nhãn cho tiền xử lý dữ liệu. Loại dữ liệu của các thuộc tính trong tập KDD-NSL. Kết quả tính mean cho thuộc tính count.
Bảng thống kê tần số của các thuộc tính logged_in. Thống kê kết quả chỉ số AR cho 41 thuộc tính. 5 Hyperparameter cho mỗi tham số lên từng thuật toán. Kết quả độ chính xác trung bình áp dụng 5 fold lên mỗi tham số cho thuật toán Randomforest.
Kết quả độ chính xác trung bình áp dụng 5 fold lên mỗi tham số cho thuật toán Neural Network. Kết quả độ chính xác trung bình áp dụng 5 fold lên mỗi tham số cho thuật toán Logistic regression. Kết quả độ chính xác trung bình áp dụng 5 fold lên mỗi tham số cho thuật toán Support Vector Machine. Hyperparameter tốt nhất cho mỗi tham số tương ứng với từng thuật toán.
Kết quả thực nghiệm cho thuật toán Randomforest. Kết quả thực nghiệm cho thuật toán Neural Network. Kết quả thực nghiệm cho thuật toán Logistic regression. Kết quả thực nghiệm cho thuật toán Support Vector Machine.
55 13 do an DANH MỤC CÁC TỪ VIẾT TẮT VPN: Virtual Private Network. IDS: Intrusion Detection System. DAG: Logically Directed Acyclic Graph. AR: Attribute Ratio.
CR: Class Ratio. U2R: User to Root. DoS: Denial of Service. R2L: Remote to Local.
FP: False Positive TP: True Positive. FN: False Negative. TN: True Negative. 14 do an CHƢƠNG 1: TỔNG QUAN ĐỀ TÀI 1.
GIỚI THIỆU BÀI TOÁN Hiện nay, chúng ta đang bước vào cuộc cách mạng 4.0 với sự bùng nổ và phát triển mạnh mẽ của internet kèm theo nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng. Đi kèm theo sự phát triển mạnh mẽ đó là các yếu tố: tốc độ, chất lượng, bảo mật, sự đa dạng các dịch vụ,.