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

Luận văn Thạc sĩ Hệ thống thông tin: Nghiên cứu ứng dụng mô hình học sâu trong 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 (3.26 MB, 60 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ MẠNH CƯỜNG

NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH HỌC SÂU
TRONG PHÁT HIỆN XÂM NHẬP MẠNG

LUẬN VĂN THẠC SỸ HỆ THỐNG THÔNG TIN

Hà Nội - 2021


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ MẠNH CƯỜNG

NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH HỌC SÂU
TRONG PHÁT HIỆN XÂM NHẬP MẠNG

LUẬN VĂN THẠC SỸ HỆ THỐNG THÔNG TIN

Chuyên ngành: Hệ thống thông tin

Người hướng dẫn luận văn:
PGS.TS. Nguyễn Ngọc Hóa

Hà Nội - 2021



LỜI CẢM ƠN

Em xin chân thành cảm ơn các thầy cô giáo trường Đại học Công Nghệ, Đại Học Quốc
Gia Hà Nội, đã tận tình hướng dẫn, giảng dạy trong suốt quá trình học tập, nghiên cứu tại
trường, truyền đạt cho em những kiến thức bổ ích và dạy em những bài học về cuộc sống
đáng quý.
Em xin gửi lời cảm ơn sâu sắc đến giảng viên PGS.TS Nguyễn Ngọc Hóa cùng tồn thể
q thầy cơ thuộc bộ mơn Hệ Thống Thơng Tin. Thầy, cơ đã tận tình hướng dẫn và định
hướng cho em hồn thành khóa luận này.
Cám ơn gia đình, người thân và bạn bè đã nhiệt tình giúp đỡ động viên trong q trình
làm khóa luận.
Mặc dù có nhiều cố gắng thực hiện đề tài luận văn một cách hồn chỉnh nhất. Song luận
văn cịn nhiều thiếu sót. Rất mong được sự góp ý của quý thầy, cơ và các bạn để luận văn
được hồn chỉnh hơn.
Em xin chân thành cảm ơn!
Hà Nội, tháng 04 năm 2021
Vũ Mạnh Cường

i


LỜI CAM ĐOAN

Em xin cam đoan các kết quả báo cáo đạt được trong luận văn này do em thực hiện dưới
sự hướng dẫn của PGS.TS Nguyễn Ngọc Hóa.
Tất cả các tham khảo từ những nghiên cứu liên quan đều được nêu nguồn gốc một cách
rõ ràng từ danh mục tài liệu tham khảo trong luận văn. Luận văn không sao chép tài liệu,
cơng trình nghiên cứu của người khác mà không chỉ rõ về mặt tài liệu tham khảo. Các kết
quả thực nghiệm của luận văn đều được tiến hành thực nghiệm và thống kê từ kết quả thực
tế.

Tác giả

Vũ Mạnh Cường

ii


i
NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH HỌC SÂU
TRONG PHÁT HIỆN XÂM NHẬP MẠNG
VŨ MẠNH CƯỜNG

Tóm tắt luận văn
Hệ thống phát hiện và phòng trống xâm nhập (Intrusion Detection and Prevention System
- IDPS) nhận được nhiều sự quan tâm của các nhóm nghiên cứu trên thế giới. Thực vậy,
hiện trong thư viện IEEE Xplore, tính đến tháng 12/2018, đã có 768 cơng trình cơng bố,
gồm 54 bài tạp chí và 691 bài báo hội thảo. Có 10 tài liệu cho khố học ngắn hạn trong khi
số lượng sách là 2. Số liệu tổng hợp từ Google Scholar cũng ghi nhận 17.400 kết quả từ năm
2014. Tuy nhiên, hầu hết cơng trình đều tập trung nghiên cứu về phát hiện và phòng trống
xâm nhập mạng nội bộ (Network-based Intrusion Prevention System - NetIPS). Với những
tổ chức có quy mơ lớn, việc kiểm sốt các luồng dữ liệu vào/ra để phát hiện/phịng chống
xâm nhập cần phải được thực hiện và đảm bảo được tốc độ, vừa phải có độ phát hiện chính
xác cao (giảm tỷ lệ phát hiện nhầm và bỏ sót) [18]. Hiện nay, xu thế ứng dụng các phương
pháp học máy thống kê đang được quan tâm ứng dụng trong bài toán phát hiện xâm nhập
mạng [11]. Một trong những phương pháp phát hiện đang được đánh giá có hiệu năng phát
hiện xâm nhập tốt là ứng dụng mơ hình học sâu [14] [6].
Từ đó, luận văn được xác lập mục tiêu nghiên cứu, tìm hiểu các phương pháp học máy
thống kê, chú trọng đến mơ hình học sâu áp dụng trong bài toán phát hiện xâm nhập mạng.
Chạy thử nghiệm trên tập dữ liệu tin cậy như CIC-IDS-2018 [14] và chạy thực nghiệm trên
bộ dữ liệu nhóm nghiên cứu tạo ra.

Từ khóa: Phát hiện xâm nhập mạng; Học sâu; An toàn bảo mật mạng.


Mục lục
1 GIỚI THIỆU CHUNG

1

1.1

Động lực nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

Một số nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.3

Mục tiêu và nội dung nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . .

2

1.3.1

Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . .


2

1.3.2

Những đóng góp chính . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Tổ chức của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4

2 LÝ THUYẾT LIÊN QUAN
2.1

2.2

2.3

5

Tổng quan về hệ thống phát hiện xâm nhập mạng . . . . . . . . . . . . . . .

5

2.1.1

Giới thiệu về hệ thống phát hiện xâm nhập mạng . . . . . . . . . . .


5

2.1.2

Kỹ thuật phát hiện xâm nhập mạng dựa trên dấu hiệu (SNIDS) . . .

6

2.1.3

Kỹ thuật phát hiện xâm nhập mạng dựa trên phát hiện bất thường
(ANIDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

Lý thuyết học sâu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.2.1

Khái niệm học sâu . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.2.2

Lược sử của học sâu . . . . . . . . . . . . . . . . . . . . . . . . . . .


10

2.2.3

Giới thiệu về mạng nơ-ron . . . . . . . . . . . . . . . . . . . . . . . .

14

2.2.3.1

Mạng nơ-ron sinh học . . . . . . . . . . . . . . . . . . . . .

14

2.2.3.2

Mạng nơ-ron nhân tạo . . . . . . . . . . . . . . . . . . . . .

15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

Kết luận chương

3 PHÁT HIỆN XÂM NHẬP MẠNG SỬ DỤNG MƠ HÌNH HỌC SÂU
3.1

Bài toán đặt ra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.2

Mơ hình IDPSDLWD phát hiện và ngăn chặn xâm nhập mạng dựa trên phân

3.3

22
22

tích lưu lượng truy cập HTTP . . . . . . . . . . . . . . . . . . . . . . . . . .

22

Lựa chọn khung xây dựng mơ hình học sâu . . . . . . . . . . . . . . . . . . .

24

3.3.1

Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.3.2

TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25


ii


MỤC LỤC

3.4

iii

3.3.3

Theano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3.4

PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3.5

Fastai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3.6

Đánh giá và lựa chọn . . . . . . . . . . . . . . . . . . . . . . . . . . .


27

Kết luận chương

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 THỰC NGHIỆM

27
28

4.1

Môi trường thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.2

Dữ liệu thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.2.1

Dữ liệu sinh ra trong đề tài KC.01.28/16-20 . . . . . . . . . . . . . .

29


4.2.2

Dữ liệu từ nguồn tin cậy . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3

Tối ưu hoá tham số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.4

Phương pháp đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.5

Mơ hình huấn luyện

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.6

Kết quả thử nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


33

4.6.1

Kết quả với bộ dữ liệu DS1 . . . . . . . . . . . . . . . . . . . . . . .

33

4.6.2

Kết quả với bộ dữ liệu DS2 . . . . . . . . . . . . . . . . . . . . . . .

35

4.7

Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

4.8

Kết luận chương

38

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


39

5.1

Các đóng góp chính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.2

Hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.3

Hướng phát triển tương lai . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

Công bố của học viên

41

TÀI LIỆU THAM KHẢO

42


Danh sách hình vẽ

1.1

Lược đồ tổ chức luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.1

Ví dụ về kiến trúc NIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2

Ảnh kiến trúc sử dụng phương pháp SNIDS [12].

. . . . . . . . . . . . . . .

6

2.3

Ảnh kiến trúc của ANIDS [4]. . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.4

Ảnh lịch sử học sâu (nguồn: Deep learning - history and background) . . . .


10

2.5

Ảnh các mơ hình đạt giải cao trong cuộc thi ILSVRC (nguồn: cnns-architectureslenet-alexnet-vgg-googlenet-resnet-and-more...)

. . . . . . . . . . . . . . . .

13

2.6

Ảnh mô tả mạng nơ-ron sinh học [5]. . . . . . . . . . . . . . . . . . . . . . .

14

2.7

Mơ hình cơ bản của mạng nơ-ron [5]. . . . . . . . . . . . . . . . . . . . . . .

15

2.8

Đồ thị của hàm ngưỡng [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.9


Đồ thị của hàm ReLU [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.10 Đồ thị của hàm Sigmoid [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.11 Đồ thị của hàm Tanh [5].

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.12 Mạng FNN [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.1

Kiến trúc mạng nơ-ron sâu của luận văn . . . . . . . . . . . . . . . . . . . .

23

3.2

Mô hình phát hiện hành vi bất thường dựa trên phân tích luồng HTTP . . .

24


4.1

Kiến trúc sinh bộ dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.2

Ma trận nhầm lẫn k = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.3

Ma trận nhầm lẫn k = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.4

Ma trận nhầm lẫn k = 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.5

Ma trận nhầm lẫn k = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32


4.6

Ma trận nhầm lẫn k = 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.7

Hình ảnh biểu đồ các chỉ số đánh gía trong q trình huấn luyện DS1

. . .

34

4.8

Hình ảnh biểu đồ các chỉ số đánh gía trong quá trình huấn luyện DS2

. . .

36

iv


Danh sách bảng
2.1

Các nguyên tắc cơ bản của ANIDS [4] . . . . . . . . . . . . . . . . . . . . . .


9

4.1

Tổng số luồng HTTP trong tập dữ liệu đã được làm sạch . . . . . . . . . . .

29

4.2

Tổng số luồng HTTP trong tập dữ liệu đã được làm sạch . . . . . . . . . . .

30

4.3

Tổng số luồng HTTP trong tập dữ liệu đã được làm sạch . . . . . . . . . . .

31

4.4

Giá trị tối ưu hóa siêu tham số . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.5

Kiểm chứng chéo với k = 6 sử dụng bộ dữ liệu DS2 . . . . . . . . . . . . . .


32

4.6

Số lượng mẫu huấn luyện và kiểm tra . . . . . . . . . . . . . . . . . . . . . .

33

4.7

Kết quả các chỉ số trong khi huấn luyện DS1 sau 15 epochs . . . . . . . . . .

34

4.8

Ma trận nhầm lẫn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

4.9

Kết quả các chỉ số đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . .

35

4.10 Kết quả các chỉ số trong khi huấn luyện DS2 sau 15 epochs . . . . . . . . . .

36


4.11 Ma trận nhầm lẫn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

4.12 Kết quả các chỉ số đánh giá mơ hình . . . . . . . . . . . . . . . . . . . . . .

37

4.13 So sánh IDPSDLWD với các phương pháp khác . . . . . . . . . . . . . . . .

38

v


Danh mục thuật ngữ viết tắt
IDS
NIDS
IDPS

Intrusion Detection System
Network-Based

Intrusion

Detection System
Intrusion

Detection


and

Prevention System

Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập mạng
Hệ thống phát hiện và ngăn chặn xâm nhập

IDPS and deep learning al-

Hệ thống phát hiện và ngăn chặn xâm nhập

IDPSDLWD gorithms for Webshell de-

dựa trên quy tắc và các thuật toán học sâu

tection

để phát hiện Webshell

Signature-Based NetworkSNIDS

Based Intrusion Detection
System
Anomaly-Based

ANIDS

Network-


Based Intrusion Detection
System

Hệ thống phát hiện xâm nhập mạng dựa trên
chữ ký
Hệ thống phát hiện xâm nhập mạng dựa trên
bất thường

AI

Artificial Intelligence

Trí tuệ nhân tạo

ML

Machine Learning

Máy học

DL

Deep Learning

Học sâu

ANN

Artificial Neural Network


Mạng nơ-ron nhân tạo

DNN

Deep Neural Network

Mạng nơ-ron học sâu

MLP

Multi-layer Perceptron

Perceptron nhiều lớp

CNN
FNN
DBN

Convolutional Neural Network
Feedforward Neural Network
Deep Belief Network

Mạng nơ-ron tích chập
Mạng nơ-ron theo chiều xuôi
Mạng lưới niềm tin sâu sắc

vi


DANH SÁCH BẢNG

AE
RBM
DBN
GAN

Auto-Encoder
Restricted Boltzmann Machine
Deep Belief Network
Generative Adversarial Network

vii
Bộ mã hoá tự động
Máy hạn chế Boltzmann
Mạng niềm tin sâu
Mạng lưới đối thủ chung

LSTM

Long short time memory

Bộ nhớ thời gian ngắn hạn

GRU

Gated recurrent unit

Cổng đơn vị định kỳ


Chương 1

GIỚI THIỆU CHUNG
1.1

Động lực nghiên cứu

Trong thời đại bùng nổ công nghệ thông tin, mạng internet đã trở thành một phần của
cuộc sống và ngày càng đóng vai trị quan trọng đối với con người. Mạng internet đang chi
phối hầu như mọi lĩnh vực trong cuộc sống từ kinh tế, giải trí đến giáo dục và đào tạo...
Song song với sự phát triển bùng nổ này là vấn đề về bảo mật, an tồn thơng tin khi sử
dụng mạng internet. Trong thực tế có rất nhiều các cuộc tấn cơng trên mơi trường mạng,
vì vậy thách thức trong cơng tác đảm bảo an tồn thơng tin mạng ngày càng trở nên cấp
thiết.
Hiện nay, thế giới đang đối mặt với hàng loạt các sự cố rò rỉ dữ liệu, phá huỷ các hệ
thống công nghệ thông tin của các tổ chức, doanh nghiệp. Theo thống kê mới nhất của trung
tâm VNCERT, tính từ đầu năm 2019 đến tháng 8/2019 trung tâm ghi nhận 7.015 sự cố
tấn công mạng vào các trang web của Việt Nam, trong đó có: 2570 sự cố tấn công lừa đảo
(phishing); 4.203 trường hợp sự cố tấn công thay đổi giao diện; 242 sự cố website bị nhiễm
mã độc (Malware) và đang có xu thế tăng so với cùng kỳ 2018 [17]. Những cuộc tấn công
này gây ra những hậu quả nghiêm trọng vì vậy vấn đề an ninh ngày càng được quan tâm.
Khi triển khai một hệ thống công nghệ thông tin, việc đảm bảo an tồn thơng tin hệ
thống là một trong những vấn đề thiết yếu. Đóng góp vào vai trị duy trì tính bền vững của
hệ thống. Để làm được điều này, hệ thống cần được trang bị những công cụ để chống lại các
cuộc tấn công mạng. Một trong các công cụ hữu ích đó là sử dụng tường lửa. Nhưng tưởng
lửa chỉ đạt được hiệu quả cao với những mẫu tấn cơng đã biết trước. Do đó, cần những cơng
cụ hỗ trợ tốt hơn cho việc đảm bảo an toàn mạng.
Một trong những vấn đề đang được quan tâm hiện nay là hệ thống phát hiện xâm nhập
mạng (NIDS). Xuất phát từ nhu cầu thực tiễn đó, đề tài luận văn “Nghiên cứu ứng dụng
mơ hình học sâu trong phát hiện xâm nhập mạng” với mục tiêu tìm hiểu các phương pháp
học máy thống kê, chú trọng đến mơ hình học sâu.
1



CHƯƠNG 1. GIỚI THIỆU CHUNG

1.2

Một số nghiên cứu liên quan

• Nghiên cứu "Deep Learning Approach for Intelligent Intrusion Detection System". sử dụng mơ hình học sâu DNN để phát hiện xâm nhập, các cuộc tấn công mạng
và tấn công máy chủ một cách kịp thời và tự động. Bài báo sử dụng DNN với nhiều
lớp và chạy trên nhiều tập dữ liệu khác nhau. Kết quả bài báo thu được model với độ
chính xác cao. Bên cạnh đó, tác giả đề suất mơ hình có khả năng mở rộng cao được
gọi là sale-hybrid-IDS-AlertNet có thể sử dụng trong thời gian thực để giám sát hiệu
quả lưu lượng mạng [18].
• Nghiên cứu "Towards Detecting and Classifying Network Intrusion Traffic
Using Deep Learning Frameworks.". Nghiên cứu đánh giá hiệu quả của việc sử
dụng các framework học sâu trên tập dữ liệu CIC-IDS-2018. Kết quả nghiên cứu cho
thấy độ chính xác rất cao lên đến 99.92 % [1].
• Nghiên cứu "Toward Generating a New Intrusion Detection Dataset and
Intrusion Traffic Characterization.". Nghiên cứu hướng tới việc tạo ra tập dữ liệu
phát hiện xâm nhập mạng và những đặng trưng xâm nhập mạng mới. Nghiên cứu trích
xuất ra 80 đặc điểm của xâm nhập mạng, và chỉ ra thời gian ngắn nhất để phát hiện
tấn công bằng cách sử dụng thuật toán Random Forest Regressor. Cuối cùng, nghiên
cứu so sánh kết quả của các tập dữ liệu [14].

1.3

Mục tiêu và nội dung nghiên cứu

Xuất phát từ nhu cầu thực tế, động lực nghiên cứu, luận văn đề ra mục tiêu nghiên cứu

cụ thể như sau:

1.3.1

Mục tiêu nghiên cứu

Luận văn tập trung tìm hiểu các phương pháp học máy thống kê, chú trọng đến mơ hình
học sâu áp dụng trong bài toán phát hiện xâm nhập mạng. Ứng dụng thực nghiệm trên các
tập dữ liệu từ nguồn tin cậy như CIC-IDS-2018 [14] và tập dữ liệu do nhóm nghiên cứu tạo
ra trong khn khổ thực hiện nhiệm vụ nghiên cứu cấp Nhà nước, mã số KC.01.28/16-20
[8].

1.3.2

Những đóng góp chính

• Đề xuất mơ hình IDPSDLWD kết hợp IDPS dựa trên tập luật và học sâu. Khả năng
nhanh chóng phát hiện các luồng xâm nhập mạng. phương pháp IDPSDLWD cho phép
2


CHƯƠNG 1. GIỚI THIỆU CHUNG

nhanh chóng phát hiện xâm nhập mạng dựa trên các thuộc tính của lưu lượng mạng.
• Chạy thử nghiệm để đánh giá phương pháp IDPSDLWD được đề xuất, kết quả cho
thấy rằng mơ hình được đề xuất hoạt động hiệu quả cao với độ đo F1 là 99,98 % và
Độ chính xác (Accuracy) là 99,96 %. Do đó, nó cung cấp khả năng phát hiện thời gian
thực và ngăn chặn các luồng xâm nhập mạng bao gồm cả loại khơng xác định.

1.4


Tổ chức của luận văn

Ngồi phần mở đầu, bố cục của luận văn được tổ chức thành 5 chương, được minh hoạ
như hình sau:

Hình 1.1: Lược đồ tổ chức luận văn
Nội dung chính của mỗi chương bao gồm:

3


CHƯƠNG 1. GIỚI THIỆU CHUNG

• Chương 1 giới thiệu chung về động lực nghiên cứu, các đóng góp chính mục tiêu và các
nội dung chính của luận văn. Ngồi ra, các nghiên cứu liên quan cũng như các đóng
góp chính của luận văn cũng được trình bày trong chương này.
• Chương 2 có nhiệm vụ trình bày tổng quan về hệ thống phát hiện xâm nhập mạng.
Trong chương này, em xin trình bày về lý thuyết liên quan đến hệ thống phát hiện
xâm nhập mạng, các phương pháp nhận dạng xâm nhập.
• Chương 3 của luận văn có nhiệm vụ trình bày về ứng dụng trong bài tốn phát hiện
xâm nhập mạng. Trong chương này, em xin trình bày về bài tốn, mơ hình học sâu
trong việc phát hiện xâm nhập mạng.
• Chương 4 của luận văn sẽ trình bày về kết quả thực nghiệm. Trong chương này em xin
trình bày về môi trường cài đặt, tập dữ liệu và kết quả thu được.
• Chương 5 tóm lược lại các đóng góp chính của luận văn và một số hướng phát triển
trong tương lai.

4



Chương 2
LÝ THUYẾT LIÊN QUAN
2.1
2.1.1

Tổng quan về hệ thống phát hiện xâm nhập mạng
Giới thiệu về hệ thống phát hiện xâm nhập mạng

Hệ thống phát hiện xâm nhập mạng (NIDS) là hệ thống phát hiện xâm nhập (IDS) dựa
trên mạng. Các hành vi mạng được thu thập bởi các thiết bị mạng thông qua phản chiếu
bởi các thiết bị mạng chẳng hạn như: thiết bị chuyển mạch, bộ định tuyến và vịi mạng và
được phân tích để xác định các cuộc tấn cơng, các mối đe dọa có thể được che dấu trong
lưu lượng mạng.

Hình 2.1: Ví dụ về kiến trúc NIDS

5


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

Hệ thống phát hiện xâm nhập mạng đem lại những hiệu quả như sau:
• Quản lý lưu lượng vào/ra của mạng và đưa ra cảnh báo nếu một luồng bị phát hiện
xâm nhập mạng.
• Đưa ra phân tích và thống kê được các luồng hoạt động bất thường.
• Kết hợp với tường lửa để trở thành hệ thống an tồn thơng tin bảo mật.
Có 2 loại NIDS khác nhau dựa trên phương pháp thực hiện được sử dụng:
• Phương pháp phát hiện xâm nhập mạng dựa trên chữ ký (SNIDS).
• Phương pháp phát hiện xâm nhập mạng dựa trên phát hiện những bất thường (ANIDS).


2.1.2

Kỹ thuật phát hiện xâm nhập mạng dựa trên dấu hiệu
(SNIDS)

SNIDS là kỹ thuật dễ sử dụng nhất. Kỹ thuật này tìm kiếm các mẫu trong lưu lượng
mạng và so sánh với các mẫu tấn công đã biết đã được cài đặt sẵn được gọi là tập luật.
SNIDS rất tốt trong việc phát hiện những tấn công đã biết trước, nhưng phương pháp này
lại không hiệu quả trong việc phát hiện những tấn cơng mới hoặc tấn cơng trước đó khơng
nhận dạng được [14].

Hình 2.2: Ảnh kiến trúc sử dụng phương pháp SNIDS [12].
6


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

Ưu điểm:
• Với những hoạt động xâm nhập đã biết, phương pháp nhanh chóng phát hiện được
hoạt động xâm nhập và đưa ra cảnh báo [14].
• Hệ thống phát hiện xâm nhập mạng bắt đầu bảo vệ mạng sau khi cài đặt ngay tức
thời [13].
• Khi cảnh báo xảy ra, người dùng có thể liên kết ngay đến hoạt động xảy ra trên mạng
[13].
Nhược điểm: [13]
• Một trong những vấn đề lớn nhất của phương pháp này là việc so sánh các gói tin với
mọi mẫu trong tập dữ liệu vì vậy xử lý tồn bộ lưu lượng truy cập rất tốn thời gian
dẫn tới làm chậm thơng lượng của hệ thống .
• Phải ln luôn cập nhật cơ sở dữ liệu dấu hiệu thường xun.

• Đưa ra cảnh báo về cuộc tấn cơng bất kể kết quả như thế nào. Việc này dẫn đến việc
gửi rất nhiều cảnh báo về các cuộc tấn công khơng thành cơng và rất khó quản lý .
• Người tạo ra tập luật hoặc biết về tập luật có thể tạo ra các cuộc tấn công mà hệ
thống không phát hiện ra được.
• Những hiểu biết về các cuộc tấn công phụ thuộc vào hệ điều hành, phiên bản và ứng
dụng do đó nó gắn liền với mơi trường cụ thể.

2.1.3

Kỹ thuật phát hiện xâm nhập mạng dựa trên phát hiện bất
thường (ANIDS)

ANIDS là phương pháp phát hiện xâm nhập mạng dựa trên những hoạt động bất thường.
Phương pháp dựa trên các mơ hình học máy thống kê khác nhau để tự động học các mẫu
và tạo các quy tắc phân biệt lưu lượng truy cập bình thường với các cuộc tấn công độc hại.
Kiến trúc cơ bản của ANIDS bao gồm các thành phần sau:
• Tham số hóa: trong giai đoạn này, các thể hiện quan sát được của hệ thống đích được
biểu diễn dưới dạng thiết lập trước.
• Giai đoạn huấn luyện: Hành vi bình thường hoặc bất thường của hệ thống được đặc
trưng hóa và một mơ hình tương ứng được xây dựng. Điều này có thể được thực hiện
theo các cách khách nhau, tùy thuộc vào loại ANIDS.

7


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

• Giai đoạn phát hiện: Sau khi mơ hình cho hệ thống có sẵn, nó được so sánh với lưu
lượng quan sát (đã được tham số hóa). Nếu độ lệch tìm thấy vượt q ngưỡng nhất
định, một cảnh báo sẽ được kích hoạt.


Hình 2.3: Ảnh kiến trúc của ANIDS [4].
Dựa trên loại xử lý liên quan tới hành vi, ANIDS được phân thành 3 loại chính đó là:
• Dựa trên thống kê - hành vi của hệ thống được thể hiện từ một cách nhìn ngẫu nhiên.
Sự bất thường xác định bằng cách đo điểm mức độ sai lệch từ một hành vi cụ thể
sử dụng độ lệch chuẩn, trung bình, ngưỡng, xác suất. Các phương pháp tiếp cận sớm
nhất sử dụng các mơ hình đơn biến. Phương pháp tiếp cận sau đó sử dụng mơ hình đa
biến mà mơ hình theo chuỗi thời gian. Trong kỹ thuật này, hoạt động lưu lượng mạng
được ghi lại và một hồ sơ đại diện cho hồ sơ ngẫu nhiên của nó được tạo ra. Hồ sơ này
dựa trên số liệu như tốc độ lưu lượng, số lượng gói cho mỗi giao thức, tốc độ kết nối,
số lượng địa chỉ IP khác nhau... Hai tập dữ liệu được xem xét trong quá trình phát
hiện bất thường: một tương ứng với hồ sơ được quan sát theo thời gian, hồ sơ còn lại
dành cho hồ sơ đã được thống kê trước đó. Khi một sự kiện mạng xảy ra, hồ sơ hiện
tại được xác định và ước tính điểm bất thường bằng cách so sánh hành vi. Hệ thống
xâm nhập mạng sẽ gắn cờ điểm bất thường nếu điểm số vượt qua ngưỡng nhất định.
• Dựa trên tri thức - cố gắng nắm bắt được các hành vi dựa trên dữ liệu trước đó về các
thơng số hoạt động bình thường hoặc bất thường như: thơng số kỹ thuật giao thức,
lưu lượng mạng... Phương pháp này phân loại dữ liệu theo bộ quy tắc bao gồm 3 bước.
8


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

Đầu tiên các thuộc tính và các lớp khác nhau được xác định từ dữ liệu huấn luyện.
Thứ hai, một tập các quy tắc phân lớp, tham số, thủ tục được suy ra. thứ ba, dữ liệu
kiểm tra được phân loại phù hợp.
• Dựa trên học máy - thiết lập một mơ hình rõ ràng hoặc ngầm định để phân loại các
mẫu được phân tích. Phương pháp này sử dụng dữ liệu gán nhãn để huấn luyện ra các
mơ hình. Phương pháp dựa trên thống kê xây dựng mơ hình, cải thiện hiệu suất dựa
trên kết quả trước đó. Phương pháp sử dụng học máy có khả năng thay đổi chiến lược

thực thi khi nó học được dữ liệu mới. Nhược điểm của phương pháp này là tốn kém
tài nguyên.
Kỹ thuật cơ bản

Ưu điểm

Nhược điểm

Các loại phụ

Dựa trên thống

Khơng cần có

Dễ được huấn

Mơ hình đơn biến

kê: hành vi ngẫu

tri thức về luồng

luyện bởi những

(biến

nhiên

bình


kẻ tấn cơng, khó

Gaussian độc lập), mơ

thơng báo chính

thiết

cấc

hình đa biến (tương

xác về luồng độc

thông số và chỉ

quan giữa một số chỉ

hại

số, giả định quy

số), chuỗi thời gian

thường,

lập

ngẫu


nhiên

trình bán tĩnh
khơng thực tế.
Dựa

trên

tri

Mạnh mẽ, linh

Tốn thời gian

Máy trạng thái hữu

thức: dữ liệu có

hoạt

và khó có được

hạn (trạng thái và quá

trước

năng mở rộng

dữ liệu có chất


trình chuyển đổi), mơ

lượng cao

tả ngơn ngữ (N-gram,



khả

UML,.),

hệ

thống

chun gia (phân loại
dựa trên quy tắc) .
Dựa trên máy

Tính linh hoạt

Phụ thuộc cao



học: phân loại




vào giả định về

mạng lưới thần kinh,

các mẫu

thích ứng. Nắm

hành

được

logic mờ, thuật tốn

bắt sự phụ thuộc

chấp nhận đối

di truyền, phân cụm

lẫn nhau

với

và phát hiện ngoại lệ.

khả

năng


vi
hệ

thống.

hình

Tiêu tốn nhiều
tài nguyên.
Bảng 2.1: Các nguyên tắc cơ bản của ANIDS [4] .

9

Markov,


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

2.2

Lý thuyết học sâu

Trí tuệ nhân tạo đang len lỏi vào cuộc sống và ảnh hưởng sâu rộng tới mỗi chúng ta. Các
cụm từ như: trí tuệ nhân tạo, học máy, học sâu được nhắc đến nhiều trong những năm gần
đây. Học sâu là một trong những nhánh nghiên cứu chuyên sâu của trí tuệ nhân tạo đang
dành được sự quan tâm rất lớn trong cộng đồng [15].

2.2.1

Khái niệm học sâu


Trí tuệ nhân tạo là những chương trình dùng để giải quyết một vấn đề dễ dàng với con
người nhưng khó khăn với máy tính. Ví dụ: việc phân biệt ảnh của cá và chim...
Máy học là những giải thuật giải quyết bài toán mà khơng ghi cụ thể giải thuật đó là gì,
thay vào đó tạo ra giải thuật bằng phương pháp thống kê.
Học sâu: chỉ một nhóm thuật tốn nhỏ của học máy lấy ý tưởng dựa trên mạng nơ-ron
của con người. Học sâu thường yêu cầu lượng dữ liệu lớn và nguồn tài nguyên nhiều hơn so
với các phương pháp thông thường, tuy vậy cho được độ chính xác cao hơn.

2.2.2

Lược sử của học sâu

Hình 2.4: Ảnh lịch sử học sâu (nguồn: Deep learning - history and background)
Perceptron (60s): một trong những nền móng đầu tiên của mạng nơ-ron và học sâu là
Perceptron. Perceptron là thuật tốn học có giám sát, giúp giải quyết các bài toán phân lớp
nhị phân, được khởi nguồn bởi Frank Rosenblatt năm 1957 trong một nguyên cứu được tài
trợ bởi Văn phòng nguyên cứu hải quân Hoa Kỳ. Thuật toán Perceptron được chứng minh
là hội tụ nếu hai lớp dữ liệu phân lớp tuyến tính. Đến năm 1958, trong một hội thảo nó được
10


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

Frank Rosenblatt công bố. Nhưng sau đó, nó nhanh chóng được chứng minh khơng thể giải
quyết các bài toán cơ bản. Vào năm 1969, Marvin Minsky và Seymour Papert trong một
cuốn sách nổi tiếng Perceptrons đã chứng minh rằng không thể học hàm XOR khi sử dụng
Perceptron. Phát hiện này khiến cho nghiên cứu về Perceptron bị gián đoạn gần 20 năm.
Đây được gọi là Mùa đông AI thứ nhất.
MLP và Backpropagation (80s): Geoffrey Hinton tốt nghiệp PhD ngành Mạng nơron năm 1978. Năm 1986, ông cùng với hai tác giả khác xuất bản một bài báo khoa học

trên Nature với tựa đề "Learning representations by back-propagating errors". Trong bài
báo này, nhóm của ơng chứng mình rằng mạng nơ ron nhiều lớp ẩn (MLP) có thể được huấn
luyện một cách hiệu quả dựa trên một quy trình đơn giản được gọi là backpropagation. Việc
này giúp mạng nơ-ron thoát được những hạn chế của perceptron về việc chỉ biểu diễn được
các quan hệ tuyến tính. Để biểu diễn các quan hệ phi tuyến, phía sau mỗi layer là một hàm
kích hoạt phi tuyến, ví dụ: hàm sigmoid hoặc ReLu. Với các lớp ẩn (hidden layers), mạng
nơ-ron được chứng minh rằng có khả năng xấp xỉ hầu hết bất kỳ hàm số nào qua một định
lý được gọi là định lý xấp xỉ phổ quát.
Thuật toán này mang lại một vài thành công ban đầu, nổi trội là CNN cho bài toán
nhận dạng chữ số viết tay được khởi nguồn bởi Yann LeCun tại AT and T Bell Labs. Mơ
hình này được sử dụng rộng rãi trong các hệ thống đọc số viết tay trên các séc nhân hàng
và mã vùng bưu điện của nước Mỹ.
CNN là thuật tốn tốt nhất thời gian đó cho bài tốn nhận dạng ảnh chữ số viết tay.
Nó tốt hơn MLP thơng thường (với fully connected layer) vì nó có khả năng trích xuất được
đặc trưng trong khơng gian hai chiều của ảnh thông qua các bộ lọc hai chiều. Hơn nữa, các
bộ lọc này nhỏ nên việc lưu trữ và tính tốn cũng tốt hơn so với MLP thơng thường.
Mùa đông AI thứ hai (90s - đầu 2000s): Các mô hình tương tự được kỳ vọng sẽ
giải quyết nhiều bài tốn phân loại ảnh khác. Tuy nhiên, khơng như các chữ số, các loại ảnh
khác lại rất hạn chế vì máy ảnh số chưa phổ biến tại thời điểm đó. Ảnh được gán nhãn lại
càng hiếm. Trong khi để có thể huấn luyện được mơ hình CNN, ta cần rất nhiều dữ liệu
huấn luyện. Ngay cả khi dữ liệu có đủ, một vấn đề nan giải khác là khả năng tính tốn của
các máy tính thời đó cịn rất hạn chế.
Một hạn chế khác của các kiến trúc MLP nói chung là hàm mất mát không phải là một
hàm lồi. Việc này khiến cho việc tìm nghiệm tối ưu tồn cục cho bài toán tối ưu hàm mất
mát trở nên rất khó khăn. Một vấn đề khác liên quan đến giới hạn tính tốn của máy tính
cũng khiến cho việc huấn luyện MLP không hiệu quả khi số lượng hidden layer lớn lên. Vấn
đề này có tên là vanishing gradient.
Những hạn chế này khiến cho mạng nơ-ron một lần nữa rơi vào thời kỳ băng giá. Vào
thời điểm những năm 1990 và đầu những năm 2000, mạng nơ-ron dần được thay thế bởi
máy hỗ trợ vector (SVM). SVMs có ưu điểm là bài tốn tối ưu để tìm các tham số của nó


11


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

là một bài toán lồi - có nhiều các thuật tốn tối ưu hiệu quả giúp tìm nghiệm của nó. Các
kỹ thuật về kernel cũng phát triển giúp SVMs giải quyết được cả các vấn đề về việc dữ liệu
khơng phân biệt tuyến tính.
Học sâu (2006): năm 2006, Hinton một lần nữa cho rằng ông biết bộ não hoạt động
như thế nào, và giới thiệu ý tưởng của tiền huấn luyện không giám sát thông qua DBN.
DBN có thể được xem như sự xếp chồng các mạng không giám sát đơn giản như restricted
Boltzman machine hay autoencoders.
Một trong những hạn chế đã đề cập của MLP là vấn đề vanishing gradient. Những ma
trận trọng số ứng với các layer đầu của mạng rất khó được huấn luyện vì đạo hàm của hàm
mất mát theo các ma trận này nhỏ. Với ý tưởng của DBN, các ma trận trọng số ở những
hidden layer đầu tiên được tiền huấn luyện. Các trọng số được tiền huấn luyện này có thể
coi là giá trị khởi tạo tốt cho các hidden layer phía đầu. Việc này phần nào tránh được sự
phiền hà của vanishing gradient.
Kể từ đây, mạng nơ-ron với nhiều hidden layer được đổi tên thành học sâu.
Vấn đề vanishing gradient được giải quyết phần nào, nhưng vẫn còn những vấn đề khác của
học sâu: dữ liệu huấn luyện q ít, khả năng tính tốn của CPU cị rất hạn chế trong việc
huấn luyện các mạng sâu.
Năm 2010, giáo sư Fei-Fei Li, một giáo sư ngành thị giác máy tính đầu ngành tại Stanford,
cùng với nhóm của bà tạo ra một cơ sở dữ liệu có tên là ImageNet với hàng triệu bức ảnh
thuộc 1000 lớp dữ liệu khác nhau đã được gán nhãn. Dự án này được thực hiện nhờ vào sự
bùng nổ của internet những năm 2000 và lượng ảnh khổng lồ được tải lên internet thời gian
đó. Các bức ảnh này được gán nhãn bởi rất nhiều người. Bộ cơ sở dữ liệu này được cập nhật
hàng năm, và kể từ năm 2010, nó được dùng trong một cuộc thi thuờg niên có tên ImageNet
Large Scale Visual Recognition Challenge (ILSVRC). Trong cuộc thi này, dữ liệu huấn luyện

được giao cho các đội tham gia. Mỗi đội cần sử dụng dữ liệu này để huấn luyện các mơ hình
phân lớp, các mơ hình này sẽ được áp dụng để dự đoán nhãn của dữ liệu mới. Trong hai
năm 2010 và 2011, có rất nhiều đội tham gia. Các mơ hình trong hai năm này chủ yếu là sự
kết hơp của SVM với các feature được xây dựng bởi các bộ hand-craffted descriptors (SIFT,
HoG, ...). Mơ hình giành chiến thắng có top-5 error rate là 28%. Mơ hình giành chiến thắng
năm 2011 có top-5 error rate là 26%.
Đột phá (2012): Năm 2012, cũng tại ILSVRC, Alex Krizhevsky, Ilya Sutskever và
Geoffrey Hinton tham gia và đạt kết quả top-5 error rate 16%. Kết quả này làm sững sờ giới
nghiên cứu thời gian đó. Mơ hình là một DNN, hay được gọi là AlexNet.
Trong bài báo này, rất nhiều các kỹ thuật mới được giới thiệu. Trong đó có hai đóng góp
nổi bật nhất là hàm ReLU và dropout. Hàm ReLu với các tính và đạo hàm đơn giản bằng
1 khi đầu vào không âm và bằng 0 khi ngược lại, giúp cho tốc độ huấn luyện tăng lên đáng
kể. Ngồi ra, việc ReLU khơng bị chặn trên bởi 1 như softmax hay tanh khiến cho vấn đề

12


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

vanishing dradient cũng được giải quyết phần nào. Dropout cũng là một kỹ thuật đơn giản
và cực kỳ hiệu quả. Trong quá trình huấn luyện, nhiều hidden unit bị tắt ngẫu nhiên và mơ
hình được huấn luyện trên các bộ tham số còn lại. Trong q trình test, tồn bộ các unit sẽ
được sử dụng. Việc này cũng giúp cho mơ hình tránh được overfitting.
Một trong những yếu tố quan trọng nhất giúp AlexNet thành cơng là việc sử dụng GPU
để huấn luyện mơ hình. GPU được tạo ra với khả năng chạy song song nhiều lõi, đã trở
thành một công cụ cực kỳ phù hợp với các thuật toán học sâu, giúp tăng tốc thuật tốn lên
nheiuef lần so với CPU.

Hình 2.5: Ảnh các mơ hình đạt giải cao trong cuộc thi ILSVRC (nguồn: cnns-architectureslenet-alexnet-vgg-googlenet-resnet-and-more...)


13


CHƯƠNG 2. LÝ THUYẾT LIÊN QUAN

2.2.3

Giới thiệu về mạng nơ-ron

2.2.3.1

Mạng nơ-ron sinh học

Hình 2.6: Ảnh mơ tả mạng nơ-ron sinh học [5].
Trong hệ thống thần kinh sinh học, nơ-ron là tế bào sống và còn là đơn vị lưu trữ cơ
bản trong bộ não của con người. Có khoảng 200 tỉ nơ-ron trong bộ não con người. Mỗi
nơ-ron được liên kết với khoảng 1.000 đến 10.000 nơ-ron khác thông qua các khớp thần kinh
(synapse). Các tín hiệu xung điện được truyền từ tế bào nơ-ron này sang thế bào nơ-ron
khác thơng qua các khớp thần kinh. Có tất cả khoảng 125 nghìn tỉ khớp thần kinh trong bộ
não của con người.
Bộ não của con người lưu trữ thông tin trong những tế bào thần kinh và những khớp
thần kinh giữa các tế bào này với nhau. Mỗi khái niệm trong não có thể được tượng trưng
bằng một mạng của các kết nối khác nhau giữa những tế bào thần kinh. Sự hình thành các
kiến thức mới (learning) xảy ra khi các khớp kết nối giữa nhiều nơ-ron trở nên mạnh hơn
và liên kết giữa một cụm tế bào mới được hình thành. Cụ thể hơn là những thơng tin này
được hình thành từ khả năng thay đổi cường độ liên kết giữa các khớp thần kinh hay còn
được gọi là sự mềm dẻo của khớp thần kinh (synaptic plasticity).
Giả thuyết này được đưa ra bởi Hebb vào năm 1949, người cho rằng sự mềm dẻo của
khớp thần kinh được tạo ra từ những kích thích lặp đi lặp lại và kéo dài giữa khớp tế bào
trước (presynaptic terminal) và khớp tế bào sau (postsynaptic terminal). Điều này có nghĩa


14


×