Tải bản đầy đủ (.pdf) (24 trang)

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

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 (501.99 KB, 24 trang )

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

Chun 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 hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

Người hướng dẫn khoa học: PGS.TS. NGƠ QUỐC TẠO

Phản biện 1: TS. Trần Nguyên Ngọc.

Phản biện 2: PGS. TS. Đỗ Năng Toàn.

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thơng
Vào lúc:

....giờ.....ngày 20 tháng 01 năm 2013


Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Cơng nghệ Bưu chính Viễn thơng


1

I. MỞ ĐẦU
- Lý do chọn đề tài: Mặc dù ra đời chưa lâu nhưng mạng Internet đã
phát triển mạnh mẽ và có ảnh hưởng sâu rộng trong tất cả các lĩnh vực của đời
sống con người. Bên cạnh những lợi ích to lớn thì nó cũng mang lại là những
phiền phức và nguy cơ không nhỏ cho các tổ chức và người dùng kết nối vào
Internet, trong đó có các nguy cơ đến từ tấn công mạng. Số lượng các cuộc tấn
cơng mạng trên tồn thế giới khơng ngừng tăng về số lượng cũng như mức độ
nguy hiểm của chúng. Các cuộc tấn cơng mạng có thể gây ra những hậu quả
nghiêm trọng về kinh tế, chính trị thậm chí ảnh hưởng tới an ninh của một quốc
gia. Việc phát hiện và xử lý thủ phạm gây ra các cuộc tấn cơng là cực kì khó
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ế ln đị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 MSVM ứ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 MSVM 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
Có rất nhiều cách hiểu khác nhau về tấn công mạng, theo Sandeep Gutta
thì tấn cơng mạng (cyber attack hay intrusion) có thể được định nghĩa là một
loạt các hoạt động máy tính nguy hiểm đe dọa và làm tổn hại tới sự bảo mật và
tính tồn vẹc của một máy thính hay hệ thống mạng. Tấn công mạng phá vỡ
hoạt động bình thường của hệ thống máy tính và có thể truy nhập trái phép hoặc
phá hủy thông trin trong các hệ thống máy tính [11].
Theo một cách khác tấn cơng mạng có thể được định nghĩa là bất kì hành
động nào cố gắng làm tổn hại sự tồn vẹn, bí mật, tính sẵn sàng của một tài
nguyên hoặc đi ngược lại mục tiêu bảo mật của một tài nguyên nào đó.
1.1.2. Các kiểu tấn cơng mạng
Có rất nhiều kiểu tấn cơng mạng nhưng ta có thể phân chúng vào bốn loại
chính như sau :
DoS - Denial of Service attack : Tấn công kiểu DoS là những tấn công
làm cho tài ngun máy tính (ví dụ Web server) khơng khả dụng với người
dùng thực sự [11]. Dạng phổ biến nhất của tấn DoS là làm cho tài nguyên máy

tính quá bận vì bị sử dụng tồn bộ với rất nhiều u cầu vơ ích đến mức người
dùng thực sự khơng thể sử dụng nó. Có rất nhiều biến thể của tấn công DoS bao
gồm TCP-SYN Flood, ICMP/UDP Flood, Smurf, Ping of Death, Teardrop,
Mailbomb, Apache2.
R2L - Remote to Local attack :Trong loại tấn công này, tin tặc cố gắng
đạt được quyền truy cập khu vực vào hệ thống máy tính bằng việc gửi các gói
tin tới hệ thống thơng qua mạng. Một vài cách phổ biến mà loại này thực hiện là
đoán mật khẩu thông qua phương pháp từ điển brute-force, FTP Write,…


3

