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

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.92 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


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



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 toà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ế 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

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 toà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ự toà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 nguyên 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 toàn bộ với rất nhiều yê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 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

(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 toà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ý toà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 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

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 = <x
1
, x
2
, …., x
n
> 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 ngoài khoảng cho một phiên làm việc riêng biệt. Một véctơ
ngưỡng T = <t
1
, t
2
,…,t
n
>, trong đó t
i
là một bộ của mẫu <t
i,min
, t
i.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=<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

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ố w
i
, trong đó thuộc tính thứ i rơi ra khỏi phạm
vi t
i
. Đó 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 toá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 self-
organizing 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 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ế.


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 toán.
Khai thác và phân tích dữ liệu kiểm toá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= {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

1
, x
2
… x
D
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 vuông 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 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

, i = 1,…,n} là một tập các véctơ trong không ℝ

, và nhãn
lớp của x
i
là y
i
∈ Y = {-1,+1} . Ta có tập điểm dữ liệu huấn luyện được biểu
diễn như sau:
T={(x
i
, y
i
) ; i = 1…n ; y
i
∈ {-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







nhưng việc thay thế ||w||
vớ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 


, i = 1, …n:
x
i
. w + b ≥ +1 - 

cho y
i
= +1 (2.3)
x
i
. w + b ≤ -1 - 

cho y
i
= -1 (2.4)


≥ 0 ∀

(2.5)
Có thể kết hợp hai phương trình trên thành:
y
i
(x
i
. w + b) – 1 + 

≥ 0 với 


≥ 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

 Ta xét biểu thức Lagrange của bài toán tối ưu hóa (2.2):
L

=L
(,,)
=













[

(
.

+ 
)
− 1] (2.8)
Trong đó, 

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


,

, 

) 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.10)
Áp dụng điều kiện Karush-Kuhn-Tucker, lấy vi phân từng phần L
P
theo w và b
và cho các đạo hàm bằng 0 ta có:

 


= 0 ⇒ w =










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





-




,












(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)
với điều kiện: 

≥0 ∀ và







= 0
Bài toán này có dạng tối ưu hóa toà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ợ x
s
có dạng:
y
s

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




(







.

+ 
∊
)= 


Suy ra:
b = y
s
-







.
∊

(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 ⟹=










(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

có dạng giống như (2.14).
Tuy nhiên, kết hợp (2.21) với 

> 0 ∀ suy ra α < C, vì vậy bài toán đối ngẫu
của (2.7) có dạng:
max














(2.22)
với điều kiện: 0≤

≤ ∀ ;








= 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

,
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 <x
m
, x
s
>. 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:
L
D
=






∑ ∑









(

)

(

)



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


=







(


) với 

≥0 (2.26)
b
0
= y
s
-



Sm
smmm
xxy )(),(


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 (x
1
, y
1
), (x
2
, y
2
),…, (x

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

i
+ C



(


)




Với ràng buộc :
(

)






+ 

≥1−

,  

= 

(

)



+ 

≤−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:
(

)


(


)
+ 


(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 = argmax
,…,

(

)


(

)
+ 

(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ự đoá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 R
d
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 = {(x
1
, y
1
), (x
2
, y
2
), , (x
n
,
y
n
)} ∈ 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 = (w
1

,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

, i ∈ [1 Q] và <.,.> là một tích vô hướng được định
nghĩa trong không gian R
d
.
Mục tiêu là tìm ra các siêu phẳng thích hợp nhất g
i
(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
min
,,

1
2






+ 







với điều kiện:






− 


(


)〉
+ 


,
≥1 −

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


1
2


  +





Với ràng buộc



≥0,
(
1≤≤
)
, (1≤≤)



= ,


(1 ≤≤)

Mô hình MSVM của Weston & Watkin
Dạng Primal
min
,,

1
2







+ 









với điều kiện:






− 


(


)〉
+ 


−


≥1 −

,(1≤≤),(1 ≤≠

≤)

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

≤)

Dạng Dual.
min


1
2




−1








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



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

≤)
 



:


Φ
(


)
−




= 0, (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



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


,


,




(

)


SVMs
Dos U2R R2L Probe

Management unit

Executor


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 toá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 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

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



×