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

  • 91 trang
  • file .pdf
TRƯỜ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
[email protected]
Ngành Công nghệ Thông tin
Giảng viên hướng dẫn: PGS.TS. Nguyễn Linh Giang
Viện: Công nghệ thông tin và Truyền thông
HÀ NỘI - 2020
TRƯỜ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
[email protected]
Ngành Công nghệ Thông tin
Giảng viên hướng dẫn: PGS.TS. Nguyễn Linh Giang
Chữ ký của GVHD
Viện: Công nghệ thông tin và Truyền thông
HÀ NỘI - 2020
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
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
LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận văn tốt nghiệp với đề 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à công trình nghiên cứu của tôi, dưới
sự hướng dẫn của PGS.TS Nguyễn Linh Giang . Tôi đã trích dẫn đầy đủ các
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
phần tài liệu tham khảo. Ngoại trừ các tài liệu tham khảo đã dẫn chứng, luận
văn này hoàn toàn là công trình nghiên cứu của riêng tôi.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Hà Nội, ngày… tháng … năm 2020
Học Viên
Vũ Mạnh Tuân
LỜI CẢM ƠN
Đầu tiên tôi xin dành lời cảm ơn đến PGS.TS. Nguyễn Linh Giang đã
hướng dẫn , đưa ra lời khuyên và hỗ trợ cho tôi trong quá trình hoàn thành
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ệ
thông tin và truyền thông, trường Đại học Bách Khoa Hà Nội đã giảng dạy,
truyền đạt kiến thức quý giá trong suốt quá trình tôi học tập, nghiên cứu tại
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è,
những người đồng nghiệp tại Cảng hàng không quốc tế Nội Bài đã giúp đỡ,
độ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.
Mặc dù đã rất cố gắng nhưng luận văn chắc chắn không tránh khỏi những
thiếu sót, tôi rất mong nhận được những ý kiến đánh giá và phê bình từ phía
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!
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
i
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
ii
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 Hệ thống phát hiện xâm nhập mạng
system
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
iii
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
iv
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
v
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 data54
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
vi
ĐẶT VẤN ĐỀ
Lý do lựa chọn đề tài :
Các hệ thống công nghệ thông tin và truyền thông (ICT) chứa rất nhiều các
thông tin nhạy cảm của nhiều người dùng khác nhau , và chúng cũng là mục tiêu
của các cuộc tấn công có chủ đích cả ở bên trong lẫn bên ngoài hệ thống . Các cuộc
tấn công này có rất nhiều hình thức đa dạng , có thể tấn công trực tiếp đến từ hacker
hay gián tiếp thông qua các máy tính bị nhiễm malware , ngày càng tinh vi và khó
phát hiện.
Ngà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ể
1
đế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 (June 2020) 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 toán mới hơn , có khả năng
tự học và dự đoá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 toá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, Naï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
2
phiên bản cải tiến đã khắc phục những nhược điểm cố hữu trên mô hình RNN cơ
bản
Cuối cùng trong luận văn này, người viết muốn đề xuất một mô hình ,sử dụng
hai biến thể của RNN là LSTM và GRU, kết hợp với việc sử dụng bộ phân lớp đa
lớp SVM thay vì sử dụng hàm Softmax , trong phát hiện sự bất thường trong lưu
lượng mạng . Để đánh giá hiệu năng của hai mô hình đề xuất LSTM-SVM và
GRU-SVM , luận án này sẽ sử dụng 2 thông số là Accuracy score và Confussion
matrix để so sánh . Quá trình thực nghiệm sẽ sử dụng kết quả khi áp dụng hai mô
hình đề xuất trên hai bộ dữ liệu mạng là Kyoto Dataset 2013 và Kyoto Dataset
2015 đượ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 .
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
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 :
4
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
đáng ngờ
 Bước 1 : Tiến hành trích chọn đặc trưng , trích rút thông số các trường dữ
liệu của gói tin như : duration , service, protocol, label , địa chỉ IP….
 Bước 2 : Tiến hành các bước xử lý dữ liệu thu được như chuẩn hóa dữ liệu
, giảm kích thước dữ liệu …. trước khi đưa vào mô hình học máy để thực
hiện phân loại gói tin
 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 .
5
 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, … . ,
6
Hình 1.2 : Ví dụ minh họa về một đồ thị hồi quy tuyến tính
Trong đó:
 W là vector trọng số (weight) , xác định mức độ đóng góp của mỗi đặc
trưng tới đầu ra ŷ
 b được gọi bias ( độ lệch) tương ứng với giá trị của đầu ra khi tất cả giá trị
các đặc trưng bằng 0
 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 đó :
1 …
1 …
ŷ= ⋮ ; = ⋮ = ;
⋮ ⋮ ⋱ ⋮
1 …
= ⋮ ; =

7
Như đã đề cập ở trên , mục đích của mô hình tuyến tính là tìm kiếm một mô
hình tốt nhất để biểu thị y theo x , tuy nhiên trong thực tế y không thể đúng bằng
+ . Nguyên nhân là do sai số không thể tránh khỏi trong việc đo đạc các
giá trị của đặc trưng X , cũng như giá trị đầu ra y có thể còn phụ thuộc vào nhiều
yếu tố khác nhưng không được liệt kê trong tập dữ liệu .Lý do có thể là do các yếu
tố 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 :
1 ()
1 1
( , ) = ( , )= ( + − )
2
Bài toán sẽ quy về mục tiêu là tìm các tham số (w,b) sao cho tổng giá trị mất mát
trên tập dữ liệu là nhỏ nhất :
( , ) = argmin ( , )
,
1.2.1.3. Gradient descent :
Gradient descent là thuật toán tìm giá trị nhỏ nhất của hàm số dựa trên đạo
hàm. Ở đây ,ta sử dụng phương pháp gradient descent để cập nhập các tham số
(w,b) bằng cách tính đạo hàm của hàm mất mát , đây cũng là phương pháp sẽ được
dùng để tối ưu hóa các mô hình học sâu sẽ được trình bày trong luận án này
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
8
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]:
( )(
← − ∂ , )= − ( + − )
|B| |B|
∈ ∈
()(
← − ∂ , )= − ( + − )
|B| |B|
∈ ∈
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
9