Phát hiện lưu lượng mạng bất thường trong điều kiện dữ liệu huấn luyện chứa ngoại lai

Tóm tắt: Phát hiện lưu lượng mạng bất thường

đối mặt với nhiều khó khăn, thách thức như: xác

định mức ngưỡng dùng để so sánh phát hiện bất

thường, trích chọn đặc trưng dữ liệu, giảm số dữ

liệu cần xử lý, độ chính xác cần thiết. Ngoài

ra, ngoại lai có thể gây ra sai lệch đáng kể trong

quá trình phát hiện. Bài báo này đề cập các vấn

đề phát hiện lưu lượng mạng bất thường trong

điều kiện dữ liệu huấn luyện chứa ngoại lai và đề

xuất một phương pháp cải tiến dựa trên thuật toán

phân tích thành phần chính PCA gọi tên là dPCA.

Kết quả thử nghiệm được đánh giá dựa trên tập

dữ liệu Kyoto Honeypot.

pdf 14 trang yennguyen 3680
Bạn đang xem tài liệu "Phát hiện lưu lượng mạng bất thường trong điều kiện dữ liệu huấn luyện chứa ngoại lai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Phát hiện lưu lượng mạng bất thường trong điều kiện dữ liệu huấn luyện chứa ngoại lai

Phát hiện lưu lượng mạng bất thường trong điều kiện dữ liệu huấn luyện chứa ngoại lai
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG
 Số 1 năm 2016 3
Nguyễn Hà Dương, Hoàng Đăng Hải
 PHÁT HIỆN LƯU LƯỢNG MẠNG 
 BẤT THƯỜNG TRONG ĐIỀU KIỆN 
DỮ LIỆU HUẤN LUYỆN CHỨA NGOẠI LAI
Nguyễn Hà Dương*, Hoàng Đăng Hải+ 
*Khoa Công nghệ thông tin, Trường Đại học Xây Dựng Hà Nội 
+Học viện Công nghệ Bưu chính Viễn thông
Tóm tắt: Phát hiện lưu lượng mạng bất thường 
đối mặt với nhiều khó khăn, thách thức như: xác 
định mức ngưỡng dùng để so sánh phát hiện bất 
thường, trích chọn đặc trưng dữ liệu, giảm số dữ 
liệu cần xử lý, độ chính xác cần thiết... Ngoài 
ra, ngoại lai có thể gây ra sai lệch đáng kể trong 
quá trình phát hiện. Bài báo này đề cập các vấn 
đề phát hiện lưu lượng mạng bất thường trong 
điều kiện dữ liệu huấn luyện chứa ngoại lai và đề 
xuất một phương pháp cải tiến dựa trên thuật toán 
phân tích thành phần chính PCA gọi tên là dPCA. 
Kết quả thử nghiệm được đánh giá dựa trên tập 
dữ liệu Kyoto Honeypot.
Từ khóa: Phát hiện lưu lượng mạng bất thường, 
phát hiện ngoại lai, an ninh mạng.1
I. MỞ ĐẦU
Tính mở và sự đa dạng của hạ tầng mạng, dịch vụ 
và ứng dụng đã tạo ra biến động, thăng giáng đáng 
kể của lưu lượng mạng. Mặt khác, hoạt động tấn 
công của tin tặc trên mạng cũng góp phần không 
nhỏ trong việc tạo ra lưu lượng đột biến so với 
lưu lượng bình thường trên mạng. Phát hiện lưu 
lượng mạng bất thường đã là một chủ đề nghiên 
cứu được quan tâm nhiều trong thời gian qua và 
đang trở thành một hướng nghiên cứu được đặc 
biệt quan tâm trong sự phát triển của lĩnh vực an 
ninh mạng [1]. Lưu lượng mạng bất thường là 
Tác giả liên hệ: Nguyễn Hà Dương, 
email: nghaduong@gmail.com
 Đến tòa soạn: 12/2/2016, chỉnh sửa: 12/4/2016, chấp
 nhận đăng: 12/5/2016.
 Một phần kết quả của bài báo này đã được trình bày tại
