Máy véc tơ hỗ trợ đa lớp và ứng dụng phát hiện tấn công mạng - Pdf 10

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN ĐỨC HIỂN MÁY VÉCTƠ HỖ TRỢ ĐA LỚP VÀ ỨNG DỤNG
PHÁT HIỆN TẤN CÔNG MẠNG Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01

TÓM TẮT LUẬN VĂN THẠC SỸ KĨ THUẬT
HÀ NỘI – NĂM 2012

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


khăn. Giải pháp kỹ thuật phổ biến cho vấn đề này là phát hiện sớm các cuộc tấn
công mạng để từ đó có giải pháp thích hợp xử lý chúng.
- Những vấn đề còn tồn tại: Rất nhiều kỹ thuật đã được áp dụng để phát
hiện một kết nối mạng là tấn công mạng hay không với hiệu quả khá cao, chẳng
hạn như SVM, iSVM, Neural network… Nhưng thực tế luôn đòi hỏi độ chính
xác phải cao hơn nữa.
- Mục đích nghiên cứu: Mục đích của đề tài là nghiên cứu kỹ thuật M-
SVM ứng dụng vào việc phát hiện và phân loại tấn công trong không gian mạng
để nâng cao hơn nữa độ chính xác của hệ thống phát hiện tấn công mạng.
- Đối tượng và phạm vi nghiên cứu: Kỹ thuật M-SVM và ứng dụng M-
SVM vào việc phân loại các kết nối mạng trên bộ dữ liệu KDD cup 99.
Trong chương trình đánh giá phát hiện tấn công mạng của Cơ quan Quản
lý Nghiên cứu Dự Án Bộ quốc phòng Mỹ (DARPA), một môi trường đã được
thiết lập để thu được các dữ liệu thô về TCP/IP dump cho một mạng được mô
phỏng giống như mạng LAN của Không lực Hoa Kỳ. Với mỗi kết nối TCP/IP,
41 đặc trưng số và phi số được trích xuất. Dữ liệu được sử dụng trong cuộc thi
kdd cup 1999 là một phiên bản của bộ dữ liệu này. Các cuộc tấn công thuộc về
bốn loại chính: DOS, R2L, U2R, Probing. Dữ liệu kdd cup 1999 có thể tải từ
địa chỉ: 2
- Phương pháp nghiên cứu: Nghiên cứu và cài đặt kỹ thuật Máy véc tơ
hỗ trợ đa lớp. Thu thập và tiền xử lý các bộ dữ liệu mẫu hiện có về tấn công
mạng. Áp dụng SVMs trên dữ liệu đã xử lý, so sánh, đánh giá hiệu quả của kỹ
thuật SVMs trong việc phát hiện tấn công mạng.
II. NỘI DUNG
Chương 1 - TỔNG QUAN VỀ PHÁT HIỆN TẤN CÔNG MẠNG
1.1. Tấn công mạng
1.1.1. Khái niệm tấn công mạng

Probe – Surveillance : Trong loại tấn công này, tin tặc quét mạng hoặc
máy tính để tìm ra điểm yếu dễ tấn công mà thông qua đó tin tặc có thể khai
thác hệ thống. Điều này có phần giống như theo dõi, giám sát hệ thống. Một
cách phổ biến của loại tấn công này là thực hiện thông qua việc quét các cổng
của hệ thống máy tính. Bằng việc này, tin tặc có thể lấy được thông tin về cổng
đang mở, dịch vụ đang chạy, và rất nhiều thông tin chi tiết nhạy cảm khác như
địa chỉ IP, địa chỉ MAC, các luật tường lửa đang sử dụng, …
1.2. Bài toán phát hiện xâm nhập mạng
Khi một máy tính hay một hệ thống hoạt động trên môi trường mạng, sẽ
có rất nhiều kết nối giữa nó và các máy tính, các thiết bị khác. Trong những kết
nối đó có những kết nối đang tìm cách tấn công hệ thống để đạt được mục đích
nào đó. Bản thân mỗi máy tính đều có những cơ chế để tự bảo vệ nhưng nó có
những điểm yếu và thực sự không đủ sức chống lại các cuộc tấn công mới với
mức độ nguy hiểm ngày càng lớn hơn. Bên cạnh đó các máy tính hay hệ thống
cũng phải chịu các nguy cơ đến từ các hành vi vi phạm chính sách an toàn và
bảo mật công nghệ thông tin một cách vô tình hay hữu ý. Bài toán được đặt ra
là cần có cơ chế để phát hiện sớm các cuộc tấn công để từ đó có những biện
pháp ngăn chặn hoặc giảm thiểu tối đa những thiệt hại, tác động do các cuộc tấn
công gây ra.
1.2.1. Phát hiện xâm nhập mạng
Phát hiện xâm nhập mạng là quá trình theo dõi các sự kiện xảy ra trong
một hệ thống máy tính hoặc mạng máy tính và phân tích chúng để tìm ra các
dấu hiệu sự cố có thể xảy ra, đó là các vi phạm hoặc các mối đe dọa sắp xảy ra
vi phạm các chính sách bảo mật máy tính, các chính sách sử dụng được chấp
nhận hoặc thực hành bảo mật tiêu chuẩn. 4
1.2.2. Phân loại hệ thống phát hiện xâm nhập mạng
Các IDS có thể giám sát các sự kiện ở 3 cấp độ khác nhau : mạng

5
Trong các tổ chức đã triển khai NIDS thì việc triển khai HIDS có thể là
một đề xuất để tăng thêm mức bảo vệ
Dựa trên phương pháp phân tích
Hệ thống phát hiện xâm nhập dựa trên dấu hiệu (Signature-based IDS).
Dấu hiệu (signature) có thể là các thông tin về các kết nối nguy hiểm đã biết
trước. Phát hiện dựa trên dấu hiệu (signature-based detection) là quá trình so
sánh signature với sự kiện quan sát được để nhận dạng sự cố có thể xảy ra.
Phát hiện dựa trên dấu hiệu là phương pháp phát hiện đơn giản nhất bởi vì
nó chỉ so sánh hoạt động hiện thời, với danh sách các dấu hiệu bằng hoạt động
so sách chuỗi. Ưu thế của phương pháp này là rất hiệu quả trong việc phát hiện
sự tấn công mà không tạo ra số lượng lớn các cảnh báo sai. Nhược điểm của nó
là chỉ phát hiện được các cuộc tấn công mà nó đã biết trong quá khứ hay nói
khác đi là đã có trong cơ sở dữ liệu signature, do vậy hệ thống phải liên tục cập
nhật các dấu hiệu của các cuộc tấn công mới.
Hệ thống phát hiện xâm nhập dựa trên dị thường (Anomaly-based IDS) :
Phát hiện dựa trên dấu hiệu dị thường là quá trình so sánh các định nghĩa của
những gì được coi hoạt động bình thường so với các sự kiện quan sát để xác
định độ lệch đáng kể (significal deviation). IDS sử dụng phát hiện dựa trên dị
thường có những cấu hình (profile) đại diện cho hành vi bình thường của người
sử dụng, máy chủ, kết nối mạng hay các ứng dụng Các cấu hình được phát
triển bằng việc quan sát các đặc trưng của các hoạt động thông thường trong
một khoảng thời gian.
Lợi ích chủ yếu của phương thức phát hiện dựa trên dị thường là nó rất
hiệu quả trong việc phát hiện các mối nguy hiểm không được biết trước đó.
1.3. Một số kỹ thuật phát hiện tấn công mạng
1.3.2. Kỹ thuật Haystack
Haystack sử dụng thuật toán phát hiện dị thường theo thống kê, nó được
thông qua như như thành phần cốt lõi của việc giám sát máy trạm trong hệ
thống phát hiện xâm nhập phân tán (DIDS) ( Axelsson, 1999). Thuật toán này

dụng để hỗ trợ bước này. Véctơ ngưỡng được lưu trữ trong một cấu hình cá
nhân. Véctơ Bernoulli B=<b
1
, b
2
, …, b
n
> được tạo ra sao cho b
i
được thiết lập
là 1 nếu x
i
rơi ra khỏi phạm vi t
i
và b
i
được thiết lập bằng 0 trong trường hợp
còn lại.
Bước thứ ba, thuật toán tạo ra một điểm số trọng số xâm nhập cho mỗi
loại xâm nhập riêng biệt, từ véctơ Bernoulli và véctơ trọng số xâm nhập. Mỗi
nhóm và mỗi cặp loại xâm nhập có một véctơ trọng số xâm nhập W = <w
1
, w
2
,
…,w
n
>, trong đó mỗi w
i
liên quan tới tầm quan trọng của thuộc tính thứ i trong

Họ sử dụng SOM như một bộ phận giám sát chạy ngầm theo thời gian
thực, báo động cho một hệ chuyên gia phức tạp hơn. Trong hệ thống mẫu đầu
tiên của họ, 11 tham số hệ thống có thể sử dụng được từ dữ liệu thống kê hiệu
suất của hệ thống được định nghĩa như đầu vào của mô hình SOM. Những tham
số này bao gồm : CPU usage, paging activity, mailer activity, disk accesses,
memory usage, average session time, number of users, absentee jobs, reads of
help files, failed log-ins, multiple log-ins. Tuy nhiên, nghiên cứu của họ chỉ ra
kết quả của duy nhất một chương trình mô phỏng tấn công virus, nó không đủ
để đưa ra một kết luận quan trọng.
Trong một cố gắng áp dụng mạng nơron khác vào việc phát hiện dị
thường, Ghosh, Wanken và Charron (1998) đề xuất sử dụng một mạng lan
truyền ngược (back-propagation network) để giám sát các chương trình đang
chạy. Một mạng lan truyền ngược được phát triển cho việc học có giám sát. Nó
cần các mẫu hoạt động thông thường và xâm nhập (dữ liệu huấn luyện) để xây
dựng mô hình phát hiện xâm nhập. Như một mạng bao gồm một lớp đầu vào, ít
nhất một lớp ẩn (nơron không được kết nối trực tiếp với nốt đầu vào hoặc ra) và
một lớp đầu ra. Thông thường, không có kết nối giữa các nơron trong cùng lớp
hoặc giữa những nơron trong một lớp với những nơron trong lớp trước đó.
Chu kỳ huấn luyện của mạng lan truyền ngược diễn ra trong 2 giai đoạn.
Trong giai đoạn thứ nhất, đầu vào được gửi tới mạng và được lan truyền tới đầu
ra của mạng. Trong giai đoạn thứ hai, đầu ra thực tế của mạng được so sánh với
1 đầu ra tiêu chuẩn. Nếu véctơ không được chấp nhận, mạng cập nhật trọng số
bắt đầu ở nơron đầu ra. Sau đó thay đổi trong các trọng số được tính toán cho
lớp trước và đổ qua các lớp của nơron hướng về phía nơron đầu vào.
Ghosh và công sự đã đề xuất sử dụng đầu vào chương trình và bên trong
chương trình như đầu vào của mạng lan truyền ngược. Một kết quả đáng chú ý
là họ đã cải tiến hiệu quả phát hiện bằng việc sử dụng dữ liệu được tạo ngẫu
nhiên như đầu vào dị thường. Bằng việc xem xét các dữ liệu được tạo một cách
ngẫu nhiên, mạng nhận được nhiều dữ liệu huấn luyện hơn bổ sung cho dữ liệu
huấn luyện thực tế.

[10],[12]…
Ban đầu thuật toán SVM được thiết kế cho bài toán phân lớp nhị phân. Ý
tưởng chính của nó như sau :
Cho X= {x
i
} là tập các véctơ trong không R
D
và x
i
thuộc một trong hai
lớp y
i
= -1 hoặc y
i
= +1. Ta có tập điểm dữ liệu huấn luyện được biểu diễn như
sau :
{x
i
, y
i
} với i = 1…l, y
i
∈ {-1, 1}, l là số điểm dữ liệu huấn luyện
Giả sử rằng dữ liệu là phân tách tuyến tính, nghĩa là ta có thể vẽ một đường
thẳng trên đồ thị của x
1
và x
2
phân tách hai lớp khi D = 2 và một siêu phẳng trên
đồ thị của x

min ||w|| thỏa mãn y
i
(x
i
. w + b) - 1 ≥ 0 ∀i (2.6)
Khi đã tìm được w
0
, b
0
thỏa mãn (2.6), một mẫu mới x’ sẽ được phân lớp
bằng cách sử dụng mô hình:
Người ta chỉ ra rằng nếu các véctơ huấn luyện được phân tách mà không
có lỗi bởi một siêu phẳng thì xác suất lỗi mắc phải trên một mẫu kiểm tra được
giới hạn bởi tỉ lệ giữa giá trị kì vọng của số lượng véctơ hỗ trợ và số lượng
véctơ huấn luyện [3] :
E
[
Pr
(
error
)]

[ố é ơ ℎỗ ợợ]
ố é ơ ℎấ ệ2.2. Mô hình SVM cho bài toán hai lớp
2.2.1. Mô hình primal
Cho X = {x
i






giúp bài toán có thể giải quyết dễ dàng hơn. Để xác định được bộ
phân lớp (w,b) người ta giải quyết bài toán tối ưu như sau:

,









thỏa mãn: y
i
(x
i
. w + b) - 1 ≥ 0 i, i=1,…,n. (2.2)
Bài toán (2.2) là một bài toán tối ưu dạng toàn phương.
Mô hình này thường được gọi là SVM biên cứng. Trong thực tế, ta
thường sử dụng biên mềm bằng cách chấp nhận một số lượng nhỏ các mẫu

11
phân lớp sai trong giới hạn chấp nhận được. Việc này được thực hiện bằng cách
thêm vào tham số nới lỏng không âm 

≥ 0 ∀

(2.6)
Chúng ta có mô hình SVM biên mềm như sau:
min
,

1
2




+  




sao cho: 

(


.+ 
)
−1 + 

0 ∀ = 1, …n. (2.7)

2.2.2. Mô hình dual


,

, 

) bởi vì
hàm Lagrange sẽ phải được cực tiểu hóa theo w và b, cực đại hóa theo 

không
âm. Phương trình (2.8) có thể viết lại như sau:
L

=L
(,,)
=
















(2.11)

 


= 0 ⇒







= 0 (2.12)
Thay phương trình (2.11) và (2.12) vào phương trình (2.10) ta thu được công
thức mới phụ thuộc vào α:
L
D
=





-




,

với 

= 





.

(2.14)
=





-






,
(2.15)
Bài toán đối ngẫu của (2.2), do vậy, có dạng như sau:
max



(w.x
s
+ b) = 1
Thay vào phương trình (2.11):
y
s
(







.

+ 
∊
) = 1
Trong đó, S là tập chỉ số của các véctơ hỗ trợ. S được quyết định bằng việc tìm
các chỉ số i mà 

≥0. Nhân cả hai vế phương trình trên với y
s
và sử dụng



= 1 ta có:


(2.17)
 Chúng ta xét mô hình trong trường hợp biên mềm. Để chuyển bài
toán biên mềm primal về bài toán đối ngẫu, ta xét biểu thức
Lagrange của bài toán tối ưu (2.7) như sau:


=






+











