Tải bản đầy đủ (.pdf) (136 trang)

Ứng dụng máy học để nâng cao hiệu năng của các hệ thống phát hiện xâm nhập mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.72 MB, 136 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU

VÕ ĐÌNH VŨ

ỨNG DỤNG MÁY HỌC ĐỂ NÂNG CAO HIỆU
NĂNG CỦA CÁC HỆ THỐNG PHÁT HIỆN XÂM
NHẬP MẠNG
LUẬN VĂN THẠC SĨ

Bà Rịa - Vũng Tàu, năm 2021


i

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU

VÕ ĐÌNH VŨ
ỨNG DỤNG MÁY HỌC ĐỂ NÂNG CAO HIỆU
NĂNG CỦA CÁC HỆ THỐNG PHÁT HIỆN XÂM
NHẬP MẠNG

Chuyên ngành: Công nghệ thông tin
Mã số ngành: 8480201
LUẬN VĂN THẠC SĨ

Giảng viên hướng dẫn: TS. Văn Thế Thành
Bà Rịa - Vũng Tàu, năm 2021



ii

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu luận văn này do tôi thực hiện
dưới sự hướng dẫn của TS. Văn Thế Thành. Luận văn này khơng sao chép tồn bộ
các tài liệu, cơng trình nghiên cứu của người khác. Các số liệu và kết quả trình bày
trong luận văn là trung thực và chưa được cơng bố trong các cơng trình khác. Tất cả
các đoạn trích dẫn nằm trong tài liệu, cơng trình nghiên cứu của người khác đều được
ghi rõ nguồn và chỉ rõ trong tài liệu tham khảo.
Tôi xin cam đoan những điều trên là đúng sự thật, tơi xin chịu hồn tồn trách
nhiệm.
Tác giả

Võ Đình Vũ


iii

LỜI CẢM ƠN
Trong thời gian thực hiện luận văn tốt nghiệp, dưới sự hướng dẫn tận tình
của giáo viên hướng dẫn và được phía nhà trường tạo điều kiện thuận lợi, tơi đã có
một q trình nghiên cứu, tìm hiểu và học tập nghiêm túc để hoàn thành đề tài. Kết
quả thu được không chỉ do nỗ lực của cá nhân tơi mà cịn có sự giúp đỡ của q thầy
cơ, gia đình và các bạn.
Trong q trình thực hiện và trình bày khơng thể tránh khỏi những sai sót và
hạn chế, do vậy tôi rất mong nhận được sự góp ý, nhận xét phê bình của q thầy cơ
và các bạn để hồn thiện hơn.
Tơi xin chân thành cám ơn.
- Ban giám hiệu nhà trường, Viện Đào tạo Quốc tế và Sau đại học - Trường
Đại học Bà Rịa Vũng Tàu và Tập thể quý Thầy, Cô giáo đã quan tâm, tạo điều kiện

giúp tơi hồn thành luận văn tốt nghiệp.
- TS Văn Thế Thành và Ths, NCS Hoàng Ngọc Thanh: đã hướng dẫn, hỗ trợ
tơi hồn thành tốt luận văn về phương pháp, lý luận và nội dung luận văn.
Cuối cùng, tơi vơ cùng biết ơn gia đình, bố mẹ, anh chị em, đặc biệt là vợ con
của tôi, những người đã động viên, giành những điều kiện tốt nhất để tơi có thể hồn
thành chương trình nghiên cứu của mình.

Võ Đình Vũ
Bà Rịa - Vũng Tàu, 2021


iv

MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI ..................................................... 1
1.1. Tính cấp thiết của đề tài nghiên cứu ................................................................1
1.2. Đối tượng và phạm vi nghiên cứu ...................................................................3
1.2.1. Đối tượng nghiên cứu .................................................................................3
1.2.2. Phạm vi nghiên cứu ....................................................................................3
1.3. Mục đích của đề tài..........................................................................................4
1.4. Nhiệm vụ của luận văn ....................................................................................4
1.5. Phương pháp nghiên cứu .................................................................................4
1.6. Ý nghĩa khoa học và thực tiễn của luận văn ....................................................5
1.6.1. Ý nghĩa khoa học ........................................................................................5
1.6.2. Ý nghĩa thực tiễn ........................................................................................5
1.7. Cấu trúc của luận văn ......................................................................................5

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ...................................................... 6
2.1. Các kỹ thuật máy học ......................................................................................6

2.1.1. Các kỹ thuật máy học đơn ..........................................................................9
2.1.1.1. Máy véc-tơ hỗ trợ ................................................................................9
2.1.1.2. Mạng nơ-ron nhân tạo .........................................................................9
2.1.1.3. Cây quyết định...................................................................................11
2.1.1.4. Naïve Bayes .......................................................................................12
2.1.1.5. K láng giềng gần nhất ........................................................................13
2.1.1.6. Hồi quy logistic .................................................................................13
2.1.2. Các kỹ thuật máy học kết hợp ..................................................................14
2.1.2.1. Bagging .............................................................................................14
2.1.2.2. Boosting.............................................................................................14


v

2.1.2.3. Stacking .............................................................................................15
2.1.3. Các kỹ thuật học sâu (deep learning) .......................................................16
2.1.3.1. Bộ mã tự động - Autoencoder. ..........................................................17
2.1.3.2. Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) .....17
2.1.3.3. Mạng nơ-ron hội quy (Recurrent Neural Network - RNN). .............18
2.2. Tập dữ liệu sử dụng cho các IDS ..................................................................19
2.3. Chỉ số đánh giá hiệu năng các IDS ................................................................21
2.4. Các nghiên cứu hiện nay về máy học cho IDS ..............................................23
2.4.1. Các nghiên cứu trong nước ......................................................................23
2.4.2. Một số nghiên cứu ngoài nước .................................................................23
2.4.3. Một số nhận xét và các tồn tại cần nghiên cứu ........................................24

