74 Trang 8 iii DANH MỤC VIẾT TẮT TỪ VIẾT TẮT TIẾNG ANH TIẾNG VIỆT AI Artificial Intelligence Trí tuệ nhân tạo NIDS Network intrusion detection system Hệ thống phát hiện xâm nhập mạng CP
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
Phát hiện xâm nhập mạng bất thường dựa
trên phân tích lưu lượng mạng sử dụng các
kỹ thuật trong machine learning
VŨ MẠNH TUÂN
tuanvu71193@gmail.com
Ngành Công nghệ Thông tin
Giảng viên hướng dẫn: PGS.TS Nguyễn Linh Giang
HÀ NỘI - 2020
Tai ngay!!! Ban co the xoa dong chu nay!!! 17061132203611000000
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Ngành Công nghệ Thông tin
Giảng viên hướng dẫn: PGS.TS Nguyễn Linh Giang
HÀ NỘI - 2020
Chữ ký của GVHD
Trang 3CỘNG HÒA XÃ H I CHỦ NGHĨA VIỆT NAM Ộ
Độ ậ c l p – Tự do – H ạ nh phúc
H ọ và tên tác giả luận văn : VŨ MẠNH TUÂN
Đề tài luận văn: Phát hi n xâm nhệ ập mạng b t thườấ ng d a trên phân tích ựlưu lượng m ng s d ng các kỹ thuật trong Machine Learning ạ ử ụ
Chuyên ngành: Mạng máy tính và An toàn thông tin
Mã số SV: CA190190
Tác giả, Người hướng d n khoa h c và Hộ ồẫ ọ i đ ng ch m lu n văn xác ấ ậnhận tác giả đã s a chữử a, b sung luận văn theo biên bản họp Hộ ồổ i đ ng ngày 30/10/2020 với các nội dung sau:
− Chỉnh s a , bỏ các ví dụ không liên quan đếử n ch đề an ninh mạng ủ
− Tính toán lại các giá trị confusion matrix
− Phân tích kết quả thực nghiệm thu được
− Đánh giá phương án sử dụng
Ngày tháng năm 2020
Giáo viên hướng dẫn Tác giả luận văn
CHỦ TỊCH HỘI ĐỒNG
Trang 4LỜI CAM ĐOAN
nhập mạ ng b t thườ ấ ng d a trên phân tích lưu lượ ự ng m ng sử dụng các ạ
k ỹ thuật trong Machine Learning ” là công trình nghiên cứu của tôi, dưới
tài liệu, các công trình nghiên cứu liên quan ở trong nước và quốc tế trong
văn này hoàn toàn là công trình nghiên cứu của riêng tôi
quy định cho lời cam đoan của mình
Hà Nội, ngày… tháng … năm 2020
Vũ Mạnh Tuân
Trang 5LỜI CẢM ƠN
luận văn của mình
Tiếp theo tôi xin chân thành cảm ơn các thầy cô trong Viện Công nghệ
trường
Tôi xin cảm ơn những người thân trong gia đình cùng toàn thể bạn bè,
động viên tôi khi vấp phải những khó khăn, bế tắc
Cuối cùng tôi cũng xin cảm ơn đề tài KC.01.15/16-20 đã hỗ trợ tôi trong quá trình thực hiện luận văn
các Thầy Cô để luận văn được hoàn thiện hơn Tôi xin chân thành cảm ơn!
Trang 6i
MỤC LỤC
DANH MỤC HÌNH VẼ iv
DANH MỤC BẢNG BIỂU vi
DANH MỤC VIẾT TẮT iii
ĐẶT VẤN ĐỀ 1
Lý do lựa chọn đề tài : 1
Tính cấp thiết của đề tài : 1
Mục tiêu và phạm vi nghiên cứu : 2
Cấu trúc luận văn : 3
CHƯƠNG 1 : TỔNG QUAN VỀ CÁC MÔ HÌNH HỌC MÁY ÁP DỤNG TRONG HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG 4
1.1 Kiến trúc của một hệ thống Network Intrustion Detection System : 4
1.2 Tìm hiểu về các mô hình Machine Learning : 6
1.2.1 Hồi quy tuyến tính : 6
1.2.1.1 Mô hình hồi quy tuyến tính : 6
1.2.1.2 Hàm mất mát : 8
1.2.1.3 Gradient descent : 8
1.2.2 Mô hình Multilayer Neural network : 9
1.2.2.1 Layer : 9
1.2.2.2 Node neural : 10
1.2.2.3 Các hàm Activation Function : 11
1.2.2.4 Cấu trúc của mô hình Multilayer Neural network : 12
1.2.3 Recurrent neural network và các biến thể : 15
1.2.3.1 Recurrent neural network : 15
1.2.3.2 Các mô hình kiến trúc RNN thường gặp : 17
1.2.4 Support vector machine (SVM) : 18
1.2.4.1 Tìm hiểu về SVM : 18
1.2.4.2 Phát biểu bài toán và ứng dụng SVM : 19
1.2.4.3.Soft-margin support vector machine: 20
1.3 Khảo sát và đánh giá một số nghiên cứu khoa học để làm rõ các mục tiêu của luận văn : 23
1.3.1 So sánh hiệu năng của LSTM và GRU : 24
1.3.2 Đề xuất mô hình mạng neuron kết hợp với SVM : 25
CHƯƠNG 2 : KHẢO SÁT MÔ HÌNH LSTM VÀ GRU TÌM HIỂU CHI TIẾT VỀ TẬP DỮ LIỆU MẠNG KYOTO DATASET 28
Trang 7ii
2.1 Tập dữ liệu thực nghiệm Kyoto Dataset : 28
2.1.1 Giới thiệu về Kyoto Dataset : 28
2.1.2 So sánh Kyoto Dataset với các bộ dữ liệu mạng hiện nay : 29
2.1.3 Các đặc trưng trong bộ dữ liệu Kyoto dataset : 31
2.2 Long Short Term Memory : 33
2.2.1 Giới thiệu về mô hình mạng LSTM : 33
2.2.2 Tìm hiểu về cấu trúc mạng LSTM : 36
2.3 Gated Recurrent Unit : 38
CHƯƠNG 3 : MÔ HÌNH ĐỀ XUẤT LSTM KẾT HỢP VỚI SVM ÁP DỤNG CHO BÀI TOÁN PHÁT HIỆN XÂM NHẬP MẠNG 40
3.1 Giới thiệu ngôn ngữ lập trình Python và thư viện Tensorflow : 40
3.1.1 Ngôn ngữ lập trình Python: 40
3.1.2 Thư viện Tensorflow : 40
3.2 Mô hình mạng neural LSTM kết hợp với SVM : 42
CHƯƠNG 4 : PHÂN TÍCH , XỬ LÝ TẬP DỮ LIỆU KYOTO DATASET 2015 THỰC NGHIỆM VÀ ĐÁNH GIÁ MÔ HÌNH ĐỀ XUẤT 49
4.1 Trích rút tập dữ liệu Kyoto Dataset 2015 : 49
4.2 Phân tích dữ liệu : 51
4.3 Chuẩn hóa và xử lý dữ liệu : 55
4.3.1 Xử lý dữ liệu thô : 57
4.3.2 Chuẩn hóa dữ liệu : 57
4.3.2.1 Label-Encoding : 58
4.3.2.2 Kỹ thuật Standalization : 59
4.3.2.3 Data Binning : 61
4.3.3 Chuyển đổi định dạng file từ CSV sang NPY : 62
4.3.4 One-hot Encoding : 62
4.4 Thực nghiệm và đánh giá mô hình đề xuất : 63
4.4.1 Các phương pháp đánh giá : 63
4.4.2 Tìm hiểu về các thông số hyper-parameter được sử dụng trong mô hình : 64
4.4.3 Cài đặt môi trường thực nghiệm : 66
4.4.4.Thực nghiệm trên tập dữ liệu Kyoto Dataset 2013 : 67
4.4.5.Thực nghiệm trên tập dữ liệu Kyoto Dataset 2015 : 70
4.5 Kết quả thực nghiệm : 74
KÊT LUẬN 76
Trang 8iii
DANH MỤC VIẾT TẮT
AI Artificial Intelligence Trí tuệ nhân tạo
NIDS Network intrusion detection
system
Hệ thống phát hiện xâm nhập mạng CPU Central Processing Unit Bộ chip xử lý máy tính
GPU Graphics Processing Unit Bộ vi xử lý đồ họa
RAM Random Access Memory Bộ nhớ lưu trữ tạm thời
ANN Artificial Neural Network Mạng thần kinh nhân tạo RNN Recurrent Neural Network Mạng nơ ron hồi quy
LSTM Long Short Term Memory Mạng nơ ron bộ nhớ ngắn dài hạn GRU Gated Recurrent Units Mạng nơ ron hồi tiếp có cổng CNN Convolutional Neural Network Mạng nơ-ron tích chập
SVM Support Vector Machine Một thuật toán phân lớp TPR True positive rate Tỉ lệ phân loại đúng các gói tin gán
nhãn ‘độc hại’
TNR True nagative rate Tỉ lệ phân loại đúng các gói tin gán
nhãn “bình thường”
FPR False positive rate Tỉ lệ phát hiện nhầm các gói tin độc
hại nhưng thực tế là bình thường FNR False negative rate Tỉ lệ loại trừ nhầm các gói tin là bình
thường nhưng thực tế là độc hại
Trang 9iv
DANH MỤC HÌNH VẼ
Hình 1.1 : Mô hình áp dụng Machine Learning trong triển khai hệ thống
NIDS 5
Hình 1.3 : Mô hình mạng neurral network có L layer 9
Hình 1.4 : Mô tả cách thức hoạt động của một neural 10
Hình 1.5 : Mô hình Multilayer Neural network 12
Hình 1.6 : Tiến trình tính toán trên một mạng neural network [7] 13
Hình 1.7 : Tiến trình lan truyền tiến 14
Hình 1.8 : Tiến trình lan truyền ngược 15
Hình 1.9 : Mô hình biểu diễn một mạng Recurrent Neural Network [8] 16
Hình 1.10 : Mô tả các kiến trúc của Recurrent Neural Network [10] 17
Hình 1.11 : Mô tả 2 lớp dữ liệu xanh và đỏ , trong trường hợp này có vô số các đường thẳng phân tách 2 lớp dữ liệu 18
Hình 1.12 : Ví dụ minh họa 2 lớp dữ liệu xanh và đỏ sử dụng mặt phân chia có phương trình : + = 0 19
Hình 1.13 : SVM với bài toán dữ liệu khi có nhiễu nhỏ 20
Hình 1.14 : SVM với bài toán khi dữ liệu gần tách biệt 21
Hình 1.15 : Trường hợp áp dụng Soft-margin support vector machine 21
Hình 1.16 :So sánh RNN-IDS với các thuật toán khác trong phân loại đa lớp 24
Hình 1.17 :So sánh RNN-IDS với các thuật toán khác trong phân loại nhị phân 24
Hình 1.18 : Bảng so sánh GRU-SVM và GRU-Softmax 26
Hình 2.1: Bảng so sánh đặc trưng của các tập dữ liệu mạng 30
Hình 2.2 : Điểm benmark của 2 tập dữ liệu KDD99 và Kyoto Dataset 30
Hình 2.3 : Mô hình mạng Recurrent Neural Network dùng hàm tanh ở hidden layer 34
Hình 2.4 : Mô hình mạng Long Short Term Memory với các cổng chức năng 34
Hình 2.5 : Chú thích các toán tử trong mạng Long Short Term Memory 34
Hình 2.6 : Mô tả cấu trúc của bộ nhớ dài hạn cell state trong LSTM 35
Hình 2.7 : Mô tả cấu trúc của lớp cổng quên trong LSTM 36
Hình 2.8 : Mô tả cấu trúc của lớp cổng đầu vào trong LSTM 37
Hình 2.9 : Mô tả các bước cập nhập lại trạng thái cell state trong LSTM 37
Hình 2.10 : Mô tả cấu trúc lớp cổng đầu vào trong LSTM 38
Hình 2.11 : Mô hình mạng Gated Recurrent Unit với các cổng chức năng [22] 38
Trang 10v
Hình 3.1 : Mô phỏng đồ thị xây dựng bởi thư viện Tensorflow 41 Hình 3.3 : Kiến trúc của mô hình đề xuất LSTM-SVM 44 Hình 3.4 :Biểu diễn graph trên TensorBoard mô phỏng lại các bước tính toán logic trong mô hình LSTM-SVM 46 Hình 4.1 : Tập dữ liệu Kyoto Dataset 2015 sau khi tải về 49 Hình 4.2 : Các bước trích rút tập dữ liệu thực nghiệm 50 Hình 4.3 : Biểu đồ thống kê số lượng nhãn các gói tin trong trường dữ liệu 54 Hình 4.4: Giản đồ mô phỏng các bước 56
xử lý dữ liệu trong mô hình đề xuất LSTM-SVM 56 Hình 4.5: Biểu đồ matrix confusion của LSTM-SVM trên tập huấn luyện Kyoto Dataset 2013 69 Hình 4.6 :Biểu đồ matrix confusion của LSTM-SVM trên tập kiểm thử Kyoto Dataset 2013 70 Hình 4.7: Biểu đồ phân bố nhãn các gói tin tập huấn luyện Kyoto Dataset
2015 71 Hình 4.8:Biểu đồ phân bố nhãn các gói tin tập kiểm thử Kyoto Dataset 2015 72 Hình 4.9: Biểu đồ matrix confusion của LSTM-SVM trên tập huấn luyện Kyoto Dataset 2015 73 Hình 4.10:Biểu đồ matrix confusion của LSTM-SVM trên tập kiểm thử Kyoto Dataset 2015 74
Trang 11vi
DANH MỤC BẢNG BIỂU
Bảng 4.1: Bảng thống kê giá trị của 22 trường dữ liệu 52 Bảng 4.2 : Bảng phân tích giá trị các trường dữ liệu dạng continuous data 54 Bảng 4.3 : Bảng thống kê số lượng nhãn các gói tin 55 Bảng 4.4 : Mô phỏng định dạng của ma trận confusion matrix 63 Bảng 4.5 : Các thông số hyper-parameter được sử dụng trong thực nghiệm 66 Bảng 4.6:Kết quả thực nghiệm thu được trên tập huấn luyện và tập kiểm thử của bộ dữ liệu Kyoto Dataset 2013 68 Bảng 4.7 : Các thông số so sánh thu được trên tập huấn luyện Kyoto Dataset
2013 68 Bảng 4.8 : Các thông số so sánh thu được trên tập kiểm thử Kyoto Dataset
2013 69 Bảng 4.9: Kết quả thực nghiệm thu được trên tập huấn luyện và tập kiểm thử của bộ dữ liệu Kyoto Dataset 2015 72 Bảng 4.10 : Các thông số so sánh thu được trên tập huấn luyện Kyoto Dataset
2015 73 Bảng 4.11 : Các thông số so sánh thu được trên tập kiểm thử Kyoto Dataset
2015 74
Trang 12Ngày nay số lượng người dùng Internet gia tăng rất nhanh chóng ( số liệu năm
2019 là 4.39 tỷ người , tương đương với 57% tổng dân số ) Và khi nền kinh tế kỹ thuật số mở rộng, các mối đe dọa vì thế cũng tăng theo Trong một bài báo của chuyên trang công nghệ Technology [1], năm 2017 tội phạm mạng gây thiệt hại cho nền kinh tế toàn cầu 600 tỷ đô la Năm 2018, thiệt hại tài chính toàn cầu vượt quá 1 nghìn tỷ đô la, tăng gần 50% hàng năm Về quy mô, nó bằng GDP của Úc Thiệt hại đến từ các cuộc tấn công mạng dự kiến sẽ tăng theo cấp số nhân trong những năm tới Trong khi đó , các doanh nghiệp đổi mới các công nghệ nhanh hơn việc họ phải giải quyết các vấn đề về bảo mật nhằm đảm bảo an ninh mạng Kết quả là ngày càng gia tăng các hình thức tội phạm đánh cắp dữ liệu người dùng với quy mô , chi phí và độ tinh vi cao ,gây ra mối đe dọa cho cả người dùng cá nhân
và doanh nghiệp
Để tăng cường tính bảo mật , cần thiết phải có một hệ thống phát hiện xâm nhập mạng bất thường (Network Intruction Detection System - NIDS) , được dùng để theo dõi các hành vi có tính chất độc hại bên trong và ngoài hệ thống mạng, máy chủ , nhằm bảo vệ tài sản của người dùng trong các doanh nghiệp
Tính cấp thiết của đề tài :
Machine Learning (học máy) là một bộ phận của trí tuệ nhân tạo , là một lĩnh vực mà ở đó con người huấn luyện máy tính trên các tập dữ liệu đã được gán nhãn Nhờ các thuật toán machine learning mà máy tính có thể tự học hỏi và đưa ra các quyết định mà không cần phải được lập trình cụ thể , kết hợp với sự phát triển không ngừng của các công nghệ bán dẫn như CPU , RAM , GPU cho hiệu năng tính toán ngày càng được cải thiện
Có rất nhiều các công trình khoa học ở cả trong nước và quốc tế nghiên cứu áp dụng các kỹ thuật machine learning khác nhau vào trong các hệ thống NIDS nhằm mục đích tăng tính hiệu quả trong việc phát hiện các bản tin bất thường Có thể kể
Trang 132
đến một vài paper được đăng trên tạp chí uy tín IEEE Access của Viện Kỹ sư Điện
và Điện tử - Hoa Kỳ như :
Anomaly-Based Intrusion Detection From Network Flow Features Using Variational Autoencoder (June2020) của Sultan Zavrak , Murat Iskefiyeli
Deep Learning Approach for Intelligent Intrusion Detection System (April 2019) của Vinayakumar, SitalakshmiVenkatraman
Combining OC-SVMs with LSTM for detecting anomalies in telemetry data with irregular intervals (June 2020) của Junfeng Wu, Li Yao , Bin Liu, Zheyuan Ding, Lei Zhang
Và cịn rất nhiều các nghiên cứu khác cĩ thể tìm thấy trên các tạp chí CNTT
uy tín
Dễ dàng nhận thấy ngày càng cĩ nhiều thách thức được đặt ra , khi các cuộc tấn cơng hiểm ác ( malicious attacks) liên tục thay đổi và xảy ra với mật độ ngày càng lớn , điều này yêu cầu phải tìm kiếm các mơ hình thuật tốn mới hơn , cĩ khả năng
tự học và dự đốn chính xác hơn các mối đe dọa chưa xác định Từ những nhận định trên , dưới sự định hướng của giáo viên hướng dẫn , tơi quyết định chọn đề tài “Phát hiện xâm nhập mạng bất thường dựa trên phân tích lưu lượng mạng sử dụng các kỹ thuật trong Machine Learning “ làm hướng nghiên cứu cho luận văn thạc sỹ của mình
Mục tiêu và phạm vi nghiên cứu :
Phân tích thiết kế và tìm hiểu cách thức hoạt động của hệ thống phát hiện xâm nhập mạng bất thường áp dụng các mơ hình Machine Learning Tiến hành khảo sát đánh giá , tìm hiểu chi tiết về các mơ hình học máy như : SVM , ANN , RNN , LSTM , GRU
Tìm hiểu chi tiết về bộ dữ liệu thực nghiệm Kyoto Dataset Network , so sánh
ưu nhược điểm với các bộ dữ liệu mạng khác Giới thiệu các phương pháp phân tích và xử lý dữ liệu mạng , cài đặt mơ hình thuật tốn đề xuất bằng cách sử dụng các thư viện lập trình Python như : Tensorflow, Pandas, Scikit-learn , Numpy , Matplotlip
Dựa trên các nghiên cứu khoa học được khảo sát trước đấy chỉ ra sự vượt trội của mơ hình RNN so với các mơ hình học máy truyền thống khác như : ANN , random forest , SVM , NB Tree, Nạve Bayes trong khả năng phát hiện sự bất thường Từ đĩ người viết sẽ đề xuất một nghiên cứu so sánh hiệu năng của hai biến thể RNN là GRU và LSTM được thực nghiệm trên các bộ dữ liệu mạng Đây là 2
Trang 142015 được thu thập bởi các nhà nghiên cứu đến từ đại học Kyoto, Nhật Bản Từ
đó đưa ra đánh giá cuối cùng về việc lựa chọn mô hình nào để cải thiện hiệu năng của hệ thống NIDS
Cấu trúc luận văn :
Luận văn được sắp xếp theo bốn chương gồm :
Chương 1 : Trình bày tổng quan về kiến trúc của hệ thống phát hiện xâm nhập mạng bất thường áp dụng các mô hình học máy Giới thiệu về cấu trúc , các thành phần liên quan , cơ chế hoạt động của một số mô hình mạng neural Từ đó dẫn chứng một số nghiên cứu khoa học để làm cơ sở chứng minh cho các mục tiêu của luận văn
Chương 2 : Trình bày chi tiết về cấu trúc và cơ chế hoạt động của hai mô hình mạng neural là Gated Recurrent Unit và Long Short Term Memory Ở chương này tác giả sẽ giới thiệu về tập dữ liệu mạng Kyoto Dataset sẽ được
sử dụng trong quá trình huấn luyện và kiểm thử
Chương 3 : Đề xuất một mô hình kết hợp giữa mạng neural network LSTM với bộ phân lớp SVM áp dụng cho các bài toán phát hiện xâm nhập mạng bất thường
Chương 4 : Ở chương này , tác giả sẽ trình bày các bước phân tích , xử lý
và chuẩn hóa tập dữ liệu Kyoto Dataser 2015 Từ đó tiến hành thực nghiệm
và đánh giá hiệu năng của mô hình đề xuất LSTM-SVM với mô hình tham chiếu GRU-SVM trong nghiên cứu của tác giả Abien Fred M Agarap [2] Cuối cùng là phần kết luận , người viết sẽ tóm tắt lại quá trình nghiên cứu và kết quả thu được Nêu ra những tồn tại những khó khăn gặp phải , đưa ra mục tiêu và phương hướng phát triển tiếp theo của nghiên cứu sau này
Trang 154
CHƯƠNG 1 : TỔNG QUAN VỀ CÁC MÔ HÌNH HỌC MÁY ÁP DỤNG TRONG HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT
THƯỜNG
1.1 Kiến trúc của một hệ thống Network Intrustion Detection System :
Để tăng cường tính bảo mật phía người dùng ,một mô hình mạng thường được thiết kế với sự trợ giúp từ một ứng dụng có tên là hệ thống phát hiện xâm nhập mạng (Network Intruction Detection System - NIDS) , được dùng để theo dõi các hành vi có tính chất độc hại bên trong và ngoài hệ thống mạng , máy chủ NIDS có thể được phân thành 2 loại khác nhau , dựa trên tính chất và các hành vi xâm nhập trái phép là Active IDS và Passive IDS Một Active IDS được thiết kế
để tự động chặn các cuộc tấn công hiểm ác từ phía bên ngoài mà không cần có sự giám sát can thiệp của con người Trong khi Passive IDS chỉ giám sát lưu lượng các gói tin trao đổi trong hệ thống mạng và đưa ra cảnh báo cho người dùng
Một cách phân loại NIDS khác là Signature-Based IDS và Anomaly-Based IDS Trong Signature-Based IDS , IDS truy cập cơ sở dữ liệu về các dấu hiệu và
lỗ hổng đã biết Mỗi cuộc tấn công xâm nhập đã biết trước sẽ lưu đầy đủ chi tiết thông tin của cuộc tấn công đó vào trong cơ sở dữ liệu được gọi là signature và được sử dụng để phát hiện , ngăn chặn các cuộc tấn công tương tự trong tương lai Hạn chế của loại IDS này là cơ sở dữ liệu cần được cập nhập thường xuyên Trong khi đó Anomaly-Based IDS dựa trên bất thường về hành vi của người dùng để đưa
ra cảnh báo, bằng cách học từ các mẫu dữ liệu cơ sở để phát hiện các cuộc tấn công xâm nhập mới Bất kỳ sai lệch nào so với các mẫu cơ sở được biết trước , hệ thống
sẽ kích hoạt cảnh báo sự bất thường
Các kỹ thuật trong machine learning khác nhau thường được áp dụng cho các hệ thống phát hiện xâm nhập mạng để tăng tính hiệu quả trong việc phát hiện các bản tin bất thường Một hệ thống NIDS áp dụng các mô hình machine learning được triển khai với kiến trúc gồm 2 module như sau :
Trang 165
Hình 1.1 : Mô hình áp dụng Machine Learning trong triển khai hệ thống
NIDS Module 1 : Module thực hiện chức năng thu thập , sao chép tất cả các luồng dữ
liệu mạng đi ra và đi vào hệ thống
Bước 1 : Sử dụng các công cụ như tcpdump , wireshark… để thu thập dữ liệu chứa các gói tin mạng (packet) được trao đổi trong hệ thống với môi trường Internet File lưu trữ thu được có định dạng pcap
Bước 2 : Sử dụng các công cụ như : IDS_Detection , Malware_detetion, Ashula_Detection ….để chuyển đổi file pcap sang định dạng text và tự động gán nhãn các gói tin mạng thu được ( normal/attack)
Module 2 : Module thực hiện chức năng xử lý và phân loại gói tin có dấu hiệu
Bước 3 : Sau quá trình phân loại , mô hình học máy sẽ đưa ra kết quả quyết định xem gói tin nào là gói tin bình thường , gói tin nào chứa dấu hiệu độc hại
Trang 176
Bước 4 : Thông tin phân loại sẽ được gửi trả lại hệ thống Network Instruction Detection System , NIDS sẽ tiến hành drop các gói tin độc hại
và kích hoạt cảnh báo tới người quản trị hệ thống
Với phạm vi nghiên cứu của luận văn này , tôi không thực hiện thu thập các gói tin mạng bằng các công cụ của bên thứ ba mà sử dụng tập dữ liệu mạng Kyoto Dataset [3] là các log file hệ thống được xây dựng trong phòng lab của đại học Kyoto , Nhật Bản Nghiên cứu sẽ chỉ tập trung vào việc xử lý dữ liệu mạng , thực nghiệm và đánh giá các mô hình machine learning từ đó cải thiện được hiệu năng của các hệ thống NIDS trong tương lai
Khác với các thuật toán machine learning cổ điển , các mô hình mạng neural network hiện đại không chỉ có khả năng phân tích , xử lý lượng dữ liệu có kích thước rất lớn mà còn có thể tự tối ưu hóa theo thời gian , tự cải thiện hiệu năng của
mô hình từ chính việc phân loại dữ liệu mạng trong thực tế
Trong phần tiếp theo , tác giả sẽ giới thiệu về các mô hình máy học chính sẽ được dùng để làm cơ sở chứng minh cho các mục tiêu của luận văn
1.2 Tìm hiểu về các mô hình Machine Learning :
1.2.1 Hồi quy tuyến tính :
Nhắc đến Deeplearning là nhắc đến các mô hình mạng neurol network hay còn được còn được gọi là Artificial Neural networks (ANN’s) Trước khi tìm hiểu
về các mô hình mạng neurol , người viết muốn đề cập đến một mô hình kinh điển
là hồi quy tuyến tính , có thể xem là mạng neural đơn giản nhất Phần này sẽ đề cập đến các kiến thức cơ bản cần nắm được về mạng neural như : hàm mất mát , phương pháp gradient descent …
1.2.1.1 Mô hình hồi quy tuyến tính :
Hồi quy tuyến tính là một phương pháp để mô hình hóa mối quan hệ tuyến tính giữa các điểm dữ liệu với các đặc trưng x và các giá trị đầu ra y Khi đó y được biểu diễn bằng tổng trọng số của đầu vào x cộng trừ các giá trị nhiễu Mục tiêu của bài toán là dự đoán một giá trị số ví dụ như dự đoán giá cả ( cổ phiếu , giá nhà ) , dự đoán nhu cầu mua sắm Giả sử ta có tập dữ liệu : , … với
n số lượng các mẫu dữ liệu , một mô hình hồi quy tuyến tính giả định một mối quan hệ giữa biến phụ thuộc y và p là vector đặc trưng của biến độc lập x Ta có công thức [4]:
ŷ = + ⋯ + + = + ớ = 1, … ,
Trang 18 T là dấu của phép chuyển vị , ở đây là tích trong giữa vector và W
Ở đây tương ứng tập các điểm dữ liệu , việc truy cập đến tập dữ liệu sẽ tiện hơn nếu biểu diễn bằng ma trận X Mỗi hàng thể hiện một mẫu dữ liệu , mỗi cột thể hiện các giá trị đặc trưng , n điểm dữ liệu sẽ được gom lại và biểu diễn dưới dạng ký hiệu ma trận như sau :
ŷ = Xw + b Trong đó :
Trang 19tố này có ảnh hưởng quá nhỏ đến giá trị đầu ra Chính vì vậy cần một giá trị tham
số để biểu diễn độ sai số của mô hình , đó là tham số b ( bias )
Để tìm được W và b chúng ta đi vào phần tiếp theo là tìm hiểu về hàm Loss fucntion (hàm mất mát) và phương pháp Gradient Descent để tối ưu được hàm mất mát
1.2.1.2 Hàm mất mát :
Hàm mất mát xác định độ chênh lệch giữa giá trị đầu ra dự đoán và giá trị đầu ra thực tế Giá trị mất mát là một số không âm và có giá trị càng nhỏ càng tốt
Ở điều kiện lý tưởng nhất hàm mất mát sẽ có giá trị bằng 0
Trong hồi quy tuyến tính hàm mất mát thường được sử dụng nhất là hàm tổng bình phương của các giá trị mất mát Ta có công thức [5] :
(,)() = 1 2 (ŷ()− ())Trong đó : ŷ() là giá trị đầu ra ước lượng , () là giá trị đầu ra thực tế
Ta cần tìm giá trị nhỏ nhất của hàm mất mát trên cả tập dữ liệu quan sát , vì thế ta lấy trung bình các giá trị mất mát của từng mẫu trong tập dữ liệu :
Phương pháp tiếp cận gradient descent đơn giản nhất là tối ưu hóa hàm mất mát trên mỗi mẫu của tập dữ liệu Tuy nhiên việc này sẽ khiến cho giá trị của hàm mất mát hội tụ về điểm có giá trị nhỏ nhất rất chậm Một cách khác là mỗi lần cập nhập các tham số (w,b) ta sẽ duyệt qua toàn bộ tập dữ liệu Tuy nhiên với các bài toán có tập dữ liệu rất lớn , việc duyệt qua toàn bộ tập dữ liệu trong một lần sẽ tốn
Trang 209
rất nhiều bộ nhớ và có thể gây ra hiện tượng tràn dữ liệu trên máy tính Cách đơn giản nhất là ta chia tập dữ liệu lớn thành các tập có số lượng mẫu nhỏ hơn gọi là minibatch , mô hình sẽ cập nhập các tham số (w,b) sau mỗi lần duyệt qua lần lượt các minibatch B theo công thức sau [5]:
Trong công thức trên B là kích thước của minibatch , η là tốc đô học , ∂()
là đạo hàm riêng của hàm mất mát theo trọng số w , ∂( ) là đạo hàm riêng của hàm mất mát theo bias b
1.2.2 Mô hình Multilayer Neural network :
Neural network hay còn được gọi là Artificial Neural networks(ANN’s) là một tập các thuật toán được lấy cảm hứng từ cách thức hoạt động của não người Thông thường khi chúng ta mở mắt thứ chúng ta nhìn thấy được gọi là data ( dữ liệu ) , data được xử lý bởi các Neural ( các cell xử lý dữ liệu ) trong bộ não và ghi nhận những gì xảy ra xung quanh Cách thức làm việc của Neural network cũng tương tự như thế , lấy một lượng lớn dữ liệu , xử lý dữ liệu thô và xác định được kết quả output
Các thành phần cấu tạo nên một mạng neural network gồm có :
1.2.2.1 Layer :
Hình 1.3 : Mô hình mạng neurral network có L layer
Trang 2110
Mô hình mạng Neural network có thể có L layer , được duyệt từ trái sang phải trong đó layer đầu tiên được gọi là iput layer , các layer ở giữa được gọi là hidden layer và layer ở lớp cuối cùng là output layer Tổng số layer trong mô hình được quy ước là không tính input layer
1.2.2.2 Node neural :
Các node hình tròn được gọi là neural Mỗi node ở layer phía trước sẽ liên kết với tất cả các node ở đằng sau nó với các hệ số weight – w riêng Mỗi node ở hidden layer và output layer cũng có 1 hệ số bias b riêng
Phần này sẽ mô phỏng cách thức mà một node làm việc trọng một mạng neural network
Hình 1.4 : Mô tả cách thức hoạt động của một neural
Input : = {, … }
Output : = () = (∑
+ + ⋯ + + ) Trong đó :
X mô tả cho các giá trị đầu vào tương ứng các node ở layer trước
W là các giá trị weight mô tả các liên kết giữa các layer với nhau
B là các giá trị bias ( độ lệch ) , biểu thị sự sai khác giữa giá trị trung bình giữa mô hình dự đoán và giá trị thực tế của dữ liệu
∑ là một hàm linear regression (tuyến tính), tương ứng với giá trị trung gian của node , nó không phải giá trị cuối cùng của node
F() là hàm Activation Function (hàm kích hoạt ) như : sigmoid, tanh hay ReLU
Trang 22Dựa trên hai trạng thái kích hoạt và không kích hoạt của mạng neuron sinh học , neural nhân tạo sử dụng một giá trị ngưỡng (threshold ) để quyết định xem tín hiệu đầu ra ở dưới mức ngưỡng là 0 hay vượt mức ngưỡng là 1 :
sử dụng hàm sigmoid , hàm ReLu thường được lựa chọn vì tính đơn giản của nó giúp cho việc huấn luyện mô hình trở nên dễ dàng hơn
b Hàm ReLu :
Như đã đề cập ở trên , hàm ReLu (Rectified Linear Unit) là một phép biến đổi phi tuyến đơn giản , thường được sử dụng do tính đơn giản và hiệu quả trong quá trình huấn luyện mô hình Hàm ReLU có công thức như sau :
Trang 2312
1.2.2.4 Cấu trúc của mô hình Multilayer Neural network :
Như đã đề cập ở các phần trước , mô hình linear regression là mạng neural
cơ bản nhất khi chỉ có 2 layer là input layer và outpulayer
Một single neural thì sẽ tương đương với kết quả của một mô hình hồi quy tuyến tính nhưng chưa cài đặt hàm kích hoạt
Để tối ưu một mạng neural network , phương pháp được sử dụng là gradient descent
Một mạng multilayer neural network có cấu trúc như hình vẽ dưới đây [6]:
Hình 1.5 : Mô hình Multilayer Neural network
Giả sử (, , , ) là một hàm mất mát của bài toán trong đó :
X, Y là cặp dữ liệu huấn luyện với mỗi cột tương ứng với một điểm dữ liệu
ŷ là kết quả đầu ra dự đoán
()∈ ℝ()∗
, = 1,2, …, trong đó () là một ma trận trọng số mô tả các kết nối từ layer thứ ( -1) đến layer thứ , phần tử () thể hiện kết nối từ node thứ i của layer thứ ( − 1) tới node từ j của layer thứ ( )
() ∈ ℝ() là vector bias của layer thứ
() là một vector mô tả giá trị đầu vào của hidden layer thứ với ()=
()() + () ( T là kí hiệu của phép chuyển vị trong ma trận )
Trang 2413
() ∈ ℝ()là một vector cột mô tả giá trị đầu ra của layer thứ ( tức là giá trị của mỗi unit khi ta áp dụng activation function lên đầu vào () ) , () = (())
() mô tả công thức của một hàm activation function
Các bước huấn luyện mạng multilayer neural network được mô tả như sau :
Hình 1.6 : Tiến trình tính toán trên một mạng neural network [7]
Bước 1 : Khởi tạo ngẫu nhiên giá trị của ma trận trọng số () và vector bias ()
ở mỗi layer
Bước 2 : Feed forward ( lan truyền tiến )
Lan truyền tiến là quá trình tính toán cũng như lưu trữ các biến trung gian (bao gồm cả đầu ra) của mạng nơ-ron theo thứ tự từ layer thứ L -1 đến layer thứ L Quá trình Feed forward được thực hiện như sau :
Trang 2514
Hình 1.7 : Tiến trình lan truyền tiến Bước 3 : Tính toán giá trị của hàm mất mát ( Loss function)
Một số hàm mất mát thường được sử dụng trong tính toán :
Hàm mean square error (MSE):
Bước 4 + Bước 5: Tính đạo hàm riêng của hàm mất mát theo trọng số weight và
sai số bias sau đó áp dụng quy tắc chain-rule để thực hiện lan truyền ngược
(Backpropagation) :
Áp dụng quy tắc chain-rule ( quy tăc chuỗi ) , tính đạo hàm riêng của hàm mất
mát theo trọng số ()theo hướng ngược lại từ layer L đến layer (L-1) :
() và
()
() = () vì ()= () ()+ ()
Tương tự tính đạo hàm riêng của hàm mất mát theo sai số b:
Trang 2615
Hình 1.8 : Tiến trình lan truyền ngược
Bước 6 : Cập nhập lại các tham số của mạng neural :
()← ()− ∂J
∂()
()← ()− ∂J
∂()Với η là giá trị learning_rate ( chỉ số tốc độ học )
Bước 7 : Lặp lại cho tới khi hàm mất mát được hội tụ
1.2.3 Recurrent neural network và các biến thể :
1.2.3.1 Recurrent neural network :
Mạng neural network có hai mô hình lớn nhất là mạng Convolutional Neural Network (CNN) với dữ liệu đầu vào là ảnh áp dụng cho các bài toán về xử
lý ảnh , object detection (phát hiện đối tượng ) , nhận dạng khuôn mặt … Và mạng Recurrent neural network (RNN) với dữ liệu dạng chuỗi ( văn bản , âm thanh )
áp dụng cho các bài toán về xử lý ngôn ngữ tự nhiên , nhận dạng giọng nói …
Giả sử bài toán đặt ra là dự đoán tai biến bằng dữ liệu khám của bệnh nhân trong đó a1 là lần khám tháng 1 , a2 là lần khám tháng 2 …., a10 là lần khám tháng
10 Vậy ( a1,a2…a10) được gọi là dữ liệu chuỗi - sequence data RNN sẽ học dữ liệu đầu vào dự đoán xác suất bị tai biến của bệnh nhân
Mạng neural hồi quy (Recurrent Neural Network ) là một biến thể của mô hình mạng neural network có sử dụng bộ nhớ trong Mô hình mạng RNN có đặc điểm là thực hiện cùng một tác vụ của nó cho tất cả các giá trị đầu vào của dữ liệu dạng chuỗi , giá trị đầu ra của tác vụ hiện tại sẽ phụ thuộc giá trị đầu vào và một tính toán của quá trình trước đó
Trang 2716
Mô hình mạng RNN được biểu diễn như sau :
Hình 1.9 : Mô hình biểu diễn một mạng Recurrent Neural Network [8]
Giả sử có tập dữ liệu tuần tự có dạng : ( = 1,2, … , ) , một tập các trạng thải ẩn tuần tự hidden state - ℎ( = 1,2 …) Các giá trị đầu vào và ℎ sẽ lần lượt cho đi qua một hidden layer (lớp ẩn) ớ ∈ (1,2,… ) có đặc điểm truy hồi và cho ra tập giá trị đầu ra dự đoán ŷ( = 1,2 … )
Để huấn luyện một mô hình mạng RNN , ta thực hiện tương tự các bước đã được trình bày ở phần mạng neural network như sau [9] :
Bước 1 : Khởi tạo ngẫu nhiên giá trị của các ma trận trọng số ,
à trong đó:
là một ma trận trọng số mô tả liên kết giữa input ( = 1,2, … , ) với hidden layer ớ ∈ (1,2, … )
là một ma trận trọng số mô tả liên kết giữa kết quả đầu ra hidden state ℎ
ở bước thời gian (t -1) với hidden layer ở bước thời gian t
là một ma trận trọng số mô tả liên kết giữa hidden layer ớ ∈ (1,2, … )
và output layer (lớp đầu ra ) ŷ( = 1,2 … )
và là các vector sai số bias
Hàm kích hoạt sigmoid áp dụng trên trạng thái ẩn hidden state ℎ
Hàm kích hoạt softmax áp dụng trên output layer ra ŷ
Nhận xét : output ŷ và hidden state ℎ đều là các giá trị đầu ra của hidden layer
H , khác nhau ở cách thức áp dụng hàm kích hoạt
Bước 2 : Feed forward ( lan truyền tiến )
Với ( = 1,2, … , ) thuật toán được trình bày như sau :
1. 1 ∶
Trang 28Bước 3 : Backprobagation( lan truyền ngược ) và cập nhập các giá trị trọng số :
Giả sử ( , ŷ)( = 1,2 … ) với , ŷ lần lượt là giá trị đầu ra thực tế và giá trị đầu ra dự đoán
Bước 4 : Lặp lại cho tới khi hàm mất mát được hội tụ
1.2.3.2 Các mô hình kiến trúc RNN thường gặp :
Hình 1.10 : Mô tả các kiến trúc của Recurrent Neural Network [10]
Với các ô hình chữ nhật tương ứng với một vector , mũi tên tương ứng với các phép tính trong ma trận ( vd nhân hai ma trận )
Trang 2918
Từ trái sang phải lần lượt là :
(1) Mô hình Vanilla – đây không phải là mô hình RNN mà là mô hình mạng ANN bình thường với kích thước đầu vào và đầu ra là không đổi Ứng dụng trong các bài toán về phân loại ảnh
(2) Mô hình Sequence output – chuỗi tuần tự các giá trị đầu ra , thường ứng dụng trong bài toán mô tả hình ảnh bằng chú thích
(3) Mô hình Sequence input – chuỗi tuần tự các giá trị đầu vào , ứng dụng cho các bài toán về phân tích cảm xúc ( tích cực hoặc tiêu cực ) trong một đoạn văn bản (4) Mô hình Sequence input và sequence output - ứng dụng trong bài toán về dịch thuật
(5) Mô hình đồng bộ hóa chuỗi đầu vào và đầu ra - ứng dụng trong các bài toán phân loại video bằng cách gán nhãn cho từng frame ( khung hình )
1.2.4 Support vector machine (SVM) :
1.2.4.1 Tìm hiểu về SVM :
Support vector machine (SVM) xây dựng một siêu phẳng (hyperplane) để phân lớp tập dữ liệu thành 2 lớp riêng biệt
Hình 1.11 : Mô tả 2 lớp dữ liệu xanh và đỏ , trong trường hợp này có vô số
các đường thẳng phân tách 2 lớp dữ liệu
Trong không gian d chiều , khoảng cách từ một điểm có toạ độ ( ,
… ) tới một siêu phẳng ( hyperplane ) có phương trình + +
⋯ + + = 0 được xác định bởi công thức :
Trang 3019
đặt ra với thuật toán SVM là đi tìm một mặt phân chia sao cho khoảng cách từ điểm gần nhất của mỗi lớp tới mặt phân chia (margin) phải đáp ứng điều kiện là như nhau đồng thời margin giữa 2 lớp phải lớn nhất Đây là lý do vì sao SVM còn được gọi là maximum margin classifier
1.2.4.2 Phát biểu bài toán và ứng dụng SVM :
Ta có một tập huấn luyện D gồm n điểm có dạng [11]:
w và b phù hợp ,các điểm thuộc lớp màu xanh tới mặt này thỏa mãn + ≥
1 (L1) với = 1 và các điểm thuộc lớp màu đỏ thỏa mãn + ≤ −1 (L2) với = −1 Với điều kiện không có phần tử nào của tập mẫu nằm giữa L1 và L2 , kết hợp lại với ∀ ta luôn có :
( + ) ≥ 1(1) Vậy khoảng cách gần nhất từ một điểm dữ liệu có toạ độ bất kỳ (xn,yn) tới mặt phân chia gọi là margin được tính theo công thức :
= min (+ )
‖‖Chúng ta cần chọn w và b để cực đại hóa lề ( margin) hay khoảng cách giữa 2 siêu phẳng ở xa nhau nhất có thể trong khi vẫn phân chia được dữ liệu
Trang 3120
(, ) = max, 1
‖‖
Thỏa mãn ∶ (+ ) ≥ 1, ∀ = 1,2, … , N
Hay :
(, ) = min, 2 1 ‖‖ Thỏa mãn ∶ 1 − (+ ) ≤ 0, ∀ = 1, 2, … , N
Sau khi tối ưu được mặt phân cách + = 0, phân lớp trên tập dữ liệu
sẽ được thực hiện theo công thức :
() = ( + ) Với sgn hay còn được biết là sign là một hàm toán học cho ra kết quả sign của số thực Hàm sign được định nghĩa như sau :
() = 1 ế > 00 ế = 0
− 1 ế < 0
1.2.4.3.Soft-margin support vector machine:
Trong thực tế SVM thuần chỉ làm việc tốt với tập dữ liệu có 2 phân lớp là tách
biệt Có 2 trường hợp SVM làm việc không hiệu quả đó là [12] :
a Dữ liệu vẫn tách biệt nhưng có một vài điểm nhiễu ở lớp này quá gần lớp kia
Hình 1.13 : SVM với bài toán dữ liệu khi có nhiễu nhỏ
b Dữ liệu gần tách biệt , không tồn tại một mặt phân cách nào phân chia hoàn toàn
2 lớp dữ liệu , nếu chấp nhận loại bỏ một vài điểm nhiễu không đáng kể ở gần đường biên , SVM có thể tạo một đường phân chia dữ liệu ( đường nét đứt đậm )
Trang 3221
thành 2 lớp Với mỗi điểm của lớp này nằm lấn sang đường của lớp bên kia , ta coi những điểm đó rơi vào vùng không an toàn
Hình 1.14 : SVM với bài toán khi dữ liệu gần tách biệt
Cả 2 trường hợp trên , SVM chấp nhận một vài điểm trong tập dữ liệu bị lỗi , biên mềm ( margin) tạo bởi các đường phân chia nét đứt như 2 hình trên gọi là soft-margin
Phân tích bài toán :
Hình 1.15 : Trường hợp áp dụng Soft-margin support vector machine
Ta có một tập huấn luyện D gồm n điểm có dạng :
= (, ) | ∊ ℝ, ∊ {−1, 1} Việc tối đa margin có thể đưa về việc tối thiểu |||| như trình bày ở phần trên Với soft-margin SVM , để tối thiểu hóa sự hy sinh , hàm mục tiêu có phương trình sau :
(, , )= min,, 2 1 ‖‖+
(3) Thỏa mãn ∶ 1 − ( + ) ≤ 0, ∀ = 1, 2, … , N
− ≤ 0 , ∀ = 1, 2, … , N
Trang 3322
Trong đó :
ξ tương ứng với biến đo sự hy sinh , đại lượng này tỉ lệ với khoảng cách từ điểm vi phạm với vùng biên an toàn
ξ = 0 không có sự mất mát xảy ra, nằm trong vùng an toàn
0 < ξ < 1 , không nằm trong vùng an toàn , nhưng vẫn đúng so với đường ranh giới ( ví dụ so với đường nét đứt đậm )
ξ > 1 khi nằm trong vùng không an toàn ( ví dụ như , trong hình ) , đây là những điểm nằm ngược phía với class của chúng so với đường boundary Với các điểm nằm trong vùng không an toàn ta có :
ξ = | + − |
Để có thể giải quyết các bài toán kết hợp giữa neural network với Soft-margin SVM như mô hình đề xuất , ta cần đưa bài toán tối ưu có điều kiện về bài toán tối ưu không điều kiện và có khả năng giải được bằng các phương pháp gradient descent
Từ công thức (3) ta có :
ξ ≥ 1 − ( + )
ξ ≥ 0 Hàm mục tiêu có thể viết lại như sau :
(, , ) = min,, 2 1 ‖‖+
Thỏa mãn : ξ ≥ max0 , 1 − (+ ), ∀ = 1, 2, … ,N
Nếu (w, b , ξ) là nghiệm của bài toán tối ưu sao cho hàm mục tiêu đạt giá trị nhỏ nhất , ta kết luận :
Trang 34Giả sử ta cập nhập gradient descent qua mỗi điểm dữ liệu (, ) ớ ∈
(0,1 … ) , biểu thức cập nhập W và b được viết theo cơng thức :
Trong bài nghiên cứu của tác giả Tơ Trọng Tín và Trần Văn Lăng [13] đã ,
đề cập đến vấn đề cải thiện độ chính xác và tăng tốc độ phân tích dữ liệu mạng trên một hệ thống Intrusion Detection System - IDS bằng các mơ hình deep leanring ( học sâu ) cĩ khả năng tự học và cập nhập dấu hiệu nhận biết các cuộc tấn cơng mới Hai mơ hình mạng neural được giới thiệu là mạng đa lớp ẩn (Multilayer Perceptron - MLP) và mạng neural hồi quy (Recurrent Neural Network – RNN) được thực nghiệm trên bộ dữ liệu mạng nổi tiếng KDD99 và so sánh với các mơ hình học máy truyền thống khác là SVM và Nạve Bayes Kết quả thu được RNN đạt được độ chính xác cao nhất lên tới 99.04% , tiếp theo là MLP với 98.2% Các kết quả này tốt hơn khá nhiều so với 92.6% của SVM và 88.46% của Nạve Bayes
Một bài viết khác được trình bày bởi hai tác giả Trần Thị Hương , Phạm Văn Hạnh [14] đã kết hợp mạng neural truy hồi RNN với việc phân tích các đặc
Trang 3524
trưng của tập KDD99 thành các tập luật (rules) cĩ khả năng phát hiện các cuộc tấn cơng biết trước, cải thiện tính chính xác trong việc phát hiện xâm nhập mạng Mơ hình Hybrid Rule base RNN cho kết quả với độ chính xác là 99.7% so với 91.72% của SVM và 87.06% của Logisstic
Cả hai bài nghiên cứu về mơ hình RNN ở trên đều được thực nghiệm trên
bộ dữ liệu KDD99 , một nghiên cứu khác đến từ tác giả Chuanlong Yin [9] đã đề xuất một phương pháp tiếp cận sử dụng mạng hồi quy truy hồi (RNN-IDS) trong phát hiện xâm nhập mạng Quá trình được thực nghiệm trên bộ dữ liệu NSL-KDD
và thực hiện đánh giá hiệu suất của mơ hình trong phân loại nhị phân và phân loại
đa lớp (multi malware) Việc thay đổi các tham số về số lượng neurol hay learning rate tác động rất lớn đến hiệu suất của mơ hình Để đánh giá hiệu năng của RNN , tác giả đã so sánh mơ hình đề xuất với các phương pháp học máy khác như ANN , random forest , SVM , NB Tree, Nạve Bayes Kết quả thử nghiệm cho thấy mơ hình RNN-IDS cho kết quả phân loại với độ chính xác cao và hiệu suất vượt trội
so với các phương pháp học máy đã kể trên kể cả trong phân loại nhị phân hay phân loại đa lớp :
Hình 1.16 :So sánh RNN-IDS với các thuật tốn khác trong phân loại đa lớp
Hình 1.17 :So sánh RNN-IDS với các thuật tốn khác trong phân loại nhị
phân
Qua việc phân tích các nghiên cứu trên cĩ thể thấy việc áp dụng mơ hình RNN đã cải thiện tính chính xác và cung cấp một hướng đi mới trong việc cải thiện hiệu suất của các hệ thống Network Intruction Detection so với rất nhiều các mơ hình machine learning khác
1.3.1 So sánh hiệu năng của LSTM và GRU :
Trước khi trình bày mục tiêu của bài luận án này , người viết muốn lướt qua một số ưu điểm và nhược điểm của mạng neural RNN Khác với các mơ hình mạng neural truyền thống khi các thơng tin đầu vào khơng thể lưu lại được , RNN cĩ khả năng kết nối các thơng tin ở phía trước để dự đốn cho hiện tại Về mặt lý thuyết
Trang 3625
RNN có khả năng xử lý các phụ thuộc dài hạn (long-term dependencies) tuy nhiên trong thực tế lại cho thấy khả năng học trong dài hạn kém hơn nhiều Nguyên nhân chính được giải thích là do vấn đề Vanishing và Exploding Gradients (triệt tiêu đạo hàm) [15] của hàm Loss fucntion (hàm mất mát ) diễn ra trong quá trình tính toán các trọng số (weight ) của mô hình Hai phiên bản khác của mạng RNN là
LSTM (Long Short-Term Memory) được giới thiệu vào năm 1997 bởi Sepp
Hochreiter , Jürgen Schmidhuber và GRU được đề xuất vào năm 2014 bởi Cho đã
khắc phục nhược điểm cố hữu của mạng RNN nhằm tránh cho đạo hàm bị triệt tiêu Đây cũng là 2 biến thể mạng RNN được sử dụng nhiều nhất cho các bài toán
sử dụng dữ liệu dạng tuần tự Một câu hỏi đặt ra là trong 2 biến thể trên biến thể nào là tốt hơn ?
LSTM (Long Short Term Memory) có 3 cổng ( input , output và forget gate ) Trong khi đó GRU (Gated Recurring Units ) có 2 cổng ( reset và update gate ) - sẽ được trình bày chi tiết trong chương 2 Trong nghiên cứu [16] , các tác giả đã so sánh sự khác nhau của các recurrent units trong các biến thể hiện có của RNN Bài viết tập trung vào việc phân tích sự phức tạp của cơ chế nhớ gating giữa
mô hình mạng RNN truyền thống sử dụng hàm kích hoạt tanh trong hidden layer với hai biến thể là Long Short-Term Memory - LSTM ( đơn vị nhớ ngắn hạn định hướng dài hạn) và GRU (đơn vị lặp bộ nhớ có kiểm soát) Bài viết đã chỉ rõ sự vượt trội của các mô hình LSTM và GRU so với mô hình mạng RNN truyền thống , tuy nhiên khi so sánh LSTM và GRU với nhau bài viết không thể đưa ra kết luận
cụ thể nào Trong các nhiệm vụ cụ thể, cả 2 kiến trúc với những điểm mạnh, điểm yếu của mình đều cho ra được kết quả tốt tùy vào tính chất của các tập dữ liệu thực nghiệm và việc tinh chỉnh các hyperparameters (siêu tham số) một cách thích hợp nhất
=> Mục tiêu 1 : Trong luận văn nghiên cứu này , người viết muốn đề xuất một nghiên cứu so sánh giữa hai mô hình GRU và LSTM , quá trình thực nghiệm trên
2 bộ dữ liệu mạng là Kyoto dataset 2013 và Kyoto Dataset 2015 , từ đó đưa ra đánh giá chính xác về hiệu năng của 2 mô hình GRU và LSTM khi áp dụng giải quyết các bài toán về phát hiện sự bất thường trong lưu lượng mạng
1.3.2 Đề xuất mô hình mạng neuron kết hợp với SVM :
Artificial Neural Network (ANN) là một loại thuật toán machine learning được sử dụng để giải quyết các bài toán về phân loại , nhân dạng đối tượng Với ANN , dữ liệu có thể được phân chia thành các lớp và thường sử dụng hàm Softmax regression để phân loại các lớp dữ liệu Softmax được xây dựng để cung cấp phân phối xác xuất cho một tập các phân lớp sao cho tổng xác suất của các phân lớp là bằng 1 , điều này có lợi trong các nhiệm vụ đòi hỏi phân loại nhiều lớp Nhưng có những bài toán không nhất thiết đòi hỏi cách tiếp cận xác suất , ví dụ như : phân loại nhị phân Cách tiếp cận xác suất đòi hỏi sự phức tạp trong tính toán cao hơn
so với các phương pháp phi xác xuất , độ phức tạp của thuật toán là O(n) với n là
số lượng các phân lớp Mặt khác nếu sử dụng bộ phân lớp SVM sẽ chỉ yêu cầu chi phí trong tính toán là O(1) vì SVM không cần phải tính toán phân phối xác
Trang 37mô phỏng các cuộc tấn công mạng được trích rút từ hệ thống honeypot của Đại học Kyoto Thông qua quá trình thực nghiệm , tác giả bài viết cũng đã khẳng định
sự hiệu quả của RNN trong rất nhiều nhiệm vụ mà Machine leaning có thể giải quyết như xử lý ngôn ngữ tự nhiên , nhân dạng giọng nói , phân loại văn bản Thông thường mô hình Neural network nói chung hay mạng RNN nói riêng đều
sử dụng cấu trúc là dùng hàm Softmax ở layer output (lớp đầu ra) cuối cùng để xử
lý các bài toán phân loại đa lớp và hàm cross-entropy để tính toán giá trị mất mát của mô hình Bài viết đã trình bày một số sửa đổi khi sử dụng bộ phân lớp SVM
để thay thế cho hàm kích hoạt Softmax đặt ở lớp đầu ra của mô hình GRU Kết quả cho thấy mô hình GRU-SVM cho độ chính xác cao hơn khá nhiều so với mô hình GRU-Softmax thông thường Trên tập dữ liệu kiểm thử , mô hình đề xuất GRU-SVM đạt độ chính xác là 84.15% với tổng thời gian đưa ra dự đoán là 1.37 phút trong khi đó độ chính xác của mô hình đối chiếu GRU-Softmax là 70.75% và thời gian đưa ra dự đoán là 1.67 phút
Hình 1.18 : Bảng so sánh GRU-SVM và GRU-Softmax
=> Mục tiêu 2 : Có một vài nghiên cứu đề xuất các mô hình kết hợp giữa mạng neurol network với SVM như là GRU-SVM và kết quả nhận được khi so sánh với các mô hình tham chiếu là rất tốt Trong luận văn này, người viết muốn đề xuất một mô hình mới , một biến thể của mạng RNN là LSTM kết hợp với việc sử dụng
bộ phân lớp đa lớp SVM trong phát hiện sự bất thường trong lưu lượng mạng Để
Trang 3827
đánh giá hiệu năng của mô hình đề xuất LSTM-SVM , luận văn sẽ sử dụng kết quả accuracy score và giá trị confusion matrix từ mô hình tham chiếu GRU-SVM trong nghiên cứu của tác giả Abien Fred M Agarap [2] để so sánh và đưa ra đánh giá
Trang 3928
CHƯƠNG 2 : KHẢO SÁT MÔ HÌNH LSTM VÀ GRU TÌM HIỂU CHI TIẾT VỀ TẬP DỮ LIỆU MẠNG KYOTO DATASET
2.1 Tập dữ liệu thực nghiệm Kyoto Dataset :
2.1.1 Giới thiệu về Kyoto Dataset :
Với sự phát triển nhanh chóng và phổ biến của các botnet , các cuộc tấn công mạng quy mô lớn như DDoS , spam email ngày cảng trở thành mối đe dọa với các hệ thống CNTT Các công nghệ bảo mật dựa trên sự phát triển của các hệ thống như Hệ thống phát hiện xâm nhập mạng (NIDS) , hệ thống ngăn chặn xâm nhập mạng (IPS) , firewall ngày càng nhận được nhiều sự quan tâm để bảo vệ các
hệ thống mạng , hệ thống máy chủ và các thông tin nhạy cảm của người dùng khỏi những kẻ tấn công trên Internet
Có rất nhiều nỗ lực trong việc nâng cao khả năng của các hệ thống NIDS dựa trên các kỹ thuật khai phá dữ liệu và học máy Để áp dụng được các kỹ thuật
kể trên , cần thiết phải có các bộ dữ liệu thực nghiệm để huấn luyện cho mô hình thuật toán Bộ dữ liệu KDD Cup 99 ra đời từ năm 1999 [17] , là bộ dữ liệu mạng rất phổ biến , mô phỏng lại dữ liệu của các cuộc tấn công mạng trong phòng lab Một vấn đề đặt ra là với sự phát triển vũ bão của CNTT , KDD-99 không còn phản ánh được đúng các xu hướng tấn công mạng hiện giờ , cần thiết phải có các bộ dữ liệu mạng khác thay thế từ đó cải thiện khả năng của NIDS Và bộ dữ liệu Kyoto Dataset ra đời
Trong bài viết [3], nhóm các tác giả đến từ trung tâm công nghệ Nagoya Nhật bản đã giới thiệu về một bộ dữ liệu mạng mới , với phiên bản đầu tiên là Kyoto dataset 2006 , được xây dựng trong 3 năm ( 2006 -2009) bằng cách thu thập các luồng dữ liệu mạng trong thực tế Bài viết cũng đã cung cấp kết quả phân tích rất chi tiết về bộ dữ liệu Kyoto Dataset từ đó thêm hiểu biết về các xu hướng tấn công mới trên Internet
Hệ thống phân tích và theo dõi các gói tin mạng được sử dụng trong bài viết
là honeypots Hệ thống honeypots được sử dụng gồm rất nhiều máy thật và máy
ảo cài đặt các hệ điều hành khác nhau (Solaris 8 , Windows XP SP2 , Windows Vista , MacOS X, Windows 2000 Server ) , máy in , các thiết bị điện tử gia đình
có kết nối mạng … Tất cả các máy honeypots sẽ được khởi động lại ngay lập tức khi gói tin độc hại được phát hiện Để thu thập các gói tin từ hệ thống honeypot cũng như phát hiện được sự bất thường , nghiên cứu sử dụng ba phần mềm bảo mật : SNS7160 IDS system, Clam AntiVirus software và Ashula
Cuối cùng từ dữ liệu thu thập được bài viết đưa ra một số phát hiện như sau :
Khoảng 50% các cuộc tấn công mạng được phát hiện đến từ Trung Quốc ,
Mỹ và Hàn Quốc
Tổng số lượng các cảnh báo về IDS alerts, AV alerts, shellcodes, địa chỉ IP nguồn và destination ports lần lượt là 290, 832, 231, 4420971 và 61942
Trang 4029
Số lượng trung bình các cảnh báo IDS alerts, AV alerts, shellcodes, source
IP addresses và destination ports trong một ngày lần lượt là s 41, 5.5, 9, 5,851 và 557
Khoảng 60% các cảnh báo từ IDS alerts là về MSSQL StackOverflow (29%), SMB Large Return Field (17%) và Too Many SYNs for a TCP Connection (12%)
Hầu hết các cảnh báo AV alerts liên quan đến Trojan, Worm, Phishing Email
Top 6 port đích là 445, 22, 0, 80, 139, 1434 chiếm khoảng 70% trong tổng
số các port đích được phát hiện
27 mã shellcodes được phát hiện từ một loại sâu độc (worm) liên quan đến file Win32/Conficker
2.1.2 So sánh Kyoto Dataset với các bộ dữ liệu mạng hiện nay :
Thông thường hiệu năng của một hệ thống NIDS sẽ được đánh giá dựa vào các
bộ dữ liệu mạng đã được gán nhãn , từ đó đưa ra các so sánh cũng như cải tiến thêm cho hệ thống Tuy nhiên hiện nay tồn tại rất nhiều các bộ dữ liệu mạng được thu thập từ các học viện , các tổ chức nghiên cứu khác nhau có thể kể đến như :
DARPA (Lincoln Laboratory 1998, 1999)
KDD’99 (University of California, Irvine 1998, 99)
DEFCON (The Shmoo Group, 2000)
CAIDA (Center of Applied Internet Data Analysis – 2002/2016)
LBNL (Lawrence Berkeley National Laboratory and ICSI – 2004/2005)
CDX (United States Military Academy 2009)
Kyoto (Kyoto University – 2009)
Twente (University of Twente – 2009)
UMASS (University of Massachusetts – 2011)
ADFA (University of New South Wales – 2013)
Không có nhiều nghiên cứu tập trung phân tích các bộ dữ liệu mạng để đánh giá xem bộ dữ liệu nào là phù hợp và đáng tin cậy Trong bài viết [18], nhóm các nhà nghiên cứu đến từ Học viện an ninh mạng Canada đã tiến hành nghiên cứu các
bộ dữ liệu có từ năm 1998 – 2016 , dựa trên các bộ tiêu chí cũng như framework được họ đề xuất , đã đưa ra đánh giá xem bộ dữ liệu nào phù hợp và đáng tin cậy với các hệ thống IDS hiện nay Thống kê bên dưới chỉ ra các điểm mạnh và điểm yếu của 11 bộ dữ liệu đã đươc đề cập ở bên trên