U2R - User to Root attack : Trong lớp tấn cơng này, tin tặc với quyền của
một người dùng bình thường cố gắng để đạt được quyền truy nhập cao nhất
(đặc quyền của người quản trị hệ thống) vào hệ thống một cách bất hợp
pháp.Một cách phổ biến của lớp tấn công này là thực hiện bằng phương pháp
gây tràn bộ đệm.
Probe – Surveillance : Trong loại tấn công này, tin tặc qt 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 tố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 tồn và
bảo mật cơng nghệ thơng tin một cách vơ tình hay hữu ý. Bài tố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
(network), máy trạm (host), ứng dụng (application). Chúng có thể phân tích các
sự kiện bằng việc sử dụng một trong các phương pháp : dựa trên dấu hiệu
(signature-based), dựa trên dị thường (anomaly-based) và phân tích trạng thái
giao thức (statefull protocol analysic). Bên cạnh việc theo dõi và phân tích các
sự kiện để nhận dạng các hoạt động không mong muốn, các loại cộng nghệ IDS
thường thực hiện các chức năng sau :
- Ghi lại thông tin liên quan tới các sự kiện được quan sát.
- Thông báo cho quản trị hệ thống về các sự kiện quan trọng quan sát
được.
- Đưa ra các báo cáo về các sự kiện đã quan sát hoặc cung cấp chi tiết về
các sự kiện đặc biệt cần được quan tâm.
Có hai cách để phân loại IDS đó là dựa trên phương pháp giám sát và dựa

trên phương pháp phân tích của IDS.
Dựa trên phương pháp giám sát
Hệ thống phát hiện xâm nhập dựa trên mạng (Network-based Intrution
Detection System - NIDS) : Đây là loại phổ biến nhất của sản phẩm thương
mại. Cơ chế phát hiện tấn công của nó là giám sát và theo dõi các gói tin mạng.
Điểm mạnh của IDS kiểu này là chỉ với một số ít các IDS được đặt ở vị
trí tốt có thể giám sát được một mạng lớn. Việc triển khai IDS dựa trên mạng ít
tác động tới hiệu suất của mạng hiện có. Chúng có thể tạo ra tính an tồn cao
chống lại các cuộc tấn cơng.
Điểm yếu của IDS dựa trên mạng là nó khó xử lý tồn bộ các gói tin trong
một mạng lớn hoặc bận.
Hệ thống phát hiện xâm nhập dựa trên máy trạm (Host-based Intrution
Detection System – HIDS) phân tích hoạt động trên một máy tính riêng biệt. Vì
vậy chúng phải thu thập thơng tin từ máy trạm mà chúng đang giám sát. Điều
này cho phép một IDS phân tích các hoạt động trên trạm rất tốt và quyết định
chính xác tiến trình và user nào đang thực hiện các hoạt động nguy hại trên hệ
điều hành.


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 tố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 tốn này
phân tích hoạt động của người dùng tương ứng với một quá trình gồm 4 bước :


6

Bước thứ nhất, thuật toán tạo ra véctơ phiêm giao dịch (session) đại diện
cho các hoạt động của người dụng với phiên làm việc riêng biệt. Véctơ session
X = <x1, x2 , …., xn> biểu diễn số lượng của các thuộc tính đa dạng được sử
dụng để đại diện cho hoạt động của người dùng trong phiên làm việc đơn. Ví
dụ, các thuộc tính bao gồm thời gian phiên làm việc, số lượng file được mở để

đọc.
Bước thứ hai, thuật toán tạo ra một véctơ Bernoulli để đại diện cho các
thuộc tính vượt ra ngồi khoảng cho một phiên làm việc riêng biệt. Một véctơ
ngưỡng T = <t1, t2,…,tn>, trong đó ti là một bộ của mẫu <ti,min, ti.max> được sử
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=<b1, b2, …, bn> được tạo ra sao cho bi được thiết lập
là 1 nếu xi rơi ra khỏi phạm vi ti và bi đượ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 = …,wn>, trong đó mỗi wi liên quan tới tầm quan trọng của thuộc tính thứ i trong
véctơ Bernoulli để phát hiện kiểu xâm nhập riêng biệt. Điểm số trọng số xâm
nhập đơn giản là tổng các trọng số wi, trong đó thuộc tính thứ i rơi ra khỏi phạm
vi ti. Đó là,
Điểm trọng số xâm nhập = ∑
Bước cuối cùng, thuật toán tạo ra một thương số khả nghi đại diện cho
mức độ khả nghi của phiên làm việc này, nó được so sánh với tất cả các phiên
làm việc khác cho một loại xâm nhập riêng biệt. Đặc biệt, thương số khả nghi là
xác suất mà điểm số trọng số xâm nhập của phiên làm việc ngẫu nhiên ít hơn
hoạc bằng điểm số trọng số xâm nhập được tính tốn ở bước trước.
1.3.2. Kỹ thuật Neural Network.
Fox, Henning, Reed và Simmonian (1990) lần đầu tiên cố gắng mơ hình
hóa hệ thống và hành vi người dùng bằng mạng nơron (neural nework). Lựa
chọn mạng nơron của họ là bản đồ tự tổ chức Kohonen (Kohonen’s selforganizing map – Kohonen SOM), là một kiểu kỹ thuật học khơng giám sát, có


7

thể phát hiện ra cấu trúc cơ bản của dữ liệu mà khơng có mẫu trước về các hoạt

động xâm nhập hay hoạt động bình thường.
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 tố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ế.


8

Cũng giống như mơ hình phát hiện dựa trên thống kê dị thường, việc
quyết định các tham số đầu vào cho mạng nơron phát hiện dị thường là vấn đề
khó khăn. Thêm vào đó, việc gán trọng số khởi tạo cho mạng nơron cũng là câu
hỏi chưa được giải quyết. Kinh nghiệm của Ghosh và cộng sự đã chỉ ra rằng
trọng số khởi tạo khác nhau có thể dẫn tới bộ phát hiện dị thường với hiệu quả
khác nhau.
1.3.3. Kỹ thuật khai phá và phân tích dữ liệu kiểm tốn.
Khai thác và phân tích dữ liệu kiểm tốn ( Audit data analysis and mining
– ADAM) đề xuất áp dụng các kỹ thuật khai phá dữ liệu vào việc khám phá các
mẫu dị thường trong một lượng lớn dữ.
ADAM sử dụng vài kỹ thuật liên quan tới khai phá dữ liệu giúp phát hiện
các hoạt động mạng bất thường như các luật kết hợp (association rules), bộ ước
lượng giả Bayes (Pseudo Beyes estimator), Kỹ thuật thứ ba ADAM sử dụng là
kỹ thuật phân lớp.


9

Chương 2 – MÁY VÉCTƠ HỖ TRỢ
2.1 Tổng quan về máy véctơ hỗ trợ
2.1.1. Giới thiệu máy véctơ hỗ trợ
Máy véctơ hỗ trợ (Support vector machine – SVM) là một thuật toán học
máy nổi tiếng được sử dụng để giải quyết bài toán phân lớp. Thuật toán SVM
ban đầu được phát minh bởi Vladimir N. Vapnik và thuật toán SVM tiêu chuẩn
hiện nay được đề xuất bởi Vladimir N. Vapnik và Corinna Cortes năm 1995.

SVM đã được áp dụng rất thành công trong việc giải quyết các vấn đề của thế
giới thực như nhận dạng văn bản [9], nhận dạng hình ảnh [2], nhận dạng chữ
viết tay [15], phân loại thư rác điện tử [6], phát hiện xâm nhập mạng
[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= {xi} là tập các véctơ trong không RD và xi thuộc một trong hai
lớp yi = -1 hoặc yi = +1. Ta có tập điểm dữ liệu huấn luyện được biểu diễn như
sau :
{xi, yi} với i = 1…l, yi ∈ {-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 x1 và x2 phân tách hai lớp khi D = 2 và một siêu phẳng trên
đồ thị của x1, x2… xD phân tách hai lớp với D > 2.
Mục tiêu của SVM là xây dựng một siêu phẳng giữa hai lớp sao cho
khoảng cách từ nó tới các điểm gần siêu phằng nhất của hai lớp là cực đại. Siêu
phẳng có thể được mơ tả bởi phương trình :
w.x+b=0
trong đó:
. là phép nhân véctơ vơ hướng.
w là véctơ pháp tuyến của siêu phẳng.
|| ||

là khoảng cách vng góc từ siêu phẳng tới gốc tọa độ.

Véctơ hỗ trợ là những điểm dữ liệu gần siêu phẳng phân tách nhất.


10

Hình học véctơ chỉ ra rằng lề bằng


‖ ‖

và việc cực đại hóa nó với ràng

buộc (2.3) giống với việc tìm kiếm:
min ||w||

thỏa mãn yi(xi . w + b) - 1 ≥ 0 ∀i

(2.6)

Khi đã tìm được w0, b0 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 tốn hai lớp
2.2.1. Mơ hình primal
Cho X = {xi, i = 1,…,n} là một tập các véctơ trong không ℝ , và nhãn
lớp của xi là yi ∈ Y = {-1,+1} . Ta có tập điểm dữ liệu huấn luyện được biểu
diễn như sau:
T={(xi, yi) ; i = 1…n ; yi ∈ {-1, 1}}, trong đó n là số điểm dữ liệu huấn
luyện.
Như đã trình bày trong phần 2.1.1, để cực đại hóa lề người ta cực tiểu hóa
||w||. Điều này cũng tương tự như cực tiểu hóa
với

‖ ‖ nhưng việc thay thế ||w||

‖ ‖ giúp bài tố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:

‖ ‖
yi(xi . 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 tồ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 , i = 1, …n:
xi . w + b ≥ +1 -

cho yi = +1

(2.3)

xi . w + b ≤ -1 -

cho yi = -1

(2.4)

≥0∀

(2.5)

Có thể kết hợp hai phương trình trên thành:
≥0∀

≥ 0 với

yi(xi . w + b) – 1 +

(2.6)

Chúng ta có mơ hình SVM biên mềm như sau:
min


( .

sao cho:

1
‖ ‖ +
2

,

+ )−1+

0 ∀ = 1, …n.

(2.7)

2.2.2. Mơ hình dual
 Ta xét biểu thức Lagrange của bài tốn tối ưu hóa (2.2):
L = L(
Trong đó,

, , )

= ‖ ‖ − ∑

[ ( .

+ ) − 1]

là nhân tử Lagrange. Ta cần tìm điểm yên ngựa (


(2.8)
, ,

) 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
âm. Phương trình (2.8) có thể viết lại như sau:
L = L(

, , )

= ‖ ‖ − ∑

( .

+

)+ ∑

không

(2.10)

Áp dụng điều kiện Karush-Kuhn-Tucker, lấy vi phân từng phần LP theo w và b
và cho các đạo hàm bằng 0 ta có:
=0⇒w=∑
=0⇒∑

(2.11)

=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 α:
LD
(2.13)

=



-

∑,


12

= ∑

- ∑,

= ∑

- ∑,

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





(2.16)
≥ 0 ∀ và ∑

với điều kiện:

=0

Bài tốn này có dạng tối ưu hóa tồn phương lồi theo biến .
Bất kì điểm dữ liệu nào thỏa mãn (2.11) là một véctơ hỗ trợ xs có dạng:
ys (w.xs + b) = 1
Thay vào phương trình (2.11):
ys(∑

.




+ )=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
≥ 0. Nhân cả hai vế phương trình trên với ys và sử dụng

các chỉ số i mà
= 1 ta có:
(∑

.



+ )=

Suy ra:
b = ys - ∑

.



(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:
=


‖ ‖ +



−∑

[ ( .

+ )−1+

]−∑

(2.18)
Áp dụng điều kiện Karush-Kuhn-Tucker, lấy vi phân từng phân theo w, b và
và cho đạo hàm bằng 0, ta có:
=0 ⟹
=0



=0

C=

=∑
α y =0
+

(2.19)
(2.20)

(2.21)


13

Thay những phương trình này vào (2.18) thu được LD có dạng giống như (2.14).
Tuy nhiên, kết hợp (2.21) với
của (2.7) có dạng:
max



> 0 ∀ suy ra α < C, vì vậy bài tốn đối ngẫu



với điều kiện:

(2.22)
0≤



∀ ; ∑

=0

2.2.4 Hàm kernel
Kỹ thuật SVM ban đầu chỉ giải quyết được các bài tố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 tốn học máy chỉ 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
tố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 ,
với 〈∙,∙〉F là một tích vơ hướng được định nghĩa trong khơng gian F.


14

Dễ thấy trong các bài toán đối ngẫu (2.16) và (2.22) đều xuất hiện các tích vơ
hướng <xm, xs>. Vì vậy,bằng việc áp dụng bộ phân lớp tuyến tính cực đại hóa lề
cho tập dữ liệu trong khơng gian mới, biểu thức Lagrange (2.13) có thể được

viết lại như sau:
LD = ∑

−∑



( )

( )

(2.25)

Và véctơ trọng số tối ưu ở phương trình (2.19):
=∑
b0 = ys -



m

( ) với

≥0

(2.26)

y m ( xm ), ( x s )

mS


Siêu phẳng tối ưu, trong trường hợp này được biểu diễn bởi phương trình
(2.27) như sau:
w .x + b = ∑

( )

( )+

=0

(2.27)

và hàm quyết định tối ưu:
+

g(x) = sign(

) = sign ∑

( )

( )+

(2.28)

2.3 Máy véctơ hỗ trợ trong trường hợp phân đa lớp
2.3.1 Mơ hình SVMs
Kỹ thuật phân đa lớp dạng Multiple binary-classification
Chiến lược one-vs-all.

Nó xây dựng k mơ hình SVM với k là số lượng lớp. SVM thứ i được huấn
luyện với tất cả các mẫu huấn luyện được gán nhãn như sau: các mẫu trong lớp
thứ i được gán nhãn 1 và tất cả các lớp còn lại được gán nhãn -1. Theo cách đó,
với l điểm dữ liệu (x1, y1), (x2, y2),…, (xl, yl) trong đó xi ∊ Rn, i = 1, …, l và yi ∊
{1, … , k} là lớp của xi, SVM thứ i giải quyết vấn đề sau:
min

(wi)T wi + C∑

, ,

(

)

Với ràng buộc :
(

)

+

≥1−

(

)

+


≤ −1 +

≥ 0, j = 1,…,l

,

=
,


(2.37)


15

Trong đó dữ liệu huấn luyện xi đượ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:
(

( )+

)

(w ) ϕ(x) + b

(

( )+


)

Ta nói x thuộc lớp có giá trị hàm quyết định lớn nhất:
Lớp của x = arg max

,…,

(

( )+

)

(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
(

,

)

,

(


( )+

)

+ C∑

≥ 1−

(

)

,

=

(w ) ϕ(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 ( ) ( ) +
chỉ ra rằng x thuộc lớp thứ i thì phiếu bầu cho lớp
thứ i tăng thêm 1. Ngược lại thì lớp thứ j được tăng thêm một. Sau đó chúng ta
sẽ dự đốn x thuộc về lớp có số phiếu bầu lớn nhất.
2.3.2 Mơ hình M-SVM
Gọi X là 1 tập các véc tơ trong không gian Rd và Y = {1, ...,Q} là 1 tập
các giá trị lớp. Cho trước 1 tập dữ liệu huấn luyện X = {(x1, y1), (x2, y2), .., (xn,
yn)} ∈ R^(n∗(d+1)) sao cho xi ∈ X, yi ∈ Y, i = {1, ..., n}.
Ký hiệu G là lớp các hàm có dạng g : X → R^Q với g = {g1, g2, ..., gQ},
gi : X → R, i = 1, ..,Q. Một bộ phân loại đa lớp là 1 hàm có dạng H : X → Y

ánh xạ mỗi phần tử x thuộc X tới 1 giá trị lớp y ∈ Y. Cho w = (w1,w2, ...,wQ) là


16

1 véc tơ trong không gian R(Q.d) mà bao gồm Q véc tơ wi ∈ Rd, i ∈ {1, ...,Q} và
cho b là một véc tơ trong không gian RQ. Chúng ta xem xét các hàm H có dạng:
H(x)=arg max

( )

sao cho gi(x) = <wi, xi> + bi, i ∈ [1..Q] và <.,.> là một tích vơ hướng được định
nghĩa trong khơng gian Rd.
Mục tiêu là tìm ra các siêu phẳng thích hợp nhất gi(x), i ∈ {1, ...,Q} mà
phân chia tập dữ liệu huấn luyện theo một cách tốt nhất.
Mơ hình MSVM của Crammer-Singer
Dạng Primal
1
2

min
, ,



‖ +

với điều kiện:





, Φ( )〉 +

,

≥ 1 − , (1 ≤ ≤

), (1≤

≤ )

Dạng Dual.
1
+
2
(1 ≤ ≤ ), (1 ≤ ≤ )
= , (1 ≤ ≤ )

min
Với ràng buộc

≥ 0,


Mơ hình MSVM của Weston & Watkin
Dạng Primal
min
, ,


1
2



‖ +

với điều kiện:



≥ 0,

, Φ( )〉 +



≥ 1−

, (1 ≤ ≤
(1 ≤ ≤

Dạng Dual.
min

1
2

−1


), (1 ≤
), (1 ≤




≤ )
≤ )


17

với điều kiện:
0≤




≤ ,


(1 ≤ ≤
Φ( ) −

= 0,

), (1 ≤
(1 ≤





≤ )
≤ )

:

Chương 3 – KỸ THUẬT PHÁT HIỆN TẤN CÔNG MẠNG SỬ DỤNG
MÁY VÉCTƠ HỖ TRỢ ĐA LỚP
3.1 Các yêu cầu của hệ thống phát hiện tấn công mạng
- Phát hiện được các cuộc tấn công mạng một cách chính xác. Một hệ
thống phát hiện xâm nhập mạng có độ chính xác cao sẽ bảo vệ tốt hơn an toàn
cho hệ thống đồng thời giảm được những bất lợi do việc báo động sai của hệ
thống phát hiện xâm nhập gây ra.
- Phát hiện sớm các cuộc tấn công mạng.
- Hỗ trợ tốt cho người quản trị.
3.2 Cấu trúc hệ thống phát hiện tấn cơng mạng
3.2.1 Mơ hình chung của hệ thống phát hiện xâm nhập mạng.
Mơ hình chung của một hệ thống phát hiện xâm nhập mạng thường bao
gồm các thành phần chính : Sensor, Alarm-processing unit, Management unit.
Bên cạnh đó cịn có các thành phần mang tính lựa chọn như Deception system,
Intrusion visualisation unit.


18

Hình 3.1. Mơ hình chung của IDS
3.2.2 Bộ phân loại sử dụng máy hỗ trợ véctơ đa lớp



19

Data
base

Preprocess
ing data

SVMs
arg

,…,

( )

Normal
data

Dos

U2R

R2L Probe

Alarm
Executor
Reactions
Sensor
s
Management unit


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 tốn phát hiện tấn cơng mạng như bài
tố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 OneBộ 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 tốn phát hiện tấn cơng mạng.
Thuật tốn phát hiện tấn công mạng được mô tả như sau :


20

Bước 1: Huấn luyện
Input : file dữ liệu đã được định dạng.
Output:
1.for i=1 to Q (Q là số siêu phẳng tương ứng với số lớp của dữ liệu huấn
luyện)
Gán nhãn cho tất cả các điểm dữ liệu thuộc lớp i giá trị + 1 và các
điểm dữ liệu thuộc lớp cịn lại giá trị -1.
2. Tính ma trận H
3. Gọi solver Cplex để giải bài tốn tối ưu
4. Tính w, b.
Step 2: Phân lớp
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 gi(x) = wi . x + bi , i = 1,…,Q

3. Tìm gmax = max{gi(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
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 kiểu tấn cơng được chia vào bốn loại chính:
1. DoS - denial of service.
2. R2L - Remote to Local.
3. U2R - User to Root attack.
4. Probe.
4.2 Tiền xử lý dữ liệu
Trong bộ dữ liệu KDD 99 có 23 loại tấn cơng mạng, có thể chia vào 4
loại chính: DOS, R2L, U2R, Probe
Lớp của các kết nối trong bộ dữ liệu KDD CUP’99 là các thuộc tính phi
số như bảng trên và được viết ở vị trí cuối cùng của bản ghi. Lớp của các kết
nối sẽ được thay thế bằng lớp là các thuộc tính số như ở bảng 4.4.

Bảng 4.4 Thay thế lớp của kết nối bằng các thuộc tính số
STT

Lớp của kêt nối

Lớp mới

1

Normal

1

2

DOS

2

3

R2L

3

4

U2R

4


5

Probe

5


22

4.3 Các module chính của chương trình
Chương trình được viết trên ngôn ngữ Visual C++ phiên bản 2008 của
Microsoft. Hàm kernel được sử dụng trong chương trình là hàm Gauss.
Module: tính hàm kernel Gauss

,

.

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 u cầu mà bài tố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à hồn tồ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.



×