CHƯƠNG 3. CÁC GIẢI PHÁP ĐỀ XUẤT ....................................... 27
3.1. Sử dụng các kỹ thuật học truyền thống .........................................................28
3.2. Sử dụng các kỹ thuật học sâu ........................................................................28
3.3. Sử dụng các kỹ thuật kết hợp ........................................................................29

3.3.1. Kỹ thuật kết hợp đồng nhất ......................................................................30
3.3.2. Kỹ thuật kết hợp không đồng nhất ...........................................................30

CHƯƠNG 4. KẾT QUẢ THỬ NGHIỆM........................................... 33
4.1. Môi trường thực nghiệm ................................................................................33
4.2. Tập dữ liệu .....................................................................................................33
4.3. Tiền xử lý dữ liệu ..........................................................................................36
4.4. Sử dụng các kỹ thuật học truyền thống .........................................................37
4.4.1. Thuật tốn Cây quyết định .......................................................................37
4.4.2. Thuật tốn Nạve Bayes ...........................................................................38
4.4.3. Thuật toán k láng giềng gần nhất..............................................................40


vi

4.4.4. Thuật toán Hồi quy logistic ......................................................................41
4.4.5. Thuật toán Máy véc-tơ hỗ trợ ...................................................................43
4.4.6. Thuật toán Mạng nơ-ron ...........................................................................44
4.4.7. Kết luận ....................................................................................................45
4.5. Sử dụng kỹ thuật học sâu...............................................................................47
4.5.1. Kiến trúc lớp ẩn dùng BatchNormalization .............................................47
4.5.2. Kiến trúc lớp ẩn dùng DenseLayer ...........................................................49
4.5.3. Kiến trúc lớp ẩn dùng LSTM ...................................................................50
4.5.4. Kết luận ....................................................................................................51
4.6. Sử dụng kỹ thuật kết hợp ...............................................................................53
4.6.1. Kỹ thuật kết hợp đồng nhất ......................................................................53
4.6.1.1. Kỹ thuật kết hợp Boosting.................................................................53
4.6.1.2. Kỹ thuật kết hợp Bagging .................................................................59
4.6.1.3. Kỹ thuật kết hợp Stacking .................................................................64
4.6.1.4. Kỹ thuật kết hợp Voting ....................................................................70

4.6.1.5. Kỹ thuật kết hợp Random Forest ......................................................75
4.6.2. Kỹ thuật kết hợp không đồng nhất ...........................................................77
4.6.2.1. Kỹ thuật kết hợp Voting ....................................................................77
4.6.2.2. Kỹ thuật kết hợp Stacking .................................................................79
4.7. Tổng hợp kết quả ...........................................................................................80
4.7.1. Đánh giá các thuật toán sử dụng đánh giá chéo 10-fold ..........................80
4.7.1.1. Kiểu tấn công Normal (phát hiện tấn công) ......................................80
4.7.1.2. Kiểu tấn công Backdoor ....................................................................81
4.7.1.3. Kiểu tấn công Analysis .....................................................................82
4.7.1.4. Kiểu tấn công Fuzzers .......................................................................82


vii

4.7.1.5. Kiểu tấn công Shellcode ....................................................................83
4.7.1.6. Kiểu tấn công Reconnaissance ..........................................................84
4.7.1.7. Kiểu tấn công Exploits ......................................................................84
4.7.1.8. Kiểu tấn công Worms ........................................................................85
4.7.1.9. Kiểu tấn công Generic .......................................................................86
4.7.1.10. Kiểu tấn công DoS ..........................................................................87
4.7.2. Đánh giá các thuật toán sử dụng Tập kiểm tra .........................................87
4.7.2.1. Kiểu tấn công Normal .......................................................................87
4.7.2.2. Kiểu tấn công Backdoor ....................................................................88
4.7.2.3 Kiểu tấn công Analysis ......................................................................89
4.7.2.4. Kiểu tấn công Fuzzers .......................................................................90
4.7.2.5. Kiểu tấn công Shellcode ....................................................................90
4.7.2.6. Kiểu tấn công Reconnaissance ..........................................................91
4.7.2.7. Kiểu tấn công Exploits ......................................................................92
4.7.2.8. Kiểu tấn công Worms ........................................................................93
4.7.2.9. Kiểu tấn công Generic .......................................................................93

4.7.2.10. Kiểu tấn công DoS ..........................................................................94
4.7.3. Kết quả tổng hợp ......................................................................................95

CHƯƠNG 5. KẾT LUẬN .................................................................... 97
TÀI LIỆU THAM KHẢO .................................................................... 98
PHỤ LỤC ............................................................................................. 100


viii

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
ANN: Artificial Neural Network
AUC: Area Under the Curve
Bagging: Bootstrap Aggregation
BN: Bayesian Network
CART: Classification and Regression Trees
CNN: Convolutional Neural Network
CV: Cross - Validation
DBN: Deep Brief Network
DNN: Deep Neural Network
DoS: Denial of Service
DT: Decision Tree
ELM: Extreme Learning Machines
FN: False Negative
FNR: False Negative Rate
FP: False Positive
FPR: False Positive Rate
GAN: Generative Adversarial Network
IDS: Intrusion Detection System
KNN: K Nearest Neighbours

LOO: Leave One Out
LR: Logistic Regression
LSTM: Long short-term memory
ML: Machine Learning
MLP: Multi - Layer Perceptron
MV: Majority Voting
NB: Naïve Bayes
OAR: One - Against - Rest
PART: Partial Decision Tree


ix

R2L: Remote to Local
RF: Random Forest
RBM: Restricted Boltzmann Machine
ROC: Receiver Operating Characteristics
RNN: Recurrent Neural Network
RT: Random Tree
SOM: Self - Organizing Maps
SPAN: Switched Port Analyzer
SVM: Support Vector Machine
TN: True Negative
TNR: True Negative Rate
TP: True Positive
TPR: True Positive Rate
U2R: User to Root
UNSW: University of New South Wales
WEKA: Waikato Environment for Knowledge Analysis