hội thảo quốc gia ECIT’2015.
lưu lượng có sự biến đổi không bình thường, có 
những thăng giáng đáng kể so với lưu lượng bình 
thường của mạng. Sự biến đổi bất thường này có 
thể do nhiều nguyên nhân, ví dụ điển hình là tấn 
công của tin tặc trên mạng (như DoS, Scan) và 
lỗi mạng. Ví dụ, tấn công DoS thường tạo ra một 
lượng lưu lượng đột biến so với lưu lượng bình 
thường trên mạng.
Phát hiện nhanh và sớm lưu lượng mạng bất 
thường có thể giúp sớm phát hiện dấu hiệu tấn 
công mạng. So với các phương pháp truyền 
thống phát hiện tấn công mạng dựa trên dấu 
hiệu (signature-based) thường dùng trong các hệ 
thống phát hiện xâm nhập (Intrusion Detection 
System - IDS) [2,3,4], các phương pháp dựa trên 
sự kiện bất thường (anomaly-based detection) có 
ưu thế vì cho phép phát hiện được những kiểu tấn 
công mới. Nếu phát hiện chỉ dựa trên các mẫu 
dấu hiệu tấn công đã biết, hệ thống sẽ không thể 
phát hiện nếu tin tặc thay đổi một vài chi tiết để 
biến tấn công trở thành một kiểu mới. Vì vậy, các 
hệ thống ADS (Anomaly Detection System) đã 
được phát triển dựa trên phương pháp phát hiện 
hành vi bất thường (ví dụ [1,2]).
Triển khai các ADS khó khăn hơn nhiều so với 
các IDS truyền thống. Các IDS thường dựa trên 
việc so sánh mẫu lưu lượng mạng thu được với 
các mẫu dấu hiệu biết trước lưu trong cơ sở dữ 
liệu tập mẫu. Ngược lại, ADS không đòi hỏi mẫu 
dữ liệu tấn công biết trước. Đối với ADS, cần xác 
định một tập hợp lưu lượng mạng bình thường. 
Lưu lượng mạng thu được sẽ được so sánh với 
tập hợp được coi là bình thường nêu trên. Dữ liệu 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG4 Số 1 năm 2016
PHÁT HIỆN LƯU LƯỢNG MẠNG BẤT THƯỜNG TRONG ĐIỀU KIỆN DỮ LIỆU HUẤN LUYỆN...
không nằm trong tập bình thường sẽ bị coi là bất 
thường. Các phương pháp phát hiện lưu lượng 
mạng bất thường cho ADS phải đối mặt với một 
số vấn đề chủ yếu như sau:
1) Cần xác định tập mẫu dữ liệu không chứa bất 
thường để từ đó phát hiện ra những sự kiện bất 
thường trong các tập dữ liệu thu được từ mạng.
2) Để tăng độ chính xác, tập mẫu dữ liệu thường rất 
lớn với số lượng biến (thuộc tính dữ liệu) lớn dẫn 
đến tốn tài nguyên hệ thống, thời gian xử lý dài, 
tốc độ phát hiện chậm. Vấn đề là cần trích chọn 
đặc trưng dữ liệu sao cho giảm yêu cầu về lượng 
dữ liệu phải xử lý trong khi vẫn bảo đảm độ chính 
xác cần thiết, tốc độ xử lý và phát hiện nhanh.
3) Thực tế các tập mẫu dữ liệu bình thường vẫn có 
thể chứa một phần dữ liệu bất thường (gọi chung 
là ngoại lai) có thể làm sai lệch quá trình huấn 
luyện và kết quả phát hiện. Do vậy cần phương 
pháp loại bỏ ngoại lai khỏi tập dữ liệu huấn luyện.
Đã có nhiều công trình nghiên cứu về phát hiện 
lưu lượng mạng bất thường đã được đề xuất tới 
nay, song các phương pháp phát hiện theo mô 
hình thống kê, khai phá dữ liệu, học máy vẫn được 
coi là hiệu quả và khả thi hơn (xem [5-12]). Một 
số nghiên cứu áp dụng thuật toán PCA (Principle 
Component Analysis) [13-17] đã cho thấy khả 
năng giảm lượng dữ liệu cần xử lý, độ chính xác 
tương đối cao, khả năng phát hiện nhanh. Mặc dù 
vậy, vấn đề phát hiện trong điều kiện dữ liệu huấn 
luyện có chứa ngoại lai vẫn chưa được quan tâm 
đúng mức. Ngoại lai là những phần tử bất thường 
lẫn vào tập dữ liệu dùng để huấn luyện. Những 
phần tử này gây ra sự sai lệch trong các tham số 
khi huấn luyện và ảnh hưởng đến hiệu suất hoạt 
động của hệ thống.
Bài báo này đề xuất một phương pháp phát hiện 
lưu lượng mạng bất thường trong điều kiện dữ 
liệu huấn luyện chứa ngoại lai. Phương pháp 
được xây dựng dựa trên nền tảng thuật toán PCA 
với một số cải tiến: giảm thiểu thành phần chính 
thứ yếu để tính đường cơ sở, khử ngoại lai với 
chế độ không giám sát và phân cụm, phân cấp 
phát hiện. Bài báo được bố cục thành ba phần 
như sau. Phần II trình bày một số nghiên cứu liên 
quan. Phần III trình bày phương pháp đề xuất của 
bài báo. Phần IV là kết quả thử nghiệm. Phần V 
là kết luận.
 II. CÁC NGHIÊN CỨU LIÊN QUAN
Các công trình nghiên cứu về phát hiện lưu lượng 
mạng bất thường tới nay chủ yếu dựa trên một 
nguyên lý căn bản nhất, đó là chỉ ra các đặc tính 
lưu lượng mạng trong điều kiện hoạt động bình 
thường theo một cách nào đó và xác định sự 
khác biệt của lưu lượng mạng trong so sánh với 
lưu lượng mạng bình thường đã nêu. Ranh giới 
của sự khác biệt đó là mức ngưỡng (Threshold) 
thường có biến động theo thời gian. ADS thường 
được xây dựng theo mô hình thống kê, khai phá 
dữ liệu, học máy,... [1-12]. Mục tiêu đặt ra là tạo 
ra một đường cơ sở (Baseline) bao gồm các mức 
ngưỡng biến động theo thời gian. Tuy nhiên, do 
số lượng dữ liệu và số thuộc tính dữ liệu lớn nên 
việc tạo ra đường cơ sở và so sánh với đường cơ 
sở vẫn là vấn đề phức tạp, phải xử lý nhiều và 
khó khả thi.
Một số nghiên cứu tập trung vào lựa chọn đặc 
trưng dữ liệu nhằm giảm yêu cầu về lượng dữ 
liệu phải xử lý. Thuật toán phân tích thành phần 
chính (PCA-Principle Component Analysis) [13-
16] đã được đề xuất áp dụng nhằm chuyển đổi 
tập dữ liệu (p chiều) sang một miền dữ liệu mới 
(m chiều, với m < p) nhằm giảm số chiều dữ liệu.
Trong phần này, bài báo tóm tắt một số công trình 
điển hình nhất [12-16] sử dụng phương pháp 
PCA do có liên quan đến nội dung bài. PCA là 
thuật toán thường sử dụng để giảm số chiều dữ 
liệu nhưng vẫn giữ được phần lớn đặc tính của 
dữ liệu. Mỗi trị riêng của thành phần chính tương 
ứng một phần với sự biến thiên của các thuộc 
tính hay biến trong dữ liệu. Trị riêng càng lớn thì 
càng chứa nhiều biến thiên và vector riêng tương 
ứng phản ánh quy luật biến thiên càng lớn nên 
càng quan trọng. Do vậy, những thành phần chính 
quan trọng nhất cần được xếp trước các thành 
phần không quan trọng [1-3][7][13-16].
Trong [5,12,13,14], các tác giả theo dõi sự thay 
đổi các giá trị thành phần chính và phát hiện sự 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG
 Số 1 năm 2016 5