[


(






(2.19)



= 0

α



y

= 0 (2.20)




= 0 C = 

+ 

(2.21)

13
Thay những phương trình này vào (2.18) thu được L
D


= 0

2.2.4 Hàm kernel
Kỹ thuật SVM ban đầu chỉ giải quyết được các bài toán với dữ liệu phân tách
tuyến tính. Nhưng trong thực tế, dữ liệu thường không phân tách tuyến tính.
Bằng việc sử dụng hàm kernel, dữ liệu đầu vào sẽ được ánh xạ vào một không
gian đặc trưng có số chiều cao hơn mà ở đó dữ liệu có thể phân tách tuyến tính
và sau đó kỹ thuật SVM được áp dụng .
Trong các thuật toán máy học, khái niệm kernel trick là một cách ánh xạ các
quan sát từ một tập S thông thường vào một không gian F gọi là Inner Products
Space mà không phải xác định ánh xạ đó một cách tường minh. Mục đích của
nó là để các quan sát đó sẽ đạt được cấu trúc phân tách tuyến tính có ý nghĩa
trong không gian F. Sự phân lớp tuyến tính trong không gian F tương đương với
việc phân lớp thông thường trong S. Thủ thuật (trick) để tránh việc xác định ánh
xạ một cách tường minh bởi vì các thuật toán học máy chỉ yêu cầu một phép
tích vô hướng (dot product) giữa các véctơ trong không gian F và chọn ánh xạ
sao cho các tích vô hướng trong không gian nhiều chiều này có thể được tính
toán trong không gian dữ liệu ban đầu bằng các hàm kernel.
Với x, y trên S, các hàm xác định K(x,y) có thể được biểu diễn như một tích vô
hướng (thường trong một không gian khác). K thường được gọi là kernel hay
hàm kernel.
Gọi Φ là một ánh xạ từ không gian dữ liệu sang không gian đặc trưng, Φ:
S F khi đó hàm kernel được định nghĩa như sau:
K(x,y) = <
x
, 
y
>
F






(

)

(

)




(2.25)
Và véctơ trọng số tối ưu ở phương trình (2.19):


=







(




(


)


(

)
+

= 0 (2.27)
và hàm quyết định tối ưu:
g(x) = sign(


+ 

) = sign










l
, y
l
) trong đó x
i


R
n
, i = 1, …, l và y
i

{1, … , k} là lớp của x
i
, SVM thứ i giải quyết vấn đề sau:
min


,

,




(w
i
)
T
w

(

)



+ 

≤−1 + 

,  

≠


≥0, j = 1,…,l (2.37)

15
Trong đó dữ liệu huấn luyện x
i
được ánh xạ vào một không gian nhiều
chiều hơn bằng việc sử dụng hàm Φ và C là tham số phạt.
Sau khi giải quyết (2.27), sẽ có k hàm quyết định:
(

)


(


(

)


(

)
+ 

(2.38)
Chiến lược one-vs-one.
Phương pháp này xây dựng k(k-1)/2 bộ phân lớp, trong đó mỗi bộ phân
lớp được huấn luyện trên dữ liệu từ hai lớp. Để huấn luyện dữ liệu từ lớp thứ i
và thứ j, chúng ta giải quyết vấn đề phân lớp nhị phân dưới đây:
min


,

,



(

)





)

ϕ
(
x

)
+ b

≤−1 + ξ


, if y

= j



≥0
Có nhiều phương pháp thực hiện kiểm tra sau khi k(k-1)/2 bộ phân lớp
được xây dựng. Sau một số lần kiểm tra, chúng ta sử dụng chiến lược sau: nếu
dấu của (

)


(



,w
2
, ,w
Q
) là

16
1 véc tơ trong không gian R
(Q.d)
mà bao gồm Q véc tơ w
i
∈ R
d
, i ∈ {1, ,Q} và
cho b là một véc tơ trong không gian R
Q
. Chúng ta xem xét các hàm H có dạng:
H(x)=argmax



()
sao cho g
i
(x) = <w
i
, x
i
> + b
i






− 


(


)〉
+ 


,
≥1 −

,(1 ≤≤), (1≤≤)
Dạng Dual.
min


1
2


  +





+ 









với điều kiện:






− 


(


)〉
+ 


−


17
với điều kiện:



0 ≤

≤, (1≤≤),(1 ≤≠

≤)
 



:


Φ
(


)
−




Hình 3.2 Mô hình IDS sử dụng máy hỗ trợ véctơ đa lớp
Các loại tấn công mạng có thể phân chia thành bốn lớp chính là : DoS,
U2R, R2L và Probe. Ta có thể xem bài toán phát hiện tấn công mạng như bài
toán phân lớp nhiều lớp. Trong phạm vi đồ án này tác giả lựa chọn bộ phân lớp
đa lớp SVMs với chiến lược One-
Bộ phận Analyser sử dụng kỹ thuật phân lớp đa lớp SVMs sẽ tiến hành phân
loại các kết nối. Nếu kết nối là các hoạt động tấn công hệ thống phát hiện tấn
công sẽ gửi thông tin cho bộ phận Executor. Bộ phận Executor dựa trên những
thông tin nhận sẽ phát đi báo động và có hành động phản ứng lại
3.2.3 Thuật toán phát hiện tấn công mạng.
Thuật toán phát hiện tấn công mạng được mô tả như sau :
Sensor
s

Alarm

Reactions

Preprocess
ing data
Normal
data

Data
base
arg


,


Input : file dữ liệu lưu mẫu cần kiểm tra
Output:
1. Đọc từng bản ghi trong file dữ liệu kiểm tra.
2. Tính g
i
(x) = w
i
. x + b
i
, i = 1,…,Q
3. Tìm g
max
= max{g
i
(x)}
4. Lớp của x là i = max.
3.3 Các chuẩn đánh giá bộ phân loại tấn công mạng
Để đánh giá một bộ phân loại tấn công mạng, người ta thường sử dụng
các tiêu chuẩn sau : CE (Classification Error), ACTE (Average Cost per Test
Example), True Possitive, Diagnosis Rate, False Posittive. 21
Chương 4 – CÀI ĐẶT VÀ ĐÁNH GIÁ KẾT QUẢ
4.1 Bộ dữ liệu KDD cup 99
Bộ dữ liệu KDD cup 99 có nguồn gốc từ MIT’s Lincoln Lab. Nó được
phát triển cho chương trình đánh giá phát hiện tấn công mạng của Cơ quan
Quản lý Nghiên cứu Dự Án Phòng Thủ Tiên tiến Bộ quốc phòng Mỹ (DARPA)
năm 1998 và được coi là bộ dữ liệu tiêu chuẩn cho việc đánh giá về phát hiện
tấn công mạng [19]. Với mỗi kết nối TCP/IP, 41 đặc trưng số và phi số được


,


.
Module: tính ma trận H.
Module: tạo file định dạng .lp.
. Module: tính giá trị của W
Module : phân lớp
4.4 Một số kết quả và đánh giá
Trong bài toán phát hiện tấn công mạng có số lớp là lớn hơn hai và nhu
cầu đặt ra không chỉ là phát hiện ra một kết nối có phải là tấn công hay không
mà cần chỉ rõ nó thuộc loại tấn công nào. Bộ phân lớp đa lớp SVMs có thể đáp
ứng được yêu cầu mà bài toán phát hiện tấn công mạng đề ra. Bên cạnh đó, ưu
điểm của SVMs là có độ phân lớp chính xác cao, tỉ lệ False Positive rất tốt sẽ
giúp cho hệ thống phát hiện tấn công phát hiện sớm tấn công mạng và giảm
thiểu cảnh báo sai. Như vậy việc sử dụng SVMs vào việc phát hiện tấn công
mạng là hoàn toàn phù hợp.
Một số vấn đề tồn tại: Độ chính xác của bộ phân lớp SVMs nhạy cảm với
các tham số  và C do người sử dụng lựa chọn.
Thời gian huấn luyện và kiểm tra của kỹ thuật SVMs vẫn cần phải được
cải thiện hơn nữa để có thể đáp ứng được việc xây dựng hệ thống phát hiện xâm
nhập mạng có khả năng xử lý khối lượng dữ liệu ngày càng lớn. Một vấn đề
khác của việc xây dựng máy véctơ hỗ trợ đa lớp bằng cách kết hợp nhiều SVM
là nó không phản được mối tương quan giữa các lớp.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status