x

DANH MỤC CÁC BẢNG, BIỂU
Bảng 4.1. Bảng mô tả thông tin tập dữ liệu UNSW-NB15 [15] ................................35
Bảng 4.2. Thông tin của Tập dữ liệu huấn luyện và Tập kiểm tra ............................36
Bảng 4.3. Kết quả các kiểu tấn công sử dụng Cây quyết định với 10-fold................37
Bảng 4.4. Kết quả kiểu tấn cơng thuật tốn cây quyết định trên Tập kiểm tra .........38
Bảng 4.5. Kết quả kiểu tấn cơng sử dụng Nạve Bayes với 10-fold .........................39
Bảng 4.6. Kết quả kiểu tấn công sử dụng Naïve Bayes với Tập kiểm tra ................39
Bảng 4.7. Kết quả kiểu tấn công sử dụng KNN với 10-fold .....................................40
Bảng 4.8. Kết quả kiểu tấn công sử dụng KNN với Tập kiểm tra ............................41
Bảng 4.9. Kết quả kiểu tấn công sử dụng Hồi quy Logistic với 10-fold ..................42
Bảng 4.10. Kết quả kiểu tấn công sử dụng Hồi quy Logistic với Tập kiểm tra .......42
Bảng 4.11. Kết quả kiểu tấn công sử dụng Máy véc-tơ hỗ trợ với 10-fold ..............43
Bảng 4.12. Kết quả kiểu tấn công sử dụng Máy véc-tơ hỗ trợ với Tập kiểm tra......44
Bảng 4.13. Kết quả kiểu tấn công sử dụng Mạng nơ-ron với 10-fold ......................44
Bảng 4.14. Kết quả kiểu tấn công sử dụng Mạng nơ-ron với Tập kiểm tra .............45
Bảng 4.15. Chỉ số F-Measure của kỹ thuật máy học đơn với 10-fold ......................45
Bảng 4.16. Chỉ số F-Measure của kỹ thuật máy học đơn với Tập kiểm tra .............46
Bảng 4.17. Kết quả kiểu tấn công kiến trúc BatchNormalization với 10-fold .........48
Bảng4.18. Kết quả kiểu tấn công với BatchNormalization với Tập kiểm tra ...........48
Bảng 4.19. Kết quả kiểu tấn công DenseLayer với 10-fold ......................................49
Bảng 4.20. Kết quả kiểu tấn công DenseLayer với Tập kiểm tra ............................50
Bảng 4.21. Kết quả kiểu tấn công LSTM với 10-fold .............................................50
Bảng 4.22. Kết quả kiểu tấn công kiến trúc LSTM với Tập kiểm tra......................51
Bảng 4.23. Đánh giá F-Measure các kỹ thuật máy học sâu với 10-fold. ..................52
Bảng 4.24. Đánh giá F-Measure các kỹ thuật máy học sâu với Tập kiểm tra. .........52
Bảng 4.25. Các bộ phân loại cơ sở sử dụng với kết hợp đồng nhất Boosting ..........53
Bảng 4.26. Bảng thời gian của kỹ thuật kết hợp đồng nhất Boosting.......................54

Bảng 4.27. Chỉ số Precision khi sử dụng kết hợp đồng nhất Boosting với 10-fold ..54
Bảng 4.28. Chỉ số Recall kết hợp đồng nhất Boosting với 10-fold ..........................54
Bảng 4.29. Chỉ số F-Measure kết hợp đồng nhất Boosting với 10-fold ...................55
Bảng 4.30. Chỉ số AUC kết hợp đồng nhất Boosting với 10-fold ............................55
Bảng 4.31. Chỉ số Precision kết hợp đồng nhất Boosting với Tập kiểm tra .............56
Bảng 4.32. Chỉ số Recall kết hợp đồng nhất Boosting với Tập kiểm tra..................56
Bảng 4.33. Chỉ số F-Measure kết hợp đồng nhất Boosting với Tập kiểm tra ..........57
Bảng 4.34. Chỉ số AUC kết hợp đồng nhất Boosting với Tập kiểm tra ...................57
Bảng 4.35. Kết quả kiểu tấn công kết hợp đồng nhất Boosting với 10-fold .............58
Bảng 4.36. Kết quả kiểu tấn công kết hợp đồng nhất Boosting với Tập kiểm tra ....58
Bảng 4.37. Các bộ phân loại cơ sở sử dụng kết hợp không đồng nhất Bagging ......59
Bảng 4.38. Bảng thời gian và kết quả kỹ thuật kết hợp đồng nhất Bagging.............59


xi

Bảng 4.39. Chỉ số Precision kết hợp đồng nhất Bagging với 10-fold ......................60
Bảng 4.40. Chỉ số Recall kết hợp đồng nhất Bagging với 10-fold ...........................60
Bảng 4.41. Chỉ số F-Measure kết hợp đồng nhất Bagging với 10-fold ....................60
Bảng 4.42. Chỉ số AUC kết hợp đồng nhất Bagging với 10-fold .............................61
Bảng 4.43. Chỉ số Precision kết hợp đồng nhất Bagging với Tập kiểm tra ..............61
Bảng 4.44. Chỉ số Recall kết hợp đồng nhất Bagging với Tập kiểm tra ..................62
Bảng 4.45. Chỉ số F-Measure kết hợp đồng nhất Bagging với Tập kiểm tra ...........62
Bảng 4.46. Chỉ số AUC kết hợp đồng nhất Bagging với Tập kiểm tra ....................63
Bảng 4.47. Kết quả kiểu tấn công kết hợp đồng nhất Bagging với 10-fold..............63
Bảng 4.48. Kết quả kiểu tấn công kết hợp đồng nhất Bagging với Tập kiểm tra .....64
Bảng 4.49. Các bộ phân loại cơ sở sử dụng kết hợp đồng nhất Stacking .................64
Bảng 4.50. Bảng thời gian và kết quả kỹ thuật kết hợp đồng nhất Stacking ............65
Bảng 4.51. Chỉ số Precision kết hợp đồng nhất Stacking với 10-fold ......................65
Bảng 4.52. Chỉ số Recall kết hợp đồng nhất Stacking với 10-fold ...........................65

