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  
8
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 đủ
pdf 69 trang yennguyen 20081 Free
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:

  • pdfluan_van_phat_hien_xam_nhap_mang_su_dung_hoc_may.pdf