Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (283.76 KB, 7 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>MƠ HÌNH HỆ THỐNG PHÁT HIỆN BẤT THƯỜNG SỬ DỤNG </b>
<b>THUẬT TOÁN PHÂN CỤM MỜ LAI GHÉP </b>
Vũ Đặng Giang1, Nguyễn Duy Thái1, Phạm Văn Nhã2*
<i><b>Tóm tắt: </b>Tấn cơng và phịng thủ hệ thống mạng đang thu hút sự quan tâm của </i>
<i>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 </i>
<i>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 </i>
<i>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à </i>
<i>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 </i>
<i>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 </i>
<i>FCM, PSO và SVM. Thực nghiệm đã được tiến hành trên bộ dữ liệu chuẩn mẫu </i>
<i>KDD CUP ‘99. Kết quả thực nghiệm đã chứng tỏ mơ hình đã đề xuất đạt được hiệu </i>
<i>suất vượt trội so với các mơ hình đã được đề xuất trước đó. </i>
<b>Từ khóa</b>: Phát hiện bất thường, Phân cụm mờ, Tối ưu bầy đàn, Máy vector hỗ trợ.
<b>Ký hiệu </b>
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
<b>Chữ viết tắt </b>
IDS Intrusion Detection Systems
PSO Particle Swarm Optimization
<b>1. GIỚI THIỆU CHUNG </b>
<i><b>Nghiên cứu khoa học cơng nghệ </b></i>
hiệ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 đố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ể
FCM 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ự đốn của tồn hệ thống IDS. Các thuật
tố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 tố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.
<b>2. NHỮNG VẤN ĐỀ CƠ BẢN </b>
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ợ.
<b>2.1. Thuật toán Phân cụm mờ </b>
<i><b>Nghiên cứu khoa học công nghệ </b></i>
nâ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 tố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 tốn Fuzzy C-Means (FCM)).
Trong khn khổ này thuật tố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
2
1 2
1 1
( ; , ,..., ; )
<i>C</i> <i>N</i>
<i>m</i>
<i>FCM</i> <i>C</i> <i>ci</i> <i>ci</i>
<i>c</i> <i>i</i>
<i>J</i> <i>U p p</i> <i>p</i> <i>X</i> <i>u d</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,
<i>C</i>
<i>ci</i>
<i>c</i>
<i>u</i>
và uci được xác định theo công thức (3):
2
(m 1)
1 ij
1
<i>ci</i>
<i>C</i>
<i>ci</i>
<i>j</i>
<i>u</i>
<i>d</i>
<i>d</i>
pc là tâm cụm c, được tính theo cơng thức (4):
1
1
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
(x v )
<i>K</i>
<i>ci</i> <i>ik</i> <i>ck</i>
<i>k</i>
<i>d</i>
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 tốn FCM được mơ tả theo các bước sau:
<i><b>Thuật toán 1</b>. Thuật toán Phân cụm mờ </i>
<b>Bước 1. Input: Tập dữ liệu</b>
<i>i</i> <i>i</i>
<i>X</i> <i>x x</i> <i>R</i> <i>i</i> <i>N</i> , số cụm C (1<C<N), hệ số
<b>Bước 2. Khởi tạo ma trận tâm cụm </b> (0) x
, <i>C K</i>
<i>cj</i>
<i>P</i><sub></sub><i>p</i> <sub></sub> <i>P</i> <i>R</i> .
<b>Bước 3. Cập nhật </b><i>p</i>c sử dụng công thức (4).
<b>Bước 4. Cập nhật u</b>ci sử dụng công thức (3) và (5).
<b>Bước 5. Tính tốn hàm mục tiêu J</b>FCM (1). Nếu hội tụ ( <i>J</i>( )<i>n</i> <i>J</i>(<i>n</i>1) ) chuyển
xuống bước 6. Nếu chưa hội tụ quay lại bước 3.
<b>Bước 6. Output: Kết quả phân cụm </b>
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
tố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 tốn Phân cụm
mờ khơng cao.
<b>2.2. Thuật tốn tối ưu bầy đàn </b>
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 tố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
Thuật toán PSO bao gồm Np phần tử với <i>P<sub>i</sub></i>( )<i>t</i> (p , p , ..., p<i><sub>i</sub></i><sub>,1</sub> <i><sub>i</sub></i><sub>,2</sub> <i><sub>i</sub></i><sub>,K</sub>)<i>T</i>, i=1,<i>Np</i>biểu
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 <i>A<sub>i</sub></i>( )<i>t</i> (<i>a<sub>i</sub></i><sub>,1</sub>, a , ..., a<i><sub>i</sub></i><sub>,2</sub> <i><sub>i</sub></i><sub>,K</sub>)<i>T</i> về phía vị trí của phần
từ tốt nhất ( )<i>t</i>
<i>best</i>
<i><b>Nghiên cứu khoa học công nghệ </b></i>
chuyể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ử
( )<i>t</i>
<i>i</i>
<i>p</i> và có thể tính tốn bởi cơng thức tốn học sau:
( 1) ( ) ( ) ( ) ( ) ( ) ( ) ( )
1 1 ( ) c2 ( )
<i>t</i> <i>t</i> <i>t</i> <i>t</i> <i>t</i> <i>t</i> <i>t</i> <i>t</i>
<i>i</i> <i>i</i> <i>i</i> <i>i</i> <i>i</i> <i>best</i> <i>i</i>
<i>A</i> <i>A</i> <i>c r</i> <i>P</i> <i>A</i> <i>r</i> <i>P</i> <i>P</i>
(6)
Sau đó, vị trí mới của phần từ được tính tốn theo công thức sau:
(<i>t</i> 1) (t) ( )<i>t</i>
<i>i</i> <i>i</i> <i>i</i>
<i>P</i> <i>P</i> <i>A</i> (7)
Hàm ước lượng điều kiện dừng được mô tả như sau:
( )
<i>FCM</i>
<i>f P</i>
<i>J</i>
(8)
trong đó, là một hằng số và JFCM là hàm mục tiêu của thuật tốn FCM được
tính tố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 tố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)( ) ( )( ) <i>Pso</i>
<i>f</i> <i>P</i> <i>f</i> <i>P</i> (9)
b) Hoặc là đạt đến số vòng lặp tối đa <i>Pso_max</i>.
Thuật toán PSO đối với bài toán phân cụm mờ có thể chỉ ra như sau:
<i><b>Thuật tốn 2.</b></i> <i>Thuật toán Tối ưu bầy đàn PSO</i>
<b>Bước 1. Đầu vào: </b>Bộ dữ liệu
<i>i</i> <i>i</i>
<i>X</i> <i>x x</i> <i>R</i> <i>N</i>, <i>Np</i>, <i>c</i>1, <i>c</i>2, <i>w, </i><i>Pso, </i>
<i>Pso_max</i>.
<b>Bước 2. Khởi tạo: Khởi tao bầy đàn với N</b>p phần tử ngẫu nhiên (P, <i>Pbest</i>
và Alà những ma trận kích thước <i>K </i>× <i>C</i>).
<b>Bước 3. LOOP </b>=1<i>.</i>
<i><b>3.1.</b></i> Đối với mỗi phần tử thứ i trong Np phần tử:
- Tính tốn <i>f(Pi)</i> sử dụng cơng thức (8).
- Tính tốn <i>Pbesti</i>.
- Cập nhật <i>Gbest</i>.
- Cập nhật <i>Ai</i> sử dụng công thức (6).
- Cập nhật <i>Pi</i> sử dụng công thức (7).
<i><b>3.2.</b></i> Tính tốn Terminal_condition.
<i><b>3.3.</b></i>=+1.<i>.</i>
<b>Bước 4. WHILE (Terminal_condition<</b><i>Pso or </i><i>></i><i>Pso_max</i><b>). </b>
<b>2.3. Kỹ thuật Máy vector hỗ trợ </b>
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
<i>b</i>
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).
<i><b>Hình 1</b>. 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. </i>
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.