Bảng 4.53. Chỉ số F-Measure kết hợp đồng nhất Stacking với 10-fold....................66
Bảng 4.54. Chỉ số AUC kết hợp đồng nhất Stacking với 10-fold ............................66
Bảng 4.55. Chỉ số Precision kết hợp đồng nhất Stacking với Tập kiểm tra .............67
Bảng 4.56. Chỉ số Recall kết hợp đồng nhất Stacking với Tập kiểm tra ..................67
Bảng 4.57. Chỉ số F-Measure kết hợp đồng nhất Stacking với tập kiểm tra ............68
Bảng 4.58. Chỉ số AUC kết hợp đồng nhất Stacking với Tập kiểm tra ....................68
Bảng 4.59. Kết quả kiểu tấn công kết hợp đồng nhất Stacking với 10-fold .............69
Bảng 4.60. Kết quả kiểu tấn công kết hợp đồng nhất Stacking với Tập kiểm tra ....69
Bảng 4.61. Các bộ phân loại cơ sở với kỹ thuật kết hợp đồng nhất Voting .............70
Bảng 4.62. Bảng thời gian và kết quả kỹ thuật kết hợp đồng nhất Voting ...............70
Bảng 4.63. Chỉ số Precision kết hợp đồng nhất Voting với 10-fold .........................71
Bảng 4.64. Chỉ số Recall kết hợp đồng nhất Voting với 10-fold..............................71
Bảng 4.65. Chỉ số F-Measure kết hợp đồng nhất Voting với 10-fold ......................71
Bảng 4.66. Chỉ số AUC kết hợp đồng nhất Voting với 10-fold ...............................72
Bảng 4.67. Chỉ số Precision kết hợp đồng nhất Voting với Tập kiểm tra ................72
Bảng 4.68. Chỉ số Recall kết hợp đồng nhất Voting với Tập kiểm tra .....................73
Bảng 4.69. Chỉ số F-Measure kết hợp đồng nhất Voting với Tập kiểm tra ..............73
Bảng 4.70. Chỉ số AUC kết hợp đồng nhất Voting với Tập kiểm tra .......................74
Bảng 4.71. Kết quả kiểu tấn công kết hợp đồng nhất Voting với 10-fold ................74
Bảng 4.72. Kết quả kiểu tấn công kết hợp đồng nhất Voting với Tập kiểm tra .......75
Bảng 4.73. Kết quả kiểu tấn công sử dụng Random Forest với 10-fold ...................76
Bảng 4.74. Kết quả kiểu tấn công sử dụng Random Forest với Tập kiểm tra ..........76
Bảng 4.75. Kết quả kiểu tấn công không đồng nhất Voting với 10-fold ..................78
Bảng 4.76. Kết quả kiểu tấn công không đồng nhất Voting với Tập kiểm tra .........78
Bảng 4.77. Kết quả kiểu tấn công không đồng nhất Stacking với 10-fold ...............79


xii

Bảng 4.78. Kết quả kiểu tấn công không đồng nhất Stacking với Tập kiểm tra .............80

Bảng 4.79. Chất lượng kiểu tấn công Normal với 10-fold .......................................80
Bảng 4.80. Chất lượng kiểu tấn công Backdoor với 10-fold ....................................81
Bảng 4.81. Chất lượng kiểu tấn công Analysis với 10-fold ......................................82
Bảng 4.82. Chất lượng kiểu tấn công Fuzzers với 10-fold .......................................82
Bảng 4.83. Chất lượng kiểu tấn công Shellcode với 10-fold ....................................83
Bảng 4.84. Chất lượng kiểu tấn công Reconnaissance với 10-fold .................................84
Bảng 4.85. Chất lượng kiểu tấn công Exploits với 10-fold ......................................85
Bảng 4.86. Chất lượng kiểu tấn công Worms với 10-fold ........................................85
Bảng 4.87. Chất lượng kiểu tấn công Generic với 10-fold .......................................86
Bảng 4.88. Chất lượng kiểu tấn công DoS với 10-fold.............................................87
Bảng 4.89. Chất lượng kiểu tấn công Normal trên Tập kiểm tra ..............................88
Bảng 4.90. Chất lượng kiểu tấn công Backdoor trên Tập kiểm tra ..........................88
Bảng 4.91. Chất lượng kiểu tấn công Analysis trên Tập kiểm tra ............................89
Bảng 4.92. Chất lượng kiểu tấn công Fuzzers trên Tập kiểm tra ..............................90
Bảng 4.93. Chất lượng kiểu tấn công Shellcode trên Tập kiểm tra ..........................91
Bảng 4.94. Chất lượng tấn công Reconnaissance trên Tập kiểm tra.........................91
Bảng 4.95. Chất lượng kiểu tấn công Exploits trên Tập kiểm tra .............................92
Bảng 4.96. Chất lượng kiểu tấn công Worms trên Tập kiểm tra ..............................93
Bảng 4.97. Chất lượng kiểu tấn công Generic trên Tập kiểm tra .............................94
Bảng 4.98. Chất lượng kiểu tấn công DoS trên Tập kiểm tra ...................................94
Bảng 4.99. Các kỹ thuật đề xuất với mỗi kiểu tấn công ...........................................95


xiii

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Hệ thống phân loại IDS ...............................................................................2
Hình 2.1. Mơ hình học có giám sát .............................................................................6
Hình 2.2. Phân loại các thuật tốn học máy ................................................................8
Hình 2.3. Q trình học có giám sát của ANN. ........................................................10

Hình 2.4. Giảm thiểu tham số delta bằng cách điều chỉnh trọng số. ........................11
Hình 2.5. Cây quyết định. .........................................................................................11
Hình 2.6. Kỹ thuật Bagging. ....................................................................................14
Hình 2.7. Kỹ thuật Boosting. ....................................................................................15
Hình 2.8. Kỹ thuật Stacking với bộ kiểu tấn cơng meta. ..........................................16
Hình 2.9. Cấu trúc của một mã tự động. ...................................................................17
Hình 2.10. Cấu trúc của CNN ...................................................................................18
Hình 2.11. Cấu trúc của RNN. ..................................................................................19
Hình 2.12. Tập dữ liệu đang được sử dụng trong nghiên cứu IDS từ 2015 - 2018 ..20
Hình 3.1. Mơ hình IDS sử dụng kỹ thuật học truyền thống trong thử nghiệm .........28
Hình 3. 2. Mơ hình IDS sử dụng kỹ thuật học sâu dùng trong thử nghiệm ..............29
Hình 3.3. Mơ hình IDS sử dụng kỹ thuật kết hợp đồng nhất trong thử nghiệm .......30
Hình 3.4. Mơ hình IDS sử dụng kỹ thuật Voting dùng trong thử nghiệm. ...............31
Hình 3.5. Mơ hình IDS sử dụng kỹ thuật Stacking dùng trong thử nghiệm. ............32


xiv

TÓM TẮT
Đối với hệ thống phát hiện xâm nhập mạng (Intrusion Detection System IDS), xâm nhập có nghĩa là cố gắng truy cập thơng tin về hệ thống máy tính hoặc làm
hỏng hoạt động của hệ thống theo cách bất hợp pháp hoặc trái phép. IDS là một ứng
dụng bảo mật máy tính nhằm phát hiện một loạt các vi phạm bảo mật, từ các vụ đột
nhập do người ngoài cố gắng xâm nhập và lạm dụng hệ thống bởi người trong cuộc.
Các chức năng chính của IDS là giám sát máy chủ và mạng, phân tích hành vi của hệ
thống máy tính, tạo cảnh báo và phản hồi các hành vi đáng ngờ. IDS có thể được chia
thành các phương thức dựa trên máy chủ và dựa trên mạng. Chức năng chính của hệ
thống phát hiện xâm nhập mạng là để bảo vệ hệ thống, phân tích và dự báo hành vi
truy cập mạng của người sử dụng. Những hành vi này được xem xét là bình thường
hoặc một cuộc tấn cơng. Nghiên cứu này nhằm phân tích các nghiên cứu gần đây về
IDS bằng cách sử dụng phương pháp học máy (Machine Learning - ML).

Phương pháp nghiên cứu sử dụng các phương pháp như khảo sát, tổng hợp,
phân tích thơng tin cần thiết; tham khảo, đánh giá các nghiên cứu liên quan để từ đó
tìm ra hướng giải quyết vấn đề. Xác định rõ đối tượng và phạm vi nghiên cứu để từ
đó để xây dựng các mơ hình kiểu tấn cơng trong việc phát hiện các dấu hiệu tấn công
mạng.
Phương pháp nghiên cứu phải dựa trên các tiêu chí sau đây:
Xuất phát từ các nghiên cứu trong nước và quốc tế về việc sử dụng các kỹ
thuật máy học cho các hệ thống phát hiện xâm nhập mạng trong thòi gian gần đây.
Điều này là để đảm bảo các nghiên cứu của chúng tơi có liên quan và khơng bị lỗi
thời.
Mặc khác, để có một cái nhìn đa dạng và toàn diện vấn đề, đặc biệt là những
kết quả, thành tựu đã đạt được trong quá khứ về máy học cho phát hiện xâm nhập,
chúng tơi có tham khảo một số bài báo xuất bản trước năm 2015, tuy cũ nhưng có
nhiều điểm thu hút về khía cạnh học thuật.
Về kỹ thuật máy học, luận văn đề cập đến các kỹ thuật học máy truyền thống


xv

là các kỹ thuật máy học đơn, kỹ thuật máy học kết hợp và kỹ thuật máy học sâu. Kỹ
thuật máy học đơn sử dụng gồm: Cây quyết định (Decision Tree - DT), k láng giềng
(k Nearest Neighbors - kNN), máy véc-tơ hỗ trợ (Support Vector Machines - SVM),
Naïve Bayes (NB) và Hồi quy logistic (Logistic Regression); Kỹ thuật máy học kết
hợp sử dụng gồm: Boosting, Bagging, Stacking, Random Forest và Voting; Kỹ thuật
máy học sâu gồm các lớp mạng nơ-ron được sử dụng để xây dựng các kiến trúc ,
kiến trúc sử dụng DenseLayer: tất cả các đơn vị được kết nối với tất cả các đơn vị
của lớp cha của nó , kiến trúc sử dụng BatchNormalization: áp dụng chiến lược
chuẩn hóa hàng loạt phổ biến trên các kích hoạt của lớp cha và kiến trúc sử dụng
LSTM: sử dụng phương pháp tiếp cận trí nhớ ngắn hạn - dài hạn.
Dựa trên các kỹ thuật học máy cho các hệ thống phát hiện xâm nhập mạng.

Tập trung nghiên cứu một số kỹ thuật máy học đơn, học sâu và kỹ thuật kết hợp. Từ
các kết quả thực nghiệm của các kỹ thuật học máy. Sau đó đánh giá, lựa chọn các kỹ
thuật học máy nào có kết quả tốt nhất để chọn lựa nhằm nâng cao hiệu năng hệ thống
phát hiện xâm nhập mạng. Để đánh giá hiệu năng của các mơ hình, chúng tơi đề xuất
sử dụng chỉ số đánh giá F-Measure. Theo định nghĩa F-Measure là trung bình hài
hịa giữa độ chính xác Precision và thu hồi Recall.
F-Measurei =

2×𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑖 ×𝑅𝑒𝑐𝑎𝑙𝑙𝑖
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑖 +𝑅𝑒𝑐𝑎𝑙𝑙𝑖