Nguyễn Hà Dương, Hoàng Đăng Hải
thay đổi bất thường trên các thành phần chính 
nhất định. Các thành phần chính (Principal 
Component – PC) có thể phân chia thành những 
thành phần chủ yếu phản ánh quy luật biến thiên 
của lưu lượng y
(m) trong trạng thái bình thường 
của hệ thống và những thành phần dư thừa phản 
ánh sự biến thiên không theo quy luật y
(p-m). Trong 
[5,12], độ lớn của phần dư tái tạo tương ứng với 
y
(p-m)
 được phân tích từ đó phát hiện ra những 
dấu hiệu bất thường dựa trên mức ngưỡng. Một 
cách tương tự là tính khoảng cách Euclidean giữa 
dữ liệu chuẩn hóa z và dữ liệu tái tạo từ những 
thành phần chính y
(m) [13]. Tuy nhiên sự tái tạo 
lại z từ những thành phần chính y
(m) làm tăng 
mức độ xử lý của hệ thống. Trong [14], khoảng 
cách Mahalanobis dựa trên thành phần chính chủ 
yếu và thứ yếu được sử dụng để phân tích dấu 
hiệu bất thường. Hiệu quả của phương pháp phụ 
thuộc vào số lượng và tỷ lệ các PC chủ yếu và 
thứ yếu. Tác giả trong [15] sử dụng phương pháp 
Histogram. Phương pháp này đơn giản hơn song 
đòi hỏi lượng dữ liệu phải lớn để đạt được tỷ lệ 
phát hiện đúng cao. Công trình [16] đề xuất giảm 
bớt tập thuộc tính dữ liệu nhằm giảm độ phức tạp 
của thuật toán phát hiện.
Qua nghiên cứu các công trình liên quan, ta rút ra 
một số nhận xét như sau: 
1) Các nghiên cứu áp dụng PCA đều sử dụng 
cách so sánh biến thiên của lưu lượng với một 
đường cơ sở, song giảm được dữ liệu cần xử lý 
qua việc biến đổi sang miền dữ liệu chỉ sử dụng 
các thành phần chính. Tuy nhiên, sử dụng các 
thành phần chính nào vẫn là vấn đề chưa được 
nghiên cứu cụ thể. Các thành phần chính được 
chia thành các thành phần chính chủ yếu (những 
thành phần chính đầu tiên, có trị riêng lớn nhất) 
và thành phần chính thứ yếu (những thành phần 
chính cuối có trị riêng nhỏ nhất). 
2) Các thành phần chính chủ yếu có xu hướng 
phản ánh sự biến thiên bình thường của lưu 
lượng. Trong điều kiện dữ liệu huấn luyện sạch, 
bất thường có xu hướng xuất hiện ở các thành 
phần chính thứ yếu. Điều này phù hợp với phương 
pháp phân tích phần dư. Do vậy, lựa chọn các 
thành phần chính phù hợp có thể mang lại hiệu 
quả phát hiện.
3) PCA rất nhạy cảm với dữ liệu ngoại lai. Do 
đó, cần giảm thiểu tác động của ngoại lai, hoặc 
cần lọc bớt dữ liệu đầu vào ngoại lai cho tập huấn 
luyện. PCA cũng có thể phát sinh ngoại lai không 
mong muốn. Vì vậy, cần đánh giá tác động của 
các thành phần chính đến việc phát sinh ngoại 
lai, từ đó lựa chọn thành phần chính hoặc các đặc 
tính lưu lượng mạng cần thiết để giảm tác động 
của yếu tố này.
III. PHƯƠNG PHÁP DPCA
A. Cơ sở thuật toán PCA
PCA là phương pháp chuyển đổi tập dữ liệu (p 
chiều) sang một miền dữ liệu mới (m chiều, với m 
< p) nhằm giảm số chiều dữ liệu [13-16]. Thuật 
toán PCA cơ sở như sau.
Gọi X là một tập dữ liệu gồm n quan sát với p 
biến X1, X2, Xp được tổ chức thành ma trận nxp 
(n hàng, p cột). Mỗi biến biểu thị một thuộc tính 
của dữ liệu ban đầu. Mỗi quan sát x=(x1, x2,,xp)
T chứa p thuộc tính khác nhau. Gọi R là ma trận 
tương quan pxp tính được từ X, (lk, ek) là các cặp 
trị riêng và vector riêng của R được sắp xếp theo 
thứ tự giảm dần của trị riêng (l1³ l2³ ³ lp>0). 
Phép biến đổi của thuật toán PCA cơ sở là sự 
chuyển các điểm dữ liệu ban đầu sang kết quả 
thành phần chính. Khi đó thành phần chính thứ i 
của một quan sát x sẽ là
T
1 1 2 2 ...i i i i ip py e z e z e z e z= = + + + (1)
trong đó: yi là thành phần chính thứ i của quan 
sát x ban đầu, i=1p, ei=(ei1,ei2,,eip)
T là vectơ 
riêng thứ i, z = (z1, z2,,zp)
T là vectơ đã chuẩn hóa 
của x, zk của biến thứ k được tính theo công thức
k k
k
k
x x
z
s
−
= (2)
với kx là giá trị trung bình, sk là phương sai của 
biến thứ k, k = 1p.
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG6 Số 1 năm 2016
PHÁT HIỆN LƯU LƯỢNG MẠNG BẤT THƯỜNG TRONG ĐIỀU KIỆN DỮ LIỆU HUẤN LUYỆN...
Bài toán phát hiện bất thường với PCA được đưa 
về bài toán tính toán khoảng cách d giữa dữ liệu 
chuẩn hóa z và dữ liệu tái tạo từ các thành phần 
chính yi của các quan sát. Khoảng cách được so 
sánh với mức ngưỡng để xác định tập dữ liệu là 
bình thường hay bất thường. Nhiều phương pháp 
tính khoảng cách có thể được áp dụng, điển hình 
như: Euclidean, Manhattan [13], Mahalanobis 
[14], Việc xử lý một lượng dữ liệu lớn nhiều 
biến sẽ làm tăng thời gian xử lý dữ liệu và tốn tài 
nguyên của hệ thống. Vì vậy, áp dụng thuật toán 
PCA có thể giảm thiểu số chiều không cần thiết 
và tăng hiệu quả tận dụng tài nguyên hệ thống.
B. Phương pháp dPCA
Trong phần này, bài báo đề xuất phương pháp 
dPCA (Distance-based anomaly detection method 
in PCA subspace) trên nền tảng thuật toán PCA 
cơ sở với một số cải tiến: giảm thiểu thành phần 
chính thứ yếu để tính đường cơ sở, khử ngoại lai 
với chế độ không giám sát và phân cụm, phân cấp 
phát hiện. Về cơ bản, phương pháp dPCA cũng sử 
dụng thuật toán PCA cơ sở để giảm số chiều dữ 
liệu (p chiều), song giữ phần lớn đặc tính dữ liệu 
ban đầu bằng cách giữ lại m thành phần chính.
Tương tự [18], ta chia m thành phần chính thành 
r thành phần chính chủ yếu và m=p-q+1 thành 
phần chính thứ yếu. Từ kết quả nghiên cứu đã 
nêu ở phần 2, không nhất thiết phải tính khoảng 
cách cho toàn bộ các thành phần chính. Những dữ 
liệu bất thường có xu hướng xuất hiện ở những 
thành phần chính cuối cùng (thành phần chính 
thứ yếu). Theo cách này, ta chỉ cần quan sát dữ 
liệu ở các thành phần chính thứ yếu (miền con 
của PCA), qua đó giảm thiểu được lượng dữ liệu 
cần xử lý. Các kết quả ở phần thử nghiệm chứng 
minh phương pháp này vẫn bảo đảm độ chính xác 
cần thiết trong khi giảm thiểu được độ phức tạp, 
tăng được tốc độ xử lý.
Công thức tính khoảng cách để phát hiện dấu hiệu 
bất thường trong miền con PCA trong phương 
pháp dPCA được đề xuất như sau:
q
c
i i
i r
d w y
=
= ∑ (3)
trong đó: 1 r q p≤ < ≤ , wi là trọng số cho thành 
phần chính yi, d là độ lệch hình thành từ các thành 
phần chính yi và trọng số tương ứng wi, c là số 
mũ của yi. c là hằng số, có thể là số thực hoặc 
số nguyên. wi, c được lựa chọn dựa trên thực 
nghiệm.
Một giá trị ngưỡng dN được xác định dựa vào 
hàm phân bố tích lũy thực nghiệm của độ lệch d 
(empirical cumulative distribute function - ecdf) 
và được tính trên dữ liệu huấn luyện. Khi có một 
quan sát mới, giá trị d sẽ được tính dựa trên những 
tham số huấn luyện như sau:
Chuẩn hóa dữ liệu dựa trên giá trị trung bình và 
căn bậc hai của phương sai cho mỗi thuộc tính 
(biến đầu vào).
• Sử dụng vectơ riêng để chuyển mỗi quan sát 
mới sang các trục của miền con PCA.
• Tính giá trị d dựa trên công thức (3) và so sánh 
với ngưỡng đã thiết lập dN khi huấn luyện. Nếu 
d > dN, quan sát mới được coi là bất thường. 
Ngược lại quan sát đó được coi là bình thường. 
Phương pháp dPCA có thể hoạt động trong hai 
chế độ: bán giám sát và không giám sát. 
dPCA trong chế độ không giám sát không yêu cầu 
huấn luyện mà phát hiện trực tiếp với dữ liệu có 
được. Chế độ này có yêu cầu bổ sung là lượng dữ 
liệu bình thường phải lớn hơn nhiều so với lượng 
dữ liệu bất thường. Nếu điều này bị vi phạm sẽ 
không thể tạo được trạng thái bình thường của 
mạng để so sánh và phát hiện ra những sự khác 
biệt của các quan sát có dấu hiệu bất thường.
dPCA chế độ bán giám sát hoạt động theo hai pha:
• Pha huấn luyện (Training phase): Pha này 
hoạt động ngoạ ... ần thiết phải 
thực hiện tính cả hai khoảng cách và so sánh hai 
mức ngưỡng song song như trong nghiên cứu của 
Shyu [14].
Theo công thức (6), khi wi =1/ il , c = 1: Các kết 
quả phát hiện cũng tương đương như công thức 
(5) nhưng công thức (6) đơn giản hơn vì không 
phải tính bình phương cho mỗi thành phần chính 
trong d.
Theo công thức (7), khi wi =1/ il , c = 1: Các kết 
quả phát hiện cũng tương đương như công thức 
(5), (6) nhưng không phải tính căn bậc hai của trị 
riêng trong pha huấn luyện.
Theo công thức (8), khi wi = 1, c = 1: Đây là công 
thức đơn giản nhất nhưng kết quả phát hiện cũng 
tương đương như các công thức (4), (5), (6), (7) 
khi sử dụng các thành phần chính thứ yếu. Với 
k = 14, cũng giống như công thức (4), sự chênh 
lệch về giá trị của các thành phần chính làm giảm 
tỷ lệ TPR.
 Hình 1. Đồ thị ROC của d biểu diễn quan hệ giữa tỷ lệ FPR 
