Chƣơng 2 : Phát hiện xâm nhập mạng dựa vào học máy
2.3. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural Networks) lần đầu tiên đƣợc giới thiệu bởi Frank Rosenblatt năm 1960, xuất phát từ ý tƣởng mô phỏng hoạt động của hệ
thống thần kinh sinh vật, bao gồm số lƣợng lớn các nơ-ron (nút) đƣợc liên kết với nhau để xử lý thông tin.
Một số nghiên cứu gần đây chỉ ra rằng mạng nơ-ron nhân tạo có thể học đƣợc các tri thức thơng qua một số lƣợng các mẫu huấn luyện (học có giám sát) để thu đƣợc tri thức để có thể dự đốn hoặc phân loại tốt. Trong phần này, luận văn sẽ nghiên cứu và áp dụng mạng nơ-ron nhân tạo nhiều lớp truyền thẳng MLP để giải quyết bài toán phát hiện xâm nhập mạng vì đây đƣợc coi là mạng nơ-ron nhân tạo phổ biến và có nhiều ứng dụng nhất.
2.3.1. Mơ hình mạng nơ-ron nhân tạo
Mạng nơron nhân tạo bao gồm các nơron (hay còn gọi là một đơn vị xử lý hoặc một nút) đƣợc nối với nhau bởi các liên kết nơron. Mỗi liên kết kèm theo một trọng số nào đó, mơ tả sức mạnh kết nối giữa các nơron. Có thể xem các trọng số là các phƣơng tiện để lƣu trữ thông tin dài hạn trong mạng nơron. Nhiệm vụ chung của quá trình huấn luyện mạng nơ-ron là cập nhật các trọng số khi có thêm các thơng tin về mẫu học.
Mơ hình mạng nơ-ron đơn giản nhất đƣợc gọi là perceptron [21].
Hình 2.6. Mơ phỏng một perceptron
Mạng nơ-ron này chỉ gồm một khối tính tốn có ba đơn vị dữ liệu đầu vào là x1,
x2, x3 và một số hạng tự do +1 (biểu diễn đơn vị lệch bias), khi đó đơn vị dữ liệu ra (nơ- ron đầu ra) là:
(x) = 3 1 ( i i ) i f x b , (2.17) trong đó:
, b: là các tham số của mơ hình.
f : là một hàm kích hoạt nào đó. Là một dạng hàm phi tuyến có
các tính chất là hàm liên tục, bị chặn, đơn điệu tăng đóng vai trị biến đổi tổng tín hiệu vào nơ-ron thành một giá trị ra. Hàm kích hoạt thƣờng đƣợc sử dụng nhƣ hàm sigmoid, hàm hyperbol hay hàm tan hyperbol.
Do cấu trúc nhƣ trên nên mạng nơ-ron đơn giản (perceptron) chỉ có khả năng phân loại tuyến tính [21].
Khi kết hợp nhiều mạng nơ-ron đơn giản với nhau ta thu đƣợc một mạng nơ-ron phức tạp hơn. Đầu ra có một nơ-ron có thể là đầu vào của một nơ-ron khác.
Hình 2.7 mơ phỏng một mạng nơ-ron ba lớp gồm một lớp đầu vào, một lớp đầu ra và một lớp ẩn. Lớp đầu vào gồm có ba nơ-ron biểu diễn cho các tín hiệu vào x1, x2,
x3 và một số hạng tự do +1 (biểu diễn đơn vị lệch bias). Các tín hiệu vào (đơn vị dữ liệu vào) có thể đến từ mơi trƣờng bên ngồi (mẫu dữ liệu đã cho gồm các đặc trƣng của dữ liệu). Lớp ra gồm có một nơ-ron biểu diễn giá trị đầu ra ứng với mỗi tín hiệu đầu vào khi nó tiến qua mạng. Lớp giữa đƣợc gọi là lớp ẩn vì các giá trị của nó khơng quan sát đƣợc và nó gồm có ba nơ-ron và một số hạng tự do +1.
Hình 2.7. Mơ phỏng mạng nơ-ron ba lớp
Với bài tốn phân loại đã nêu ở trên. Ta có một tập huấn luyện gồm N mẫu {x1,
y1}, { x2, y2}…, {xN, yN}, trong đó xi , yi {0, 1}. Khi đó, pha huấn luyện với mạng nơ-ron là tìm ra các tham số của mơ hình ( , b) sao cho có thể tổng qt hóa đƣợc dữ liệu huấn luyện.
Pha huấn luyện đƣợc thực hiện qua hai quá trình nhƣ sau:
Với mỗi một mẫu dữ liệu xi cho tiến qua mạng để thu đƣợc một giá trị đầu ra tƣơng ứng với thông tin đầu vào xi. Ngƣời ta gọi qua trình này là quá trình lan truyền thuận (lan truyền tiến) trong mạng. Giá trị đầu ra thu đƣợc sẽ so sánh với giá trị đầu ra thực tế yi. Nếu có sự chệnh lệch đáng kể giữa hai giá trị này thì tiến hành quay lại và điều chỉnh lại trọng số kết nối. Và đây đƣợc gọi là quá trình lan truyền ngƣợc.
Giả sử với mỗi mẫu dữ liệu huấn luyện (xi, yi), ta gọi hàm tổn thất tƣơng ứng là: 2 , 1 ( , , , ) ( ) 2 i i b J xi y b y h xi
Khi đó hàm tổn thất trên tồn bộ dữ liệu là:
1 1 ( , ) ( , , , ) N i i J b J y b R N xi (2.18)
trong đó R là số hạng hiệu chỉnh.
Việc huấn luyện mơ hình dựa tức là ta cần tìm các tham số ,b tối thiểu sao cho hàm chi phí ( , )J b min. Nhƣ đã nêu trong phần 2.1, bài toán tối ƣu này đƣợc giải bằng cách sử dụng thuật tốn giảm gradient. Tuy nhiên việc tính đạo hàm J( , ) b
và J( , )b
b
trong mơ hình mạng nơ-ron là tƣơng đối khó. Vì vậy, ngƣời ta đã sử
dụng thuật tốn lan truyền ngƣợc để tính các đạo hàm riêng này.
Sau đây là mơ tả tốn học các bƣớc thực hiện thuật toán lan truyền ngƣợc trong mạng nơ-ron n lớp [21].
Xét mạng nơ-ron truyền thẳng n lớp:
o Gọi n là số lớp của mạng (n = 3 trong hình 2.7)
o Ký hiệu Ll là lớp thứ l của mạng; L1 là lớp đầu vào và Ln là lớp đầu ra.
o ( , b) = ( b(1), b(2), …, b(n-1)) là các tham số của mạng nơ-ron trong đó biểu diễn tham số gắn với cung nối từ đơn vị j của lớp l tới đơn vị i của lớp l+1:
o là độ chệch của đơn vị i trong lớp l.
o Gọi là kích hoạt (giá trị ra) của đơn vị i trong lớp l. Khi l = 1 thì = xi
Giai đoạn 1: lan truyền thuận
o Mạng nơ-ron tính tốn một giá trị đầu ra theo lƣợc đồ sau: = xi, i = 1, 2, …, D
(2) (1) (1) (1) (1) (1) (1) (1) 1 ( 11 1 12 2 13 3 1 )
(2) (1) (1) (1) (1) (1) (1) (1) 2 ( 21 1 22 2 23 3 2 ) a f a a a b (2) (1) (1) (1) (1) (1) (1) (1) 3 ( 31 1 32 2 33 3 3 ) a f a a a b (3) (2) (2) (2) (2) (2) (2) (2) 1 ( 11 1 12 2 13 3 1 ) a f a a a b (2.17) Ký hiệu 3 (l 1) (l) ( ) ( ) 1 l l i ij j i j z a b , ai( )l f(z )(l)i .
Mở rộng hàm f cho các tham số véc-tơ dạng f((z ,z ,z1 2 3))( ( ), ( ), ( ))f z1 f z2 f z3 Ta có thể biểu diễn các cơng thức tính kích hoạt dƣới dạng ma trận ngắn gọn:
(2) (1) (1) (1) z a b (2) (2) ( ) a f z (3) (2) (2) (2) z a b (3) (3) ,b( ) ( ) h x a f z (2.18)
o Trong mạng nơ-ron tổng quát với n lớp, ta có thể sử dụng lƣợc đồ tính tốn tiến tƣơng tự nhƣ trên để tính tốn giá trị đầu ra của mạng. Ta tiến hành tính tốn các kích hoạt trong lớp 2, sau đó thực hiện tính tốn các kích hoạt ở lớp 3, cứ tiếp tục tính tốn nhƣ vậy cho đến khi tính đƣợc giá trị h,b( )x :
( ) ( ) ,b( ) n ( n )
h x a f z (2.19)
o Các kích hoạt của lớp thứ l+1 đƣợc tính từ các kích hoạt của lớp thứ l theo một cách tổng quát nhƣ sau: ( 1) (3) ( ) ( ) ( 1) ( ) ( ) l l l l l z a b a f z (2.20)
Giai đoạn 2: Lan truyền ngược
o Với mỗi nút i của nút ra Ln, tính
( ) ( ) ( ) ( )
= -( - ) (1 )
n n n n
y a a a
(2.21)
o Tính sai số theo thứ tự ngƣợc: với mọi lớp l = n-1, …, 2 và với mọi đơn vị i của lớp l ta tính:
( ) ( ) ( ) ( ) = ( ) (z ) l l T l+1 l f
o Tính các đạo hàm riêng cần tìm nhƣ sau:
( 1) ( ) ( ) ( , , , ) = l ( l )T l J y b a x ( 1) ( ) ( , , , ) = l l J y b b x (2.22)
2.3.2. Phát hiện xâm nhập dựa vào mạng nơ-ron
Bài toán phát hiện xâm nhập với mơ hình mạng nơ-ron chúng ta cần thực hiện qua 4 giai đoạn nhƣ sau:
Giai đoạn 1: Thu thập dữ liệu và tiền xử lý dữ liệu phục vụ quá trình học của mạng nơ-ron.
Giai đoạn 2: Thiết kế mạng nơ-ron dựa trên cơ sở phân tích dữ liệu xác định các đặc điểm của xâm nhập (đầu vào của mạng nơ-ron).
Giai đoạn 3: Huấn luyện cho mơ hình mạng nơ-ron đã thiết kế.
Hình 2.8. Các bƣớc huấn luyện mạng nơ-ron
Hình 2.9. Các bƣớc kiểm tra dữ liệu với mơ hình mạng nơ-ron sau khi huấn luyện
Do bài tốn phát hiện xâm nhập có đầu vào và đầu ra rõ ràng, số lƣợng đầu ra đƣợc xác định nên ta chọn mạng nơ-ron truyền thẳng nhiều lớp (Multi Layer perceptron – MLP) cho hệ thống IDS.
Sơ đồ hoạt động của mơ hình phát hiện xâm nhập trong giai đoạn huấn luyện gồm các bƣớc chính nhƣ trong hình 2.9.
Hình 2.10. Sơ đồ huấn luyện mạng nơ-ron trong hệ thống phát hiện xâm nhập
Sau khi mơ hình phân lớp dữ liệu đƣợc ghi nhận, hệ thống sẽ sử dụng mơ hình đó trong giai đoạn phát hiện bất thƣờng nhƣ hình 2.10.
Xây dựng mạng nơ-ron phân lớp dữ liệu
Thu thập dữ liệu
Tiền xử lý dữ liệu
Tạo dữ liệu đầu vào cho quá trình huấn luyện
Điều chỉnh tham số
Mạng nơ-ron sau khi kiểm định
Chia 10% dữ liệu cho Cross Validation Chƣa đạt Đạt Cross Validation Test
Hình 2.11. Phát hiện gói tin bất thƣờng sử dụng mạng nơ-ron 2.4. Rút gọn đặc trƣng 2.4. Rút gọn đặc trƣng
Một trong những vấn đề quan trọng nhất liên quan tới các bài toán phân loại là làm sao lựa chọn những đặc trƣng quan trọng nhất (những đặc trƣng ảnh hƣởng tới việc
Sensor bắt các gói tin
Bóc tách các thông tin cần thiết
Phân loại các gói tin vào lớp bình thƣờng
hoặc tấn cơng
Phân loại Lớp tấn cơng
(attack)
Lớp bình thƣờng (normal)
phân lớp). Việc lựa chọn những đặc trƣng quan trọng và loại bỏ những đặc trƣng ít quan trọng khơng chỉ làm tăng tốc độ tính tốn trong các thuật tốn học máy mà cịn cải thiện hiệu suất của thuật tốn [13]. Và đây cũng là nhiệm vụ thứ hai mà luận văn sẽ tập trung giải quyết. Đối với bài tốn phát hiện xâm nhập mạng, ngồi ý nghĩa tăng tốc độ tính tốn trong các thuật tốn học máy đƣợc áp dụng thì việc rút gọn các đặc trƣng ít quan trong còn giúp thời gian phát hiện xâm nhập trở nên nhanh hơn.
Trong một nghiên cứu của Sung và Mukkamala [13] đã dùng SVM để đánh giá độ quan trọng cho từng đặc trƣng trong tập KDD 99 (đây là bộ dữ liệu chuẩn cho IDS và việc mơ tả bộ dữ liệu KDD sẽ đƣợc trình bày chi tiết trong chƣơng 3 của luận văn). Ý tƣởng chính trong bài báo nhƣ sau:
Ban đầu, nhóm tác giả sử dụng toàn bộ 41 đặc trƣng của bộ dữ liệu KDD 99 và sử dụng SVM để tiến hành huấn luyện và phân lớp dữ liệu. Một bộ dữ liệu kiểm tra đƣợc sử dụng để đánh giá tỷ lệ phát hiện chính xác các cuộc tấn cơng. Kết quả phát hiện đƣợc lƣu lại. Sau đó, nhóm nghiên cứu lần lƣợt bỏ đi từng đặc trƣng trong nhóm 41 đặc trƣng và sử dụng SVM để huấn luyện và phân lớp lại. Kết quả sau mỗi lần bớt đi một đặc trƣng đƣợc so sánh với kết quả khi dùng toàn bộ 41 đặc trƣng, rồi tiến hành phân vào ba nhóm Important (quan trọng), Secondary (thứ nhì), Unimportant (khơng
quan trọng). Nhƣ vậy, mỗi một đặc trƣng sẽ đƣợc xếp hạng theo thứ tự quan trọng ảnh hƣởng tới việc phân lớp trên cả bộ dữ liệu huấn luyện và bộ dữ liệu kiểm tra. Trong bài báo [13] cũng đƣa ra một tập gồm 10 luật quy định việc xếp hạng mỗi đặc trƣng vào một trong ba nhóm nhƣ sau:
1. Nếu độ chính xác giảm, thời gian huấn luyện và thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).
2. Nếu độ chính xác và thời gian huấn luyện giảm xuống, thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).
3. Nếu độ chính xác khơng thay đổi, thời gian huấn luyện và thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng (nhóm important).
4. Nếu độ chính xác khơng đổi, thời gian huấn luyện giảm và thời gian kiểm tra tăng, thì đó là đặc trƣng xếp vào nhóm secondary.
5. Nếu độ chính xác khơng đổi, thời gian huấn luyện tăng và thời gian kiểm tra giảm, thì đó là đặc trƣng xếp vào nhóm secondary.
6. Nếu độ chính xác khơng đổi, thời gian huấn luyện và thời gian kiểm tra giảm, thì đặc trƣng đó là khơng quan trọng (nhóm unimfortant).
7. Nếu độ chính xác và thời gian huấn luyện tăng lên, thời gian kiểm tra giảm xuống, thì đó là đặc trƣng quan trọng cấp 2 (nhóm secondary).
8. Nếu độ chính xác khơng đổi và thời gian huấn luyện và thời gian kiểm tra giảm thì đặc trƣng đó là khơng quan trọng (nhóm unimfortant).
9. Nếu độ chính xác tăng, thời gian huấn luyện giảm, thời gian kiểm tra tăng lên, thì đó là đặc trƣng quan trọng cấp 2 (nhóm secondary).
10. Nếu độ chính xác tăng, thời gian huấn luyện và thời gian kiểm tra giảm, thì đó là đặc trƣng khơng quan trọng (nhóm unimfortant).
Dựa theo những luật ở trên, nhóm tác giả đã lần lƣợt xếp hạng 41 đặc trƣng vào ba nhóm và các nhóm đƣợc ký hiệu nhƣ sau:
{Important}, <Secondary>, (Unimportant).
Cụ thể các đặc trƣng trong bộ KDD ảnh hƣởng tới mỗi lớp phân loại đƣợc nhóm nghiên cứu liệt kê dƣới đây:
Class 1 - Normal: {1, 2, 3, 4, 5, 6, 10, 12, 17, 23, 24, 27, 28, 29, 31, 32, 33, 34, 36, 39}, <11, 13, 14, 16, 19, 22, 25, 26, 30, 35, 37, 38, 40, 41>, (7, 8, 9, 15, 18, 20, 21) Class 2 - DoS: {1, 2, 3, 4, 5, 6, 23, 24, 29, 32, 33}, <10, 12, 22, 28, 34, 35, 36, 38, 39, 41 >, (7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 30, 31, 37, 40) Class 3 - Probe: {1, 5, 6, 23, 24, 25, 26, 32, 36, 38, 39}, <2, 3, 4, 10, 12, 29, 33, 34> , (7, 8, 9,
11, 13, 14, 15, 16, 17 18, 19, 20, 21, 22, 27, 28, 30, 31, 35, 36, 37, 40, 41) Class 4 - R2L: {1, 2, 3, 5, 6, 12, 23, 24, 32, 33}, <4, 10, 13, 14, 17, 22, 27, 29, 31, 34, 36, 37, 39>, (7, 8, 9, 11, 15, 16, 18, 19, 20, 21, 25, 26, 28, 30, 35, 38, 40, 41) Class 5 - U2R: {1, 3, 5, 6, 32, 33}, <2, 4, 10, 12, 22, 23, 24, 29, 31, 34, 36, 37, 38, 40 >, (7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 28, 30, 35, 39, 41)
Từ việc phân nhóm cho năm trạng thái mạng ở trên, các tác giả nhận thấy mỗi trạng thái sẽ có các đặc trƣng unimportant là khơng đồng nhất. Vì thế, việc loại bỏ các đặc trƣng không quan trọng phải đảm bảo không ảnh hƣởng tới việc phân loại hay dự đoán của các lớp khác nhau. Sau khi chọn lọc thì nhóm các đặc trƣng (7, 8, 9, 15, 18, 20, 21) đều xuất hiện trong nhóm unimportant của cả năm trạng thái mạng.
Dựa vào thực nghiệm và phân tích nhƣ trên, nhóm nghiên cứu đã tiến hành loại bỏ 7 đặc trƣng này mà khơng ảnh hƣớng đến độ chính xác phát hiện xâm nhập.
Tuy nhiên, nghiên cứu trong [13] mới chỉ là sử dụng SVM để thực nghiệm loại bỏ từng đặc trƣng và đánh giá lại mà chƣa thực sự đƣợc kiểm định độ chính xác qua các cơng thức tốn học cụ thể. Cho nên, luận văn sẽ sử dụng độ đo information gain
(IG) để mơ hình hóa tốn học độ lợi về thơng tin ảnh hƣởng tới q trình phân loại và dự đốn cho mỗi một đặc trƣng. Đồng thời cũng so sánh phƣơng pháp IG với kết quả thực nghiệm [13] sử dụng SVM ở trên.
Dƣới đây trình bày việc thực hiện tính tốn độ đo IG cho một thuộc tính F. Cho S là một tập các mẫu huấn luyện với các nhãn tƣơng ứng. Giả sử, ta cần phân các mẫu dữ liệu vào m lớp. Tập huấn luyện chứa si mẫu của lớp i và s là tổng số các
mẫu trong tập huấn luyện. Khi đó:
s = ∑
Lƣợng thông tin thu đƣợc cần để phân loại một mẫu cho trƣớc đƣợc tính theo công thức sau [4]:
2 1 ( ) log m i i 1 2 m i s s H s ,s ,...,s s s (2.24) Ta có {f1, f2, …, fv} là tập các giá trị của một đặc trƣng F.
Chia tập huấn luyện S thành v tập con {S1, S2, …, Sv} trong đó tập Sj là tập con của S mà F nhận giá trị fj . Hơn nữa, nếu Sj chứa sij mẫu của lớp i thì thơng tin của đặc trƣng F đƣợc tính nhƣ sau [4]: 1 2 1 ( ) = ( )