Kết quả thử nghiệm thực hiện trên tập dữ liệu UNSW-NB, tập dữ liệu hiện
đại do Trung tâm An ninh mạng của Úc tạo ra năm 2015.
Qua thực nghiệm cho thấy: Các kỹ thuật kết hợp cho kết quả tốt nhất trong
đa số các trường hợp khi phát hiện các mẫu tấn công.


1

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1. Tính cấp thiết của đề tài nghiên cứu
Ngày nay, mạng có ảnh hưởng ngày càng tăng đối với cuộc sống hiện đại, làm
cho an ninh mạng trở thành một lĩnh vực nghiên cứu quan trọng. Các kỹ thuật bảo mật
mạng chủ yếu bao gồm phần mềm chống vi-rút, hệ thống tường lửa (Firewall) và hệ
thống phát hiện xâm nhập (Intrusion Detection System - IDS). Những kỹ thuật này bảo
vệ các hệ thống mạng khỏi các cuộc tấn cơng bên trong và bên ngồi. Trong số đó, IDS
là một loại hệ thống phát hiện đóng vai trị chính trong việc bảo vệ an ninh mạng bằng
cách giám sát trạng thái của phần mềm và phần cứng đang hoạt động trên mạng.
Hệ thống phát hiện xâm nhập đầu tiên được đề xuất vào năm 1980 [1]. Kể từ
đó, nhiều sản phẩm IDS được ra đời và ngày càng phát triển và hoàn thiện hơn. Tuy

nhiên, nhiều IDS vẫn phải chịu tỷ lệ báo động sai cao, tạo ra nhiều cảnh báo cho các
tình huống đe dọa hàng tháng thấp, làm tăng gánh nặng cho các nhà phân tích bảo mật
và có thể gây ra cuộc tấn cơng có hại nghiêm trọng. Do đó, nhiều nhà nghiên cứu đã
tập trung vào phát triển IDS với tỷ lệ phát hiện cao hơn và giảm tỷ lệ báo động sai.
Một vấn đề khác với IDS hiện tại là chúng thiếu khả năng phát hiện các cuộc tấn công
chưa biết. Bởi vì mơi trường mạng thay đổi nhanh chóng, các biến thể tấn công và các
cuộc tấn công mới xuất hiện liên tục. Vì vậy, cần phải phát triển IDS có thể phát hiện
các cuộc tấn cơng chưa biết.
Có hai loại phương pháp phân loại IDS: phương pháp dựa trên phát hiện và
phương pháp dựa trên nguồn dữ liệu. Trong số các phương pháp dựa trên phát hiện,
IDS có thể được chia thành phát hiện sử dụng sai và phát hiện bất thường. Trong số
các phương thức dựa trên nguồn dữ liệu, IDS có thể được chia thành các phương thức
dựa trên máy chủ và dựa trên mạng được mô tả như Hình 1.1.


2

Hình 1.1. Hệ thống phân loại IDS
IDS là hệ thống giám sát lưu thơng mạng có thể là thiết bị phần cứng hoặc
phần mềm, có khả năng nhận biết những hoạt động khả nghi hay những hành động
xâm nhập trái phép trên hệ thống mạng trong tiến trình tấn cơng (FootPrinting,
Scanning, Sniffer…), cung cấp thông tin nhận biết và đưa ra cảnh báo cho hệ thống,
nhà quản trị.
Để giải quyết các vấn đề trên, các nhà nghiên cứu đã bắt đầu tập trung vào việc
xây dựng IDS bằng phương pháp học máy. Học máy là một loại kỹ thuật trí tuệ nhân
tạo có thể tự động khám phá thơng tin hữu ích từ các bộ dữ liệu lớn [2]. IDS dựa trên
máy học có thể đạt được mức phát hiện thỏa đáng khi có đủ dữ liệu đào tạo và học máy


3


các mơ hình có đủ khả năng khái qt để phát hiện các biến thể tấn công và các cuộc
tấn công mới.
Với mong muốn xây dựng một hệ thống phát hiện xâm nhập đủ khả năng phát
hiện các cuộc tấn công mới và tổng hợp đương đại trong điều kiện nguồn lực tính tốn
hạn chế, chúng tơi chọn đề tài “ỨNG DỤNG MÁY HỌC ĐỂ NĂNG CAO HIỆU
NĂNG CỦA CÁC HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG” để nghiên cứu
luận văn thạc sĩ chuyên ngành công nghệ thông tin.
1.2. Đối tượng và phạm vi nghiên cứu
1.2.1. Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn gồm: các kỹ thuật máy học, các tập dữ liệu
sử dụng trong kiểm tra đánh giá và các chỉ số đánh giá hiệu năng của các IDS.
Về kỹ thuật máy học, luận văn đề cập đến các kỹ thuật máy học đơn, kỹ thuật
máy học kết hợp và kỹ thuật máy học sâu. Kỹ thuật máy học đơn sử dụng gồm: Cây
quyết định (Decision Tree - DT), k láng giềng (k Nearest Neighbors - kNN), máy véctơ hỗ trợ (Support Vector Machines - SVM), Naïve Bayes (NB) và Hồi quy logistic
(Logistic Regression); Kỹ thuật máy học kết hợp sử dụng gồm: Boosting, Bagging,
Stacking, Random Forest và Voting; Kỹ thuật máy học sâu gồm các lớp mạng nơ-ron
được sử dụng để xây dựng các kiến trúc, kiến trúc sử dụng DenseLayer: tất cả các đơn
vị được kết nối với tất cả các đơn vị của lớp cha của nó, kiến trúc sử dụng
BatchNormalization: áp dụng chiến lược chuẩn hóa hàng loạt phổ biến trên các kích
hoạt của lớp cha và kiến trúc sử dụng LSTM: sử dụng phương pháp tiếp cận trí nhớ
ngắn hạn - dài hạn.
Các bộ kiểu tấn công sử dụng các kỹ thuật máy học nêu trên được huấn luyện,
kiểm tra và đánh giá chất lượng kiểu tấn công dựa trên các bộ dữ liệu huấn luyện và
kiểm tra của tập dữ liệu UNSW-NB15, tập dữ liệu hiện đại do Trung tâm An ninh
mạng của Úc tạo ra năm 2015.
1.2.2. Phạm vi nghiên cứu
Dựa trên các kỹ thuật học máy bao gồm kỹ thuật học máy đơn như Cây quyết
định (Decision Tree - DT), k láng giềng (k Nearest Neighbors - kNN), máy học véc-tơ



