Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
đáNh giá hiệu quả một số thuật toán trong phát hiện xâm nhập mạng 6732424
1. ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
-------------------
TRẦN THỊ HƢƠNG
ĐÁNH GIÁ HIỆU QUẢ MỘT SỐ
THUẬT TOÁN TRONG PHÁT HIỆN
XÂM NHẬP MẠNG
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội – 2016
2. ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
-------------------
TRẦN THỊ HƢƠNG
ĐÁNH GIÁ HIỆU QUẢ MỘT SỐ
THUẬT TOÁN TRONG PHÁT HIỆN
XÂM NHẬP MẠNG
Chuyên ngành: Cơ sở Toán học cho Tin học
Mã số: 60460110
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS Lê Trọng Vĩnh
Hà Nội – 2016
3. i
MỤC LỤC
DANH MỤC HÌNH VẼ............................................................................................ iii
DANH MỤC BẢNG BIỂU ...................................................................................... iv
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................v
LỜI CẢM ƠN ........................................................................................................... vi
LỜI MỞ ĐẦU.............................................................................................................1
Chƣơng 1: Tổng quan về phát hiện xâm nhập mạng ..................................................3
1.1. Giới thiệu .........................................................................................................3
1.2. Xâm nhập .........................................................................................................4
1.2.1. Khái niệm...................................................................................................4
1.2.2. Một số kiểu xâm nhập phổ biến.................................................................4
1.2.3. Một số giải pháp ngăn chặn xâm nhập truyền thống.................................6
1.3. Hệ thống phát hiện xâm nhập mạng.................................................................7
1.3.1. Định nghĩa .................................................................................................7
1.3.2. Phân loại hệ thống phát hiện xâm nhập mạng...........................................8
1.4. Một số cách tiếp cận cho bài toán phát hiện xâm nhập..................................11
1.4.1. Cách tiếp cận dựa vào luật.......................................................................11
1.4.2. Cách tiếp cận dựa vào thống kê...............................................................12
1.4.3. Cách tiếp cận dựa vào học máy...............................................................13
1.4.4. Hƣớng tiếp cận của luận văn ...................................................................16
Chƣơng 2: Phát hiện xâm nhập mạng dựa vào học máy...........................................17
2.1. Hồi quy logistic ..............................................................................................18
2.2. Máy véc-tơ hỗ trợ...........................................................................................21
2.2.1. SVM tuyến tính........................................................................................22
2.2.2. SVM phi tuyến tính .................................................................................26
2.3. Mạng nơ-ron nhân tạo....................................................................................27
2.3.1. Mô hình mạng nơ-ron nhân tạo ...............................................................28
2.3.2. Phát hiện xâm nhập dựa vào mạng nơ-ron ..............................................33
2.4. Rút gọn đặc trƣng...........................................................................................36
4. ii
Chƣơng 3: Đánh giá hiệu quả của một số thuật toán học máy .................................41
trong việc phát hiện xâm nhập mạng ........................................................................41
3.1. Bộ dữ liệu KDD CUP 99................................................................................41
3.2. Tiền xử lý dữ liệu ...........................................................................................45
3.2.1. Chuyển các giá trị phi số sang số ............................................................46
3.2.2. Chuẩn hóa giá trị đầu vào........................................................................50
3.3. Kết quả thực nghiệm..................................................................................52
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ................................................................58
CÁC CÔNG BỐ LIÊN QUAN.................................................................................60
TÀI LIỆU THAM KHẢO.........................................................................................61
5. iii
DANH MỤC HÌNH VẼ
Hình 1.1 Hệ thống phát hiện xâm nhập NIDS ............................................................9
Hình 1.2 Hệ thống phát hiện xâm nhập HIDS ..........................................................10
Hình 2.1 Quá trình phát hiện xâm nhập dựa vào học máy........................................18
Hình 2.2 Hình dạng hàm sigmoid .............................................................................19
Hình 2.3. Một siêu phẳng phân chia dữ liệu học thành hai lớp ................................22
Hình 2.4. Dữ liệu không phân tách tuyến tính..........................................................25
Hình 2.5. Hàm ánh xạ từ không gian hai chiều sang không gian ba chiều...........27
Hình 2.6. Mô phỏng một perceptron.........................................................................28
Hình 2.7. Mô phỏng mạng nơ-ron ba lớp .................................................................30
Hình 2.8. Các bƣớc huấn luyện mạng nơ-ron...........................................................33
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ện34
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......35
Hình 2.11. Phát hiện gói tin bất thƣờng sử dụng mạng nơ-ron.................................36
Hình 3.1. Độ đo Information Gain của 41 thuộc tính ...............................................55
6. iv
DANH MỤC BẢNG BIỂU
Bảng 3.1. Mô tả các đặc trƣng của bộ dữ liệu KDD cup 99.....................................41
Bảng 3.2. Bảng phân bố số lƣợng các kiểu trạng thái kết nối trong .........................45
Bảng 3.3. Bảng chuyển đổi đối với các loại giao thức .............................................46
Bảng 3.4. Bảng chuyển đổi các trạng thái cờ kết nối................................................46
Bảng 3.5. Bảng chuyển đổi đối với các loại dịch vụ................................................47
Bảng 3.6. Bảng phân bố và chuyển đổi nhãn của các trạng thái mạng.....................48
Bảng 3.7. Các kiểu tấn công mới trong bộ dữ liệu ...................................................50
Bảng 3.8. Giá trị nhỏ nhất và lớn nhất của các cột trong tập “Whole KDD 99”......51
Bảng 3.9. Kết quả chạy chƣơng trình trên các thuật toán học máy ..........................54
Bảng 3.10. Kết quả thực nghiệm khi sử dụng 31 đặc trƣng......................................56
7. v
DANH MỤC CÁC TỪ VIẾT TẮT
Viết tắt Ý nghĩa
IDS Intrusion Detection System
NIDS Network- Based Intrusion Detection System
HIDS Host- Based Intrusion Detection System
LR Logistic Regression
SVM Support Vector Machine
ANN Artificial Neural Network
DOS Denial of Service
R2L Remote to Local
U2R User to root
IG Information Gain
8. vi
LỜI CẢM ƠN
Trƣớc tiên, em xin đƣợc gửi lời cảm ơn chân thành nhất của mình tới
PGS.TS Lê Trọng Vĩnh, trƣờng Đại học Khoa học Tự nhiên, Đại học Quốc gia
Hà Nội đã dành nhiều công sức hƣớng dẫn em thực hiện luận văn này cũng nhƣ
trong suốt quá trình học tập và làm việc tại trƣờng.
Em cũng xin chân thành cảm ơn các thầy cô trong Bộ môn Tin học, trƣờng
Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội đã nhiệt tình truyền đạt kiến
thức, kinh nghiệm, phƣơng pháp nghiên cứu và cả sự say mê khoa học tới nhiều lứa
học viên cao học trong đó có em.
Em cũng xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, anh chị em những
ngƣời đã luôn sát cánh bên em, giúp đỡ quan tâm, động viên trong suốt quá trình
học tập cũng nhƣ trong thời gian thực hiện đề tài này.
Với sự chỉ bảo tận tình của các thầy, các cô, em đã rất cố gắng để hoàn thành
luận văn này. Tuy nhiên, do em còn nhiều điểm hạn chế nên luận văn còn tồn tại
nhiều thiếu sót. Em kính mong tiếp tục nhận đƣợc những ý kiến góp ý của các thầy,
các cô cũng nhƣ các bạn học viên để em có thể phát triển đề tài này hơn nữa. Một
lần nữa em xin gửi tới tất cả mọi ngƣời lời cảm ơn chân thành nhất.
Học viên
Trần Thị Hƣơng
9. 1
LỜI MỞ ĐẦU
Thế kỷ XXI, chứng kiến sự phát triển nhanh chóng của Internet và những ảnh
hƣởng sâu rộng tới mọi lĩnh vực đời sống của con ngƣời. Song song với những lợi ích
mà mạng máy tính đem lại thì nó cũng trở thành mục tiêu lợi dụng của những kẻ tấn
công, xâm nhập trái phép nhằm thực hiện những mƣu đồ xấu, đe dọa tới tính an toàn về
bảo mật thông tin của các tổ chức hay những ngƣời dùng kết nối mạng. Mặc dù, mỗi hệ
thống máy tính đều có những cơ chế tự bảo vệ riêng nhƣng có thể chƣa đủ để phát hiện
hay ngăn chặn những cuộc tấn công ngày một tinh vi hơn. Vấn đề đặt ra là làm sao xây
dựng đƣợc một hệ thống có thể phát hiện sớm và có hiệu quả các cuộc tấn công hay
xâm nhập trái phép từ đó đƣa ra những cảnh báo và biện pháp xử lý kịp thời. Một số
các hệ thống phát hiện xâm nhập mạng truyền thống đƣợc áp dụng khá phổ biến và
rộng rãi trên thế giới nhƣ hệ thống phát hiện xâm nhập dựa trên tập luật, phân tích
thống kê,…Các hệ thống trên đã phát hiện tốt những cuộc tấn công đã biết với tỷ lệ
cảnh báo sai thấp. Tuy nhiên, chúng tại tỏ ra kém hiệu quả đối với những cuộc tấn công
mới, đồng thời phải luôn cập nhật luật mới.
Một vài nghiên cứu gần đây [1][5] đƣa ra một hƣớng tiếp cận mới dựa vào học
máy cho bài toán phát hiện xâm nhập mạng. Từ những nghiên cứu và thực nghiệm trên
những bộ dữ liệu chuẩn, các tác giả chỉ ra rằng các thuật toán dựa vào học máy có khả
năng học và tiếp thu những tri thức mới từ những tri thức đã biết từ đó giúp phân loại
những mẫu đã đƣợc học, dự đoán tốt những mẫu mới (các kiểu tấn công mới). Điều
này hứa hẹn sẽ đem lại một cách tiếp cận hiệu quả cho bài toán phát hiện xâm nhập.Vì
vậy, luận văn sẽ tập trung đi theo hƣớng tiếp cận này và lựa chọn ba thuật toán điển
hình đang nhận đƣợc sự quan tâm nghiên cứu gần đây là hồi quy logistic, máy véc-tơ
hỗ trợ, mạng nơ-ron nhân tạo. Đồng thời tiến hành xây dựng các hệ thống phát hiện
xâm nhập dựa vào các thuật toán học máy từ đó phân tích và đánh giá hiệu quả của
từng thuật toán trong việc phát hiện xâm nhập.
10. 2
Luận văn “Đánh giá hiệu quả một số thuật toán trong phát hiện xâm nhập
mạng” đƣợc chia làm ba chƣơng với nội dung nhƣ sau:
Chƣơng 1: Tổng quan: Hệ thống hóa các vấn đề liên quan tới phát hiện xâm
nhập mạng và hệ thống phát hiện xâm nhập mạng. Ngoài ra, chƣơng một cũng trình
bày một số cách tiếp cận chính để giải quyết vấn đề phát hiện xâm nhập mạng.
Chƣơng 2: Phát hiện xâm nhập mạng dựa vào học máy: Trình bày một số
thuật toán học máy có giám sát điển hình nhƣ hồi quy logistic, máy véc-tơ hỗ trợ, mạng
nơ-ron nhân tạo cho bài toán phát hiện xâm nhập, cũng nhƣ việc áp dụng các thuật toán
giải quyết bài toán này. Bên cạnh đó, trong chƣơng này cũng trình bày vấn đề rút gọn
các đặc trƣng sử dụng độ đo information gain để giảm thiểu chi phí tính toán và thời
gian phát hiện.
Chƣơng 3: Đánh giá hiệu quả của một số thuật toán trong việc phát hiện
xâm nhập mạng: Tiến hành thực nghiệm các thuật toán học máy đã nêu trong chƣơng
hai trên nhiều bộ dữ liệu chuẩn (KDD CUP 99), từ đó có những đánh giá, nhận xét và
so sánh về tỷ lệ phát hiện xâm nhập cùng thời gian phát hiện của mỗi mô hình.
11. 3
Chƣơng 1: Tổng quan về phát hiện xâm nhập mạng
1.1. Giới thiệu
Trong những năm gần đây, sự phát triển nhƣ vũ bão của mạng Internet đem lại
những lợi ích không nhỏ cho con ngƣời bao gồm cả đời sống, công nghệ, kinh tế, xã
hội,... Bên cạnh đó thì Interner cũng trở thành môi trƣờng lý tƣởng cho những kẻ xấu
lợi dụng để thực hiện hành vi xâm nhập trái phép, tấn công vào những hệ thống máy
tính của các cá nhân hay tổ chức gây ra những thiệt hại nghiêm trọng. Vì vậy, vấn đề
an ninh và bảo mật ngày càng đƣợc quan tâm.
Khi triển khai một hệ thống thông tin thì cũng đồng nghĩa với việc xây dựng cơ
chế bảo vệ chặt chẽ, an toàn cho hệ thống thông tin của doanh nghiệp, tổ chức là góp
phần quan trọng vào việc duy trì tính bền vững của hệ thống. Để làm đƣợc điều đó, thì
tất cả những hệ thống này cần trang bị những công cụ đủ mạnh, am hiểu cách xử lý để
đối phó với những phƣơng thức tấn công vào hệ thống mạng. Một bức tƣờng lửa không
thể đủ mạnh để có thể chống đỡ mọi ý đồ xâm nhập vào hệ thống. Vì vậy, ngoài việc
am hiểu sâu sắc các vấn đề bảo mật của những ngƣời quản trị an ninh mạng thì cũng rất
cần những hệ thống, hay công cụ có thể trợ giúp đặc lực cho việc đảm bảo an toàn của
các hệ thống.
Nhiệm vụ bảo mật thông tin và bảo vệ môi trƣờng mạng vì vậy mà rất nặng nề
và khó đoán định trƣớc. Nhƣng tựu chung lại, các nhiệm vụ trên gồm bốn hƣớng chính
là: bảo đảm an toàn cho phía máy chủ, bảo đảm an toàn cho phía khách, bảo mật thông
tin trên đƣờng truyền và phát hiện xâm nhập mạng. Trong đó, phát hiện xâm nhập
mạng (intrusion detection) hiện đang là một trong những vấn đề đƣợc quan tâm hàng
đầu hiện nay bởi sự gia tăng nhanh chóng của các cuộc xâm nhập trái phép. Những kẻ
xâm nhập ngày càng nguy hiểm, tinh vi và phức tạp hơn. Vì thế, trong nghiên cứu này,
luận văn tập trung vào việc nghiên cứu bài toán phát hiện xâm nhập mạng, xây dựng và
đánh giá các mô hình phát hiện xâm nhập mạng.
12. 4
1.2. Xâm nhập
1.2.1. Khái niệm
Hiện nay vẫn chƣa có định nghĩa chính xác về thuật ngữ xâm nhập. Mỗi chuyên
gia trong lĩnh vực an toàn thông tin luận giải thuật ngữ này theo ý hiểu của mình. Tuy
nhiên, định nghĩa của Kendall năm 1999 đƣợc biết đến rộng rãi nhất. Tác giả đã đƣa ra
khái niệm về xâm nhập nhƣ sau:
“Tấn công hay còn gọi là xâm nhập mạng là những hoạt động có chủ đích, lợi
dụng các tổn thương của hệ thống thông tin nhằm phá vỡ tính sẵn sàng, tính toàn vẹn
và tính bảo mật của hệ thống” [8].
1.2.2. Một số kiểu xâm nhập phổ biến
Có rất nhiều kiểu xâm nhập mạng khác nhau và thƣờng đƣợc phân thành các
loại chính: tấn công từ chối dịch vụ, kiểu thăm dò, tấn công chiếm quyền “root”, tấn
công điều khiển từ xa. Phần dƣới đây sẽ trình bày chi tiết về các kiểu tấn công này.
a) Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (Denial of Service) hay viết tắt DoS là kiểu tấn công
làm cho một hệ thống nào đó bị quá tải không thể cung cấp dịch vụ, làm gián đoạn hoạt
động của hệ thống hoặc hệ thống phải ngƣng hoạt động [8].
Tùy theo phƣơng thức thực hiện mà nó đƣợc biết dƣới nhiều tên gọi khác nhau.
Bắt đầu là lợi dụng sự yếu kém của giao thức TCP để thực hiện tấn công từ chối dịch
vụ DoS. Ngoài ra còn có kiểu tấn công từ chối dịch vụ phân tán DDoS (Distributed
Denial of Service) và mới nhất là tấn công từ chối dịch vụ theo phƣơng pháp phản xạ
DRDoS (Distributed Reflection of Service).
Tấn công từ chối dịch vụ cổ điển DoS sử dụng các hình thức: bom thƣ, đăng
nhập liên tiếp, làm ngập SYN, tấn công Smurf, trong đó thủ phạm sinh ra nhiều giao
13. 5
tiếp ICMP tới địa chỉ Broadcast của các mạng với địa chỉ nguồn là mục tiêu cần tấn
công, tấn công “gây lụt” UDP…
Tấn công dịch vụ phân tán DDoS xuất hiện vào năm 1999, so với tấn công DoS
cổ điển, sức mạnh của DDoS cao hơn gấp nhiều lần. Hầu hết các cuộc tấn công DDoS
nhằm vào việc chiếm dụng băng thông gây nghẽn mạch hệ thống dẫn đến hệ thống
ngƣng hoạt động. Để thực hiện thì kẻ tấn công tìm cách chiếm dụng và điều khiển
nhiều máy tính/mạng máy tính trung gian, từ nhiều nơi để đồng loạt gửi ào ạt các gói
tin với số lƣợng rất lớn nhằm chiếm dụng tài nguyên và làm nghẽn đƣờng truyền của
một mục tiêu xác định nào đó.
b) Tấn công thăm dò
Đối với kiểu tấn công thăm dò (Probe), 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ể thu thập thông tin trái phép về
tài nguyên, các lỗ hổng hoặc dịch vụ của hệ thống. Các kiểu tấn công thăm dò nhƣ:
Sniffing, Ping Sweep, Ports Scanning,… [8]
Ví dụ: Sniffer là một hình thức nghe lén trên hệ thống mạng dựa trên những đặc
điểm của cơ chế TCP/IP. Sniffer ban đầu là một kỹ thuật bảo mật, đƣợc phát triển
nhằm giúp các nhà quản trị mạng khai thác mạng hiệu quả hơn và có thể kiểm tra các
dữ liệu ra vào mạng cũng nhƣ các dữ liệu trong mạng. Sau này, kẻ tấn công dùng
phƣơng pháp này để lấy cắp mật khẩu hay các thông tin nhạy cảm khác. Biến thể của
sniffer là các chƣơng trình nghe lén bất hợp pháp nhƣ: công cụ nghe lén yahoo, ăn cắp
mật khẩu của thƣ điện tử,…
c) Tấn công chiếm quyền root
Kiểu tấn công chiếm quyền root (User to Root) viết tắt là U2R, 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ị) vào hệ thống một cách bất hợp pháp [8]. Cách thức phổ biến
của kiểu tấn công này là gây tràn bộ đệm.
14. 6
Kiểu tấn công này ít gặp hơn so với hai kiểu tấn công DoS và probe. Tuy nhiên,
đây cũng là loại tấn công rất nguy hiểm do kẻ tấn công chiếm đƣợc quyền cao nhất và
chúng có thể kiểm soát toàn bộ hệ thống.
d) Tấn công điều khiển từ xa
Đây là kiểu tấn công điều khiển từ một máy tính từ xa có tên tiếng anh là
“remote to local” hay R2L. Ban đầu, kẻ tấn công không có tài khoản trong hệ thống
nhƣng chúng lại cố gắng gửi các gói tin đến một máy tính trong một hệ thống thông
qua mạng. Sau đó, chúng khai thác các lỗ hổng bảo mật để truy cập trái phép nhƣng
với tƣ cách của một ngƣời dùng cục bộ [8]. Cách tấn công phổ biến của loại này là
đoán mật khẩu thông qua phƣơng pháp từ điển brute-force, FTP Write,...
1.2.3. Một số giải pháp ngăn chặn xâm nhập truyền thống
Một số các biện pháp ngăn chặn xâm nhập đƣợc sử dụng khá phổ biến nhƣ:
tƣờng lửa (firewall), mã hóa, xác thực, quyền truy cập,…
a) Tường lửa
Tƣờng lửa có thể là phần mềm hay phần cứng đƣợc thiết kế để ngăn chặn những
truy cập trái phép và cho phép các truy cập hợp pháp đƣợc lƣu thông dựa trên một tập
luật và các tiêu chuẩn khác. Ngoài ra tƣờng lửa còn có thể mã hóa, giải mã hay ủy
quyền cho các giao dịch giữa các miền bảo mật khác nhau. Một số loại tƣờng lửa có
chức năng chuyên dụng nhƣ: tƣờng lửa lọc gói, cổng ứng dụng, cổng mức mạch…
Tƣờng lửa có một số điểm yếu nhƣ:
(i) Không chống đƣợc các tấn công từ bên trong mạng. Tƣờng lửa luôn giả sử
rằng kẻ xấu chỉ ở bên ngoài mạng, còn mọi trạm bên trong mạng là đánh tin cậy.
(ii) Không chống đƣợc sự lây nhiễm và phá hoại của các chƣơng trình virus hay
mã độc.
(iii) Không chống đƣợc các tấn công kiểu bỏ qua. Tƣờng lửa cho rằng mọi kết
nối giữa bên trong và ngoài mạng đều cần đi qua tƣờng lửa, nhƣng thực tế vẫn có một số
15. 7
kết nối không qua tƣờng lửa do bản thân các tổ chức tạo nên.
b) Mã hóa dữ liệu
Mã hóa dữ liệu là phƣơng pháp bảo vệ thông tin dữ liệu bằng cách chuyển dữ
liệu từ dạng thông thƣờng sang dạng bị mã hóa không thể đọc đƣợc, nhƣng có thể đƣa
về dạng ban đầu đƣợc nhờ một hình thức giải mã tƣơng ứng. Tác dụng của nó là ngăn
chặn việc nghe trộm và chỉnh sửa dữ liệu trên đƣờng truyền, bên thứ ba có thể lấy đƣợc
các gói tin đã mã hóa, nhƣng không thể đọc đƣợc nội dung thông điệp từ các gói tin
này. Ngăn chặn việc giả mạo thông tin và đảm bảo tính không thể phủ nhận của an toàn
mạng. Tƣơng ứng với mỗi cách mã hóa là một cách giải mã nhất định, bao gồm thuật
toán và bộ khóa mã là bí mật.
c) Xác thực
Xác thực (authentication) là quá trình xác định xem ngƣời dùng đang truy cập
vào hệ thống có phải là ngƣời dùng hợp lệ hay không.
d) Quyền truy cập
Quyền truy cập là mức bảo vệ trong cùng. Sau khi xác thực thành công, ngƣời
dùng có thể truy cập vào hệ thống. Tùy vào từng ngƣời dùng cụ thể mà hệ thống sẽ
phân quyền truy cập, sử dụng hệ thống khác nhau.
1.3. Hệ thống phát hiện xâm nhập mạng
Mặc dù, bản thân mỗi hệ thống máy tính đều có những cơ chế bảo mật riêng
nhằm chống lại và ngăn chặn những xâm nhập trái phép nhƣng những giải pháp bảo
mật nhƣ firewall, mã hóa dữ liệu,…chƣa đủ mạnh để có thể phát hiện, cảnh báo, ngăn
chặn đƣợc những cuộc tấn công mới, ngày càng tinh vi hơn. Vấn đề đặt ra là cần phải
xây dựng một hệ thống giám sát chuyên biệt, có khả năng phát hiện và đƣa ra cảnh báo
sớm về các nguy cơ tấn công. Các hệ thống có nhiệm vụ nhƣ vậy đƣợc gọi là hệ thống
phát hiện xâm nhập.
1.3.1. Định nghĩa
16. 8
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 hành vi 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, các chính sách sử dụng đƣợc chấp nhận hoặc dựa trên tiêu chuẩn bảo mật [8].
Hệ thống phát hiện xâm nhập mạng (Intrusion Detetion System) là một hệ thống
(có thể là thiết bị phần cứng hay phần mềm) nhằm giám sát lƣu lƣợng mạng theo dõi,
thu thập thông tin để phát hiện xâm nhập mạng và đƣa ra cảnh báo.
1.3.2. Phân loại hệ thống phát hiện xâm nhập mạng
Hệ thống IDS có thể đƣợc phân loại dựa trên cách thu thập dữ liệu giám sát
hoặc dựa trên phƣơng pháp phân tích [4].
Theo cách phân loại thứ nhất thì IDS đƣợc chia thành hai dạng hệ thống phát
hiện ở mức mạng NIDS (Network -based IDS) và hệ thống phát hiện xâm nhập ở mức
máy trạm chủ HIDS (Host – based IDS)
Hệ thống phát hiện xâm nhập ở mức mạng (Network – based IDS)
NIDS là một hệ thống độc lập, xác định các truy cập trái phép bằng cách kiểm
tra các luồng thông tin trên mạng và giám sát nhiều máy trạm. NIDS truy cập vào
luồng thông tin trên mạng bằng cách kết nối vào các Hub, Switch đƣợc cấu hình Port
mirroring hoặc Network tap để bắt các gói tin, phân tích nội dung các gói tin và từ đó
sinh ra các cảnh báo hoặc phát hiện tấn công.
Port mirroring đƣợc sử dụng trong một Switch mạng để gửi một bản sao của tất
cả các gói tin trên mạng khi nó đi qua cổng của Switch tới một thiết bị giám sát mạng
trên cổng khác của Switch đó. Nó thƣờng đƣợc dùng trong các thiết bị mạng cần giám
sát luồng trên mạng, ví dụ nhƣ hệ thống IDS, Port mirroring trên Switch của Cisco
System thƣờng đƣợc gọi là Switched Port Analyzer (SPAN) hoặc 3Com là Roving
Analysis Port (RAP).
Network tap là thiết bị phần cứng dùng để truy cập vào luồng dữ liệu đi ngang
17. 9
qua một mạng máy tính. Trong nhiều trƣờng hợp, nó đƣợc xem nhƣ là một thành phần
thứ ba để giám sát luồng dữ liệu trao đổi giữa hai điểm mạng, điểm A và điểm B. Một
network tap có ít nhất ba cổng kết nối, một cổng A, một cổng B, và một cổng giám sát.
Để đặt Network tap giữa điểm A và điểm B, cáp mạng giữa hai điểm A, B đƣợc thay
thế bằng một cặp dây, một dây đấu cổng A và dây kia đấu cổng B. Network tap cho
qua tất cả các dữ liệu giữa A và B vì thế giao tiếp giữa A và B vẫn diễn ra bình thƣờng,
tuy nhiên dữ liệu trao đổi đã bị Network tap sao chép và đƣa vào thiết bị giám sát
thông qua cổng giám sát.
Hình 1.1 Hệ thống phát hiện xâm nhập NIDS
Tuy nhiên, nhƣợc điểm của hệ thống NIDS là giới hạn băng thông và có thể xảy
ra hiện tƣợng tắc nghẽn cổ chai khi lƣu lƣợng mạng hoạt động ở mức cao.
Hệ thống phát hiện xâm nhập ở mức máy trạm chủ (Host – based IDS)
HIDS thƣờng là một phần mềm chạy trên các trạm làm việc để giám sát tất cả
các hoạt động trên máy trạm. Hệ thống này phân tích thông tin thu đƣợc trong nội bộ
hệ thống, vì vậy nó cung cấp một cơ chế phân tích toàn diện các hoạt động và phát hiện
một cách chính xác các thành phần tấn công.
18. 10
Hình 1.2 Hệ thống phát hiện xâm nhập HIDS
Nhƣợc điểm của HIDS là việc thu thập dữ liệu xảy ra trên mỗi trạm máy chủ và
ghi vào log do đó có thể làm giảm hiệu năng mạng.
Theo cách phân loại thứ hai thì IDS đƣợc chia làm hai dạng phát hiện dấu hiệu
dựa vào đặc trƣng (của cuộc xâm nhập) hay dựa vào dấu hiệu (Signature-based IDS)
và dựa vào bất thƣờng (Anomaly-based IDS).
Hệ thống phát hiện xâm nhập dựa vào đặc trưng (Signature-based IDS)
Hệ thống IDS loại này dựa vào các dấu hiệu của các cuộc xâm nhập. Những dấu
hiệu đó có thể là thông tin về các kết nối nguy hiểm đã biết trƣớc. Hệ thống sẽ mô hình
hóa các dấu hiệu của các cuộc xâm nhập đã biết và bằng việc so sánh thông tin của các
gói tin đến với các dấu hiệu này để phát hiện ra các hoạt động đáng ngờ và đƣa ra cảnh
báo cho hệ thống.
Ƣu điểm của hệ thống này là rất hiệu quả trong việc phát hiện tấn công đã biết
với tỷ lệ cảnh báo sai thấp. Tuy nhiên, nhƣợc điểm chính của hệ thống là chỉ phát hiện
đƣợc những cuộc tấn công đã biết, thƣờng xuyên cập nhật các đặc trƣng (dấu hiệu) về
các cuộc tấn công mới và thời gian phát hiện tăng khi cơ sở dữ liệu lớn.
Hệ thống phát hiện xâm nhập dựa vào bất thường (Anomaly-based IDS)
Ý tƣởng của cách tiếp cận này xuất phát từ giả thiết “Dấu hiệu của các cuộc tấn
19. 11
công khác biệt với dấu hiệu của những trạng thái mạng được coi là bình thường”. Khi
đó, việc phát hiện sẽ diễn đƣợc tiến hành qua hai giai đoạn: giai đoạn huấn luyện (pha
huấn luyện) và gia đoạn phát hiện (pha phát hiện). Tại pha huấn luyện sẽ xây dựng một
hồ sơ về các hoạt động bình thƣờng (thông số chuẩn). Sau đó tại pha phát hiện sẽ tiến
hành so khớp các quan sát (gói tin) với hồ sơ từ đó xác định dấu hiệu bất thƣờng.
Ƣu điểm của hệ thống này là hiệu quả trong việc phát hiện các mối nguy hiểm
không đƣợc biết trƣớc. Những năm gần đây, hƣớng tiếp cận này đang thu hút rất nhiều
sự quan tâm của các nhà nghiên cứu [5][17]. Do đó, luận văn cũng tập trung vào hƣớng
tiếp cận này.
1.4. Một số cách tiếp cận cho bài toán phát hiện xâm nhập
Trong phần này luận văn sẽ điểm qua một số cách tiếp cận phổ biến cho bài toán
phát hiện xâm nhập mạng nhƣ phát hiện xâm nhập dựa vào luật, dựa vào phân tích
thống kê hay dựa vào các thuật toán học máy.
1.4.1. Cách tiếp cận dựa vào luật
Phát hiện xâm nhập dựa vào luật (rule-based) là một trong những phƣơng pháp
ra đời từ rất sớm có ứng dụng rộng rãi và phổ biến nhất [20]. Đó là một trong những
cách tiếp cận dựa vào dấu hiệu xâm nhập.
Quá trình phát hiện xâm nhập dựa tập luật thƣờng đƣợc thực hiện nhƣ sau:
Bƣớc 1: Hệ thống tiến hành trích chọn những dấu hiệu xâm nhập từ những dấu
hiệu xâm nhập của các cuộc tấn công trƣớc đó.
Bƣớc 2: Xây dựng cơ sở dữ liệu các luật về các kiểu xâm nhập đó với định dạng
nhƣ sau:
if {condition} then {atc}
Trong đó:
o condition: các dấu hiệu (đặc trƣng) liên quan tới các kiểu xâm nhập
20. 12
nhƣ: duration, protocol, source port, destination port, service,...
o atc: kiểu tấn công.
Bƣớc 3: Hệ thống sử dụng các thuật toán so khớp để phát hiện xâm nhập.
Ví dụ:
Luật quy định các kiểu tấn công dos.
if(duration = “0:0:1” and protocol = “finger” and source_port = 18982 and
destination_port = 79 and source_ip = “9.9.9.9” and destination_ip =
“172.16.112.50” and service =“private”) then (attack name = “dos”).
Luật quy định các kiểu tấn công probe.
if(duration = “0:0:1” and protocol = “telnet” and source_port = 18982 and
destination_port = 79 and source_ip = “9.9.9.9” and destination_ip =
“172.16.112.50” and service =“fpt”) then (attack name = “probe”).
Ƣu điểm của hệ thống phát hiện dựa vào luật là dễ cài đặt, dễ thêm các luật mới
và đơn giản trong việc sử dụng. Khi hệ thống mạng đứng trƣớc những nguy cơ tấn
công mới, ngƣời quản trị chỉ việc cập nhật thêm các luật chƣa có vào cơ sở dữ liệu.
Phƣơng pháp này có tỉ lệ phát hiện nhầm rất thấp vì nó dùng cách phân tích gói tin và
so sánh với mẫu đã có.
Tuy nhiên, nhƣợc điểm chính của cách tiếp cận này là không phát hiện đƣợc
những mẫu tấn công mới chƣa đƣợc biết trƣớc. Bên cạnh đó, hệ thống phải liên tục cập
nhật các luật về các cuộc tấn công mới. Nếu cơ sở dữ liệu chứa luật lớn thì thời gian
phát hiện cũng tăng theo.
1.4.2. Cách tiếp cận dựa vào thống kê
Phát hiện xâm nhập dựa vào thống kê là một trong những phƣơng pháp điển
hình cho cách tiếp cận phát hiện dựa vào bất thƣờng và đƣợc áp dụng rộng rãi trong
các hệ thống phát hiện xâm nhập từ nhiều thập kỷ này. Hệ thống này hoạt động trên
nguyên tắc quan sát hoạt động của đối tƣợng và sinh ra các hồ sơ biểu diễn hành vi của
21. 13
chúng [17]. Đặc biệt, đối với mỗi đối tƣợng, hệ thống luôn duy trì hai loại hồ sơ là hồ
sơ hoạt động hiện tại (current profile) và hồ sơ lƣu trữ (stored profile). Nhƣ vậy, mỗi
sự kiện diễn ra, hệ thống cập nhật hồ sơ hiện tại và thƣờng xuyên tính toán một điểm
bất thƣờng bằng cách so sánh hồ sơ hiện tại với hồ sơ đƣợc lƣu trữ. Nếu điểm số bất
thƣờng cao hơn một ngƣỡng nhất định thì hệ thống sẽ đƣa ra cảnh báo.
Haystack [17] là một trong những hệ thống đơn giản nhất áp dụng phân tích
thống kê cho việc phát hiện bất thƣờng. Các tham số của hệ thống đƣợc mô hình hóa
nhƣ các biến độc lập hay biến ngẫu nhiên Guassian. Sau đó, Haystack định nghĩa một
miền giá trị tiêu chuẩn (thông số trong thời điểm hoạt động bình thƣờng) cho mỗi
thuộc tính. Nếu trong suốt một phiên làm việc, một đặc trƣng nằm ngoài miền giá trị
tiêu chuẩn, thì điểm số cho đối tƣợng đó tăng lên. Nếu điểm số vƣợt quá ngƣỡng cho
phép thì đƣa ra cảnh báo.
Ƣu điểm của phƣơng pháp phát hiện dựa vào thống kê là không đỏi hòi kiến
thức về các lỗ hổng bảo mật hay các cuộc xâm nhập. Tuy nhiên, nhƣợc điểm chính của
phƣơng pháp này là rất khó xác định ngƣỡng cảnh báo. Bên cạnh đó, việc xác định
phân bố thống kê phù hợp với hành vi của hệ thống và ngƣời cũng là một thách thức vì
không thể sử dụng các phƣơng pháp thống kê đơn giản để mô hình hóa mọi hành vi.
1.4.3. Cách tiếp cận dựa vào học máy
Trong vài năm trở lại đây, một cách tiếp cận mới dựa vào các thuật toán học
máy cho việc phát hiện bất thƣờng trong mạng đang rất đƣợc quan tâm, đầu tƣ và
nghiên cứu. Trong các nghiên cứu [5][17] chỉ ra rằng, các hệ thống phát hiện dựa vào
các thuật toán học máy không chỉ phát hiện tốt những cuộc tấn công đã biết mà còn có
khả năng phát hiện tốt những cuộc tấn công mới với tỷ lệ cảnh báo sai thấp.
Dƣới đây, luận văn sẽ trình bày qua một số nghiên cứu gần đây sử dụng các
thuật toán học máy có giám sát cho bài toán phát hiện xâm nhập mạng nhƣ: mạng
Bayes, hồi quy logistic, máy véc-tơ hỗ trợ, mạng SOM, và mạng nơ-ron nhân tạo.
22. 14
a) Mạng Bayes
Mạng Bayes [17] là mô hình đồ thị thể hiện mối quan hệ nguyên nhân - kết quả,
dựa chủ yếu trên lý thuyết xác suất có điều kiện kết hợp với lý thuyết đồ thị để giải
quyết hai vấn đề quan trọng là tính không chắc chắn và tính phức tạp. Do đó, mạng
Bayes đã đƣợc ứng dụng rộng rãi trong nhiều bài toán.
Mạng Bayes hoạt động trên nguyên tắc mô tả mối quan hệ phụ thuộc giữa các
biến, nó có thể hoạt động đƣợc trong trƣờng hợp dữ liệu không đầy đủ và phân bố
không đều nhƣ dữ liệu mạng. Ƣu điểm của mạng Bayes là tính ổn định với dữ liệu
đồng thời nó có khả năng đoán trƣớc đƣợc kết quả của một hành vi do sử dụng mối
quan hệ nhân quả. Các hệ thống phát hiện bất thƣờng dựa trên mạng Bayes là mô hình
của Valdes, có khả năng phát hiện các chuỗi tấn công phân tán trong khi từng tấn công
tách biệt không sinh ra cảnh báo. Mô hình này sử dụng hệ thống Bayes để xây dựng
mối quan hệ nguyên nhân kết quả giữa tấn công và các yếu tố quan sát. Sau đó dựa trên
phân bố xác suất của các yếu tố quan sát đƣợc để tính xác suất có tấn công.
Việc sử dụng mạng Bayes cho phát hiện bất thƣờng có ƣu điểm là giảm đƣợc tỷ
lệ cảnh báo sai. Tuy nhiên, mạng có hạn chế là hiệu suất hoạt động giảm khi các yếu tố
quan sát tăng lên.
b) Hồi quy logistic
Một nghiên cứu gần đây [1] đã đề xuất một mô hình phát hiện xâm nhập dựa
vào hồi quy logistic. Các tác giả đã nghiên cứu sự phụ thuộc giữa biến trả lời (nhãn của
các cuộc tấn công) và các biến dự báo (dấu hiệu của các cuộc tấn công) bằng cách xây
dựng một hàm giả thiết. Mặt khác, mô hình phân loại logistic chỉ thực hiện tính toán
trên các đặc trƣng dạng số, vì vậy, nhóm nghiên cứu đã tiến hành chuyển hóa các đặc
trƣng dạng phi số về dạng số và sử dụng chuẩn hóa max-min để chuẩn hóa các giá trị
đặc trƣng. Nhóm tác giả tiến hành thực nghiệm nhiều lần trên cả bộ huấn luyện và bộ
test, và đánh giá hiệu suất trong mỗi lần thực nghiệm, từ đó chọn ra những tham số tốt
nhất cho mô hình.
23. 15
c) Máy véc-tơ hỗ trợ
Trong lớp các bài toán phân loại và hồi quy, máy véc-tơ hỗ trợ (Support Vector
Machine) là một trong những thuật toán phân loại tốt nhất hiện nay đặc biệt là đối với
những bài toán phân loại nhị phân. SVM là một kỹ thuật phân loại dựa vào lý thuyết
học thống kê [18]. Ý tƣởng chính của thuật toán này là tìm một siêu phẳng tuyến tính
tối ƣu có khoảng cách giữa hai lớp cần phân loại lớn nhất. Và để tìm đƣợc siêu phẳng
này, SVM phải dựa vào một số véc-tơ đặc biệt đƣợc gọi là véc-tơ hỗ trợ. Cơ sở toán
học của thuật toán này sẽ đƣợc luận văn trình bày chi tiết trong chƣơng 2.
Trong nghiên cứu [18], nhóm tác giả đã xây dựng một mô hình sử dụng SVM
phân loại các mẫu kết nối mạng vào một trong hai lớp “normal” hay “attack”. Nhóm
nghiên cứu sử dụng các hàm nhân khác nhau nhƣ hàm sigmoid, hàm đa thức hay hàm
RBF để ánh xạ dữ liệu huấn luyện sang không gian nhiều chiều hơn. Từ đó tìm đƣợc
siêu phẳng tối ƣu phân loại tốt các mẫu dữ liệu.
d) Mạng nơ-ron nhân tạo
Nghiên cứu đáng chú ý đầu tiên áp dụng mạng nơ-ron nhân tạo cho bài toán
phát hiện xâm nhập mạng đến từ nhóm tác giả Mukkamala, Janoski, Sung [16]. Các tác
giả chọn ra 14000 bản ghi kết nối ngẫu nhiên trong bộ dữ liệu KDD Cup 99 chia thành
hai phần, 7000 kết nối ngẫu nhiên đầu tiên và thuật toán lan truyền ngƣợc (back -
propagation) đƣợc áp dụng cho việc huấn luyện của mô hình. Phần còn lại dùng để
kiểm tra. Nhóm nghiên cứu đã chỉ ra rằng mô hình phát hiện dựa vào mạng nơ-ron đã
phân loại tốt các kết nối là tấn công hay là không tấn công. Tuy nhiên, nghiên cứu này
áp dụng trên một bộ dữ liệu rất nhỏ so với bộ dữ liệu gốc vì vậy để kiểm chứng hiệu
quả của phƣơng pháp cần phải nghiên cứu trên những bộ dữ liệu có kích thƣớc lớn
hơn.
Một nghiên cứu đáng chú ý khác của nhóm tác giả Yacine và Cuppens [2] khi
tiến hành kết hợp mạng nơ-ron và cây quyết định cho phát hiện xâm nhập mạng. Với
việc thiết kế một mạng nơ-ron ba lớp gồm một lớp đầu vào, một lớp ẩn, một lớp đầu ra
24. 16
và sử dụng thuật toán C4.5 để phân loại hai tấn công với số lƣợng ít nhƣ R2L và U2L.
Nhóm tác giả đã chỉ ra rằng mạng nơ-ron có khả năng phát hiện tốt những cuộc tấn
công đã biết trong khi đó cây quyết định lại có khả năng phát hiện tốt những cuộc tấn
công mới. Nhƣng nếu số lƣợng tấn công lớn hoặc các dữ liệu tấn công thƣa khiến giá
trị của các thuộc tính trong dữ liệu lớn dẫn đến bùng nổ tổ hợp ở cây quyết định.
1.4.4. Hƣớng tiếp cận của luận văn
Phần trên, luận văn đã trình bày một số cách tiếp cận cho bài toán phát hiện xâm
nhập mạng. Tuy nhiên, luận văn nhận thấy hƣớng tiếp cận dựa vào bất thƣờng giải
quyết bài toán phát hiện xâm nhập mạng, và cụ thể là áp dụng các thuật toán học máy
trong việc phát hiện bất thƣờng đang rất đƣợc quan tâm, đầu tƣ và nghiên cứu. Bởi
những ƣu điểm của cách tiếp cận này trong việc phát hiện những cuộc tấn công mới.
Trong nghiên cứu này, luận văn sẽ tập trung theo hƣớng tiếp cận dựa vào học máy, và
luận văn lựa chọn nghiên cứu ba thuật toán học máy điển hình và đang nhận đƣợc quan
tâm, nghiên cứu cho bài toán phát hiện xâm nhập mạng gần đây là hồi quy logistic,
máy véc-tơ hỗ trợ, mạng nơ-ron nhân tạo. Từ đó tiến hành thiết kế và áp dụng các thuật
toán học máy giải quyết bài toán phát hiện xâm nhập mạng. Bên cạnh đó, tỷ lệ phát
hiện tấn công trong một số nghiên cứu gần đây [4][7] chỉ đạt hơn 91% với chi phí tính
toán tƣơng đối lớn và thời gian phát hiện chậm. Do đó, luận văn cũng sẽ tập trung vào
hai nhiệm vụ lớn là cải tiến tỷ lệ phát hiện tấn công và giảm bớt chi phí tính toán từ đó
giúp cho thời gian phát hiện tấn công nhanh hơn.
25. 17
Chƣơng 2: Phát hiện xâm nhập mạng dựa vào học máy
Bài toán phát hiện xâm nhập đƣợc mô hình hóa thành bài toán phân lớp nhƣ sau:
Cho một tập dữ liệu liệu gồm N mẫu {x1, y1}, { x2, y2}…, {xN, yN}, trong đó xi
, yi {normal, attack }. Nhiệm vụ đặt ra là xây dựng một mô hình hoặc một giả
thiết h(.) tốt nhất từ tập dữ liệu đã cho để dự đoán phân lớp y0 cho các mẫu dữ liệu mới
x0.
Trong lĩnh vực học máy, ngƣời ta gọi quá trình xây dựng giải thiết từ một tập
huấn luyện cho trƣớc là quá trình học có giám sát. Trong chƣơng này, luận văn sẽ nêu
ra cơ sở lý thuyết và cách áp dụng một số thuật toán học máy có giám sát để giải quyết
bài toán phân loại trên. Cụ thể, luận văn sẽ sử dụng các thuật toán học máy điển hình
nhƣ: hồi quy logistic (Logistic Regression), máy véc-tơ hỗ trợ (Support Vector
Machine), mạng nơ-ron nhân tạo (Artificial Neural Networks).
Quá trình phát hiện dựa vào các mô hình học máy chia làm hai pha: pha huấn
luyện (quá trình huấn luyện) và pha phát hiện (quá trình phát hiện). Sau khi thu bắt gói
tin, ta tiến hành đƣa gói tin qua mô hình phát hiện xâm nhập (mô hình dựa vào học
máy). Tại pha phát hiện mô hình sẽ đƣa ra dự báo các gói tin đi qua mạng là các gói tin
kết nối bình thƣờng hay là các gói tin tấn công. Hình 2.1 dƣới đây mô phỏng quá trình
phát hiện xâm nhập dựa vào các mô hình học máy.
26. 18
Pha huấn luyện Pha phát hiện
Hình 2.1 Quá trình phát hiện xâm nhập dựa vào học máy
2.1. Hồi quy logistic
Hồi quy logistic đƣợc phát triển bởi nhà thống kê học David R.Cox vào những
năm 1970, nghiên cứu sự phụ thuộc của một biến trả lời (response variable) vào một
hoặc nhiều biến dự báo (predictors). Ngày nay, mô hình hồi quy đƣợc áp dụng rộng rãi
trong nhiều bài toán học máy, đặc biệt là các bài toán phân loại.
Với một tập dữ liệu liệu gồm N mẫu {x1, y1}, { x2, y2}…, {xN, yN}, trong đó xi là
mẫu thứ i trong tập huấn luyện và xij là giá trị của đặc trƣng j trong mẫu thứ i. Đối với
mô hình hồi quy logistic thì mỗi xi sẽ đƣợc bổ xung thêm một đặc trƣng xi0 1, khi đó
xi
1
D
.
Dữ liệu huấn luyện
Dữ liệu kiểm tra
Trích chọn đặc trƣng
Tiền xử lý dữ liệu
Mô hình huấn luyện
Trích chọn đặc trƣng
Tiền xử lý dữ liệu
Dự đoán
Normal Attack
Mô hình
sau khi huấn luyện
27. 19
Với mỗi đối tƣợng x0, mô hình hồi quy logistic đƣa ra hàm dự báo (hàm giả
thiết) (x0):
= g( ) = (2.1)
Trong đó:
- g(z) = là hàm sigmoid
- là tham số của mô hình.
Hình 2.2 Hình dạng hàm sigmoid
Khi đó, mô hình hồi quy logistic đƣợc xây dựng nhƣ sau [1]:
P(y=1| x0; ) = (x0)
P(y=0| x0; ) = 1- (x0)
Gọi ˆ
là ƣớc lƣợng hợp lý cực đại của tham số . Giả sử biết véc-tơ tham số ˆ
,
ta có quy tắc phân loại sau:
Xếp đối tƣợng x0 vào lớp 1 (attack) nếu:
P(y=1|x0; ̂) > P(y=0| x0; ̂) ̂(x0) > ̂ x0 > 0
28. 20
Ngƣợc lại thì x0 đƣợc xếp vào lớp 0 (normal).
Giả sử rằng tập dữ liệu huấn luyện đƣợc sinh độc lập nhau, khi đó log hợp lý
của dữ liệu với tham số là:
l( ) = ∑ (2.2)
Đặt J( ) là hàm mục tiêu:
J( ) = (2.3)
Trong đó:
- R( ) là hàm hiệu chỉnh. Đối với mô hình hồi quy logistic ngƣời ta
hay sử dụng các hàm hiệu chỉnh ở dạng chuẩn L1, L2 hoặc
hyperbolic – L1.
- Tham số dùng để điều khiển tính cân bằng của mô hình trong việc
phù hợp với dữ liệu quan sát và việc hiệu chỉnh của tham số.
Nhƣ vậy, ta phải tìm để tối thiểu hóa hàm mục tiêu. Và một trong những thuật
toán phổ biến nhất để giải bài toán tối ƣu trên là sử dụng thuật toán giảm gradient.
Ý tƣởng của thuật toán giảm gradient nhƣ sau:
Ta xuất từ một giá trị khởi đầu nào đó của và lặp để cập nhật theo công thức
: = - J( ),
trong đó J( ) là gradient của J( ):
J( ) = ( )
Mỗi tham số đƣợc cập nhật bởi nguyên tắc:
: = - , j = 0, 1, …D.
Mã giả cho thuật toán giảm gradient ngẫu nhiên cho hồi quy logistic áp dụng
cho bài toán phát hiện xâm nhập mạng:
29. 21
Đầu vào: (x1, y1), (x2, y2), …, (xN, yN)
Đầu ra:
⃗
Lặp {
Trộn ngẫu nhiên tập huấn luyện
For i =1 to N do
- [ ]
} đến khi hội tụ;
2.2. Máy véc-tơ hỗ trợ
Máy véc-tơ hỗ trợ (Support Vector Machine), viết tắt là SVM, là một thuật toán
phân lớp điển hình trong lĩnh vực học máy. SVM phân lớp dựa trên lý thuyết học thống
kê đƣợc các tác giả Vapnick và Corted đề xuất năm 1993, phát triển mạnh mẽ vào năm
1995 [12]. Đây cũng là một trong những thuật toán học có giám sát đƣợc áp dụng
nhiều nhất cho các bài toán phân lớp và đạt hiệu quả cao nhất hiện nay. Ƣu điểm nổi
bật của thuật toán SVM là không quan tâm tới số chiều của dữ liệu.
Đối với bài toán phát hiện xâm nhập đã đƣợc trình bày ở trên. Các mẫu dữ liệu
cũng sẽ đƣợc phân vào một trong hai lớp normal và attack. Tuy nhiên, ta sẽ gán nhãn
-1 đối với các mẫu dữ liệu “normal” và +1 đối với mẫu dữ liệu “attack” nhƣ vậy yi
{-1, +1} thay vì yi {0, 1} nhƣ mô hình hồi quy logistic.
Ý tƣởng chính của máy véc-tơ hỗ trợ là xây dựng một siêu phẳng hoặc một tập
hợp các siêu phẳng trong không gian nhiều chiều hoặc vô hạn chiều để phân tách đƣợc
một tập hợp các mẫu (huấn luyện) thuộc về hai lớp tách biệt. Với một mẫu dữ liệu mới,
SVM sẽ biểu diễn mẫu dữ liệu đó trong không gian và dự đoán mẫu dữ liệu đó thuộc
về lớp nào trong hai lớp +1 hay -1, và điều này phụ thuộc vào vị trí của điểm đó nằm ở
phía nào của siêu phẳng. Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng
nằm càng xa các điểm dữ liệu của tất cả các lớp (hàm lề) càng tốt, vì lề càng lớn thì sai
30. 22
số của thuật toán phân loại càng bé. Hay siêu phẳng phân loại tốt nhất là siêu phẳng có
lề (margin) lớn nhất giữa hai lớp. Những điểm dữ liệu gần biên nhất đƣợc gọi là các
vec-tơ hỗ trợ (support vector). Trong hình 2.3, những điểm đƣợc khoanh tròn đƣợc gọi
là các support vector. Điểm thú vị nhất của thuật toán này là siêu phẳng cần tìm chỉ
phụ thuộc vào các support vector, chúng ta có thể bỏ những điểm dữ liệu khác mà
không ảnh hƣởng gì tới việc phân loại vì vậy thuật toán mang tên “Support Vector
Machine” để thể hiện ý nghĩa quan trọng của các support vector này.
Hình 2.3. Một siêu phẳng phân chia dữ liệu học thành hai lớp
với khoảng cách biên lớn nhất.
2.2.1. SVM tuyến tính
Phƣơng trình siêu phẳng đi qua một điểm x trong không gian có dạng:
+ b = 0,
trong đó: là một véc-tơ pháp tuyến của siêu phẳng.
Tham số là khoảng cách giữa gốc tọa độ và siêu phẳng theo hƣớng véc-tơ
pháp tuyến .
Để tìm đƣợc siêu phẳng có biên lớn nhất, ta giả sử tất cả các điểm dữ liệu đều
thỏa mãn điều kiện sau [18]:
với yi = 1
với yi = -1
31. 23
Hay có thể viết gọn lại là:
yi ( i + b) 1 i = ̅̅̅̅̅̅ (2.4)
Nhƣ vậy, siêu phẳng tối ƣu xác định bằng cách giải bài toán tối ƣu bậc hai:
,
min b
2
(2.5)
với ràng buộc yi ( i + b) 1 i = ̅̅̅̅̅̅
Nếu số thuộc tính của mẫu dữ liệu là lớn, chúng ta có thể đơn giản hóa phép tính
bằng cách chuyền bài toán với điều kiện Tucker tƣơng đƣơng với phƣơng pháp
Lagrange cho (2.5) và giải bài toán sau:
2
1
[ 1]
2
N
i i
i=1
θ,b α 0
- α y ( •θ +b )-
max
min
i
x (2.6)
Với = ( , , …, ), 0 là nhân tử Lagrange tƣơng ứng với mỗi điểm dữ
liệu huấn luyện .
Đặt L( , b, ) =
2
1
[ 1]
2
N
i i
i=1
- α y ( •θ +b )-
i
x (2.7)
Vi phân từng phần (2.7) lần lƣợt với , b ta thu đƣợc:
( , , ) = 0 =
1
N
L
b yi i
i
x
i
1
( , , ) = =
N
i i
i
L
b b y
b
(2.8)
Từ (2.6), (2.7), (2.8) ta có bài toán tối ƣu sau:
1 1
1 1
1
( )
2
1
( )
2
N N N
T
i i j i j
i i j=1
N N N
i i j i j
i i j=1
L α α α y y
α α α y y ,
i j
i j
x x
K x x
(2.9)
với ràng buộc
1
0, 0
N
i i i
i
y
.
Số lƣợng biến trong bài toán tối ƣu trên chính là số mẫu trong tập dữ liệu huấn
32. 24
luyện.
Giả sử ta tìm đƣợc cặp nghiệm tối ƣu , . Theo lý thuyết Karush Tucker,
điều kiện để xảy ra bất đẳng thức (2.4) tƣơng ứng mỗi cặp huấn luyện vào-ra (xi, yi) khi
và chỉ khi > 0 và mẫu huấn luyện này chính là một véc-tơ hỗ trợ (support vector).
Giải (2.9) với = ( ) ta tìm đƣợc các support vector của hai lớp
dƣơng (+1) và lớp âm (-1). Khi đó, tính đƣợc b* theo công thức:
* *
1
( )
2
N
j j
j=1
b y +
r j s j
x x x x (2.10)
với xr, xs lần lƣợt là các support vector của lớp (+1) và lớp (-1).
SVM lề mềm
Nếu không tồn tại siêu phẳng nào có thể phân tách đƣợc hai lớp dữ liệu thì sử
dụng thuật toán “lề mềm” sẽ chọn một siêu phẳng phân tách các điểm dữ liệu tốt nhất
có thể, và đồng thời cực đại hóa khoảng cách giữa các siêu phẳng với các mẫu dữ liệu
đƣợc gán đúng nhãn. Ý tƣởng của phƣơng pháp này là sử dụng các biến “bù”
( 0), dùng để đo độ sai lệch của mẫu xi.
33. 25
Hình 2.4. Dữ liệu không phân tách tuyến tính
Ràng buộc (2.4) đối với trƣờng hợp dữ liệu không phân tách tuyến tính là:
yi ( i + b) 1 - , i = ̅̅̅̅̅̅ (2.11)
Khi đó, bài toán tối ƣu trở thành:
2
1
2
i
N
i
i=1
θ,
+C
min
(2.12)
với ràng buộc: yi ( i + b) 1 - , i = ̅̅̅̅̅̅
C là một tham số phản ánh độ lớn của lỗi phân loại và thƣờng đƣợc chọn theo
từng bài toán.
Giải bài toán tối ƣu (2.12) sử dụng phƣơng pháp nhân tử Lagrange.
, ,
b
min max
L( ,b, , , )=
2
1
1
( [ ] 1 )
2
N N N
T
i i i i i i
i=1 i i=1
+C y b
i
x
Tải bản FULL (71 trang): https://bit.ly/3fQM1u2
Dự phòng: fb.com/KhoTaiLieuAZ
34. 26
(2.13)
trong đó , là các nhân tử Lagrange.
Đạo hàm L( , b, , , ) theo các biến , b, ta thu đƣợc:
( , , , , ) = 0 =
1
N
L
b yi i
i
x
i
1
( , , , , ) =0 =
N
i i
i
L
b b y
b
( , , , , ) = 0 i
i C
L
b
(2.14)
2.2.2. SVM phi tuyến tính
Trên đây, luận văn đã trình bày mô hình SVM cho trƣờng hợp dữ liệu phân tách
tuyến tính nhƣng đối với trƣờng hợp dữ liệu không phân tách tuyến tính (hình 2.4), tức
là không tìm đƣợc một siêu phẳng nào có thể phân tách đƣợc hai lớp dữ liệu thì bài
toán tối ƣu (2.4) không còn đúng trong trƣờng hợp này.
Năm 1995, Cortes và Vapnik đề xuất một ý tƣởng mới cho việc phân lớp với dữ
liệu không phân tách tuyến tính sử dụng SVM đó là ta sẽ tiến hành ánh xạ véc-tơ đầu
vào x sang một không gian có số chiều lớn hơn sử dụng hàm [12].
Khi đó, trong không gian mới này, ta có thể xây dựng một siêu phẳng phân tách
tối ƣu hai lớp dữ liệu (hình 2.5).
Tiền xử lý dữ liệu với: x (x)
Học cách ánh xạ từ (x) sang y:
(x) = (x) + b (2.15)
Ví dụ:
2 3
:
Tải bản FULL (71 trang): https://bit.ly/3fQM1u2
Dự phòng: fb.com/KhoTaiLieuAZ
35. 27
2 2
( , ) ( , , ): ( , 2 , )
1 2 1 2 3 1 1 2 2
x x z z z x x x x
Hình 2.5. Hàm ánh xạ từ không gian hai chiều sang không gian ba chiều
SVM sử dụng hàm nhân (Kernel) để ánh xạ toàn bộ dữ liệu từ không gian ít
chiều hơn sang không gian nhiều chiều [12].
Hàm Kernel có dạng:
K(xi, xj) = ( )T
( ) (2.16)
Một số hàm Kernel thƣờng dùng là:
o Hàm Kernel tuyến tính: ( , ) 1 T
i j i j
K x x x x
o Hàm Kernel đa thức: ( , ) (1 )
T p
i j i j
K x x x x
o Hàm Kernel RBF (Radial Basis Function):
2
( , )
j
e
i
x x
i j
K x x
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ệ
6732424