và TPR với dữ liệu huấn luyện sạch khi wi =1, c=1, k=3
Hình 1 là đồ thị ROC [23] với khoảng cách d biểu 
thị mối quan hệ giữa tỷ lệ cảnh báo sai (FPR) trên 
trục hoành và tỷ lệ cảnh báo đúng (TPR) trên trục 
tung khi w=1, c=1, k=3. Điểm hoàn hảo là điểm 
góc trên bên trái với tọa độ (0,1) khi TPR là 100% 
và FPR là 0%. Trên thực tế không thể đạt được 
kết quả như vậy. Việc lựa chọn điểm tối ưu rất 
khó thực hiện được vì điểm này liên tục thay đổi 
với lưu lượng mạng. Trong các thử nghiệm, bài 
báo lựa chọn mức ngưỡng cố định theo hàm phân 
bố tích lũy thực nghiệm với tỷ lệ sai số ước tính 
(FPR) trong khoảng 2-5%.
Từ kết quả thử nghiệm trên có thể thấy, trong điều 
kiện dữ liệu huấn luyện sạch, có thể lựa chọn các 
thành phần chính thứ yếu với k = 2 hoặc k = 3 để 
giảm số chiều dữ liệu. 
Khi dữ liệu huấn luyện của dPCA bán giám sát 
chứa ngoại lai, kết quả TPR rất thấp (bảng III). 
Số lượng kết nối trước khi loại bỏ ngoại lai là nhỏ 
hơn hoặc bằng 10000. Số lượng ngoại lai trong 
dữ liệu huấn luyện là 10% trên tổng số kết nối 
bình thường.Lưu ý là TPR cho biết khả năng phát 
hiện bất thường trên tổng số bất thường được thử 
nghiệm. Nếu khả năng phát hiện bất thường thấp 
sẽ làm cho hiệu quả của phương pháp đề xuất suy 
giảm. Ngoại lai làm ảnh hưởng đến các thông số 
huấn luyện và làm sai lệch kết quả phát hiện.
 Bảng III. Kết quả phát hiện của dPCA 