4

hỗ trợ (Support Vector Machines - SVM), Naïve Bayes - NB, kỹ thuật máy học sâu
gồm các lớp mạng nơ-ron được sử dụng để xây dựng các kiến trúc, kiến trúc sử dụng
DenseLayer: tất cả các đơn vị được kết nối với tất cả các đơn vị của lớp cha của nó,
kiến trúc sử dụng BatchNormalization: áp dụng chiến lược chuẩn hóa hàng loạt phổ
biến trên các kích hoạt của lớp cha và kiến trúc sử dụng LSTM: sử dụng phương pháp
tiếp cận trí nhớ ngắn hạn - dài hạn, kỹ thuật kết hợp Boosting, Bagging, Stacking và
Voting. Nghiên cứu tập trung vào tập dữ liệu UNSW-NB15, một tập dữ liệu tương đối
mới với nhiều mẫu phức tạp và sử dụng công cụ WEKA (viết tắt của Waikato
Environment for Knowledge Analysis) là một bộ phần mềm học máy được Đại học
Waikato, New Zealand phát triển bằng ngơn ngữ lập trình Java để kiểm chứng kết quả
thực nghiệm.
1.3. Mục đích của đề tài
Dựa trên các kỹ thuật học máy cho các hệ thống phát hiện xâm nhập mạng.
Tập trung nghiên cứu một số kỹ thuật máy học đơn, học sâu và kỹ thuật kết hợp. Dựa
trên những kết quả thực nghiệm của các kỹ thuật học máy. Sau đó đánh giá, lựa chọn
các kỹ thuật học máy nào cho kết quả tốt nhất để chọn lựa nhằm nâng cao hiệu năng
hệ thống phát hiện xâm nhập mạng.
1.4. Nhiệm vụ của luận văn
Giới thiệu được cơ sở lý thuyết về các kỹ thuật học máy trong phạm vi nghiên
cứu của luận văn này, tìm hiểu các nghiên cứu hiện nay về hệ thống phát hiện xâm
nhập. Đề xuất các mơ hình triển khai các kỹ thuật học máy. Từ kết quả thực nghiệm
để đánh giá các kỹ thuật máy học đã được đề xuất nghiên cứu trong luận văn này
1.5. Phương pháp nghiên cứu
Phương pháp nghiên cứu sử dụng các phương pháp như khảo sát, tổng hợp,
phân tích thơng tin cần thiết; tham khảo, đánh giá các nghiên cứu liên quan để từ đó
tìm ra hướng giải quyết vấn đề. Xác định rõ đối tượng và phạm vi nghiên cứu để từ đó
để xây dựng các mơ kiểu tấn cơng trong việc phát hiện các dấu hiệu tấn công mạng.

Phương pháp nghiên cứu phải dựa trên các tiêu chí sau đây:


5

Xuất phát từ các nghiên cứu trong nước và quốc tế về việc sử dụng các kỹ
thuật máy học cho các hệ thống phát hiện xâm nhập mạng trong giai đoạn gần đây.
Điều này là để đảm bảo các nghiên cứu của chúng tơi có liên quan và khơng bị lỗi thời.
Mặc khác, để có một cái nhìn đa dạng và toàn diện vấn đề, đặc biệt là những
kết quả, thành tựu đã đạt được trong quá khứ về máy học cho phát hiện xâm nhập,
chúng tơi có tham khảo một số bài báo xuất bản trước năm 2015, tuy cũ nhưng có nhiều
điểm thu hút về khía cạnh học thuật.
1.6. Ý nghĩa khoa học và thực tiễn của luận văn
1.6.1. Ý nghĩa khoa học
Luận văn này sẽ tạo tiền đề cho việc nghiên cứu lĩnh vực máy học trong phát
hiện xâm nhập mạng. Qua đó giúp chúng tơi nắm bắt được một số kiến thức nhất định
về máy học để tìm hiểu và nghiên cứu các kỹ thuật tấn cơng mạng trong thời gian tới
1.6.2. Ý nghĩa thực tiễn
Có thể vận dụng kết quả đạt được để tích hợp vào các hệ thống phát hiện xâm
nhập hiện có như Snort (mã nguồn mở) để tăng cường khả năng bảo vệ hệ thống từ
bên trong và phát hiện, ngăn chặn sự tấn cơng từ bên ngồi. Đặc biệt là với các tấn
công mới chưa biết hoặc các biến thể của các tấn cơng đã biết.
1.7. Cấu trúc của luận văn
Ngồi phần mở đầu, mục lục, kết luận và tài liệu tham khảo, nội dung chính
của luận văn được chia thành 5 chương, cụ thể như sau:
Chương 1: Giới thiệu về đề tài
Chương 2: Cơ sở lý thuyết giới thiệu các kỹ thuật máy học bao gồm các kỹ
thuật học máy đơn, các kỹ thuật kết hợp và các kỹ thuật học sâu. Giới thiệu về các tập
dữ liệu, chỉ số đánh giá hiệu năng về máy học cho IDS
Chương 3: Đề xuất các giải pháp kỹ thuật học truyền thống, kỹ thuật học sâu

và kỹ thuật kết hợp
Chương 4: Kết quả thực nghiệm được thực hiện dựa trên tập dữ liệu UNSWNB15 đánh giá kết quả thực nghiệm trên các giải pháp đã đề xuất
Chương 5: Kết luận


6

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Các kỹ thuật máy học
Học máy (Machine Learnning - ML) [3] là kỹ thuật thiết kế và phát triển các
thuật toán cho phép máy tính đánh giá hành vi dựa trên dữ liệu thực nghiệm, chẳng
hạn như dữ liệu cảm biến hoặc cơ sở dữ liệu. Một chương trình học có thể tận dụng
các mẫu (dữ liệu) để nắm bắt các đặc điểm quan tâm, dữ liệu có thể được xem như là
ví dụ minh họa mối quan hệ giữa các biến quan sát được. Trọng tâm chính của nghiên
cứu học máy là tự động học cách nhận ra các mẫu phức tạp và đưa ra quyết định thông
minh dựa trên dữ liệu. Học máy có thể được chia thành các nhánh như sau: học có
giám sát, học nửa giám sát và học khơng giám sát.
Học có giám sát (Supervised learning) [3] là quá trình học dùng đánh giá chéo
10-fold ban đầu hồn tồn được gán nhãn từ trước. Học có giám sát sử dụng cho lớp
bài tốn kiểu tấn cơng và phân loại. Với cách học này, kinh nghiệm được cho một cách
tường minh dưới dạng đầu vào và đầu ra của hàm đích. Hình 2.1 mơ tả kỹ thuật học có
giám sát.

Tập huấn luyện

Thuật tốn học

Dữ liệu vào

h


Dự đốn

Hình
Hình1.2.
2.1.1Mơ
Mơhình
hìnhhọc
họccó
cógiám
giámsát
sát
Một số kỹ thuật học có giám sát thường được quan tâm là máy véc-tơ hỗ trợ,
cây quyết định, mạng thần kinh nhân tạo, lập trình di truyền …
Kỹ thuật học nửa giám sát [3] là kỹ thuật học sử dụng cả dữ liệu đã gán nhãn
và chưa gán nhãn để huấn luyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng


7

với lượng lớn dữ liệu chưa gán nhãn. Nhiều nhà nghiên cứu nhận thấy dữ liệu không
gán nhãn, khi được sử dụng kết hợp với một lượng nhỏ dữ liệu có gán nhãn, có thể cải
thiện đáng kể độ chính xác. Trong kỹ thuật học có giám sát, để gán nhãn dữ liệu cho
bài tốn học máy thường địi hỏi một chuyên viên có kỹ năng để phân loại bằng tay
các mẫu huấn luyện. Trong khi đó, chi phí gán nhãn bằng tay cao, không khả thi. Với
phương pháp kết hợp cả mẫu dữ liệu được gán nhãn và chưa gán nhãn sẽ đạt được hiệu
quả cao hơn.
Kỹ thuật học không giám sát. Trong kỹ thuật học không giám sát [3], tập dữ
liệu được cho dưới dạng D={(x1, x2, …, xn)} với (x1, x2, …, xn) với vector đặc trưng của
mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các

nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau. Như vậy, việc
học không giám sát, số lớp phân loại chưa biết trước, và tùy theo tiêu chuẩn đánh giá
độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau.
Kỹ thuật máy học bao gồm kỹ thuật máy học đơn, kỹ thuật máy học kết hợp
và kỹ thuật học sâu. Các thuật toán học máy phổ biến được sử dụng trong IDS được
hiển thị trong Hình 2.2.


8

Hình 2.2. Phân loại các thuật tốn học máy


9

2.1.1. Các kỹ thuật máy học đơn
2.1.1.1. Máy véc-tơ hỗ trợ
Máy véc-tơ hỗ trợ (Support Vector Machines - SVM là một giải thuật máy học
dựa trên lý thuyết học thống kê do Vapnik (1998) đề xuất. Bài toán cơ bản của SVM
là bài tốn kiểu tấn cơng loại 2 lớp: Cho trước n điểm trong không gian d chiều (mỗi
điểm thuộc vào một lớp ký hiệu là +1 hoặc - 1, mục đích của giải thuật SVM là tìm
một siêu phẳng (hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai
phần sao cho các điểm cùng một lớp nằm về một phía với siêu phẳng này.
Xét tập dữ liệu mẫu có thể tách rời tuyến tính {(x1, y1), (x2, y2), ..., (xn, yn)} với
xi  Rd và yi  {±1}. Siêu phẳng tối ưu phân tập dữ liệu này thành hai lớp là siêu phẳng
có thể tách rời dữ liệu thành hai lớp riêng biệt với lề (margin) lớn nhất. Tức là, cần tìm
siêu phẳng H: y = w.x + b = 0 và hai siêu phẳng H1, H2 hỗ trợ song song với H và có
cùng khoảng cách đến H. Với điều kiện khơng có phần tử nào của tập mẫu nằm giữa
H1 và H2, khi đó:
w.x + b ≥ +1 với y = +1 và w.x + b ≤ - 1 với y = - 1, kết hợp ta có y (w.x + b)

≥ 1.
Khoảng

cách

của

siêu

phẳng

H1



H2

đến

H

là:

||𝑤|| =

√𝑤12 + 𝑤22 + ⋯ + 𝑤𝑛2
Ta cần tìm siêu phẳng H với lề lớn nhất, tức là giải bài tốn tối ưu tìm min||𝑤||
𝑤,𝑏

với ràng buộc y (w.x + b) ≥ 1. Từ đó giải để tìm được các giá trị tối ưu cho w, b. Về

sau, việc phân loại một mẫu mới chỉ là việc kiểm tra hàm dấu sign (w.x + b).
Lời giải tìm siêu phẳng tối ưu trên có thể mở rộng trong trường hợp dữ liệu
khơng thể tách rời tuyến tính bằng cách ánh xạ dữ liệu vào một khơng gian có số chiều
lớn hơn, qua việc sử dụng một hàm nhân như: Polynomial, Laplacian, Sigmoid,
Gaussian, …
2.1.1.2. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) là mơ hình xử lý
thơng tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao


×