Trong đó, công cuộc tìm kiếm và phát hiện ra các cuộc tấn công mạng mới h y chư iết trước là một trong các mục tiêu quan trọng nhất của các hệ thống phát hiện xâm nhập hiện n y.. Do đó l
Trang 1NGUYỄN VIỆT HÙNG
NGHIÊN CỨU ỨNG DỤNG TÍNH TOÁN TIẾN HÓA TRONG PHÂN LOẠI TẤN CÔNG MẠNG
Chuyên ngành: Khoa học máy tính
LUẬN VĂN THẠC SỸ KỸ THUẬT
Hà Nội - Năm 2015
Trang 2Tr ng phụ
NGUYỄN VIỆT HÙNG
NGHIÊN CỨU ỨNG DỤNG TÍNH TOÁN TIẾN HÓA
TRONG PHÂN LOẠI TẤN CÔNG MẠNG Chuyên ngành: Khoa học máy tinh
Mã số: 60 48 01 01
LUẬN VĂN THẠC SỸ NGHIÊN CỨU
Hà Nội - Năm 2015
Trang 3Cán bộ hướng dẫn chính: TS Lương Qu ng Tuấn
Cán bộ chấm phản biện 1:
(Ghi rõ họ, tên, học hàm, học vị)
Cán bộ chấm phản biện 2:
(Ghi rõ họ, tên, học hàm, học vị)
Luận văn thạc sĩ được bảo vệ tại:
HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ HỌC VIỆN KỸ THUẬT QUÂN SỰ Ngày tháng năm 2015
Trang 4trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt Nam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật
TÁC GIẢ LUẬN VĂN
NGUYỄN VIỆT HÙNG
Trang 5TRANG PHỤ BÌA
BẢN CAM ĐOAN
MỤC LỤC
TÓM TẮT LUẬN VĂN
DANH MỤC CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Các đóng góp cho đề tài 1
3 Bố cục của luận văn 2
Chương 1 MỘT SỐ VẤN ĐỀ VỀ AN NINH MẠNG 1.1 Giới thiệu về an ninh mạng 3
1.2 Tấn công mạng 4
1.2.1 Các hình thức tấn công cơ bản 4
1.2.1.1 Tấn công chủ động và tấn công bị động 4
1.2.1.2 Tấn công từ bên trong và tấn công từ bên ngoài 5
1.2.2 Các bước tấn công thông thường 5
1.2.3 Các kiểu tấn công mạng 6
1.3 Phòng thủ mạng 7
1.4 Hệ thống phát hiện xâm nhập mạng 8
Trang 61.4.3 Cơ chế phát hiện xâm nhập 9
1.4.3.1 Phát hiện dựa vào dấu hiệu 9
1.4.3.2 Phát hiện dựa trên hành vi bất thường 9
1.4.4 Các mô hình chính của IDS 10
1.4.5 Một số kỹ thuật phát hiện tấn công mạng 12
1.4.5.1 Kỹ thuật Haystack 12
1.4.5.2 Kỹ thuật mạng Neural 12
1.4.5.3 Kỹ thuật khai phá và phân tích dữ liệu kiểm tra 12
1.5 Kết luận chương 1 13
Chương 2 TÍNH TOÁN TIẾN HÓA VÀ BÀI TOÁN PHÂN LOẠI TẤN CÔNG MẠNG 2.1 Giới thiệu về tính toán tiến hoá 14
2.1.1 Giải thuật di truyền 15
2.1.1.1 Các bước thực hiện giải thuật di truyền 15
2.1.1.2 Dạng giả mã của giải thuật di truyền 18
2.1.2 Lập trình di truyền 18
2.1.2.1 Biểu diễn chương trình 21
2.1.2.2 Khởi tạo quần thể 21
2.1.2.3 Hàm thích nghi 22
2.1.2.4 Toán tử di truyền 22
2.1.2.5 Các tham số 25
Trang 72.2.1.1 Học máy 26
2.2.1.2 Khai phá dữ liệu 27
2.2.2 Khai phá dữ liệu trong phát hiện tấn công mạng 31
2.3 Khảo sát một số ứng dụng của tính toán tiến hoá cho phân loại tấn công mạng 33
2.4 Kết luận chương 2 35
Chương 3 ỨNG DỤNG LẬP TRÌNH DI TRUYỀN CHO PHÂN LOẠI TẤN CÔNG MẠNG 3.1 Bộ dữ liệu KDD CUP 1999 36
3.1.1 Giới thiệu chung 36
3.1.2 Các thuộc tính 37
3.1.3 Tập thuộc tính phát hiện 40
3.2 Đề xuất phân loại - lập trình di truyền mới 42
3.2.1 Nhiệm vụ lập trình di truyền và phân loại 42
3.2.2 Các pha huấn luyện 45
3.2.2.1 Các Terminal và Function 45
3.2.2.2 Hàm Fitness 45
3.2.2.3 Các toán tử và tham số di truyền 46
3.2.3 Pha kiểm tra: Phân loại các mẫu tấn công 47
3.3 Thiết kế, cài đặt thực nghiệm 49
3.3.1 Kịch bản thử nghiệm 1 50
Trang 83.3.1.3 Thí nghiệm cho kiểu tấn công DDOS và PROBE 51
3.3.2 Kịch bản thử nghiệm 2 51
3.3.2.1 Thí nghiệm cho kiểu tấn công DDOS 51
3.3.2.2 Thí nghiệm cho kiểu tấn công PROBE 51
3.3.2.3 Thí nghiệm cho kiểu tấn công PROBE và DDOS 52
3.3.3 Kịch bản thử nghiệm 3 52
3.4 Phân tích và đánh giá kết quả 52
3.4.1 Kịch bản thử nghiệm 1 53
3.4.2 Kịch bản thử nghiệm 2 55
3.4.3 Kịch bản thử nghiệm 3 57
3.5 Kết luận chương 3 59
KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
Trang 9Họ và tên: Nguyễn Việt Hùng
Chuyên ngành: Khoa học máy tính Khóa: 25B
Cán bộ hướng dẫn: TS Lương Qu ng Tuấn
Tên đề tài: Nghiên cứu ứng dụng tính toán tiến hóa trong phân loại tấn công mạng
Tóm tắt: Nghiên cứu đề xuất kỹ thuật lập trình di truyền mới trong phân loại tấn công mạng Các kết quả thử nghiệm của nghiên cứu được phân tích, so sánh, đánh giá với một số phương pháp được các tác giả trước đây nghiên cứu cho thấy kết quả phân loại khá tốt
Trang 10Ký hiệu Thuật ngữ
ES Evolution Strategies - Chiến lược tiến hóa
EP Evolutionary Programming - Lập trình tiến hóa
EC Evolutionary Computing - Tính toán tiến hóa
GA Genetic Algorithm - Giải thuật di truyền
GP Genetic Programing - Lập trình di truyền
LGP Linear Genetic Programming - Lập trình gen tuyến tính IDS Intrusion Detection System - Hệ thống phát hiện xâm nhập SVM Support Vector Machine - Máy véc tơ hỗ trợ
DDOS Distributed Denial of Services
DLBT Dữ liệu nh thường
DLTC Dữ liệu tấn công
DLTCNT Dữ liệu tấn công nhân tạo
Trang 11DANH MỤC CÁC BẢNG
Trang
Bảng 3.1 Các kiểu tấn công trong bộ dữ liệu KDD Cup 99 37
Bảng 3.2 Các thuộc tính của bộ dữ liệu KDD Cup 99 38
Bảng 3.3 Nhóm các thuộc tính cơ ản 39
Bảng 3.4 Nhóm các thuộc tính lưu lượng 39
Bảng 3.5 Nhóm các thuộc tính nội dung 40
Bảng 3.6 Thuộc tính tấn công DoS 41
Bảng 3.7 Tập các tham số sử dụng trong quá trình tiến hóa di truyền 47
Bảng 3.8.1 Thí nghiệm cho kiểu tấn công DDOS trên bộ dữ liệu không có mẫu tấn công (%) 53
Bảng 3.8.2 Thí nghiệm cho kiểu tấn công PROBE trên bộ dữ liệu không có mẫu tấn công (%) 53
Bảng 3.8.3 Thí nghiệm cho kiểu tấn công DDOS và PROBE trên bộ dữ liệu không có mẫu tấn công (%) 54
Bảng 3.9.1 Thí nghiệm cho kiểu tấn công DDOS trên bộ dữ liệu có ít mẫu tấn công (%) 55
Bảng 3.9.2 Thí nghiệm cho kiểu tấn công PROBE trên bộ dữ liệu có ít mẫu tấn công (%) 55
Bảng 3.9.3 Thí nghiệm cho kiểu tấn công PROBE và DDOS trên bộ dữ liệu có ít mẫu tấn công (%) 56
Bảng 3.10 Thực hiện trên bộ dữ liệu có một số dạng tấn công mới (%) 57
Trang 12DANH MỤC CÁC HÌNH VẼ
Trang
H nh 1.1 Các ước tấn công thông thường 6
Hình 1.2 Mô hình Host based Intrusion Detection System 10
Hình 1.3 Mô hình Network-based Intrusion Detection System 11
Hình 2.1 Quần thể mới mới được hình thành qua pha chọn lọc và tái tổ hợp 17
Hình 2.2 Quá trình thực hiện của hệ lập trình di truyền 20
Hình 2.3 Biểu diễn chương tr nh GP 21
Hình 2.4 Toán tử lai ghép trong GP 23
Hình 2.5 Toán tử đột biến trong GP 25
H nh 2.6 Các ước của quá trình phát triển tri thức trong cơ sở dữ liệu 28
Hình 3.1 Hai trạng thái riêng biệt giữa 2 tập điểm 46
Hình 3.2 Thuật toán tạo mảng mật độ trong pha kiểm tra 48
Hình 3.3 Thuật toán xác định lớp các mẫu kiểm tra mới Yi 49
Hình 3.4 Giá trị trung bình fitness các thế hệ của kịch bản thử nghiệm 1 54
Hình 3.5 Giá trị trung bình fitness các thế hệ của kịch bản thử nghiệm 2 56
Hình 3.6 Giá trị trung bình fitnes các thế hệ của kịch bản thử nghiệm 3 58
Trang 13MỞ ĐẦU
1 Tính cấp thiết của đề tài
Một trong số các vấn đề đáng lưu ý nhất của mọi tổ chức ngày nay là việc bảo vệ và lưu trữ tính toàn vẹn, tính bí mật, và tính sẵn có của các dữ liệu
và thông tin Rất nhiều nỗ lực đã được thực hiện để đạt được mục đích này: các chính sách n ninh, tường lửa, hệ thống phát hiện xâm nhập (IDS), các chương tr nh diệt virus, và các tiêu chuẩn cấu hình các dịch vụ trong hệ điều hành và mạng Trong đó, công cuộc tìm kiếm và phát hiện ra các cuộc tấn công mạng mới h y chư iết trước là một trong các mục tiêu quan trọng nhất của các hệ thống phát hiện xâm nhập hiện n y Đây là một vấn đề khó do tính
đ dạng của các mẫu lưu thông trong mạng và sự cần thiết về tính chính xác trong việc xử lý thời gian thực
Tính toán tiến hoá, một lĩnh vực mới của khoa học máy tính, kể từ khi ra đời đã được nghiên cứu và áp dụng vào rất nhiều bài toán của học máy và khai phá dữ liệu, trong đó có ài toán phân loại (classification) Do đó luận văn này khảo sát các ứng dụng gần đây của tính toán tiến hoá cho bài toán phát hiện tấn công mạng và đề ra một phương pháp mới sử dụng lập trình di truyền tạo ra các luật mới để phát hiện các cuộc tấn công mạng chư iết trước
2 Các đóng góp cho đề tài
Trong luận văn này, tôi mong muốn sử dụng bộ dữ liệu KDD Cup 99 làm cơ sở cho các thực nghiệm củ m nh để phát hiện ra các cuộc tấn công mạng chư iết trước Bằng việc áp dụng lập trình di truyền (Genetic Programming - GP) trên bộ dữ liệu này, tôi đã nghiên cứu để đư r các kịch bản cho các thử nghiệm của mình với hy vọng phân loại các cuộc tấn công mạng (đó là chư tấn công hay tấn công, trong đó có những cuộc tấn công
Trang 14mạng chư iết trước) với kết quả bằng hoặc tốt hơn các phương pháp đã được áp dụng trước đó
3 Bố cục của luận văn
Với mục tiêu ứng dụng tính toán tiến hóa mà cụ thể là GP trong phân loại tấn công mạng, ngoài phần mở đầu, kết luận và tài liệu tham khảo, luận văn này được viết thành 3 chương như s u:
Chương 1 Một số vấn đề về an ninh mạng Chương này, tập trung vào một số cuộc tấn công, phòng thủ mạng và một số kỹ thuật tấn công mạng,
Chương 2 Giới thiệu về tính toán tiến hóa và bài toán phân loại tấn công mạng Nội dung của chương đề cập đến các vấn đề về tính toán tiến hóa, tập trung vào GP, các bài toán tấn công mạng sử dụng kỹ thuật học máy và một số kết quả thực nghiệm sử dụng tính toán tiến hóa trong phân loại tấn công mạng
Chương 3 Ứng dụng lập trình di truyền cho phân loại tấn công mạng Chương này sẽ giới thiệu về bộ dữ liệu KDD Cup 99, tạo ra các kịch bản tấn công và ứng dụng GP trên các dữ liệu kịch bản để phân loại các cuộc tấn công mạng Trên cơ sở các kết quả thực nghiệm trên các kịch bản, tôi đã so sánh với các kết quả của một số tác giả để đánh giá kết quả thực nghiệm của bản thân
Trang 15Chương 1 MỘT SỐ VẤN ĐỀ VỀ AN NINH MẠNG
Để có kiến thức cơ sở cho Luận văn, trước hết Luận văn xin giới thiệu một số vấn đề an ninh mạng Trong chương này sẽ đề cập đến vấn đề chung nhất của an ninh mạng, s u đó sẽ trình bày về một số vấn đề của tấn công, phòng thủ mạng Cuối chương là một số vấn đề về hệ thống phát hiện xâm nhập (IDS), trong đó có đề cập đến một số kỹ thuật phát hiện tấn công mạng
đã và đ ng được áp dụng
1.1 Giới thiệu về an ninh mạng
Sự phát triển bùng nổ của công nghệ thông tin nói chung và mạng internet nói riêng đã m ng lại nhiều lợi ích cho người dùng, ứng dụng rộng rãi trong nhiều lĩnh vực kinh tế - xã hội, quốc phòng - n ninh,… Tuy nhiên, đi kèm với những lợi ích có được cũng tiềm ẩn nhiều nguy cơ mất an toàn thông tin Vấn đề an ninh an toàn mạng hiện n y đ ng là vấn đề cấp ách, đặc biệt trong những năm gần đây số lượng các cuộc tấn công vào hệ thống mạng ngày càng gi tăng Thủ đoạn của các hacker ngày càng tinh vi, họ kết hợp
nhiều phương thức tấn công để hạ gục “con mồi” Đối tượng tấn công không
phải vu vơ mà là tấn công có chủ đích Thiệt hại trong các cuộc tấn công đôi khi không thể cân đo, đong đếm, định lượng bằng tiền mà nó ảnh hưởng đến thương hiệu của tổ chức, cá nhân, doanh nghiệp và cả đến chính trị, an ninh quốc gi Điều đó đặt ra bài toán làm thế nào để có thể đảm bảo an ninh, an toàn cho hệ thống mạng của các tổ chức, cơ qu n, do nh nghiệp; làm s o để
có thể phát hiện ra các cuộc tấn công mạng ngày càng phức tạp, tinh vi; và đặc biệt làm thế nào để có thể quản lý các thông tin an ninh mạng tập trung tại một điểm để có thể giám sát, cảnh báo các sự kiện an ninh mạng trong toàn bộ
Trang 16mạng lưới rộng lớn của các tổ chức, cơ qu n, do nh nghiệp cùng tham gia kết nối vào hệ thống mạng.
1.2 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ĩ là một loạt các hoạt động máy tính nguy hiểm đe dọa hoặc làm tổn hại tới sự bảo mật và tính toàn vẹn của một máy tính hay hệ thống mạng Tấn công mạng là các hành động làm phá vỡ hoạt động nh thường của hệ thống máy tính và có thể truy trái phép hoặc phá hủy thông tin trong hệ thống máy tính
Tấn công mạng cũng có thể hiểu là các hành động đ ng cố gắng làm tổn hại đến sự toàn vẹn, bí mật và 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 đó
Tấn công bị động: Kẻ tấn công cố gắng thu thập các thông tin trên mạng Có hai kiểu tấn công bị động là khai thác nội dung thông điệp và phân tích dòng dữ liệu Tấn công bị động rất khó bị phát hiện vì nó không làm thay đổi dữ liệu và không để lại dấu vết rõ ràng
Trang 171.2.1.2 Tấn công từ bên trong và tấn công từ bên ngoài
Dựa vào nguồn gốc của cuộc tấn công có thể phân loại tấn công thành tấn công từ bên ngoài và tấn công từ bên trong
Tấn công từ bên trong: Những tấn công xuất phát từ trong hệ thống mạng Kẻ tấn công là những người trong hệ thống mạng nội bộ muốn truy cập, lấy thông tin nhiều hơn quyền cho phép
Tấn công từ bên ngoài: Những tấn công xuất phát từ bên ngoài Internet hay các kết nối truy cập từ xa
1.2.2 Các bước tấn công thông thường
Có rất nhiều loại tấn công, nhưng để phân loại các cuộc tấn công được dựa trên năm ước cơ ản [5] tạo nên một cuộc tấn như s u:
- Bước 1: Thăm dò thông tin Thăm dò hệ thống để lấy thông tin có thể được sử dụng để tấn công Đây là kiểu “trinh sát” cần thiết để có được thông tin chẳng hạn như: thông tin các loại phần cứng được sử dụng, phiên bản của phần mềm và thậm chí cả thông tin cá nhân người sử dụng,… các thông tin này có thể được sử dụng trong ước tiếp theo Các công cụ thường được sử dụng cho quá trình này là các công cụ quét cổng (scanport), quét IP, dò tìm lỗ hổng…
- Bước 2: Xâm nhập vào hệ thống Khi một hệ thống tiềm năng đã được xác định và thông tin về nó đã thu thập được th ước tiếp theo là khởi động các cuộc tấn công thâm nhập hệ thống
- Bước 3: Sử đổi cài đặt bảo mật Điều này cho phép kẻ tấn công có thể đăng nhập lại hệ thống một cách dễ dàng
- Bước 4: Lan truyền tới các hệ thống khác Mỗi lần xâm nhập vào các mạng hoặc hệ thống, kẻ tấn công sẽ sử dụng mạng hoặc hệ thống như một cơ
sở tấn công các mạng hoặc hệ thống khác Các công cụ tương tự được sử dụng để thăm dò thông tin nhằm vào các hệ thống khác
Trang 18- Bước 5: Làm tê liệt mạng và các thiết bị Khi tấn công thành công thì mạng hoặc máy tính bị nhiễm mã độc dẫn đến việc xóa hay sử đổi tập tin hệ điều hành quan trọng hoặc lây nhiễm sang phần mềm làm cho máy tính hoạt động không đúng
Hình 1.1 Các bước tấn công thông thường 1.2.3 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 chúng t có thể phân chúng vào bốn loại chính như s u:
Trang 19- DoS (Denial of Service attack): Tấn công kiểu DoS là tấn công làm cho tài nguyên máy tính không khả dụng với người dùng thực sự Dạng phổ biến nhất của tấn công DoS là làm cho tài nguyên máy tính quá bận (do có nhiều yêu cầu vô ích đối với tài nguyên máy tính) làm cho người dùng thực
sự không thể sử dụng được tài nguyên
- R2L (Remote to Local attack): Ở 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, chẳng hạn như: đoán mật khẩu thông qua các phương pháp từ điển brute-force, FTP Write,…
- U2R (User to Root attack): Đây là loại tấn công mà tin tặc sử dụng quyền của một người dùng nh thường trong hệ thống cố gắng đạt được quyền truy nhập cao nhất (đặc quyền củ người quản trị hệ thống) vào hệ thống một cách bất hợp pháp Cách phổ biến của tấn công này là thực hiện phương pháp gây tràn ộ đệ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 (theo dõi hoặc giám sát hệ thống) t m r điểm yếu dễ tấn công
để thông qu đó khai thác hệ thống Dạng phổ biến của loại tấn công này là thực hiện quét các cổng của hệ thống máy tính Với tấn công này, tin tặc có thể lấy được thông tin về cổng đ ng mở, dịch vụ đ ng 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
đ ng được sử dụng
1.3 Phòng thủ mạng
Thách thức trong việc đảm bảo an toàn hệ thống mạng ngày càng được coi trọng, không chỉ vì số lượng lớn các cuộc tấn công mà còn phải đối mặt với những khó khăn để chống lại các cuộc tấn công này Một số khó khăn thường gặp như: Kết nối các thiết bị, sự gi tăng tốc độ tấn công, sự tinh tế hơn của các cuộc tấn công, sự đơn giản và sẵn có của các công cụ tấn công,
Trang 20sự phát hiện nh nh hơn các lỗ hổng, sự chậm chễ trong việc vá các lỗ hổng, việc phân phối bản vá lỗi yếu, các cuộc tấn công phân tán, …[5]
Mặc dù có nhiều biện pháp phòng thủ để ngăn chặn một cuộc tấn công, tuy nhiên, dưới góc độ củ đề tài này, chúng ta sẽ đi vào nghiên cứu, tìm hiểu
hệ thống phát hiện xâm nhập mạng (IDS) sẽ được đề cập ở mục 1.4 chương này, trên cơ sở đó ứng dụng tính toán tiến hóa trong phân loại tấn công mạng
1.4 Hệ thống phát hiện xâm nhập mạng
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là một hệ thống giám sát lưu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống, nhà quản trị mạng Ngoài ra, IDS còn thực hiện các hành động
đã được thiết lập trước như khó người dùng h y địa chỉ IP,… để phản ứng lại với các lưu thông ất thường hay có hại cho hệ thống IDS cũng có thể phân biệt được các cuộc tấn công từ bên trong hay bên ngoài dự trên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạc chuẩn của hệ thống)
1.4.2 Trạng thái của IDS
IDS gồm có các trạng thái sau:
Trang 21- True-Positive: Sự kiện khi một thông điệp thông báo hệ thống phát hiện một hành động xâm nhập thật sự
- False-Positive: Sự kiện khi một thông điệp thông báo hệ thống phát hiện một hành động xâm nhập nhưng lại không phải là một hành động xâm nhập thực sự
- True-Negative: Sự kiện khi một hệ thống không sinh r thông điệp thông áo và không có hành động xâm nhập thực sự
- False-Negative: Sự kiện khi hệ thống không sinh r thông điệp thông
áo trong khi có hành động xâm nhập thật sự đ ng diễn ra
1.4.3 Cơ chế phát hiện xâm nhập
1.4.3.1 Phát hiện dựa vào dấu hiệu
Phát hiện dựa vào dấu hiệu (Signature-based Detection) sử dụng phương pháp đối sánh dấu hiệu của các sự kiện thu nhận được với các dấu hiệu của các mối nguy hại đã iết Phương pháp này hiệu quả với các dấu hiệu đã iết nhưng ít hiệu quả đối với các tấn công có dấu hiệu chư iết, các tấn công sử dụng kỹ thuật lẩn tránh (evasion techniques), hoặc các tấn công biến thể
1.4.3.2 Phát hiện dựa trên hành vi bất thường
Phát hiện dựa trên hành vi bất thường so sánh định nghĩ của những hoạt động nh thường và các sự kiện n ninh thu được nhằm xác định các độ lệch
IDS sử dụng phương pháp này với các hồ sơ dấu hiệu đặc trưng (profile) cho các hành vi được coi là nh thường (được phát triển bằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một khoảng thời gian) S u khi đã xây dựng được tập các profile này, IDS sử dụng phương pháp thống kê để so sánh các đặc điểm của các hoạt động hiện tại với các ngưỡng định bởi profile tương ứng để phát hiện ra những hành vi bất thường
Trang 22Ưu điểm chính củ phương pháp này là rất có hiệu quả trong việc phát hiện ra các mối nguy hại chư được biết đến
1.4.4 Các mô hình chính của IDS
IDS có thể triển khai theo các mô hình khác nhau tùy thuộc vào quy mô, phạm vi, tính chất của hệ thống, lớp mạng cần bảo vệ
- HIDS (Host-based Intrusion Detection System): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để phát hiện xâm nhập Đây là mô hình tập trung và phân tán có chức năng giám sát: các gói tin đi vào, các tiến trình, các entry của Registry, mức độ sử dụng CPU, kiểm tra tính toàn vẹn và truy cập trên hệ thống file Các thông số chức năng này khi vượt qua một ngưỡng định trước hoặc những th y đổi khả nghi trên hệ thống file sẽ gây r áo động
Hình 1.2 Mô hình Host based Intrusion Detection System
HIDS cho phép thực hiện một cách linh hoạt trên các phân đoạn mạng
mà NIDS (sẽ được đề cập s u đây) không thực hiện được Lưu lượng đã gửi đến host được phân tích và chuyển qu host nếu chúng không tiềm ẩn các mã nguy hiểm HIDS cụ thể hơn với các nền ứng dụng và phục vụ mạnh mẽ cho
hệ điều hành
Trang 23- NIDS (Network-based Intrusion Detection System): sử dụng dữ liệ trên toàn bộ lưu thông mạng cùng với dữ liệu kiểm tra từ một hoặc vài máy trạm để phát hiện xâm nhập Mô hình này sử dụng bộ dò và bộ cảm biến cài đặt trên toàn mạng Các bộ dò dùng để tìm kiếm những lưu lượng trùng với những mô tả sơ lược được định nghĩ h y là những dấu hiệu, còn những bộ cảm biến thu nhận và phân tích lưu lượng trong thời gian thực Khi nhận được một mẫu lưu lượng hay dấu hiệu, bộ cảm biến gửi tín hiệu cảnh áo đến trạm quản trị và có thể được cấu hình nhằm tìm ra biện pháp ngăn chặn những xâm nhập x hơn
Như vậy, NIDS là tập nhiều cảm biến được đặt ở toàn mạng để theo dõi những gói tin trong mạng, so sánh với mẫu đã được định nghĩ để phát hiện
đó là tấn công hay không
Hình 1.3 Mô hình Network-based Intrusion Detection System
Ngoài hai mô hình kể trên còn một số mô h nh như:
- DIDS (Distributed Intrusion Detection System)
- WIDS (Wireless Intrusion Detection System)
- NBAS (Network Behavior Analysis System) & HoneyPot IDS
Trang 241.4.5 Một số kỹ thuật phát hiện tấn công mạng
1.4.5.1 Kỹ thuật Haystack
Kỹ thuật H yst ck (do Axelsson đề xuất năm 1999) sử dụng thuật toán phát hiện dị thường theo thống kê và được áp dụng cho hệ thống phát hiện xâm nhập phân tán (DIDS)
1.4.5.2 Kỹ thuật mạng Neural
Kỹ thuật mạng neur l do Fox, Henning và Simmoni n đề xuất năm
1990 sau khi họ cố gắng mô hình hóa hệ thống và hành vi người dùng bằng mạng neural Họ sử dụng bản đồ tự tổ chức SOM (Kohonen’s self - organizing map), một kiểu kỹ thuật học không giám sát có thể phát hiện ra cấu trúc cơ ả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 không
Trong một cố gắng áp dụng mạng neural khác vào việc phát hiện dị thường, Ghosh và cộng sự (năm 1998) đã đề xuất sử dụng mạng lan truyền ngước (back-prop g tion network) để giám sát các chương tr nh đ ng chạy Đây là mạng được phát triển cho việc học có giám sát Nó cần các mẫu hoạt 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
1.4.5.3 Kỹ thuật khai phá và phân tích dữ liệu kiểm tra
Khai thác và phân tích dữ liệu kiểm tra (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ữ liệu
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), hay kỹ thuật phân lớp (phân loại)
Trang 251.5 Kết luận chương 1
Trong chương 1, Luận văn đã nghiên cứu một số vấn đề chung về an ninh mạng, các cuộc tấn công và phòng thủ mạng, một số kỹ thuật phát hiện tấn công mạng làm cơ sở cho nghiên cứu luận văn ở chương 2 và chương 3
Trang 26Chương 2 TÍNH TOÁN TIẾN HÓA
VÀ BÀI TOÁN PHÂN LOẠI TẤN CÔNG MẠNG
Chương 2 là chương giới thiệu kiến thức nền tảng của Luận văn Đầu chương, Luận văn xin giới thiệu về tính toán tiến hó , trong đó tập trung vào lập trình di truyền Phần tiếp theo, Luận văn sẽ trình bày về việc nghiên cứu bài toán phân loại tấn công mạng Phần cuối chương, Luận văn sẽ khảo sát một số ứng dụng của tính toán tiến hóa cho phân loại tấn công mạng
2.1 Giới thiệu về tính toán tiến hoá
Ý tưởng bài toán tính toán tiến hóa xuất hiện từ những năm 40 của thế
kỷ XX dựa trên các nguyên lý của Darwin [8] Đến những năm 1960, xuất hiện một số khuynh hướng như: lập trình tiến hóa (Evolutionary Programming) [9] (của Forgel, Owens và Walsh), giải thuật di truyền (Genetic Algorithm) [13] (của Holland) và chiến lược tiến hóa (Evolution Strategies) [18] (của Schwefel và Rechenberg) và các khuynh hướng này kéo dài trong khoảng 15 năm Đến những năm 1990, các hướng nghiên cứu này được nhìn nhận như những thể hiện khác nhau của một công nghệ chung gọi
là tính toán tiến hóa (Evolutionary Computing) [1] Cùng thời điểm này cũng xuất hiện hướng nghiên cứu khác do Koz đề xuất và gọi là lập trình di truyền (Genetic Programming) [14] Cho đến nay, toàn bộ các lĩnh vực nghiên cứu như lập trình tiến hóa, giải thuật di truyền, chiến lược tiến hóa và lập trình di truyền được coi là các lĩnh vực của tính toán tiến hóa với các thuật toán được gọi là thuật toán tiến hó Các hướng nghiên cứu trước được xem là các lĩnh vực nhỏ của tính toán tiến hóa với các thuật toán được biến thể tương ứng
Trang 272.1.1 Giải thuật di truyền
Như trên đã nêu, giải thuật di truyền là một lĩnh vực của tính toán tiến hóa Giải thuật di truyền thực hiện mã hóa nghiệm tiềm năng của một bài toán
cụ thể bằng một cấu trúc dữ liệu giống như các nhiễm sắc thể (chromosome)
và áp dụng các toán tử tái tổ hợp (recombination) lên các cấu trúc dữ liệu đó sao cho có thể giữ được các thông tin chính Giải thuật di truyền thường được xem như những bộ tối ưu hàm số, chúng có thể được áp dụng vào nhiều lĩnh vực khác nhau
Chúng ta có thể mô tả giải thuật di truyền như s u:
- Bắt đầu với một quần thể các nhiễm sắc thể (thường được tạo ngẫu nhiên);
- Đánh giá các cấu trúc của các nhiễm sắc thể này và phân bổ cơ hội tái sinh cho chúng theo cách những nhiễm sắc thể biểu diễn nghiệm tốt hơn của bài toán sẽ được ưu tiên hơn các nhiễm sắc thể khác để tái sinh Mức độ được gọi là “tốt” của một nghiệm thường được xác định tương ứng với quần thể hiện thời
2.1.1.1 Các bước thực hiện giải thuật di truyền
Bước 1: Tạo ngẫu nhiên quần thể n đầu Mỗi cá thể của quần thể này
là một chuỗi nhị phân độ dài cố định, tương ứng với mã hóa nghiệm của bài toán (mỗi chuỗi được xem như một nhiễm sắc thể)
Bước 2: Đánh giá mỗi cá thể của quần thể Sau khi sinh ra quần thể xuất phát, mỗi cá thể trong quần thể được đánh giá và được gán một giá trị thích nghi (fitness value), giá trị thích nghi được đánh giá thông qu hàm mục tiêu để tái sinh quần thể mới
Việc đánh giá mỗi một chuỗi biểu diễn tập các tham số (cá thể) là hoàn toàn độc lập Tuy nhiên, mức độ thích nghi của một chuỗi luôn được xác định trong mối tương qu n với các thành viên khác trong quần thể hiện tại
Trang 28Trong giải thuật di truyền, mức độ thích nghi có thể được xác định bằng ̅ với là đánh giá của chuỗi i và ̅ là đánh giá trung nh của tất cả
các chuỗi trong quần thể Mức độ thích nghi cũng có thể được gán dựa trên thứ hạng của cá thể trong quần thể hoặc bằng các phương pháp lấy mẫu như phương pháp lựa chọn theo đấu loại
Bước 3: Tạo quần thể trung gian Sử dụng quần thể hiện thời để tạo ra quần thể trung gian Trong thế hệ đầu tiên, quần thể hiện thời cũng đồng thời
là quần thể xuất phát Sau khi tính ̅ cho tất cả các chuỗi trong quần thể hiện thời, chúng ta thực hiện việc lựa chọn Xác suất để một chuỗi trong quần thể hiện thời được sao chép lại và được đư vào thế hệ trung gian tỷ lệ thuận với mức độ thích nghi của chúng Có nhiều cách để lựa chọn như lựa chọn bánh xe Roulette Ánh xạ quần thể lên một bánh xe Roulette, mỗi cá thể chiếm một không gian tỷ lệ thuận với mức độ thích nghi của nó trên bánh xe Quần thể trung gi n được tạo nên nhờ việc quay liên tiếp ánh xe để chọn ra các cá thể theo cơ chế “lấy mẫu ngẫu nhiên có thay thế” Cơ chế lựa chọn này
được gọi là lựa chọn tỷ lệ và xác suất để một phần tử b được lựa chọn theo
công thức:
( ) ( )
∑ ( )
Trong đó: b và các b i là các cá thể nằm trong quần thể hiện tại
Ngoài quá trình lựa chọn “lấy mẫu ngẫu nhiên có thay thế”, có thể lựa
chọn bằng cơ chế “lấy mẫu ngẫu nhiên phần còn lại”, cụ thể: mỗi chuỗi i với
̅ lớn hơn 1 sẽ được sao chép vào quần thể trung gian với số lần bằng phần nguyên của ̅; S u đó, tất cả các chuỗi (kể cả chuỗi có ̅ < 1) sẽ được sao chép thêm vào quần thể trung gian với xác suất tỷ lệ thuận với phần thập phân của chúng
Trang 29Bước 4: Tạo quần thể mới từ quần thể trung gian Áp dụng các toán tử
l i ghép (crossover) và đột biến (mutation) cho quần thể trung gi n để tạo ra quần thể tiếp theo
Việc l i ghép được áp dụng cho các chuỗi được ghép cặp một cách
ngẫu nhiên với xác suất p c như s u: lấy ra một cặp chuỗi; tái tổ hợp hai chuỗi
này với xác suất p c để tạo hai chuỗi mới và đặt chúng vào quần thể tiếp theo
Tiếp theo, áp dụng toán tử đột biến như s u: Mỗi bít trong quần thể có
thể áp dụng cơ chế đột biến với xác suất p m (thường p m < 1) Có hai cách đột
biến, đó là tạo ngẫu nhiên một bít mới hoặc là phép lật bít Sự khác nhau giữa
h i cách đột biến này chính là chi tiết cài đặt và mỗi kiểu đột biến đều có thể chuyển đổi thành kiểu còn lại
Bước 5: Lặp ước 1 đến ước 4 Khi quá trình lựa chọn, tái tổ hợp và đột biến hoàn thành, quần thể tiếp theo lại được đư vào chu tr nh lặp với các ước như trên Như vậy, một thế hệ mới đã được sinh ra khi thực hiện một giải thuật di truyền
Hình 2.1 Quần thể mới mới được hình thành qua pha chọn lọc và tái tổ hợp
Trang 302.1.1.2 Dạng giả mã của giải thuật di truyền
Khởi tạo quần thể n đầu: X = {x1, x2,…, xk
};
While (điều kiện kết thúc chư thỏa mãn) do
Đánh giá mức độ thích nghi của các cá thể trong X;
Lựa chọn một số cặp nghiệm (cha-me) P X2 dựa trên mức độ thích nghi của chúng (Parent Selection);
Tổ hợp các cặp được lựa chọn để sinh ra các cá thể mới (crossover);
Biến đổi ngẫu nhiên một số cá thể (mutation);
Tạo quần thể mới bằng việc thay thế một số hoặc toàn bộ cá thể của
X bởi các cá thể mới được sinh ra dựa trên mức độ thích nghi của chúng (Population Selection);
End while
2.1.2 Lập trình di truyền
Từ khi r đời cho đến nay, hệ lập trình di truyền (GP) đã trở thành một trong những công cụ mạnh của máy học giúp giải quyết được nhiều bài toán thực tế Đi tiên phong cho GP chính là giáo sư Koz , nhiều ài toán được GP giải với lời giải cho kết quả tốt hơn h y bằng lời giải của các chuyên gia người đư r trước đó trong [15] So với các mô hình học máy khác GP có nhiều lợi điểm, cụ thể:
Một là, GP là phương pháp học quan hệ có khả năng học các tri thức cấp
một dưới dạng các chương tr nh máy vi tính (so với các kỹ thuật học như mạng Neural, cây quyết định, máy vector hỗ trợ chỉ có thể học được tri thức cấp 0)
Hai là, GP sử dụng cách tiếp cận hộp trắng cung cấp lời giải dưới dạng
tường minh, hiểu được đối với người dùng (so với các kỹ thuật học dùng hộp đen như mạng Neural, máy vector hỗ trợ,… với lời giải thường ẩn trong các trọng số hay xác suất)
Trang 31Ba là, khi so sánh với các mô hình học hộp trắng như ILP, GP sử dụng
ít tri thức nền củ ài toán hơn (nhiều trường hợp tri thức này không thể thu nạp dễ dàng) và tím kiếm rộng (toàn cục) hơn trên không gi n các mô h nh do
GP sử dụng tìm kiếm kiểu Genetics
GP đã được áp dụng rộng rãi để giải quyết thành công nhiều bài toán và phần nhiều là các ài toán liên qu n đến học máy Đối với các kỹ thuật học máy khác như học bằng quy nạp cây quyết định, mạng neural nhân tạo (ANN), máy vector hỗ trợ (SVM), lập trình logic quy nạp (Inductive Logic Programming - ILP),… kỹ thuật học máy GP có một số ưu điểm là: GP có thể dùng để giải quyết các bài toán về học quan hệ (Relational Learning) cũng như các bài toán học khi độ phức tạp cấu trúc của lời giải là không biết trước;
GP đòi hỏi ít tri thức nền của bài toán và cho lời giải dưới dạng tường minh cho người dùng
Quá trình tiến hóa của GP bắt đầu với việc tạo ra ngẫu nhiên quần thể gồm các cá thể (các chương tr nh) Ở mỗi thế hệ, mức độ tốt của mỗi cá thể được đánh giá trên cơ sở mức độ tốt củ chương tr nh (hàm số) trong việc giải quyết ài toán đặt r Do đó, các cá thể sẽ được lựa chọn thông qua các toán
tử di truyền như l i ghép, đột biến,… để tạo ra các cá thể con cho thế hệ tiếp theo Quá tr nh này được lặp đi lặp lại cho đến khi lời giải được tìm ra hoặc khi gặp một số điều kiện dừng nào đó GP phát sinh r các chương trình máy tính để giải quyết ài toán đặt ra bằng việc thực hiện các ước sau:
Bước 1: Tạo ra quần thể n đầu bằng việc kết hợp ngẫu nhiên các toán
tử và các ký hiệu kết của bài toán
Bước 2: Lặp lại các ước s u cho đến khi đạt được điều kiện dừng:
Thực thi từng chương tr nh trong quần thể và gán cho nó một giá trị thích nghi dựa vào hàm tính giá trị thích nghi
Tạo ra quần thể các chương tr nh mới bằng việc áp dụng các thao tác:
Trang 32Hình 2.2 Quá trình thực hiện của hệ lập trình di truyền
- Tái tạo: S o chép chương tr nh được chọn vào quần thể mới
- Lai ghép: Tạo r h i chương tr nh mới từ h i chương tr nh có sẵn bằng việc hoán vị một phần chương tr nh n đầu tại một nút được chọn ngẫu nhiên trong từng chương tr nh
Trang 33- Đột biến: Tạo ra một chương tr nh mới từ một chương tr nh có sẵn bằng cách thay thế một phần chương tr nh được chọn ngẫu nhiên
Chương tr nh được đánh giá là tốt nhất sau khi thực hiện sẽ là kết quả của thuật toán và chính là lời giải của bài toán
Hệ GP thường gồm năm thành phần cơ ản như s u: iểu diễn chương trình, khởi tạo quần thể, hàm thích nghi, toán tử di truyền và tham số
2.1.2.1 Biểu diễn chương trình
Chương tr nh trong GP được biểu diễn dưới dạng cây, trong đó mỗi nút được gán nhãn là một ký hiệu thuộc tập hàm (F) hay tập các ký hiệu kết thúc (T), trong trường hợp biểu thức tính toán th đó là các toán hạng
Hình 2.3 Biểu diễn chương trình GP 2.1.2.2 Khởi tạo quần thể
Để tạo một cấu trúc cây, GP lựa chọn ngẫu nhiên một phép tính hay một ký hiệu kết thúc từ tập các phép tính và tập các ký hiệu kết thúc của bài toán Việc lựa chọn được dựa trên tập tham số điều khiển và phương pháp để phát sinh một cá thể Có các phương pháp tạo quần thể như s u:
- Full: Là phương pháp tạo nên những cây đầy đủ (cây có tất cả các terminal ở mức lớn nhất của cây)
Trang 34- Grow: Phương pháp này lựa chọn ngẫu nhiên các phép tính và các terminal cho nút gốc Nếu nút gốc là một terminal thì một terminal ngẫu nhiên
sẽ được lựa chọn Nếu nút gốc là một phép tính, một phép tính ngẫu nhiên sẽ được lựa chọn và nút này sẽ có số lượng nhánh con bằng với số lượng đối số của phép tính; với mỗi nhánh con, thuật toán sử dụng phương pháp Grow sẽ lại bắt đầu cho đến khi nhánh con ở mức lớn nhất của cây (nhánh con được tạo thành bằng cách chọn một terminal ngẫu nhiên)
- Half-and-Half: Phương pháp tạo ra quần thể n đầu với nửa số cá thể của cây có độ sâu tối đ với một nửa quần thể còn lại củ cây có độ sâu ngẫu nhiên
2.1.2.3 Hàm thích nghi
Sau khi khởi tạo được quần thể n đầu, tức là đã xác định được không gian tìm kiếm GP Tuy nhiên, vẫn chư xác định được khu vực nào là tốt (cần thiết để giải quyết hoặc xấp xỉ giải quyết bài toán), và đó chính là nhiệm vụ của hàm thích nghi
Mỗi cá thể trong quần thể được gán một giá trị để đánh giá gọi là thích nghi (fitness) Giá trị fitness của một cá thể thể hiện khả năng của cá thể đó có thể giải quyết bài toán Có hai biện pháp phổ biến trong GP để xác định hàm thích nghi: đánh giá sơ ộ (r w fitness) và đánh giá chuẩn (standardised fitness)
Đánh giá sơ ộ: là hình thức đơn giản nhất của hàm thích nghi được xác định dựa trên một tập kiểm tr và thường được tr nh ày dưới dạng một tập hợp các giá trị đầu vào và đầu ra của các cá thể đ ng xét; Đánh giá chuẩn: cách tính toán dự trên cơ sở giá trị hàm fitness so với giá trị tiêu chuẩn sai khác bao nhiêu
2.1.2.4 Toán tử di truyền
Các toán tử di truyền được sử dụng để tạo nên các cá thể mới trong mỗi thế hệ gồm: Lựa chọn, tái tạo, l i ghép, đột biến Trong đó:
Trang 35- Tái tạo: Lựa chọn các cá thể và sao chép nguyên mẫu chúng vào quần thể mới
- Lựa chọn: Chọn ra các cá thể từ quần thể để phục vụ cho các thao tác
di truyền Có nhiều phương pháp khác nh u để lựa chọn nhưng phổ biến nhất
là lựa chọn dự trên độ tốt của cá thể và lựa chọn cạnh tranh
Hình 2.4 Toán tử lai ghép trong GP
- Lai ghép: Tạo ra hai cá thể mới từ hai cá thể cha - mẹ được lựa chọn
từ quần thể dựa vào giá trị thích nghi Trong mỗi cấu trúc cây cha - mẹ, một nút ngẫu nhiên sẽ được chọn và những nhánh con ên dưới nút được chọn sẽ được hoán vị để tạo thành hai cây mới
Trang 36Ví dụ hình 2.4 là quá trình lai ghép giữa hai cá thể cha - mẹ (cây 1 và cây 2) tạo thành hai cây con mới (cây 3 và cây 4) Hoán vị cây con phải của cây 1 với cây con phải củ cây 2 cho nh u để tạo thành hai cây con mới: cây 3
và cây 4 Như vậy từ hai cá thể cha - mẹ n đầu (cây 1 và cây 2) sau khi lai ghép đã tạo ra hai cá thể con mới (cây 3 và cây 4)
Tương ứng với đó, t có h i iểu thức cha - mẹ n đầu là:
dị cây con đôi khi được thực hiện như l i ghép giữa một cây với toàn bộ một cây con mới được tạo ngẫu nhiên
Trong h nh 2.5 dưới đây, t chọn điểm đột biến ngẫu nhiên trên cây cha
và thay thế cây con cũ ằng cây con mới được tạo ngẫu nhiên
Tỷ lệ chọn sử dụng các toán tử được mô tả ở trên để tạo ra một cây con
là xác suất của toán tử Thông thường, toán tử l i ghép được sử dụng với xác
Trang 37suất c o hơn toán tử biến dị, tỷ lệ này thường là 90% hoặc c o hơn Ngược lại,
tỷ lệ biến dị nhỏ hơn nhiều, thường là khoảng 10%
Hình 2.5 Toán tử đột biến trong GP 2.1.2.5 Các tham số
Trong GP thường có các tham số sau: kích cỡ quần thể, số thế hệ tối đ ,
độ sâu tối đ của việc khởi tạo và của quá trình tiến hóa và xác suất thực hiện các toán tử di truyền
GP được sử dụng để học cách xác định một hàm dựa trên dữ liệu mẫu
Hệ thống GP thường thể hiện dưới dạng chuỗi gen phức tạp với kích thước và hình dạng biến đổi
Tuy đã có những thành công nhưng GP hiện n y đ ng có một số vấn đề làm các nhà nghiên cứu, thực hành trong học máy còn do dự, đó là: Tốc độ
+
Cây con được
Trang 38huấn luyện (học) củ GP thường khá chậm và có thể bị huấn luyện quá (overfitting); các hệ GP mới chủ yếu dùng để giải quyết các bài toán học có giám sát (supervised) trong phân lớp (classification) và hồi quy (regression); việc thiết lập các số đầu vào cho hệ GP như số lượng quần thể, số thế hệ, kích thước lựa chọn ngẫu nhiên cho sinh sản, xác suất lựa chọn các toán tử di truyền (l i ghép, đột biến,…) đôi khi mất nhiều thời gian và công sức trong thực nghiệm và thường phụ thuộc vào cả kiến thức chuyên gia
2.2 Nghiên cứu bài toán phân loại tấn công mạng
Nhận dạng và phân loại tấn công mạng [7] là một thách thức lớn cho an ninh mạng Lưu lượng dữ liệu gi tăng trong mạng, các hình thức tấn công ngày càng phức tạp, số lượng tấn công ngày càng nhiều Các hệ thống an ninh mạng hiện tại ngày càng phải đối mặt và gặp nhiều khó khăn trong việc phát hiện các cuộc tấn công mạng Lĩnh vực học máy và khai phá dữ liệu đã đư r nhiều kỹ thuật như phân cụm, phân loại và khai phá sự kiện thời gian Đã có nhiều ứng dụng của những kỹ thuật này hiệu quả cho phát hiện tấn công mạng Trong phần này tôi nghiên cứu bài toán phân loại trong học máy và khai phá
dữ liệu, cụ thể là bài toán phân loại trong phát hiện tấn công mạng
2.2.1 Bài toán phân loại trong học máy và khai phá dữ liệu
2.2.1.1 Học máy
Học máy (machine learning - có tài liệu gọi là máy học) [10], là một lĩnh vực của trí tuệ nhân tạo liên qu n đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ tập dữ liệu n đầu để giải quyết những vấn đề cụ thể Ví dụ như các máy có thể "học" cách phân loại thư điện tử xem có phải thư rác (sp m) hay không và tự động xếp thư vào thư mục tương ứng Học máy rất gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật ngữ