trước khi loại bỏ ngoại lai trong dữ liệu huấn luyện 
wi c k
PR
(%)
TPR
(%)
FPR 
(%) 
TA
(%)
1 2 3 98.9 4.66 1 35.7
1/ il 2 14 97.7 16.4 0.8 43.4
1/ il 1 14 98.2 16 0.6 43.2
 Bảng IV. Kết quả phát hiện và loại bỏ ngoại lai 
của dPCA ở chế độ không giám sát
wi c k
PR
(%)
TPR
(%)
FPR 
(%) 
TA
(%)
1/ il 2 14 50 100 11.1 90
1/ il 1 14 49.7 99.3 11.1 89.9
1/ il 1 14 49.3 98.6 11.2 89.7
Bảng IV thống kê tỷ lệ phát hiện với phương 
pháp dPCA chế độ không giám sát (trước khi 
huấn luyện) với mục đích chính là loại bỏ ngoại 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG
 Số 1 năm 2016 13
Nguyễn Hà Dương, Hoàng Đăng Hải
lai cho dữ liệu huấn luyện. Tất cả những ngoại 
lai phát hiện được sẽ bị loại bỏ tập dữ liệu huấn 
luyện của chế độ bán giám sát. Ngưỡng của d 
được đặt bằng 75% đến 80% của hàm phân bố 
tích lũy thực nghiệm. Chế độ không giám sát của 
dPCA vẫn có thể sử dụng để phát hiện bất thường 
khi cần thiết.
 Bảng V. Kết quả phát hiện của dPCA bán giám sát 
sau khi loại bỏ ngoại lai trong dữ liệu huấn luyện
wi c k
PR 
(%)
TPR
(%)
FPR 
(%) 
TA
(%)
1 2 3 78.9 99.1 5.1 95.6
1/ il 2 3 73.2 97.4 6.9 93.8
1/ il 2 14 78 100 5.4 95.4
1/ il 1 3 75.2 100 6.4 94.6
1/ il 1 3 84 98.3 3.6 96.7
1/ il 1 14 76.6 100 6 95
1 1 3 84.3 93.3 3.4 96.1
Bảng V là kết quả phát hiện của dPCA chế độ bán 
giám sát sau khi đã loại bỏ ngoại lai. Hình 3 là đồ 
thị ROC của d sau khi khử ngoại lai trong dữ liệu 
huấn luyện với dPCA chế độ không giám sát khi 
wi =1, c=1, k=3. 
 Hình 2. Đồ thị ROC của d sau khi khử ngoại lai với dPCA chế độ 
không giám sát trong dữ liệu huấn luyện với wi =1, c=1, k=3
Bảng VI thống kê kết quả phát hiện và loại bỏ 
ngoại lai bằng K-means. Bảng VII là kết quả phát 
hiện sau khi loại bỏ ngoại lai bằng K-means trong 
dữ liệu huấn luyện cho chế độ bán giám sát của 
dPCA. Hình 4 là đồ thị ROC của d sau khi khử 
ngoại lai trong dữ liệu huấn luyện với K-means 
khi wi = 1/li, c = 1, k = 3.
 Bảng VI. Kết quả phát hiện và loại bỏ ngoại lai 
bằng K-Means trong dữ liệu huấn luyện
Test PR(%) 
 TPR
(%)
FPR 
(%) 
 TA
(%)
1 42.1 100 15.2 86.3
2 39.6 100 16.9 84.8
3 44.2 98.5 14 87.4
4 30.5 100 25.3 77.1
5 34.7 83.5 17.5 82.6
 Bảng VII. Kết quả phát hiện của dPCA sau khi loại bỏ ngoại lai
 bằng K-Means trong dữ liệu huấn luyện
wi k
PR
(%)
TPR
(%)
 FPR
(%)
TA
(%)
2 3 79.7 100 15.7 90
2 3 77.5 100 18.3 88.8
2 14 77.7 100 18.1 88.88
1 3 79.8 100 15.6 90.3
1 14 79.6 84.3 13.4 85.7
1 3 91.8 100 5.6 96.6
1 14 86.4 100 9.9 93.9
1 3 77.8 97.5 17.5 88.3
 Hình 4. Đồ thị ROC của d sau khi khử ngoại lai dữ liệu huấn
luyện với K-means wi =1/ il , c=1, k=3
Sự chính xác của dPCA chế độ bán giám sát phụ 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG14 Số 1 năm 2016
PHÁT HIỆN LƯU LƯỢNG MẠNG BẤT THƯỜNG TRONG ĐIỀU KIỆN DỮ LIỆU HUẤN LUYỆN...
thuộc chất lượng dữ liệu huấn luyện bao gồm 
số lượng ngoại lai vẫn còn lẫn vào dữ liệu huấn 
luyện, mức độ biến thiên của lưu lượng mạng 
trong điều kiện bình thường và sự khác biệt giữa 
các kết nối bình thường với bất thường được tính 
trong d. Những kết quả thống kê ở trên đạt được 
trong điều kiện dữ liệu mạng bình thường khác 
biệt đáng kể với điều kiện bất thường. Tuy nhiên, 
có những khoảng thời gian sự khác biệt này bị 
thu hẹp làm cho kết quả phát hiện có sai số lớn. 
Bảng VIII là kết quả thống kê của dPCA với dữ 
liệu bình thường có đột biến trong một ngày với 
tập dữ liệu Kyoto Honeypot.
 Bảng VIII. Kết quả phát hiện của dPCA 
 khi dữ liệu bình thường có sự thay đổi đột biến
wi c k
PR
(%)
TPR
(%)
 FPR
(%)
TA
(%)
1 2 3 94.4 54.4 2 81.3
li/1 2 3 94.5 55.5 2 81.78
li/1 2 14 95 65.4 2.1 85.4
1/ il 1 3 94.3 53.9 2 81.2
1/ il 1 14 95.6 70.3 2 87.4
1 1 3 94.3 54 2 81.2
Kết quả bảng VIII cho thấy, tỷ lệ TPR của k = 
14 cao hơn k = 3. Lý do là vì bất thường trong 
trường hợp này không chỉ xuất hiện ở PC thứ yếu 
mà cả trong các thành phần chính khác. Do vậy 
bên cạnh dPCAL1, sử dụng dPCAL2 với nhiều 
thành phần chính hơn (k = 14) để phát hiện bất 
thường là cần thiết.
Để có kết quả TPR tốt hơn, ta có thể thay đổi mức 
ngưỡng với giá trị phù hợp với đồ thị ROC của d. 
Thí dụ với trường hợp wi=1/li, c=1, k=14 (đồ thị 
ROC ở Hình 5), nếu hạ mức ngưỡng xuống 95% 
hàm ecdf thì kết quả sẽ là PR = 91.8%, TPR = 91%, 
FPR = 5%, TA = 93.5%. Tương tự với trường hợp 
wi=1/ il , c=1, k=14 nếu hạ mức ngưỡng xuống 
92% của hàm ecdf thì kết quả sẽ là PR = 87.5%, 
TPR = 90.2%, FPR = 8%, TA = 91.3%.
Nhưng như đã trình bày ở phần trên, chọn mức 
ngưỡng phù hợp với điểm tối ưu giữa TPR và FPR 
là rất khó vì lưu lượng mạng thực tế làm cho điểm 
này thay đổi thường xuyên. Một mức ngưỡng cho 
kết quả tốt với thời điểm này lại không phù hợp 
với thời điểm khác. Một giải pháp cho vấn đề này 
là coi những dữ liệu bình thường gây ra đột biến 
lưu lượng cũng là ngoại lai. Từ đó, thay vì đặt lại 
mức ngưỡng cho d, có thể áp dụng phương pháp 
khử ngoại lai đã trình bày ở trên để làm sạch dữ 
liệu huấn luyện. 
Hinh 5. Đồ thị ROC của d với wi =1/ il , c=1, k=14
 Bảng IX. Kết quả phát hiện tốt hơn (TPR) của dPCA so với Bảng
