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

, 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.