SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
1. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
1
2
Một Số Thuật Toán Phân Lớp Và Ứng
Dụng Phát Hiện Xâm Nhập Trái Phép
Nguyễn Đình Chiểu | chieund@tttt.daklak.gov.vn
1
2. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
NỘI DUNG CHÍNH
2
1. ĐẶT VẤN ĐỀ
2. TỔNG QUAN HỆ 2THỐNG PHÁT HIỆN
XÂM NHẬP TRÁI PHÉP
3. MỘT SỐ KỸ THUẬT PHÂN LỚP
4. THỰC NGHIỆM
5. KẾT LUẬN
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 2
3. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
3
ĐẶT VẤN ĐỀ
1. Lý do
2
2. Mục tiêu
3. Đối tượng và phạm vi nghiên cứu
4. Phương pháp nghiên cứu
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 3
4. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
TỔNG QUAN VỀ IDS
4
1. Hệ thống phát hiện xâm nhập
2. Phân loại hệ thống2 phát hiện xâm nhập.
3. Kiến trúc của hệ thống phát hiện xâm nhập
4. Các kỹ thuật phát hiện xâm nhập trái phép.
5. Kỹ thuật khai phá dữ liệu trong phát hiện xâm
nhập trái phép
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 4
5. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Hệ thống phát hiện xâm nhập
5
- Phần cứng và phần mềm.
- Xâm nhập tính toàn vẹn, tính sẵn sàn, tính tin
1. Khái niệm:
cậy của HT.
2
- HT thực hiện giám sát theo dõi, thu thập thông
tin.
- Phân tích, đánh giá.
- Network intrusion detection
2. Phát hiện xâm nhập: system.
- Host-base Intrusion detection
system.
- Ai sẽ giám sát hệ thống IDS?
3. Chính sách của IDS: - Ai sẽ điều hành IDS?
- Xử lý phát hiện như thế nào?
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn
6. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
PHÂN LOẠI IDS
ƯU6ĐIỂM HẠN CHẾ
- Quản lý được phân đoạn - Xãy ra trường hợp báo động giả.
- Không phân tích được lưu lượng
mạng.
đã mã hoá.
- Có tính trong suốt, độc - Phải luôn cập nhật thường xuyên.
2
- Khó biết được việc mạng bị tấn
NIDS lập.
công.
- Cài đặt, bảo trì đơn giản. - Giới hạn về băng thông.
- Hacker vận dụng phân mãnh
- Tránh bị tấn công bởi một
chồng chéo.
host cụ thể.
- Xác định được người dùng. - Hệ điều hành cùng thoả hiệp.
- Phát hiện tấn công trên - HIDS cần thiết lập trên từng host.
một máy. - Không có khả năng phát hiện,
HIDS - Phân tích dữ liệu đã được thăm dò mạng.
mã hoá. - Cần tài nguyên host để thực
- Cung cấp các thông tin hiện.
về host. - Tấn công từ chối dịch vụ (Dos).
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 6
7. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KIẾN TRÚC CỦA IDS
1. Quá trính thực7 hiện
của IDS
Ngăn chặn (Prevention)
Mô phỏng
2
Giám sát xâm nhập (IM)
Phân tích
Kiểm tra xâm nhập (IS)
Thông báo
Trả lời (Response)
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 7
8. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KIẾN TRÚC CỦA IDS
2. Cơ sở hạ tầng 8
Nhiệm vụ của IDS
IDS
2
Thông
Giám
báo
sát
Hệ thống bảo Thêm cơ sở hạ tầng IDS
vệ
IDS; Data mining; Ba thuật toán Naïve Bayes, DC, SVM; Nguyễn 8
9. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KIẾN TRÚC CỦA IDS
3. Kiến trúc của 9
IDS
2
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 9
10. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KIẾN TRÚC CỦA IDS
4. Giải pháp Kiến10
trúc đa tác
nhân:
2
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 10
11. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
CÁC KỸ THUẬT PHÁT HIỆN XÂM NHẬP TRÁI PHÉP
11
1) Phát hiện dựa vào dấu hiệu bất thường
2
2) Phát hiện dựa trên sự bất thường
3) Phát hiện dựa và phân tích trạng thái giao thức.
4) Phát hiện dựa trên mô hình.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 11
12. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KỸ THUẬT DATA MINING TRONG IDS
12
models
2
Connection/
session records Evaluation
feedback
Packets/
event
(ASCII)
Raw audit data
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 12
13. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
MỘT SỐ KỸ THUẬT PHÂN LỚP
13
1. Tổng quan về khai phá dữ liệu
2. Một số kỹ thuật phân2lớp dữ liệu.
3. Phân lớp dựa trên phương pháp học Naïve Bayes.
4. Phân lớp dựa trên cây quyết định.
5. Kỹ thuật phân loại máy vector hỗ trợ.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 13
14. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
14
Khái niệm về khai phá dữ liệu
Ứng dụng trong khai phá dữ liệu
2
Các bài toán trong khai phá dữ liệu
Tiến trình trong khai phá dữ liệu
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 14
15. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
MỘT SỐ KỸ THUẬT PHÂN LỚP
15
Khái niệm về phân lớp.
Mục đích của phân lớp.
2
Các tiêu chí đánh giá thuật toán phân lớp.
Các phương pháp đánh giá độ chính xác của
mô hình phân lớp.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 15
16. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Phân lớp Naïve Bayes
16
Học theo xác suất:
• Tính các xác suất rõ ràng cho các giả thuyết.
2
• Một trong những hướng thiết thực cho một số vấn
đề thuộc phương pháp học.
Có tăng trưởng:
• Mỗi mẫu huấn luyện có thể tăng/giảm dần khả
năng đúng của một giả thuyết.
• Tri thức ưu tiên có thể kết hợp với dữ liệu quan sát.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 16
17. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Phân lớp Naïve Bayes
17
Dự đoán theo xác suất: Dự đoán nhiều giả thuyết,
trọng số cho bởi khả năng xảy ra của chúng.
2
Chuẩn: Tất cả loại phân lớp nào cũng theo một chuẩn
nhất định. Nhằm để tạo ra quyết định ưu tiên đối
với từng thuật toán.
Thuật toán này dựa theo định lý Bayes để áp dụng:
P(C|X)= P(X|C).P(C)/P(X)
- P(X) là hằng số cho tất cả các lơp.
- P(C) là tần số liên quan của các mẫu thuộc lớp C.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 17
18. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Phân lớp Cây quyết định
18
Là một cây phân cấp có cấu trúc được dùng để phân lớp các
đối tượng dựa vào dãy các luật.
Việc xây dựng cây quyết 2định được tiến hành một cách đề qui.
Lần lượt từ nút gốc đến tận nút lá.
Gốc ● Lá
● Nhánh
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 18
19. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Phân lớp Cây quyết định
19
Hai giai đoạn tạo cây quyết định.
Xây dựng cây:
Bắt đầu, lấy tất cả các mẫu huấn luyện đều ở gốc.
2
Phân chia các mẫu dựa trên các thuộc tính được chọn.
Kiểm tra các thuộc tính được chọn dựa trên một độ đo thông kê hoặc
heuristic.
Thu gọn cây:
Xác định và loại bỏ những nhánh nhiễu hoặc tách khỏi nhóm.
Mỗi một đường dẫn từ gốc đến lá trong cây tạo thành một luật.
Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sự liên quan.
Nút lá giữ quyết định phân lớp dự đoán.
Các luật được tạo dễ hiểu hơn các cây.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 19
20. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Phân lớp Cây quyết định
Thuật toán căn20
bản
Xây dựng một cây đệ qui phân chia và xác định đắc
tính từ trên xuống.
Các thuộc tính được xem rõ ràng, rời rạc.
2
Tham lam (có thể truyền cực đại cục bộ).
∀x 2
Nhiều dạng khác nhau: ID3, C4.5, CART, CHAID.
Điểm khác biệt chính: tiêu chuẩn/thuộc tính phân
chia, độ đo để lựa chọn
Độ lợi thông tin.
Gini index:
∀ x2 - số thống kê bảng ngẫu nhiên
(contingency table statistic).
G- Thống kê (statistic)
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 20
21. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
21
Phân lớp SVM
Máy vector hỗ trợ là một khái niệm trong thống kê khoa học máy tính
cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để
phân loại và phân tích hồi qui.
2
SVM tuyến tính:
Là phân lớp nhị phân, phân biệt giữa lớp + và lớp -. Đây là ý tưởng
phân chia biên rộng.
D = {( xi , yi ) | xi ∈ R , yi ∈ {− 1,1}}
P n
i =1
SVM phi tuyến:
Ánh xạ vector dữ liệu vào không gian chiều cao có số chiều cao hơn
nhiều.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 21
22. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
22
1. Phát biểu bài toán
Thu thập dữ liệu trên mạng
2
Tiền xử lý dữ liệu
Giải nén dữ liệu
Chọn lựa thuộc tính
Xây dựng bộ phân lớp
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 22
23. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
23
a. Thu thập dữ liệu
Tập dữ liệu bao gồm 1 kiểu bình thường, 22 kiểu tấn công.
2
Chia thành 4 lớp: Từ chối dịch vụ (DOS), trinh sát hệ thống
(probe), chiếm quyền hệ thống (U2L), khai thác điểm yếu (R2L).
b. Rút trích dữ liệu
Trong tập dữ liệu KDD Cup 1999 ta trích chọn 10% trong số dữ
liệu này để làm thực nghiệm. Bao gồm 91.059 bảng ghi và có 41
thuộc tính. Phân phối của các bảng ghi như sau:
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 23
24. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
24
2. Kết quả thực nghiệm.
a. Phân lớp dựa trên cây quyết định:
Kết quả Sử dụng cây quyết định như bộ phân lớp nhị phân
2
Thời gian học Thời gian kiểm thử Mức độ đúng (%)
Normal 60,08 0.2 99,91
DoS 55,6 0,18 99,6
Probe 69,38 0,15 98,8
U2R 51,2 0.16 72,7
R2L 75,02 0,19 98,3
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 24
25. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
Lớp 25 Số lượng bảng ghi Tỉ lệ %
Nomal 23872 26,2
DoS 65776 72,2
2
Probe 1042 1,1
U2R 35 0,03
R2L 334 0,3
Tổng cộng 91059 100
c. Xây dựng bộ phân lớp
Xây dựng bộ phân lớp để phát hiện xâm nhập dựa trên ba thuật
toán. Naïve Bayes, Cây quyết định, Support vector machine.
Mục đích đánh giá hiệu quả về hai khía cạnh thời gian và độ
chính xác của thuật toán.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 25
26. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
26
2. Kết quả thực nghiệm.
b. Phân lớp dựa trên naïve bayes:
Thời gian học (s) Thời gian kiểm thử (s)
2 Mức độ đúng (%)
Normal 10,2 3,97 98,8
DoS 10,31 3,85 100
Probe 9,09 3,33 97,0
U2R 9,25 2,68 72,2
R2L 9,41 2,55 97,4
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 26
27. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
27
2. Kết quả thực nghiệm.
c. Phân lớp dựa trên svm:
Kết quả Sử dụng SVM như bộ phân lớp nhị phân
2
Thời gian học Thời gian kiểm thử Mức độ đúng (%)
Normal 3120,11 126,37 99,9
DoS 2481,11 115,36 99,6
Probe 1643,2 100,82 88,7
U2R 593,74 86,73 48,3
R2L 1404,22 96,58 85,2
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 27
28. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
3. Phân tích và bình luận.
28
a. Độ chính xác của ba thuật toán:
120
100 2
80
60
40
20
0 Normal DoS Probe U2R R2L
DC 99.9 99.6 98.8 72.7 98.3
NB 98.8 99.3 97 72.2 97.4
SVM 99.9 100 88.7 48.3 85.2
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 28
29. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
b. Thời gian học mô 29
hình (s) của ba thuật toán.
3500
3000
2
2500
2000
1500
1000
500
0 Normal DoS Probe U2R R2L
DC 60,08 55,6 69,38 51,2 75,02
NB 10,2 10,31 9,09 9,25 9,41
SVM 3120,11 2481,11 1643,2 592,74 1404,22
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 29
30. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
Thực Nghiệm
30
c. Thời gian kiểm thử (s) của ba thuật toán.
140
120
2
100
80
60
40
20
0 Normal DoS Probe U2R R2L
DC 0,2 0,18 0,15 0,16 0,19
NB 3,97 3,85 3,33 2,68 2,55
SVM 126,37 115,36 100,82 86,73 96,58
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 30
31. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KẾT LUẬN
1. Về mặt lý31
luận.
Tổng quan về hệ thống phát hiện xâm nhập
trái phép, các loại hệ thống xâm nhập và các
2
thành phần của hệ thống xâm nhập.
Tổng quan về các kỹ thuật sử dụng trong phát
hiện xâm nhập trái phép: dấu hiệu, sự bất
thường, trạng thái giao thức, kỹ thuật khai phá
dữ liệu.
Đặc biệt nghiên cứu đến 3 thuật toán, DC,
NB, SVM.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 31
32. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
KẾT LUẬN
2. Về mặt thực nghiệm.
32
Dựa trên kỹ thuật phân lớp sử dụng tập dự
liệu mô phỏng tấn công KDD99 và trình bày
2
mô hình bài toán.
Đã đánh giá được độ chính xác và thời gian
của ba thuật toán phân lớp trên tập dữ liệu mô
phỏng.
Qua thực nghiệm kỹ thuật phân lớp cây quyết
định là tốt nhất so với hai thuật toán còn lại.
IDS; Data mining; Ba thuật toán: Naïve Bayes, DC, SVM; Nguyễn 32
33. SECURITY BOOTCAMP 2012 | Make yourself to be an expert!
33
2
XIN CHÂN THÀNH CẢM ƠN
(SCB 2012)
Nguyễn Đình Chiểu | chieund@tttt.daklak.gov.vn
33