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
Trang 1NGUYỄ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
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à Nội – 2017
Trang 2NGUYỄ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
Trang 3LỜ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
Trang 4LỜ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
Trang 51 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
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
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 11
1.1.2 Các phương pháp thu thập lưu lượng Internet 14
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
1.2.2 Nhóm dựa vào khai phá dữ liệu và học máy 17
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
Trang 61.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
2.4.1.2 Phương pháp sử dụng thống kê T2
50
2.5.1 Lựa chọn các tham số để tính khoảng cách trong dPCA 51
2.5.4 Quá trình tạo profile và phát hiện bất thường trong dPCA 56
Trang 72.6.1 Các sự kiện và thông số đánh giá độ chính xác 60
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
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.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.5 Đánh giá khả năng phát hiện ngoại lai của udPCA 100
Trang 84.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
Trang 9DANH MỤC THUẬT NGỮ VIẾT TẮT
Từ viế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
dPCA Distance-based anomaly detection
method in PCA subspace
Phương pháp phân tích và phát hiện bất thường đề xuất của luận án
dPCA1T
Distance-based anomaly detection
method in PCA subspace using 1
threshold
Phương pháp dùng 1 mức ngưỡng
dPCA2T
Distance-based anomaly detection
method in PCA subspace using 2
threshold
Phương pháp dùng 2 mức ngưỡng
ECDF Empirical cumulative distribution
function
Hàm phân bố tích lũy thực nghiệm
EWMA Exponential Weighted Moving Average Trung bình dịch chuyển trọng
số theo hàm mũ
IP Giao thức Internet (Internet Protocol)
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
IDS Intrusion Detection System Hệ thống phát hiện tấn công
xâm nhập KDD Knowledge Discovery and Datamining Khoa học về dữ liệu
PC Principal Component Thành phần chính
PCA Principal Component Analysis Phân tích thành phần chính ROC Receiver Operating Curve Đồ thị biểu diễn dự đoán SNMP Simple Network Management Protocol Giao thức quản lý mạng
Trang 10SVD 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
UDP User Datagram Protocol Giao thức truyền dữ liệu của
người dùng
udPCA Uncleaned dPCA Phương pháp phát hiện và khử
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
Trang 11wi Trọng số trong công thức tính khoảng cách của dPCA
x i Các thuộc tính (biến) ban đầu
X Ma trận dữ liệu thuộc tính ban đầu
y i Giá trị của thành phần chính
Y Ma trận giá trị thành phần chính
z i Biến ban đầu sau khi chuẩn hóa
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ê
Euclid Khoảng cách Euclidean
wEuclid Khoảng cách Euclidean trọng số
Mahalanobis Khoảng cách Mahalanobis
Manhattan Khoảng cách Manhattan
2 Thống kê khi bình phương (chi-square)
i Trị riêng
µ Giá trị trung bình
Trang 12DANH MỤC CÁC HÌNH VẼ
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.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
Hình 2.2 Khoảng cách Euclidean và Manhattan trong không gian 2 chiều 47
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
Trang 13Hì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 =1 / i ) 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.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
Trang 14Bả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.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
Trang 15MỞ ĐẦ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
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
IP TCP, UDP, SCTP,
Ethernet, WLAN, GSM, 3G/4G,
Wired, Wireless, Radio,
Trang 16soá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ế
Trang 172 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)
Trang 18Sự 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
Trang 19Bấ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
Tắc nghẽn mạng 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
Tăng đột biến do truy
Để 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 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
Sự cố hệ thống
Tắc nghẽn mạng
Do người dùng
Do tấn công, thăm dò mạ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
Cân bằng tải, tái hiệu chỉnh cung cấp dịch vụ
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…),
Trang 20Như đã 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
Trang 21Mứ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
Trang 22tí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(kn 2) 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ù
Trang 23hợ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(kn 2) 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ể
Trang 244 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
Trang 25CHƯƠ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
Trang 26hiệ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
# Byte Số lượng byte trong luồng
# Packet Số lượng gói tin trong luồng
Source IP Address Địa chỉ IP nguồn
Destination IP Address Địa chỉ IP đích
Source port Cổng nguồn
Destination port Cổng đích
Protocol Giao thức
Flags Bit cờ của gói tin
Count-dest 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 Count-src 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 Count-serv-src Số lượng luồng từ địa chỉ IP nguồn đến cùng cổng đích
trong T giây Count-serv-dest Số lượng luồng đến địa chỉ IP đích từ cùng một cổng
nguồn trong T giây Count-dest-conn 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 Count-src-conn
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
Count-serv-src-conn 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 Count-serv-dest-conn 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
Trang 27Trong [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 đó
Trang 28gâ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
Trang 29dụ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ê
Trang 30Phươ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
Trang 31quan 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
Trang 32tuyế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),
Trang 33và 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ờ
Trang 34(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
Trang 35Trong 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
Trang 36Trong 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
Trang 37(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 X 1,
X 2 ,… X p đượ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:
- 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:
z z z 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
PCA chuyển mỗi vector z i sang kết quả thành phần chính như sau:
T
ik k i
Trong đó: y ik là kết quả PC tính được cho quan sát z i với thành phần chính thứ k
(PCk) tương ứng với vector riêng e k Vector z i gồm p biến chuyển sang miền con PCA
sẽ thu được vector thành phần chính yi = (y i1,…,yip) tương ứng với p PC
Trang 38cho 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ị):
1 1
1 1
T
y e zThà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 trước đó từ Z:
1 1
Trang 39Như 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 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 z i đã chuyển đổi
sang miền con PCA, mỗi cột là giá trị y ik 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 e k
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
quan)
(1.6)
Để 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
D ij = i với i = j, i là trị riêng của thành phần chính thứ i
D ij = 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:
Trang 40là 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)
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à: