Luận văn Phát hiện xâm nhập mạng sử dụng học máy
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Dương Đỗ Nhuận
PHÁT HIỆN XÂM NHẬP MẠNG SỬ DỤNG HỌC MÁY
LUẬN VĂN THẠC SỸ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI – 2020
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Dương Đỗ Nhuận
PHÁT HIỆN XÂM NHẬP MẠNG SỬ DỤNG HỌC MÁY
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
MÃ SỐ
: 8.48.01.04
LUẬN VĂN THẠC SỸ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. HOÀNG XUÂN DẬU
HÀ NỘI – 2020
1
LỜI CAM ĐOAN
Luận văn này là thành quả của quá trình học tập nghiên cứu của em cùng sự giúp
đỡ, khuyến khích của các quý thầy cô sau 02 năm em theo học chương trình đào tạo
Thạc sĩ, chuyên ngành Hệ thống thông tin của trường Học viện Công nghệ Bưu chính
Viễn thông.
Em cam đoan đây là công trình nghiên cứu của riêng em. Nội dung của luận
văn có tham khảo và sử dụng một số thông tin, tài liệu từ các nguồn sách, tạp chí được
liệt kê trong danh mục các tài liệu tham khảo và được trích dẫn hợp pháp.
Tác giả
Dương Đỗ Nhuận
2
LỜI CẢM ƠN
Em xin gửi lời cảm ơn và tri ân tới các thầy cô giáo, cán bộ của Học viện Công
nghệ Bưu chính Viễn thông đã giúp đỡ, tạo điều kiện tốt cho em trong quá trình học
tập và nghiên cứu chương trình Thạc sĩ.
Em xin gửi lời cảm ơn sâu sắc tới TS. Hoàng Xuân Dậu đã tận tình hướng dẫn,
giúp đỡ và động viên em để hoàn thành tốt nhất Luận văn “PHÁT HIỆN XÂM
NHẬP MẠNG SỬ DỤNG HỌC MÁY “.
Do vốn kiến thức lý luận và kinh nghiệm thực tiễn còn ít nên luận văn không
tránh khỏi những thiếu sót nhất định. Em xin trân trọng tiếp thu các ý kiến của các
thầy, cô để luận văn được hoàn thiện hơn và có những hướng phát triển sau này.
Trân trọng cảm ơn.
Tác giả
Dương Đỗ Nhuận
3
Danh mục các ký hiệu, các chữ viết tắt
Từ viết tắt/
Ký hiệu
ANN
Ý nghĩa/ Từ đầy đủ
Mạng Nơron nhân tạo - Artificial Neural Network
Một phương pháp tính toán hiệu suất của một mô hình phân loại theo các
ngưỡng phân loại khác nhau - Area Under The Curve
Phương pháp học sâu Denoise Autoencoder
Tấn công từ chối dịch vụ - Denial of Service
Thuật toán học máy cây quyết định - Decision Tree
Sai âm - False Negative
AUC
DAE
DoS
DT
FN
FP
Sai dương - False Positive
GD
Gradient Descent
HIDS
Hệ thống phát hiện xâm nhập ở mức máy – Host Intrusion Detection
System
IDS
Hệ thống phát hiện xâm nhập - Intrusion Detection System
Thuật toán k láng giềng ngần nhất - K- nearest Neighbors
Thuật toán Naive Baves
KNN
NB
NIDS
R2L
ReLU
RF
Hệ thống phát hiện ở mức mạng – Network Intrusion Detection System
Tấn công từ xa đến cục bộ - Remote to Local
Rectified Linear Unit
Thuật toán rừng ngẫu nhiên - Random Forest
Receiver Operating Characteristics
ROC
SAE
SDAE
SGD
SVM
TP
Phương pháp học sâu Stacked Autoencoder
Phương pháp học sâu Stacked Denoise Autoencoder
Stochastic Gradient Descent
Thuật toán máy véc tơ hỗ trợ - Support Vector Machine
Đúng dương - True Positive
TN
Đúng âm - True Negative
U2R
User to Root
4
Danh mục các bảng
TT
Bảng
Trang
1
1
2
3
Bảng 3.1 Các thuộc tính của tập dữ liệu Phishing Website Data
Bảng 3.2 Các kiểu tấn công trong tập dữ liệu NSL-KDD
Bảng 3.3 Các thuộc tính của tập dữ liệu NSL-KDD
Bảng 3.2 Bảng so sánh AUC giữa sử dụng SAE, SDAE và không sử
dụng đối với bộ dữ liệu Phishing Data Website
47
48
48
54
3
Bảng 3.19 Bảng so sánh AUC giữa sử dụng SAE, SDAE và không sử
dụng của NSL-KDD
61
5
Danh mục các hình
TT
1
Hình ảnh
Trang
17
Hình 1.1. Một số chiến lược ATTT
2
Hình 1.2 Sơ đồ vị trí IDS trong mạng
19
3
20
Hình 1.3. Các NIDS được bố trí để giám sát phát hiện xâm nhập tại
cổng vào mạng và cho từng phân đoạn mạng
4
Hình 1.4 Sử dụng kết hợp NIDS và HIDS để giám sát lưu lượng mạng
và các host
21
5
6
Hình 1.5 Giám sát phát hiện xâm nhập dựa trên chữ ký
Hình 1.6. Giá trị entropy của IP nguồn của các gói tin từ lưu lượng hợp
pháp (phần giá trị cao, đều) và entropy của IP nguồn của các gói tin từ
lưu lượng tấn công DDoS (phần giá trị thấp)
22
22
7
8
9
Hình 2.1 Sơ đồ cấu trúc mạng Autoencoder
26
28
29
Hình 2.2 Thành phần của Hyperparameter
Hình 2.3 So sánh mô hình phân bố giữa các cấu trúc sử dụng số tầng ẩn
khác nhau
10 Hình 2.4 Đồ thị hàm một biến
30
31
33
33
33
11 Hình 2.5 Sơ đồ biểu diễn khả năng hội tụ của learning rate khác nhau
12 Hình 2.6 Biểu đồ đường cong ROC ở những ngưỡng phân loại khác nhau.
13 Hình 2.7 AUC (Area under the ROC Curve).
14 Hình 2.8. Các dự đoán được xếp hạng theo thứ tự tăng dần điểm hồi
quy logistic
15 Hình 2.9 Sơ đồ mạng Undercomplete Autoencoder
16 Hình 2.10 Sơ đồ cấu trúc mạng Regularized Autoencoder có số nút
tầng ẩn lớn hơn đầu vào
35
36
17 Hình 2.11 Sơ đồ cấu trúc mạng Stacked Autoencoder
18 Hình 2.12 Sơ đồ cấu trúc mạng Denoise Autoencoder
19 Hình 2.13 Đồ thị hàm Sigmoid
36
38
39
40
41
43
20 Hình 2.14 Sơ đồ cấu trúc mạng Stacked Denoise Autoencoder
21 Hình 2.15 Mô hình phát hiện tấn công xâm nhập
22 Hình 2.16 Mô hình phát hiện tấn công sau khi đã hoàn thành giai đoạn
huấn luyện
23 Hình 2.17 Tổng thể mô hình ứng dụng SAE và SDAE vào phát hiện
xâm nhập mạng
44
54
24 Hình 3.5 Biểu đồ so sánh AUC giữa sử dụng SAE và không sử dụng
SAE đối với dữ liệu Phishing Data Website
6
TT
Hình ảnh
Trang
25 Hình 3.6 Biểu đồ so sánh AUC giữa sử dụng SDAE và không sử dụng
SDAE đối với bộ dữ liệu Phishing Data Website
55
26 Hình 3.7 Biểu đồ AUC khi huấn luyện SAE sử dụng thuật toán NB đối
với bộ dữ liệu Phishing Data Website
55
56
56
57
57
58
58
59
59
60
60
61
62
62
63
63
27 Hình 3.8 Biểu đồ AUC khi huấn luyện SAE sử dụng thuật toán KN đối
với bộ dữ liệu Phishing Data Website
28 Hình 3.9 Biểu đồ AUC khi huấn luyện SAE sử dụng thuật toán RF đối
với bộ dữ liệu Phishing Data Website
29 Hình 3.10 Biểu đồ AUC khi huấn luyện SAE sử dụng thuật toán SVM
đối với bộ dữ liệu Phishing Data Website
30 Hình 3.11 Biểu đồ AUC khi huấn luyện SAE sử dụng thuật toán DT
đối với bộ dữ liệu Phishing Data Website
31 Hình 3.12 Biểu đồ AUC khi huấn luyện SDAE sử dụng thuật toán NB
đối với bộ dữ liệu Phishing Data Website
32 Hình 3.13 Biểu đồ AUC khi huấn luyện SDAE sử dụng thuật toán RF
đối với bộ dữ liệu Phishing Data Website
33 Hình 3.14 Biểu đồ AUC khi huấn luyện SDAE sử dụng thuật toán VM
đối với bộ dữ liệu Phishing Data Website
34 Hình 3.15 Biểu đồ AUC khi huấn luyện SDAE sử dụng thuật toán DT
đối với bộ dữ liệu Phishing Data Website
35 Hình 3.16 Biểu đồ AUC khi huấn luyện SDAE sử dụng thuật toán KN
đối với bộ dữ liệu Phishing Data Website
36 Hình 3.17 Biểu đồ loss function khi huấn luyện SAE đối với bộ dữ liệu
Phishing Website Data
37 Hình 3.18 Biểu đồ loss function khi huấn luyện SDAE đối với bộ dữ
liệu Phishing Website Data
Hình 3.20 Biểu đồ so sánh AUC giữa sử dụng SAE và không sử dụng
38
SAE đối với bộ dữ liệu NSL-KDD
Hình 3.21 Biểu đồ so sánh AUC giữa sử dụng SDAE và không sử dụng
39
SDAE đối với bô dữ liệu NSL-KDD
Hình 3.22 Biểu đồ loss function khi huấn luyện SAE đối với bộ dữ liệu
40
NSL-KDD
Hình 3.23 Biểu đồ loss function khi huấn luyện SDAE đối với bộ dữ liệu
41
NSL-KDD
7
MỤC LỤC
LỜI CAM ĐOAN........................................................................................................ 1
LỜI CẢM ƠN.............................................................................................................. 2
Danh mục các ký hiệu, các chữ viết tắt..................................................................... 3
Danh mục các bảng..................................................................................................... 4
PHẦN MỞ ĐẦU.......................................................................................................... 9
1. Tính cấp thiết của đề tài .................................................................................. 9
2. Tổng quan vấn đề nghiên cứu ....................................................................... 10
3. Mục tiêu nghiên cứu của đề tài ..................................................................... 12
5. Phương pháp nghiên cứu của đề tài ............................................................. 13
1.2.1Asymmetric Routing ................................................................................... 15
1.2.6Trojans ........................................................................................................ 16
1.2.7Worms (Sâu máy tính)................................................................................ 16
1.3.1. Chiến lược an toàn hệ thống .................................................................... 16
1.3.3Quyền tối thiểu (Least Privilege) ............................................................... 17
1.3.5Điểm thắt (Choke Point)............................................................................. 17
1.3.6Liên kết yếu nhất (Weakest Link) .............................................................. 17
1.3.9Đơn giản hóa (Simplicity) ......................................................................... 18
1.4.1Giới thiệu..................................................................................................... 18
1.4.2 Phân loại..................................................................................................... 19
1.5 Kết luận chương ........................................................................................... 23
2.1. Khái quát về học máy và học sâu............................................................... 24
8
2.2.1 Học sâu sử dụng Autoencoder .................................................................. 25
2.2.2Phân loại Autoencoder............................................................................... 35
2.3.1 Giai đoạn huấn luyện................................................................................. 42
2.3.2 Giai đoạn phát hiện .................................................................................... 43
2.4 Kết luận chương .......................................................................................... 45
3.2. Giới thiệu tập dữ liệu................................................................................. 46
3.2.1Phishing Website Data ............................................................................... 47
3.4. Huấn luyện và phát hiện ........................................................................... 50
3.5. Kết quả và nhận xét .................................................................................... 53
3.5.2 Kết quả của bộ dữ liệu NSL-KDD............................................................. 61
3.6 Kết luận chương ........................................................................................... 64
9
PHẦN MỞ ĐẦU
1. Tính cấp thiết của đề tài
Hiện nay, với sự phát triển nhanh chóng của CNTT cũng như tự động hóa, thế
giới bước vào kỷ nguyên 4.0, nhiều ngành nghề, lĩnh vực trong xã hội áp dụng, triển
khai các ứng dụng CNTT để tăng năng suất lao động cũng như chất lượng sản phẩm.
Các hệ thống CNTT có kết nối Internet ngày càng được mở rộng, nhiều tính năng,
được sử dụng rất rộng rãi và có đóng góp rất quan trọng vào phát triển kinh tế. Tuy
vậy, khi các hệ thống CNTT có kết nối Internet được ứng ngày càng rộng rãi, nguy cơ
mất ATTT cũng ngày càng lớn xuất phát từ các truy cập, xâm nhập bất hợp pháp để
đánh cắp thông tin nhạy cảm, hoặc phá hoại hệ thống. Thời gian gần đây, các vụ xâm
nhập vào các hệ thống CNTT trên toàn cầu diễn ra với tần suất ngày càng nhiều và
mức độ phá hoại ngày càng nghiêm trọng.
Tháng 4 năm 2015, văn phòng quản lý nhân sự của Mỹ phát hiện ra rằng hệ
thống mạng của họ bị hacker xâm nhập hệ thống lấy đi thông tin có giá trị của ít nhất
25,1 triệu người bao gồm Số an sinh xã hội (SSN), 5,6 triệu dấu vân tay. Vụ việc đã
được các quan chức liên bang Mỹ mô tả là một trong những vi phạm dữ liệu chính
phủ nghiêm trọng nhất trong lịch sử Hoa Kỳ. Vụ tấn công này được cho là thực hiện
bởi các hacker tới từ Trung Quốc. Tuy nhiên Chính phủ Trung Quốc phủ nhận mọi
liên quan đến vụ tấn công mạng này.
Trong năm 2017, Equifax là một trong ba tổ chức báo cáo tín dụng tiêu dùng
lớn nhất, cùng với Experian và TransUnion đã bị hacker xâm nhập vào hệ thống máy
chủ và lấy đi khoảng 209,000 thông tin thẻ tín dụng và số an sinh xã hội. Nguyên
nhân của vụ việc là Equifax đã không thực hiện cập nhật các bản vá lỗ hổng bảo mật
của nền tảng Apache Struts sử dụng trong hệ thống máy chủ của họ.
Xâm nhập trái phép có thể được thực hiện trong một thời gian dài trước khi
chúng bị phát hiện và đó là những gì đã xảy ra trong trường hợp của Marriott Hotels
khi cơ sở dữ liệu Starwood của hãng bị xâm nhập. Hacker đã xâm nhập vào cơ sở dữ
liệu và đánh cắp dữ liệu của khoảng 500 triệu khách hàng của Marriott. Sự cố được
cho là bắt đầu từ năm 2014. Chính phủ Mỹ cho rằng vụ việc do các hacker liên quan
đến chính phủ của Trung Quốc, tuy nhiên phía Trung Quốc phủ nhận cáo buộc này.
Marriott phải đối mặt với khoản tiền phạt 123 triệu USD do không thể bảo vệ dữ liệu
khách hàng.
Trong tháng 11/2019, một sự cố nghiêm trọng trong lĩnh vực tài chính - ngân
hàng đã xảy ra gây hoang mang dư luận, đó là sự cố lộ 02 triệu mục dữ liệu của một
ngân hàng lớn tại Việt Nam. Theo đó, trên diễn đàn của giới hacker Raidforums, nơi
10
chuyên đăng và rao bán những cơ sở dữ liệu bị hack đã tải lên một tập tin dữ liệu
được cho là có chứa thông tin người dùng của một ngân hàng tại Việt Nam bao gồm
mã khách hàng, họ tên, ngày tháng năm sinh, số điện thoại, email, địa chỉ nhà riêng và
nơi công tác của khoảng 02 triệu người Việt Nam.
Trong một cuộc tấn công thư điện tử doanh nghiệp (Business email
compromise – BEC) năm 2020, tin tặc đã sử dụng một số kỹ thuật tấn công, lừa đảo
hết sự tinh vi, phức tạp và được tổ chức tốt để chiếm quyền điều khiển một số tài
khoản thư điện tử cao cấp của ba công ty tài chính có trụ sở ở Anh và Israel. Sau đó
tin tặc lừa ba công ty này chuyển khoản tổng cộng 1,3 triệu đô la cho các tài khoản
ngân hàng của chúng – trong khi các nạn nhân nghĩ rằng họ đã chuyển tiền theo hợp
đồng đầu tư với một số công ty khởi nghiệp.
Như vậy, ảnh hưởng từ những nguy cơ mất ATTT nói chung từ những hành vi
xâm nhập trái phép nói riêng ngày càng lớn và phức tạp. Việc nghiên cứu các công
nghệ, giải pháp để xây dựng các hệ thống phát hiện xâm nhập (Intrustion Detection
System - IDS) hoạt động hiệu quả, chính xác là rất cấp thiết để có thể đối phó với các
hành vi xâm nhập mạng trái phép ngày càng phức tạp, tinh vi hiện nay.
Trong thời gian gần đây, học máy (Machine Learing) được áp dụng, đầu tư
phát triển và đã giải quyết được nhiều vấn đề khó khăn, phức tạp trong nhiều lĩnh vực
của xã hội. Do đó, tôi đã quyết định chọn đề tài “Phát hiện xâm nhập mạng sử dụng
học máy” để có cơ sở nghiên cứu xây dựng, triển khai hệ thống phát hiện xâm nhập
mạng hiệu quả, chính xác trong mạng CNTT tại cơ quan tôi đang làm việc.
2. Tổng quan vấn đề nghiên cứu
Học máy (machine learning) là một lĩnh vực của trí tuệ nhân tạo liên quan đến
việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ dữ
liệu để giải quyết những vấn đề cụ thể. Ví dụ như các máy có thể “học” cách phân loại
thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục
tương ứng. Trong học máy, có nhiều thuật toán được áp dụng cho việc “học” của hệ
thống như: Linear Regression (Hồi quy tuyến tính), Logistic Regression (Hồi quy
logistic), Linear Discriminant Analysis (Phân tích phân loại tuyến tính), DT (Decision
Tree- Cây quyết định), NB (Naive Bayes), KNN (K-Nearest Neighbors), Học Vector
Quantization, SVM (Support Vector Machine), RF (Random Forest) và mạng nơ ron
nhân tạo. Mỗi thuật toán có một vài điểm mạnh, điểm yếu riêng và phù hợp với một
số lớp bài toán.
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ần kinh, bao gồm số lượng lớn
các neural được gắn kết để xử lý thông tin. ANN giống như bộ não con người, được
11
học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu trữ những kinh nghiệm
hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa
biết (unseen data).
Deep Learning là một nhánh của lĩnh vực Machine Learning dựa trên một tập
hợp các thuật toán để cố gắng mô hình hóa dữ liệu trừu tượng hóa ở mức cao bằng
cách xử lý với cấu trúc phức tạp, hoặc bằng cách khác nhau bao gồm nhiều biến đổi
phi tuyến. Một quan sát (như hình ảnh) có thể được biểu diễn bằng nhiều cách như
một vector của các giá trị cường độ cho mỗi điểm ảnh hoặc trừu tượng hơn như là tập
hợp các cạnh, các khu vực hình dạng cụ thể,… Một vài đại diện khiến cho việc học
các nhiệm vụ dễ dàng hơn. Phương pháp này đã cải thiện đáng kể công nghệ tiên tiến
trong nhận dạng giọng nói, nhận dạng đối tượng trực quan, phát hiện đối tượng và
nhiều lĩnh vực khác như khám phá thuốc và bộ gen. Deep learning phát hiện ra cấu
trúc phức tạp trong các tập dữ liệu lớn bằng cách sử dụng thuật toán backpropagation
(lan truyền ngược) để chỉ ra cách một máy nên thay đổi cấc tham số bên trong được sử
dụng để tính toán biểu diễn trong mỗi lớp từ biểu diễn trong lớp trước. Deep Learning
đã mang lại những đột phá trong việc xử lý hình ảnh, video, nhận dạng giọng nói và
âm thanh. Cốt lõi của Deep Learning bao gồm mô hình mạng neural nhiều lớp và quá
trình huấn luyện mạng để xác định tham số cho mô hình.
Trong Deep Learning, có 03 dạng học chính là học có giám sát, học nửa giám
sát và học không giám sát.
Deep Learning có rất nhiều thuật toán như Convolutional Neural Network
(CNN), Deep Belief Network (DBN), Deep Neural Netwwork (DNN), Recurrent
Neural Network (RNN), Boltzman Machine (BM) và Autoencoder (AE).
Autoencoder là một loại ANN dùng để học không có giám sát thông qua các
mã code với ý tưởng là nếu một mô hình mạng neural có số nút mã trung gian (hidden
layer) nhỏ hơn số nút đầu vào thì mô hình đó sẽ học được các đặc tính ẩn (features)
của dữ liệu. Chính vì vậy mà Autoencoder học được cách biểu diễn cho một tập dữ
liệu giúp dự đoán đầu ra từ một đầu vào ban đầu. Trong thực tế Autoencoder đã được
ứng dụng thành công để giảm chiều dữ liệu, tất nhiên không làm mất đi các đặc tính
quan trọng của dữ liệu.
Denoise Autoencoder (DAE) được phát triển từ Autoencoder nhưng mạnh mẽ
hơn. Đầu vào của DAE là dữ liệu bị làm nhiễu và chúng ta sẽ học các đặc trưng của
dữ liệu từ dữ liệu nhiễu. Nhưng sau quá trình giải mã đầu ra sẽ là dữ liệu ban đầu
trước khi bị làm nhiễu. Từ đó, ta có thể thấy khả năng khái quát hóa cả DAE tốt hơn
so với Autoencoder. Hơn nữa, DAE có thể xếp chồng lên nhau để có được feature tốt
hơn vì vậy ta có cấu trúc Stacked Denoise Autoencoder (SDAE). Việc đào tạo mạng
SDAE theo layer-wise vì mỗi DAE với một hidden layer được đào tạo độc lập. Sau
12
khi đào tạo mạng SDAE, các lớp giải mã được loại bỏ và các lớp mã hóa tạo ra các
đặc trưng được dữ lại. Vì có khả năng phục hồi dữ liệu trước khi bị làm nhiễu nên
DAE thường được dùng để khôi phục ảnh và các dữ liệu bị hỏng.
Mục đích của quá trình huấn luyện mạng AE và DAE là để tìm được weight (trọng
số) đúng, các thuật toán cần tìm weight để tạo đầu ra giống với đầu vào nhất có thể.
Phát hiện xâm nhập là quá trình theo dõi các sự kiện xảy ra trong một hệ thống
máy tính hoặc mạng máy tính và phân tích chúng để tìm ra các dấu hiệu sự cố có thể
xảy ra, đó là các hành vi hoặc các mối đe dọa sắp xảy ra, vi phạm các chính sách bảo
mật, các chính sách sử dụng được chấp nhận hoặc dựa trên tiêu chuẩn bảo mật.
Hệ thống IDS là một hệ thống (có thể là thiết bị phần cứng hay phần mềm) nhằm
giám sát lưu lượng mạng theo dõi, thu thập thông tin để phát hiện xâm nhập mạng và đưa
ra cảnh báo.
Hiện nay, nhiều nghiên cứu đã áp dụng thành công các thuật toán học máy để hệ
thống IDS có khả năng tự học và cập nhật các cuộc tấn công mới. Nhưng để hạn chế báo
động nhầm và tăng khả năng dự đoán các cuộc tấn công thì ngoài khả năng tự quyết định,
IDS cần phải có tư duy phân tích. Vì vậy ta cần phải ứng dụng học máy vào IDS. Trong đề
tài này tôi sẽ sử dụng mạng học sâu là Autoencoder (AE) và một số thuật toán học máy để
xác định tấn công xâm nhập mạng.
Có hai giai đoạn trong quá trình phát hiện xâm nhập là: Learning Feature và
Classifier. Trong giai đoạn Learning Feature, các dữ liệu của mạng sẽ được đưa vào
các mạng AE và DAE ta sẽ được mã chứa các đặc trưng đại diện nhất của dữ liệu. Các
đặc trưng này có thể mô tả được dữ liệu đầu vào. Quá trình này giúp cho việc phân
loại nhanh hơn và chính xác hơn nhờ vào khả năng học của AE và DAE. Ngoài ra, ta
cũng có thể sử dụng mạng SDAE (Stacked Denoise Autoencoder) để khôi phục được
các dữ liệu bị hỏng. Trong giai đoạn Classifier, ta sẽ lấy các dữ liệu đã được trích xuất
từ giai đoạn Learning Feature và sử dụng các thuật toán phân loại như SVM, RF, DT,
KNN, NB để xác định dữ liệu đầu vào là bình thường hay bất thường.
3. Mục tiêu nghiên cứu của đề tài
Nghiên cứu về mạng học sâu AE (Autoencoder) và áp dụng vào khâu tiền xử lý
dữ liệu trong Hệ thống phát hiện xâm nhập mạng (IDS) để xác định tấn công xâm
nhập, góp phần tăng mức độ hiệu quả, chính xác trong hoạt động của hệ thống IDS.
4. Đối tượng và phạm vi nghiên cứu của đề tài
Đối tượng nghiên cứu của luận văn là mạng học sâu AE (Autoencoder) và Hệ
thống IDS.
Phạm vi nghiên cứu của luận văn là áp dụng AE để xác định một dữ liệu đầu
13
vào có phải là tấn công xâm nhập hay không.
5. Phương pháp nghiên cứu của đề tài
- Về mặt lý thuyết:
+ Thu thập, khảo sát, phân tích, nghiên cứu các tài liệu và thông tin có liên
quan đến một số hình thức tấn công xâm nhập mạng và một số phương pháp phát hiện
xâm nhập mạng.
+ Tìm hiểu về mạng học sâu AE (Autoencoder) và áp dụng AE vào vào khâu
tiền xử lý dữ liệu trong hệ thống phát hiện xâm nhập mạng. Sau khâu tiền xử lý dựa
trên AE, sử dụng một số thuật toán SVM, RF, KNN, NB, DT để xác định một số hành
vi là tấn công xâm nhập mạng hay không.
- Về mặt thực nghiệm:
+ Sử dụng các thuật toán SVM, RF, KNN, NB, DT trong mạng học sâu AE
(Autoencoder) trên bộ dữ liệu NSL-KDD để xác định xâm nhập mạng.
+ Đánh giá, so sánh mức độ hiệu quả khi ứng dụng AE vào hệ thống phát hiện
xâm nhập mạng.
14
CHƯƠNG 1
TỔNG QUAN VỀ PHÁT HIỆN XÂM NHẬP MẠNG
1.1Khái quát về tấn công xâm nhập mạng
Tấn công, xâm nhập là một, hoặc một chuỗi các hành động vi phạm các chính
sách an ninh, an toàn của tổ chức, cơ quan, gây tổn hại đến các thuộc tính bí mật, toàn
vẹn và sẵn sàng của thông tin, hệ thống và mạng [1]. Một cuộc tấn công vào hệ thống
máy tính hoặc các tài nguyên mạng thường được thực hiện bằng cách khai thác các lỗ
hổng bảo mật tồn tại trong hệ thống. Trong thế giới kết nối mạng sâu và rộng hiện
nay, hầu hết các dạng tấn công, xâm nhập đều được thực hiện thông qua hệ thống
mạng, nhất là mạng Internet, nên có thể xem tấn công, xâm nhập mạng đồng nhất với
tấn công, xâm nhập nói chung.
Có thể chia các dạng tấn công, xâm nhập theo mục đích thực hiện thành 4 loại
chính như sau [1]:
- Giả mạo (Fabrication) là dạng tấn công thực hiện việc giả mạo thông tin
(email, địa chỉ IP…) và thường được sử dụng để đánh lừa người dùng thông
thường;
- Chặn bắt (Interception) là dạng tấn công thường liên quan đến việc nghe lén
thông tin trên đường truyền và chuyển hướng thông tin để sử dụng trái phép;
- Gây ngắt quãng (Interruption) dạng tấn công làm ngắt, hoặc chậm kênh truyền
thông, hoặc làm quá tải hệ thống, ngăn cản việc truy cập dịch vụ của người
dùng hợp pháp;
- Sửa đổi (Modification) dạng tấn công thực hiện việc sửa đổi thông tin trên
đường truyền hoặc sửa đổi dữ liệu file.
Theo hình thức thực hiện, có thể chia các dạng tấn công, xâm nhập thành 2
kiểu chính như sau:
- Tấn công chủ động (Active attack) là một đột nhập, xâm nhập về mặt vật lý
vào hệ thống, hoặc mạng. Các tấn công chủ động thực hiện sửa đổi dữ liệu trên
đường truyền, sửa đổi dữ liệu trong file, hoặc giành quyền truy cập trái phép
vào hệ thống máy tính hoặc hệ thống mạng.
- Tấn công thụ động (Passive attack) là kiểu tấn công thường không gây ra thay
đổi trên hệ thống. Các tấn công thụ động điển hình là nghe lén và giám sát lưu
lượng trên đường truyền.
1.2 Một số dạng tấn công xâm nhập điển hình vào hệ thống CNTT
15
1.2.1 Asymmetric Routing
Trong phương pháp này, kẻ tấn công cố gắng sử dụng nhiều hơn một đường
dẫn (route) đến thiết bị mạng được nhắm mục tiêu. Ý tưởng là để cuộc tấn công tổng
thể tránh bị phát hiện bằng cách để một phần đáng kể các gói tin vi phạm bỏ qua một
số phân đoạn mạng nhất định và các cảm biến xâm nhập mạng của chúng. Các mạng
không được thiết lập để định tuyến không đối xứng sẽ không bị ảnh hưởng bởi
phương pháp tấn công này.
1.2.2 Buffer Overflow Attacks (Tấn công tràn bộ đệm)
Cách tiếp cận này cố gắng ghi đè các phần cụ thể của bộ nhớ máy tính kết nối
mạng, thay thế dữ liệu bình thường trong các vị trí bộ nhớ đó bằng một bộ lệnh mà
sau này sẽ được thực thi như một phần của cuộc tấn công. Trong hầu hết các trường
hợp, mục đích là bắt đầu tình huống từ chối dịch vụ (DoS) hoặc thiết lập một kênh mà
qua đó kẻ tấn công có thể truy cập từ xa vào mạng. Việc thực hiện các cuộc tấn công
như vậy khó hơn khi các nhà thiết kế mạng giữ kích thước bộ đệm tương đối nhỏ và /
hoặc cài đặt logic kiểm tra ranh giới xác định mã thực thi hoặc độ dài chuỗi URL
trước khi cho phép ghi dữ liệu vào bộ đệm.
1.2.3 Common Gateway Interface Scripts
Giao diện cổng chung (CGI) thường được sử dụng trong mạng để hỗ trợ tương
tác giữa máy chủ và máy khách trên Web. Nhưng nó cũng cung cấp các lỗ hổng dễ
dàng - chẳng hạn như "backtracking" - thông qua đó những kẻ tấn công có thể truy
cập các tệp hệ thống mạng được cho là an toàn. Khi hệ thống không xác minh đầu vào
hoặc kiểm tra các ký tự, tập lệnh CGI bí mật có thể dễ dàng thêm nhãn thư mục ".."
hoặc dấu "|" cho bất kỳ tên đường dẫn tệp nào và do đó truy cập các tệp không được
phép qua ứng dụng Web.
1.2.4 Protocol-Specific Attacks (Tấn công theo giao thức mạng)
Khi thực hiện các hoạt động mạng, các thiết bị tuân theo các quy tắc và thủ tục
cụ thể. Các giao thức này - chẳng hạn như ARP, IP, TCP, UDP, ICMP và các giao
thức ứng dụng khác nhau - có thể vô tình để lại lỗ hổng cho các cuộc xâm nhập mạng
thông qua mạo danh giao thức ("giả mạo") hoặc thông báo giao thức không đúng định
dạng. Ví dụ: Giao thức phân giải địa chỉ (ARP) không thực hiện xác thực trên tin
nhắn, cho phép kẻ tấn công thực hiện các cuộc tấn công "man-in-the-middle". Các
cuộc tấn công theo giao thức cụ thể có thể dễ dàng xâm nhập hoặc thậm chí làm hỏng
các thiết bị được nhắm mục tiêu trên mạng.
1.2.5 Traffic Flooding (Tấn công tràn lưu lượng mạng)
Một phương pháp xâm nhập mạng khéo léo chỉ đơn giản là nhắm vào các hệ
thống phát hiện xâm nhập mạng bằng cách tạo ra tải trọng quá lớn để hệ thống không
16
thể sàng lọc tất cả dữ liệu vào mạng. Trong môi trường mạng hỗn loạn và tắc nghẽn,
những kẻ tấn công có thể thực hiện một cuộc tấn công không bị phát hiện và thậm chí
gây ra tình trạng "không mở được" (fail-open) không bị phát hiện.
1.2.6 Trojans
Các chương trình này tự thể hiện là lành tính (không có những hành vi ăn cắp,
phá hoại dữ liệu) và không tự tái tạo giống như vi-rút hoặc sâu. Thay vào đó, chúng
mở các cửa hậu cho các hành vi tấn công khác, cho phép những kẻ tấn công bên ngoài
kiểm soát hệ thống. Trojan có thể được đưa vào mạng từ các kho lưu trữ tệp trực
tuyến không bị nghi ngờ, đặc biệt nhất là các hệ thống trao đổi tệp ngang hàng.
1.2.7 Worms (Sâu máy tính)
Sâu là một loại phần mềm độc hại có khả năng tự lây nhiễm từ máy này sang
máy khác mà không cần chương trình chủ, vật chủ, hoặc sự trợ giúp của người dùng.
Khi sâu lây nhiễm vào một máy, nó sử dụng máy này làm “bàn đạp” để tiếp tục rà
quét, tấn công các máy khác. Một trong các dạng sâu phổ biến nhất là sâu mạng
(network worm) sử dụng kết nối mạng để lây lan từ máy này sang máy khác. Worms
thường lây lan qua tệp đính kèm email hoặc giao thức Trò chuyện chuyển tiếp Internet
(IRC). Worms khi không bị phát tiêu thụ nhiều tài nguyên mạng, chẳng hạn như CPU
hoặc băng thông mạng, các hoạt động được ủy quyền bị thực thi quá mức. Một số
Worm chủ động tìm kiếm thông tin bí mật — chẳng hạn như các tệp có chứa từ khóa
có giá trị như "tài chính" hoặc "SSN" và truyền đạt dữ liệu đó cho những kẻ tấn công
đang chờ đợi bên ngoài mạng.
1.3 Các biện pháp phòng chống tấn công, xâm nhập mạng
1.3.1. Chiến lược an toàn hệ thống
Xây dựng chiến lược an toàn hệ thống là một bài toán lớn, cần những chuyên
gia về an toàn thông tin (ATTT), an ninh mạng (ANM) có khả năng tổ chức, quản lý
ATTT, quản lý rủi ro có thể sảy ra đối với hệ thống tại một số thời điểm.
1.3.2 Tính logic, khoa học, an toàn ở mức cao
Đây là những yếu tố hết sức cần thiết đối với hệ thống thông tin hiện nay. Một
hệ thống phải đảm bảo tính logic, khoa học và có khả năng bảo vệ tốt. Tính logic,
khoa học ngoài việc bảo đảm dịch vụ hệ thống chạy tốt còn giúp rút ngắn thời gian
phân tích, khắc phục sự cố an toàn thông tin.
Để đảm bảo cho khả năng bảo vệ tốt, ngoài việc đầu tư các trang thiết bị, phần
mềm bảo đảm an toàn thông tin, chúng ta rất cần một lực lượng giám sát ATTT 24/7
để có thể phân tích, xử lý kịp thời các dấu hiệu, nguy cơ mất ATTT mà các trang thiết
bị bảo đảm ATTT không thể tự động xử lý được.
17
Hình 1.1. Một số chiến lược ATTT
1.3.3 Quyền tối thiểu (Least Privilege)
Trong bảo đảm ATTT, đây là nguyên tắc cơ bản nhất. Trong nguyên tắc này,
bất kỳ đối tượng (người dùng, admin, thiết bị, ứng dụng, …) trong hệ thống chỉ được
cấp những quyền để đối tượng này thực hiện các hoạt động trong phạm vi cho phép.
1.3.4 Phòng thủ theo chiều sâu (Defense in Depth)
Trong chiến lược này, các cơ chế và kiểm soát bảo mật được phân lớp cẩn thận
trong toàn bộ mạng máy tính để bảo vệ tính bí mật, tính toàn vẹn và tính khả dụng của
mạng và dữ liệu bên trong. Kẻ tấn công có thể vượt qua một vài cơ chế hoặc lớp bảo
mật nhưng chưa chắc có thể tấn công thành công vào hệ thống.
1.3.5 Điểm thắt (Choke Point)
Chiến lược này buộc kẻ tấn công sử dụng một kênh hẹp, mà quản trị viên có thể
giám sát và kiểm soát, điều khiển, tăng cường các hình thức giám sát, bảo đảm ATTT
nâng cao. Phương pháp này học hỏi từ một số hệ thống thực tế, ví dụ trạm thu phí, máy
an ninh tại siêu thị, máy đo thân nhiệt tại Sân bay, quầy bán vé tại rạp chiếu phim.
1.3.6 Liên kết yếu nhất (Weakest Link)
Mỗi một hệ thống thông tin luôn có những điểm yếu. Không chuyên gia nào
dám khẳng định một hệ thống thông tin nào dó hoàn hảo về bảo mật, không thể bị tấn
18
công. Thông thường, kẻ tấn công thường tìm điểm yếu nhất của hệ thống để tấn công,
do vậy ta cần phải liên tục gia cố, tăng cường bảo mật cho các yếu điểm hệ thống.
Trong nhiều hệ thống thông tin, con người là điểm yếu nhất, dễ bị khai thác qua đó
hacker có thể tấn công chiếm quyền điều khiển hoặc phá hoại hệ thống.
1.3.7 Lập trường thất bại an toàn (Fail-Safe Stance)
Trong một số trường hợp đặc biệt, hệ thống thông tin nên có cơ chế thất bại an
toàn (Fail-Safe Stance). Trong cơ chế này, khi hệ thống bị sự cố mất ATTT hoặc bị
lỗi, nó sẽ chặn các truy cập từ cả người dùng hợp pháp và người dùng bất hợp pháp
đến khi vấn đề được xử lý xong. Đây là một hình thức đánh đổi chấp nhận được.
1.3.8 Phòng thủ đa dạng (Diversity of Defense)
Ý tưởng đằng sau sự đa dạng của hệ thống phòng thủ là việc sử dụng các hệ
thống bảo mật từ các nhà cung cấp khác nhau có thể làm giảm nguy cơ xảy ra lỗi, lỗ
hổng phổ biến hoặc lỗi cấu hình ảnh hưởng đến cả hệ thống. Tuy nhiên, cần có một sự
cân bằng về độ phức tạp và chi phí. Việc mua sắm và lắp đặt nhiều hệ thống khác
nhau sẽ khó khăn hơn, mất nhiều thời gian hơn và tốn kém hơn so với việc mua và lắp
đặt đồng bộ một hệ thống duy nhất từ một hãng sản xuất.
1.3.9 Đơn giản hóa (Simplicity)
Đơn giản hóa là yếu tố cần thiết đối với hệ thống thông tin. Có 02 lý do cho
sự cần thiết này như sau. Thứ nhất, hệ thống càng đơn giản thì càng dễ hiểu. Khi
một hệ thống thông tin rắc rối, không rõ ràng về logic, chúng ta không hiểu được nó
vận hành thế nào, luồng dữ liệu đi như thế nào, chúng ta không thể đánh giá được nó
có an toàn hay không. Thứ hai, các chương trình, hệ thống càng phức tạp thì nguy cơ
lỗi, nguy cơ tồn tại lỗ hổng bảo mật càng cao.
1.4 Khái quát về phát hiện xâm nhập mạng
1.4.1 Giới thiệu
Phát hiện xâm nhập mạng là quá trình theo dõi các sự kiện xảy ra trong một hệ
thống thông tin và phân tích chúng để tìm ra các dấu hiệu xâm nhập trái phép hoặc các
hành vi tấn công có thể xảy ra, đó là các hành vi hoặc các mối đe dọa sắp xảy ra, vi
phạm các chính sách bảo mật, các chính sách sử dụng được chấp nhận hoặc vi phạm
tiêu chuẩn bảo mật gây ảnh hưởng đến hệ thống [2].
Hệ thống phát hiện tấn công, xâm nhập (Intrusion Detection System - IDS) là một
lớp bảo vệ quan trọng trong các lớp đảm bảo ATTT cho hệ thống thông tin và mạng theo
mô hình phòng thủ có chiều sâu (defence in depth). IDS là hệ thống phát hiện tấn công,
xâm nhập. Các hệ thống IDS có thể được đặt trước hoặc sau tường lửa trong mô hình
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Phát hiện xâm nhập mạng sử dụng học máy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
luan_van_phat_hien_xam_nhap_mang_su_dung_hoc_may.pdf

