HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
NGUYỄN HÀ DƢƠNG
NGHIÊN CỨU ĐỀ XUẤT PHƢƠNG PHÁP
PHÂN TÍCH VÀ PHÁT HIỆN LƢU LƢỢNG
BẤT THƢỜNG TRÊN MẠNG INTERNET
LUẬN ÁN TIẾN SĨ KỸ THUẬT
v24: 11/10 Sửa theo ý kình so sánh tổng thông lượng đạt được của 3 luồng để lý
giải thời gian bù trong t/h 3 dài hơn t/h 2 là do lost packet?
10/4: Sửa theo ý kiến phản biện độc lập (PBĐL) 1.
Hà Nội – 2017
v28, 16/5/2013: Sửa theo ý kiến lần 1 của PBĐL 2: Bổ sung thêm phụ lục về mô
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
NGUYỄN HÀ DƢƠNG
NGHIÊN CỨU ĐỀ XUẤT PHƢƠNG PHÁP
PHÂN TÍCH VÀ PHÁT HIỆN LƢU LƢỢNG
BẤT THƢỜNG TRÊN MẠNG INTERNET
Chuyên ngành: Kỹ thuật viễn thông
Mã số: 62.52.02.08
LUẬN ÁN TIẾN SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TSKH. HOÀNG ĐĂNG HẢI
Hà Nội – 2017
i
LỜI CAM ĐOAN
Tôi xin cam đoan luận án “Nghiên cứu đề xuất phƣơng pháp phân tích và
phát hiện lƣu lƣợng bất thƣờng trên mạng Internet” là công trình nghiên cứu của
tôi, trừ những kiến thức tham khảo từ các tài liệu đã được chỉ rõ.
Các kết quả, số liệu nêu trong luận án là trung thực, một phần đã được công bố
trên các tạp chí khoa học chuyên ngành, phần còn lại chưa được công bố trong bất kỳ
công trình nào khác.
Tác giả
Nguyễn Hà Dƣơng
ii
LỜI CẢM ƠN
Luận án Tiến sĩ kỹ thuật này được thực hiện tại Học viện Công nghệ Bưu chính
Viễn thông. Tác giả xin chân thành cảm ơn PGS. TSKH. Hoàng Đăng Hải đã tận tình
hướng dẫn, giúp đỡ tôi trong suốt quá trình nghiên cứu. Thầy đã có rất nhiều ý kiến
quan trọng về hướng nghiên cứu để tôi hoàn thành được luận án này.
Tôi xin chân thành cảm ơn các thày cô của Học viện Công nghệ Bưu chính Viễn
thông, Khoa Quốc tế và Đào tạo Sau đại học, Khoa Viễn thông, Khoa Công nghệ
thông tin trong quá trình học tập, nghiên cứu tại Học viện.
Tôi trân trọng cảm ơn Bộ môn Kỹ thuật hệ thống, Khoa Công nghệ thông tin,
Trường Đại học Xây dựng đã tạo điều kiện thuận lợi, giúp đỡ tôi trong quá trình
nghiên cứu, hoàn thành luận án.
Tôi xin bày tỏ sự biết ơn sâu sắc tới bố mẹ tôi, vợ tôi, tới gia đình và bạn bè đã
động viên, giúp đỡ, tạo mọi điều kiện thuận lợi cho tôi hoàn thành luận án này.
Hà nội, tháng năm
Nghiên cứu sinh
iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC THUẬT NGỮ VIẾT TẮT vii
DANH MỤC CÁC KÝ HIỆU ix
DANH MỤC CÁC HÌNH VẼ x
DANH MỤC CÁC BẢNG xii
MỞ ĐẦU 1
1. Yêu cầu kiểm soát lưu lượng mạng Internet 1
2. Lưu lượng mạng bất thường và nhu cầu phát hiện 3
a. Khái niệm về lưu lượng mạng bất thường 3
b. Nguyên nhân gây ra lưu lượng mạng bất thường 4
c. Vấn đề phân tích và phát hiện lưu lượng mạng bất thường 6
d. Phạm vi luận án 7
3. Những đóng góp chính của luận án 8
4. Cấu trúc của luận án 10
CHƢƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 11
1.1. Thu thập lưu lượng mạng Internet 11
1.1.1. Các đặc tính của lưu lượng mạng 11
1.1.2. Các phương pháp thu thập lưu lượng Internet 14
1.1.2.1. Thu thập mức gói tin 14
1.1.2.2. Thu thập mức luồng tin 15
1.2. Tổng quan về các phương pháp, mô hình phân tích và phát hiện lưu lượng bất thường 15
1.2.1. Nhóm dựa vào thống kê 15
1.2.2. Nhóm dựa vào khai phá dữ liệu và học máy 17
1.2.3. Nhóm dựa vào tri thức 20
1.2.4. Tóm tắt ưu nhược điểm của các nhóm phương pháp 20
1.3. Phương pháp phân tích và phát hiện lưu lượng bất thường dựa trên PCA 22
1.3.1. Cơ sở của phương pháp PCA 22
iv
1.3.1.1. Dữ liệu và tham số trong miền con PCA 22
1.3.1.2. Vấn đề giảm chiều dữ liệu với PCA 26
1.3.1.3. Phân tích và phát hiện bất thường với PCA 28
1.3.2. Các phương pháp phân tích và phát hiện lưu lượng bất thường điển hình dựa trên PCA 30
1.3.2.1. Lựa chọn các thành phần chính 30
1.3.2.2. Tính khoảng cách thống kê 36
1.3.2.3. Vấn đề lựa chọn tập dữ liệu mẫu 39
1.4. Nhận xét, đánh giá 40
1.5. Kết luận chương 1 41
CHƢƠNG 2 PHƢƠNG PHÁP PHÂN TÍCH VÀ PHÁT HIỆN LƢU LƢỢNG BẤT THƢỜNG dPCA 43
2.1. Mở đầu 43
2.2. Mô hình hệ thống phân tích và phát hiện lưu lượng bất thường dựa trên PCA 43
2.3. Công thức tính khoảng cách thống kê trong phân tích và phát hiện lưu lượng bất 44 thường
2.3.1. Khoảng cách Euclidean và bình phương khoảng cách Euclidean 45
2.3.2. Bình phương khoảng cách Euclidean có trọng số 45
2.3.3. Khoảng cách Mahalanobis 46
2.3.4. Khoảng cách Manhattan 47
2.3.5. Khoảng cách Minkowski 47
2.4. Công thức Minkowski bổ sung trọng số trong miền con PCA 48
2.4.1. So sánh cách tính khoảng cách trong các phương pháp PCA điển hình trước đây với công thức đề xuất 49
49
2.4.1.1. Phương pháp phân tích phần dư 2.4.1.2. Phương pháp sử dụng thống kê T2 50
2.5. Phương pháp dPCA CT7, CT8] 50
2.5.1. Lựa chọn các tham số để tính khoảng cách trong dPCA 51
2.5.2. Sự phân cấp của dPCA 53
2.5.3. Thiết lập mức ngưỡng 55
2.5.4. Quá trình tạo profile và phát hiện bất thường trong dPCA 56
2.6. Thử nghiệm, đánh giá kết quả 60
v
2.6.1. Các sự kiện và thông số đánh giá độ chính xác 60
2.6.2. Đồ thị ROC 61
2.6.3. Lựa chọn tập dữ liệu thử nghiệm 62
2.6.4. Kịch bản thử nghiệm cho dPCA 64
2.6.5. Thử nghiệm, đánh giá phương pháp dPCA 65
2.6.5.1. Kết quả thử nghiệm dPCA1T với các tham số khác nhau 65
2.6.5.2. Thử nghiệm dPCA hai mức ngưỡng (dPCA2T) 79
2.7. Kết luận chương 2. 82
CHƢƠNG 3 PHƢƠNG PHÁP KHỬ NGOẠI LAI TRONG TẬP DỮ LIỆU MẪU 84
3.1. Vấn đề khử ngoại lai trong tập dữ liệu mẫu 84
3.2. Phương pháp phát hiện và khử ngoại lai bằng udPCA [CT8] 85
3.3. Phương pháp phát hiện và khử ngoại lai bằng K-Means [CT4, CT5, CT8] 87
3.3.1. Khái niệm về phân cụm dữ liệu 87
3.3.2. Thuật toán phân cụm K-Means cơ bản 88
3.3.3. Phát hiện ngoại lai dựa trên K-means 89
3.3.4. Các bước phát hiện và khử ngoại lai trong tập dữ liệu mẫu với K-means 91
3.4. Thử nghiệm phát hiện và khử ngoại lai 92
3.4.1. Kịch bản thử nghiệm 92
3.4.2. Khả năng phát hiện ngoại lai của udPCA và K-means 92
3.4.3. Thử nghiệm dPCA khi đã khử ngoại lai trong tập dữ liệu mẫu 94
3.4.3.1. Thử nghiệm với dPCA1T 94
3.4.3.2. Thử nghiệm với dPCA2T 99
3.5. Đánh giá khả năng phát hiện ngoại lai của udPCA 100
3.6. Kết luận chương 3 102
CHƢƠNG 4 HỆ THỐNG GIÁM SÁT VỚI PHƢƠNG PHÁP PHÁT HIỆN LƢU 104 LƢỢNG BẤT THƢỜNG
4.1. Mở đầu 104
4.2. Kiến trúc hệ thống giám sát 104
4.2.1. Phạm vi thu thập dữ liệu 104
4.2.2. Kiến trúc tổng thể hệ thống giám sát 105
4.2.3. Máy trinh sát 106
vi
4.2.4. Trung tâm phân tích, phát hiện và cảnh báo 109
4.3. Nhận dạng, phân loại bất thường và khả năng kết hợp phát hiện lưu lượng bất thường với phát hiện tấn công mạng dựa trên mẫu dấu hiệu. 111
4.4. Mô hình kết hợp phát hiện bất thường với phát hiện xâm nhập dựa trên tập mẫu 112 dấu hiệu
4.5. Mô phỏng thử nghiệm phát hiện tấn công của dPCA 114
4.5.1. Tập dữ liệu thử nghiệm 114
4.5.2. Mô phỏng, thử nghiệm phát hiện bất thường và một số loại tấn công 116
4.6. Kết luận chương 4 118
KẾT LUẬN VÀ KHẢ NĂNG PHÁT TRIỂN TIẾP 120
DANH MỤC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ 123
TÀI LIỆU THAM KHẢO 124
vii
DANH MỤC THUẬT NGỮ VIẾT TẮT
Từ viết Tiếng Anh Tiếng Việt tắt
CDF Cumulative distribution function) Hàm phân bố tích lũy
DNS Domain Name System Hệ thống tên miền
Phương pháp phân tích và phát Distance-based anomaly detection dPCA hiện bất thường đề xuất của method in PCA subspace luận án
Distance-based anomaly detection Phương pháp dùng 1 mức dPCA1T method in PCA subspace using 1 ngưỡng threshold
Distance-based anomaly detection Phương pháp dùng 2 mức dPCA2T method in PCA subspace using 2 ngưỡng threshold
Empirical cumulative distribution Hàm phân bố tích lũy thực ECDF nghiệm function
Trung bình dịch chuyển trọng EWMA Exponential Weighted Moving Average số theo hàm mũ
Giao thức Internet (Internet Protocol) IP
Internet Service Provider Nhà cung cấp dịch vụ Internet ISP
Hệ thống phát hiện tấn công IDS Intrusion Detection System xâm nhập
Knowledge Discovery and Datamining Khoa học về dữ liệu KDD
Local Area Network Mạng cục bộ LAN
Principal Component Thành phần chính PC
Principal Component Analysis Phân tích thành phần chính PCA
Receiver Operating Curve Đồ thị biểu diễn dự đoán ROC
SNMP Simple Network Management Protocol Giao thức quản lý mạng
viii
SVD Singular value decomposition
SVM Support Vector Machine Vector máy hỗ trợ
TCP Transmission Control Protocol Giao thức điều khiển truyền tin
Giao thức truyền dữ liệu của UDP User Datagram Protocol người dùng
Phương pháp phát hiện và khử udPCA Uncleaned dPCA ngoại lai được đề xuất
VLAN Virtual Local Area Network Mạng cục bộ ảo
VPN Virtual Private Network Mạng riêng ảo
WAN Wide Area Network Mạng diện rộng
ix
DANH MỤC CÁC KÝ HIỆU
Ký hiệu Ý nghĩa
Số mũ trong công thức tính khoảng cách của dPCA c
Ma trận tương quan C
Khoảng cách thống kê d
Mức ngưỡng khoảng cách của phương pháp dPCA
Vector riêng
Ma trận vector riêng dN ei E
Số thành phần chính được lựa chọn k
Số cụm trong K-means K
Số thuộc tính ban đầu
Thống kê T bình phương p T2
Trọng số trong công thức tính khoảng cách của dPCA
Các thuộc tính (biến) ban đầu
Ma trận dữ liệu thuộc tính ban đầu wi xi X
Giá trị của thành phần chính
Ma trận giá trị thành phần chính yi Y
Biến ban đầu sau khi chuẩn hóa
zi Z
Ma trận của zi sau khi chuẩn hóa Sai số ước lượng theo hàm phân bố tích lũy thực nghiệm α
Tỷ lệ biến thiên của các thành phần chính tính theo trị riêng β
Khoảng cách thống kê
Khoảng cách Euclidean Euclid
Khoảng cách Euclidean trọng số
wEuclid Mahalanobis Khoảng cách Mahalanobis
Khoảng cách Manhattan
Thống kê khi bình phương (chi-square) Manhattan 2
Trị riêng i
µ Giá trị trung bình
x
DANH MỤC CÁC HÌNH VẼ
Hình A Kiến trúc phân lớp của mạng IP. 1
Hình B Sơ đồ mạng và các điểm do lưu lượng trên tuyến kết nối 2
Hình C Biểu diễn các tập dữ liệu bình thường và bất thường thu được từ mạng 3
Hình D Quá trình phân tích, phát hiện và xử lý lưu lượng bất thường 5
Hình 1.1. PCA trong mặt ph ng 2D (2 thành phần chính). 26
Hình 1.2. Đồ thị Scree 27
Hình 1.3. Tỷ lệ biến thiên tập trung ở 4 PC đầu 29
Hình 1.4. Xung bất thường trong lưu lượng thể hiện ở một PC 30
Hình 1.5. Phát hiện bất thường bằng cách theo dõi từng thành phần chính 32
Hình 1.6. Phát hiện bất thường dựa trên phân tích phần dư và thống kê T2 38
Hình 2.1. Mô hình chung hệ thống phân tích và phát hiện lưu lượng
bất thường dựa trên PCA 43
Hình 2.2. Khoảng cách Euclidean và Manhattan trong không gian 2 chiều 47
Hình 2.3. Phân cấp trong phương pháp dPCA 54
Hình 2.4. Tạo profile trong dPCA 58
Hình 2.5. Phát hiện bất thường trong dPCA 59
Hình 2.6. Đồ thị ROC 62
Hình 2.7. TP khi thay đổi số lượng PC của nhóm 3 với tập 1 67
Hình 2.8. Số kết nối bất thường phát hiện đúng của tập 1 67
Hình 2.9. Số kết nối bình thường phát hiện đúng của tập 1 68
Hình 2.10. Một số đồ thị ROC của d với tập dữ liệu 1 70
Hình 2.11. Số kết nối bất thường phát hiện đúng của tập 2 71
Hình 2.12. Số kết nối bình thường phát hiện đúng của tập 2 72
Hình 2.13. Số kết nối bất thường phát hiện đúng của tập 3 72
Hình 2.14. Số kết nối bình thường phát hiện đúng của tập 3 73
Hình 2.15. Số kết nối bất thường phát hiện đúng của tập 4 73
Hình 2.16. Số kết nối bình thường phát hiện đúng của tập 4 74
Hình 2.17. Một số đồ thị ROC của d với tập dữ liệu 2,3,4 75
xi
Hình 2.18. Số kết nối bất thường phát hiện đúng của tập 5 77
Hình 2.19. Số kết nối bình thường phát hiện đúng của tập 5 78
Hình 2.20. Đồ thị ROC của d với tập dữ liệu 5 nhóm 2 (c =2, wi = ) 78
Hình 3.1. Quá trình tạo profile của dPCA có khử ngoại lai cho tập dữ liệu mẫu 85
Hình 3.2. Quá trình phát hiện ngoại lai của udPCA 86
Hình 3.3. Cụm bình thường và cụm chứa ngoại lai khi K =2 90
Hình 3.4. Phát hiện ngoại lai dựa trên khoảng cách tối đa 90
Hình 3.5. Kết hợp phân cụm và khoảng cách tối đa để phát hiện ngoại lai 91
Hình 3.6 Đồ thị ROC của d (dPCA) sau khi khử ngoại lai (tập dữ liệu 1) 96
Hình 3.7 Đồ thị ROC khi áp dụng dPCA với tập dữ liệu 5 (tập mẫu sạch) 98
Hình 3.8 Đồ thị ROC (dPCA) sau khi khử ngoại lai lai (tập dữ liệu 5) 99
Hình 4.1. Mạng nội bộ doanh nghiệp có kết nối ra Internet 105
Hình 4.2. Kiến trúc tổng thể hệ thống giám sát 105
Hình 4.3. Cấu trúc thiết bị trinh sát 106
Hình 4.4. Hệ thống phần mềm trinh sát 108
Hình 4.5. Một số sự kiện thu được tại trung tâm giám sát 110
Hình 4.6. Mô hình kết hợp phát hiện bất thường và mẫu dấu hiệu 113
xii
DANH MỤC CÁC BẢNG
Bảng A Các nguyên nhân điển hình gây ra lưu lượng bất thường
5
Bảng 1.1. Một ví dụ về dữ liệu thuộc tính 12
Bảng 2.1. Thuộc tính dùng trong thử nghiệm của tập dữ liệu Kyoto Honeypot 64
Bảng 2.2. Các tập dữ liệu thử nghiệm cho dPCA1T và dPCA2T 65
Bảng 2.3. Thử nghiệm dPCA1T với tập 1 68
Bảng 2.4. Thử nghiệm dPCA1T với tập dữ liệu 2,3,4 70
Bảng 2.5. Thử nghiệm dPCA1T với tập dữ liệu 5 76
Bảng 2.6. Thử nghiệm dPCA2T với các tham số PC chủ yếu 79
Bảng 2.7. Thử nghiệm dPCA2T với tập dữ liệu 1, 2, 3, 4, 5 80
Bảng 3.1. Các tập dữ liệu thử nghiệm 92
Bảng 3.2. Kết quả phát hiện ngoại lai bằng udPCA 93
Bảng 3.3. Kết quả phát hiện ngoại lai bằng K-Means 93
Bảng 3.4. Kết quả dPCA1T trước khi loại bỏ ngoại lai với tập dữ liệu 1 94
Bảng 3.5. Kết quả dPCA1T sau khi loại bỏ ngoại lai với tập dữ liệu 1 94
Bảng 3.6. Kết quả của dPCA1T sau khi khử ngoại lai với tập dữ liệu 2,3,4 96
Bảng 3.7. Kết quả phát hiện của dPCA1T với tập dữ liệu mẫu sạch (tập 5) 98
Bảng 3.8. Kết quả phát hiện của dPCA1T sau khi khử ngoại lai với tập 5 98
Bảng 3.9. Kết quả của dPCA2T sau khi khử ngoại lai với tập 1, 2, 3, 4, 5 99
Bảng 3.10. Kết quả phát hiện bất thường của udPCA 101
Bảng 4.1. Thuộc tính dùng trong thử nghiệm của tập dữ liệu NSL-KDD 115
Bảng 4.2. Kết quả phát hiện của dPCA1T với một số loại tấn công 117
1
MỞ ĐẦU
1. Yêu cầu kiểm soát lƣu lƣợng mạng Internet
Mạng Internet đã có sự phát triển vượt bậc trong những năm qua và trở thành nền
tảng không thể thiếu được trong mọi lĩnh vực của đời sống. Về mặt công nghệ, mạng
Internet dựa trên nền tảng mạng chuyển mạch gói sử dụng giao thức Internet Protocol
(IP) ở lớp mạng. Hạ tầng mạng bao gồm nhiều loại công nghệ khác nhau như mạng
Ethernet, mạng di động các thế hệ 2G/3G/4G,... Trên lớp mạng IP là vô số các dịch vụ
và ứng dụng mạng đa dạng khác nhau. Hình A biểu thị sự phát triển đa dạng của hạ
tầng và các dịch vụ/ứng dụng mạng trên cơ sở nền tảng một giao thức IP duy nhất. Lý
do cơ bản nhất của kiến trúc này là tạo thành tính mở của Internet, cho phép kết nối
mọi hạ tầng mạng, mọi liên kết chia sẻ dịch vụ/ứng dụng khi sử dụng IP. Điều này đã
tạo điều kiện thuận lợi cho Internet phát triển mạnh mẽ trong những năm qua, tạo điều
kiện cho các loại hình truyền thông người - người, người - máy, máy - người và mới
đây nhất là giữa máy và máy.
WWW, Email, Facebook, Blogs, File management, other Applications,.. ,...
HTTP, PPP, P2P, SIP, SNMP, ,... TCP, UDP, SCTP,...
IP
Ethernet, WLAN, GSM, 3G/4G,...
Wired, Wireless, Radio, Fiber,...
Hình A. Kiến trúc phân lớp của mạng IP.
Tuy nhiên, chính tính mở và sự đa dạng về hạ tầng và dịch vụ/ứng dụng đã làm
cho khả năng kiểm soát mạng Internet khó khăn hơn nhiều. Người dùng mạng Internet
khó nhận biết được đang sử dụng những hạ tầng mạng nào, khó nhận biết được chính
xác loại dịch vụ/ứng dụng nào đang được sử dụng trên mạng. Mặt khác, rất khó kiểm
2
soát được lưu lượng ra/vào mạng Internet. Sự cố hạ tầng mạng, sự thay đổi môi trường
truyền dẫn, thay đổi trong cấu hình thiết bị, những hoạt động truy cập mạng của
người dùng, số lượng các dịch vụ/ứng dụng với các đặc tính lưu lượng biến thiên đa
dạng khác nhau được sử dụng, ... và kể cả các hành vi rà quét, trinh sát, do thám, tấn
công mạng,... đều có thể tạo nên những biến động bất thường trong lưu lượng mạng.
Việc đo lường, kiểm soát, phát hiện nhanh lƣu lƣợng mạng bất thƣờng là điều hết
sức cần thiết, có ý nghĩa quan trọng đối với nhà quản trị mạng, vận hành mạng.
Hình B là sơ đồ mạng với các điểm đo lưu lượng trên các tuyến kết nối (link).
Hình B. Sơ đồ mạng và các điểm do lưu lượng trên tuyến kết nối
Kiểm soát lưu lượng và đặc biệt là 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 những năm qua. Theo sơ đồ trên hình B,
người quản trị mạng có thể đặt các đầu đo lưu lượng tại các tuyến kết nối hoặc tại các
nút để thu thập lưu lượng. Trên cơ sở đó, người quản trị mạng có thể phân tích lưu
lượng, phát hiện bất thường trong lưu lượng mạng để có thể kiểm soát lưu lượng tốt
hơn. Ví dụ, điều chỉnh lưu lượng trên các tuyến để giảm tắc nghẽn mạng gây ra bới
những đột biến về lưu lượng, khắc phục sự cố tạm thời về hạ tầng mạng, sự cố tuyến
kết nối hay những thay đổi cấu hình thiết bị gây ra. Đặc biệt hơn, phân tích và phát
hiện lưu lượng mạng bất thường cũng giúp quản trị mạng sớm phát hiện được tấn công
mạng, điển hình như tấn công tràn ngập băng thông, tràn lưu lượng, tấn công từ chối
dịch vụ. Vấn để kiểm soát lưu lượng mạng, cụ thể là phân tích, phát hiện lưu lượng
mạng bất thường rất cần thiết trong thực tế.
3
2. Lƣu lƣợng mạng bất thƣờng và nhu cầu phát hiện
a. Khái niệm về lƣu lƣợng mạng bất thƣờng
Theo [4, 11, 24], "bất thường" được định nghĩa là "sự sai lệch hoặc vượt ra khỏi
phạm vi một thủ tục, quy tắc hoặc khuôn dạng bình thường". Ngoại lai (outlier) được
coi là “bất thường” đã được cộng đồng toán học-thống kê nghiên cứu từ khá sớm [28,
4, 32]. Bất thường được hiểu là những dữ liệu không tuân thủ một chuẩn mực xác định
trước của một tập dữ liệu bình thường.
Như đã giới thiệu ở phần 1, thu thập dữ liệu về lưu lượng mạng là một việc cần
thiết và thường xuyên của hoạt động vận hành, khai thác và quản trị mạng. Lưu lượng
mạng thu thập được có thể bao gồm cả dữ liệu bình thường và bất thường. Dữ liệu lưu
lượng bình thường (có thể chứa lượng nhỏ bất thường) chứng tỏ mạng hoạt động ổn
định, tin cậy theo thiết kế. Dữ liệu lưu lượng bất thường chứng tỏ có vấn đề xảy ra trên
mạng liên quan đến sự cố và biến đổi bất thường của lưu lượng mạng.
Hình C. Biểu diễn các tập dữ liệu bình thường và bất thường thu được từ mạng
trên hệ tọa độ hai chiểu 24].
Hình C là ví dụ về dữ liệu bình thường và dữ liệu bất thường thu được từ mạng,
được biểu diễn theo hệ tọa độ hai chiều. Các tập dữ liệu bình thường là N1 và N2 chứa
đa số dữ liệu, các điểm dữ liệu O1, O2 và dữ liệu trong tập nhỏ O3 là bất thường.
Lưu lượng mạng bất thường (sau đây gọi tắt là lưu lượng bất thường) là lưu
lượng của những luồng tin không tuân theo ứng xử, hành vi thông thường. Luồng
tin được hiểu là luồng dữ liệu có chung một số thuộc tính, được vận chuyển có hướng
từ nút (địa chỉ) nguồn đến nút (địa chỉ) đích (cụ thể là địa chỉ IP).
4
Sự biến đổi bất thường này có thể do nhiều nguyên nhân như: hỏng hóc thiết bị
mạng, lỗi đường truyền, lỗi cấu hình, tăng đột ngột số lượng truy nhập của khách
hàng, các hoạt động tấn công của tin tặc, phát tán thư rác, sâu máy tính, v.v.. (xem
phần b). Bất thường trong lưu lượng mạng thể hiện những sự kiện ảnh hưởng đến tính
sẵn sàng và hiệu năng của mạng [33, 36], nghĩa là những sự kiện gây tổn hại đến hệ
thống, thiết bị và dịch vụ mạng .. mà người vận hành, quản trị mạng cần quan tâm.
Xét theo mô hình phân lớp TCP/IP, bất thường có thể xuất hiện tại bất kỳ lớp nào.
Ví dụ: tại lớp vật lý do cáp quang bị đứt, giao diện mạng bị hỏng; tại lớp mạng do lỗi
cấu hình định tuyến; tại lớp ứng dụng do người dùng, do bị tin tặc tấn công vào hệ
thống tên miền, khai thác lỗ hổng cơ sở dữ liệu và ứng dụng, v.v… Một số bất thường
có thể gây ra đột biến tại nhiều lớp [36, 20, 17].
Thực tế, một bất thường hay xảy ra chỉ ở một lớp, song có thể ảnh hưởng sang lớp
khác. Ví dụ, một bất thường xảy ra ở lớp vật lý, đơn cử do đứt cáp quang hay nhiễu
kênh ch ng hạn. Bất thường này sẽ lan tỏa và có tác động trực tiếp vào biến đổi lưu
lượng mạng ở lớp cao hơn, ví dụ lớp ứng dụng. Nếu người quản trị mạng phát hiện
sớm được, lưu lượng mạng sẽ được tái định tuyến để tránh tuyến bị lỗi, nhiễu nhằm
khôi phục lại lưu lượng bình thường của ứng dụng. Mặt khác, một bất thường ở lớp
cao cũng có thể gây ra gián đoạn ở lớp vật lý. Ví dụ tấn công của sâu Nimda gây ra lưu
lượng bất thường ở lớp ứng dụng, có thể gây ra biến động lớn ở lưu lượng lớp mạng và
ảnh hưởng đến lưu lượng của các ứng dụng khác [36]. Vì vậy để phát hiện bất thường
tại mỗi lớp đều cần có những thuộc tính mô tả đặc trưng cho lớp đó.
Mặt khác, theo mô tả trên hình A với lớp IP là xuyên suốt, mọi bất thường đều có
thể biểu hiện qua bất thường ở lưu lượng lớp mạng. Do vậy, lưu lượng mạng bất
thường được phân tích chủ yếu dựa vào mô tả dữ liệu thuộc tính tại lớp mạng, điều
này có ý nghĩa quan trọng hơn đối với quản trị mạng, vì xét bất thường cho từng ứng
dụng ở tầng trên sẽ phải xét thêm nhiều dữ liệu đặc trưng của từng ứng dụng khác
nhau sẽ làm tăng độ phức tạp của hệ thống phát hiện và khó khả thi trong thực tiễn.
b. Nguyên nhân gây ra lƣu lƣợng mạng bất thƣờng
5
Bất thường xảy ra có thể do nhiều nguyên nhân. Bảng A liệt kê những nguyên
nhân điển hình nhất gây ra sự kiện bất thường trong lưu lượng mạng.
Bảng A. Các nguyên nhân điển hình gây ra lưu lượng bất thường
Nguyên nhân
Sự cố hệ thống
Tắc nghẽn mạng
Tăng đột biến do truy nhập người dùng
Hành vi quét thăm dò mạng, tấn công mạng
Mô tả Lỗi thiết bị, lỗi đường truyền, lỗi tuyến kết nối dẫn đến tăng/giảm lưu lượng đột biến (giảm ở tuyến có lỗi, tăng ở tuyến khác), có thể do lỗi định tuyến, tái định tuyến, v.v… Mạng, tuyến truyền bị quá tải do gửi quá nhiều gói tin. Lưu lượng tăng đột biến ở từng tuyến kết nối. Số lượng truy nhập của người dùng quá nhiều vào một trang web, một máy chủ, v.v… Lưu lượng tăng đột biến ở từng tuyến kết nối. Quét thăm dò, tấn công từ chối dịch vụ làm tràn ngập băng thông gây ra. Tấn công của sâu Internet, mã độc gây đột biến trong lưu lượng mạng ở từng tuyến kết nối. Để xác định nguyên nhân và xử lý, việc đầu tiên cần thực hiện là thu thập dữ liệu
về lưu lượng mạng, tiến hành phân tích và phát hiện dấu hiệu bất thường. Khi phát
hiện có dấu hiệu bất thường, bước tiếp theo là phân loại nguồn gốc, xác định nguyên
nhân. Bước cuối cùng là xử lý các bất thường căn cứ theo nguyên nhân. Các giai đoạn
Sự cố hệ thống
Sửa lỗi, tái định tuyến, điều chỉnh lại hệ thống
Cân bằng tải, điều chỉnh lại hệ thống
Tắc nghẽn mạng
Cân bằng tải, tái hiệu chỉnh cung cấp dịch vụ
Do người dùng
Phân loại nguồn gốc, xác định nguyên nhân
Do tấn công, thăm dò mạng
Phân tích, phát hiện lưu lượng bất thường: - Thu thập dữ liệu lưu lượng mạng. - Tiền xử lý. - Trích chọn dữ liệu. - Phân tích, phát hiện.
Tiếp tục phân tích loại tấn công để có biện pháp ngăn chặn phù hợp (ví dụ cập nhật tập luật tường lửa…),
trong quá trình phân tích, phát hiện và xử lý bất thường được mô tả trên hình D.
Hình D. Quá trình phân tích, phát hiện và xử lý lưu lượng bất thường
6
Như đã mô tả trên hình, việc xác định nguyên nhân, nguồn gốc của bất thường hết
sức phức tạp do tính đa dạng của nhóm các nguyên nhân gây ra bất thường, đồng thời
các biện pháp xử lý cần cụ thể và phù hợp với nguyên nhân. Phân tích và phát hiện
bất thường là giai đoạn quan trọng nhất trong toàn bộ quá trình và là trọng tâm
trong bài luận án này. Mặc dù tách riêng với các giai đoạn khác, song giai đoạn phân
tích và phát hiện bất thường cho kết quả liên quan đến phân loại nguyên nhân. Ví dụ
cụ thể là, khi so sánh tập mẫu dữ liệu lưu lượng bình thường với tập mẫu dữ liệu có
chứa sẵn mẫu bất thường của một số loại tấn công, ta có thể xác định được nguyên
nhân bất thường là do một loại tấn công mạng.
c. Vấn đề phân tích và phát hiện lƣu lƣợng mạng bất thƣờng
h n tích v phát hiện lưu lượng mạng bất thường (gọi tắt là phát hiện bất
thường) là giai đoạn 1 trong quá trình mô tả ở hình D, bao gồm cả thu thập dữ liệu,
tiền xử lý, trích chọn đặc trưng và phân tích, phát hiện. Mục tiêu đặt ra là cần phân
tích, xác định một tập hợp hoặc một phạm vi giới hạn những dữ liệu được coi là bình
thường của các luồng tin và thực hiện theo dõi, so sánh dữ liệu tiếp nhận được với
những dữ liệu được coi là bình thường này. Nếu dữ liệu không nằm trong tập dữ liệu
bình thường sẽ được coi là bất thường.
Các công trình nghiên cứu về phân tích 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 (tạo thành đường cơ sở - baseline)
theo một cách nào đó và xác định được sự khác biệt của lưu lượng mạng đo được
trong so sánh với lưu lượng mạng bình thường đã nêu. Sự khác biệt này chính là độ
lệch (còn gọi là khoảng cách thống kê) giữa dữ liệu đo được so với tập dữ liệu bình
thường. Ranh giới của sự khác biệt chính là mức ngưỡng (Threshold). Nếu giả thiết dữ
liệu chỉ có một thuộc tính (ví dụ số bytes), dữ liệu đo được nếu có giá trị thống kê lớn
hơn mức ngưỡng sẽ được coi là bất thường. Tuy nhiên, dữ liệu thực tế thường có nhiều
thuộc tính, việc phát hiện bất thường sẽ phức tạp hơn nhiều do phải xem xét sự tương
quan của nhiều thuộc tính trong một bài toán đa biến.
7
Mức ngưỡng của tập dữ liệu thường biến động theo thời gian. Do đó cần sự quan
sát, theo dõi lưu lượng theo thời gian. Thông thường, lưu lượng mạng được coi là bình
thường khi được quan sát, theo dõi, đo đạc trong điều kiện hoạt động được giả thiết là
không có sự cố mạng, không có đột biến lưu lượng do tắc nghẽn hay nguyên nhân gây
bất thường như đã nêu ở Bảng A.
Lưu lượng mạng được thu thập phục vụ hai mục đích: 1) Tạo tập lưu lượng mạng
bình thường (đường cơ sở); 2) Tạo các tập dữ liệu đo lưu lượng mạng thực tế theo
thời gian để so sánh với tập bình thường để từ đó phát hiện lưu lượng bất thường. Thu
thập lưu lượng mạng thực tế ở vị trí nào có ý nghĩa quan trọng.
Dữ liệu thu thập được có thể chứa các thông tin không cần thiết. Vì vậy, bước tiền
xử lý dữ liệu, trích chọn thuộc tính sẽ nhằm loại bỏ những thông tin không cần thiết,
lựa chọn những thuộc tính quan trọng nhất nhằm giảm độ phức tạp. Dữ liệu thu thập
để tạo tập lưu lượng mạng bình thường (đường cơ sở) có thể chứa ngoại lai làm sai
lệch kết quả phân tích, phát hiện. Do đó cần khử ngoại lai khi tạo tập dữ liệu mẫu (tập
dữ liệu bình thường).
Phân tích và phát hiện bất thường là giai đoạn quan trọng như đã nêu ở trên. Đã có
nhiều mô hình, phương pháp phân tích và phát hiện lưu lượng bất thường được đề xuất
tới nay. Đối với quản trị mạng, phát hiện nhanh là một nhu cầu thực tế và cấp thiết,
đặc biệt quan trọng trong giai đoạn đầu của sự cố. Tuy nhiên, yêu cầu này vẫn chưa
được xem xét và giải quyết thỏa đáng trong các nghiên cứu tới nay. Đa số các phương
pháp đều có hạn chế về tính phức tạp trong tính toán, do đó hạn chế khả năng phát
hiện nhanh. Một số phương pháp mới đề xuất dựa trên PCA (Principal Component
Analysis) có nhiều hứa hẹn hơn do khả năng giảm thiểu độ phức tạp tính toán. Do đó,
nghiên cứu về các phương pháp dựa trên PCA là trọng tâm của luận án.
d. Phạm vi luận án
Như đã trình bày lý do ở trên, trong khuôn khổ của bài, luận án chỉ tập trung vào
giai đoạn phân tích và phát hiện bất thường, không đi s u v o các nội dung như: xác
định nguyên nhân, nguồn gốc của lưu lượng bất thường, nhận dạng tấn công cũng như
biện pháp ngăn chặn. Cụ thể, trọng tâm của luận án là nghiên cứu phương pháp ph n
8
tích và phát hiện lưu lượng mạng bất thường, nghĩa là trên cơ sở lưu lượng mạng thu
thập được cần có phương pháp xác định nhanh xem lưu lượng đó có phải là bất
thường hay không để đưa ra cảnh báo. Đối với quản trị mạng, đây là nhiệm vụ quan
trọng để sớm nhận biết được có hiện tượng bất thường trên mạng hay không. Ví dụ,
quản trị mạng cần sớm biết có hiện tượng lưu lượng tràn ngập (dấu hiệu của tắc nghẽn,
tấn công từ chối dịch vụ) để kịp thời kiểm soát các tuyến kết nối bị quá tải lưu lượng.
Việc trước hết là phát hiện kịp thời có hay không là bước quan trọng nhằm giảm thiểu
thiệt hại, ví dụ chặn kịp thời luồng tin từ các địa chỉ IP gây ra sự cố. Bước phân tích,
xác định cụ thể loại tấn công ở giai đoạn sau có ý nghĩa tích cực trong công tác điều
tra, khắc phục sự cố, thực hiện các biện pháp ngăn chặn một cách hệ thống
Luận án không đi sâu vào phân tích mức độ quan trọng của các thuộc tính dữ liệu
mà áp dụng những thuộc tính chung cho luồng tin đã được đề xuất trước đó [43, 16,
19, 60]. Qua phân tích tính ưu việt của PCA, luận án tập trung vào nghiên cứu, phân
tích ưu nhược điểm của các phương pháp sử dụng PCA điển hình đã được đề xuất tới
nay và đề xuất phương pháp mới cải tiến. Để thuận tiện cho việc so sánh với các
phương pháp cũ, luận án sử dụng các tập dữ liệu có sẵn như Kyoto [60] và NSL-KDD
[68] cũng như phương pháp khai phá dữ liệu tương tự các nghiên cứu trước đây.
3. Những đóng góp chính của luận án
Trên cơ sở khảo sát, phân tích những nghiên cứu đã có tới nay, luận án đã chỉ ra
việc phát hiện nhanh bất thường với độ chính xác chấp nhận được có tầm quan trọng
đặc biệt trong giai đoạn đầu của sự cố, trước khi quản trị mạng thực hiện phân tích chi
tiết hơn với độ chính xác cao hơn ở giai đoạn phân tích, xử lý sự cố.
Luận án đã tập trung nghiên cứu các phương pháp phân tích và phát hiện lưu
lượng bất thường dựa trên phân tích thành phần chính PCA, chỉ ra những hạn chế
trong các phương pháp đã có tới nay, đề xuất một số đóng góp mới, cụ thể gồm:
- Nêu hạn chế về việc sử dụng các công thức khác nhau cho tính khoảng cách để
phát hiện bất thường trong các nghiên cứu dựa trên PCA tới nay, hạn chế về độ phức tạp tính toán O(kn2) khó phù hợp với yêu cầu phát hiện nhanh. Tới nay vẫn chưa có
một công thức khái quát giúp cho việc phân tích các tham số, lựa chọn tham số phù
9
hợp nhằm giảm độ phức tạp, đạt hiệu quả phân tích, phát hiện bất thường ở mức chấp
nhận được. Từ đó, luận án đề xuất một công thức mới cho tính khoảng cách dựa
trên công thức Minkowski có bổ sung thêm trọng số. Luận án đã chỉ ra một số công
thức tính khoảng cách điển hình trong các công trình nghiên cứu liên quan trước đây
có thể quy về những trường hợp riêng của công thức khái quát này.
- Đặc trưng của PCA là các thành phần chính (PC). Tuy nhiên, vấn đề là sử dụng
các PC như thế nào để đạt hiệu quả đồng thời giảm độ phức tạp tính toán. Luận án đã
đề xuất một phƣơng pháp mới có tên là dPCA sử dụng công thức tính khoảng
cách nêu trên. dPCA hoạt động phân cấp với dPCA1T dùng 1 mức ngưỡng và
dPCA2T dùng 2 mức ngưỡng. dPCA cho phép lựa chọn mềm dẻo hai chế độ, lựa chọn
linh hoạt các tham số trong công thức tính khoảng cách khái quát. Luận án đã thực
hiện thử nghiệm với các tham số khác nhau. Kết quả thử nghiệm cho thấy có thể thay
đổi tham số để giảm độ phức tạp tính toán ở mức O(kn) so với độ phức tạp tính toán O(kn2) trong các công trình trước đó, trong khi vẫn duy trì được hiệu quả phát hiện (tỷ
lệ TPR và FPR) tương đương ở mức chấp nhận được.
- Khi PCA sử dụng tập dữ liệu mẫu, ngoại lai có thể xuất hiện trong tập này làm
sai lệch kết quả phát hiện. Vẫn chưa có nghiên cứu nào của phương pháp PCA đề cập
cụ thể về phương pháp loại bỏ ngoại lai trong tập dữ liệu mẫu. Luận án đã đề xuất hai
phƣơng pháp phát hiện và khử ngoại lai trong tập dữ liệu mẫu là: phƣơng pháp
udPCA và phƣơng pháp K-means trong kết hợp với phƣơng pháp dPCA. Các kết
quả thử nghiệm đã cho thấy, việc khử ngoại lai trong tập dữ liệu mẫu với udPCA và
K-means làm tăng tỷ lệ TPR lên đáng kể khi áp dụng dPCA đã khử ngoại lai so với khi
áp dụng dPCA chưa khử ngoại lai.
- Ngoài ra, luận án đã đề xuất một mô hình kết hợp giữa phát hiện xâm nhập dựa
trên dấu hiệu và phát hiện bất thường theo phương pháp dPCA được tích hợp vào một
hệ thống giám sát cho phân tích và phát hiện lưu lượng bất thường, phát hiện tấn công
mạng trên phân đoạn mạng có kết nối Internet. Tuy đây không phải thực sự là đóng
góp mới về khoa học nhưng phần này cho thấy khả năng ứng dụng những phương
pháp đã đề xuất trong một hệ thống cụ thể.
10
4. Cấu trúc của luận án
Luận án gồm phần mở đầu, 4 chương nội dung, phần kết luận. Nội dung chính
của các chương như sau:
Chương 1: Hệ thống hóa cơ sở lý thuyết và các vấn đề nghiên cứu liên quan, cụ
thể như: thu thập lưu lượng mạng Internet; các phương pháp và mô hình phân
tích, phát hiện lưu lượng mạng bất thường; nhóm phương pháp dựa trên PCA;
phân tích, đánh giá ưu nhược điểm của những công trình nghiên cứu dựa trên
PCA.
Chương 2: Mô hình hệ thống phân tích và phát hiện lưu lượng bất thường dựa
trên PCA; đề xuất một công thức mới để tính khoảng cách và phân tích các
tham số; đề xuất phương pháp dPCA với hai chế độ một mức ngưỡng và hai
mức ngưỡng; thử nghiệm và đánh giá kết quả.
Chương 3: Trình bày vấn đề khử ngoại lai trong tập dữ liệu mẫu; đề xuất hai
phương pháp phát hiện và khử ngoại lai bằng udPCA và bằng K-means; thử
nghiệm phát hiện và khử ngoại lai, đánh giá hiệu quả của việc khử ngoại lai với
udPCA và K-means trong tập dữ liệu mẫu; đánh giá kết quả phát hiện bất
thường của dPCA khi sử dụng udPCA và K-means khử ngoại lai trong tập dữ
liệu mẫu.
Chương 4: Đề xuất tích hợp phương pháp dPCA vào một hệ thống giám sát có
thể áp dụng trong thực tế. Các nội dung chủ yếu gồm: kiến trúc hệ thống giám
sát; vấn đề nhận dạng, phân loại bất thường và khả năng kết hợp phát hiện lưu
lượng bất thường với phát hiện xâm nhập dựa trên mẫu dấu hiệu; đề xuất mô
hình kết hợp phát hiện bất thường với phát hiện xâm nhập dựa trên tập mẫu dấu
hiệu; thử nghiệm phát hiện bất thường và một số loại tấn công mạng.
11
CHƢƠNG 1
CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
1.1. Thu thập lƣu lƣợng mạng Internet
1.1.1. Các đặc tính của lưu lượng mạng
Lưu lượng mạng Internet được tạo thành từ các gói tin IP. Mỗi gói tin IP có phần
tiêu đề và phần dữ liệu. Tập các gói tin có chung địa chỉ IP và cổng tạo thành một
luồng tin IP (IP flow) [62, 43]. Tập các luồng tin giữa hai điểm cuối của cùng một loại
ứng dụng được gọi là phiên (session).
Một luồng tin IP được định nghĩa là chuỗi đơn hướng các gói tin IP quan sát trong
một khoảng thời gian và có chung một số thuộc tính đặc trưng của luồng tin. Đặc tính
lưu lượng Internet khi thu thập các gói tin và luồng tin thường được thể hiện qua các
thuộc tính tách ra được. Các thuộc tính điển hình là kiểu giao thức, địa chỉ IP nguồn,
địa chỉ IP đích, cổng nguồn, cổng đích. Trong thực tế, một số kỹ thuật của các hãng
công nghệ sử dụng thêm những thuộc tính khác, thí dụ Cisco Netflow và Juniper J-
Flow sử dụng thêm trường kiểu dịch vụ (ToS-Type of Service) và giao diện đầu vào
[43, 16].
Một số nghiên cứu mô tả thu thập lưu lượng mạng đường trục (backbone) [36, 57].
Những mạng này có thể là mạng của nhà cung cấp dịch vụ Internet hoặc mạng diện
rộng của những tổ chức lớn. Tuy nhiên do mức độ phức tạp của kiến trúc mạng như
vậy, luận án chỉ đề cập đến việc thu thập lưu lượng trên bộ định tuyến hoặc thiết bị
mạng có kết nối Internet của mạng nội bộ sở hữu bởi các doanh nghiệp, cá nhân.
Trong phát hiện bất thường, có thể phân chia các thuộc tính thành hai loại: thuộc
tính khối lượng (volume) và thuộc tính đặc trưng (feature). Thuộc tính khối lượng tính
số lượng gói tin, số byte trên một liên kết, giao diện, luồng, kết nối, phiên trong những
khoảng thời gian nhất định. Theo khảo sát các nghiên cứu đã có, thuộc tính theo khối
lượng thường dùng để phát hiện những bất thường có sự biến động lớn trong lưu
lượng. Những thuộc tính đặc trưng, (ví dụ: địa chỉ IP, cổng) thường dùng để phát hiện
những bất thường không tạo ra đột biến về gói tin hoặc byte nên nếu chỉ dùng thuộc
tính khối lượng có thể không phát hiện được [36]. Để tạo được thuộc tính cho phát
12
hiện bất thường, cần thiết phải thu thập lưu lượng mạng. Gói tin, luồng tin sau khi
được thu thập sẽ trích xuất ra các thuộc tính khối lượng và đặc trưng cho kết nối, luồng
tin. Tách thuộc tính được thực hiện với phần tiêu đề hoặc cả phần dữ liệu của gói tin
cho các kết nối lớp giao vận hoặc phiên lớp ứng dụng. Đối với luồng tin, các thuộc
tính được tách cũng tương tự như kết nối hoặc phiên. Bảng 1.1 liệt kê những thuộc
tính sử dụng trong hệ thống MINDS tại đại học Minnesota (Mỹ) [19] được tách từ
luồng theo chuẩn Netflow.
Bảng 1.1. Một ví dụ về dữ liệu thuộc tính
Thuộc tính Ý nghĩa
Số lượng byte trong luồng Số lượng gói tin trong luồng Địa chỉ IP nguồn
# Byte # Packet Source IP Address Destination IP Address Địa chỉ IP đích Source port Destination port Protocol Flags
Count-dest
Count-src
Count-serv-src
Count-serv-dest
Count-dest-conn
Count-src-conn
Count-serv-src-conn
Count-serv-dest-conn Cổng nguồn Cổng đích Giao thức Bit cờ của gói tin Số lượng luồng đến một địa chỉ duy nhất trên mạng trong T giây từ cùng một nguồn Số lượng luồng từ cùng một địa chỉ nguồn bên trong mạng trong T giây đến cùng một đích Số lượng luồng từ địa chỉ IP nguồn đến cùng cổng đích trong T giây Số lượng luồng đến địa chỉ IP đích từ cùng một cổng nguồn trong T giây Số lượng luồng đến địa chỉ IP đích duy nhất từ bên trong mạng trong N luồng cuối cùng từ cùng một nguồn Số lượng luồng từ cùng một địa chỉ IP nguồn duy nhất bên trong mạng trong N luồng cuối cùng đến cùng một đích Số lượng luồng từ địa chỉ IP nguồn đến cùng cổng đích trong N luồng cuối cùng Số lượng luồng đến địa chỉ IP đích từ cùng một cổng nguồn trong N luồng cuối cùng
13
Trong [43], những thuộc tính cơ bản nhất của luồng tin gồm: Số byte, số gói tin,
số bản ghi, địa chỉ IP nguồn, địa chỉ IP đích, cổng nguồn, cổng đích, thời gian kết nối
trung bình. Một tập các thuộc tính tương tự được sử dụng trong 31].
Có nhiều loại thuộc tính là thuộc tính đơn (gồm một thuộc tính dữ liệu) và đa
thuộc tính (gồm nhiều thuộc tính dữ liệu), song các thuộc tính cần được sử dụng bổ
sung cho nhau [43]. Trong thống kê, đây là bài toán đơn biến và đa biến. Phương pháp
đơn biến chỉ xét một biến hoặc thuộc tính khi xử lý dữ liệu đầu vào. Ví dụ, phương
pháp phát hiện bất thường chỉ dựa trên số lượng byte dữ liệu theo một chiều là phương
pháp đơn biến. Phương pháp đa biến xác định sự tương quan giữa hai hoặc nhiều hơn
các biến thay vì quan sát các biến một cách độc lập. Phương pháp này hiệu quả khi các
biến có sự liên quan đến nhau.
Dữ liệu thu được sau quá trình thu thập thường chứa cả những thông tin không cần
thiết. Vì vậy, cần có bước tiền xử lý nhằm lọc bỏ những thông tin không liên quan,
đồng thời tách ra những thuộc tính quan trọng. Thí dụ nếu dữ liệu ở dạng luồng, sẽ
bao gồm những thông tin cơ bản như địa chỉ IP nguồn và đích, cổng nguồn và đích,
giao thức. Ở dạng phức tạp hơn, dữ liệu cần có tính thống kê với đơn vị thay đổi theo
từng loại dữ liệu. Ngoài ra, dữ liệu cũng cần chuyển đổi hoặc chuẩn hóa sang dạng phù
hợp tùy thuộc vào cơ chế phát hiện của hệ thống. Việc lựa chọn thuộc tính dữ liệu rất
quan trọng vì ảnh hưởng trực tiếp đến hiệu suất cũng như độ chính xác phát hiện.
Một số nghiên cứu đã sử dụng dữ liệu chuỗi thời gian (time series) 36, 57, 43].
Dữ liệu chuỗi thời gian có ưu điểm là có thể phân tích và áp dụng các thuật toán về
thời gian như entropy, EWMA, histogram v.v.. Biểu diễn dữ liệu chuỗi thời gian trên
biểu đồ cũng dễ dàng hơn. Với dữ liệu chuỗi thời gian có thể tính được sự tương quan
của cùng một biến (thuộc tính) tại những thời điểm khác nhau (tính tự tương quan –
auto correlation). Tuy nhiên khi phát hiện ra bất thường, dữ liệu chuỗi thời gian
thường chỉ phát hiện được thời điểm hoặc khoảng thời gian có bất thường nhưng lại
khó tìm ra nguồn gây ra bất thường.
Một số nghiên cứu tổng hợp dữ liệu chuỗi thời gian từ luồng, gói tin vào các
khoảng thời gian giống nhau sau đó lại phải tìm ra luồng trong khoảng thời gian đó
14
gây ra bất thường. Điều này gây lãng phí tài nguyên về cả năng lực xử lý và thời gian
[43]. Các phương pháp phân tích dữ liệu chuỗi thời gian cũng có những nhược điểm
cơ bản là luôn cần áp dụng thêm các phương pháp bổ sung khác như: phương pháp
bầu chọn (voting), phương pháp khai phá dữ liệu (data mining) … để phát hiện luồng
tin gây ra bất thường [57, 6].
Vì những lý do nêu trên, luận án lựa chọn dữ liệu thống kê tổng hợp từ kết nối
(hay theo luồng tin), lựa chọn các thuộc tính dữ liệu lưu lượng mạng điển hình gồm:
giao thức, địa chỉ IP nguồn/đích, cổng nguồn/đích, .. Đây cũng chính là những thông
số cơ bản của luồng nên hoàn toàn có thể áp dụng được cho dữ liệu được tổng hợp trực
tiếp từ luồng theo các chuẩn Netflow, IPFIX. Ưu điểm của dữ liệu thống kê theo kết
nối hoặc luồng tin là sau khi phát hiện ra bất thường, có thể biết được chính xác kết
nối hoặc luồng nào (địa chỉ IP, cổng) gây ra bất thường mà không phải áp dụng các
thuật toán, phương pháp nào khác như đối với dữ liệu chuỗi thời gian.
1.1.2. Các phương pháp thu thập lưu lượng Internet
Việc thu thập lưu lượng có thể thực hiện ở nhiều mức khác nhau: mức gói tin (bắt
giữ từng gói tin), mức luồng tin (chỉ bắt giữ định danh luồng tin, Flow-Id), hay mức
liên kết (thu thập gói tin/byte vào/ra trên các đường link). Tuy nhiên, phổ biến nhất
vẫn là thu thập mức gói tin và mức luồng tin.
1.1.2.1. Thu thập mức gói tin
Thu thập mức gói tin lấy thông tin chi tiết về từng gói tin. Đa số các hệ thống giám
sát mạng và các hệ thống quản lý mạng truyền thống sử dụng phương pháp này. Các
gói tin được bắt giữ ở các vị trí khác nhau trên mạng, cụ thể là tại các đầu ra của các
bộ chuyển mạch, định tuyến, trạm đầu cuối ,… và được truyền về trung tâm phân tích.
Các gói tin có thể được bắt giữ với các phần mềm tiện ích chuẩn như pcap/libcap
(Linux/Unix) hay winpcap (Windows) và được truyền về trung tâm thông qua các giao
thức chuẩn như Remote Network Monitoring (RMON), Simple Network Management
Protocol (SNMP), IP Flow Information eXport Protocol (IPFIX) [43].
Kỹ thuật thu thập mức gói tin có độ phức tạp cao, thời gian xử lý và phân tích lâu,
yêu cầu bộ nhớ lớn để lưu các gói tin. Do đó, phát hiện bất thường chậm và khó áp
15
dụng cho thời gian thực và các đường liên kết tốc độ cao. Một số nghiên cứu (ví dụ
[2]) đã đề xuất hạn chế nhược điểm này bằng cách chỉ chọn lựa lấy mẫu một lượng gói
tin nhất định hoặc chỉ chọn thông tin trong tiêu đề gói tin. Thuật toán lấy mẫu chỉ chọn
bắt giữ các gói tin đặc trưng dựa theo bộ lọc xác định trước. Thời gian lấy mẫu có thể
là định kỳ hoặc ngẫu nhiên. Phương pháp phổ biến nhất của lấy mẫu định kỳ là lấy
mẫu dùng bộ đếm, chọn ra n gói tin đầu tiên của chuỗi N gói (n < N).
1.1.2.2. Thu thập mức luồng tin
Phương pháp này không thu thập các gói tin mà chỉ thu thập thông tin về luồng tin.
Một số kỹ thuật hiện nay còn cho phép người dùng cấu hình thuộc tính sử dụng cho
luồng tin như một tuỳ chọn 62, 43]. Với mỗi luồng tin, bộ đo lường xác định những
thuộc tính thống kê, thí dụ thời gian quan sát của gói tin đầu tiên và cuối cùng, số
lượng gói tin và số lượng bytes. Tất cả các thuộc tính của luồng tương ứng được thiết
bị giám sát chuyển giao cho hệ thống ở xa để lưu vào bản ghi trong cơ sở dữ liệu. Tài
nguyên tổn hao phụ thuộc vào số lượng gói tin giám sát cũng như số lượng luồng đồng
thời giám sát. Số lượng gói tin ảnh hưởng đến mức độ tính toán do mỗi gói tin phải
phân loại thành luồng đã có hay luồng mới. Số lượng luồng ảnh hưởng đến bộ nhớ
dùng để lưu trữ bản ghi luồng.
Do không thu thập tất cả các gói tin, kỹ thuật đo mức luồng tin có độ phức tạp thấp
hơn nhiều và đòi hỏi ít bộ nhớ để lưu các luồng tin, thời gian xử lý ngắn hơn. Tuy
nhiên, do không kiểm tra hết các gói tin của từng luồng tin nên việc kiểm tra phát hiện
bất thường có thể bỏ sót sự kiện.
1.2. Tổng quan về các phƣơng pháp, mô hình phân tích và phát hiện lƣu lƣợng
bất thƣờng
Trong một số năm qua, nhiều giải pháp đã được đưa ra để phân tích và phát hiện
lưu lượng bất thường (xem khảo sát trong [5, 3, 23, 11, 22, 52, 71]). Mặc dù các giải
pháp hết sức đa dạng, song chúng thường được phân loại theo ba nhóm chính là: 1)
nhóm dựa vào thống kê, 2) nhóm dựa vào khai phá dữ liệu và học máy, 3) nhóm dựa
vào tri thức.
1.2.1. Nhóm dựa vào thống kê
16
Phương pháp thống kê dựa trên giả định mô hình tuân theo một phân bố thống kê
biết trước hoặc dựa trên dữ liệu thực nghiệm trong điều kiện bình thường, và sử dụng
các đặc tính thống kê của dữ liệu ở trạng thái bình thường để thiết lập một tập dữ liệu
tham chiếu (normal behavior profile). Lưu lượng các luồng tin trên mạng được quan
sát, thu thập và so sánh với độ lệch hoặc khoảng cách với tập tham chiếu này để phát
hiện ra bất thường. Những phân bố thường dùng là phân bố chuẩn, Chi-square, v.v...
Những sự kiện có xác suất thấp hoặc có độ lệch vượt một ngưỡng nhất định so với tập
tham chiếu bị coi là bất thường.
Điển hình trong nhóm này là các phương pháp theo mô hình Markov, các phương
pháp theo mạng Bayessian, phương pháp phân tích đa biến với phân tích thành phần
chính (PCA).
hương pháp dựa trên mô hình Markov [5, 3, 23, 22] phát hiện bất thường bằng
cách giám sát hệ thống tại các chu kỳ cố định và lưu giữ trạng thái của hệ thống, đó là
xác xuất mỗi trạng thái tại từng chu kỳ. Trạng thái của hệ thống thay đổi khi xuất hiện
sự kiện và bất thường được phát hiện nếu xác suất xuất hiện trạng thái đó là thấp.
hương pháp dựa trên mạng ayesian [5, 3, 11, 45] dựa trên biểu diễn sự mã hóa
xác suất mối quan hệ giữa các biến. Phương pháp này có thể giả định các biến độc lập
hoặc phụ thuộc nhau và có khả năng phát hiện bất thường với nhiều lớp. Mạng
Bayesian sử dụng để mô hình hoá hệ thống dựa trên các thuộc tính (biến) và xác suất
giữa những thuộc tính này với lớp bất thường. Với một quan sát cần kiểm tra, phương
pháp này tính xác suất trong các lớp dữ liệu đã phân loại khác nhau, bao gồm cả bình
thường và bất thường. Giá trị tính được lớn nhất dùng để xác định lớp cho quan sát đó.
hương pháp ph n tích đa biến điển hình là phương pháp dựa trên phân tích
thành phần chính (Principal Component Analysis - PCA) [58, 25, 33, 38, 77, 53, 46,
54, 73, 36, 14, 12, 7, 40, 30, 43, 8, 37, 48, 39, 17, 10, 20]. Việc phân tích lưu lượng
mạng thường phải thực hiện với các thuộc tính khác nhau. Những thuộc tính này có
thể có sự tương quan với nhau. Vì vậy phát hiện lưu lượng mạng bất thường cần có
đánh giá tác động của cấu trúc tương quan giữa các thuộc tính lưu lượng để phát hiện
những sự thay đổi trong đó. Thuật toán PCA không chỉ dùng để phân tích sự tương
17
quan giữa các biến mà còn để rút gọn số chiều dữ liệu cần xử lý. Phân tích thành phần
chính là thuật toán để phân tích cấu trúc tương quan giữa các biến đầu vào. PCA
chuyển đổi trục tọa độ ban đầu sang hệ trục tọa độ mới trong đó các biến ban đầu được
chuyển thành các biến mới không có sự tương quan gọi là thành phần chính (principal
component-PC). Các thành phần chính được sắp xếp theo thứ tự giảm dần của độ biến
thiên (phương sai). Mục tiêu của PCA là tìm ra những thành phần chính mô tả nhiều
nhất quy luật biến thiên của các biến ban đầu. Những thành phần chính này có thể
dùng để mô tả cấu trúc tương quan của dữ liệu. Những thành phần chính còn lại được
coi là nhiễu hoặc phần dư và có thể loại bỏ nếu không cần thiết. Do đó PCA còn là
một 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, loại bỏ sự tương quan giữa các PC để dễ dàng hơn cho việc phân
tích. Trên cơ sở các PC, khoảng cách thống kê giữa dữ liệu quan sát so với tập dữ liệu
bình thường (tập mẫu) được tính và so sánh với một mức ngưỡng để xác định bất
thường.
1.2.2. Nhóm dựa vào khai phá dữ liệu và học máy
Nhóm dựa vào khai phá dữ liệu và học máy thường áp dụng phân cụm
(Clustering) hoặc phân lớp (Classification) để phát hiện bất thường. Mục tiêu quan
trọng khi áp dụng khai phá dữ liệu vào bài toán phát hiện bất thường là dự đoán thông
tin mới chưa biết và giảm khối lượng dữ liệu cần xử lý. Khai phá dữ liệu có thể trợ
giúp cho quá trình học máy. Khi áp dụng học máy, có thể dựa trên những dữ liệu đã
biết để tự động hoá quá trình đánh giá, so sánh và cải tiến hiệu suất dự đoán. Kết quả
trước đó được phân tích để sửa sai và độ chính xác dựa trên kỹ thuật học máy tự động
được cải thiện.
Phương pháp phân lớp hay được sử dụng theo cách học từ những dữ liệu huấn
luyện rồi áp dụng để phân lớp những dữ liệu mới. Phương pháp này yêu cầu dữ liệu
huấn luyện phải gắn nhãn (đã phân loại các loại bất thường và bình thường). Phân lớp
xác định các quan sát dữ liệu mới thuộc lớp nào dựa trên dữ liệu huấn luyện đã phân
loại. Đường ranh giới phân loại giữa các lớp dữ liệu có thể ở dạng tuyến tính hoặc phi
18
tuyến. Theo cách này, phương pháp phân lớp khá giống với phương pháp thống kê,
song có quá trình tự học để cải thiện kết quả dự đoán.
Đối với nhóm dựa vào khai phá dữ liệu và học máy, cách thức huấn luyện với tập
dữ liệu mẫu đóng vai trò rất quan trọng. Cách thức huấn luyện có thể phân loại thành:
1) có giám sát, 2) bán giám sát và 3) không giám sát.
Có giám sát (Supervised): mô hình hóa tất cả các hành vi bình thường và hành
vi bất thường trong quá trình huấn luyện (training) hệ thống, yêu cầu phải có tập dữ
liệu đã phân loại thành tập bình thường và bất thường. Mỗi loại bất thường cần
được đánh nhãn riêng (ví dụ mỗi loại tấn công có tên riêng). Từ tập dữ liệu đã đánh
nhãn có thể xây dựng được mô hình dự đoán cho bình thường và bất thường. Mô
hình sau huấn luyện được sử dụng để phát hiện dấu hiệu bất thường với dữ liệu mới.
Bán giám sát (Semi-supervised): chỉ huấn luyện với dữ liệu bình thường (không
có bất thường). Cách làm này phát hiện được bất thường từ sự khác biệt với lớp
bình thường đã huấn luyện nhưng không phân biệt được các loại bất thường.
Không giám sát (Unsupervised): không cần huấn luyện với dữ liệu như hai cách
trên mà phát hiện bất thường trực tiếp trên dữ liệu đầu vào. Cách thức này yêu cầu
số lượng dữ liệu bình thường phải lớn hơn nhiều so với dữ liệu bất thường (ví dụ:
90% dữ liệu là bình thường). Khi yêu cầu trên bị vi phạm, tỷ lệ cảnh báo sai rất cao.
Điển hình trong nhóm này là các phương pháp dựa trên phân cụm, các phương
pháp máy vector hỗ trợ, các phương pháp dựa trên luật học máy, các phương pháp dựa
trên logic mờ.
hương pháp dựa trên phân cụm [5, 3, 23, 71, 11] gán các đối tượng vào các
nhóm gọi là cụm (cluster) sao cho các đối tượng trong một cụm có độ tương đồng
giống nhau so với những cụm khác. Nếu một đối tượng nằm ngoài những cụm đã biết,
đó có thể là dấu hiệu bất thường. Phương pháp này thường mặc định là các cụm có
nhiều phần tử hoặc có mật độ cao là bình thường, ngược lại là bất thường. Phần lớn
các phương pháp áp dụng cho dữ liệu có thuộc tính liên tục. Các phương pháp phân
cụm thường dùng trong phát hiện lưu lượng bất thường là phân hoạch (partitioning),
19
và mật độ (density). Điển hình là phương pháp dựa trên thuật toán K-means [44, 13]
và thuật toán phát hiện ngoại lai cục bộ LOF (Local Outlier Factor) [19].
hương pháp máy vector hỗ trợ (Support Vector Machine-SVM) [5, 3, 11]: trong
phương pháp này, vector đầu vào được ánh xạ sang không gian thuộc tính cấp cao hơn.
Sức mạnh của SVM nằm ở khả năng phân chia vùng biên thành những siêu mặt ph ng
được quyết định bởi vector hỗ trợ. Điều này sẽ tạo ra các giá trị ngoại lai tốt hơn. Về
cơ bản, SVM phân loại cho lớp nhị phân, ví dụ tách các vector huấn luyện thành các
siêu ph ng khác nhau. Tỷ lệ giữa mặt siêu ph ng và số lượng dữ liệu bị sót khi phân
loại có thể điều chỉnh được. SVM thường có độ chính xác cao khi đầy đủ dữ liệu huấn
luyện. SVM có thể chỉ cần huấn luyện với một lớp dữ liệu bình thường (One-class
SVM) hoặc với nhiều lớp khác nhau, bao gồm nhiều lớp bất thường. SVM có thể sử
dụng hàm tuyến tính hoặc phi tuyến (dùng hàm kernel) để phân chia các lớp.
hương pháp dựa trên luật học máy (xem [5, 23, 11, 75]: học các luật dựa trên
trạng thái bình thường của hệ thống. Ví dụ, các phương pháp cây quyết định (Decision
Tree) như C4.5/C5.0, ID3, Random Forest,v.v… học các luật dựa trên dữ liệu huấn
luyện. Những quan sát không thỏa mãn những luật đã học sẽ bị coi là bất thường.
Phương pháp dựa trên luật học máy có thể áp dụng cho nhiều lớp cũng như một lớp.
Mỗi luật có một giá trị phản án mức độ tin cậy của luật. Đó có thể là tỷ lệ giữa số
lượng dữ liệu đã phân lớp thành công bởi luật và tổng số dữ liệu sử dụng bởi luật. Sau
đó với mỗi quan sát dữ liệu cần tìm luật tốt nhất. Giá trị mức độ tin cậy gắn liền với
luật được lựa chọn cho biết lớp của quan sát tương ứng (lớp bình thường hoặc một lớp
bất thường). Phương pháp luật kết hợp (Association rule) sử dụng giá trị ngưỡng để
loại bỏ những luật ít có khả năng xảy ra. Những biến hoặc thuộc tính hay gắn liền với
nhau được kết hợp trong các tập. Luật kết hợp hữu ích khi cần phân tích kỹ hơn về đặc
điểm lớp dữ liệu bình thường hoặc mỗi lớp bất thường.
hương pháp dựa logic mờ (xem [5, 22, 52]): Suy luận được ước lượng thay vì
kh ng định chắc chắn theo logic, xây dựng hồ sơ hành vi (behavior profile) từ dữ liệu
kiểm tra. Có thể sử dụng luật liên kết mờ khai thác từ dữ liệu mới so sánh với luật khai
thác trong quá trình huấn luyện để phát hiện hành vi bất thường. Bộ suy diễn mờ
20
(Engine fuzzy) được sử dụng để so sánh mẫu dữ liệu với luật liên kết mờ. Có thể kết
hợp kỹ thuật khai phá dữ liệu để phát hiện bất thường.
1.2.3. Nhóm dựa vào tri thức
Nhóm dựa vào mô hình tri thức (Knowledge model) xây dựng các luật hoặc mẫu
dấu hiệu để phát hiện bất thường. Về cơ bản, hệ thống cần thu thập thông tin tri thức
về những loại bất thường khác nhau. Các loại dữ liệu cần biểu diễn sao cho dễ dàng xử
lý. Điển hình của nhóm này là các phương pháp dựa trên hệ chuyên gia và dựa mạng
Neural [5, 23, 11, 24]. Mạng Neural nhân tạo mô hình hoá hoạt động của hệ thống mô
phỏng theo cấu trúc neural của bộ não người. Mạng Neural thu thập tri thức qua quá
trình học. Đầu tiên, mạng Neural được huấn luyện với dữ liệu bình thường để học các
lớp bình thường khác nhau. Sau đó, mỗi quan sát dữ liệu mới được kiểm tra. Nếu được
chấp nhận, quan sát đó là bình thường, ngược lại là bất thường.
1.2.4. Tóm tắt ưu nhược điểm của các nhóm phương pháp
Các nhóm phương pháp phân tích và phát hiện bất thường khá đa dạng cho thấy
tính chất phức tạp của việc phát hiện lưu lượng bất thường. Mỗi nhóm phương pháp
đều có các ưu nhược điểm. Do đó, một hệ thống phát hiện bất thường có thể kết hợp
nhiều phương pháp.
Ứng dụng thực tế điển hình của các phương pháp phân tích, phát hiện lưu lượng
bất thường là trong theo dõi, giám sát hiệu năng mạng và trong lĩnh vực an ninh mạng.
Theo [5, 3, 23, 71, 11, 22, 52], một trong các nguyên nhân gây ra lưu lượng bất thường
là các hoạt động tấn công mạng, hiện đang chiếm tỷ lệ cao. Có hai xu hướng chính để
phát hiện tấn công mạng là: dựa trên dấu hiệu và dựa trên hành vi bất thường [5, 3, 23,
71]. Phát hiện dựa trên dấu hiệu đòi hỏi phải biết trước mẫu dữ liệu tấn công (dấu hiệu
lưu sẵn trong cơ sở dữ liệu), phải thu thập dữ liệu lưu lượng từ mạng để so sánh với
các mẫu dấu hiệu lưu sẵn, do đó có nhiều hạn chế. Cách thứ hai không đòi hỏi mẫu
dấu hiệu biết trước, cho phép phát hiện lưu lượng bất thường dựa trên hành vi, do đó
cho phép phát hiện được những tấn công mới. Vì vậy, các phương pháp phân tích, phát
hiện lưu lượng bất thường mở ra khả năng mới trong phát hiện tấn công mạng.
21
Trong lĩnh vực phát hiện bất thường, nhóm các phương pháp dựa vào tri thức ít
phổ biến hơn so với nhóm thống kê và nhóm khai phá dữ liệu/học máy. Để hoạt động
hiệu quả, các luật, tri thức phải được cập nhật thường xuyên. Phương pháp dựa vào tri
thức thường đòi hỏi nhiều thời gian và tài nguyên để xây dựng và duy trì tập tri thức.
Nhóm dựa vào khai phá dữ liệu/học máy có thể cho khả năng phát hiện với độ
chính xác cao nếu có tập dữ liệu lớn, các thông tin về các tập dữ liệu được cập nhật.
Việc huấn luyện cho phép tăng độ chính xác với những loại dữ liệu đã biết, song
thường có độ phức tạp cao. Để huấn luyện được hệ thống, cần nhiều dữ liệu đã đánh
nhãn. Tuy nhiên, việc phân loại, đánh nhãn cho dữ liệu, nhất là các loại bất thường
khác nhau rất khó thực hiện được. Những dữ liệu bất thường có số lượng không nhiều
nếu so sánh với dữ liệu bình thường sẽ gây trở ngại cho việc mô hình hoá và độ chính
xác khi phân loại. Do vậy, tập dữ liệu đánh nhãn thường được tạo ra những dữ liệu mô
phỏng gần với thực tế theo một kịch bản đã được lập trình sẵn. Nhược điểm cơ bản của
nhóm này là yêu cầu số lượng dữ liệu lớn, tốn nhiều tài nguyên, mức độ tính toán phức
tạp cao, phải huấn luyện trước.
Nhóm dựa trên thống kê có ưu điểm là các tham số xác định trạng thái bình thường
có thể thu được từ thực nghiệm hoặc dựa vào phân bố thống kê biết trước, nên có thể
phát hiện bất thường với độ chính xác cao nếu thiết lập tham số phù hợp. Độ phức tạp
tính toán có thể giảm nếu chọn phương pháp phù hợp (ví dụ dùng PCA). Nhược điểm
cơ bản của nhóm này là khó thiết lập các tham số, đặc biệt là mức ngưỡng so sánh.
Trong nhóm dựa trên thống kê, phương pháp ph n tích đa biến điển hình là
phương pháp dựa trên phân tích thành phần chính (PCA) được quan tâm nhiều do khả
năng phân tích tương quan, khả năng giảm chiều dữ liệu, giảm độ phức tạp trong khi
vẫn giữ được phần lớn đặc tính của dữ liệu [58, 25, 33, 38, 77, 53, 46, 54, 73, 36, 14,
12, 7, 40, 30, 43, 8, 37, 48, 39, 17, 10, 20]. Như đã nêu trong phần mở đầu, phát hiện
nhanh là tiêu chí quan trọng liên quan đến việc giảm độ phức tạp tính toán. Do vậy, áp
dụng PCA vào phân tích, phát hiện lưu lượng bất thường hứa hẹn một giải pháp tiềm
năng và là trọng tâm nghiên cứu của bài luận án này.
22
Trong phần tiếp theo của chương 1, luận án trình bày cơ sở của phương pháp PCA
và phân tích một số công trình nghiên cứu điển hình dựa trên PCA, đưa ra các nhận
xét, đánh giá làm cơ sở cho các kết quả nghiên cứu trong các chương tiếp theo của
luận án.
1.3. Phƣơng pháp phân tích và phát hiện lƣu lƣợng bất thƣờng dựa trên PCA
1.3.1. Cơ sở của phương pháp PCA
PCA (Principal Component Analysis) được phát triển bởi Pearson (1901) và
Hotelling (1933) [29]. PCA là thuật toán thống kê sử dụng phương pháp biến đổi tuyến
tính trực giao nhằm chuyển một tập hợp các quan sát có sự tương quan th nh tập các
giá trị tuyến tính không tương quan được gọi là thành phần chính (Principal
Component - gọi tắt là PC). Tập hợp quan sát với dữ liệu p-chiều được ánh xạ sang
miền m-chiều (miền con hay không gian con có m thành phần chính). Số lượng thành
phần chính có thể bằng hoặc ít hơn các biến ban đầu.
Có nhiều phương thức toán học để tạo thành các PC, song cách phổ biến nhất là
tìm ra tập ánh xạ m chiều với độ biến thiên (variance) lớn nhất [27-29]. Phép biến đổi
được định nghĩa theo cách sao cho thành phần chính thứ nhất có sự biến thiên lớn nhất
so với dữ liệu gốc và những thành phần chính tiếp theo có sự biến thiên lớn nhất tiếp
theo với điều kiện các PC này trực giao với nhau. Các PC trực giao hình thành dựa
trên các vectơ riêng (eigenvector) và trị riêng (eigenvalue) của ma trận hiệp phương
sai đối xứng [28]. Theo cách này, dữ liệu có thể giảm số chiều song vẫn giữ được phần
lớn đặc tính dữ liệu ban đầu trong khi không còn sự tương quan giữa các PC, sẽ dễ
dàng tính toán hơn.
PCA thường sử dụng để phân tích dữ liệu và dự đoán mô hình, đặc biệt khi cần
phân tích tương quan và giảm chiều dữ liệu. PCA có thể được thực hiện dựa trên sự
phân tích trị riêng của ma trận hiệp phương sai (hoặc ma trận tương quan) hoặc phép
phân tích SVD (Singular Value Decomposition) sau khi đã chuẩn hóa dữ liệu.
1.3.1.1. Dữ liệu và tham số trong miền con PCA
Dữ liệu đa biến được biểu diễn ở dạng vector. Mỗi vector chứa các biến (variable)
hay thuộc tính (attribute), chiều (dimension). Một vector dữ liệu còn gọi là điểm
23
(point), quan sát (observation), đối tượng (object) tùy thuộc vào bối cảnh sử dụng. Ví
dụ trong phân cụm hay dùng thuật ngữ điểm, đối tượng. Tuy nhiều cách gọi khác nhau
nhưng về bản chất những thuật ngữ này là chỉ là một (xét trong bải toán phát hiện bất
thường). Trong luận án này, thuật ngữ quan sát và điểm, biến và thuộc tính được sử
dụng thường xuyên với ý nghĩa tương đương. Các vector dữ liệu khi sắp xếp vào ma
trận trở thành các hàng của ma trận dữ liệu. Các cột của ma trận chứa các biến, thuộc
tính của dữ liệu.
Gọi X là một tập dữ liệu gồm n điểm (còn gọi là quan sát, vector) với p biến X1,
X2,… Xp được tổ chức thành ma trận nxp (n hàng, p cột). p cũng là số chiều dữ liệu.
Trước khi chuyển sang miền con PCA, X được chuẩn hóa theo một trong hai cách:
- Nếu sử dụng ma trận hiệp phương sai cho PCA, X được chuẩn hóa [74] với giá
trị trung bình µs của mỗi cột trong X:
(1.1)
(1.2)
- Nếu sử dụng ma trận tương quan cho PCA, X được chuẩn hóa thống kê (z-
score) [74] với giá trị trung bình và độ lệch chuẩn:
(1.3)
Trong đó: s là độ lệch chuẩn của biến Xs.
là dữ liệu thực nghiệm đã chuẩn hóa về tâm với mỗi quan sát.
Sau khi chuẩn hóa, từ ma trận dữ liệu X thu được ma trận dữ liệu chuẩn hóa Z.
(1.4)
PCA chuyển mỗi vector zi sang kết quả thành phần chính như sau:
Trong đó: yik là kết quả PC tính được cho quan sát zi với thành phần chính thứ k
(PCk) tương ứng với vector riêng ek. Vector zi gồm p biến chuyển sang miền con PCA
sẽ thu được vector thành phần chính yi = (yi1,…,yip) tương ứng với p PC.
24
là vector riêng thứ k được tính từ ma trận hiệp phương sai
(hoặc ma trận tương quan). ek đóng vai trò là trọng số (weight) cho zi.
Lý do PCA dựa trên các vector riêng để chuyển dữ liệu sang miền con PCA vì
mục tiêu của PCA là làm sao để tạo ra những thành phần chính có độ biến thiên
(phương sai) lớn nhất có thể. Với thành phần chính thứ nhất (PC1), cần phải tìm e sao
cho tổng bình phương của các kết quả thành phần chính yi1 cực đại với điều kiện ||e||=1
(e là vector đơn vị):
Công thức trên biểu diễn dưới dạng ma trận:
Kết quả trên đạt được khi e là vectơ riêng tương ứng với trị riêng lớn nhất của ma trận ZTZ [29, 49, 50]. Với e1 tìm được, kết quả thành phần chính thứ nhất của mỗi điểm zi được tính theo công thức (1.4) trong hệ trục tọa độ chuyển đổi của PCA (miền
con PCA):
Thành phần chính thứ k (PCk) tìm được bằng cách trừ đi k-1 thành phần chính
Từ đó tìm ek sao cho:
trước đó từ Z:
Giá trị lớn nhất của Zke cũng đạt được khi ek là vector riêng tương ứng với trị
riêng thứ k của ma trận ZTZ.
Giá trị thành phần chính thứ k của mỗi điểm i do vậy có thể tính theo công thức
(1.4) từ vector riêng ek.
25
Như vậy, áp dụng PCA với ma trận Z tạo ra toàn bộ ma trận kết quả thành phần
Y=ZE
(1.5)
chính Y như sau:
Trong đó:
Y là ma trận kết quả thành phần chính, mỗi hàng là một điểm zi đã chuyển đổi
sang miền con PCA, mỗi cột là giá trị yik tương ứng với từng thành phần chính
thứ k.
E là ma trận trọng số chính hình thành từ các vectơ riêng với mỗi cột k của E là
một vectơ riêng ek.
Các vectơ riêng và trị riêng có thể được xác định từ phép phân tích SVD (singular
value decomposition) hoặc tính từ ma trận hiệp phương sai C (hoặc ma trận tương
(1.6)
quan).
Để tìm vectơ riêng và trị riêng từ C, cần tìm ma trận E và D thỏa mãn công thức:
Trong đó: D là ma trận vuông kích thước pxp chứa trị riêng của C nằm trên đường
chéo chính, các giá trị không nằm trên đường chéo chính bằng 0.
Dij = i với i = j, i là trị riêng của thành phần chính thứ i
Dij = 0 với i ≠ j
E cũng là ma trận vuông kích thước pxp, mỗi cột của E chứa một vectơ riêng có
kich thước px1. Tổng cộng có p vectơ riêng.
Trị riêng và vectơ riêng được sắp xếp theo cặp và thứ tự giảm dần của trị riêng:
Tổng biến thiên (phương sai) của các biến ban đầu b ng tổng biến thiên của các
thành phần chính sau khi chuyển đổi sang miền PCA.
26
là phương sai của Xi trong miền dữ liệu ban đầu.
Tỷ lệ cho biết đóng góp của thành phần chính thứ i vào biến thiên của dữ liệu.
Như vậy thành phần chính thứ nhất luôn có biến thiên lớn nhất, tiếp đó đến thành phần
chính thứ hai, cuối cùng là thành phần chính đóng góp nhỏ nhất thứ p. Điều này phản
ánh bởi sự biến thiên và tập trung của dữ liệu xung quanh các trục tạo thành bởi các
vectơ riêng tương ứng với từng thành phần chính [29]. Mỗi thành phần chính nằm
trên trục biểu thị mức độ biến thiên lớn nhất có thể. Ví dụ trên hình 1.1 biểu thị thành
phần chính PC1 (trục nằm ngang) biểu diễn được nhiều điểm dữ liệu hơn nhiều PC2
(trục th ng đứng).
PC2
PC1
Hình 1.1. PCA trong mặt ph ng 2D (2 thành phần chính).
1.3.1.2. Vấn đề giảm chiều dữ liệu với PCA
Trong PCA, dữ liệu có thể giảm số chiều nhưng vẫn giữ được 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 (m < p). Ma trận kết quả sau khi
giữ lại m thành phần chính là:
Trong đó ma trận Ym vẫn gồm n hàng nhưng chỉ có m cột.
Khi giảm số chiều dữ liệu, để tránh mất dữ liệu thì mục tiêu đặt ra là cần giảm tối
thiểu sai số bình phương:
27
Trong đó Zm là ma trận dữ liệu chuẩn hóa tái tạo từ m thành phần chính được giữ lại:
Nếu giữ nguyên đầy đủ p thành phần chính, dữ liệu tái tạo Z được tính bằng:
Khi đó sai số bình phương sẽ là:
(1.7)
Số lượng thành phần chính m giữ lại thường được xác định dựa trên tỷ lệ:
β được thiết lập sao cho m thành phần chính đầu tiên trong p thành phần chính
phản ánh rõ nhất sự biến thiên của các biến ban đầu. Có thể đặt β theo tỷ lệ nhất định,
ví dụ β ≥ 90%.
Hình 1.2. Đồ thị Scree
28
Một phương pháp khác để tính số thành phần chính giữ lại m là dùng đồ thị scree
29] như biểu thị trên hình 1.2. Các trị riêng (eigenvalue) biểu thị mức độ biến thiên
trên trục tung. Trục hoành là số lượng các thành phần chính. Số thành phần chính
(component number) lựa chọn hợp lý trong trường hợp này là m=4 hoặc m=5.
1.3.1.3. Phân tích và phát hiện bất thường với PCA
Phương pháp chung để phân tích và phát hiện bất thường theo phương pháp thống
kê đa biến là tính khoảng cách thống kê của mỗi tập dữ liệu quan sát tới tập dữ liệu
bình thường (tới tâm hay trung bình thống kê của tập dữ liệu). Công thức tính khoảng
cách phổ biến là khoảng cách Mahalanobis hay khoảng cách Euclidean. Một quan sát
có khoảng cách lớn hơn một giá trị ngưỡng sẽ bị coi là bất thường. Mức ngưỡng
thường được xác định bằng phân bố thống kê của khoảng cách.
Như phần trên đã nêu, sau khi chuyển sang miền con PCA, ta thu được p thành
phần chính y = (y1,…, yp) tương ứng với quan sát X. Mỗi PC yi có một cặp vectơ riêng
và trị riêng (ei, λi) được sắp xếp theo thứ tự giảm dần của trị riêng tương ứng. Ví dụ
bình phương khoảng cách Mahalanobis được tính bằng tổng bình phương của các giá
trị PC chuẩn hóa theo trị riêng tương ứng như sau 27, 28, 29]:
Quan sát X được coi là bất thường nếu khoảng cách này lớn hơn một mức ngưỡng.
Giá trị mức ngưỡng tùy thuộc vào phương pháp tính khoảng cách sẽ trình bày trong
phần tiếp theo.
Về nguyên tắc, có thể xét bất thường cho từng PC riêng lẻ, hoặc cho một nhóm PC
hoặc cho tất cả PC. Như phần trên đã nêu, ánh xạ tập quan sát X sang miền con PCA
được thực hiện theo cách: các thành phần chính đầu có sự biến thiên lớn nhất, các
thành phần chính phía sau có sự biến thiên ít dần và là nhỏ hơn, nghĩa là theo thứ tự độ
biến thiên giảm dần. Những thành phần chính đầu có xu hướng phản ánh những thuộc
tính dữ liệu lưu lượng có sự biến thiên tương đối lớn. Sự tương quan của các thuộc
tính trong tập dữ liệu quan sát ban đầu được thể hiện qua tính lũy kế mức biến thiên
sau khi chuyển sang miền con PCA. Mức biến thiên tổng của toàn bộ PC là mức biến
29
thiên tổng của tập dữ liệu ban đầu. Trạng thái hoạt động bình thường được phản ánh
qua các PC đầu [27, 36, 58]. Như ví dụ chỉ ra trên hình 1.3 khi đo đạc ở ba mạng trục
Sprint-1, Sprint-2 và Abiene [27], bốn thành phần chính đầu tiên chứa đựng hầu hết
các biến thiên của tập dữ liệu quan sát.
Hình 1.3. Tỷ lệ biến thiên tập trung ở 4 PC đầu [43]
Mỗi bất thường lớn trong tập dữ liệu quan sát sẽ gây ra biến thiên đáng kể trong
các PC đầu. Do vậy, kiểm tra các PC đầu có thể xác định được những bất thường đáng
kể trong tập quan sát (nghĩa là trong lưu lượng mạng thu được).
Những PC ở cuối thể hiện những biến thiên nhỏ của các thuộc tính dữ liệu tập
quan sát trong điều kiện lưu lượng bình thường. Tuy nhiên, các nghiên cứu điển hình
như 58, 33, 36] đã chỉ ra bất thường có thể xuất hiện ở cả những PC cuối này do tính
tương quan của các thuộc tính dữ liệu. Những giá trị lớn đột xuất (ví dụ xung nhọn
như trên hình 1.4) ở các PC cuối phản ánh các bất thường không thể hiện được trong
các PC đầu.
Vì những lý do nêu trên, hầu hết các nghiên cứu tới nay đều chỉ ra là cần phân tích
đồng thời các thành phần chính để phát hiện bất thường. Tuy nhiên, do cần giảm độ
phức tạp tính toán nên việc lựa chọn bao nhiêu thành phần chính, những thành phần
chính nào vẫn là vấn đề đặt ra như sẽ trình bày trong phần tiếp theo.
30
Hình 1.4. Xung bất thường trong lưu lượng thể hiện ở một PC [36]
1.3.2. Các phương pháp phân tích và phát hiện lưu lượng bất thường điển hình
dựa trên PCA
Việc lựa chọn các thành phần chính và cách tính khoảng cách thống kê có tầm
quan trọng đặc biệt đối với các phương pháp dựa trên PCA. Mức ngưỡng xác định bất
thường phụ thuộc vào cách tính khoảng cách thống kê. Ngoài ra, việc thu thập dữ liệu
và xem xét tính tương quan của dữ liệu khi chuyển đổi sang PCA, vấn đề tạo tập dữ
liệu mẫu để so sánh khoảng cách cũng đóng vai trò quan trọng trong phân tích và phát
hiện bất thường. Sau đây, luận án trình bày về các phương pháp phân tích và phát hiện
bất thường điển hình dựa trên PCA một cách hệ thống theo các vấn đề nêu trên.
1.3.2.1. Lựa chọn các thành phần chính
Như đã nêu ở phần trên, các phương pháp đã đề xuất có thể hệ thống lại theo các
lựa chọn các thành phần chính (PC): chọn tất cả PC và xét bất thường cho từng PC
hoặc phân tích nhóm PC.
a. Phân tích từng thành phần chính.
Về cơ bản có thể phân tích riêng giá trị từng thành phần chính để phát hiện ra dấu
hiệu bất thường của lưu lượng như đã chỉ ra trong [33, 36, 43, 57, 63].
Các phương pháp trình bày trong [33-36, 43, 44, 57, 63] phần lớn dựa trên nghiên
cứu về điều khiển tiến trình đa biến [34]. Các tác giả áp dụng thuật toán PCA với dữ
liệu chuỗi thời gian đa biến (multivariate time series) thu được từ các luồng OD
31
(origin-destination flow). Luồng OD hình thành từ lưu lượng điểm PoP đi vào (ingress
Point of Presense) và đi ra (egress PoP) của mạng đường trục (backbone network).
Nhóm tác giả thử nghiệm với lưu lượng thu được trên 3 mạng đường trục là Sprint,
Abilene và Géan [36, 57]. Dữ liệu chuỗi thời gian được đo theo các chu kỳ t = 5 hoặc
10 phút với dữ liệu thuộc tính: byte, gói tin, số đếm luồng. Các tác giả sử dụng thuộc
tính bao gồm giá trị entropy của địa chỉ IP và cổng với luồng OD. Một hệ thống thực
tế đã được áp dụng phương pháp phát hiện bất thường trên mạng diện rộng là
NetReflex IP của hãng Juniper [47].
Ma trận dữ liệu Z được ánh xạ sang từng trục tọa độ PC i được xác định bởi vectơ
riêng ei bằng Zei. Có thể chuẩn hoá Zei sang vectơ đơn vị như sau cho từng PC:
Việc chuẩn hoá này hữu ích khi so sánh các ui vì mỗi thành phần chính có độ biến
thiên theo trị riêng i khác nhau.
Phân tích từng thành phần chính với lưu lượng tính theo khối lượng (byte, gói tin)
có thể tìm ra bất thường (hình 1.5) [33, 36]. Các thành phần chính u1, u2 phản ánh
trạng thái bình thường (hình 1.5a) trong khi những thành phần chính u6, u8 có phản ánh
có dấu hiệu bất thường (các xung nhọn mô tả đột biến về lưu lượng trên hình 1.5b).
(a) Trạng thái bình thường
32
(b) Dấu hiệu bất thường
Hình 1.5. Phát hiện bất thường bằng cách theo dõi từng thành phần chính
Các luồng lưu lượng có thể được kết hợp vào miền con rút gọn (sketch subspaces)
để giảm độ phức tạp và sử dụng các mã băm (hash) để xác định luồng gây ra bất
thường [38]. Có thể lọc trước dữ liệu tại điểm thu thập trên mạng nhằm giảm lượng
thông tin cần truyền trên mạng về trung tâm phân tích [25]. Điểm giám sát chỉ gửi
thông tin về trung tâm nếu vượt quá mức ngưỡng đã xác định trước. Cách tương tự để
giảm dữ liệu đa chiều được thu thập trên các đường truyền của mạng cũng đã nêu
trong [12]. Các biến ban đầu được chuẩn hóa để giảm tác động của đơn vị đo và sự
thay đổi khác nhau của các biến (thuộc tính). Một kiến trúc phân tán được đề xuất
trong [40] để giảm dữ liệu xử lý và lưu trữ.
Dữ liệu chuỗi thời gian được sử dụng do có ưu điểm là có thể phân tích và áp
dụng các thuật toán về thời gian như entropy, EWMA, histogram, v.v.. Biểu diễn dữ
liệu chuỗi thời gian trên biểu đồ cũng dễ dàng hơn. Tuy nhiên, rất khó xét tính tự
tương quan (autocorrelation) giữa các chu kỳ thời gian. Các tác giả trong [6, 7] đã
khắc phục nhược điểm này bằng việc mở rộng thuật toán Karhunen-Loeve để phân
tích sự tương quan giữa các chu kỳ thời gian. Phương pháp đề xuất áp dụng cho dữ
liệu chuỗi thời gian đa biến thu được tại một bộ định tuyến gồm các thuộc tính: byte,
gói tin, luồng, entropy của địa chỉ IP nguồn và đích, số lượng những địa chỉ duy nhất
của luồng TCP hoặc UDP. Một cách tương tự song không sử dụng dữ liệu chuỗi thời
gian mà sử dụng dữ liệu thuộc tính tổng hợp theo kết nối TCP/UDP được đề xuất trong
[72].
33
Các tác giả trong [57] chỉ ra nhược điểm khi phân tích từng thành phần chính do
rất khó xác định được luồng gây ra bất thường trong khoảng thời gian có bất thường.
Một số nghiên cứu tổng hợp dữ liệu chuỗi thời gian từ luồng, gói tin vào các khoảng
thời gian giống nhau sau đó lại phải tìm ra luồng trong khoảng thời gian đó gây ra bất
thường. Điều này gây lãng phí tài nguyên về cả năng lực xử lý và thời gian [43]. Các
phương pháp phân tích dữ liệu chuỗi thời gian cũng có những nhược điểm cơ bản là
luôn cần áp dụng thêm các phương pháp bổ sung khác như: phương pháp bầu chọn
(voting), phương pháp khai phá dữ liệu (data mining)… để phát hiện luồng tin gây ra
bất thường [57, 6]. Tác giả trong [43] đề xuất kết hợp phân tích từng PC (đơn biến) với
việc phân tích đồng thời nhiều PC (đa biến). Tác giả đề xuất phương pháp ước lượng
ma trận hiệp phương sai để không phải tính lại từ dữ liệu ở trạng thái bình thường.
Tác giả trong [8] đề xuất một phương pháp tạo dữ liệu chuỗi thời gian bằng hàm
entropy hoặc độ lệch Kullback-Leibler để xác định luồng gây ra bất thường với dữ
liệu chuỗi thời gian trong miền con PCA. Tương tự, [39] đề xuất sử dụng hàm entropy
với cả dữ liệu số và ký tự, trong đó có tính đến tính tự tương quan của dữ liệu thời
gian. [48] đề xuất kết hợp PCA và Wavelet: Dữ liệu sau khi chuyển sang miền con
PCA được phân tích bởi kỹ thuật lọc Haar Wavelet để phát hiện bất thường.
Tuy nhiên, việc theo dõi sự thay đổi của từng thành phần chính không hiệu quả
khi bài toán phát hiện lưu lượng bất thường áp dụng với đa biến. Trong miền con
PCA, cần có sự phân tích đồng thời các thành phần chính khác nhau.
b. Phân tích nhóm thành phần chính chủ yếu và thứ yếu.
Khi ma trận dữ liệu Z được chuyển đổi sang miền con PCA, các thành phần chính
được chia thành nhóm PC chủ yếu (Major PC) và PC thứ yếu (Minor PC) [58, 59].
[58, 59] đề xuất sử dụng bộ phân loại các thành phần chính (PCC- Principal
Component Classifier) để chia thành 2 phần: PC chủ yếu (các PC đầu) và PC thứ yếu
(các PC ở cuối). Những thành phần chính chủ yếu liên quan đến những biến có độ biến
thiên (tính theo phương sai) và sự tương quan lớn. Do vậy bất thường phát hiện được
bằng những thành phần chính chủ yếu là những bất thường gắn liền với các biến ban
đầu. Nguyên nhân là vì những thành phần chính đầu tiên mang nhiều biến thiên hơn so
34
với phần còn lại. Các thành phần chính thứ yếu phản ánh độ biến thiên nhỏ với biến
ban đầu. Bất thường có thể xuất hiện ở cả những PC đầu tiên (PC chủ yếu) và PC cuối
cùng (PC thứ yếu). Các tác giả [58, 59] đã chỉ ra rằng các PC thứ yếu ít tương quan
với tập dữ liệu, khá nhạy với dữ liệu trong tập quan sát (dễ biến thiên) song không h n
đó là bất thường của tập dữ liệu gốc. Theo dõi những thành phần chính thứ yếu dựa
trên giá trị lớn nhất và tổng bình phương có thể biết được sự biến thiên
của những thành phần này. [58, 59] đề xuất sử dụng PC chủ yếu với tỷ lệ 50% mức độ
biến thiên của trị riêng và PC thứ yếu có trị riêng nhỏ hơn hoặc bằng 0.2.
Các tác giả trong [59] đề xuất bổ sung phương pháp xử lý dữ liệu đầu vào có
thuộc tính là ký tự áp dụng phương pháp PCC (Principal Component Classifier). Trong
[77], tác giả đề xuất một kiến trúc phân tán cho phương pháp PCC và chia thành hai
lớp: lớp tác tử (agent) phát hiện bất thường và lớp kiểm tra mẫu dấu hiệu để phân loại
tấn công (nếu có) sau khi tìm thấy bất thường. Các lớp được cài đặt trên các máy tính
(host). Kết quả thử nghiệm cho thấy kiến trúc phân tán hoạt động hiệu quả với PCC.
Nghiên cứu trong [53] đề xuất một phương pháp học máy giám sát C-RSPM
(Collateral Representative Subspace Projection Modeling) dựa trên PCC. C-RSPM có
mục tiêu phân loại các loại bất thường được học trong quá trình huấn luyện. Phương
pháp PCC cũng đã được thử nghiệm với dữ liệu thu được từ giao thức quản lý mạng để
phát hiện bất thường trên mạng của trường đại học quốc gia Tunisi [54]. Các tác giả
trong [46] và [14] đề xuất phương pháp PCC với phần cứng FPGA nhằm tăng tốc độ
xử lý.
c. Phân tích phần dư.
Khi ma trận dữ liệu Z được chuyển đổi sang miền con PCA, các thành phần chính
được chia thành tập hợp bình thường S(N) và tập hợp bất thường S(A) [33, 36, 72, 38,
25, 73, 57, 12, 40, 30, 8, 48, 17, 10]. Phương pháp nhóm các PC vào tập bất thường
còn được gọi là hương pháp ph n tích phần dư (Residual Analysis) đã được công bố
trong lĩnh vực điều khiển [27-29, 18]. Trong thống kê, sự khác biệt giữa giá trị quan
sát và giá trị dự đoán được gọi là phần dư (residual).
35
Trong miền con PCA, phương pháp phân tích phần dư kiểm tra độ lệch của mỗi
quan sát ban đầu từ sự biến thiên được tạo thành bởi m thành phần chính được giữ lại.
Những thành phần chính đầu tiên thường phản ánh quy luật biến thiên bình thường của
lưu lượng mạng. Những thành phần chính còn lại có thể mang nhiều thông tin về bất
thường hơn. Điều này có nghĩa là dữ liệu khi chuyển sang miền con PCA sẽ được tách
thành hai phần riêng biệt phản ánh quy luật biến thiên bình thường và bất thường. Vì
vậy có thể chia các thành phần chính thành hai tập hợp: Tập hợp bình thường S(N) gồm
m thành phần chính và tập hợp bất thường S(A) gồm (p-m) các thành phần chính còn
lại.
Các tác giả trong [33, 36] đề xuất lựa chọn giá trị m dựa trên 3 lần độ lệch chuẩn.
Giá trị của các PC được so sánh với giá trị ngưỡng. Nếu xuất hiện giá trị lớn hơn mức
ngưỡng ở thành phần chính thứ m+1, quá trình kiểm tra sẽ dừng lại. Khi đó m thành
phần chính đầu tiên được coi là thành phần chính bình thường thuộc tập S(N). Các
thành phần chính còn lại được coi là phần dư có thể chứa thông tin bất thường nằm
z = z(N) + z(A)
trong S(A).
z(N) là giá trị tạo lại của z từ m thành phần chính
z(A) là phần dư cần xét để phát hiện bất thường
: Xét độ lớn của z(A) là
(1.8)
Với C(A) là ma trận tính được từ tập dữ liệu ban đầu, mỗi quan sát z có thể kiểm tra
độ lớn và so sánh với mức ngưỡng . Ngưỡng tính theo thống kê Q được
đề xuất bởi Jackson 27] như sau:
36
và
, i = 1, 2, 3
(1.9)
cα là giá trị độ lệch trong mức giới hạn bình thường: cα = 1-α (α cho biết xác suất
hệ thống gặp lỗi hoặc mất điều khiển). Với α cho trước, có thể tính được mức ngưỡng
theo công thức (1.9).
Một số nghiên cứu khác cũng chỉ ra khả năng phân tích phần dư. Tác giả trong
[38, 30] phát triển tiếp phương pháp với miền con rút gọn. Tác giả trong [57] xem xét
thêm bất thường trong tập bình thường S(N). Tác giả trong [25, 40] cải tiến với việc lọc
chọn lựa dữ liệu ngay khi thu thập. Tác giả trong [12] thêm chuẩn hóa dữ liệu, xét sự
thay đổi khác nhau giữa các biến (thuộc tính). Tác giả trong [8, 39] đề xuất phân tích
phần dư với hàm entropy cho tập dữ liệu chuỗi thời gian. Tác giả trong [17] đề xuất
phương pháp IPCA (Iterative PCA): thay vì tính toàn bộ các tham số trong miền con
PCA, IPCA theo vòng lặp tạo ra miền con bình thường dựa trên vectơ riêng của thành
phần chính lớn nhất và tính phần dư tương ứng. Khoảng thời gian với phần dư lớn nhất
trong mỗi vòng lặp được coi là bất thường. Phương pháp này loại bỏ việc phải thiết lập
giá trị ngưỡng cho phần dư cũng như việc khó khăn trong lựa chọn số thành phần
chính của miền con bình thường. Tác giả trong [9] đề xuất áp dụng phương pháp phân tích phần dư và thống kê T2để phát hiện bất thường cho mạng cảm biến không dây.
[10] đánh giá lại phương pháp PCA trong [33, 36] khi chuyển từ môi trường điều
khiển (Multivariate Statistical Process Control) sang lĩnh vực mạng (Multivariate
Statistical Network Monitoring) và cho thấy nhiều vấn đề cần giải quyết: tiền xử lý và
chuẩn hóa với các dạng dữ liệu khác nhau, nhiễu xuất hiện trong mô hình tính toán,
việc chọn các thành phần chính.
1.3.2.2. Tính khoảng cách thống kê
37
Các phương pháp phân tích đa biến thường dựa vào tính khoảng cách thống kê để
phát hiện bất thường [27-29]. Các phương pháp tính khoảng cách phổ biến là khoảng
cách Euclidean, bình phương khoảng cách Euclidean, bình phương khoảng cách
Mahalanobis. Đây là những phương pháp rất phổ biến trong nhiều bài toán thống kê.
[72, 73] trình bày một cách khác của phương pháp phân tích phần dư trong [33,
36, 72, 38, 25, 73, 57, 12, 40, 30, 8, 48, 17, 10] dựa trên thuật toán tính khoảng cách
(1.10)
Euclidean. Có thể thấy:
chính là bình phương khoảng cách Euclidean giữa z và z(N).
Như vậy bằng cách tái tạo lại z(N) từ m thành phần chính theo công thức (1.10) và
tính khoảng cách Euclidean với z ban đầu sẽ có được kết quả tính được giống như
công thức (1.8).
Một cách phổ biến khác để tính khoảng cách là sử dụng phân bố thống kê, điển hình là thống kê T2. Thống kê T2 cho biết độ lệch (khoảng cách) của mỗi vector x đến
tâm µ của phân bố thống kê. Do các tham số của phân bố thường không biết trước, có
thể ước lượng tham số từ tập dữ liệu.
T2 = (x- µ)TS-1(x- µ)
Công thức trên cũng là bình phương khoảng cách Mahalanobis từ mỗi quan sát x
đến µ. Trong đó:
S là ma trận hiệp phương sai của tập hợp n điểm.
µ là vectơ mang các giá trị trung bình của từng biến đầu vào
(1.11)
Khi chuyển sang miền con PCA, T2 được tính theo công thức [27, 34, 58]:
Công thức (1.11) là trường hợp tính T2 với đầy đủ các PC. [34, 36] áp dụng T2 với
những thành phần chính trong S(N) với mục đích tìm bất thường trong những thành
phần chính coi là bình thường.
38
Khi x có phân bố chuẩn đa chiều, giá trị tại mức tới hạn (giá trị mức ngưỡng) của
(1.12)
T2 có thể đạt được dựa trên thống kê F [34, 58]:
Trong đó: α là giá trị xác định mức tới hạn, p và n-p là các bậc tự do của F. Thống
kê F dùng để phân tích biến đổi của phương sai, có thể tra cứu dưới dạng bảng với
hàng và cột là các bậc tự do tương ứng với mức tới hạn α cho trước. Fp,n-p,α được tính
theo (1- α) của thống kê F với p và n-p bậc tự do. Một điểm dữ liệu (quan sát) có thể
kiểm tra có phải bất thường hay không bằng công thức (1.12). Nếu giá trị tính được
vượt quá mức ngưỡng, quan sát được coi là bất thường.
Hình 1.6 [34] biểu diễn những bất thường phát hiện được dựa trên phương pháp phân tích phần dư và T2. Bất thường phát hiện được với dữ liệu chuỗi thời gian là khác
nhau đối với hai phương pháp.
Hình 1.6. Phát hiện bất thường dựa trên phân tích phần dư và thống kê T2
Phương pháp trong [58, 59] cũng dựa trên T2 nhưng chia thành 2 phần: PC chủ
yếu và PC thứ yếu.
[58, 59] đề xuất sử dụng PC chủ yếu với tỷ lệ 50% mức độ biến thiên của trị riêng và PC thứ yếu có trị riêng nhỏ hơn hoặc bằng 0.2. Áp dụng T2 cho PC chủ yếu và PC
thứ yếu trong [58, 59] được coi như những phép tính khoảng cách thống kê.
39
(1.13)
T2 áp dụng cho thành phần chính chủ yếu (Major PC) bằng:
(1.14)
T2 áp dụng cho thành phần chính thứ yếu (Minor PC) bằng:
Trong đó:
(1.15)
Một điểm dữ liệu được coi là bất thường nếu
(1.16)
hoặc (OR)
(1.17)
Ngược lại để một điểm dữ liệu là bình thường thì:
(1.18)
và (AND)
Trong đó: c1 và c2 là mức ngưỡng của T2 chủ yếu và thứ yếu được tính theo thực
nghiệm.
Như vậy theo [58], nếu một điểm dữ liệu khi tính T2 của PC chủ yếu và thứ yếu có
một trong hai giá trị lớn hơn mức ngưỡng tương ứng sẽ được coi là bất thường. Ngược lại để một điểm là bình thường cần giá trị T2 của cả PC chủ yếu và thứ yếu đều phải
nhỏ hơn mức ngưỡng tương ứng.
1.3.2.3. Vấn đề lựa chọn tập dữ liệu mẫu
Một vấn đề quan trọng của phương pháp phân tích phát hiện bất thường là cần xác
định được trạng thái bình thường (normal behavior) của lưu lượng mạng. Đặc tính lưu
40
lượng mạng trong điều kiện bình thường có thể mô tả theo một mô hình tạo nên đường
cơ sở (baseline) có tác dụng giới hạn vùng dữ liệu được coi là bình thường. Các tham
số của mô hình có thể biết trước hoặc tạo lập dựa trên dữ liệu thực nghiệm. Do lượng
thông tin có thể lớn nên phát hiện bất thường cần xác định những thông tin nào cần
quan tâm và vị trí hợp lý để thu thập thông tin đó. Lượng thông tin thu thập có thể chi
tiết cho từng gói tin hay theo luồng tin, chỉ tiêu đề gói tin hay cả phần thân gói tin.
Việc lựa chọn đặc tính lưu lượng có ý nghĩa rất quan trọng. Số lượng đặc tính lớn sẽ
làm phát sinh khó khăn khi chọn mẫu dữ liệu và tính toán.
Tập hợp những thông tin mô tả trạng thái bình thường tạo thành một tập tham số
mô tả trạng thái bình thường (normal behavior profile) của lưu lượng [20] (gọi tắt là
profile). Profile được tính toán dựa trên dữ liệu thuộc tính thu được ở trạng thái bình
thường (normal behavior dataset) gọi là tập dữ liệu mẫu (gọi tắt là tập mẫu). Mức
ngưỡng ranh giới giữa bất thường và bình thường quyết định độ chính xác trong phát
hiện. Tập dữ liệu mẫu gồm những bản ghi dữ liệu với các thuộc tính khác nhau. Hầu
hết các phương pháp đã nêu ở phần trên sử dụng tập dữ liệu mẫu sử dụng các thuộc
tính theo thời gian (ví dụ [33-36, 43, 63] hay theo khối lượng [58].
Một hướng nghiên cứu khác là phân tích và phát hiện bất thường trực tiếp trên tập
dữ liệu thuộc tính đầu vào mà không cần có trước tập dữ liệu mẫu của trạng thái bình
thường [5]. Phương pháp thống kê đã chứng tỏ được hiệu quả trong trường hợp này.
Thực chất phương pháp này dựa trên nguyên tắc chủ đạo là số lượng dữ liệu bình
thường thu được phải chiếm đa số so với dữ liệu bất thường, do đó trạng thái bình
thường của hệ thống vẫn có thể được thiết lập tạm thời. Như vậy, những quan sát có
độ lệch lớn so với trạng thái bình thường tạm thời này có thể coi là bất thường.
1.4. Nhận xét, đánh giá
PCA là thuật toán được ứng dụng rộng rãi và giải quyết tốt bài toán giảm chiều dữ
liệu. Phương pháp phát hiện lưu lượng bất thường dựa trên PCA có ưu điểm lớn là
giảm bớt số chiều của dữ liệu, loại bỏ được sự tương quan dữ liệu trong các thành
phần chính song vẫn bảo đảm duy trì được phần lớn đặc tính của dữ liệu, qua đó giúp
41
cho kiểm tra, phát hiện bất thường trong lưu lượng mạng hiệu quả hơn. Do đó, phương
pháp PCA được quan tâm nhiều trong cộng đồng nghiên cứu.
Tuy nhiên, việc phân tích với tất cả PC cho các quan sát vẫn rất phức tạp và mất
thời gian. Các nghiên cứu đã chỉ ra độ phức tạp nói chung của phép biến đổi PCA là O(np2) +O(p3) [36, 43] với n là số lượng quan sát, p là số thuộc tính dữ liệu. Mặc dù
vậy, PCA có nhiều ưu điểm so với các phương pháp khác như đã trình bày trong phần
1.2, nên được nhiều tác giả quan tâm. Điều này thể hiện qua các nghiên cứu điển hình
ví dụ như 32, 59, 36, 59, 38, 54, 59, 25, 44, 52, 47, 14, 11, 12, 64, 6, 30, 40, 43, 71]
(giai đoạn 2000-2010) và [8, 23, 61, 37, 51, 3, 5, 48, 39, 42, 1, 10, 17, 20, 76] (giai
đoạn 2011- 2016).
Qua khảo sát các công trình nghiên cứu phân tích và phát hiện lưu lượng mạng bất
thường dựa trên PCA tới nay, có thể đưa ra một số nhận xét, đánh giá như sau:
Việc chuyển đổi về miền con của PCA giúp làm giảm được số chiều dữ liệu. Tuy
nhiên, vấn đề đặt ra là sử dụng những thành phần chính nào hiệu quả và giảm
được số chiều dữ liệu khi xét đến độ phức tạp của thuật toán.
Các phương pháp tính khoảng cách thống kê phổ biến nhất là khoảng cách
Euclidean, bình phương Euclidean và Mahalanobis. Tuy nhiên, vẫn chưa có một
công thức bao quát cho tính khoảng cách để từ đó tìm ra các tham số phù hợp với
mục tiêu giảm độ phức tạp tính toán song vẫn đạt hiệu quả.
Đối với các phương pháp PCA sử dụng tập dữ liệu mẫu, ngoại lai có thể xuất hiện
trong tập dữ liệu mẫu làm sai lệch profile. Đây có thể coi là một loại nhiễu xuất
hiện trong quá trình mô hình hóa hệ thống và sẽ ảnh hưởng đến hiệu quả phát hiện.
Vì vậy việc làm sạch tập dữ liệu mẫu trước khi tạo profile là điều cần thiết. Các
nghiên cứu dựa trên PCA tới nay chưa có đề xuất cụ thể nào về phương pháp loại
bỏ ngoại lai trong tập dữ liệu mẫu mà thường giả thiết tập mẫu không chứa ngoại
lai khi thử nghiệm.
1.5. Kết luận chƣơng 1
Chương 1 đã trình bày tổng quan về cơ sở lý thuyết và các nghiên cứu liên quan
đến đề tài luận án bao gồm các nội dung cơ bản như sau:
42
Các đặc tính lưu lượng và các phương pháp thu thập lưu lượng mạng.
Tổng quan và phân loại các mô hình, phương pháp phân tích và phát hiện lưu
lượng bất thường.
Trình bày cơ sở lý thuyết về PCA. Khảo sát những công trình nghiên cứu về phân
tích và phát hiện lưu lượng bất thường dựa trên PCA.
Nhận xét đánh giá về vấn đề phân tích và phát hiện lưu lượng bất thường, những
vấn đề nghiên cứu còn mở làm cơ sở cho những nghiên cứu và đề xuất ở các
chương tiếp theo.
43
CHƢƠNG 2 PHƢƠNG PHÁP PHÂN TÍCH VÀ PHÁT HIỆN LƢU LƢỢNG BẤT THƢỜNG dPCA
2.1. Mở đầu
Như đã trình bày ở chương 1, phương pháp phát hiện lưu lượng mạng bất thường
của luận án đề xuất dựa trên phương pháp PCA, phát triển tiếp kết quả nghiên cứu
trong một số công trình điển hình đã nêu. Những vấn đề được trình bày trong chương
2 bao gồm:
- Mô hình chung hệ thống phân tích và phát hiện lưu lượng bất thường với
phương pháp PCA.
- Đề xuất phương pháp dPCA cho phân tích và phát hiện lưu lượng bất thường và
phân tích các tham số thiết lập cho dPCA.
- Thử nghiệm, đánh giá phương pháp dPCA.
2.2. Mô hình hệ thống phân tích và phát hiện lƣu lƣợng bất thƣờng dựa trên
PCA
Phần này trình bày mô hình chung của hệ thống phát hiện lưu lượng bất thường
dựa trên phương pháp PCA. Hệ thống hoạt động theo hai pha:
Pha tạo profile: Hệ thống cần tạo trước profile với dữ liệu “sạch” (dữ liệu không
chứa bất thường). Pha này hoạt động ngoại tuyến (offline).
Pha phát hiện: Pha này hoạt động trực tuyến (online). Mỗi quan sát mới là một
vectơ chứa các thuộc tính dữ liệu cần chuyển sang miền con của PCA với các vectơ
riêng và trị riêng đã có trong profile. Bộ phát hiện áp dụng phương pháp phân tích,
phát hiện bất thường và so sánh với giá trị ngưỡng. Nếu độ lệch vượt quá giá trị
ngưỡng, quan sát mới được coi là bất thường và ngược lại là bình thường.
Hình 2.1. Mô hình chung hệ thống phân tích và phát hiện lưu lượng
bất thường dựa trên PCA
44
Hình 2.1 là mô hình chung của hệ thống phân tích, phát hiện lưu lượng bất thường
dựa trên PCA.
Mô hình bao gồm những thành phần sau:
Thu thập, tiền xử lý dữ liệu, tách thuộc tính: Lưu lượng mạng được thu thập bởi
bộ bắt gói tin hoặc luồng tin. Nếu thực hiện thu thập lưu lượng trên một máy tính có
thể dùng các công cụ như tcpdump, flowdump. Dữ liệu được tiền xử lý, tách các
thuộc tính khối lượng và đặc trưng sử dụng cho quá trình phân tích, phát hiện bất
thường.
Bộ biến đổi PCA: Dữ liệu sau quá trình chuẩn hóa được biến đổi để chuyển
sang miền dữ liệu của PCA. Sau quá trình này, kết quả thu được gồm các cặp vectơ
riêng và trị riêng (ei, λi) cùng với giá trị thành phần chính yi của mỗi quan sát. Các
cặp vectơ riêng/trị riêng có thể được tính từ ma trận tương quan hoặc ma trận hiệp
phương sai. Các thành phần chính được xếp theo thứ tự giảm dần của trị riêng
tương ứng.
Module phân tích và phát hiện bất thường: Dữ liệu sau khi phân tích bởi PCA
tiếp tục được đưa đến module phát hiện bất thường. Tại đây sẽ thực hiện việc phân
tích những thành phần chính nào sử dụng để phát hiện bất thường, tính khoảng
cách, thiết lập mức ngưỡng, tạo tập tham số trạng thái bình thường (profile). Từ
profile đã tạo sẽ so sánh với những dữ liệu cần kiểm tra để phát hiện bất thường.
Cảnh báo: Kết quả phát hiện được đưa ra cảnh báo. Hiện nay kết quả này
thường cần phân tích bởi người quản trị hệ thống để tìm hiểu thêm nguyên nhân của
những cảnh báo xuất hiện.
2.3. Công thức tính khoảng cách thống kê trong phân tích và phát hiện lƣu
lƣợng bất thƣờng
Như đã trình bày trong phần 1.3.2 của chương 1, hầu hết các phương pháp phân
tích đa biến đều dựa vào tính khoảng cách thống kê để phát hiện bất thường. Các
phương pháp tính khoảng cách phổ biến là khoảng cách Euclidean, bình phương
Euclidean, Mahalanobis. Những phương pháp khác như khoảng cách Mahattan (hay
45
City Block), khoảng cách Minkowski, khoảng cách Canberra chủ yếu chỉ được sử
dụng trong các bài toán thống kê [5, 27-29].
Việc xác định hệ thống ở trạng thái bình thường hay bất thường phụ thuộc vào độ
lệch hay khoảng cách thống kê (gọi tắt là khoảng cách) của điểm đang xét từ trạng thái
bình thường. Do các phương pháp dựa trên PCA sử dụng cách tính khoảng cách khác
nhau, câu hỏi đặt ra là những cách tính này có ưu nhược điểm gì, ảnh hưởng đến kết
quả phát hiện bất thường ra sao. Cho tới nay vẫn chưa có một công thức bao quát cho
tính khoảng cách để từ đó phân tích đưa ra các tham số phù hợp với mục tiêu giảm độ
phức tạp tính toán song vẫn đạt hiệu quả.
Trong phần này, luận án đề xuất một công thức mới cho tính khoảng cách dựa theo
công thức Minkowski song có bổ sung thêm trọng số. Cơ sở lý thuyết của việc đề xuất
này được trình bày ở phần sau đây.
2.3.1. Khoảng cách Euclidean và bình phương khoảng cách Euclidean
(2.1)
Khoảng cách Euclidean giữa 2 điểm x và µ được tính như sau 27-29]:
Trong đó: x, µ là các điểm dữ liệu (quan sát, vector), p là số lượng thuộc tính ban
đầu và là số biến đầu vào, x = (x1, x2,…, xp) và µ = (µ1, µ2,…, µn).
(2.2)
Công thức này có thể viết lại thành:
(2.3)
Khi tính khoảng cách Euclidean trong miền con PCA đến gốc tọa độ, ta được:
Trong thực tế, khi so sánh các giá trị khoảng cách Eulidean có thể dùng bình
(2.4)
phương của khoảng cách.
2.3.2. Bình phương khoảng cách Euclidean có trọng số
46
Với dữ liệu đa biến, mỗi biến có thể có độ biến thiên hoặc đơn vị khác nhau.
Những biến có xu hướng tạo ra giá trị lớn sẽ chiếm phần nhiều trong khoảng cách
Euclidean. Vì vậy cần có trọng số phù hợp với mỗi biến để làm giảm sự sai lệch trong
công thức tính khoảng cách Euclidean. Bình phương khoảng cách Euclidean trọng số
(2.5)
(Weighted Euclidean distance) đã khắc phục được một phần của nhược điểm này:
i là trọng số của mỗi biến. 2
i
Trong đó trọng số thường được lựa chọn là wi=1/2
là phương sai của mỗi biến.
Bằng cách chuẩn hóa với trọng số thích hợp, sự đóng góp của mỗi biến vào
khoảng cách sẽ đồng đều hơn. Điều này có thể giảm được độ sai lệch do sự biến thiên
không đồng đều giữa các biến hoặc khác biệt về đơn vị đo.
2.3.3. Khoảng cách Mahalanobis
Công thức (2.7) không tính đến tính tương quan giữa các biến. Để xét đến yếu tố
(2.6)
Mahalanobis là bình phương khoảng cách Mahalanobis giữa x và µ.
này, có thể sử dụng thuật toán tính bình phương khoảng cách Mahalanobis [5]:
trong đó: 2 S-1 là nghịch đảo của ma trận hiệp phương sai giữa x và y. Vai trò của S cũng là
trọng số để giảm sự khác biệt giữa các biến.
Công thức tính khoảng cách (2.8) vừa tính đến phương sai của từng biến đồng thời
tính đến cả hiệp phương sai giữa các biến. Thực chất, khoảng cách Mahalanobis
chuyển dữ liệu thành dữ liệu không tương quan và tính khoảng cách Euclidean trọng
số trong miền dữ liệu đó. Như chương 1 đã trình bày, bình phương khoảng cách
(2.7)
Mahalanobis đến tâm của tập dữ liệu khi chuyển sang miền con PCA được tính bằng:
Đây cũng chính là thống kê T2 với đầy đủ p thành phần chính với giả thiết các biến
ban đầu tuân theo phân bố chuẩn đa chiều.
47
2.3.4. Khoảng cách Manhattan
Khoảng cách Manhattan (còn gọi là khoảng cách City Block) [76, 5] được biểu thị
(2.8)
như sau:
Khi chuyển sang miền con PCA và tính khoảng cách đến gốc tọa độ ta được:
Hình 2.2 minh họa ý nghĩa hình học của khoảng cách Euclidean và Manhattan giữa
x và µ trong không gian 2 chiều.
Hình 2.2. Khoảng cách Euclidean và Manhattan trong không gian 2 chiều
2.3.5. Khoảng cách Minkowski
Khoảng cách Minkowski giữa hai điểm dữ liệu (quan sát) x và µ được định nghĩa
như sau 76, 5]:
, c ≥ 1; (2.9)
Khoảng cách Minkowski được coi là trường hợp tổng quát của khoảng cách
Euclidean và khoảng cách Manhattan. Khi c=2, công thức (2.12) chính là khoảng cách
Euclidean. Khi c=1, công thức (2.12) chính là khoảng cách Manhattan.
Trong thực tế, để không phải tính căn bậc c của khoảng cách Minkowski, ta có thể
(2.10)
viết lại công thức để tính khoảng cách thống kê như sau:
Trong đó d trong công thức (2.10) cũng đóng vai trò là khoảng cách.
48
2.4. Công thức Minkowski bổ sung trọng số trong miền con PCA
Khi chuyển sang miền con PCA (chuyển từ các giá trị xi sang yi), khoảng cách
(2.11)
Minkowski từ mỗi quan sát đến tâm (gốc tọa độ của miền con PCA) sẽ là:
Theo [76, 5], công thức Minkowski có thể coi là một công thức thống kê tổng
quát. Theo khảo sát của nghiên cứu sinh đến thời điểm này, vẫn chưa có công trình
nào áp dụng công thức Minkowski trong miền con PCA trong phương pháp phân tích
và phát hiện lưu lượng bất thường. Vì vậy áp dụng công thức Minkowski nguyên gốc
trong miền con PCA vào phương pháp phân tích và phát hiện lưu lượng bất thường
cũng là một đóng góp mới.
Tuy nhiên, tương tự như lập luận ở bình phương khoảng cách Euclidean có trọng
số và khoảng cách Mahalanobis mục 2.3.2 và 2.3.3, mỗi biến có thể có độ biến thiên
hoặc đơn vị khác nhau nên cần có trọng số để khắc phục vấn đề này. Vì vậy, luận án
(2.12)
bổ sung trọng số wi trong công thức tính khoảng cách trong miền con PCA như sau:
Trong đó:
d là khoảng cách hình thành từ các giá trị thành phần chính yi và trọng số wi tương
ứng.
wi là trọng số cho thành phần chính yi
c là số mũ của |yi| và là hằng số.
p là số thuộc tính ban đầu và là số biến đầu vào
Công thức (2.12) tính khoảng cách với tất cả các thành phần chính (từ 1 đến p). Để
tính khoảng cách có thể không cần toàn bộ PC (ví dụ: chỉ cần dùng PC thứ yếu). Vì
(2.13)
vậy công thức (2.12) trở thành:
49
Trong đó: 1 ≤ r ≤ q ≤ p
Công thức (2.13) là thuật toán tính khoảng cách tổng quát được đề xuất trong
luận án. r và q được chọn một cách linh hoạt tùy vào trường hợp trong dPCA:
- Nếu tính khoảng cách với tất cả PC, ta có r=1 và q=p như công thức (2.12).
- Nếu tính cho m PC đầu (PC chủ yếu), công thức (2.13) trở thành:
(2.14)
Trong đó: q= m < p
(2.15)
- Nếu tính cho k PC cuối (PC thứ yếu), công thức (2.13) trở thành:
Trong đó: 1< r
- Bên cạnh đó i, r, q có thể thay đổi với bất kỳ PC nào trong khoảng 1 đến p, ví
dụ tính khoảng cách từ r đến q cho các PC nằm giữa 1 đến p. Trong trường hợp
muốn phát hiện bất thường trên một PC đơn lẻ, ta có i=r=q.
Công thức tổng quát nêu trên được xây dựng từ công thức Minkowski đã được
luận án bổ sung thêm trọng số wi. Trong miền con PCA, nếu chọn tham số thích hợp,
ta sẽ thu được những công thức tính khoảng cách Euclidean, Euclidean trọng số,
Mahalanobis. Ngoài ra, với những tham số khác, luận án sẽ chứng tỏ rằng có thể áp
dụng để phát hiện bất thường trong miền con PCA với hiệu quả tương đương.
Trong phần sau đây, luận án sẽ chỉ ra các công thức tính khoảng cách với phương
pháp PCA trong nhiều công trình nghiên cứu trước đây là các trường hợp riêng của
công thức tính khoảng cách (2.13).
2.4.1. So sánh cách tính khoảng cách trong các phương pháp PCA điển hình trước
đây với công thức đề xuất
Trong phần này, luận án so sánh cách tính khoảng cách của các phương pháp PCA
của những công trình điển hình đã có bao gồm: phương pháp phân tích phần dư, phương pháp dựa trên thống kê T2.
2.4.1.1. hương pháp ph n tích phần dư
50
Như đã trình bày trong chương 1 (mục 1.3.2.1), phương pháp phân tích phần dư
của Lakhina trong các công trình điển hình [33, 36] tập trung vào việc phân tích độ lớn của ||z(A)||2 để phát hiện bất thường.
Theo Wang [72, 73], thực chất của phương pháp này là tính bình phương khoảng
cách Eulidean giữa z và z(N) như sau:
Theo [55] khi chuyển sang miền con PCA, công thức trên trở thành:
Do đó, xét trong miền con PCA, thực chất khoảng cách của phương pháp phân
tích phần dư của những nghiên cứu đã có là phép tính bình phương khoảng cách
Euclidean áp dụng với các PC thứ yếu.
Như vậy công thức sử dụng trong phương pháp phân tích phần dư của các công
trình này tương đương với trường hợp riêng của công thức (2.13) do luận án đề xuất áp
dụng c=2 và wi=1. Điểm khác biệt là thay vì chuyển đổi ngược các PC của vùng bình
thường S(N) để thu được z(N) và thực hiện tính d, luận án tính trực tiếp d trong miền con
PCA. 2.4.1.2. hương pháp sử dụng thống kê T2
Như đã trình bày trong chương 1 (mục 1.3.2.2), công thức tính thống kê T2 trong
các nghiên cứu của Lakhina và Shyu [34, 36, 58] cũng là công thức tính khoảng cách
(2.16)
Mahalanobis. Trong miền con PCA, công thức tính khoảng cách được áp dụng là:
Như vậy công thức sử dụng tính thống kê T2 trong các công trình đã khảo sát là
trường hợp riêng của công thức (2.13) do luận án đề xuất áp dụng với tham số c=2,
wi=1/λi.
2.5. Phƣơng pháp dPCA [CT7, CT8]
Luận án đề xuất phương pháp dPCA (Distance-based anomaly detection method
in PCA subspace) là phương pháp phân tích và phát hiện bất thường dựa trên khoảng
51
cách trong miền con PCA. Phương pháp dPCA sử dụng công thức tính khoảng cách
(2.13) đã được trình bày ở trên. Việc áp dụng các tham số nào trong dPCA được trình
bày ở phần tiếp theo.
2.5.1. Lựa chọn các tham số để tính khoảng cách trong dPCA
Bằng cách thay đổi các trọng số wi và tham số c, ta có thể thiết lập linh hoạt các
tham số cho công thức tính khoảng cách (2.13). Chọn trọng số thích hợp có thể làm
giảm sự khác biệt về mức độ biến thiên theo phương sai của mỗi PC trong khoảng
cách d.
Về lý thuyết có thể thiết lập những tham số khác nhau trong công thức (2.13).
Nhưng hiện tại nghiên cứu sinh mới chỉ có thể áp dụng c=2 và c=1 cùng với trọng số
wi tương ứng. Những khoảng cách đề xuất với c=1 là đóng góp mới của luận án trong
dPCA.
Trị riêng i đóng vai trò là phương sai tương ứng với PC thứ i trong miền con
PCA. Giá trị của các yi sẽ quyết định quan sát đó là bất thường hay không. Giá trị yi
của một PC với trị riêng nhỏ có thể coi là bất thường tại PC đó nhưng cũng có thể chỉ
hơn hoặc bằng giá trị yj bình thường (không phải bất thường) của PC có j lớn hơn.
Khi lấy tổng của |yi| và |yj| trong công thức tính khoảng cách, giá trị bất thường trong yi
bị mất đi. Vì vậy có thể dùng wi tính theo i để làm giảm sự khác biệt về độ lớn giữa
các yi tại những PC có sự chênh lệch đáng kể về trị riêng. Ngoài ra, có thể phân tích
giá trị của từng yi để phát hiện bất thường trong mỗi PC đơn lẻ (trường hợp này
khoảng cách chỉ tính cho một PC).
Khi thay đổi wi trong công thức (2.13), các khoảng cách với wi=1 được gọi là
khoảng cách không trọng số. Khi wi 1 là khoảng cách có trọng số.
(2.17)
Đặt c=2, công thức (2.13) trở thành:
- Đặt wi=1, công thức (2.17) trở thành
52
(2.18)
Đây chính là công thức tính bình phương khoảng cách Euclidean trong miền con
PCA với (q-r+1) PC. Công thức này tương đương với công thức được áp dụng trong
phương pháp phân tích phần dư của các nghiên cứu đã khảo sát trong chương 1 (mục
1.3.2.1).
- Trường hợp trọng số wi 1:
Về lý thuyết có thể chọn nhiều giá trị wi khác nhau nhưng cách thường dùng là
chuẩn hóa theo phương sai. Do trị riêng λi đóng vai trò là phương sai trong miền con
(2.19)
PCA nên có thể đặt wi=1/λi . Như vậy:
Đây chính là công thức tính bình phương khoảng cách Euclidean trọng số và đồng
thời là bình phương khoảng cách Mahalanobis trong miền con PCA. Điều này bởi vì
PCA đã làm mất đi tính tương quan giữa các thành phần chính. Công thức (2.19) là
công thức đã được áp dụng trong các nghiên cứu đã khảo sát trong chương 1 (mục
1.3.2.2).
(2.20)
Đặt c=1, công thức (2.13) trở thành:
Những công thức với c=1 là đóng góp mới của luận án so với những công trình
dựa trên phương pháp PCA đã có.
(2.21)
- Nếu wi =1 công thức (2.20) trở thành:
Đây chính là công thức tính khoảng cách Manhattan trong miền con PCA.
- Trường hợp trọng số wi 1:
53
Do trị riêng đóng vai trò là phương sai trong miền con PCA nên có thể đặt trọng số
, công thức của |yi| bằng căn bậc hai của trị riêng tương ứng. Như vậy đặt
(2.22)
(2.20) trở thành:
Nhận xét:
- wi=1 phù hợp khi tính d với các thành phần chính khi sự chênh lệch giữa các
trị riêng không lớn, đặc biệt là những PC thứ yếu.
- wi 1 phù hợp khi tính d với các thành phần chính khi có sự chênh lệch
đáng kể giữa các trị riêng. Sự chênh lệch thường nằm ở những PC chủ yếu
hoặc khi dùng tất cả PC để tính khoảng cách.
- Độ phức tạp của thuật toán tính khoảng cách:
o Khi c=2 độ phức tạp là O(kn2) với k là số C được sử dụng, n là số
lượng quan sát được tính khoảng cách.
o Khi c=1 độ phức tạp là O(kn).
o Như vậy, khi c=1, độ phức tạp của thuật toán tính khoảng cách giảm
đi so với c=2. Do đó có thể sử dụng c=1 để giảm độ phức tạp trong
tính khoảng cách của dPCA so với cách tính trong các công trình
nghiên cứu điển hình dựa trên CA trước đ y.
Phần tiếp theo đề xuất phương pháp dPCA hoạt động chế độ phân cấp.
2.5.2. Sự phân cấp của dPCA
Hình 2.3 mô tả chế độ hoạt động của phương pháp dPCA. Trong đó dPCA hoạt
động theo 2 cấp:
Cấp 1: dPCA sử dụng PC thứ yếu để tính khoảng cách. Trong trường hợp cần
thiết có thể sử dụng tất cả PC và bỏ qua cấp 2. Phương pháp này cần 1 mức
ngưỡng cho khoảng cách được gọi là dPCA1T (dPCA with 1 threshold). Khi sử
dụng tất cả PC để tính khoảng cách d, có thể phát hiện được bất thường có đột
biến xuất hiện ở những PC khác nhau. Tuy nhiên sử dụng tất cả PC để tính
54
khoảng cách với dPCA1T chỉ được áp dụng khi số thuộc tính p ban đầu không
quá lớn vì sẽ tốn nhiều tài nguyên của hệ thống và nên đặt trọng số wi 1.
Hình 2.3. Phân cấp trong phương pháp dPCA
Cấp 2: Cấp 2 có các chế độ hoạt động
- Hoạt động song song với cấp 1: Chế độ song song sử dụng PC chủ yếu để
tính khoảng cách đồng thời với khoảng cách dùng PC thứ yếu tại cấp 1.
- Hoạt động dự phòng cho cấp 1: Chế độ dự phòng chỉ sử dụng PC chủ yếu để
tính khoảng cách với những dữ liệu đã được phát hiện là bình thường tại cấp 1
để tìm những bất thường mà cấp 1 có thể bỏ sót. Ưu điểm của phương pháp
này là không cần tính đồng thời tất cả dữ liệu với cả 2 cấp do đó giảm được số
lượng dữ liệu mà cấp 2 cần xử lý. Nhược điểm là phải chờ sau khi cấp 1 xử lý
xong, dữ liệu coi là bình thường mới chuyển đến cấp 2.
- Xét từng PC để phát hiện bất thường nếu cần thiết: phương pháp này khó
phân tích đồng thời nhiều PC và phải thiết lập mức ngưỡng cho từng PC.
Khi sử dụng cả PC thứ yếu và PC chủ yếu để tính khoảng cách, mỗi khoảng cách
cần có một mức ngưỡng riêng nên phương pháp này được luận án đặt tên là dPCA2T
(dPCA with 2 thresholds). dPCA2T có thể phát hiện thêm bất thường với khoảng cách
sử dụng PC chủ yếu nhưng đồng thời cũng làm tăng tỷ lệ cảnh báo sai.
Số lượng PC sử dụng trong khoảng cách tại cấp 1 và cấp 2:
Qua những nghiên cứu đã khảo sát cùng với sự đánh giá dựa trên dữ liệu thực tế,
nghiên cứu sinh thấy rằng số lượng các PC chủ yếu và thứ yếu thường được xác định
theo thực nghiệm. Thử nghiệm cho thấy PC thứ yếu tại cấp 1 có kết quả phát hiện tốt
55
nếu tổng trị riêng các PC này trong khoảng 5% đến 15% của tổng tất cả trị riêng (ứng
với k =3 đến k=5 PC cuối cùng). Cấp 2 có thể linh hoạt lựa chọn số lượng PC tùy theo
điều kiện thực tế. Trong luận án số PC chủ yếu tại cấp 2 được lựa chọn trong khoảng
50% tổng tất cả trị riêng (theo 58, 59]) tương ứng với k ≤ 4 PC đầu tiên. Khi cần thiết
phát hiện bất thường với nhiều PC hơn thì tăng số PC chủ yếu lên.
Luận án đánh giá một đặc điểm sau đây của phương pháp 2 mức ngưỡng trong đó
sử dụng cả khoảng cách của PC chủ yếu và thứ yếu mà những công trình trước đó 58,
34, 36, 14, 54, 10] chưa đề cập đến: Do phát hiện c ng l c bất thường ở cả C chủ
yếu v thứ yếu, phương pháp n y cho kết quả phát hiện bất thường (T R) cao hơn một
chút so với chỉ sử dụng PC thứ yếu. Tuy nhiên phương pháp 2 mức ngưỡng thường
cũng trả giá bằng t lệ cảnh báo sai (F R) cao hơn v tốn nhiều t i nguyên hơn.
Trong những hệ thống thực tế, thông thường số lượng dữ liệu bình thường chiếm đa số
so với bất thường. Vì vậy nếu tỷ lệ cảnh báo sai (FPR) tăng lên một chút cũng làm cho
số lượng dữ liệu bình thường phát hiện sai là bất thường tăng lên nhiều. Ví dụ: dữ liệu
bình thường chiếm 90%, bất thường chiếm 10%, như vậy chỉ 1% dữ liệu bình thường
phát hiện nhầm là bất thường cũng gây ra số lượng lớn cảnh báo sai. Do đó tính
khoảng cách với cả PC chủ yếu và thứ yếu liên tục như trong các công trình đã khảo
sát có thể vừa tốn năng lực xử lý, tài nguyên của hệ thống vừa làm tăng FPR không
cần thiết.
Khi trạng thái bình thường trong profile thiết lập tốt, phần lớn những bất thường
trong PC chủ yếu đã được phát hiện với PC thứ yếu tại cấp 1. Trong trường hợp số
lượng bất thường phát hiện được với cấp 2 không hiệu quả vì cấp 1 đã hoạt động tốt
thì tùy theo điều kiện thực tế có thể giảm tần suất kiểm tra tại cấp 2 hoặc tắt h n cấp 2
nhằm giảm tỷ lệ cảnh báo sai (FPR) trong điều kiện dữ liệu bình thường chiếm đa số
và giảm mức độ tính toán.
2.5.3. Thiết lập mức ngưỡng
Thiết lập mức ngưỡng là một vấn đề khó trong các phương pháp phát hiện lưu
lượng bất thường nói chung. Mức ngưỡng là tham số rất “nhạy cảm” giữa tỷ lệ phát
56
hiện bất thường chính xác (đúng) và tỷ lệ cảnh báo sai (phát hiện nhầm dữ liệu bình
thường là bất thường).
Một phương pháp là giả định mô hình tuân theo phân bố thống kê biết trước và
ước lượng tỷ lệ sai số α từ đó tìm mức ngưỡng từ xác suất của (1- α). Một số phân bố
thống kê có mức ngưỡng tra được ở dạng bảng (ví dụ: phân bố F, phân bố Chi-square
2) [58, 34, 36]. Trong lĩnh vực phát hiện bất thường, α đóng vai trò là tỷ lệ cảnh báo
sai ước lượng.
Phương pháp thứ hai là ước lượng mức ngưỡng dựa trên thực nghiệm. Trong luận
án, việc thiết lập mức ngưỡng dựa trên hàm phân bố tích lũy thực nghiệm của d.
Trong xác suất thống kê, hàm phân bố tích luỹ (Cumulative distribution function -
(2.23)
F(t) = P(d ≤ dN)
CDF) được định nghĩa như sau [66]:
nghĩa là xác suất để khoảng cách d nhỏ hơn hoặc bằng mức ngưỡng dN.
Hàm phân bố tích lũy thực nghiệm (Empirical cumulative distribution function -
(2.24)
ECDF) là hàm ước tính dựa trên dữ liệu thực nghiệm của hàm phân bố tích luỹ [67]:
Trong đó: n là tổng số quan sát trong tập dữ liệu, I là hàm chỉ thị, di là khoảng
(2.25) ECDF không tra bảng như phân bố thống kê F hoặc 2 mà xác định dựa trên thực
cách của quan sát thứ i:
nghiệm. Từ α là tỷ lệ cảnh báo sai ước lượng, ta có thể tính khoảng cách với mức
ngưỡng dN tương ứng với (1- α) của hàm phân bố tích lũy thực nghiệm. Ví dụ: với α =
5%, mức ngưỡng lựa chọn tương ứng với 95% của ECDF. Tùy thuộc áp dụng
dPCA1T hoặc dPCA2T, sẽ cần thiết lập một hoặc hai mức ngưỡng với ECDF.
2.5.4. Quá trình tạo profile và phát hiện bất thường trong dPCA
57
Để tính được khoảng cách d cần thiết phải tạo profile từ tập dữ liệu mẫu (gọi tắt là
tập mẫu) dựa trên điều kiện bình thường của lưu lượng mạng. Từ tập hợp các giá trị của
d được với tập dữ liệu mẫu sạch (không chứa bất thường) sẽ thiết lập được giá trị
ngưỡng dN để phát hiện bất thường.
Tạo profile
Hình 2.4 mô tả quá trình tạo profile trong phương pháp dPCA. Quá trình tạo
profile được thực hiện như sau:
- Lựa chọn p thuộc tính đầu vào phù hợp: X1, X2,… Xp. Các thuộc tính của n điểm
(vector) tạo thành ma trận X (n hàng, p cột).
- Tạo tập dữ liệu mẫu: Tập dữ liệu mẫu được tạo dựa trên trạng thái bình thường
của lưu lượng mạng. Vì vậy tập dữ liệu mẫu cần sạch hay không chứa bất
thường (hay ngoại lai). Việc làm sạch mẫu (khử ngoại lai) được trình bày trong
chương 3 của luận án.
- Chuẩn hóa dữ liệu đầu vào: Chuẩn hóa thống kê với giá trị trung bình và độ
lệch chuẩn của mỗi cột trong X.
- Tính ma trận tương quan, từ đó tính các cặp vectơ riêng, trị riêng, các thành
phần chính. Cũng có thể áp dụng phương pháp SVD để thực hiện bước này.
- Sắp xếp các thành phần chính theo thứ tự giảm dần của trị riêng.
- Tính khoảng cách của mỗi điểm theo dPCA1T hoặc dPCA2T.
- Xây dựng hàm phân bố tích lũy thực nghiệm dựa trên khoảng cách tính được và
xác suất. Lựa chọn mức ngưỡng theo sai số hoặc tỷ lệ cảnh báo sai ước lượng.
Cũng có thể áp dụng phân bố thống kê T2 hoặc 2 để tính mức ngưỡng trong
một số trường hợp.
58
Hình 2.4. Tạo profile trong dPCA
Phát hiện bất thường
Sau khi xây dựng được profile, những quan sát mới được chuyển vào miền con
PCA và tính khoảng cách để phát hiện bất thường. Quá trình này mô tả trên hình 2.5
và được thực hiện như sau:
- Chuẩn hóa dữ liệu mỗi điểm dữ liệu mới với giá trị trung bình và độ lệch chuẩn
lấy từ profile.
- Tính giá trị thành phần chính theo các vectơ riêng trong profile.
- Tính khoảng cách theo dPCA1T hoặc dPCA2T. So sánh giá trị khoảng cách
tính được với giá trị ngưỡng.
59
Hình 2.5. Phát hiện bất thường trong dPCA
Với dPCA1T:
Một điểm dữ liệu hoặc quan sát được coi là bất thường nếu:
(2.26)
Trong đó: (1 ≤ r ≤ p)
Ngược lại điểm đó được coi là bình thường.
Với dPCA2T:
(2.27)
với m < r
Một điểm dữ liệu được coi là bất thường nếu:
(2.28)
Ngược lại để một điểm dữ liệu là bình thường thì:
60
Trong đó: d1 và d2 là khoảng cách tương ứng tính với PC chủ yếu và thứ yếu; dN1 và
dN2 là mức ngưỡng tương ứng của d1 và d2; OR và AND là các phép tính logic.
2.6. Thử nghiệm, đánh giá kết quả
Quá trình thử nghiệm có mục tiêu đánh giá khả năng phát hiện của phương pháp
dPCA. Các thông số đánh giá được trình bày trong phần tiếp theo. Quá trình thử
nghiệm được thực hiện trên phần mềm Matlab. Như đã trình bày trong những phần
trên, để mô hình hóa trạng thái bình thường của hệ thống cần có tập dữ liệu mẫu và tạo
được profile; từ đó so sánh những quan sát mới với mức ngưỡng để phát hiện bất
thường. Phần này đánh giá hiệu quả của phương pháp dPCA với các tham số khác
nhau, so sánh với phương pháp đã có.
Công thức được áp dụng tính khoảng cách là (2.13) với các bộ tham số khác nhau.
Trường hợp c=2, wi=1, phương pháp dPCA1T tương tự phương pháp phân tích
phần dư đã có.
Trường hợp c=2, wi = 1/i, phương pháp dPCA1T tương tự công thức đã được sử
dụng trong các công trình đã có sử dụng khoảng cách Mahalanobis. Các công trình này
sử dụng 2 mức ngưỡng tính khoảng cách với cả thành phần chính chủ yếu và thứ yếu
(2 mức ngưỡng). Điểm khác biệt của luận án với những công trình này là luận án đánh
giá cả trường hợp chỉ sử dụng các thành phần chính thứ yếu trong tính khoảng cách
(dPCA1T) với c=2, wi = 1/i nhưng vẫn đạt kết quả phát hiện chấp nhận được [CT5,
CT6, CT7]. Trường hợp áp dụng cả thành phần chính chủ yếu và thứ yếu (dPCA2T)
để phát hiện bất thường luận án có thể sử dụng các tham số linh hoạt hơn thay vì luôn
sử dụng c=2.
Trường hợp c=1 cùng với trọng số wi là đề xuất mới của dPCA. Theo phân tích ở
. mục 2.5.1, trọng số wi được lựa chọn là wi=1 hoặc
2.6.1. Các sự kiện và thông số đánh giá độ chính xác
Độ chính xác là thông số quan trọng nhất của hệ thống phát hiện bất thường. Độ
chính xác được tính dựa trên tỷ lệ phát hiện đúng và sai của dữ liệu được kiểm tra. Khi
hệ thống phát hiện một quan sát là bất thường sẽ đưa ra cảnh báo, ngược lại là bình
thường sẽ không cảnh báo. Các sự kiện và thông số đánh giá độ chính xác bao gồm:
61
Cảnh báo đúng (True Positive - TP): Số lượng quan sát bất thường được phát
hiện chính xác.
Cảnh báo sai (False Positive - FP): Số lượng quan sát bị phát hiện nhầm là bất
thường nhưng thực tế lại là bình thường.
Không cảnh báo đúng (True Negative - TN): Số lượng quan sát bình thường
được phát hiện chính xác.
Không cảnh báo sai (False Negative - FN): Số lượng quan sát được phát hiện là
bình thường nhưng thực tế lại là bất thường.
TPR (True Positive Rate), còn gọi là Recall: Tỷ lệ giữa số quan sát bất thường
(2.29)
phát hiện chính xác và tổng số quan sát bất thường thử nghiệm.
Trong đó: Tổng số quan sát bất thường thực tế = TP + FN.
TPR t lệ thuận với TP theo công thức (2.29) vì số lượng quan sát bất thường phát
hiện đ ng c ng nhiều thì TPR càng cao.
FPR (False Positive Rate): Tỷ lệ giữa số quan sát bình thường bị phát hiện sai là
(2.30)
bất thường và tổng số quan sát bình thường thử nghiệm.
Trong đó: Tổng số quan sát bình thường thực tế = TN + FP.
FPR t lệ nghịch với TN theo công thức (2.30) vì số lượng quan sát bình thường
phát hiện đ ng c ng nhiều thì t lệ cảnh báo sai FPR càng giảm.
Những thông số thường dùng để đánh giá độ chính xác là TPR, FPR [5, 58, 72].
Ngoài ra, trong một số phần thử nghiệm, luận án sử dụng thêm biểu đồ biểu thị số
lượng quan sát bất thường phát hiện đúng (TP ) và số lượng quan sát bình thường phát
hiện đúng (TN) để minh họa, làm rõ thêm cho tỷ lệ TPR và FPR trình bày ở dạng
bảng.
2.6.2. Đồ thị ROC
62
Đồ thị ROC (Receiver Operating Curve) (hình 2.6) [5] dùng để biểu diễn khoảng
cách theo mối quan hệ giữa tỷ lệ TPR và FPR. ROC hay được sử dụng để đánh giá khả
năng phát hiện bất thường của phương pháp đề xuất [5, 6, 30, 58, 59, 77, 72, 73].
Hình dạng của đường cong ROC sẽ cho biết dự đoán trong trường hợp khảo sát có khả
năng đạt hiệu quả tốt hay không.
Hình 2.6. Đồ thị ROC
- Đường cong càng đi dọc theo biên trái trục tung và rồi đi dọc theo biên phía trên
nằm ngang của không gian vẽ đồ thị chứng tỏ kết quả dự đoán càng chính xác.
Ví dụ trên hình 2.6 biểu diễn đồ thị của 3 đường cong thì đường cong tốt nhất là
C rồi đến B và A. Độ chính xác tối ưu (Perfect accuracy) đạt được nếu
TPR=100% và FPR=0%.
- Đường cong càng tiến tới thành đường chéo 45 độ (đường nét đứt) thì độ chính
xác của dự đoán càng kém.
2.6.3. Lựa chọn tập dữ liệu thử nghiệm
Trong thử nghiệm, việc tổng hợp dữ liệu lưu lượng bắt được từ những công cụ như
tcpdump, flowdump thành các thuộc tính cho từng kết nối, kiểm tra và đánh nhãn mỗi
kết nối là bình thường hay bất thường là rất khó. Một số nghiên cứu tự tạo ra tập dữ liệu
63
mô phỏng thường không được đánh nhãn và số lượng hoặc tỷ lệ giữa các loại kết nối
(connection) hoặc luồng (flow) bình thường và bất thường quá chênh lệch nên rất khó
đánh giá hiệu suất phát hiện của phương pháp đề xuất. Mặc khác không có gì chắc chắn
là tập dữ liệu mô phỏng tạo ra được đánh giá cao hơn tập dữ liệu được chấp nhận và sử
dụng rộng rãi như tập dữ liệu KDD [69].
Vì vậy giải pháp thường được sử dụng trong hầu hết các công trình nghiên cứu tới
nay là đánh giá phương pháp và mô hình thử nghiệm trên tập dữ liệu có sẵn. Cụ thể là
các tập dữ liệu KDDCUP99 [69] và đặc biệt là tập Kyoto Honeypot [60, 61]. Kyoto
Honeypot là tập dữ liệu thật thu được từ mạng Internet, có một lượng dữ liệu khá lớn
thu trong một vài năm. Việc lựa chọn một tập dữ liệu đã đánh nhãn và biết đến rộng rãi
trong khoa học là cần thiết. Với những lý do trên, luận án lựa chọn giải pháp sử dụng
tập dữ liệu có sẵn khi thử nghiệm.
Tập dữ liệu Kyoto Honeypot là tập dữ liệu thực tế thu được tại hệ thống “bẫy” tổ
ong (Honeypot) của đại học Kyoto (Nhật Bản) [60, 61]. Honeypot được sử dụng với
mục đích đánh lừa tin tặc tấn công vào hệ thống này để thu thập dữ liệu cho việc phân
tích dấu vết. Lưu lượng thu được từ hệ thống Honeypot có điểm đặc biệt là phần lớn
các bất thường có nguồn gốc từ Internet. Các thuộc tính chủ yếu là những thuộc tính
lưu lượng của lớp mạng (network layer) và lớp giao vận (transport layer). Những thuộc
tính này tương tự như những thuộc tính lưu lượng trong KDDCUP99. Số thuộc tính
tương đương với KDDCUP 99 là 14. Ngoài ra, Honeypot bổ sung thêm các thuộc tính
từ các ứng dụng (như chương trình phát hiện mã độc) để có thể phát hiện bất thường tại
lớp ứng dụng. Chi tiết về các thuộc tính của Kyoto Honeypot được mô tả trong [60].
Kyoto Honeypot có ưu điểm là tập dữ liệu thực nên không giống như những tập dữ
liệu được tạo ra trong môi trường mô phỏng (synthetic dataset), dữ liệu trong Kyoto
Honeypot phản ánh được tính khách quan của các sự kiện bất thường của lưu lượng
mạng Internet thu được. Kyoto Honeypot được tổ chức theo cơ sở dữ liệu. ỗi d ng
hoặc bản ghi l một kết nối (connection) chứa các thuộc tính tương ứng với một quan
sát. Bảng 2.1 liệt kê các thuộc tính của tập dữ liệu Kyoto Honeypot được sử dụng
trong phần thử nghiệm. Với phạm vi luận án là phát hiện bất thường trên lưu lượng
64
mạng, những thuộc tính được lựa chọn chủ yếu liên quan đến lớp mạng và lớp giao
vận.
Bảng 2.1. Thuộc tính dùng trong thử nghiệm của tập dữ liệu Kyoto Honeypot
Ý nghĩa
Thuộc tính duration service src_bytes dst_bytes
count
same_srv_rate serror_rate
srv_serror_rate
dst_host_count
dst_host_srv_count
dst_host_same_src_port_rate
Thời gian của kết nối Mã của loại dịch vụ Số lượng byte gửi từ nguồn đến đích Số lượng byte gửi từ đích về nguồn Số lượng kết nối đến cùng địa chỉ đích đang xét trong 2s Số lượng kết nối trong count có cùng kiểu dịch vụ % số kết nối có lỗi đồng bộ SYN % số kết nối có lỗi đồng bộ SYN và cùng kiểu dịch vụ trong thời gian 2s với kết nối hiện tại Trong các kết nối có cùng địa chỉ đích, số lượng kết nối đến có cùng địa chỉ nguồn với kết nối đang xét Trong các kết nối có cùng địa chỉ đích, số lượng kết nối có cùng dịch vụ đích với kết nối đang xét % số kết nối có cùng cổng nguồn với kết nối đang xét trong trường dst_host_count % số kết nối có lỗi SYN trong dst_host_count % số kết nối có lỗi SYN trong dst_host_srv_count Số hiệu cổng đích của kết nối dst_host_serror_rate dst_host_srv_serror_rate destination Port Number
2.6.4. Kịch bản thử nghiệm cho dPCA
Bước 1: Tạo profile:
- Lấy dữ liệu cho tập mẫu là 5000 kết nối. Điều này dựa trên nghiên cứu khác là
5000 kết nối trong [58] để so sánh, kiểm chứng.
- Dữ liệu tập mẫu được chọn từ dữ liệu sạch nghĩa là không chứa ngoại lai (chọn
theo nhãn đã gán sẵn trong tập dữ liệu).
- Từ tập dữ liệu mẫu, thực hiện chuẩn hóa, biến đổi PCA, tính khoảng cách và
mức ngưỡng và tạo tập profile như sơ đồ hình 2.4.
Bước 2: Thu dữ liệu từ mạng, thực hiện phân tích, phát hiện bất thường với dPCA
theo sơ đồ hình 2.5 như sau:
65
- Đọc dữ liệu từ mạng cho từng kết nối (trong thử nghiệm, luận án sử dụng dữ
liệu thực đã được đánh nhãn trong tập Kyoto).
- Chuẩn hóa dữ liệu.
- Biến đổi PCA.
- Tính khoảng cách với các cấu hình thử nghiệm thay đổi.
- Thử nghiệm với số PC thay đổi (k thay đổi).
- Thay đổi tham số trong công thức tính khoảng cách (c và trọng số wi).
- So sánh với mức ngưỡng và phát hiện bất thường. Trong các thử nghiệm 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 lượng (FPR) trong khoảng 5% (tương ứng với chọn mức ngưỡng bằng
95% hàm phân bố tích lũy thực nghiệm với d của tập dữ liệu mẫu).
- Hiển thị kết quả bằng bảng cho các kết quả phát hiện (TPR và FPR) với các
tham số và hiển thị đồ thị ROC tương ứng. Một số phần minh họa TP và TN
dạng biểu đồ để làm rõ thêm cho TPR và FPR dạng bảng.
Luận án lựa chọn 5 tập dữ liệu ngẫu nhiên thu được từ mạng của Kyoto Honeypot
như bảng 2.2. Việc chọn ngẫu nhiên các tập kiểm nghiệm cho kết quả một cách khách
quan.
Bảng 2.2. Các tập dữ liệu thử nghiệm cho dPCA1T và dPCA2T
Tổng số kết nối
Tập dữ liệu Tập 1 Tập 2 Tập 3 Tập 4 Tập 5 125643 114148 120857 121232 119909 Số lƣợng kết nối bất thƣờng 84476 38790 57337 38493 78220 Số lƣợng kết nối bình thƣờng 41167 75358 63520 82739 41689
2.6.5. Thử nghiệm, đánh giá phương pháp dPCA
2.6.5.1. Kết quả thử nghiệm dPCA1T với các tham số khác nhau
Để so sánh với các kết quả của những nghiên cứu điển hình đã có, biểu đồ và các
bảng thể hiện các nhóm tham số như sau:
66
Nhóm 1: đ y l nhóm sử dụng công thức (2.13) với c=2 và wi=1. Các nghiên cứu
tương đương thuộc nhóm này điển hình gồm [33, 36, 72, 38, 25, 73, 57, 12, 40, 30, 8,
48, 17, 10]. Trên biểu đồ dạng cột nhóm này có ký hiệu tham số (c=2, w=1).
Nhóm 2: đ y l nhóm sử dụng công thức (2.13) với c=1, wi=1/i . Các nghiên cứu
thuộc nhóm n y điển hình gồm [58, 34, 36, 77, 53, 46, 14, 54, 43, 20, 39, 10]. Trên
biểu đồ dạng cột nhóm này có ký hiệu tham số ( c=2, w<>1).
Nhóm 3: đ y l nhóm sử dụng công thức (2.13) với c=1,wi=1. Trên biểu đồ dạng
cột nhóm này có ký hiệu tham số (c=1, w=1).
. Trên biểu đồ Nhóm 4: đ y l nhóm sử dụng công thức (2.13) với c=1, wi =
dạng cột nhóm này có ký hiệu tham số ( c=1, w<>1).
k là số thành phần chính được sử dụng để tính khoảng cách.
Như đã nêu trong phần 2.1.2, dPCA1T chỉ sử dụng một mức ngưỡng cho khoảng
cách, song kết hợp hai cách: 1) chỉ sử dụng PC thứ yếu và 2) sử dụng tất cả PC.
Các công trình nghiên cứu đã có 33, 72, 38, 25, 73, 57, 12, 40, 30, 8, 48, 17, 10,
58, 34, 36, 77, 53, 46, 14, 54, 43, 20, 39] cho thấy việc lựa chọn số thành phần chính
phải thực hiện bằng thực nghiệm. Trong [58, 77, 53, 46, 14, 54], các PC thứ yếu được
các tác giả lựa chọn dựa trên thực nghiệm sao cho các trị riêng nhỏ hơn 0.2. Dựa trên
thực nghiệm của tập dữ liệu Kyoto Honeypot, nghiên cứu sinh nhận thấy số PC thứ
yếu (k) nên được lựa chọn sao cho chiếm khoảng 5 đến 15 tổng mức biến thiên trị
riêng (trong khoảng từ 3 đến 5 C). Điều này minh chứng qua ví dụ hình 2.7. Hình 2.7
biểu diễn số lượng bất thường phát hiện được khi thay đổi của số lượng các PC thứ
yếu với tập dữ liệu số 1 cho bộ tham số nhóm 3 (c=1, wi=1). Kết quả trên hình cho
thấy khi dùng quá ít PC với k=2, số lượng bất thường phát hiện được không nhiều. Mặt
khác khi dùng quá 5 PC số lượng bất thường phát hiện được không cao hơn, thậm chí
còn giảm đi. Trong trường hợp này chỉ cần chọn k=3. Đồ thị cho thấy khi sử dụng k=3
kết quả phát hiện tương đương với sử dụng tất cả PC với k=14.
67
Hình 2.7. TP khi thay đổi số lượng PC của nhóm 3 với tập 1
Hình 2.8 biểu thị số kết nối bất thường phát hiện được trong tập 1 với bốn nhóm
tham số (c, wi). Hình 2.9 thể hiện kết quả phát hiện số lượng kết nối bình thường phát
hiện đúng tương ứng. Bảng 2.3 liệt kê kết quả phát hiện với TPR và FPR của tập dữ
liệu số 1.
Các nhóm khoảng cách
Hình 2.8. Số kết nối bất thường phát hiện đúng của tập 1
68
Hình 2.9. Số kết nối bình thường phát hiện đúng của tập 1
Bảng 2.3. Thử nghiệm dPCA1T với tập 1
Tập dữ liệu 1 Mức ngƣỡng: 95%
c k wi Nhóm tham số
1 1 1
1 1 1
Nhóm 1 Nhóm 1 Nhóm 1 Nhóm 2 Nhóm 2 Nhóm 2 Nhóm 3 Nhóm 3 Nhóm 3 Nhóm 4 Nhóm 4 Nhóm 4 TPR (%) 92.4 3 5 91.8 14 94.4 94.6 3 5 91.9 14 93.8 94.3 3 5 91.3 14 92.1 3 94.1 5 98.1 14 94.4 FPR (%) 4.7 5.2 5.3 4.9 5.6 5.0 4.8 5.2 5.4 4.3 4.7 4.3 2 2 2 2 2 2 1 1 1 1 1 1
Kết quả TP trên hình 2.9, TN hình 2.10 và TPR, FPR trên bảng 2.3 cho thấy:
69
- Khi k=3, dPCA1T (nhóm 3 và nhóm 4) cho kết quả TP và TPR cao hơn nhóm
1, xấp xỉ nhóm 2. Kết quả kết nối bình thường phát hiện đúng của nhóm 3 và
nhóm 4 cũng cao hơn nhóm 1, xấp xỉ nhóm 2 dẫn đến tỷ lệ cảnh báo sai FPR
nhỏ hơn nhóm 1 và xấp xỉ nhóm 2.
- Khi tăng số lượng PC lên k=5, dPCA1T (nhóm 3 và nhóm 4) cho kết quả TP và
TPR cao hơn nhóm 1 và nhóm 2. Kết quả số lượng kết nối bình thường phát
hiện đúng TN của nhóm 3 và nhóm 4 cũng cao hơn nhóm 1và nhóm 2 dẫn đến
tỷ lệ cảnh báo sai FPR nhỏ hơn nhóm 1 và xấp xỉ nhóm 2.
- Khi k=14 (tất cả PC), dPCA1T nhóm 3 kém hơn nhóm 1 và 2, song dPCA1T
nhóm 4 cho kết quả tốt hơn nhóm 2, xấp xỉ nhóm 1. TN nhóm 3 và 4 cũng
ngang bằng hoặc xấp xỉ nhóm 1, 2.
- Như vậy khi tăng số PC của dPCA1T (k=5), TPR không thay đổi nhiều. Sử
dụng từ 3 đến 5 PC không khác biệt với sử dụng tất cả PC. Vì vậy, trong trường
hợp này, số PC thứ yếu chỉ cần lựa chọn là k=3.
- FPR dao động trong khoảng trên dưới 5% đúng với tỷ lệ FPR ước lượng. Điều
này cũng tương ứng với số lượng kết nối bình thường phát hiện đúng.
- Khi c=1 có các kết quả phát hiện tương đương với c=2 nhưng có độ phức tạp
tính toán thấp hơn (như đã trình bày ở mục 2.1.1).
Hình 2.10 là đồ thị ROC của tập dữ liệu 1 với một số bộ tham số của d biểu thị
trên hình vẽ. ROC 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 theo khoảng cách d. Đ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 mức ngưỡng sát với đ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 dữ liệu từ lưu lượng mạng.
Hình dạng của đường cong ROC ở hình 2.10 với c=1 và c=2 đều đi lên sát mép
trục tung và tiếp xúc với mép trên đường nằm ngang chứng tỏ kết quả dự đoán rất tốt.
(Do đồ thị ROC của kết quả khảo sát thường rất sít nhau nên để hiển thị được rõ hơn
trong luận án, mỗi đường cong của đồ thị ROC được biểu diễn riêng với từng tập tham
số thay vì ghép chung vào một đồ thị).
70
c=1, wi =1, k=3 c=1, wi =1, k=5 c=1, wi =1, k=14
c=2, wi =1, k=5 c=2, wi =1, k=14 c=2, wi =1, k=3
Hình 2.10. Một số đồ thị ROC của d với tập dữ liệu 1
Bảng 2.4 là kết quả phát hiện của phương pháp dPCA1T với tập dữ liệu 2, 3 và 4.
Hình 2.11-2.16 biểu diễn số lượng kết nối bất thường (TP) phát hiện đúng và bình
thường (TN) phát hiện đúng với các nhóm tham số c, wi và k khác nhau của tập dữ liệu
2, 3, 4.
Bảng 2.4. Thử nghiệm dPCA1T với tập dữ liệu 2,3,4
Mức ngƣỡng 5 Mức ngƣỡng 5
Tập dữ liệu Tập dữ liệu k k c wi c wi
Tập 2 − − − 2 2 2 1 1 1 1 1 TPR (%) 3 95.9 5 99.9 14 73.1 3 95.9 FPR (%) 5.4 5.1 4.6 5.0 Tập 3 2 2 2 1 − − − 1 1 1 1 TPR (%) 3 99.4 5 99.9 14 99.9 3 98.6 FPR (%) 5.6 5.3 5.4 4.9
71
1 1 1 1
− − − − − − − −
− − − − − − − − Tập 4 − − − − − 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 5 92.3 14 93.8 3 93.8 5 96.9 14 99.0 3 93.8 5 98.9 14 100 3 92.8 5 93.0 14 31.9 3 98.3 5 89.7 14 93.7 4.7 5.1 4.7 4.8 4.9 5.0 5.2 5.0 5.3 5.6 4.6 4.9 4.5 5.4 1 1 2 2 2 1 1 1 Tập 4 2 2 2 1 1 1 − − − − − 5 97.6 14 100 3 99.7 5 99.8 14 99.9 3 99.3 5 100 14 99.9 3 80.3 5 95.3 14 97.1 3 83.9 5 95.6 14 98.1 5.3 4.9 4.9 5.0 5.3 4.5 9.7 4.8 4.6 4.9 5.1 4.9 5.1 4.8
Chú ý: Ký hiệu “−” biểu thị giá trị của ô trong bảng giữ nguyên “như trên”.
Hình 2.11. Số kết nối bất thường phát hiện đúng của tập 2
72
Hình 2.12. Số kết nối bình thường phát hiện đúng của tập 2
Hình 2.13. Số kết nối bất thường phát hiện đúng của tập 3
73
Hình 2.14. Số kết nối bình thường phát hiện đúng của tập 3
Hình 2.15. Số kết nối bất thường phát hiện đúng của tập 4
74
Hình 2.16. Số kết nối bình thường phát hiện đúng của tập 4
Nhận xét về những kết quả của bảng 2.4 cùng với biểu đồ hình 2.11 - 2.16:
- Kết quả với tập dữ liệu số 2: tập này phần lớn có đặc điểm giống tập dữ liệu 1.
Riêng nhóm 1 với tất cả PC (c=2, wi=1, k=14) tỷ lệ TPR (số lượng TP) thấp hơn
rõ rệt các trường hợp khác. Nhưng nếu chuẩn hóa các giá trị PC theo trị riêng
với nhóm 2 và nhóm 4 tỷ lệ TPR (số lượng TP) cao hơn nhiều. Đây là lý do khi
sử dụng tất cả PC nên sử dụng khoảng cách có trọng số vì việc chuẩn hóa theo
trọng số sẽ làm giảm sự khác biệt về độ lớn giữa các giá trị PC. TN không có sự
khác biệt nhiều giữa các nhóm và FPR cũng dao động trong khoảng 5%.
- Kết quả với tập dữ liệu số 3: tập này cho kết quả phát hiện cao với tỷ lệ TPR
lớn hơn 97% và FPR dao động trong khoảng 5%. Áp dụng c=1 và c=2 đều cho
kết quả xấp xỉ nhau ngay cả với các giá trị k khác nhau.
- Kết quả với tập dữ liệu số 4: Tập này cho kết quả TPR khá chênh lệch giữa các
trường hợp khác nhau khi thay đổi k. FPR cũng dao động trong khoảng 5%.
Nhóm sử dụng c=1 vẫn thể hiện khả năng phát hiện tốt với tỷ lệ TPR tương
đương hoặc cao hơn khi so sánh với nhóm c=2 và cùng giá trị k. Cũng giống
như tập dữ liệu số 2, khi dùng tất cả PC, nhóm 1 (c=2, wi=1, k=14) có tỷ lệ TPR
75
và TP thấp hơn rõ rệt các trường hợp khác; khi dùng trọng số chuẩn hóa như
nhóm 4 (c=2, wi=1/i, k=14), tỷ lệ TPR và TP tăng lên.
Hình 2.17 là đồ thị ROC của tập dữ liệu 2, 3, 4 với một số bộ tham số của d.
Tập dữ liệu 3 c=2, wi =1/i, k=14
, k=14
, k=3 Tập dữ liệu 2 c=2, wi =1, k=3 Tập dữ liệu 2 c=1, wi =1, k=3 Tập dữ liệu 2 c=1, wi =
Tập dữ liệu 3 c=1, wi =1, k=3
, k=14
Tập dữ liệu 3 c=1, wi =
Tập dữ liệu 4 c=2, wi =1, k=14
Tập dữ liệu 4 c=2, wi =1/i, k=14
Tập dữ liệu 4 c=1, wi =1, k=3
Tập dữ liệu 4 c=1, wi =
Hình 2.17. Một số đồ thị ROC của d với tập dữ liệu 2,3,4
76
Trong các đồ thị ROC của hình 2.17, phần lớn đồ thị đều cho kết quả dự đoán tốt.
Riêng trường hợp tập dữ liệu 4 với nhóm 1 (c=2, wi=1, k=14) đường cong có hình
dạng đi lên không sát với trục tung dẫn đến kết quả phát hiện bị suy giảm như TPR
trong bảng 2.4 và TP ở hình 2.15. Điều này là do có những bất thường yi bị mất đi do
giá trị của những yj bình thường lớn hơn nếu dùng trọng số bằng 1. Khi dùng khoảng
cách Euclidean trọng số với nhóm 2 (c=2, wi=1/i, k=14), đồ thị ROC đã cho kết quả
dự đoán tốt. Kết quả cho thấy khi sử dụng trọng số wi 1 với k=14, số lượng hoặc tỷ lệ
phát hiện bất thường tăng lên đáng kể.
Sự biến động của điều kiện bình thường có tác động đến profile. Nguyên nhân là vì
sự xuất hiện những luồng dữ liệu gây đột biến về lưu lượng nhưng vẫn được coi là hợp
lệ. Những luồng này tạo ra khoảng cách lớn so với những luồng khác trong profile
khiến cho ranh giới về khoảng cách giữa các luồng bình thường và bất thường bị thu
hẹp từ đó làm suy giảm khả năng phát hiện bất thường. Trường hợp này có thể coi là
sự không ổn định của điều kiện bình thường.
Kết quả phát hiện của tập dữ liệu 5 (bảng 2.5, hình 2.18, hình 2.19) là trường hợp
điều kiện bình thường không ổn định. Các nhóm có TN xấp xỉ nhau. Khi k=3 kết quả
tỷ lệ TPR khá thấp. Đồ thị ROC (hình 2.20) khi k=3 có sự dao động lớn cũng cho thấy
điều này. Khi tăng số PC thứ yếu lên (k=5, k=14) kết quả phát hiện (TPR, TP) tăng rõ
rệt. Khi k=5, nhóm 1,2 có TP, TPR cao hơn nhóm 3,4. Sử dụng tất cả PC (k=14) với wi
đã chuẩn hóa cho kết quả phát hiện ổn định hơn (cao hơn k=3) nhưng không nhất thiết
là kết quả tốt nhất (thấp hơn k=5). Khi k=14, nhóm 2 (wi = , c=2) và nhóm 4 (wi =
, c=1) cho kết quả TPR tương đương hoặc cao hơn nhóm có wi=1 (nhóm 1, nhóm
3). Khi điều kiện bình thường không ổn định cần sử dụng nhiều PC hơn để tính
khoảng cách.
Bảng 2.5. Thử nghiệm dPCA1T với tập dữ liệu 5
Tổng số bất thƣờng: 78220
Ch thích c k wi
2 2 1 1 3 5 TPR (%) 41.3 55.8 FPR (%) 4.9 1.6
77
1
2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 14 78.9 50.8 3 91.8 5 5 97.2 14 89.6 3 48.6 5 83.0 5 99.9 5 98.8 14 78.7 42.3 3 5 83.3 14 61.0 5.5 4.9 5.1 Tập mẫu cũ hơn 8.3 5.0 5.2 5.4 Tập mẫu cũ hơn 9.0 10.0 Tập mẫu cũ hơn 5.6 5.2 5.0 5.0
Hình 2.18. Số kết nối bất thường phát hiện đúng của tập 5
78
Hình 2.19. Số kết nối bình thường phát hiện đúng của tập 5
(b) k=14 (a) k=3
Hình 2.20. ) Đồ thị ROC của d với tập dữ liệu 5 nhóm 2 (c =2, wi =
Thông thường, tập dữ liệu mẫu được lấy trong cùng ngày hoặc ngày trước đó.
Nhưng trong bảng 2.5 cho thấy việc sử dụng tập dữ liệu mẫu cũ hơn (trước khoảng 2-3
ngày) cho tỷ lệ TPR cao hơn. Do đó có thể sử dụng tập dữ liệu mẫu của trạng thái bình
thường cũ hơn nhưng ổn định hơn để phát hiện bất thường cho những ngày sau đó để
79
tăng khả năng phát hiện bất thường nhưng kết quả thử nghiệm cho thấy FPR cũng
tăng.
Nếu dPCA kiểm tra với tất cả PC theo chu kỳ với tần suất thấp hơn PC thứ yếu là
một lựa chọn hợp lý. Tuy nhiên nếu số biến ban đầu (p) lớn, sử dụng tất cả PC sẽ làm
tăng nhiều gánh nặng xử lý cho hệ thống. Một cách khác là kiểm tra định kỳ với tần
suất thấp bằng dPCA2T.
2.6.5.2. Thử nghiệm dPCA hai mức ngưỡng (dPCA2T)
dPCA2T dùng cả PC chủ yếu và thứ yếu để tính khoảng cách, mỗi khoảng cách có
một mức ngưỡng riêng. dPCA2T xác định số lượng PC chủ yếu tương tự trong [58, 77,
53, 46, 14, 54] sao cho tổng trị riêng của các PC chủ yếu chiếm 50% tổng các trị riêng
(tương đương với ≤ 4 C đầu tiên). Số lượng PC thứ yếu được xác định như trong
dPCA1T.
Bảng 2.6 thể hiện số lượng bất thường phát hiện được khi dùng dPCA2T trong
một thử nghiệm để so sánh số lượng bất thường phát hiện được với các tham số khác
nhau trong PC chủ yếu.
Bảng 2.6. Thử nghiệm dPCA2T với các tham số PC chủ yếu
Tổng số bất thường: 38493
Số lƣợng PC
PC thứ yếu: 3PC c=1, wi=1 Tham số PC chủ yếu : 4 PC c=2, wi=1 c=2, wi=1/i c=1, wi=1 c=1, wi=1/√
4057 7719 5495 13490
3027 6366 4014 11642 35375
1030 1353 1481 1848
36405 36728 36856 37223 Phát hiện đ ng Phát hiện trùng Phát hiện khác Tổng
Trong đó:
Tham số: là tham số trong công thức đề xuất tương ứng với PC chủ yếu được thay
đổi còn PC thứ yếu giữ nguyên để tiện so sánh với PC chủ yếu
Phát hiện đ ng: là số lượng bất thường phát hiện đúng với PC chủ yếu và thứ yếu
80
Phát hiện trùng: là số lượng bất thường phát hiện đúng trùng nhau ở cả PC chủ
yếu và thứ yếu
Phát hiện khác: là số lượng bất thường phát hiện đúng ở PC chủ yếu khác so với
PC thứ yếu (phát hiện thêm những bất thường khác).
Tổng: là số lượng bất thường tổng cộng phát hiện đúng với cả PC chủ yếu và thứ
yếu.
Theo như bảng 2.6, khi áp dụng trọng số wi 1 với PC chủ yếu (c=2, wi=1/) số
lượng bất thường phát hiện được tăng lên so với không có trọng số (c=2, wi=1). Kết
quả tương tự khi áp dụng (c=1, wi=1/√ ) so với (c=1, wi=1). Ngoài ra, trong kết quả
này số lượng bất thường phát hiện được với khoảng cách dùng PC chủ yếu hầu hết đã
được phát hiện với khoảng cách dùng PC thứ yếu.
Hiệu quả của trọng số wi 1 trong công thức tính khoảng cách phụ thuộc vào bất
thường có biên độ lớn hay nhỏ. Thực nghiệm cho thấy nếu bất thường trong các yi đủ
lớn để vượt qua sự khác biệt về trị riêng giữa các PC thì kết quả phát hiện bất thường
giữa wi=1 và wi 1 gần như tương đương.
Bảng 2.7 là kết quả phát hiện của dPCA2T với các tập dữ liệu 1, 2, 3, 4 và 5 đã
được sử dụng với dPCA1T.
Bảng 2.7. Thử nghiệm dPCA2T với tập dữ liệu 1, 2, 3, 4, 5
Tập dữ liệu PC chủ yếu, mức ngƣỡng 95% PC thứ yếu, mức ngƣỡng 95%
c wi 2 2 2 1 1 2 2 1 1 c wi 1 2 1 2 1 1 1 1 1 1 2 2 1 1 Tập 1 − − − − − − − − k 4 4 4 4 4 4 4 4 4 k TPR (%) 3 5 3 3 5 3 5 3 5 99.6 92.2 99.9 100 97.7 99.9 92.2 99.9 99.6 FPR (%) 6.3 6.9 7.2 8.1 6.9 8.2 8.0 7.1 7.3
81
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 1
2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 2 2 1 1 99.7 99.9 99.9 99.0 99.1 99.4 99.7 99.6 100 100 99.9 99.9 100 100 100 100 97.4 97.2 98.4 97.1 83.5 97.5 89.3 97.0 84.6 95.5 81.8 99.5 99.4 84.7 98.8 73.3 99.1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 2 2 1 1 9.1 9.3 8.0 7.5 9.0 7.9 8.5 8.3 7.4 7.4 7.6 7.5 6.2 7.6 5.6 11.5 9.0 9.8 7 9.4 6.6 7.1 7.3 7.7 9.7 6.6 8.7 10.1 10.0 10.0 9.4 10.3 10.1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 5 3 5 3 5 Tập 2 − − − − − − − Tập 3 − − − − − − − Tập 4 − − − − − − − Tập 5 − − − − − − − −
Trong đó:
- k: số lượng PC chủ yếu hoặc thứ yếu dùng trong công thức tính khoảng cách d.
82
Nhận x t:
- dPCA2T thường cho kết quả TPR cao hơn trong so sánh với dPCA1T nhưng
đồng thời FPR cũng tăng lên.
- Bất thường có xu hướng xuất hiện tại những PC thứ yếu nhiều hơn các PC chủ
yếu. Nguyên nhân là vì PC thứ yếu có thể phát hiện những biến đổi nhỏ hơn mà
những PC chủ yếu không phát hiện được. Nếu điều kiện bình thường là ổn định,
những bất thường xuất hiện tại những PC chủ yếu mà PC thứ yếu không phát
hiện được thường không nhiều.
- Khi c=2, wi = 1/i ở cả PC chủ yếu và PC thứ yếu, dPCA2T giống phương pháp
2 mức ngưỡng trong [58, 77, 53, 46, 14, 54].
- So với dùng c=2 các kết quả TPR và FPR của dPCA2T với c=1 cũng gần tương
đương. Do vậy có thể sử dụng c=1 trong công thức tính khoảng cách với
phương pháp dPCA2T hoặc kết hợp linh hoạt với c=2 trong PC chủ yếu hoặc
thứ yếu để giảm độ phức tạp.
- Một nhược điểm khác của dPCA2T là mức độ tính toán nhiều hơn phương pháp
dPCA1T chỉ dùng PC thứ yếu vì phải tính song song cả hai khoảng cách.
2.7. Kết luận chƣơng 2.
Chương 2 đã đề xuất và trình bày một mô hình chung cho phân tích và phát hiện bất
thường dựa trên PCA và đề xuất phương pháp dPCA. So sánh với những công trình
nghiên cứu dựa trên PCA đã có, chương 2 của luận án đã đưa ra những điểm mới như
sau:
Đề xuất một công thức tính khoảng cách mới trong miền con PCA áp dụng cho
dPCA. Khi thay đổi các tham số khác nhau sẽ thu được các công thức tính khoảng
cách tương đương với các công trình nghiên cứu đã có trước đây.
Phương pháp dPCA được đề xuất như sau:
- Bên cạnh c=2 tương tự các công trình đã có, luận án đề xuất áp dụng c=1 trong
công thức tính khoảng cách, cho phép giảm độ phức tạp tính toán là O(kn) so với độ phức tạp O(kn2) trong các công trình nghiên cứu dựa trên PCA đã khảo
83
sát trong khi vẫn giữ được kết quả phát hiện bất thường tương đương. Trong
một số trường hợp, c=1 cho kết quả tốt hơn.
- Dựa trên nhược điểm của phương pháp dùng cả PC chủ yếu và thứ yếu để tính
khoảng cách đồng thời cùng lúc, luận án đề xuất dPCA được hoạt động phân
cấp nhằm mục đích giảm mức độ tính toán và tỷ lệ cảnh báo sai.
Ngoại lai trong tập dữ liệu mẫu là một yếu tố gây nhiễu có thể gây ảnh hưởng, làm
sai lệch các tham số của profile. Nếu tập dữ liệu mẫu lẫn ngoại lai có thể làm suy giảm
khả năng phát hiện bất thường của phương pháp PCA. Vì vậy ngoại lai cần phải được
phát hiện và loại bỏ. Các thử nghiệm trong chương 2 đã giả thiết tập dữ liệu mẫu
không chứa ngoại lai. Chương 3 sẽ trình bày phương pháp để phát hiện và loại bỏ
ngoại lai trong tập dữ liệu mẫu.
84
CHƢƠNG 3
PHƢƠNG PHÁP KHỬ NGOẠI LAI TRONG TẬP DỮ LIỆU MẪU
3.1. Vấn đề khử ngoại lai trong tập dữ liệu mẫu
Chương 2 đã đề xuất phương pháp dPCA với tập dữ liệu mẫu sạch. Tuy nhiên,
thực tế các tập dữ liệu mẫu vẫn có thể chứa một phần dữ liệu bất thường không mong
muốn. Để tránh sự nhầm lẫn về thuật ngữ với bất thường trong pha phát hiện với
dPCA ở chương 2, những dữ liệu bất thường không mong muốn trong tập dữ liệu mẫu
được gọi là ngoại lai. Ngoại lai là thuật ngữ hay được dùng trong toán học thống kê [4,
8, 32].
Ngoại lai có thể làm sai lệch các tham số trong profile do vậy cần phương pháp
loại bỏ ngoại lai khỏi tập dữ liệu mẫu. Cho đến nay, các công trình nghiên cứu đã được
khảo sát của phương pháp PCA chưa có công trình nào thực hiện khử ngoại lai trong
tập dữ liệu mẫu.
Để khử được ngoại lai cần phải phát hiện được ngoại lai trong tập dữ liệu mẫu.
Nguyên tắc chung là mô hình hóa được trạng thái bình thường và từ đó phát hiện ra
ngoại lai. Vì vậy, số lượng dữ liệu bình thường phải chiếm đa số so với dữ liệu bất
thường (ví dụ: chỉ có 10% dữ liệu bất thường trên tổng số dữ liệu). Những dữ liệu bị
phát hiện là ngoại lai sẽ bị loại bỏ khỏi tập dữ liệu mẫu.
dPCA có khử ngoại lai trong tập dữ liệu mẫu được minh họa ở hình 3.1. So với
dPCA đã trình bày ở chương 2, quá trình tạo profile có sự khác biệt là dữ liệu đầu vào
để tạo tập mẫu được đưa qua bộ khử ngoại lai trước khi thu được tập dữ liệu mẫu. Dữ
liệu tập mẫu sau đó được chuẩn hóa, qua bộ biến đổi PCA để tính các tham số, tính
khoảng cách, mức ngưỡng trong profile v.v.. tương tự như quy trình đã mô tả trong
chương 2.
Luận án đề xuất hai phương pháp phát hiện và khử ngoại lai trong tập dữ liệu mẫu:
Phương pháp udPCA
Phương pháp K-means
85
Hình 3.1. Quá trình tạo profile của dPCA có khử ngoại lai cho tập dữ liệu mẫu
3.2. Phƣơng pháp phát hiện và khử ngoại lai bằng udPCA [CT8]
Phương pháp udPCA (Unclean dPCA) dùng để phát hiện ngoại lai trực tiếp trên
tập dữ liệu đầu vào đã tách thuộc tính (tập dữ liệu với các biến là các thuộc tính).
Quá trình tạo profile và phát hiện ngoại lai của udPCA được mô tả trong hình 3.2.
Quá trình này gồm các bước sau:
- Lựa chọn p thuộc tính đầu vào phù hợp: X1, X2,…, Xp. Các thuộc tính của n
quan sát tạo thành ma trận X nxp (n hàng, p cột).
- Chuẩn hóa dữ liệu đầu vào với giá trị trung bình và độ lệch chuẩn.
86
Hình 3.2. Quá trình phát hiện ngoại lai của udPCA
- Tính các cặp vectơ riêng, trị riêng, giá trị các thành phần chính. Sắp xếp các
thành phần chính theo thứ tự giảm dần của trị riêng.
- Tính khoảng cách d của mỗi quan sát dùng 1 mức ngưỡng với tất cả PC. Xây
dựng hàm phân bố tích lũy thực nghiệm dựa trên khoảng cách tính được và xác
suất. Lựa chọn mức ngưỡng dN theo ECDF.
- So sánh khoảng cách đã tính được của mỗi quan sát với mức ngưỡng. Nếu d >
dN, quan sát mới được coi là ngoại lai. Ngược lại quan sát đó được coi là bình
thường.
- Khi sử dụng để khử ngoại lai trong tập dữ liệu mẫu, udPCA sẽ loại bỏ hết những
quan sát bị phát hiện là ngoại lai để làm sạch tập dữ liệu mẫu cho quá trình tạo
profile.
Như vậy udPCA về bản chất vẫn dựa trên dPCA (xem trong chương 2) nhưng
không dùng tập dữ liệu mẫu. Qua các bước ở trên, có thể nhận thấy udPCA vẫn tạo
những tham số như vectơ riêng, trị riêng, mức ngưỡng v.v.. do đó thực chất udPCA
vẫn cần tạo một profile tạm thời để từ đó so sánh mức ngưỡng với các điểm hoặc quan
sát.
87
Profile của udPCA không dựa trên tập mẫu mà tạo trực tiếp với dữ liệu đầu vào.
udPCA sử dụng tất cả các PC để phát hiện ngoại lai. Lý do là vì khi phát hiện ngoại lai
trực tiếp trong tập mẫu, trạng thái bình thường trong profile không ổn định nên ngoại
lai có thể xuất hiện ở PC bất kỳ. Vì vậy, udPCA sử dụng phương pháp 1 ngưỡng với
đầy đủ các PC để có thể phát hiện được ngoại lai có mức biến thiên lớn ở những PC
khác nhau.
Để khử được nhiều ngoại lai cần thiết lập ngưỡng ở mức thấp hơn so với phương
pháp sử dụng tập dữ liệu mẫu vì nếu đặt mức ngưỡng cao sẽ bỏ qua nhiều ngoại lai.
Điều này phải trả giá bằng việc tăng tỷ lệ FPR hay số lượng dữ liệu bình thường bị
phát hiện sai tăng lên.
Do vậy khi khử ngoại lai, không chỉ ngoại lai vượt quá mức ngưỡng bị loại bỏ mà
ngay cả những dữ liệu bình thường này cũng bị loại bỏ khỏi tập dữ liệu mẫu. Đây là
những dữ liệu bình thường tạo nên khoảng cách lớn hơn những dữ liệu bình thường
khác nên sẽ ảnh hưởng đến dữ liệu chuyển đổi trong miền con PCA và các tham số
trong profile. Sự ảnh hưởng này liên quan đến dữ liệu bình thường có khoảng cách lớn
nên những dữ liệu này sẽ có thể bị phát hiện sai là bất thường trong dPCA. Nói cách
khác việc loại bỏ những dữ liệu bình thường có khoảng cách lớn sẽ làm cho tỷ lệ cảnh
báo sai FPR của dPCA tăng lên.
Một kỹ thuật để khắc phục vấn đề này là ngay sau khi thiết lập mức ngưỡng trong
profile của dPCA, có thể nâng mức ngưỡng lên một khoảng nhất định. Mức ngưỡng
của dPCA khác với mức ngưỡng của udPCA. Trong dPCA, mức ngưỡng bị ảnh hưởng
nhiều bởi chất lượng dữ liệu trong tập mẫu. Việc loại bỏ những dữ liệu bình thường
với khoảng cách lớn ảnh hưởng đến chất lượng dữ liệu tập mẫu. Vì vậy nâng mức
ngưỡng lên là để bù lại lượng hao hụt về chất lượng dữ liệu đã mất khi khử ngoại lai.
Đối với udPCA, mức ngưỡng không chỉ ảnh hưởng bởi chất lượng dữ liệu bình thường
mà còn ảnh hưởng bởi tỷ lệ của ngoại lai trong tập dữ liệu mẫu.
Kết quả thử nghiệm phương pháp này được trình bày trong phần 3.4 ở chương 3.
3.3. Phƣơng pháp phát hiện và khử ngoại lai bằng K-Means [CT4, CT5, CT8]
3.3.1. Khái niệm về phân cụm dữ liệu
88
Phân cụm dữ liệu là quá trình tạo nhóm các đối tượng (các điểm dữ liệu, quan sát,
vector chứa thuộc tính) thành các cụm sao cho những đối tượng trong cùng một cụm
có độ tương đồng lớn và những đối tượng không cùng một cụm có sự tương đồng là
rất nhỏ. Độ tương đồng có thể được xác định dựa trên khoảng cách thống kê. Giá trị
của khoảng cách càng lớn thì sự giống nhau giữa các đối tượng càng thấp và ngược lại.
3.3.2. Thuật toán phân cụm K-Means cơ bản
Thuật toán phân cụm K-means cơ bản do Macqueen đề xuất trong lĩnh vực thống
kê năm 1967 48]. Thuật toán này sử dụng giá trị trung bình (mean) của các đối tượng
trong cụm làm tâm của cụm đó. Tư tưởng chính của thuật toán K-Means là tìm cách
phân nhóm các đối tượng đã có vào K cụm (K là số các cụm cần được xác định trước,
K nguyên dương) sao cho khoảng cách giữa các đối tượng đến tâm cụm (centroid ) là
nhỏ nhất. K-Means là thuật toán phân cụm dữ liệu được sử dụng phổ biến trong các
lĩnh vực khác nhau. K-means cơ bản đã được đề xuất trong 44, 13] để phát hiện bất
thường.
Thuật toán này có đầu vào và đầu ra như sau:
Đầu vào (Input): là tập dữ liệu cần phân cụm X: gồm n điểm, mỗi điểm gồm
p thuộc tính; K là số cụm lựa chọn ban đầu.
Đầu ra (Output): là tập các cụm Ci (i = 1:K) gồm những điểm đã được phân
loại thành từng cụm và tâm của các cụm không thay đổi.
Thuật toán K-Means cơ bản thực hiện các bước như sau:
Bước 1: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm
được đại diện bằng các tâm của cụm C1, C2, … CK.
Bước 2: Tính khoảng cách giữa các điểm đến K tâm (thường dùng khoảng
cách Euclidean).
Bước 3: Nhóm các đối tượng vào cụm gần nhất dựa trên khoảng cách.
Bước 4: Xác định lại tâm mới cho các cụm.
Thực hiện lại bước 2 và bước 3 cho đến khi tâm các cụm không thay đổi.
Độ phức tạp của thuật toán K-means là: n*K*l*p (số điểm*số cụm*số vòng lặp*số
thuộc tính).
89
Ưu điểm của thuật toán K-means: Đây là một thuật toán đơn giản, hiệu
quả, tự tổ chức, được sử dụng trong tiến trình khởi tạo trong nhiều thuật toán khác,
hiệu suất tương đối, thường kết thúc ở tối ưu cục bộ, có thể tìm được tối ưu toàn cục.
Nhược điểm của thuật toán K-means: K-means chỉ áp dụng được với thuộc
tính số, số cụm K phải được xác định trước, chỉ áp dụng được khi xác định được trị
trung bình, nhạy cảm với đối tượng nhiễu, ngoại lai và đối tượng ở vùng biên. K-
means cũng không thích hợp nhằm khám phá các cụm có dạng không lồi hay các
cụm có kích thước khác nhau. Hơn nữa đây là thuật toán độc lập tuyến tính. Việc chọn
giá trị K có thể dựa trên sự cần thiết tạo nên cụm mới hoặc kết hợp các cụm hiện có.
3.3.3. Phát hiện ngoại lai dựa trên K-means
Việc xác định giá trị K ảnh hưởng nhiều đến kết quả phân cụm và phát hiện ngoại
lai. Trong phần tiếp theo, luận án áp dụng phương pháp K-means với K=2 để phát hiện
và khử ngoại lai vì chỉ cần phân ra 2 cụm: cụm bình thường và cụm chứa ngoại lai.
Phát hiện ngoại lai dựa trên phân loại dữ liệu vào các cụm:
Phân loại cho biết điểm dữ liệu nào thuộc cụm nào. Để phát hiện ngoại lai bằng
phân loại, cần thiết lập cụm bình thường (normal cluster) và cụm chứa ngoại lai
(outlier cluster). Trong trường hợp K=2, chỉ có một cụm là bình thường và cụm còn lại
chứa ngoại lai. Cụm chứa ngoại lai được coi là cụm có số lượng điểm nhỏ hơn so với
cụm bình thường. Do vậy, kết quả phân cụm sẽ chọn cụm có số lượng điểm nhỏ hơn là
cụm chứa ngoại lai.
Hình 3.3 minh họa bằng hình học cụm bình thường và cụm chứa ngoại lai khi K
=2. Một điểm xi sẽ được coi là bình thường nếu khoảng cách đến tâm của cụm bình
thường nhỏ hơn so với khoảng cách đến tâm của cụm chứa ngoại lai và ngược lại.
90
Hình 3.3. Cụm bình thường và cụm chứa ngoại lai khi K =2
Phát hiện ngoại lai dựa trên khoảng cách tối đa:
Để phát hiện được ngoại lai dựa trên khoảng cách, cần thiết lập khoảng cách tối đa
(dN) hay mức ngưỡng đến cụm bình thường. Khi khoảng cách từ một điểm xi đến tâm
cụm bình thường vượt quá dN sẽ được coi là ngoại lai. Trên hình 3.4, điểm x1 và x2
nằm trong bán kính dN từ tâm cụm bình thường nên không bị coi là ngoại lai. Điểm x3
và x4 nằm ngoài bán kính dN nên bị coi là ngoại lai.
Hình 3.4. Phát hiện ngoại lai dựa trên khoảng cách tối đa
Kết hợp giữa phân cụm và khoảng cách tối đa.
91
Hình 3.5. Kết hợp phân cụm và khoảng cách tối đa để phát hiện ngoại lai
Cả hai kỹ thuật trên có thể kết hợp với nhau. Khi đó, một điểm xi được coi là ngoại
lai nếu:
- xi nằm gần tâm của cụm chứa ngoại lai hơn cụm bình thường.
- xi nằm ngoài phạm vi giới hạn bởi khoảng cách ngưỡng đến tâm cụm bình
thường.
Ví dụ của sự kết hợp này được minh họa trên hình 3.5:
- Điểm x1 nằm gần cụm bình thường hơn và trong giới hạn khoảng cách dN nên là
điểm bình thường.
- Điểm x2 nằm gần cụm chứa ngoại lai hơn nên là ngoại lai.
- Điểm x3 nằm gần cụm bình thường hơn nhưng nằm ngoài giới hạn khoảng cách
dN nên vẫn là ngoại lai.
3.3.4. Các bước phát hiện và khử ngoại lai trong tập dữ liệu m u với K-means
Các bước phát hiện và khử ngoại lai với K-means như sau:
Lựa chọn p thuộc tính đầu vào phù hợp: X1, X2,… Xp. Các thuộc tính của n quan
sát tạo thành ma trận X nxp (n hàng, p cột).
Chuẩn hóa thống kê: Chuẩn hóa dữ liệu đầu vào với giá trị trung bình và độ
lệch chuẩn.
92
Phân cụm dữ liệu theo các bước đã trình bày của thuật toán K-means. Khoảng
cách được sử dụng là khoảng cách Euclidean. Số cụm bằng 2.
Phát hiện ngoại lai theo cụm và theo khoảng cách lớn nhất như đã trình bày ở
phần trên. Khoảng cách lớn nhất được xác định dựa trên hàm phân bố tích lũy
thực nghiệm (Ví dụ: dN tương ứng mức ngưỡng 80%).
Loại bỏ tất cả những dữ liệu được coi là ngoại lai.
Những dữ liệu còn lại chính là tập dữ liệu mẫu đã khử ngoại lai có thể dùng cho
dPCA đã trình bày ở chương 2.
3.4. Thử nghiệm phát hiện và khử ngoại lai
Quá trình thử nghiệm cũng được thực hiện trên tập dữ liệu Kyoto Honeypot.
Việc thử nghiệm nhằm mục đích:
- Đánh giả ảnh hưởng của ngoại lai đến khả năng phát hiện bất thường.
- Đánh giá khả năng phát hiện ngoại lai của udPCA.
- Đánh giá khả năng phát hiện ngoại lai của K-means.
- Đánh giá hiệu quả của việc khử ngoại lai trong tập dữ liệu mẫu.
3.4.1. Kịch bản thử nghiệm
- Kịch bản 1: Thử nghiệm phát hiện và khử ngoại lai của udPCA.
- Kịch bản 2: Thử nghiệm phát hiện và khử ngoại lai của K-means.
- Kịch bản 3: Thử nghiệm dPCA khi chưa khử ngoại lai trong tập dữ liệu mẫu.
- Kịch bản 4: Thử nghiệm dPCA khi đã khử ngoại lai trong tập dữ liệu mẫu.
Bảng 3.1 là những tập dữ liệu sẽ sử dụng trong thử nghiệm.
Bảng 3.1. Các tập dữ liệu thử nghiệm
Tổng số kết nối
Tập dữ liệu Tập 1 Tập 2 Tập 3 Tập 4 Tập 5 125643 120857 118157 119909 109100 Số lƣợng kết nối bất thƣờng 84476 57337 46197 78220 58888 Số lƣợng kết nối bình thƣờng 41167 63520 71960 41689 50212
3.4.2. hả n ng phát hiện ngoại lai của udPCA và K-means
93
Bảng 3.2 trình bày kết quả phát hiện ngoại lai của udPCA trong tập dữ liệu mẫu
với các tham số khác nhau (c, wi). Trong đó:
- Tập dữ liệu: tên tập dữ liệu được dùng để thử nghiệm. Tập dữ liệu mẫu gồm
khoảng 20000 kết nối được lấy ngẫu nhiên từ tập dữ liệu trên bảng 3.1, trong đó có
10% là ngoại lai, 90% còn lại là kết nối bình thường. Mức 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.
Bảng 3.2. Kết quả phát hiện ngoại lai bằng udPCA
c k T lệ phát hiện đ ng ngoại lai ( ) wi Tập dữ liệu
Tập 1 Tập 1 Tập 2 Tập 3 Tập 4 Tập 4 T lệ phát hiện sai dữ liệu bình thƣờng là ngoại lai ( ) 16.7 16.7 16.6 16.7 17.0 22.3 2 1 2 1 2 1 14 14 14 14 14 14 99.8 99.4 100 99.2 97.7 98.8
- Tỷ lệ phát hiện đúng ngoại lai: là tỷ lệ số lượng ngoại lai phát hiện chính xác
trên tổng số ngoại lai trong thử nghiệm. Thông số này thực chất chính là TPR. Tỷ
lệ này càng cao chứng tỏ khả năng phát hiện ngoại lai càng cao.
- Tỷ lệ phát hiện sai dữ liệu bình thường là ngoại lai: là tỷ lệ số lượng dữ liệu
bình thường là ngoại lai trên tổng số dữ liệu bình thường thử nghiệm. Thông số
này thực chất chính là FPR. Tỷ lệ này càng cao dẫn đến số lượng dữ liệu bình
thường phát hiện nhầm là ngoại lai càng cao.
Bảng 3.3 là kết quả phát hiện ngoại lai bằng K-means. Mức ngưỡng khoảng cách
Euclidean dùng trong K-means được xác định tương ứng với 75% đến 80% của hàm
phân bố tích lũy thực nghiệm. Kết quả cho thấy K-means cũng có thể phát hiện ngoại
lai với hiệu quả tương đương với udPCA.
Bảng 3.3. Kết quả phát hiện ngoại lai bằng K-Means
Tập dữ liệu
Tập 1 T lệ phát hiện đ ng ngoại lai ( ) 100 T lệ phát hiện sai dữ liệu bình thƣờng là ngoại lai ( ) 15.2
94
Tập 2 Tập 3 Tập 4 100 99.7 99.3 24.1 21.8 18.0
3.4.3. Thử nghiệm dPCA khi đã khử ngoại lai trong tập dữ liệu m u
Sau khi khử ngoại lai, dữ liệu còn lại chính là tập dữ liệu mẫu được sử dụng để
tính các tham số của profile. Trong phần tiếp theo, luận án đánh giá hiệu quả của việc
sử dụng tập dữ liệu mẫu đã được khử ngoại lai để phát hiện bất thường với phương
pháp dPCA đã mô tả trong chương 2. Bảng 3.1 đã liệt kê những thông tin về số lượng
kết nối bất thường và bình thường dùng để phát hiện bất thường với dPCA1T và
dPCA2T.
3.4.3.1. Thử nghiệm với dPCA1T
Bảng 3.4 biểu diễn kết quả phát hiện của dPCA một mức ngưỡng (xem trong
chương 2) trước khi khử ngoại lai cho tập dữ liệu mẫu. Tập dữ liệu mẫu được lấy từ
tập dữ liệu 1. Ngoại lai làm ảnh hưởng đến khả năng phát hiện bất thường, cụ thể là
làm tỷ lệ TPR suy giảm.
Bảng 3.4. Kết quả dPCA1T trước khi loại bỏ ngoại lai với tập dữ liệu 1
Tập dữ liệu 1 wi 1
k 3 3 14 3 14 3 1 Mức ngƣỡng 5 FPR (%) 1.4 1.1 2.3 2.2 2.8 2.5 TPR (%) 42.4 41.5 27.8 29.3 28.3 26.4 c 2 2 2 1 1 1
Bảng 3.5 biểu diễn kết quả phát hiện của dPCA một mức ngưỡng sau khi khử
ngoại lai cho tập dữ liệu mẫu.
Bảng 3.5. Kết quả dPCA1T sau khi loại bỏ ngoại lai với tập dữ liệu 1
Tập dữ liệu 1
c k TPR (%) wi
1
2 2 3 3 Mức ngƣỡng 5 Mức ngƣỡng TPR (%) 99.9 100 FPR (%) 15.9 19.6 FPR (%) 6.7 7.6 99.9 100
95
2 1 1 1 14 3 14 3 100 100 100 100 1 20.8 19.6 20.8 17.1 100 100 100 98.9 6.6 6.7 6.1 6.7
Trong đó:
- Mức ngưỡng 95% là mức ngưỡng giống như đã dùng cho dPCA chương 2.
- Mức ngưỡng 99% là mức ngưỡng được nâng lên để bù vào lượng dữ liệu bình
thường đã bị loại bỏ trong quá trình khử ngoại lai cho tập mẫu.
Nhận xét từ kết quả phát hiện của dPCA sau khi khử ngoại lai cho tập mẫu:
- Việc khử ngoại lai trong tập dữ liệu mẫu làm tăng tỷ lệ TPR của dPCA so với
dPCA trước khi khử ngoại lai (bảng 3.4). Tuy nhiên, ngoài ngoại lai, một số dữ
liệu bình thường có khoảng cách lớn cũng bị loại bỏ khỏi tập mẫu. Điều này ảnh
hưởng đến chất lượng tập mẫu và các tham số trong profile. Kết quả là tỷ lệ cảnh
báo sai FPR tăng lên đáng kể.
- Việc chỉnh mức ngưỡng sau khi khử ngoại lai giảm tác động của những dữ liệu
bình thường bị mất. Do vậy tỷ lệ FPR giảm đi so với giữ nguyên mức ngưỡng.
- Việc chỉnh mức ngưỡng chỉ áp dụng sau khi khử ngoại lai cho tập dữ liệu mẫu.
Hình 3.6 là đồ thị ROC của khoảng cách d sau khi khử ngoại lai với udPCA trong
tập dữ liệu mẫu (lấy từ tập dữ liệu 1) khi c=1, wi =1, k=3 và c=2, wi =1, k=3. ROC có
độ dốc lớn và không dao động liên tục tại các điểm TPR/FPR khác nhau. Độ dốc và
hình dạng của ROC cho thấy khả năng dự đoán là tốt.
96
c=1, wi =1, k=3 c=2, wi =1, k=3
Hình 3.6. Đồ thị ROC của d (dPCA) sau khi khử ngoại lai (tập dữ liệu 1)
Bảng 3.6 là một số kết quả phát hiện khác của dPCA sau khi khử ngoại lai với
mức ngưỡng được nâng lên 99%. Các kết quả cho thấy sau khi khử ngoại lai và nâng
mức ngưỡng lên 99%, tỷ lệ TPR cao nhưng FPR có sự dao động từ 5 đến 21.5% tùy
thuộc vào tham số của công thức tính khoảng cách và dữ liệu các ngày khác nhau.
Bảng 3.6. Kết quả của dPCA1T sau khi khử ngoại lai với tập 2,3,4
Mức ngƣỡng
Tập dữ liệu k c wi
Tập 2 − − − − 2 1 1 1 2 2 2
− 1
− 1 9.1
FPR TPR (%) (%) 99.9 5.5 3 98.8 9.1 3 3 100 5.7 5 98.9 8.6 14 98.8 7.9 3 98.9 9.9 5 100 14 100 7.9
− Tập 3 − − − − 1 2 1 1 1 2 2 2 99.4 14.0 3 99.8 6.5 3 3 8.5 100 5 10.6 100 14 100 10.1
97
1 6.2 100 −
1 9.5 −
1 9.7 −
2 2 2 99.4 21.5 99.3 12.7 12.6 Tập 4 − −
1 91.3 15.4 −
1 −
1 3 5 100 14 100 3 5 14 100 3 5 12.7 100 14 88.8 10.9 −
Sự chính xác của dPCA phụ thuộc nhiều vào profile. Chất lượng profile bị ảnh
hưởng bởi chất lượng tập dữ liệu mẫu bao gồm: số lượng và tỷ lệ ngoại lai vẫn còn lẫn
vào tập dữ liệu mẫu, mức độ biến thiên của lưu lượng mạng trong điều kiện bình
thường, sự khác biệt giữa các dữ liệu bình thường với bất thường được tính trong
khoảng cách. Khi trạng thái bình thường không ổn định hoặc bất thường không khác
biệt đáng kể với trạng thái bình thường, sẽ khó tạo được profile chất lượng tốt để đạt
độ chính xác cao. Điều này một phần do những dữ liệu bình thường đột biến cũng
được sử dụng trong tập dữ liệu mẫu để tạo profile. Trên bảng 3.6, tập dữ liệu 4 có
trạng thái bình thường không ổn định. Trong trường hợp này có thể coi những dữ liệu
bình thường tạo ra đột biến về lưu lượng (có khoảng cách d lớn) cũng là một dạng bất
thường cần phải phát hiện để tìm ra nguyên nhân. Do đó có thể áp dụng việc khử ngoại
lai để loại bỏ những dữ liệu này ra khỏi tập dữ liệu mẫu, sau đó áp dụng dPCA để phát
hiện bất thường.
Một ví dụ khác là là kết quả phát hiện của dPCA với dữ liệu bình thường trong
bảng 3.7 (tập dữ liệu 5). Mặc dù những dữ liệu dùng để tạo profile đều là những kết
nối bình thường nhưng kết quả TPR thấp vì có sự tương đồng về khoảng cách giữa dữ
liệu bất thường và một phần dữ liệu bình thường đột biến. Sự biến thiên lớn của những
dữ liệu này đã khiến cho profile cũng không ổn định để thiết lập trạng thái bình
thường. Kết quả phát hiện TPR thấp cho thấy điều này và được minh họa trên đồ thị
ROC của d ở hình 3.7.
98
Bảng 3.7. Kết quả phát hiện của dPCA1T với tập dữ liệu mẫu sạch (tập 5)
Mức ngƣỡng 5
wi
Tập dữ liệu 5 c 2 2 2 k 3 5 14 TPR (%) 60.5 62.3 62.2 FPR (%) 4.7 5.0 5.1
1 3 63.6 5.2
1 5 61.4 5.0
1 14 61.9 4.4
(a) wi = , c=1, k=14 (b) wi =1/, c=2, k=14
Hình 3.7. Đồ thị ROC khi áp dụng dPCA với tập dữ liệu 5 (tập mẫu sạch)
Khi thực hiện khử ngoại lai với những dữ liệu gây đột biến, kết quả phát hiện
(TPR) được có sự cải thiện rõ rệt (bảng 3.8). Đồ thị ROC sau khi khử ngoại lai cho tập
mẫu của tập dữ liệu 5 (hình 3.8) cũng cho thấy khả năng dự đoán tốt hơn khi độ dốc
của đồ thị cao và đi sát mép trục tung hơn.
Bảng 3.8. Kết quả phát hiện của dPCA1T sau khi khử ngoại lai với tập 5
Tập dữ liệu 5
k c TPR (%) wi
3 14 2 2 Mức ngƣỡng FPR (%) 5.4 9.5 93.9 100
99
1 3 99.5 5.2
1 14 98.1 10.9
(a) wi = , c=1, k=14 (b) wi =1/, c=2, k=14
Hình 3.8. Đồ thị ROC (dPCA) sau khi khử ngoại lai lai (tập dữ liệu 5)
3.4.3.2. Thử nghiệm với dPCA2T
Bảng 3.9 là kết quả phát hiện của dPCA hai mức ngưỡng sau khi khử ngoại lai. So
với dPCA1T, dPCA2T thường có tỷ lệ FPR cao hơn.
Bảng 3.9. Kết quả của dPCA2T sau khi khử ngoại lai với tập 1, 2, 3, 4, 5
Tập dữ liệu PC chủ yếu, mức ngƣỡng 99% PC thứ yếu, mức ngƣỡng 99%
k k c wi c wi
Tập 1 2 3 TPR (%) 100 FPR (%) 13.2 2 1
− 1 100 7.9 1 1
− − 2 2 100 100 10.2 12.7 2 2
− 1 99.9 4.9 1
1 100 5.7 1
− Tập 2 2 3 3 5 3 5 3 100 9.7 4 4 4 4 4 4 4 2 1
100
10.3
2 2 100 98.9 8.9 − − 2 2
1 100 9.2 − 1
1 100 9.3 1
− Tập 3 2 1 3 5 3 5 3 100 14.6 2
1
1 2 2 100 100 100 9.8 10.0 11.9 − − − 2 2 2
1 100 9.9 − 1
1 100 10.0 1
Tập 4
2 2 99.6 21.9 99.9 16.0 − 2 2
1 99.6 21.9 − 2
1 100 13.3 1
2 1 3 3 5 3 5 3 5 3 5 3 90 6.7 2
− Tập 5 − 1 1 87.7 13.4 1
−
2 2 100 100 5.8 9.6 − 2 2
1 99.7 5.5 − 1
1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 5 3 5 100 10.3 − 1
3.5. Đánh giá khả n ng phát hiện ngoại lai của udPCA
Phần này đánh giá hiệu quả của udPCA khi thay đổi tỷ lệ ngoại lai trong tập dữ
liệu. Bảng 3.10 là kết quả thử nghiệm phát hiện của udPCA.Trong đó:
- Tập dữ liệu: Tập dữ liệu thử nghiệm được đặt tên là Test_1 và Test_2.
- Tổng số kết nối: Số lượng kết nối được lấy trong tập dữ liệu tương ứng trong đó
có a% là ngoại lai.
- Tổng số ngoại lai: số lượng ngoại lai được lấy theo tỷ lệ a% so với tổng số dữ
liệu.
- Tỷ lệ ngoại lai: tỷ lệ của ngoại lai so với tổng số dữ liệu, ví dụ a=10%.
- Mức ngưỡng: xác định theo phần trăm của hàm ECDF tính trên dữ liệu khảo
sát.
101
- c, wi, k: các tham số của công thức tính khoảng cách d. udPCA luôn chọn tất cả
PC vì vậy k=14 với dữ liệu Kyoto Honeypot.
- TPR, FPR: các thông số đánh giá độ chính xác.
Nhận x t:
- Các kết quả thử nghiệm với c=1 và c=2 không có sự khác biệt nhiều (với cùng
tỷ lệ bất thường a% và mức ngưỡng) nhưng tính khoảng cách với c=1 giảm được
mức độ tính toán hơn.
- Khi tăng tỷ lệ ngoại lai trong dữ liệu từ 10% lên 15%, khả năng phát hiện ngoại
lai giảm rõ rệt.
Bảng 3.10. Kết quả phát hiện bất thường của udPCA
Tập dữ liệu k TPR FPR c wi Tổng số kết nối T lệ ngoại lai (%) Mức ngƣỡng (%)
Tổng số ngoại lai
Test_1 54736 5474 10 75 2
− 54736 5474 10 75 1 14 91.5 17.5 14 93.5 17.3
− 54736 5474 10 80 2
− 54736 5474 10 80 1 14 80 13.3 14 76.9 13.6
− 57956 8694 15 75 2
− 57956 8694 15 75 1 14 65.2 17.6 14 71.1 16.7
− 57956 8694 15 80 2
− 57956 8694 15 80 1 14 60.6 12.8 14 53.6 14.0
Test_2 65814 6582 10 75 2
− 65814 6582 10 75 1 14 99.9 16.6 14 99.9 16.6
− 65814 6582 10 80 2
− 65814 6582 10 80 1 14 99.7 11.1 14 99.3 11.1
− 69685 10453 15 75 2
− 69685 10453 15 75 1 14 99.1 11.9 14 98.1 12.0
− 69685 10453 15 80 2 14 79.3 9.5
102
− 69685 10453 15 80 1 14 79.5 9.4
- Mức ngưỡng khi tăng từ 75% lên 80% tỷ lệ FPR giảm nhưng tỷ lệ TPR cũng
giảm theo. Tuy nhiên TPR vẫn chấp nhận được nếu tỷ lệ ngoại lai a=10%.
- Như vậy, udPCA hoạt động tốt khi tỷ lệ ngoại lai nhỏ hơn hoặc bằng 10% tổng
số dữ liệu. Mức ngưỡng của udPCA không nên đặt cao hơn 80% vì nếu cao hơn sẽ
bỏ qua nhiều ngoại lai.
Như đã trình bày ở phần trên, ngoại lai thực chất cũng chính là bất thường. Trong
những phần đã trình bày ở trên, udPCA có mục tiêu phát hiện và khử ngoại lai cho tập
dữ liệu mẫu của dPCA. Mặc khác, udPCA cũng có thể sử dụng như một phương pháp
phát hiện bất thường trực tiếp với dữ liệu thuộc tính khi cần thiết.
3.6. Kết luận chƣơng 3
Như đã trình bày trong chương 2, dPCA yêu cầu phải có tập dữ liệu mẫu sạch để
tạo profile. Tuy nhiên, bất thường hoặc những sự biến đổi lớn của lưu lượng có thể
làm xuất hiện ngoại lai trong tập dữ liệu mẫu. Sự ảnh hưởng của ngoại lai đến hiệu quả
của phương pháp dPCA dẫn tới yêu cầu phải khử ngoại lai ra khỏi tập dữ liệu mẫu.
Chương 3 của luận án đã đề xuất 2 phương pháp để khử ngoại lai cho tập dữ liệu mẫu:
- Phương pháp udPCA: đây là phương pháp phát hiện ngoại lai dựa trên cơ sở
dPCA ở chương 2. Điểm khác biệt là udPCA phát hiện trực tiếp với dữ liệu có
được sau khi tách thuộc tính.
- Phương pháp K-means: đây là phương pháp sử dụng thuật toán phân cụm K-
means để phát hiện và khử ngoại lai trong tập dữ liệu mẫu.
Các kết quả thử nghiệm cho thấy udPCA và K-means là những phương pháp hiệu
quả để khử ngoại lai. Sau khi khử ngoại lai, tỷ lệ phát hiện bất thường TPR của dPCA
tăng lên rõ rệt. Hạn chế của việc khử ngoại lai là làm tăng tỷ lệ cảnh báo sai FPR. Để
khắc phục vấn đề này, luận án đã đề xuất một kỹ thuật chỉnh mức ngưỡng để bù lại sự
hao hụt những dữ liệu bình thường đã bị khử với udPCA và K-means, do đó cải thiện
được tỷ lệ FPR.
Tỷ lệ FPR cao hơn của dPCA sau khi khử ngoại lai là chấp nhận được vì một số
dữ liệu bình thường gây đột biến về lưu lượng (có khoảng cách lớn) cũng được coi là
103
bất thường. Thực tế đó có thể là do người dùng có những hành động hợp lệ nhưng
vượt ngoài mức bình thường trong khoảng thời gian đang kiểm tra hoặc do chương
trình ứng dụng gây nên. Việc phát hiện những luồng gây ra đột biến như vậy cũng là
cần thiết và được coi như một dạng bất thường. Nếu không muốn những cảnh báo
tương tự như vậy tiếp tục xảy ra (hoặc giảm tỷ lệ cảnh báo cho những mục tiêu không
cần quan tâm), người quản trị chỉ cần lọc bỏ những luồng thông tin đó khỏi quá trình
kiểm tra của dPCA sau này.
udPCA yêu cầu số lượng ngoại lai chiếm tỷ lệ nhỏ so với dữ liệu bình thường. Nếu
số lượng ngoại lai nằm trong giới hạn nhất định, udPCA sẽ đạt được hiệu quả như đã
trình bày trong chương 3.
104
CHƢƠNG 4
HỆ THỐNG GIÁM SÁT VỚI PHƢƠNG PHÁP PHÁT HIỆN
LƢU LƢỢNG BẤT THƢỜNG
4.1. Mở đầu
Trong các chương 2 và 3, luận án đã trình bày về phương pháp phân tích và phát
hiện lưu lượng bất thường trên mạng sử dụng tập dữ liệu mẫu và phương pháp để khử
ngoại lai trong tập dữ liệu mẫu. Trong chương này, luận án đề xuất việc ứng dụng các
phương pháp trên vào một hệ thống giám sát có thể triển khai trong thực tế cho một
mạng nội bộ của một tổ chức, doanh nghiệp có kết nối Internet.
Chương 4 gồm các nội dung chính như sau: Phần 4.2 trình bày về kiến trúc hệ
thống giám sát. Phần 4.3 trình bày vấn đề nhận dạng, phân loại bất thường và khả năng
kết hợp phát hiện lưu lượng bất thường với phát hiện tấn công mạng dựa trên mẫu dấu
hiệu. Phần 4.4 đưa ra một mô hình kết hợp phát hiện bất thường với phát hiện xâm
nhập dựa trên tập mẫu dấu hiệu. Phần 4.5 trình bày một số kết quả thử nghiệm về phát
hiện bất thường cụ thể trong phát hiện tấn công mạng của hệ thống giám sát. Cuối
cùng, phần 4.6 là kết luận chương.
4.2. Kiến trúc hệ thống giám sát
4.2.1. Phạm vi thu thập dữ liệu
Đối với nhà quản trị mạng của một phân đoạn mạng, điều thực tế họ quan tâm nhất
là có các hành vi bất thường trên phân đoạn mạng họ quản trị hay không. Nói cách
khác, có sự cố mạng hay tấn công từ bên ngoài vào phân đoạn mạng, hoặc tấn công từ
bên trong ra ngoài phân đoạn mạng đó hay không. Chính vì vậy, việc lựa chọn phạm
vi thu thập dữ liệu là một phân đoạn cụ thể cho một hệ thống theo dõi phát hiện bất
thường. Vị trí đặt bộ thu dữ liệu lưu lượng phù hợp với yêu cầu trên là ở thiết bị kết
nối giữa phân đoạn mạng với mạng Internet bên ngoài.
Mạng của mỗi cơ quan, tổ chức, doanh nghiệp có thể rất khác nhau, tùy theo mục
đích sử dụng, các dịch vụ cần thiết, phân cấp mạng, cấu hình mạng,… Tuy nhiên,
những thành phần cơ bản nhất của một mạng nội bộ doanh nghiệp thường gồm (hình
4.1): hệ thống trung tâm (ví dụ webserver, mail server, DNS), kết nối nội bộ (qua các
105
switch, router), kết nối truy nhập không dây (WIFI), kết nối với một ISP ra Internet (có
thể có tường lửa).
Hình 4.1. Mạng nội bộ doanh nghiệp có kết nối ra Internet
Phạm vi giám sát có thể gồm 4 vùng chính: vùng kết nối nội bộ cho các máy tính
người dùng, vùng kết nối không dây, vùng hệ thống trung tâm, vùng kết nối ra
Internet.
4.2.2. Kiến trúc tổng thể hệ thống giám sát
Một hệ thống giám sát điển hình thường gồm 2 phần chính: Các máy trinh sát và
phần trung tâm phân tích xử lý hay còn gọi là trung tâm giám sát (xem hình 4.2).
Hình 4.2. Kiến trúc tổng thể hệ thống giám sát
106
Máy trinh sát (sensor): Thu thập thông tin và các sự kiện trên mạng chuyển về
trung tâm giám sát để xử lý, phân tích. Ngoài ra, trên máy trinh sát có thể có thêm
chức năng phân tích, phát hiện sơ bộ để có cảnh báo nhanh gửi về trung tâm giám sát.
Trung tâm phân tích, xử lý: Thực hiện lưu giữ thông tin thu thập được vào cơ sở
dữ liệu (database), phân tích dữ liệu thu được để phát hiện dấu hiệu bất thường, phát
hiện tấn công xâm nhập mạng và đưa ra cảnh báo.
4.2.3. Máy trinh sát
Máy trinh sát (Sensor) có thể là một thiết bị trinh sát chuyên dụng (phần cứng)
hoặc một phần mềm cài đặt trên các máy tính (host) trong mạng. Hình 4.3 mô tả cấu
trúc thiết bị trinh sát.
Hình 4.3. Cấu trúc thiết bị trinh sát
Phần mềm sensor là phần căn bản nhất cho chức năng thu thập thông tin và có thể
thực hiện thêm chức năng phân tích, phát hiện (do sự cố mạng, tắc nghẽn, hoặc tấn
công mạng) để có cảnh báo nhanh gửi về trung tâm giám sát. Thiết bị trinh sát có hai
giao diện kết nối với mạng là các giao diện mạng eth0 và eth1 (ký hiệu eth0, eth1 là
các cổng vỉ mạch Ethernet tương ứng thứ nhất và thứ 2). Cổng eth0 phục vụ cho việc
bắt giữ gói tin/hay luồng tin từ mạng (sử dụng thư viện libcap của Linux), cổng eth1
dùng cho việc chuyển dữ liệu về trung tâm giám sát. Thiết bị trinh sát có phần mềm
điều khiển cho giao diện mạng và hệ điều hành.
107
Ngoài ra, thiết bị trinh sát còn có thể có thêm các phần mềm công cụ phục vụ cho
các chức năng theo dõi, giám sát khác và phần mềm giao diện quản lý (cho người quản
trị, ví dụ để thiết lập cấu hình sensor).
Kết nối giữa sensor với trung tâm giám sát có thể thông qua mạng riêng ảo (VPN
– Virtual Private Network) để tăng khả năng bảo mật cho hệ thống giám sát. Các thiết
bị trinh sát có thể được đặt tại vị trí các switch, router, gateway thông qua SPAN port
(Switch Port Analyzer) hoặc TAP (Test Access Port) để thu lưu lượng.
Các chức năng chính của thiết bị sensor gồm:
Thu thập dữ liệu lưu lượng mạng.
Xử lý dữ liệu. Phân tích và phát hiện bất thường (do sự cố mạng, tắc nghẽn,
hoặc tấn công mạng) để có cảnh báo nhanh gửi về trung tâm giám sát. Việc
phân tích, phát hiện có thể bằng việc sử dụng tập mẫu hành vi bất thường hoặc
tập mẫu dấu hiệu tấn công mạng.
Ghi nhận, lưu giữ tạm thời dữ liệu về các sự kiện bất thường. Ngoài ra, sensor
còn có thể lưu giữ các dữ liệu khác do các phần mềm công cụ cung cấp (ví dụ
nhật ký hệ thống, các điểm yếu quét được,…).
Gửi dữ liệu và các sự kiện thu thập được (hoặc đã xử lý, phân tích) về trung tâm
giám sát.
Quản lý cấu hình các phần mềm công cụ, trao đổi thông tin quản lý và cập nhật
cấu hình từ trung tâm giám sát.
Máy trinh sát (Sensor) cũng có thể là một phần mềm cài đặt trên các máy tính
(host) trong mạng. Hình 4.4 mô tả phần mềm trinh sát cài đặt tại một máy trạm đầu
cuối (có thể cài trên máy chủ, hoặc máy người dùng). Phần mềm này bao gồm: Phần
mềm sensor, các phần mềm công cụ (nếu có bổ sung). Phần mềm sensor là phần căn
bản nhất cho chức năng thu thập và xử lý phân tích, phát hiện lưu lượng bất thường
(bao gồm cả tấn công mạng).
108
Hình 4.4. Hệ thống phần mềm trinh sát
Lưu lượng bất thường được phát hiện có thể do các nguyên nhân: đối tượng sử
dụng một dịch vụ không đúng, dịch vụ được sử dụng một cách bất bình thường, thời
gian sử dụng dịch vụ quá dài, lưu lượng tăng đột biến, thay đổi dịch vụ hoặc cấu hình
hệ thống, giả mạo địa chỉ MAC v.v..
Phương pháp dPCA được triển khai trong một phần mềm tiện ích được tích hợp
vào phần mềm trinh sát. dPCA thực hiện chức năng phân tích, phát hiện lưu lượng bất
thường đi qua mỗi điểm trinh sát. Mặt khác, dPCA có thể cài đặt tại trung tâm giám sát
để thực hiện chức năng phân tích, phát hiện lưu lượng bất thường trên toàn bộ phân
đoạn mạng. Việc cài đặt dPCA tại máy trinh sát và thực hiện phân tích, phát hiện lưu
lượng bất thường tại mỗi điểm trinh sát là tùy chọn. Trong trường hợp các máy trinh
sát bị quá tải, hoặc không thể xử lý, dữ liệu thuộc tính của lưu lượng mạng thu được sẽ
được chuyển trực tiếp về trung tâm để phân tích, phát hiện bất thường.
Để thu thập dữ liệu lưu lượng cho dPCA tại máy trinh sát, có thể sử dụng các phần
mềm công cụ như Ntop, Fprobe lấy dữ liệu. Một nguồn khác là từ các router hỗ trợ
chuẩn Netflow [1, 2, 3]. Một cách làm tương tự có thể thực hiện là dữ liệu trích xuất từ
luồng tin trong hệ thống MINDS [19]. Dữ liệu thuộc tính được tổng hợp từ kết nối
hoặc luồng tin. Tập dữ liệu thuộc tính sau đó được lưu tạm thời tại máy trinh sát (nếu
có chức năng phân tích, phát hiện tại máy trinh sát) và chuyển về cơ sở dữ liệu tại
trung tâm giám sát. Vì vậy, dPCA hoạt động trong sự kết hợp với các phần mềm công
cụ khác. Những phần mềm công cụ khác như Snort, Suricata, OSSEC cũng có thể
dùng để hỗ trợ cho dPCA trong việc kiểm tra kết quả phát hiện nếu cần thiết.
Như đã phân tích ở chương 2, tập dữ liệu mẫu rất cần cho việc tạo profile. Dữ liệu
lưu lượng mạng thu được từ máy trinh sát được so sánh với profile để phát hiện bất
109
thường. Yêu cầu đặt ra là cần có dữ liệu sạch để tạo profile, nghĩa là dữ liệu lưu lượng
mạng bình thường không có chứa các bất thường (do sự cố mạng hay lưu lượng tấn
công mạng). Thực tế, điều này có thể không đạt được vì dữ liệu tập mẫu cũng cần phải
được tạo ra, cập nhật liên tục từ chính dữ liệu thu về từ mạng. Bởi vậy, trong phương
pháp phát hiện bất thường được đề xuất ở chương 3, dữ liệu thu về có thể chứa một
phần dữ liệu không sạch. Nhiệm vụ đặt ra là phần mềm phân tích, phát hiện bất thường
cần thích nghi với điều kiện tập dữ liệu mẫu có thể chứa ngoại lai và cung cấp kết quả
phát hiện chấp nhận được. Như đã nêu trong chương 3, các phương pháp udPCA và K-
means làm nhiệm vụ khử ngoại lai cho tập dữ liệu mẫu để dùng cho dPCA.
Một số phần mềm công cụ khác có thể được tích hợp trong máy trinh sát bao gồm:
Snare (thu thập thông tin sự kiện trên hệ điều hành Windows, Ntop (thu thập và theo
dõi lưu lượng mạng), Fprobe (công cụ tạo dữ liệu Netflow từ lưu lượng thu được),
Nagios (theo dõi dịch vụ, tiến trình đang hoạt động), Arpwatch (theo dõi sự kiện trên
phân đoạn LAN Ethernet), p0f (phát hiện dấu vết), Ossec (phát hiện xâm nhập dựa trên
file log của host), Snort/Suricata (phát hiện xâm nhập dựa trên mẫu dấu hiệu với lưu
lượng từ giao diện mạng), OpenVAS (công cụ để đánh giá điểm yếu, lỗ hổng an ninh).
Tuy nhiên, trong phạm vi của bài, luận án không đi sâu vào trình bày các phần mềm
công cụ này, mà chỉ tập trung vào vấn đề ứng dụng phương pháp phân tích và phát
hiện lưu lượng mạng bất thường trong một hệ thống giám sát.
4.2.4. Trung tâm phân tích, phát hiện và cảnh báo
Như mô tả trên hình 4.2, trung tâm giám sát gồm 04 thành phần chính: 1) Thu thập
thông tin từ các máy trinh sát và xử lý dữ liệu sơ bộ; 2) Cơ sở dữ liệu; 3) Xử lý, phân
tích, phát hiện bất thường; 4) Quản trị hệ thống, hiển thị cảnh báo.
Trung tâm giám sát có 4 chức năng chính như sau.
Thu thập thông tin từ các máy trinh sát: Dữ liệu (bao gồm lưu lượng mạng và
có thể bao gồm cả kết quả phân tích sơ bộ tại máy trinh sát) được gửi từ các
máy trinh sát về trung tâm giám sát. Dữ liệu này được xử lý sơ bộ trước khi lưu
vào cơ sở dữ liệu (ví dụ tách ra những thuộc tính đặc trưng của các luồng dữ
liệu). (kết quả nghiên cứu trong [CT1, CT2, CT3]).
110
Lưu dữ liệu vào cơ sở dữ liệu: Cơ sở dữ liệu dùng để lưu trữ các dữ liệu thu
được từ các máy trinh sát phục vụ cho phân tích, phát hiện, thống kê, cảnh báo
(kết quả nghiên cứu trong [CT1, CT2, CT3]).
Thực hiện chức năng phân tích và phát hiện bất thường: Ứng dụng các phương
pháp đã trình bày trong chương 2 và chương 3 vào hệ thống giám sát để phân
tích và phát hiện bất thường (do các nguyên nhân: tắc nghẽn, sự cố mạng, tấn
công mạng,…). Căn cứ vào mẫu dấu hiệu tấn công mạng, phần mềm có thể
nhận dạng được những loại tấn công cơ bản.
Hình 4.5. Một số sự kiện thu được tại trung tâm giám sát
Quản lý, cập nhật cấu hình hệ thống và hiển thị kết quả giám sát, cảnh báo: Các
sự kiện thu thập được từ các máy trinh sát được hiển thị trên màn hình trung
tâm giám sát. Ngoài ra, hệ thống đưa ra các cảnh báo về các khả năng tấn công
xâm nhập mạng và các hành vi bất thường trên mạng. Trên hình 4.5 là một số
cảnh báo thu được từ các nút trinh sát dựa vào một số phần mềm công cụ cài đặt
111
tại trung tâm giám sát. Người quản trị hệ thống có thể thay đổi cấu hình, cập
nhật phần mềm trực tiếp hoặc từ xa.
Khi có yêu cầu từ máy trinh sát, trung tâm giám sát có thể chia sẻ một phần năng
lực xử lý để thực hiện chức năng phát hiện bất thường với dữ liệu được gửi về.
4.3. Nhận dạng, ph n loại bất thƣờng và khả n ng kết hợp phát hiện lƣu lƣợng
bất thƣờng với phát hiện tấn công mạng dựa trên mẫu dấu hiệu.
Phát hiện lưu lượng bất thường là một giai đoạn trong toàn bộ quá trình chẩn đoán
nguyên nhân bất thường. Sau khi phát hiện cần xác định nguyên nhân, phân loại bất
thường và biện pháp phòng chống, khắc phục hậu quả bất thường gây ra.
Sau khi phát hiện bất thường, cần phải nhận dạng bất thường để xác định bất
thường thuộc loại nào. Một số nghiên cứu 72, 51] tạo ra các lớp bất thường đã phân
loại sẵn để phân loại tự động những bất thường phát hiện được vào từng lớp. 72] dùng
phương pháp phân tích phần dư tính khoảng cách cho mỗi lớp dữ liệu của từng loại tấn
công và phân lớp dựa trên khoảng cách tính được. Nghiên cứu trong [51] dùng phương
pháp cây quyết định. Dựa trên các lớp đã phân lớp cùng với thuộc tính được lựa chọn
cho từng lớp (địa chỉ IP, cổng, giao thức, bit cờ TCP, số byte/gói tin, số gói tin/luồng),
cây quyết định sẽ lựa chọn bất thường đang xét thuộc lớp nào.
Tuy nhiên việc tạo ra các lớp bất thường đã định sẵn là việc khó vì yêu cầu dữ liệu
đã đánh nhãn. Điều không phải lúc nào cũng thực hiện được. Độ chính xác của việc
phân lớp cũng là một vấn đề vì phụ thuộc vào nhiều yếu tố trong đó có chất lượng dữ
liệu dùng để huấn luyện phân lớp. Một phương pháp có thể dùng là phân cụm dữ liệu.
Trong [35, 36], tác giả dùng K-means để phân cụm các loại bất thường phát hiện được.
Những bất thường giống nhau sẽ có xu hướng nằm chung trong cụm. Phương pháp
này vẫn cần chuyên gia kiểm tra từng cụm để xác định loại bất thường.
Một cách khác để nhận dạng bất thường, xác định loại bất thường là dựa trên mẫu
dấu hiệu. Mẫu dấu hiệu bao gồm những thông tin hoặc luật mà bất thường (ví dụ kiểu
tấn công) đã biết trước hay xuất hiện. Phương pháp này có khả năng nhận dạng nhanh
những bất thường phổ biến. Trong 21], tác giả thực hiện phân loại bất thường phát
hiện được dựa trên mã của gói tin ICMP, số hiệu cổng TCP/UDP, bit cờ TCP và gán
112
cho mỗi loại bất thường một mã riêng. Trong 42, 43] tác giả phân loại các loại bất
thường dựa trên luật đã thiết lập sẵn cho từng loại bất thường.
Một phương pháp cũng có thể sử dụng cho phát hiện bất thường liên quan đến tấn
công mạng là kết hợp phát hiện bất thường với phát hiện xâm nhập dựa trên mẫu dấu
hiệu. Mẫu dấu hiệu có thể sử dụng để kiểm tra và xác định được kiểu tấn công dựa trên
tập luật và cơ sở dữ liệu về các loại tấn công đã biết.
Cách kiểm tra trực tiếp bởi con người đòi hỏi người quản trị, chuyên gia có thể
phân tích từng loại bất thường phát hiện được. Tuy nhiên, với số lượng lớn bất thường
phát hiện được, không thể kiểm tra trực tiếp tất cả bất thường. Kiểm tra trực tiếp bởi
con người để tìm ra nguyên nhân gây ra bất thường cũng là một trong những vấn đề
khó trong những nghiên cứu về lĩnh vực này nhiều năm qua. Vì vậy, phương pháp này
nên được kết hợp với phương pháp dựa trên mẫu dấu hiệu và phương pháp phân lớp,
phân cụm để đạt hiệu quả cao hơn.
4.4. Mô hình kết hợp phát hiện bất thƣờng với phát hiện x m nhập dựa trên
tập mẫu dấu hiệu
Trong hệ thống giám sát, dPCA chỉ là một thành phần để phát hiện bất thường
trên mạng cần giám sát và cần phải làm việc kết hợp với những thành phần khác. Một
thành phần quan trọng có thể làm việc với dPCA là bộ phận phát hiện xâm nhập dựa
trên tập mẫu dấu hiệu. Hình 4.6 mô tả mô hình đề xuất trong [CT5] trong đó có kết
hợp phương pháp phát hiện bất thường với phát hiện xâm nhập dựa trên tập dữ liệu
mẫu dấu hiệu và cơ chế hồi tiếp dữ liệu bình thường nhằm làm tăng chất lượng của dữ
liệu đầu vào của tập dữ liệu mẫu.
Dữ liệu đầu vào để tạo tập mẫu được kiểm tra bởi phần mềm phát hiện xâm nhập
(IDS) theo mẫu dấu hiệu (ví dụ Snort, Suricata, Bro) [15, 45] để loại bỏ những tấn
công đã biết. Tiếp đó, tập dữ liệu mẫu đi qua bộ khử ngoại lai để khử những ngoại lai
có thể xuất hiện trong tập dữ liệu mẫu. Trong trường hợp dữ liệu đầu vào để tạo tập
mẫu đã đảm bảo sạch (bởi người quản trị mạng), dữ liệu này có thể sử dụng trực tiếp
làm tập dữ liệu mẫu. Bộ biến đổi PCA dùng để tính ra các tham số của profile. Những
dữ liệu đọc vào sau đó được ánh xạ qua các tham số của profile và tính khoảng cách.
113
Nếu khoảng cách vượt quá giá trị ngưỡng, dữ liệu tương ứng được coi là bất thường,
ngược lại là bình thường.
Kết quả phát hiện được kiểm tra lại bởi mẫu dấu hiệu như trong 21, 42, 43], bởi
phần mềm phát hiện xâm nhập theo mẫu dấu hiệu như Snort/Suricata/Bro hoặc bởi
phương pháp học máy dựa trên các lớp bất thường đã biết 72, 51]. Những bất thường
không thể nhận dạng sẽ được kiểm tra trực tiếp bởi con người.
Hình 4.6. Mô hình kết hợp phát hiện bất thường và mẫu dấu hiệu
Để tránh quá tải cho IDS theo mẫu dấu hiệu, những dữ liệu được phát hiện là bình
thường sẽ không phải kiểm tra lại toàn bộ bởi IDS theo mẫu dấu hiệu mà được kiểm
114
tra lại một cách ngẫu nhiên để xem có tấn công hay không. Điều này là do cơ sở dữ
liệu IDS chứa rất nhiều luật, sử dụng tất cả các luật này sẽ có thể làm quá tải IDS. Tuy
nhiên, nếu thấy quá nhiều dữ liệu bình thường bị phát hiện là tấn công, tất cả những dữ
liệu bình thường phải được kiểm tra bởi IDS.
Sau tất cả những bước kiểm tra ở trên, dữ liệu được coi là bình thường sẽ được hồi
tiếp trở lại tập dữ liệu mẫu. Những dữ liệu mới đưa vào sẽ dần dần thay thế những dữ
liệu cũ, đảm bảo profile được cập nhật theo thời gian. Profile có thể thay đổi theo thời
gian (giờ, ngày). Người quản trị mạng có thể tạo nhiều profile và đặt thời gian để
chuyển profile một cách tự động.
4.5. Mô phỏng thử nghiệm phát hiện tấn công của dPCA
4.5.1. ập dữ liệu thử nghiệm
KDD (Knowledge Data Mining Data Set) là những tập dữ liệu tri thức thuộc các lĩnh
vực khác nhau như: y tế, an ninh mạng, kinh tế.. được tổng hợp từ những điều kiện thực
tế và sử dụng trong các thuật toán, phương pháp khai phá dữ liệu.
Một tập dữ liệu hay sử dụng để kiểm nghiệm các phương pháp phát hiện xâm nhập
là KDD-CUP 99 [69]. KDD-CUP 99 tách ra những trường dữ liệu đặc trưng (thuộc
tính) từ các gói tin sau đó tổng hợp lại cho từng kết nối. Các trường dữ liệu hay thuộc
tính trở thành các biến đầu vào cho cơ chế phát hiện tấn công. Tổng cộng có 42 trường
dữ liệu trong đó trường số 42 đánh nhãn (labeling) mỗi kết nối là bình thường hoặc tên
một loại tấn công. Dữ liệu được phân loại thành các lớp: Bình thường (Normal) hoặc
các lớp tấn công (Denial of Service, Probe, Root to Local, User to Root).
Đã có nhiều nghiên cứu sử dụng KDDCUP 99 để thử nghiệm mô hình và phương
pháp đề xuất. Điển hình là trong [70] các tác giả đã chứng tỏ rằng KDD-CUP 99 vẫn
là một tập dữ liệu quan trọng để đánh giá hiệu quả của các phương pháp phát hiện xâm
nhập mới trong giai đoạn phát triển sau này. Các tác giả cũng cho thấy các IDS phát
hiện dựa trên mẫu dấu hiệu biết trước (signature based IDS) bỏ qua rất nhiều các tấn
công so với IDS dựa trên phương pháp phát hiện bất thường (anomaly-based IDS).
Mặc dù vậy, KDD-CUP 99 tồn tại một số vấn đề mà điển hình là có quá nhiều dữ liệu
115
dư thừa và trùng lặp. Điều này ảnh hưởng đến kết quả đánh giá hiệu quả của phương
pháp phát hiện trong những nghiên cứu sử dụng tập dữ liệu này như đã nêu trong [64].
Tiếp đó, NSL-KDD là tập dữ liệu được phát triển từ tập KDD-CUP 99 nhưng đã
loại bỏ những kết nối dư thừa hoặc trùng lặp [64]. Do đã khắc phục được một số
nhược điểm quan trọng trong KDD-CUP 99, NSL-KDD là tập dữ liệu có độ tin cậy
cao hơn KDD-CUP 99 khi thử nghiệm các phương pháp phát hiện tấn công. Những
phương pháp đề xuất có độ chính xác cao với KDDCUP99 khi thử nghiệm với NSL-
KDD đều có kết quả bị suy giảm khá nhiều 64]. Những công trình nghiên cứu gần
đây thử nghiệm với tập dữ liệu này như 1], [26] đã chứng tỏ NSL-KDD là tập dữ liệu
có đủ độ tin cậy để mô phỏng, thử nghiệm phát hiện bất thường và tấn công mạng.
Với những lý do trên, trong chương 4, NSL-KDD là tập dữ liệu được lựa chọn khi
thử nghiệm phân tích và phát hiện lưu lượng bất thường nói chung và một số loại tấn
công nói riêng. Chi tiết về tập NSL-KDD được mô tả trong 64, 68]. Bảng 4.1 liệt kê
các thuộc tính sử dụng trong thử nghiệm của tập dữ liệu NSL-KDD (16 thuộc tính).
Các thuộc tính được lựa chọn dựa trên thực nghiệm.
Bảng 4.1. Thuộc tính dùng trong thử nghiệm của tập dữ liệu NSL-KDD
Thuộc tính Ý nghĩa
Duration Thời gian của kết nối
protocol_type Loại giao thức
Service Loại dịch vụ
src_bytes Số lượng byte gửi từ nguồn đến đích
dst_bytes Số lượng byte gửi từ đích về nguồn
flag Bit cờ
count Số lượng kết nối đến cùng địa chỉ đích đang xét trong 2s
srv_count Số lượng kết nối đến cùng dịch vụ đích đang xét trong 2s
serror_rate % số kết nối có lỗi đồng bộ SYN
rerror_rate % số kết nối có lỗi đồng bộ REJ
diff_srv_rate % số kết nối đến các dịch vụ giống nhau
dst_host_count Số lượng địa chỉ đích
116
dst_host_srv_count Số lượng kết nối đến cùng địa chỉ đích đang xét và cùng dịch
vụ đích
dst_host_diff_srv_rate % số kết nối đến các dịch vụ giống nhau với cùng địa chỉ
đích
num_failed_logins Số lượng lần dăng nhập không thành công của ứng dụng
logged-in Bit cờ cho biết trạng thái đăng nhập thành công của ứng
dụng. Bit 1 khi thành công, bit 0 khi không thành công.
4.5.2. Mô phỏng, thử nghiệm phát hiện bất thường và một số loại tấn công
Phần thử nghiệm thực hiện đánh giá các thông số sau:
TPR và FPR của toàn bộ các kết nối được thử nghiệm. TPR cho biết tỷ lệ phát
hiện đúng tổng cộng của tất cả các loại tấn công. FPR cho biết tỷ lệ phát hiện
sai của dữ liệu bình thường nhưng bị phát hiện là tấn công.
Tỷ lệ phát hiện đúng của một số loại tấn công:
- Smurf: là kiểu tấn công từ chối dịch vụ trong đó một số lượng lớn gói tin ICMP
với địa chỉ nguồn giả mạo của máy tích nạn nhân được gửi đến địa chỉ IP quảng
bá. Khi những thiết bị nhận được gói tin quảng bá và chấp nhận trả lời, một số
lượng lớn gói tin có thể làm tràn tài nguyên tại máy tính nạn nhân.
- Neptune: kiểu tấn công từ chối dịch vụ bằng cách gửi các gói tin giả mạo địa
chỉ IP nguồn để thiết lập các phiên làm việc đến máy nạn nhân nhằm làm cho
máy nạn nhân bị cạn kiệt tài nguyên.
- IP-Sweep: tấn công quét, thăm dò để tìm ra những máy tính hoặc thiết bị nào
đang hoạt động.
- Portsweep: tấn công quét cổng, tìm ra những cổng đang mở và dịch vụ đang
chạy trên máy nạn nhân.
- Guest password: tấn công dò tìm mật khẩu. Hiện nay kiểu tấn công này có thể
thực hiện một cách tự động với sự trợ giúp của từ điển các mật khẩu hay dùng.
wi, c, k là những tham số dùng trong công thức tính khoảng cách như đã trình
bày trong chương 2 và chương 3.
117
Trong các loại tấn công trên, phần lớn việc phát hiện tấn công chỉ cần dữ liệu lưu
lượng tại lớp mạng (Network Layer) và lớp giao vận (Transport Layer). Tuy nhiên với
tấn công “Guest password” yêu cầu phải có dữ liệu tại lớp ứng dụng (Application
Layer). Đó là các thuộc tính “num_failed_logins” và “logged-in.”
Bảng 4.2 là kết quả phát hiện của dPCA1T với tập dữ liệu NSL-KDD.
Bảng 4.2. Kết quả phát hiện của dPCA1T với một số loại tấn công
k Smurf c wi TPR (%) FPR (%) Guest- Pwd Nep- tune (%) IP- sweep (%) Port- Sweep (%)
1 1
5.0 4.9 5.1 5.1 5.4 5.3 4.8 73.1 76.2 86.2 73.9 81.6 71.2 67.7 100 99.1 99.1 99.2 98.1 99.5 99.4 87.5 63.8 76.2 62.6 88.1 99.5 13.3 31.4 17.0 19.4 40.5 49.8 73.6 82.7 88.1 88.6 86.8 86.8 98.1 96.2 98.1 1 2 2 2 2 2 2
4.9 91.1 99.4 85.2 18.3 88.6 1
5.0 90.2 99.8 80.4 37.1 98.1 1
4.7 83.4 99.7 97.8 47.2 98.1 1
5.3 86.1 99.9 87.6 66.0 88.7 1
3 87.3 3 83.1 3 84.9 4 84.2 5 88.4 6 90 16 82.9 3 86.3 4 86.6 5 89 6 89.6 16 83.6 4.6 68.1 99.8 20.4 83.1 98.1 1
Khi tăng số lượng PC để tính khoảng cách, tỷ lệ phát hiện đúng của Portsweep
tăng lên. Tuy nhiên tỷ lệ phát hiện của Smurf, IPsweep lại giảm đi. Điều này cho thấy
không phải cứ tăng số lượng PC lên, tỷ lệ chính xác TPR của mỗi loại tấn công tăng
lên. Lý do là các thuộc tính dữ liệu cho phát hiện mỗi loại tấn công phân bố ở các PC
khác nhau.
Mỗi loại tấn công nói riêng cần phải có những tập thuộc tính riêng. Ví dụ với
IPsweep, đó là những thuộc tính cho biết sự biến động của địa chỉ IP đích; với
Portsweep cần biết những thuộc tính về sự biến động của dải cổng hoặc số lượng dịch
118
vụ trên mỗi địa chỉ IP đích; đối với những tấn công tại lớp ứng dụng như dò tìm mật
khẩu (Guest password) cần có những thuộc tính đặc trưng của ứng dụng.
Do PCA là phương pháp đa biến, việc kết hợp nhiều thuộc tính với nhau trong
PCA có thể xét được tính tương quan giữa các thuộc tính này. Tuy nhiên những giá trị
bất thường của các thuộc tính trong miền PCA cho từng loại bất thường lại có thể biến
đổi theo quy luật khác nhau với số lượng PC. Trong [43], tác giả chứng minh rằng các
phương pháp phát hiện đơn biến có hiệu quả cho một số loại tấn công như quét địa chỉ
IP hay cổng. Nghiên cứu trong [21, 5] cho thấy sự kết hợp nhiều phương pháp phát
hiện bất thường mang lại hiệu quả cao hơn và đang là xu thế mới trong lĩnh vực này.
Chính vì vậy cần kết hợp các phương pháp phát hiện khác nhau, cả đa biến và đơn
biến, cả phương pháp dựa trên mẫu dấu hiệu và phương pháp phát hiện bất thường
v.v.. trong thực tế để phát hiện các loại bất thường, tấn công mạng. Ví dụ ngoài dPCA,
udPCA hệ thống giám sát dùng kết hợp cả Snort, Ossec, Nagios, v.v.. là những phần
mềm phát hiện xâm nhập dựa trên mẫu dấu hiệu, theo dõi trạng thái lưu lượng và việc
sử dụng tài nguyên của mạng, các máy tính, thiết bị.
4.6. Kết luận chƣơng 4
Trong chương 4, luận án trình bày về những nội dung chính như sau:
- Kiến trúc hệ thống giám sát gồm các máy trinh sát và trung tâm giám sát. Bài
trình bày kiến trúc tổng thể hệ thống, các thành phần chính và chức năng của
máy trinh sát, các thành phần chính và chức năng của trung tâm giám sát.
- Phương pháp dPCA được triển khai trong một phần mềm tiện ích được tích hợp
vào phần mềm trinh sát. dPCA thực hiện chức năng phân tích, phát hiện lưu
lượng bất thường đi qua mỗi điểm trinh sát. Mặt khác, dPCA có thể cài đặt tại
trung tâm giám sát để thực hiện chức năng phân tích, phát hiện lưu lượng bất
thường trên toàn bộ phân đoạn mạng có kết nối Internet.
- Vấn đề nhận dạng, phân loại bất thường và khả năng kết hợp phát hiện lưu
lượng bất thường với phát hiện tấn công mạng dựa trên mẫu dấu hiệu. Phát hiện
lưu lượng bất thường là một giai đoạn trong toàn bộ quá trình chẩn đoán nguyên
nhân bất thường.
119
- Luận án đã đề xuất một mô hình kết hợp giữa phát hiện xâm nhập dựa trên mẫu
dấu hiệu và phát hiện bất thường.
- Phân tích tập dữ liệu KDD-CUP 99, NSL-KDD. NSL-KDD là tập dữ liệu có độ
tin cậy cao hơn KDD-CUP 99 khi thử nghiệm các phương pháp phát hiện tấn
công và đã được lựa chọn trong thử nghiệm khả năng phát hiện bất thường và
một số loại tấn công với dPCA.
120
KẾT LUẬN VÀ KHẢ NĂNG PHÁT TRIỂN TIẾP
Mạng Internet đã có sự phát triển vượt bậc trong những năm qua và trở thành nền
tảng không thể thiếu được trong mọi lĩnh vực của đời sống. Tính mở và sự đa dạng về
hạ tầng và dịch vụ/ứng dụng đã làm cho khả năng kiểm soát mạng Internet khó khăn
hơn nhiều. Sự cố hạ tầng mạng, sự thay đổi môi trường truyền dẫn, thay đổi trong cấu
hình thiết bị, những hoạt động truy cập mạng của người dùng, số lượng các dịch
vụ/ứng dụng với các đặc tính lưu lượng biến thiên đa dạng khác nhau được sử dụng,...
và kể cả các hành vi rà quét, trinh sát, do thám, tấn công mạng,... đều có thể tạo nên
những biến động bất thường trong lưu lượng mạng. Việc giám sát, phát hiện lưu lượng
bất thường là điều hết sức cần thiết, có ý nghĩa quan trọng đối với nhà quản trị mạng,
vận hành mạng. Phát hiện bất thường giúp cho quản trị mạng sớm phát hiện những
nguyên nhân như: tắc nghẽn, sự cố mạng, lỗi của luồng tin, thay đổi tuyến trên mạng,
đột biến lưu lượng người dùng của các ứng dụng/dịch vụ và kể cả tấn công mạng.
Qua nghiên cứu cơ sở lý thuyết và khảo sát các công trình nghiên cứu về các
phương pháp phân tích và phát hiện lưu lượng mạng bất thường tới nay, luận án đã chỉ
ra một nguyên lý cơ bản được sử dụng, đó là thiết lập các đặc tính (thuộc tính) lưu
lượng mạng trong điều kiện hoạt động bình thường (tạo thành đường cơ sở - baseline)
và xác định được sự khác biệt của lưu lượng mạng đo được trong so sánh với lưu
lượng mạng bình thường đã nêu, căn cứ vào mức ngưỡng để xác định lưu lượng bất
thường. Số lượng các thuộc tính lưu lượng mạng dẫn đến bài toán phân tích đa biến, có
sự tương quan giữa các biến và có độ phức tạp cao do số chiều dữ liệu cần xử lý. Phát
hiện nhanh bất thường với độ chính xác chấp nhận được có tầm quan trọng đặc biệt
trong giai đoạn đầu của sự cố, trước khi quản trị mạng thực hiện phân tích chi tiết hơn
với độ chính xác cao hơn ở giai đoạn phân tích, xử lý sự cố.
Trong số các phương pháp đã khảo sát, nhóm các phương pháp thống kê có ưu
điểm là có thể dựa trên phân bố biết trước hoặc dựa hoàn toàn vào thực nghiệm, các
tham số của trạng thái bình thường có thể thu được từ dữ liệu thực nghiệm. Phương
pháp phân tích thành phần chính (PCA) được quan tâm nhiều do khả năng phân tích đa
biến, phân tích tương quan giữa các biến, giảm độ phức tạp do giảm chiều dữ liệu
trong khi vẫn duy trì được phần lớn đặc tính của dữ liệu. Do vậy, PCA phù hợp với
121
yêu cầu phát hiện nhanh. PCA có thể phát hiện được bất thường với độ chính xác cao
nếu thiết lập tham số hợp lý.
Tuy nhiên, qua khảo sát các công trình nghiên cứu dựa trên PCA điển hình tới
nay, luận án đã chỉ ra những điểm còn hạn chế, cụ thể là:
- Các nghiên cứu tới nay sử dụng các công thức khác nhau (chủ yếu là Euclidean,
Mahalanobis) để tính khoảng cách khi so sánh sự khác biệt trong dữ liệu để phát hiện bất thường. Các công thức này có độ phức tạp tính toán O(kn2) nên khó phù hợp với
yêu cầu phát hiện nhanh. Chưa có một công thức khái quát giúp cho việc phân tích các
tham số, lựa chọn tham số phù hợp nhằm giảm độ phức tạp, đạt hiệu quả phân tích,
phát hiện bất thường ở mức chấp nhận được.
- PCA chuyển dữ liệu về miền con với các PC, tạo điều kiện giảm chiều dữ liệu.
Tuy nhiên, vấn đề tồn tại là sử dụng PC nào, số lượng PC là bao nhiêu để đạt hiệu quả
đồng thời giảm độ phức tạp tính toán.
- Khi PCA sử dụng tập dữ liệu mẫu, ngoại lai có thể xuất hiện trong tập này làm
sai lệch kết quả phát hiện. Vẫn chưa có nghiên cứu nào đề cập cụ thể về phương pháp
loại bỏ ngoại lai trong tập dữ liệu mẫu.
Từ những vấn đề tồn tại nêu trên, luận án đã nghiên cứu và có một số đóng góp
mới cụ thể như sau:
- Đề xuất một công thức mới để tính khoảng cách dựa trên công thức Minkowski
có bổ sung thêm trọng số trong miền con PCA. Luận án đã chỉ ra các công thức tính
khoảng cách trong các nghiên cứu liên quan trước đây có thể quy về những trường hợp
riêng của công thức khái quát này.
- Đề xuất một phương pháp mới có tên là dPCA sử dụng công thức tổng quát tính
khoảng cách nêu trên. dPCA được phân cấp và có hai chế độ hoạt động là dPCA1T
dùng 1 mức ngưỡng và dPCA2T dùng 2 mức ngưỡng. Luận án đã thực hiện thử
nghiệm khảo sát với các tham số khác nhau. Kết quả thử nghiệm cho thấy có thể thay
đổi tham số để giảm độ phức tạp tính toán ở mức O(kn) so với độ phức tạp tính toán O(kn2) trong các công trình trước đó, trong khi vẫn duy trì được hiệu quả phát hiện (tỷ
lệ TPR và FPR) tương đương ở mức chấp nhận được, thậm chí cho kết quả tốt hơn
trong một số trường hợp. dPCA cho phép lựa chọn mềm dẻo hai chế độ, lựa chọn linh
hoạt các tham số trong công thức tính khoảng cách đề xuất.
122
- Đề xuất hai phương pháp phát hiện và khử ngoại lai trong tập dữ liệu mẫu là:
udPCA và K-means trong kết hợp với phương pháp dPCA. Các kết quả thử nghiệm đã
cho thấy, việc khử ngoại lai trong tập dữ liệu mẫu với udPCA và K-means làm tăng tỷ
lệ TPR lên đáng kể khi áp dụng dPCA đã khử ngoại lai so với khi áp dụng dPCA chưa
khử ngoại lai.
Ngoài ra luận án đã đề xuất tích hợp những phương pháp dPCA/udPCA/Kmeans
vào một hệ thống giám sát cho mục tiêu phân tích và phát hiện lưu lượng bất thường,
phát hiện tấn công mạng trên phân đoạn mạng có kết nối Internet.
Khả n ng phát triển tiếp:
Phân tích và phát hiện lưu lượng bất thường là một lĩnh vực rộng gồm nhiều mô
hình, phương pháp, kỹ thuật có thể áp dụng. Đối với các phương pháp dựa trên PCA,
độ phức tạp của thuật toán PCA, phép biển đổi tuyến tính, tính tự tương quan giữa các
khoảng thời gian v.v cũng là các vấn đề cần phải quan tâm trong các nghiên cứu về
phương pháp PCA nói chung. Luận án mới chỉ nghiên cứu và đề xuất chủ yếu phương
pháp phát hiện. Những vấn đề khác bao gồm nhận dạng loại bất thường, xử lý sau khi
phát hiện bất thường, nhận dạng loại tấn công, v.v.. cũng vẫn đang là những vấn đề
còn để ngỏ cho hướng phát triển tương lai. Dữ liệu lưu lượng gồm những thuộc tính
được tách ra chủ yếu từ lớp mạng (network layer hoặc lớp truyền tải (transport layer).
Chính vì vậy việc phát hiện bất thường liên quan đến từng ứng dụng cụ thể, với từng
loại dữ liệu đặc trưng khác nhau như DNS, cơ sở dữ liệu, những tấn công mạng liên
quan đến lớp ứng dụng không tạo đột biến lưu lượng (ví dụ: tấn công leo thang quyền
truy nhập) v.v.. là rất cần thiết và là một hướng phát triển sau này.
123
DANH MỤC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ
[CT1] Hoàng Đăng Hải, Nguyễn Chung Tiến, Bùi Thanh Phong, Nguyễn Hà Dương, Nguyễn Trường Giang (2010), “Giải pháp giám sát an toàn mạng doanh nghiệp”, Tạp chí Công nghệ Thông tin và Truyền thông, Kỳ 2, tr. 35-41. [CT2] Hai Hoang, Thuong Pham, Duong Nguyen (2010), “Design and Deployment of a Monitoring Sensor for Enterprise s Networks”, 55th International Scientific Colloquium (IWK), Ilmenau, Germany, pp.810-816.
[CT3] Hoàng Đăng Hải, Nguyễn Chung Tiến, Bùi Thanh Phong, Nguyễn Hà Dương, Nguyễn Trường Giang (2011), “Đề xuất giải pháp thiết kế thiết bị sensor cho hệ thống theo dõi an toàn mạng,” Hội nghị ICT.Rda'10.
[CT4] Nguyen Ha Duong, Hoang Dang Hai (2015), “A semi-supervised model for network traffic anomaly detection,” in Proc. of 17th International Conference on Advanced Communication Technology (ICACT), Korea, pp.70-75.
[CT5] Nguyen Ha Duong, Hoang Dang Hai (2015), “A model for network traffic anomaly detection,” Transactions on Advanced Communications Technology (TACT), Vol. 4, Issue 4, pp. 644-650.
[CT6] Nguyễn Hà Dương, Hoàng Đăng Hải (2015), “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,” Tạp chí Khoa học công nghệ, 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, Học viện công nghệ ưu chính viễn thông,tập 53- số 2C, tr.52-64.
[CT7] Nguyễn Hà Dương (2015), “Một phương thức phát hiện bất thường trong lưu lượng mạng,” trong K yếu Hội thảo quốc gia 2015 về điện tử, truyền thông và công nghệ thông tin (REV-ECIT 2015), tr. 92-95.
[CT8] Nguyễn Hà Dương, Hoàng Đăng Hải (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 chứa ngoại lai,” Tạp chí Khoa học công nghệ thông tin và truyền thông, Học viện ưu chính viễn thông, Bộ Thông tin và Truyền thông, tập 1, số 1, tr.3-15.
124
TÀI LIỆU THAM KHẢO
TIẾNG ANH [1] P. Aggarwal S. K. Sharma (2015), “Analysis of KDD Dataset Attributes - Class wise for Intrusion Detection,” in Proc. of 3rd International Conference on Recent Trends in Computing 2015 (ICRTC-2015), Procedia Computer Science, vol. 57, pp. 842-851.
[2] L. Braun, G. Munz, G. Carle (2010), “Packet sampling for worm and botnet detection in TCP connections,” in Proc. of IEEE/IFIP Network Operations and Management Symposium (NOMS) 2010, Osaka, Japan.
[3] S.Al-Haj Baddar, A.Merlo, M.Migliardi (2014), “Anomaly detection in computer networks: A state-of-the art review,” Journal of Wireless Mobile Networks, Ubiquitous Computing and Dependable Applications, Vol.5, No.4, pp.29-64.
[4] V. Barnett, T. Lewis (1994), “Outlier in Statistic Data,” John Wiley, 3rd ed.
[5] M.Bhuyan, D.Bhattacharyya, J.Kalita (2014),“Network anomaly detection: Methods, systems and tools,” IEEE Communications Surveys Tutorials, Vol.16, No.1, pp.303-336.
[6] D. Brauckhoff (2010), Network Traffic Anomaly Detection and Evaluation,
Doctoral dissertation, ETH ZURICH, ETH No. 18835.
[7] D. Brauckhoff, K. Salamatian, M. May (2009),“Applying PCA for traffic anomaly detection: Problems and solutions,” in Proc. of IEEE Conference on Computer Communications (INFOCOM2009).
[8] C. Callegari, L. Gazzarrini, S. Giordano, M. Pagano, and T. Pepe “A Novel PCA-Based Network Anomaly Detection,” in IEEE International Conference on Communications (ICC), pp. 1 – 5 Jun. 2011.
[9] R. M. Carrion, J. Camacho, P. G. Teodoro (2015), "Multivariate statistical approach for anomaly detection and lost data recovery in wireless sensor networks," International Journal of Distributed Sensor Networks, Vol. 2015, No.123.
[10] R. M. Carrion, J. Camacho, P. G. Teodoro (2016), "PCA-based multivariate statistical network monitoring for anomaly detection," Computers & Security, Vol. 59, pp.118-137.
125
[11] V. Chandola, A.Banerjee, V.Kumar, (2009). "Anomaly Detection: A Survey",
ACM Computing Surveys, Vol.41, Issue 3, Article No. 15.
[12] V. Chatzigiannakis, S. Papavassiliou, G. Androulidakis (2009), “Improving network anomaly detection effectiveness via an integrated multi-metric-multi- link (M3L) PCA-based approach,” Security and Communication Networks, pp. 289–304.
[13] S. Chawla, A. Gionis (2013), “K-means: A unified approach to clustering and outlier detection,” in Proc. of the SIAM International Conference on Data Mining.
[14] A. Das, S. Misra, S. Joshi, J. Zambreno, G. Memik, A. Choudhary (2008), “An Efficient FPGA Implementation of Principle Component Analysis based Network Intrusion Detection System,” in Proc. of Design, automation and test in Europe (DATE '08), pp. 1160-1165.
[15] D. David (2011), “A performance analysis of Snort and Suricata Network Intrusion Detection and Prevention Engines. In Proc. of The Fifth International Conference on Digital Society (ICDS 2011), pp. 187-192.
[16] J.J.Davis, A.J.Clark (2011), “Data preprocessing for anomaly based network intrusion detection: A review,” Computer & Security, Vol.30, No.6-7, pp.353- 375.
[17] A. Delimargas, E. Skevakis, H. Halabian, H. I. Lambadaris (2015), “IPCA for
network anomaly detection", IEEE MILCOM2015, pp. 617-622.
[18] R.Dunia, S.Qin (1997), “Multidimensional fault diagnosis using a subspace
approach,” in American Control Conference.
[19] L. Ertoz, E. Eilertson, A. Lazarevic, P. Tan, V. Kumar, and J. Srivastava (2004), “The MINDS - Minnesota Intrusion Detection System,” Next Generation Data Mining, MIT Press.
[20] G. Fernandes, J . Rodrigues, M. L. Proença (2015), “Autonomous profile-based anomaly detection system using principal component analysis and flow analysis,” Applied Soft Computing, Vol. 34, Issue C, pp. 513-525.
[21] R. Fontugne, P. Borgnat, P. Abry, K. Fukuda (2010), “MAWILab: combining diverse anomaly detectors for automated anomaly labeling and performance benchmarking,” in Proc. of CoNEXT 2010, pp. 1-12.
126
[22] P. Garcıa-Teodoro, J.Dıaz-Verdejo, G. Macia-Fernandez (2009), E. Va´zquez, intrusion detection: Techniques, systems and
“Anomaly-based network challenges,” Journal of Computers and Security, Vol.28 Ed 1-2, pp.18-28.
[23] P. Gogoi, D. K. Bhattacharyya, B. Borah, and J. K. Kalita (2011), “A Survey of Outlier Detection Methods in Network Anomaly Identification,” Computer Journal, vol. 54, no. 4, pp. 570–588.
[24] V.J. Hodge, J. Austin (2004), “A survey of oulier detection methodologies,”
Artificial Intelligence Review, Vol. 22, Issue 2, pp. 85-126.
[25] L. Huang, X. Nguyen, M. Garofalakis, J. M. Hellerstein , M. I. Jordan , A. D. (2007), “Communication-Efficient Online Detection of
Joseph , N. Taft Network-Wide Anomalies,” in Proc of IEEE INFOCOM 2007, pp. 134 – 142.
[26] B. Ingre, A. Yadav, Performance analysis of NSL-KDD dataset using ANN (2015), in Proc. of 2015 Signal Processing And Communication Engineering Systems (SPACES), pp. 92-96.
[27] J. E. Jackson (1980), “Principal component and Factor Analysis: Part 1: Principal
Components”, Journal of Quality Technology, vol. 12, pp. 201-213.
[28] J. D. Jobson (1992), “Applied Multivariate Data Analysis, Volume II: Categorical and Multivariate Methods,” Springer texts in statistics, Spinger- Verlag, NY.
[29] I. T. Jolliffe (2002), "Principal Component Analysis", Springer Verlag, New
York, 3rd ed.
[30] Y.Kanda, K.Fukuda, T.Sugawara (2010), “An evaluation of anomaly detection based on sketch and PCA”, in Proc. of Global Telecommunications Conference (GLOBECOM 2010), pp. 1-5.
[31] M. Kim, H. Kong, S. Hong, S.Chung (2004), “A flow-based method for abnormal network traffic detection”, in Proc. of Network Operations and Management Symposium, pp. 599 - 612 Vol.1.
[32] E. M. Knorr, R. T. Ng, V. Tucakov (2000), “Distance-based Outliers: Algorithms and Applications”, The International Journal on Very Large Data Bases , Vol. 8, No. 3-4, pp. 237-253.
[33] A. Lakhina, M. Crowella C.Diot (2004), “Diagnosing network-wide traffic
anomalies”, in Proc. of ACM SIGCOMM '04, pp.219-230.
127
[34] A. Lakhina, M. Crovella, C. Diot (2004), “Characterization of Network-Wide Anomalies in Traffic Flows”, in Proc. of The 4th ACM SIGCOMM conference on Internet measurement, pp.201-206.
[35] A. Lakhina, M. Crovella, C. Diot (2005), “Mining Anomalies Using Traffic
Feature Distributions”, in Proc. of the 2005 ACM SIGCOMM '05, pp.217-228.
[36] A. Lakhina
(2007), “Network Wide Traffic Analysis: Methods and Applications”, dissertation for the degree of Doctor of Philosophy, Boston University, UMI No. 3232904.
[37] Y. Lee, Y. Yeh, Y. Wang (2013), “Anomaly detection via online oversampling Principle Component Analysis”, IEEE Trans. on Knowledge and Data Engineering, Vol.25, No.7, pp.1460-1470.
[38] X.Li, F. Bian, M. Crovella, C. Diot, R. Govindan, G. Iannaccone, A. Lakhina (2006), “Detection and identification of network anomalies using sketch subspaces”, in Proc. of Internet Measurement Conference (IMC2006).
[39] D. Liu, C. H. Lung ; N. Seddigh (2014), “Entropy-based robust PCA for communication network anomaly detection”, in IEEE/CIC International Conference on Communications in China (ICCC), pp. 171 – 175.
[40] Y. Liu, L. Zhang, Y. Guan (2010), “Sketch-Based Streaming PCA Algorithm for Network-Wide Traffic Anomaly Detection”, Distributed Computing Systems (ICDCS), pp. 807 – 816.
[41] J. MacQueen (1967), "Some methods for classification and analysis of multivariate observations", in Proc. of Fifth Berkeley Symp. on Math. Statist. and Prob., Vol. 1, pp. 281-297, Univ. of Calif. Press.
[42] J. Mazel, R. Fontugne, K. Fukuda (2014), “A taxonomy of anomalies in backbone network traffic”, in Proc. of 5th International Workshop on TRaffic Analysis and Characterization (TRAC 2014), pp. 30–36.
[43] G. Munz (2010), “Traffic Anomaly Detection and Cause Identification Using Flow-Level Measurements”, PhD thesis, Technische Universität München.
[44] G. Munz, S. Li, G. Carle (2007), “Traffic Anomaly Detection Using K-Means
Clustering,” in GI/ITG Workshop MMBnet, CiteSeerX.
[45] S. Myers, John Musacchio, Ning Bao (2010), “Intrusion Detection Systems: A
Feature and Capability Analysis”, Technical Reports, UCSC-SOE-10-12.
128
[46] D. T. Nguyen, G. Memik, A. Choudhary (2006), “A reconfigurable architecture for network intrusion detection using principal component analysis”, in Proc. of The 2006 ACM/SIGDA 14th international symposium on Field programmable gate arrays, pp. 235-235.
[47] NetReflex System (Juniper) - http://junipercloud.net/us/en/products-
services/network-edge-services/network-analytics/netreflex/
[48] S. Novakov, C.H. Lung, I. Lambadaris, N. Seddigh (2014), “A Hybrid Technique Using PCA and Wavelets in Network Traffic Anomaly Detection”, International Journal of Mobile Computing and Multimedia Communications, Vol. 6 No. 1, pp.17-53.
[49] Principal Component Analysis, https://onlinecourses.science.psu.edu/stat505
/node /49.
[50] Principal Component Analysis, https://en.wikipedia.org/wiki/ Principal
_component_ analysis.
[51] I. Paredes-Oliva (2013), “Addressing Practical Challenges for Anomaly Detection in Backbone Networks”, Phd Dissertation in Computer Science, Universitat Polit`ecnica de Catalunya BarcelonaTech.
[52] A. Patcha, J.M. Park (2007), “An Overview of Anomaly Detection Techniques: Existing Solutions and Latest Technological Trends”, The International Journal of Computer and Telecommunications Networking, Vol. 51 Issue 12, pp. 3448- 3470.
[53] T. Quirino, Z. Xie, M. Shyu (2006), “Collateral Representative Subspace Projection Modeling for Supervised Classification”, in Proc. of 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06), pp. 98- 105.
[54] K. H. Ramah, H. Ayari, F. Kamoun (2006), “Traffic Anomaly Detection and Characterization in the Tunisian National University Network”, in Networking 2006, Vol. 3976, Springer Berlin Heidelberg, pp. 136-147.
[55] C.R. Rao (1996), “Principal component and factor analyses,” Handbook of
Statistics, Vol.14, pp. 489-505, Elsevier.
[56] M. Roesch (1999), "Snort - Lightweight Intrusion Detection for Networks", in Proc. of 13th USENIX Conference on System Administration, pp. 229–238.
129
[57] H. Ringberg, A. Soule, J. Rexford, and C. Diot (2007). “Sensitivity of PCA for traffic anomaly detection, in Proc. of ACM SIG ETRICS ’07, pp. 109–120.
[58] M.L. Shyu, S.C.Chen, K.Sarinnapakorn, L.W.Chang (2003), "A Novel Anomaly Detection Scheme Based on Principle Component Classifier", in Proc. of the IEEE foundation and New Directions of Data Mining Workshop (ICDM03), pp. 172-179.
[59] M.L. Shyu, S.C.Chen, K.Sarinnapakorn, L.W.Chang (2005), “Handling nominal features in anomaly intrusion detection problems, in 15th International Workshop on Research Issues in Data Engineering: Stream Data Mining and Applications (RIDE-SDMA'05).
[60] J. Song, H.Takakura, Y.Okabe. Description of Kyoto University Benchmark Data. 2006, pp. 1-3. (http://www.taka kura.com/Kyoto data/BenchmarkData- Description-v5.pdf).
[61] J. Song, H. Takakura, Y. Okabe, M. Eto, D. Inoue, K. Nakao (2011), "Statistical Analysis of Honeypot Data and Building of Kyoto 2006+ Dataset for Nids Evaluation", in Proc. of the First Workshop on Building Analysis Datasets and Gathering Experience Returns for Security(ACM, 2011), pp. 29-36.
[62] A. Sperotto, G. Schaffrath, R. Sadre, C. Morariu, A. Pras, and B. Stiller (2010), “An Overview of IP Flow-Based Intrusion Detection”, IEEE Commun. Surveys Tutorials, vol. 12, no. 3 , pp. 343–356.
[63] N. Taft, K. Papagiannaki, M. Crovella, C. Diot, E. D. Kolaczyk, A. Lakhina (2004), “Structural analysis of network traffic flows,” in Proc. of The joint international conference on Measurement and modeling of computer systems (SIG ETRICS ’04), pp. 61–72.
[64] M. Tavallaee, E. Bagheri, W. Lu, A.A. Ghorbani (2009), “A Detailed Analysis of the KDD CUP 99 Data Set”, in Proc. of IEEE Symposium on Computational Intelligence for Security and Defense Applications (CISDA2009), pp. 1-6.
[65] H.Teng, K.Chen, S.Lu (1990), “Adaptive real-time anomaly detection using inductively generated sequential patterns”, in Proc. of IEEE Computer Society Symposium on Research in Security and Privacy, pp. 278-284.
[66] The Cmulative Distribution Functions, STAT 414 - Continuous Random
Variables: https://onlinecourses.science.psu.edu/stat414/node/98
130
[67] The Empirical CDF, STAT 464 - Applied Nonparametric Statistic: https://
onlinecourses.science.psu.edu/stat464/node/84
[68] The NSL-KDD Dataset (2009)- http://www.unb.ca/research/iscx/dataset/iscx-
NSL-KDD-dataset.html
[69] The KDD cup dataset (1999), http://kdd.ics.uci.edu/databases/kddcup99
/kddcup99.html
[70] C.Thomas, V. Sharma N. Balakrishnan (2008), “Usefulness of DARPA dataset for intrusion detection system evaluation”, in Proc. of The International Society for Optical Engineering.
[71] M. Thottan, G. Liu, C. Ji (2010), “Anomaly Detection Approaches for Communication Networks”, in Algorithms for Next Generation Networks, G. Cormode, Ed. London: Springer, pp. 239-261.
[72] W. Wang, R. Battiti (2006), “Identifying Intrusions in Computer Networks with Principal Component Analysis”, in Proc. of First IEEE International Conference on Availability, Reliability and Security (ARES 2006), IEEE press society, pp. 270-277.
[73] W. Wang, S. Gombault (2007), “Detecting masquerades with principal component analysis based on cross frequency weights”, in Proc. of 14th Anniversary HP-SUA Workshop, Munich, Germany, pp. 227-232.
[74] W. Wang, X. Zhang, S. Gombault, S. J. Knapskog (2009), "Attribute Normalization in Network Intrusion Detection", in 10th International Symposium on Pervasive Systems, Algorithms and Networks (I-SPAN 2009), IEEE Press, pp. 448-453.
[75] W. Wang, S. Gombault, T. Guyet (2008), “Towards fast detecting intrusions: using key attributes of network traffic”, in Proc. of The 3rd International Conference on Internet Monitoring and Protection (ICIMP '08), pp. 86-91.
[76] D. J. Weller-Fahy, B. J. Borghetti, A. A. Sodemann (2015), “A Survey of Distance and Similarity Measures Used Within Network Intrusion Anomaly Detection”, IEEE Communication Surveys & Tutorials, Vol. 17, No. 1, pp.70-91.
[77] Z. Xie, T. Quirino, M.-L. Shyu, S.-C. Chen, and L. Chang (2006), “A distributed agent-based approach to intru-sion detection using the lightweight PCC anomaly de-tection classier”, In Proc. of IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Com-puting (SUTC2006), pp. 446–453.