VIII khi khử ngoại lai trong dữ liệu huấn luyện
wi c k
PR
(%)
TPR
(%)
 FPR
(%)
TA
(%)
1 2 3 81.2 92.6 13.2 89
1/ il 1 3 81.7 93.5 13 89.5
1/ il 1 14 79.7 83.9 13.2 85.7
li/1 1 3 86.6 99.8 9.5 94.1
li/1 1 14 80 93 14.4 88.5
1 1 3 80.1 91.8 14.1 88.17
Kết quả phát hiện của dPCA sau khi khử những 
ngoại lai này được thống kê Bảng IX. Như vậy, 
việc khử ngoại lai có thể áp dụng cho cả trường 
hợp dữ liệu bình thường nhưng gây ra sự thay đổi 
đột biến về lưu lượng hoặc không giống với đại 
đa số dữ liệu bình thường khác.
Các kết quả thử nghiệm cho thấy, việc áp dụng 
dPCA với dPCAL1 và dPCAL2 chấp nhận được 
trong thực tế. Đây không phải là những kết quả 
phát hiện tốt nhất mà phương pháp đề xuất đạt 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG
 Số 1 năm 2016 15
Nguyễn Hà Dương, Hoàng Đăng Hải
được nhưng các tác giả đưa vào bài báo để đảm 
bảo tính khách quan với sự thay đổi của lưu lượng 
mạng. Những biến động trong trạng thái bình 
thường của lưu lượng mạng và sự phức tạp của 
sự kiện bất thường, dPCAL1 có thể không phát 
hiện được hết những bất thường có thể xảy ra. Vì 
thế dPCAL2 là giải pháp hỗ trợ cho dPCAL1 khi 
bất thường xuất hiện tại những thành phần chính 
khác.
V. KẾT LUẬN
Các phương pháp phát hiện lưu lượng mạng bất 
thường khó và phức tạp hơn nhiều so với phương 
pháp phát hiện dựa trên dấu hiệu truyền thống do 
không biết trước mẫu dấu hiệu. Ngoài ra, có nhiều 
vấn đề thách thức như cần mô hình hóa trạng thái 
bình thường, trích chọn đặc trưng dữ liệu sao cho 
giảm độ phức tạp trong khi vẫn bảo đảm độ chính 
xác và tốc độ phát hiện, loại bỏ ngoại lai gây sai 
lệch trong dữ liệu huấn luyện. 
Kết quả nghiên cứu cho thấy có thể áp dụng thuật 
toán PCA cơ sở để chuyển dữ liệu sang miền con 
PCA nhằm giảm chiều dữ liệu nhằm khắc phục 
nhược điểm trên. Việc lựa chọn các thành phần 
chính chủ yếu và thứ yếu giúp giảm độ phức tạp, 
tăng được độ chính xác khi cần. Bài báo đã đề 
xuất phương pháp dPCA cải tiến từ PCA cơ sở 
với phương pháp tính khoảng cách mới là tổng 
hợp cho các công thức tính trước đây. Khi dữ liệu 
chuyển sang miền con PCA, dPCA có thể phát 
hiện một số loại ngoại lai hiệu quả hơn. dPCA 
dùng phương pháp tính khoảng cách mới để chọn 
đường cơ sở và phân cụm để khử ngoại lai trong 
dữ liệu huấn luyện. Kết quả thử nghiệm cho thấy 
sự thay đổi độ chính xác của phương pháp đề xuất 
với những tham số khác nhau của thuật toán tính 
khoảng cách cũng như số lượng thành phần chính 
tùy theo yêu cầu thực tế. Kết quả phân tích và 
thử nghiệm cũng cho thấy dPCA phát hiện được 
lưu lượng mạng bất thường trong điều kiện dữ 
liệu huấn luyện chứa ngoại lai. Đây cũng là một 
đóng góp của bài so với các công trình nghiên 
cứu trước đây.
TÀI LIỆU THAM KHẢO
[1]. M.Bhuyan, D.Bhattacharyya, J.Kalita, 
“Network anomaly detection: Methods, 
systems and tools,” IEEE Communications 
Surveys Tutorials, vol. 16, no. 1, pp. 303-
336, 2014
[2]. S. Myers, J. Musacchio, N. Bao, 
“Intrusion Detection Systems: A Feature 
and Capability Analysis,” Tech. Report 
UCSC-SOE-10-12, Jack Baskin School of 
Engineering, 2010.
[3]. K. Wankhade, S. Patka, R. Thool, “An 
Overview of Intrusion Detection Based on 
Data Mining Techniques,” Proc. of IEEE 
CSNT, 2013.
[4]. C. Kacha, K. A. Shevade, “Comparison of 
Different Intrusion Detection and Prevention 
Systems,” Intl. Journal of Emerging 
Technology and Advanced Engineering, vol. 
2, no.12, pp.243-245, 2012
[5]. A. Lakhina, M. Crovella, and C. Diot, 
“Diagnosing network-wide traffic 
anomalies,” Proc. of ACM SIGCOMM, pp. 
219–230, 2004
[6]. A. Patcha, J.M. Park, “An Overview of 
Anomaly Detection Techniques: Existing 
Solutions and Latest Technological Trends” 
The International Journal of Computer and 
Telecom-munications Networking, vol. 51, 
no. 12, pp. 3448-3470, Aug. 2007.
[7]. W. Zhang, Q. Yang, Y. Geng, “A Survey of 
Anomaly Detection Methods in Networks,” 
Proc. of International Symposium on 
Computer Network and Multimedia 
Technology, Jan. 2009, pp. 1–3.
[8]. M. Thottan, G. Liu, C. Ji, Anomaly Detection 
Approaches for Communication Networks: 
Algorithms for Next Generation Networks, G. 
Cormode, Ed. London: Springer, 2010, pp. 
239-261.
[9]. V. Jyothsna, V. V. Rama Prasad, K. M. 
Prasad, “A Review of Anomaly based 
Intrusion Detection Systems,” International 
Tạp chí KHOA HỌC CÔNG NGHỆ 
THÔNG TIN VÀ TRUYỀN THÔNG16 Số 1 năm 2016
PHÁT HIỆN LƯU LƯỢNG MẠNG BẤT THƯỜNG TRONG ĐIỀU KIỆN DỮ LIỆU HUẤN LUYỆN...
Journal of Computer Applications, vol. 28, 
no. 7, pp. 28-34, 2011.
[10]. A. Jain, B. Verma, J. L. Rana, “Anomaly 
Intrusion Detection Techniques: A Brief 
Review,” International Journal of Scientific 
& Engineering Research, vol. 5, no. 7, pp. 
17-23, 2014
[11]. Y. Bouzida. Efficient intrusion detection 
using principal component analysis. Proc. 
of 7th World Multiconference on Systemics, 
Cybernetics and Informatics, 2003.
[12]. A. Lakhina, M. Crovella, and C. Diot, 
“Mining anomalies using traffic feature 
distributions,” Proc. of ACM SIGCOMM, 
2005.
[13]. W. Wang and R. Battiti, “Identifying 
Intrusions in Computer Networks with 
Principal Component Analysis,” Proc. of 
IEEE ARES, 2006.
[14]. M. Shyu, S. Chen, K. Sarinnapakorn, L. 
Chang. Principal Componentbased Anomaly 
Detection Scheme. Foundations and Novel 
Approaches in Data Mining, vol. 9, pp. 311-
329, 2006.
[15]. D. Brauckhoff, K. Salamatian, M. May, 
“Applying PCA for Traffic Anomaly 
Detection: Problems and Solutions,” Proc. 
of IEEE INFOCOM, 2009.
[16]. L. Mechtri, F. D. Tolba, N. Ghoualmi, 
“Intrusion detection using principal 
component analysis,” Proc. of IEEE 
ICESMA, 2010.
[17]. L. Ertoz, E. Eilertson, A. Lazarevic, P. Tan, 
V. Kumar, and J. Srivastava, “Data Mining-
Next Generation Challenges and Future 
Directions,” MIT Press, 2004
[18]. Nguyễn Hà Dương, Hoàng Đăng Hải, “Phát 
hiện lưu lượng mạng bất thường sử dụng 
phương pháp PCA trong lựa chọn đặc tính 
dữ liệu,” Chuyên san các công trình nghiên 
cứu về điện tử, viễn thông và công nghệ 
thông tin, Tạp chí Khoa học công nghệ, Tập 
53, Số 2C, 2015, tr.52-64.
[19]. M. Tavallaee, E. Bagheri, W. Lu, A. A. 
Ghorbani. A Detailed Analysis of the KDD 
CUP 99 Data Set., Proc. of IEEE CISDA 
2009.
[20]. The KDD99 cup data, 
databases/kddcup 99/kddcup99.html, 1999.
[21]. The NSL-KDD data, 
nsl-kdd, 2009.
[22]. J. Song, H. Takakura, Y. Okabe, “Description 
of Kyoto University Benchmark Data,” 2006, 
pp. 1-3. ( kura.com/Kyoto 
data/BenchmarkData-Description-v5.pdf).
[23]. https://vi.wikipedia.org/wiki/Duong_cong_
ROC
NETWORK TRAFFIC ANOMALY 
DETECTION |WITH OUTLIER 
IN TRAINING DATA
Abstract: Network traffic anomaly detection 
has many challenges: adjust threshold, extract 
data features, reduce data dimension, precision 
parameters, etc. Besides that, outliers can 
significantly impact the performance of detection. 
This paper describes the issues of network traffic 
anomaly detection with outliers in training 
data and proposes an enhanced method (called 
dPCA) based on principal component analysis 
algorithm. The experiment was evaluated witth 
Kyoto Honeypot dataset.
Nguyễn Hà Dương, KS (2001), ThS. (2003) tại 
ĐH Bách Khoa Hà Nội. Giảng viên Khoa CNTT, 
Trường ĐH Xây dựng Hà Nội. Lĩnh vực nghiên 
cứu: Mạng và hệ thống thông tin, an ninh 
mạng, viễn thông.
Hoàng Đăng Hải, PGS.TSKH., TS. (1999), TSKH. 
(2003) tại Đại học Tổng hợp Kỹ thuật Ilmenau, 
CHLB Đức. Học viện Công nghệ Bưu chính Viễn 
thông. Lĩnh vực nghiên cứu: Chất lượng dịch 
vụ, giao thức truyền thông, hiệu năng mạng, 
mạng và hệ thống thông tin, an ninh mạng, 
viễn thông.

File đính kèm:

  • pdfphat_hien_luu_luong_mang_bat_thuong_trong_dieu_kien_du_lieu.pdf