Hơn nữa đối với các vấn đề chứng thực người dùng truyền thống, mã hóa thông tin, tường lửa và một số công nghệ bảo vệ mạng khác, phát hiện xâm nhập được sử dụng để xác đ[r]
Trang 1MÔ HÌNH HỆ THỐNG PHÁT HIỆN BẤT THƯỜNG SỬ DỤNG
THUẬT TOÁN PHÂN CỤM MỜ LAI GHÉP
Vũ Đặng Giang1, Nguyễn Duy Thái1, Phạm Văn Nhã2*
Tóm tắt: Tấn công và phòng thủ hệ thống mạng đang thu hút sự quan tâm của
các nhà nghiên cứu Các hệ thống này luôn trở thành mục tiêu ưu tiên hàng đầu của các cuộc tấn công trái phép Vì vậy, việc củng cố hệ thống phòng thủ để có thể phát hiện xâm nhập bất thường từ bên trong và bên ngoài mạng là rất cần thiết và thường xuyên Trong bài báo này, chúng tôi đã đề xuất Mô hình hệ thống phát hiện xâm nhập bất thường sử dụng thuật toán Phân cụm mờ lai ghép giữa thuật toán FCM, PSO và SVM Thực nghiệm đã được tiến hành trên bộ dữ liệu chuẩn mẫu KDD CUP ‘99 Kết quả thực nghiệm đã chứng tỏ mô hình đã đề xuất đạt được hiệu suất vượt trội so với các mô hình đã được đề xuất trước đó
Từ khóa: Phát hiện bất thường, Phân cụm mờ, Tối ưu bầy đàn, Máy vector hỗ trợ
Ký hiệu
Ký hiệu Ý nghĩa U={uci} Ma trận hàm thuộc
JFCM Hàm mục tiêu FCM
Pc Tâm cụm
Dci Khoảng cách dữ liệu giữa đối tượng thứ c và đối tượng thứ i
Chữ viết tắt
IDS Intrusion Detection Systems PSO Particle Swarm Optimization SVM Support Vector Machine
GA Genetic Algorithms ANN Artificial Neural Network FCM Fuzzy clustering
1 GIỚI THIỆU CHUNG
Phát hiện xâm nhập ngày càng thu hút sự quan tâm của các nhà nghiên cứu Hơn nữa đối với các vấn đề chứng thực người dùng truyền thống, mã hóa thông tin, tường lửa và một số công nghệ bảo vệ mạng khác, phát hiện xâm nhập được sử dụng để xác định và phân loại các cuộc tấn công trên mạng máy tính, máy chủ và máy chủ mạng Nó có thể phát hiện các cuộc tấn công độc hại mà các phương pháp phòng thủ truyền thống không xác định được Như vậy, nó đóng một vai trò quan trọng trong quá trình quản lý bảo mật dịch vụ Web và an toàn xử lý dữ liệu Phát
Trang 2hiện xâm nhập nói chung được chia thành hai loại: phát hiện sử dụng sai quy cách
và phát hiện bất thường
Phát hiện sử dụng sai quy cách dựa trên các cuộc tấn công đã biết và các lỗ
hổng hệ thống để xây dựng các quy tắc phát hiện được sử dụng để đánh giá kết nối
mạng có phải là kết nối xâm nhập hay không Nó có tỷ lệ chính xác và tốc độ phản
ứng cao, nhưng hạn chế rất lớn là không thể phát hiện các cuộc tấn công mới và
các quy tắc phát hiện chỉ có thể cập nhật bằng tay Phát hiện bất thường là xác định
xem kết nối có phải là kết nối xâm nhập hay không bằng cách phát hiện độ lệch
của mẫu kết nối với mẫu hành vi bình thường [12] đã mô tả và so sánh một vài
phương pháp và hệ thống phát hiện mạng bất thường Nói chung, phát hiện bất
thường có thể tìm thấy các tấn công chưa biết, nhưng vì mẫu hành vi bình thường
mới thu được có thể bị nhầm lẫn với hành vi bất thường, nên tỷ lệ cảnh báo sai có
thể gia tăng [16], [29]
Để khắc phục những vấn đề này, một số hệ thống phát hiện xâm nhập IDS sử
dụng các kỹ thuật khai phá dữ liệu và máy học đã được thiết kế, mà chủ yếu được
sử dụng để điều tra phát hiện đặc tính, phân loại và phán đoán xâm nhập [20] đã
đề xuất mô hình phát hiện xâm nhập bằng cách phân cụm luồng dữ liệu kết nối,
sau đó sử dụng kết quả phân cụm để phân tích và phát hiện bất thường cho mạng
không dây Cấu trúc dữ liệu ban đầu và độ phức tạp của thuật toán phân lớp có thể
được giảm bởi tiến trình phân cụm, nhưng tâm cụm được khởi tạo ngẫu nhiên, nên
chất lượng phân cụm bị ảnh hưởng bởi hạn chế vốn có của các thuật toán phân
cụm là dễ rơi vào bẫy tối ưu cục bộ Một số mô hình phát hiện xâp nhập hiệu quả
đã được đề xuất gần đây như mô hình sử dụng mạng thần kinh nhân tạo ANN để
phát hiện xâm nhập [19], sử dụng phương pháp phân cụm mờ FCM lai ghép với
phương pháp xác định tâm cụm để phát hiện xâm nhập bất thường [21] [30]
nghiên cứu khả năng áp dụng của máy vector hỗ trợ SVM để xây dựng IDS So
sánh tối ưu giải thuật di truyền GA trên ANN và SVM trong các IDS đã được mô
tả trong [5] Tuy nhiên, ANN vốn có độ phức tạp trong việc khởi tạo các giá trị đặc
tính phân lớp và chủ yếu được sử dụng đối với dữ liệu phi tuyến, như vậy SVM có
khả năng chỉnh sửa lỗi tốt và khả năng điều khiển tốt hơn [1], [6] Đây cũng là lý
do giúp chúng tôi lựa chọn kỹ thuật SVM trong bài báo này
Mô hình phát hiện bất thường không giám sát đã được đề xuất trong [25] Mô
hình này đã sử dụng thuật toán K-Means để tự động xác định số cụm bản ghi kết
nối bình thường, sau đó, xây dựng mô hình SVM một lớp [33] đã đề xuất sử dụng
Trang 3FCM và SVM đa lớp để dự đoán nồng độ silicon trong metal nóng, [9] đề xuất mô hình IDS áp dụng kỹ thuật FCM và ANN Nói chung, các mô hình sử dụng các kỹ thuật FCM để khởi tạo cụm thu được hiệu suất tốt hơn SVM và ANN đơn lớp Tuy nhiên, phương pháp FCM truyền thống rất nhạy cảm với khởi tạo và dễ rơi vào bẫy tối ưu cục bộ, ảnh hưởng đến kết quả dự đoán của toàn hệ thống IDS Các thuật toán tiến hóa như giải thuật di truyền thường được sử dụng để tìm tâm cụm khởi tạo cho các thuật toán FCM như sử dụng PSO để tìm tâm cụm khởi tạo cho FCM [27], sử dụng GA để tìm tâm cụm khởi tạo [34] [4] đã sử dụng GA để tìm tâm cụm khởi tạo cho thuật toán FCM trong mô hình IDS sử dụng SVM Tuy nhiên, theo kết quả nghiên cứu so sánh giữa các kỹ thuật GA và PSO từ [26], [28] cho chúng ta thấy ảnh hưởng về kích thước phân bố đối với thời gian tìm giải pháp của
GA tăng theo lũy thừa còn PSO tăng theo tuyến tính; xu thế hội tụ sớm của GA thấp hơn so với PSO; không gian tìm kiếm của PSO là liên tục trong khi đối với
GA là rời rạc; khả năng tránh được bẫy tối ưu cục bộ của PSO cao hơn so với GA Như vậy, thuật toán PSO là lựa chọn phù hợp hơn so với thuật toán GA để tìm kiếm tâm cụm khởi tạo cho các thuật toán phân cụm
Trong bài báo này, chúng tôi đã đề xuất mô hình phát hiện xâm nhập bất thường PFCMS bằng cách lai ghép thuật toán FCM dựa trên thuật toán PSO và SVM Thuật toán PSO được sử dụng để khởi tạo tâm cụm cho thuật toán phân cụm FCM
để sinh các cụm có cùng thuộc tính cho SVM để phát hiện xâm nhập bất thường Thực nghiệm được tiến hành trên các bộ dữ liệu chuẩn mẫu KDD CUP ’99 Kết quả thực nghiệm chứng tỏ mô hình đã đề xuất có thể đạt được kết quả vượt trội so với các mô hình IDS đã được đề xuất trước đó Tiếp theo, bài báo được tổ chức như sau Mục 2, trình bày một số vấn đề lý thuyết cơ bản liên quan đến các kỹ thuật được sử dụng trong bài báo; Mục 3, trình bày chi tiết mô hình PFCMS đề xuất; Mục 4 là một vài kết quả thực nghiệm, đánh giá hiệu suất; Mục 5, kết luận và định hướng nghiên cứu tiếp theo
2 NHỮNG VẤN ĐỀ CƠ BẢN
Trong mục này, chúng tôi sẽ trình bày một số vấn đề cơ bản về lý thuyết liên quan đến bài báo Bao gồm thuật toán Phân cụm mờ, thuật toán Tối ưu bầy đàn và
kỹ thuật phân lớp Máy vector hỗ trợ
2.1 Thuật toán Phân cụm mờ
Thuật toán Phân cụm dữ liệu thường được áp dụng để tìm cấu trúc của dữ liệu
và đã được ứng dụng rộng rãi trong nhiều lĩnh vực chuyên môn khác nhau Để
Trang 4nâng cao hiệu suất phân cụm dữ liệu, các thuật toán Phân cụm được kết hợp với
logic mờ nhằm tăng khả năng thu nhận các vấn đề không chắc chắn trong dữ liệu,
thuật toán này được gọi là thuật toán Phân cụm mờ Thuật toán phân cụm mờ lần
đầu tiên được giới thiệu bởi Dunn [13] và sau đó được sửa đổi bởi Bezdek [15]
(gọi là thuật toán Fuzzy C-Means (FCM))
Trong khuôn khổ này thuật toán FCM được sử dụng trong mô đun Phân cụm để
phân cụm bộ dữ liệu huấn luyện thành C cụm khác nhau Hàm mục tiêu của FCM
được cho bởi công thức (1):
2
1 2
1 1
C N m
c i
trong đó, X là tập N bản ghi dữ liệu kết nối, uci là độ thuộc của bản ghi thứ i đối
với cụm c uci bị ràng buộc bởi điều kiện (2):
1 1,
C ci c
u
và uci được xác định theo công thức (3):
2 (m 1)
1 ij
1
ci C ci j
u
d d
(3)
pc là tâm cụm c, được tính theo công thức (4):
1
1
N m
ci i i
c N
m ci i
u x p
u
(4)
dci là bình phương khoảng cách Euclidean giữa bản ghi dữ liệu kết nối xi với tâm
cụm vc, được định nghĩa như sau:
2 1
K
k
d
Số mũ m được sử dụng để điều chỉnh trọng số ảnh hưởng của các giá trị hàm
thuộc, m lớn sẽ tăng độ mờ của hàm mục tiêu JFCM, m thường được lựa chọn bằng 2
Thuật toán FCM được mô tả theo các bước sau:
Thuật toán 1 Thuật toán Phân cụm mờ
Bước 1 Input: Tập dữ liệu , K, 1
i i
X x x R i N , số cụm C (1<C<N), hệ số
mờ m (1<m<+) và sai số
Trang 5Bước 2 Khởi tạo ma trận tâm cụm Pp cj,P(0)R C Kx
Bước 3 Cập nhật pc sử dụng công thức (4)
Bước 4 Cập nhật uci sử dụng công thức (3) và (5)
Bước 5 Tính toán hàm mục tiêu JFCM (1) Nếu hội tụ ( J( )n J(n1)
) chuyển
xuống bước 6 Nếu chưa hội tụ quay lại bước 3
Bước 6 Output: Kết quả phân cụm
Sau 6 bước của mô đun Phân cụm, bộ dữ liệu TR được phân thành C cụm khác nhau
Thuật toán FCM đã trở thành thuật toán phân cụm mờ phổ biến và quan trọng trong lĩnh vực khai phá dữ liệu, không ngừng được cải tiến và áp dụng rộng rãi trong nhiều lĩnh vực khác nhau Một số nghiên cứu tiêu biểu như [2] trong phân tích ảnh y tế, [17] phân đoạn ảnh mầu, [31] nhận dạng khuôn mặt người, [32] điều khiển khung nhìn robot và phân lớp ảnh vệ tinh đa phổ [18] Tuy nhiên, các thuật toán FCM còn tồn tại một số hạn chế như nhạy cảm với khởi tạo và không có phản ứng với nhiễu và ngoại lai trong dữ liệu đầu vào Đặc biệt, đối với dữ liệu có cấu trúc phức tạp như đa biến, kích thước lớn, hiệu quả của các thuật toán Phân cụm
mờ không cao
2.2 Thuật toán tối ưu bầy đàn
Thuật toán PSO là một thuật toán sử dụng trí tuệ bầy đàn phổ biến [14] được
mô phỏng theo ý tưởng hành vi bầy đàn của các loài chim sống theo bầy đàn Thuật toán PSO đã được cải tiến và áp dụng trong một số lĩnh vực ứng dụng khác nhau Tiêu biểu như [8] sử dụng thuật toán PSO để giải quyết bài toán tô màu đồ thị phẳng, tự động tạo các ký tự đồ họa phức tạp [7], phát hiện thư rác [23] Hơn nữa, thuật toán PSO cũng được kết hợp với một vài thuật toán khác để thực thi một phần nhiệm vụ quan trọng của các thuật toán này [1], [3] đã sử dụng PSO trong bước khởi tạo của thuật toán FCM để phân đoạn ảnh, xử lý ảnh tự động [24], xác định số cụm của dữ liệu [10]
Thuật toán PSO bao gồm Np phần tử với P i( )t (p , p , ., pi,1 i,2 i,K)T, i=1,N biểu p
diễn vị trí của chúng trong không gian K chiều Các phần tử di chuyển dọc theo không gian tìm kiếm với vận tốc A i( )t (a i,1, a , ., ai,2 i,K)T về phía vị trí của phần
từ tốt nhất ( )t
best
P , ở đó có nhiều vùng hứa hẹn trong không gian tìm kiếm Hướng di
Trang 6chuyển của các phần từ phụ thuộc vào vị trí tốt nhất cục bộ của từng phần tử
( )t
i
p và có thể tính toán bởi công thức toán học sau:
( 1) ( ) ( ) ( ) ( ) ( ) ( ) ( )
Sau đó, vị trí mới của phần từ được tính toán theo công thức sau:
(t 1) (t) ( )t
i i i
Hàm ước lượng điều kiện dừng được mô tả như sau:
( )
FCM
f P J
trong đó, là một hằng số và JFCM là hàm mục tiêu của thuật toán FCM được
tính toán bởi công thức (1)
Liên quan đến điều kiện dừng, chúng tôi đã sử dụng hai tiêu chí, nếu một trong
hai tiêu chí này được thỏa mãn thì thuật toán dừng:
a) Hoặc là hàm mục tiêu không cải thiện sau Pso vòng lặp:
( 1) ( ) ( ) ( ) Pso
f P f P (9) b) Hoặc là đạt đến số vòng lặp tối đa Pso_max
Thuật toán PSO đối với bài toán phân cụm mờ có thể chỉ ra như sau:
Thuật toán 2 Thuật toán Tối ưu bầy đàn PSO
Bước 1 Đầu vào: Bộ dữ liệu , K, i=1,
i i
X x x R N , N p , c1, c2, w, Pso,
Pso_max
Bước 2 Khởi tạo: Khởi tao bầy đàn với Np phần tử ngẫu nhiên (P, Pbest
và A là những ma trận kích thước K × C)
Bước 3 LOOP =1.
3.1 Đối với mỗi phần tử thứ i trong Np phần tử:
- Tính toán f(P i ) sử dụng công thức (8)
- Tính toán Pbest i
- Cập nhật Gbest
- Cập nhật A i sử dụng công thức (6)
- Cập nhật P i sử dụng công thức (7)
3.2 Tính toán Terminal_condition
3.3 =+1. .
Bước 4 WHILE (Terminal_condition<Pso or >Pso_max)
Bước 5 Trích xuất: Gbest
Trang 72.3 Kỹ thuật Máy vector hỗ trợ
Thuật toán Máy vectơ hỗ trợ SVM được tìm ra bởi VN Vapnik và C Cortes năm 1995 SVM là một thuật toán phân lớp nhị phân nhận dữ liệu đầu vào và phân loại chúng vào hai lớp khác nhau
Cho tập dữ liệu huấn luyện XTR={(xi, yi)}, xiRD, yi=1, i=1÷N, trong đó N là kích thước của tập XTR, yi mang giá trị 1 hoặc −1, xác định lớp của điểm xi, mỗi xi
là một vector thực D chiều Ta cần tìm siêu phẳng có lề lớn nhất chia tách các điểm
có yi=1 và các điểm có yi=-1 Mỗi siêu phẳng đều có thể được viết dưới dạng một tập hợp các điểm x thỏa mãn w.x-b=0, với “.” ký hiệu là tích vô hướng và w là
một vectơ pháp tuyến của siêu phẳng Tham số
w
b
xác định khoảng cách giữa gốc tọa độ và siêu phẳng theo hướng vectơ pháp tuyến w
Chúng ta cần chọn w và b để cực đại hóa lề, hay khoảng cách giữa hai siêu mặt song song ở xa nhau nhất có thể trong khi vẫn phân chia được dữ liệu Các siêu mặt ấy được xác định bằng w.x-b=1 và w.x-b=-1 (xem hình 1)
Hình 1 Siêu phẳng với lề cực đại cho một SVM phân lớp dữ liệu thành hai lớp
Tuy nhiên, trong thực tế, hầu như dữ liệu không có khả năng phân lớp tuyến tính, do vậy rất khó xác định siêu phẳng Để giải quyết vấn đề này, SVM sử dụng một số hàm nhân khác nhau Trong bài báo này, chúng tôi sử dụng hàm nhân Gauss để huấn luyện mô hình SVM và sau đó sử dụng hỗ trợ vector từ tập dữ liệu huấn luyện trong pha huấn luyện Trong pha kiểm tra, mô hình SVM được sử dụng
để phân lớp vector chứ năng mới
Bài toán SVM ban đầu được mô tả như sau: