ids - datamining.doc

170
Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS MỤC LỤC MỤC LỤC...................................................... 1 DANH MỤC CÁC TỪ VIẾT TẮT.....................................3 DANH MỤC CÁC BẢNG............................................4 DANH MỤC HÌNH VẼ............................................. 5 LỜI NÓI ĐẦU.................................................. 6 Chương 1..................................................... 7 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU...............................7 1.1 Giới thiệu về khai phá dữ liệu..........................7 1.2 Các nhiệm vụ của khai phá dữ liệu.......................8 1.3 Các loại dữ liệu được khai phá..........................9 1.4 Lịch sử phát triển của Khai phá dữ liệu.................9 1.5 Ứng dụng của Khai phá dữ liệu..........................9 1.6 Phân loại.............................................11 1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu....11 Kết chương.................................................. 11 Chương 2.................................................... 12 QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU.........12 2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu.........12 2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể........................................................13 2.3 Tiền xử lý dữ liệu.....................................14 2.3.1 Làm sạch dữ liệu...................................15 2.3.1.1 Các giá trị thiếu......................................15 2.3.1.2 Dữ liệu nhiễu........................................ 16 2.3.2 Tích hợp và chuyển đổi dữ liệu.....................17 2.3.2.1 Tích hợp dữ liệu......................................17 2.3.2.2 Biến đổi dữ liệu.......................................19 2.3.3 Rút gọn dữ liệu (Data reduction)...................20 2.3.3.1 Rút gọn dữ liệu dùng Histogram..........................21 2.3.3.2 Lấy mẫu (Sampling)...................................22 2.3.4 Rời rạc hóa dữ liệu và tạo lược đồ phân cấp khái niệm..................................................... 24 2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số ....................................................... 25 2.3.4.2 Tạo hệ thống phân cấp khái niệm cho dữ liệu phân loại .........26 2.3 Phương pháp khai phá dữ liệu...........................26 Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 1

Upload: nhan-kha-o

Post on 13-Dec-2014

133 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

MỤC LỤC

MỤC LỤC..................................................................................................................................1DANH MỤC CÁC TỪ VIẾT TẮT............................................................................................3DANH MỤC CÁC BẢNG.........................................................................................................4DANH MỤC HÌNH VẼ..............................................................................................................5LỜI NÓI ĐẦU............................................................................................................................6Chương 1.....................................................................................................................................7

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU.............................................................................71.1 Giới thiệu về khai phá dữ liệu...........................................................................................71.2 Các nhiệm vụ của khai phá dữ liệu...................................................................................81.3 Các loại dữ liệu được khai phá.........................................................................................91.4 Lịch sử phát triển của Khai phá dữ liệu............................................................................91.5 Ứng dụng của Khai phá dữ liệu.......................................................................................91.6 Phân loại.........................................................................................................................111.7 Một số thách thức đặt ra cho việc khai phá dữ liệu.......................................................11

Kết chương................................................................................................................................11Chương 2...................................................................................................................................12QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU............................12

2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu.............................................................122.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể...........................................132.3 Tiền xử lý dữ liệu............................................................................................................14

2.3.1 Làm sạch dữ liệu......................................................................................................152.3.1.1 Các giá trị thiếu................................................................................................152.3.1.2 Dữ liệu nhiễu.....................................................................................................16

2.3.2 Tích hợp và chuyển đổi dữ liệu...............................................................................172.3.2.1 Tích hợp dữ liệu................................................................................................172.3.2.2 Biến đổi dữ liệu.................................................................................................19

2.3.3 Rút gọn dữ liệu (Data reduction).............................................................................202.3.3.1 Rút gọn dữ liệu dùng Histogram.......................................................................212.3.3.2 Lấy mẫu (Sampling)..........................................................................................22

2.3.4 Rời rạc hóa dữ liệu và tạo lược đồ phân cấp khái niệm..........................................242.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số..........252.3.4.2 Tạo hệ thống phân cấp khái niệm cho dữ liệu phân loại..................................26

2.3 Phương pháp khai phá dữ liệu........................................................................................262.4 Một số kỹ thuật dùng trong Data Mining........................................................................28

2.4.1 Cây quyết định.........................................................................................................282.4.1.1 Giới thiệu chung................................................................................................282.4.1.2 Các kiểu cây quyết định....................................................................................292.4.1.3 Ưu điểm của cây quyết định..............................................................................31

2.4.2 Luật kết hợp............................................................................................................312.4.2.1 Phát biểu bài toán khai phá luật kết hợp.........................................................322.4.2.2 Các hướng tiếp cận khai phá luật kết hợp.......................................................34

2.4.3 Mô hình dữ liệu đa chiều........................................................................................352.4.3.1 Định nghĩa:......................................................................................................352.4.3.2 Các thao tác trên các chiều của MDDM.........................................................36

2.4.4 Khoảng cách ngắn nhất...........................................................................................372.4.5 K-Láng giềng gần nhất............................................................................................382.4.6 Phân cụm.................................................................................................................39

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 1

Page 2: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

2.4.7 Kỹ thuật hiển thị dữ liệu.........................................................................................402.4.8 Mạng Neural............................................................................................................41

2.4.8.1 Tổng quan.........................................................................................................412.4.8.2 Mô hình mạng Nơron........................................................................................42

2.4.9 Thuật toán di truyền..........................................................................................432.4.9.1 Giới thiệu chung................................................................................................432.4.9.2 Các bước cơ bản của giải thuật di truyền.........................................................44

Kết chương.............................................................................................................................46Chương 3...................................................................................................................................47ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG HỆ THỐNG IDS.......................47

3.1 Hệ thống IDS.................................................................................................................473.1.1 Giới thiệu.................................................................................................................473.1.2 Hệ thống phát hiện xâm nhập - IDS.........................................................................47

3.1.2.1 IDS là gì?..........................................................................................................473.1.2.2 Vai trò, chức năng của IDS...............................................................................483.1.2.3 Mô hình hệ thống IDS mức vật lý.....................................................................493.1.2.4 Cấu trúc và hoạt động bên trong của hệ thống IDS:........................................493.1.2.5 Phân loại...........................................................................................................53

3.2 Khai phá dữ liệu trong IDS.............................................................................................543.2.1 NIDS dựa trên khai phá dữ liệu...............................................................................54

3.2.1.1. Source of Audit Data:......................................................................................543.2.1.2 Xử lý dữ liệu kiểm toán thô và xây dựng các thuộc tính...................................563.2.1.3 Các phương thức khai phá dữ liệu trong NIDS................................................57

3.2.2 Tình hình trong nước...............................................................................................613.3.3 Tình hình thế giới.....................................................................................................61

3.3.3.1 Nghiên cứu sớm nhất........................................................................................613.3.3.2 Nghiên cứu muộn hơn.......................................................................................643.3.3.3 Nghiên cứu gần đây và hiện nay.......................................................................68

Chương 4...................................................................................................................................79XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN TẤN CÔNG DoS SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU..............................................................................................................79

4.1 Thuật toán phân cụm.......................................................................................................794.1.1 Dẫn nhập..................................................................................................................794.1.2 Các dạng dữ liệu trong phân tích cụm.....................................................................79

4.2.2.1 Biến trị khoảng..................................................................................................804.2.2.2 Các biến nhị phân.............................................................................................824.2.2.3 Các biến phân loại (biến định danh), biến thứ tự, và biến tỉ lệ theo khoảng. . .83

4.2.3 Các phương pháp gom cụm.....................................................................................854.2.3.1 Các phương pháp phân hoạch..........................................................................854.2.3.2 Các phương pháp phân cấp..............................................................................86

4.2.4 Thuật toán gom cụm bằng phương pháp K-means..................................................864.2.4.1 Thuật toán k-means...........................................................................................874.2.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids............................90

4.2 Sơ đồ phân tích thiết kế chương trình (các mẫu)............................................................914.2.1 Tập hợp dữ liệu và tiền xử lý...................................................................................92

4.2.1.1 Tập hợp dữ liệu.................................................................................................924.2.1.2 Tiền xử lý...........................................................................................................93

4.2.2 Khai phá dữ liệu phát hiện tấn công từ chối dịch vụ...............................................944.2.2.1 Các mẫu bất thường của tấn công từ chối dịch vụ...........................................94

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 2

Page 3: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

4.2.2.2 Khai phá dữ liệu....................................................................................................964.2.3 Biểu diễn dữ liệu......................................................................................................97

Chương 5...................................................................................................................................99KẾT QUẢ ĐẠT ĐƯỢC – ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...............99

5.1 Cài đặt.............................................................................................................................995.2 Kết quả đạt được............................................................................................................995.3 Kết luận.........................................................................................................................1045.4 Hướng phát triển...........................................................................................................105

TÀI LIỆU THAM KHẢO......................................................................................................106

DANH MỤC CÁC TỪ VIẾT TẮT

AS Analysis ServicesBIDS Intelligence Development StudioBI Dev Studio Business Intelligent Developtment CSDL Cơ sở dữ liệuDM Data mining: Khai phá dữ liệuDMX Data Mining eXtensionsDSV Data Source ViewDTS Data Transformation ServicesIDS/IPS Intrusion Detection System/ Intrusion Prevention SystemKDD Knowledge Discovery and Data Mining KTDL Khai thác dữ liệuKDL Kho dữ liệuMDDM Dimensional Data Model: Mô hình dữ liệu đa chiều MMPB Mining Model Prediction BuilderMSE Mining Structure Editor MSS Microsoft SQL Server

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 3

Page 4: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

OLAP Online Analytical ProcessingSRSWOR Simple random sample without replacementSRSWR Simple random sample with replacement

DANH MỤC CÁC BẢNG

Bảng 2.1: Tần số quan sát.................................................................................................19Bảng 3.1: Dữ liệu chơi golf...............................................................................................30Bảng 3.2: Ví dụ về một CSDL giao dịch – D................................................................32Bảng 3.3: Tập mục thường xuyên minsup = 50%........................................................33Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABE..............................................34Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghi.................................................37Bảng 3.6: Mẫu dữ liệu khách hàng.................................................................................38Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng.....................................................39Bảng 3.8: Bảng sự kiện cho biến nhị phân....................................................................55Bảng 3.9: Một bảng quan hệ trong đó các bệnh nhân được mô tả bằng các biến nhị phân..................................................................................................................................56Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợp.................................57

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 4

Page 5: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

DANH MỤC HÌNH VẼ

Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức.....................................12Hình 2.2: Tổng quan tiến trình khai phá dữ liệu.......................................................................13Hình 2.3: Các hình thức tiền xử lý dữ liệu................................................................................14Hình 2.4: Một histogram cho price sử dụng singleton bucket biểu diễn một cặp price value/frequency.........................................................................................................................21Hình 2.5: Một histogram có độ rộng bằng nhau cho price......................................................21Hình 2.6: Phương pháp lấy mẫu..............................................................................................23Hình 2.7: Một lược đồ phân cấp cho khái niệm price..............................................................24Hình 2.8: Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị phân biệt của các thuộc tính............................................................................................................................25Hình 3.1: Kết quả của cây quyết định......................................................................................29Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3).....................................34Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều...............................................35Hình 3.4: Các mẫu tin biểu diễn thành điểm trong một không gian bởi các thuộc tính của chúng và khoảng cách giữa chúng có thể được đo...................................................................37Hình 3.6: Đồ thị dựa vào hai độ đo..........................................................................................40Hình 3.7: Đồ thị tương tác 3 chiều...........................................................................................40Hình 3.8: Mô phỏng kiến trúc mạng neural.............................................................................41Hình 3.5: Minh họa thuật toán k-means....................................................................................60

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 5

Page 6: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

LỜI NÓI ĐẦU

Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên. Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống không đáp ứng được kỳ vọng này, nên đã ra đời Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining).

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Trong phạm vi của đề tài nghiên cứu này, tôi xin được

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 6

Page 7: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

trình bày những kiến thức cơ bản về khai phá dữ liệu và việc ứng dụng khai phá dữ liệu trong hệ thống IDS/IPS.

Trong quá trình hoàn thành đề tài này tôi đã nhận được sự giúp đỡ chỉ bảo tận tình của các thầy cô giáo và bạn bè, đặc biệt là thầy giáo Vũ Đình Thu. Nhưng do giới hạn thời gian và năng lực nên không tránh khỏi những sai sót, rất mong nhận được sự góp ý hơn nữa của thầy cô và các bạn.

Em chân thành cảm ơn các thầy, cô!

Sinh viên thực hiện

Vũ Thị Vân

Chương 1

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Giới thiệu về khai phá dữ liệu

Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các cơ sở dữ liệu lớn. Đồng thời là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực cho các tiến trình ra quyết định. Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khai phá tri thức từ CSDL, trích lọc dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredredging). Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là khám phá tri thức trong CSDL (Knowledge Discovery in Databases-KDD) là như nhau. Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình Khám phá tri thức trong CSDL.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 7

Page 8: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô. Trong ví dụ này, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn. Như vậy, những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu. Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết.

Nguồn dữ liệu phục vụ cho KTDL có thể là các CSDL lớn hay các kho dữ liệu (Datawarehouse) có hay không có cấu trúc. Các tác vụ khai phá dữ liệu có thể được phân thành hai loại: miêu tả và dự báo

- Các tác vụ khai phá miêu tả mô tả các đặc tính chung của dữ liệu trong cơ sở dữ liệu. Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (summerization), trực quan hoá (visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân tích luật kết hợp (association rules)…

- Các tác vụ khai phá dự báo thực hiện việc suy luận trên dữ liệu hiện thời để đưa ra các dự báo. Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regression)…1.2 Các nhiệm vụ của khai phá dữ liệu

Cho đến nay đã có rất nhiều công trình nghiên cứu và phát triển trong lĩnh vực khai phá dữ liệu. Dựa trên những loại tri thức được khám phá, chúng ta có thể phân loại như theo các nhiệm cụ như sau:

Khai phá luật thuộc tính: tóm tắt những thuộc tính chung của tập dữ liệu nào đó trong cơ sở dữ liệu. Ví dụ như những triệu chứng của một căn bệnh S thì thường có thể được thể hiện qua một tâp các thuộc tính A.

Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộc tính để phân biệt giữa tập dữ liệu này với tập dữ liệu khác. Ví dụ như nhằm phân biệt giữa các chứng bệnh thì một luật phân biệt được dùng để tóm tắt những triệu chứng nhằm phân biệt chứng bệnh xác định với những chứng bệnh khác.

Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trong một tập dữ liệu. Giả sử hai tập đối tượng {A1, A2,… ,An} và {B1, B2,… ,Bn} thì luật kết hợp có dạng {A1^A2^…^ An) →{B1^ B2^… ^Bn).

Khám phá luật phân lớp: phân loại dữ liệu vào trong tập những lớp đã biết. Ví dụ như một số chiếc xe có những đặc tính chung để phân vào các lớp dựa trên cách tiêu thụ nhiên liệu hoặc có thể phân vào các lớp dựa trên trọng tải…

Phân nhóm: xác định một nhóm cho một tập các đối tượng dựa trên thuộc tính của chúng. Một số các tiêu chuẩn được sử dụng để xác định đối tượng có thuộc về nhóm hay không.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 8

Page 9: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Dự báo: dự báo giá trị có thể đúng cuỷa những dữ liệu bị thiếu hoặc sự phân bố thuộc tính nào đó trong tập dữ liệu.

Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vi tiến hóa, biến đổi chung của một tập dữ liệu. Ví dụ như luật khám phá những yếu tố chính tác động lên sự thay đổi của những giá cổ phiếu nào đó.1.3 Các loại dữ liệu được khai phá

Khai phá dữ liệu thường làm việc với nhiều kiểu dữ liệu khác nhau. Hầu hết các kiểu dữ liệu được khai phá là những kiểu sau:

Cơ sở dữ liệu quan hệ: những cơ sở dữ liệu được tổ chức theo mô hình quan hệ. Hầu hết những hệ quản trị cơ sở dữ liệu hiện nay đều hỗ trợ mô hình này như: Oracle, IBM DB2, MS SQL Server, MS Access…

Cơ sở dữ liệu đa chiều: cơ sở dữ liệu này được gọi là nhà kho dữ liệu, trong đó dữ liệu được chọn từ nhiều ngồn khác nhau và chứa những đặc tính lịch sử thông qua thuộc tính thời gian tường minh hay ngầm định.

Cơ sở dữ liệu giao tác: đây là loại cơ sở dữ liệu được sử dụng nhiều trong siêu thị, thương mại, tài chính, ngân hàng…

Cơ sở dữ liệu quan hệ - hướng đố tượng: mô hình cơ sở dữ liệu này lai giữa mô hình hướng đối tượng và mô hình cơ sở dữ liệu quan hệ.

Cơ sở dữ liệu thời gian, không gian: chứa những thông tin về không gian địa lý hoặc thông tin theo thời gian.

Cơ sở dữ liệu đa phương tiện: loại dữ liệu này bao gồm: âm thanh, ảnh, video, văn bản và nhiều kiểu dữ liệu định dạng khác. Ngày nay loại dữ liệu này được sử dụng nhiều trên mạng Internet.1.4 Lịch sử phát triển của Khai phá dữ liệu

- Những năm 1960: Xuất hiện CSDL theo mô hình mạng và mô hình phân cấp.

- Những năm 1970: Thiết lập nền tẩng lý thuyết cho CSDL quan hệ, các hệ quản trị CSDL quan hệ.

- Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy diễn, ...) và hệ quản trị hướng ứng dụng trong lĩnh vực không gian, khoa học, công nghiệp, nông nghiệp, địa lý ...

- Những năm 1990-2000: phát triển Khai phá dữ liệu và kho dữ liệu, CSDL đa phương tiện, và CSDL Web.1.5 Ứng dụng của Khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: hệ CSDL, thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyết tập thô, tập mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 9

Page 10: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ở

chỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng. Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được. Phương pháp thống kê là một trong những nên tảng lý thuyết của khai phá

dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương pháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được:

- Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều CSDL.

- Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức có sẵn về lĩnh vực.

- Kết quả phân tích của hệ thống có thể sẽ rất nhiều và khó có thể làm rõ được.

- Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu.

Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như:Ngân hàng:

Xây dựng mô hình dự báo rủi ro tín dụng. Tìm kiếm tri thức, qui luật của thị trường chứng khoán và đầu tư bất

động sản. Phát hiện dùng thẻ tín dụng giả trên mạng và là công cụ hữu ích cho

dịch vụ quản lý rủi ro cho thương mại điện tửThương mại điện tử:

Công cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng. Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù

hợp với loại khách hàng trong một phân khu thị trường nhất địnhNhân sự:

Giúp nhà tuyển dụng chọn ứng viên thích hợp nhất cho nhu cầu của công ty

Y học: Hỗ trợ bác sĩ phát hiện ra bệnh của bệnh nhân dựa trên các xét nghiệm

đầu vàoAn ninh, an toàn mạng

Ứng dụng trong hệ thống phát hiện xâm nhập trái phép IDS/IPS để phát hiện ra các cuộc tấn công xâm nhập mạng trái phép.

Vv……và nhiều lĩnh vực khác Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 10

Page 11: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

BRANDAID: mô hình marketing linh hoạt tập chung vào hàng tiêu dùng đóng gói.

CALLPLAN: giúp nhân viên bán hàng xác định số lần viếng thăm của khách hàng triển vọng và khách hàng hiện có.

DETAILER: xác định khách hàng nào nên viếng thăm và sản phẩm nào nên giới thiệu trong từng chuyến viếng thăm,

GEOLINE: mô hình thiết kế địa bàn tiêu thụ và dịch vụ. MEDIAC: Giúp người quảng cáo mua phương tiện trong một năm, lập kế

hoạch sử dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tính tiềm năng

1.6 Phân loại

Chúng ta có thể phân lớp hệ thống khai phá dữ liệu theo các tiêu chuẩn sau:Phân lớp dựa trên loại dữ liệu được khai phá: những hệ thống khai phá dữ

liệu làm việc với cơ sở dữ liệu quan hệ, nhà kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng đối tượng, đa phương tiện và Web…

Phân lớp dựa trên kiểu tri thức khai phá: hệ thống khai phá dữ liệu xuất kết quả kiểu tóm tắt, mô tả, luật kết hợp, phân lớp, phân nhóm và dự báo…

Phân lớp dựa trên loại kỹ thuật được sử dụng: hệ thống khai phá sử dụng các kỹ thuật OLAP, kỹ thuật máy học (cây quyết định, mạng neural, thuật giải tiến hóa, tập thô và tập mờ…).

Phân lớp dựa trên lĩnh vực áp dụng khai phá: hệ thống được dùng trong nhiều lĩnh vực: sinh học, y khoa, thương mại và bảo hiểm…1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu

Các cơ sở dữ liệu lớn Số chiều lớn Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không

còn phù hợp.Dữ liệu bị thiếu hoặc nhiễuQuan hệ giữa các trường phức tạpGiao tiếp với người sử dụng và kết hợp với các tri thức đã có.Tích hợp với các hệ thống khác…

Kết chương

Trong chương này, đã giới thiệu về:- Khái niệm khai phá dữ liệu- Nhiệm vụ của khai phá dữ liệu- Phân loại trong khai phá dữ liệu- Các lĩnh vực ứng dụng của khai phá dữ liệu- Một số thách thức trong khai phá dữ liệu

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 11

Page 12: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Chương sau sẽ giới thiệu về quy trình và phương thức thực hiện khai phá dữ liệu cũng như một số kỹ thuật dùng trong khai phá dữ liệu.

Chương 2

QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ

LIỆU

2.1 Quy trình tổng quát thực hiện Khai phá dữ liệu

Quá trình này gồm các bước:1) Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu hoặc các dữ liệu không

thích hợp.2) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác

nhau như: CSDL, Kho dữ liệu, file text…3) Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan trực tiếp

đến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu.4) Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được

chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 12

Page 13: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

5) Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẩu dữ liệu.

6) Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo.

7) Trình diễn dữ liệu (Knowlegde presention): Sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng.

Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức

2.2 Tiến trình khám phá tri thức khi đi vào một bài toán cụ thể

Chính vì mục tiêu khám phá trí thức ngầm định trong cơ sở dữ liệu nên quá trình khai phá thường phải qua một số các giai đoạn cần thiết. Bao gồm những giai đoạn chuẩn bị dữ liệu khai phá, giai đoạn khai phá dữ liệu và cuối cùng là giai đoạn chuyển kết quả khai phá sang những tri thức cho con người hiểu được. Chi tiết các bước thực hiện được mô tả trong bảng tóm tắt như sau:

Giai đoạn 1: đầu tiên là phát triển một sự hiểu biết về lĩnh vực ứng dụng và những tri thức tương ứng. Xác định mục đích của tiến trình khai phá dữ liệu từ qua điểm của người dùng.

Giai đoạn 2: chuẩn bị dữ liệu để khai phá, thu thập dữ liệu và dữ liệu mẫuGiai đoạn 3: tiền xử lý dữ liệu, xóa các thông tin bị nhiễu trong dữ liệu,

loại bỏ sự trùng lặp dữ liệu và xác định chiến lược để xử lý dữ liệu bị mất

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 13

Page 14: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khai phá

Giai đoạn 5: chọn một phương pháp khai phá dữ liệu thích hợp nhất trong số các phương pháp phổ biến như: tóm tắt, phân lớp, hồi quy, phân nhóm, kết hợp…

Giai đoạn 6: từ thuật toán đã chọn, mô hình hóa thuật toán để giải quyết trong trường hợp cụ thể đang xét. Lựa chọn những phương pháp tìm kiếm mẫu dữ liệu, quyết định các tham số.

Giai đoạn 7: đây là giai đoạn khai phá dữ liệu, sử dụng thuật toán để tìm kiếm những mẫu thú vị trong một hình thức thể hiện đắc thù hoặc một tập những thể hiện bao gồm những luật phân lớp, cây, sự hồi quy và phân nhóm.

Giai đoạn 8: thông dịch lại những mẫu đã được khai phá dưới các hình thức thể hiện tri thức của dữ liệu như ngôn ngữ, biểu đồ, hình cây, bảng…

Hình 2.2: Tổng quan tiến trình khai phá dữ liệuQuá trình khai phá này có sự tương tác và lặp lại giữa hai bước bất kỳ,

những bước cơ bản của tiến trình được minh họa trong hình trên. Hầu hết những công việc trước đây đều tập trung ở bước 7 là giai đoạn khai phá dữ liệu. Tuy nhiên, các bước còn lại quan trọng không kém và những bước đó đóng góp rất nhiều vào sự thành công của toàn bộ tiến trình khai phá dữ liệu. Sau đây ta sẽ tìm hiểu chi tiết về quá trình tiền xử lý trong tiến trình.2.3 Tiền xử lý dữ liệu

Dữ liệu trong thực tế thường không sạch, và không nhất quán. Các kỹ thuật tiền xử lý dữ liệu có thể cải thiện được chất lượng của dữ liệu, do đó nó giúp các quá trình khai phá dữ liệu chính xác và hiệu quả. Tiền xử lý dữ liệu là một bước quan trọng trong quá trình khám phá tri thức, bởi vì chất lượng các

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 14

Page 15: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

quyết định phải dựa trên chất lượng của dữ liệu. Quá trình tiền xử lỹ dữ liệu bao gồm: Làm sạch dữ liệu, tích hợp và biến đổi dữ liệu, rút gọn dữ liệu, rời rạc hóa dữ liệu và xây dựng các lược đồ phân cấp khái niệm.

Hình 2.3: Các hình thức tiền xử lý dữ liệu

2.3.1 Làm sạch dữ liệu

Dữ liệu trong thực tế thường không đầy đủ, nhiễu, và không nhất quán. Quá trình là sạch dữ liệu sẽ cố gắng điền các giá trị thiếu, loại bỏ nhiễu, và sửa chữa sự không nhất quán của dữ liệu.

2.3.1.1 Các giá trị thiếu

Các phương pháp xử lý giá trị thiếu:1. Bỏ qua bộ có giá trị thiếu): Phương pháp này thường được sử dụng khi

nhãn lớp bị thiếu (thường trong tác vụ khai phá dữ liệu phân lớp, classification). Phương pháp này rất không hiệu quả, trừ khi một bộ chứa khá nhiều thuộc tính với các giá trị thiếu. Đặc biệt phương pháp này rất kém hiệu quả khi phần trăm giá trị thiếu trong từng thuộc tính là đáng kể.

2. Điền vào bằng tay các giá trị thiếu: Cách tiếp cận này tốn thời gian và không khả thi khi thực hiện trên tập dữ liệu lớn với nhiều giá trị thiếu.

3. Sử dụng một hằng số toàn cục để điền vào các giá trị thiếu: Thay thế toàn bộ giá trị thiếu của các thuộc tính bằng một hằng số như "Unknown" hay Nếu các giá trị thiếu được thay thế bởi một hằng số khi đó chương trình khai phá dữ liệu sẽ nhầm nó với một khái niệm có ý nghĩa, "Unknown", khi chúng có cùng một giá trị phổ biến- "Unknown". Do đó, mặc dù đây là một phương pháp đơn giản, nhưng nó không dễ dùng.

4. Sử dụng giá trị trung bình của thuộc tính để điền các giá trị thiếu.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 15

Page 16: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

5. Sử dụng một giá trị trung bình của thuộc tính cho tất cả các mẫu thử thuộc về cùng một lớp với bộ đã cho. Ví dụ, nếu phân lớp khách hàng theo credit_risk; giá trị average income còn thiếu sẽ được thay thế bằng giá trị average income của các khách hàng thuộc về cùng một lớp credit-risk với bộ đã cho.

6. Sử dụng một giá trị có khả năng nhất để điền vào các giá trị thiếu: Giá trị này có thể tìm ra bằng phương pháp hồi qui, hay dựa trên các công cụ sử dụng hình thức Bayesian. Ví dụ, sử dụng các thuộc tính khác của khách hàng trong tập dữ liệu của bạn, bạn có thể xậy dựng một cây quyết định để dự báo giá trị thiếu cho income. Phương pháp này tuy phức tạp nhưng lại được sử dụng nhiều nhất. Do giá trị thiếu được suy luận ra khi phân tích các thuộc tính còn lại nên giá trị thiếu tìm được theo phương pháp này chính xác hơn các phương pháp khác.

2.3.1.2 Dữ liệu nhiễu

Nhiễu là một lỗi hay một sự mâu thuẫn ngẫu nhiên trong việc đo các biến số. Các kỹ thuật loại bỏ nhiễu là:

1. Phương pháp BinningĐầu tiên sắp xếp dữ liệu và phân hoạch dữ liệu thành những bin.Sau đó người dùng có thể làm trơn dữ liệu bằng các giá trị trung bình của

bin, bằng trung vị của bin, bằng các biên của bin, ...Làm trơn bằng giá trị trung bình của bin: Mỗi giá trị trong bin được thay

thế bằng giá trị trung bình của bin.Làm trơn bằng giá trị trung vị của bin: Mỗi giá trị trong bin được thay thế

bởi giá trị trung vị của bin.Làm trơn bằng các biên của bin: Giá trị lớn nhất và giá trị nhỏ nhất trong

một bin được dùng nhận biết biên của bin. Mỗi giá trị của bin khi đó được thay thế bởi giá trị biên gần nhất.

Bin có độ rộng càng lớn thì tập dữ liệu thu được sẽ càng "trơn".Ví dụ 2.1: Cho dữ liệu của price (tính bằng $) đã được sắp xếp: 4, 8, 15,

21, 21, 24, 25, 28, 34.Phân dữ liệu vào các bin (tần số bằng nhau):

Bin 1: 4, 8, 15Bin 2: 21, 21, 24Bin 3: 25, 28, 34

Làm trơn bằng giá trị trung bình của bin:Bin 1: 9, 9, 9Bin 2: 22, 22, 22Bin 3: 29, 29, 29

Làm trơn bằng các biên của binBin 1: 4, 4, 15Bin 2: 21, 21, 24Bin 3: 25, 25, 34

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 16

Page 17: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

2. Phương pháp hồi qui: Dữ liệu có thể làm trơn bằng cách khớp nó với một hàm nào đó, chẳng hạn như hàm hồi qui. Phương pháp hồi qui tuyến tính tìm một đường thẳng tối ưu để khít với 2 thuộc tính (hay 2 biến), do đó một thuộc tính có thể dùng để dự đoán thuộc tính còn lại. Hồi qui tuyến tính đa bộ là một sự mở rộng của hồi qui tuyến tính đơn, trong đó hàm hồi qui chứa nhiều hơn 2 thuộc tính dự báo và dữ liệu được làm khít với một bề mặt đa chiều.

3. Phân cụm (Clustering): Các giá trị ngoại lai có thể được dò bởi sự phân cụm, trong đó các giá trị được tổ chức thành các nhóm, hay còn gọi là các "cluster". Bằng trực giác, các giá trị rơi ra ngoài tập hợp của các cluster có thể được xem như là các giá trị ngoại lai.

Nhiều phương pháp cho việc làm trơn dữ liệu cũng là những phương pháp cho việc rút gọn dữ liệu bao gồm cả sự rời rạc hóa. Ví dụ, kỹ thuật binning, mô tả ở trên, rút gọn một số các giá trị khác nhau cho một thuộc tính. Các hoạt động này giống như là một hình thức rút gọn dữ liệu cho dữ liệu logic cơ sở (logic-based data) cho các phương thức KTDL, như phương pháp cây quyết định, trong đó nó thực hiện một cách lặp đi lặp lại các sự so sánh giá trị trên một tập dữ liệu đã được sắp xếp. Các hệ thống phân cấp khái niệm là một hình thức của việc rời rạc hóa dữ liệu mà có thể dùng trong việc làm trơn dữ liệu. Ví dụ, một hệ thống phân cấp khái niệm cho price có thể ánh xạ các các giá cả trong thực tế với rẻ, trung bình và đắt, do đó nó làm giảm số giá trị của dữ liệu trong quá trình KTDL.

2.3.2 Tích hợp và chuyển đổi dữ liệu

KTDL thường đỏi hỏi sự tích hợp dữ liệu tức là sự hợp nhất dữ liệu từ nhiều kho chứa. Dữ liệu có thể được chuyển đổi sang các hình thức thích hợp cho KTDL. Mục này sẽ mô tả cả hai: tích hợp dữ liệu và chuyển đổi dữ liệu.

2.3.2.1 Tích hợp dữ liệu

Các tác vụ phân tích dữ liệu của bạn sẽ đòi hỏi sự tích hợp dữ liệu, nó kết hợp dữ liệu từ nhiều nguồn khác nhau thành một khối dữ liệu gắn kết, như trong quá trình xây dựng và sử dụng KDL (data warehousing).

Một số vấn đề trong quá trình tích hợp dữ liệu:- Làm thể nào để những thực thể trong thế giới thực từ nhiều nguồn khác

nhau có thể phù hợp với nhau. Ví dụ, customer_id và cus_id chỉ là một thuộc tính chứ không phải hai.

- Siêu dữ liệu dùng để tránh sự phát sinh lỗi trong quá trình tích hợp các lược đồ và chuyển đổi dữ liệu. Ví dụ, kiểu dữ liệu, các giá trị null... của một thuộc tính, giá trị thuộc tính ở một cơ sở dữ liệu là "H" nhưng ở cơ sở dữ liệu khác nó lại là 1.

- Sự dư thừa dữ liệu: Giá trị một thuộc tính có thể được tính toán từ giá trị của các thuộc tính khác. Sự không nhất quán trong việc đặt tên các thuộc tính cũng có thể gây ra kết quả dư thừa trong tập dữ liệu. Một vài sự dư thừa các

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 17

Page 18: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

thuộc tính có thể được dò tìm bằng phép phân tích tương quan. Cho 2 thuộc tính, phép phân tích tương quan có thể đo được một thuộc tính có liên quan chặt chẽ với thuộc tính khác hay không trên cở sở các dữ liệu sẵn có. Đối với các thuộc tính số, chúng ta có thể tính toán sự liên quan giữa hai thuộc tính, A và B, bằng cách tính hệ số tương quan:

Trong đó:- N là số các bộ, ai và bi tương ứng là các giá trị của các thuộc tính A, B trong

bộ thứ i.- , σA and σB tương ứng là các độ lệch chuẩn của A và B- và là các giá trị trung bình của A và B.Chú ý rằng -1=<rA,B<=1, nếu rA,B >0 thì A, B tương quan dương, có nghĩa là

A tăng thì B cũng tăng, rA,B càng lớn thì sự tương quan càng cao. Nếu rA,B < 0 thì A, B tương quan âm, có nghĩa là A tăng thì B giảm Nếu rA,B = 0 thì A và B không phụ thuộc.

Chú ý rằng sự tương quan không hàm ý quan hệ nhân quả, có nghĩa là nếu A và B là tương quan thì không có nghĩa là A gây ra B hay B gây ra A. Ví dụ, trong sự phân tích về dữ liệu nhân khẩu học, chúng ta có thể tìm ra rằng số lượng bệnh viện và số lượng xe hơi trong một vùng có mối quan hệ tương quan. Điều này không có nghĩa là một thuộc tính là nguyên nhân của một thuộc tính khác. Thực tế, cả hai thuộc tính đều liên quan đến một thuộc tính thứ ba đó là dân số.

Đối với các dữ liệu rời rạc, mối quan hệ tương quan giữa hai thuộc tính, A và B, có thể được tìm ra bởi phép thử χ2 (chi-bình phương). Giả sử A có c giá trị khác riêng biệt: a1,a2,a3....ac. B có r giá trị riêng biệt: b1,b2,b3...br. Các bộ dữ liệu mô tả bởi A và B có thể được biểu diễn bằng một bảng với c cột giá trị A và r hàng giá trị B. Giả sử ô (Ai;Bj) trong đó A=ai và B=bj. Khi đó χ2 được tính bởi:

Trong đó oij là tần số quan sát của sự kiện chung (Ai;Bj) và eij là tần số mong đợi của (Ai;Bj) được tính bởi:

Thống kê χ2 kiểm tra giả thuyết A và B có độc lập hay không. Phép kiểm tra dựa trên một mức độ ý nghĩa, với (r-1)x(c-1) mức tự do. Nếu giả thuyết bị loại ta kết luận rằng A và B phụ thuộc.

Ví dụ 2.2: Phép phân tích tương quan của các thuộc tính phân loại sử dụng χ2. Giả sử rằng một nhóm 1500 người được điều tra. Giới tính của mỗi người được chú .. Mỗi người được hỏi xem có thích tiểu thuyết hư cấu hay không. Vì

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 18

Page 19: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

vậy chúng ta có hai thuộc tính: gender và prefered-reading. Tần số quan sát (hay count) của mỗi possible joint event được ghi lại trong bảng (bảng 2.1) sau:

Male Female Totalfiction 250 (90) 200 (360) 450

Non-fiction 50 (210) 1000 (840) 1050Total 300 1200 1500

Bảng 2.1: Tần số quan sáttrong đó giá trị trong dấu ngoặc đơn là tần số mong đợi (được tính dựa trên

công thức tính eij). Giả sử ta tính e11

Khi đó χ2 được tính như sau:

= 284.44 + 121.90 + 71.11 + 30.48 = 507.93Mức tự do cho bảng 2.2 là (2-1)x(2-1)=1. Cho một mức tự do, giá trị χ2 cần

bác bỏ giả thuyết ở 0.001 mức ý nghĩa là 10.828 ( số này có được do tra bảng, các bảng này thường có trong các sách thống kê). Từ kết quả tính toán ở trên, chúng ta có thể loại bỏ giả thuyết prefered_reading và gender là không phụ thuộc và rút ra kết luận: 2 thuộc tính trên có tương quan với nhau.

2.3.2.2 Biến đổi dữ liệu

Trong biến đổi dữ liệu, dữ liệu được chuyển đổi hay hợp nhất về dạng phù hợp cho việc KTDL. Biến đổi dữ liệu bao gồm những việc sau đây:

- Làm trơn, tức là loại bỏ nhiễu ra khỏi dữ liệu. Các kỹ thuật bao gồm: binning, regression, và clustering.

- Kết hợp, trong đó các phép toán tóm tắt (summary) hay các phép toán kết hợp (aggregation) được áp dụng cho dữ liệu. ví dụ, dữ liệu bán hàng hàng ngày có thể được tính toán theo tháng hay theo năm. Bước này có thể sử dụng trong việc xây dựng khối dữ liệu của dữ liệu ở nhiều mức.

- Khái quát hóa dữ liệu, trong đó dữ liệu ở mức khái niệm thấp hay dữ liệu thô được tổng hợp ở khái niệm mức cao hơn.

- Chuẩn hóa, trong đó thuộc tính dữ liệu được tính tỉ lệ sao cho nó nằm trong một khoảng nhỏ nào đó ví dụ như -1 đến 1; 0 đến 1.

Xây dựng thuộc tính (hay xây dựng đặc tính), trong đó các thuộc tính mới được xây dựng và được thêm vào tập thuộc tính đã cho để trợ giúp cho quá trình KTDLCác phương pháp chuẩn hóa dữ liệu:

1. Chuẩn hóa min-max: Thực hiện phép biến đổi tuyến tính trên dữ liệu gốc. Giả sử rằng minA và maxA là giá trị lớn nhất và giá trị nhỏ nhất của thuộc tính A. Phép bình thường hóa ánh xạ giá trị v của A thành giá trị v' trong khoảng [newminA, new maxA] bằng biểu thức chuyển đổi:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 19

Page 20: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

2. Chuẩn hóa Z-score: (hay chuẩn hóa trung bình zero) các thuộc tính của một thuộc tính A, được chuẩn hóa dựa trên giá trị trung bình và độ lệch chuẩn (standar deviation) của giá trị A. Một giá trị v của A được chuẩn hóa thành giá trị v' bằng biểu thức:

trong đó A và σA là giá trị trung bình và độ lệch chuẩn của thuộc tính A. Phương pháp chuẩn hóa này hữu ích khi giá trị lớn nhất và giá trị nhỏ nhất của thuộc tính là chưa biết, hay các thuộc tính này có các giá trị ngoại lệ ảnh hưởng đến phương pháp chuẩn hóa min-max.

3. Chuẩn hóa bằng cách đưa về tỉ lệ thập phân: Một giá trị v được chuẩn hóa thành giá trị v' bằng phép tính sau:

trong đó j là giá trị nguyên nhỏ nhất mà Max(|v'|)<1. Trong việc xây dựng các thuộc tính, các thuộc tính mới được xây dựng để

giúp cải thiện tính chính xác và rõ ràng của cấu trúc trong dữ liệu đa chiều (highdimensional data). Ví dụ, chúng ta có thể xây dựng thuộc tính diện tích trên cơ sở hai thuộc tính chiều dài và chiều rộng. Bằng cách phối hợp các thuộc tính, sự xây dựng thuộc tính có thể khám phá ra thông tin còn thiếu về mối quan hệ giữa các thuộc tính mà có thể hữu ích cho khám phá tri thức.

2.3.3 Rút gọn dữ liệu (Data reduction)

Kỹ thuật rút gọn dữ liệu có thể được áp dụng để có được sự biễu diễn rút gọn của tập dữ liệu mà nhỏ hơn nhiều về số lượng, mà vẫn giữ được tính nguyên vẹn của dữ liệu gốc. Tức là, KTDL trên dữ liệu rút gọn sẽ hiệu quả hơn so với KTDL trên dữ liệu gốc. Các giai đoạn rút gọn dữ liệu như sau:

1. Tổng hợp khối dữ liệu, trong đó các phép toán tổng hợp được áp dụng trên dữ liệu trong cấu trúc của khối dữ liệu.

2. Lựa chọn tập thuộc tính con, trong đó các thuộc tính hay các chiều không liên quan, liên quan yếu, hay dư thừa có thể được tìm và xóa.

3. Rút gọn chiều, trong đó cơ chế mã hóa được sử dụng để rút gọn kích thước tập dữ liệu.

4. Giảm số lượng, trong đó dữ liệu được thay thế hay được đánh giá bởi dữ liệu khác, nhỏ hơn về số lượng như các mô hình tham số (chỉ cần lưu giữ các tham số mô hình thay vì phải lưu giữ dữ liệu thật) hay các phương pháp không dùng tham số (nonparametric method) như clustering, lấy mẫu (sampling), và sử dụng các lược đồ (histograms).

5. Rời rạc hóa và tạo các phân cấp khái niệm, trong đó các giá trị dữ liệu thô của các thuộc tính được thay thế bởi các dải hay các mức khái niệm cao hơn.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 20

Page 21: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Rời rạc hóa là một hình thức của numerosity reduction, nó rất hữu dụng cho tự động tạo các phân cấp khái niệm. Rời rạc hóa và tạo các khái niệm phân cấp là những công cụ mạnh mẽ cho KTDL, trong đó nó cho phép KTDL ở nhiều mức khác nhau của khái niệm.

2.3.3.1 Rút gọn dữ liệu dùng Histogram

Sử dụng kỹ thuật binning để xấp xỉ các phân bố dữ liệu và là một dạng rút gọn dữ liệu rất phổ biến. Chia dữ liệu thành những bucket và lưu trữ giá trị trung bình (tổng) cho từng bucket

Một histogram cho một thuộc tính A phân hoạch những phân bố dữ liệu của A thành những tập con rời nhau, hay gọi là những bucket.

Những bucket này được hiển thị trên một trục ngang, trong khi chiều cao (và diện tích) của một bucket thông thường sẽ biểu diễn tần suất trung bình của giá trị được biểu diễn bởi bucket đó.

Nếu mỗi bucket chỉ biểu diễn một cặp giá trị/tần suất của một thuộc tính đơn lẻ, những bucket đó được gọi là singleton bucket. Thông thường, bucket biểu diễn những miền giá trị liên tục của thuộc tính đã cho.

Ví dụ 2.3 Histograms. Dữ liệu sau đây là danh sách giá của các mặt hàng thường bán của AllElectronics (được làm tròn về giá trị dollar gần nhất). Các số được sắp xếp như sau: 1, 1, 5, 5, 5, 5, 5, 8, 8, 10, 10, 10, 10, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 25, 25, 25, 25, 25, 28, 28, 30, 30, 30.

Hình 2.4 trình bày một histogram cho dữ liệu sử dụng các singleton bucket. Để rút gọn dữ liệu, thông thường mỗi bucket biểu thị một dải các giá trị liên tục của một thuộc tính đã cho. Trong hình 2.5, mỗi bucket biểu diễn một dải khác nhau có độ rộng 10 dollar.

Hình 2.4: Một histogram cho price sử dụng singleton bucket biểu diễn một cặp price value/frequency

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 21

Page 22: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình 2.5: Một histogram có độ rộng bằng nhau cho pricePhân hoạch các giá trị thuộc tính:

Độ rộng bằng nhau: Trong một histogram độ rộng bằng nhau, độ rộng của từng miền giá trị bucket là một hằng số (như độ rộng $10 của các bucket)

Độ sâu bằng nhau (hay độ cao bằng nhau): Trong một histogram độ sâu bằng nhau, các bucket được tạo ra sao cho tần suất của từng bucket là một hằng số (có nghĩa là mỗi bucket chứa đựng cùng một số mẫu dữ liệu kề nhau)

Tối ưu-V: Nếu chúng ta xét tất cả các histogram có thể có của một số bucket đã cho, histogram tối ưu-V là histogram có độ khác biệt thấp nhất. Độ lệch histogram là một tổng có trọng số của các giá trị gốc mà từng bucket biểu diễn, trong đó trọng số của bucket bằng số giá trị trong bucket.

MaxDiff: Trong một histogram MaxDiff, xét sự khác biệt giữa từng cặp giá trị liền kề (adjacent). Một biên của bucket được thiết lập giữa từng cặp cho các cặp có β-1 sự khác biệt lớn nhất, trong đó β là số bucket được người sử dụng xác định.

2.3.3.2 Lấy mẫu (Sampling)

Lấy mẫu có thể được sử dụng như một kỹ thuật rút gọn dữ liệu bởi ví nó cho phép một tập dữ liệu lớn được biểu diễn bằng một tập mẫu ngẫu nhiên nhỏ hơn nhiều của dữ liệu. Giả sử một tập dữ liệu D có N bộ. Các phương pháp có thể lấy mẫu D để rút gọn dữ liệu:

Mẫu ngẫu nhiên đơn giản không có sự thay thế (SRSWOR – simple random sample without replacement) với kích thước n:

o Mẫu này được tạo ra bằng cách rút n bộ của N bộ từ D (n<N), trong đó xác suất để rút một bộ bất kỳ trong D là 1/N, có nghĩa là tất cả các bộ đều có xác suất bằng nhau.

Mẫu ngẫu nhiên đơn giản có sự thay thế (SRSWR – simple random sample with replacement) với kích thước n:

o Mẫu này tương tự như SRSWOR, ngoại trừ việc mỗi lần một bộ được rút ra từ D, bộ đó sẽ được ghi lại và sau đó được thay thế. Điều này có nghĩa là sau khi một bộ được rút ra, bộ đó sẽ được đưa về lại D để có thể được rút ra lại.

Mẫu cụm (cluster)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 22

Page 23: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

o Nếu những bộ trong D được nhóm lại thành M cluster tách rời nhau, thì có thể thu được một SRS của m cluster, trong đó m<M.

o Ví dụ, những bộ trong một cơ sở dữ liệu thường được lấy ra theo mỗi trang một lần, nhờ đó mỗi trang có thể được xem như một cluster. Có thể thu được một biểu diển được rút gọn của dữ liệu thông qua áp dụng SRSWOR cho những trang đó, mang lại một mẫu cluster của các bộ.

Mẫu phân tầng:o Nếu D được chia thành những phần tách rời nhau được gọi là “tầng”,

một mẫu phân tầng của D được tạo ra bằng cách lấy ra những SRS tại mỗi tầng. Điều này giúp đảm bảo một mẫu biểu diễn, đặc biệt khi dữ liệu đối xứng lệch.

o Ví dụ có thể thu được một mẫu phân tầng từ dữ liệu khách hàng, trong đó mỗi tầng được tạo ra cho từng nhóm tuổi khách hàng. Bằng cách này, nhóm tuổi có số lượng khách hàng nhỏ nhất cũng được đảm bảo sẽ được biểu diễn.

Khi rút gọn dữ liệu, phương pháp lấy mẫu thường được sử dụng phổ biến để ước lượng các câu trả lời cho các câu truy vấn tổng hợp. Kỹ thuật này có thể xác định một kích thước mẫu đầy đủ để ước lượng một hàm đã cho trong một giới hạn mức lỗi cụ thể. Kích thước mẫu có thể rất nhỏ so với kích thước của tập dữ liệu. Kỹ thuật tạo mẫu là một sự lựa chọn hiển nhiên cho việc cải thiện không ngừng của tập dữ liệu rút gọn. Tập dữ liệu này có thể được tiếp tục cải tiến bằng cách tăng kích thước tập mẫu.

Ngoài các phương pháp đã nêu ở trên còn có một số phương pháp khác để rút gọn dữ liệu như: clustering, rút gọn tập thuộc tính, rút gọn miền giá trị...

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 23

Page 24: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình 2.6: Phương pháp lấy mẫu

2.3.4 Rời rạc hóa dữ liệu và tạo lược đồ phân cấp khái niệm

Các kỹ thuật rời rạc hóa dữ liệu có thể được sử dụng để giảm số lượng các giá trị cho một thuộc tính liên tục cho trước bằng cách chia dải giá trị của thuộc tính thành các khoảng nhỏ. Các nhãn của những khoảng này có thể được sử dụng để thay thế các giá trị dữ liệu thực. Sự thay thế số lượng lớn các giá trị của thuộc tính liên tục bằng một số nhỏ các khoảng nhỏ được gán nhãn làm giảm kích thước và đơn giảm hóa dữ liệu gốc. Điều này dẫn đến sự biễu diễn ngắn gọn, dễ dùng và knowledge-level của các kết quả KTDL.

Một phân cấp khái niệm cho một thuộc tính số cho đã cho định nghĩa một sự rời rạc hóa của thuộc tính. Các phân cấp khái niệm có thể được sử dụng để rút gọn dữ liệu thu thập và thay thế các khái niệm mức thấp thành các khái niệm mức cao hơn. Mặc dù sự chi tiết bị mất đi bởi các phương pháp khái quát hóa dữ liệu (data generalization) như vậy nhưng dữ liệu sau khi khái quát hóa có thể có ý nghĩa hơn và dễ dàng giải thích hơn. Điều này góp phần biễu diễn nhất quán các kết quả khai phá dữ liệu trong nhiều tác vụ khai phá dữ liệu, đây là một yêu cầu phổ biến. Thêm vào đó, khai phá dữ liệu trên tập dữ liệu thu gọn yêu cầu ít thao tác vào ra và hiệu quả hơn khai phá dữ liệu trên tập dữ liệu lớn hơn, tập dữ liệu chưa khái quát hóa. Do các lợi ích này, các kỹ thuật rời rạc hóa dữ liệu và

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 24

Page 25: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

các phân cấp khái niệm được áp dụng trước quá trình khai phá dữ liệu như một bước tiền xử lý hơn trong quá trình khai phá dữ liệu. Một ví dụ của một phân cấp khái niệm cho thuộc tính price được đưa ra bởi hình 2.6. Nhiều hơn một phân cấp khái niệm có thể được định nghĩa cho cùng một thuộc tính để cung cấp cho nhu cầu của các người dùng khác nhau.

Hình 2.7: Một lược đồ phân cấp cho khái niệm price

2.3.4.1 Rời rạc hóa bằng cách phân chia trực quan dùng cho dữ liệu dạng số

Mặc dù các phương pháp rời rạc hóa ở trên là hữu ích trong việc tạo các hệ thống phân cấp các hệ thống phân cấp bằng số, Nhiều người dùng thích xem các khoảng bằng số được phân hoạch thành cùng dạng để dễ đọc, trực quan và tự nhiên.

Ví dụ, mức lương hàng năm thường được chia thành những miền giá trị như [$50,000, $60,000) hơn những miền như [$51263.98, $860872.34) là kết quả thu được từ một số quá trình phân tích phân cụm phức tạp. Luật 3-4-5 có thể được sử dụng để phân đoạn dữ liệu bằng số thành những đoạn tự nhiên, tương tự nhau. Trong trường hợp tổng quát, luật trên phân hoạch miền dữ liệu thành 3, 4 hay 5 khoảng có độ dài tương tự nhau, một cách đệ qui theo từng mức, dựa trên miền giá trị tại những con số có ý nghĩa nhất. Chúng ta sẽ minh họa việc sử dụng luật này với những ví dụ dưới đây. Luật được thực hiện như sau:

Nếu một đoạn chứa 3, 6, 7 hay 9 giá trị phân biệt ở ký số ý nghĩa nhất, thì sẽ phân hoạch miền thành 3 đoạn (3 đoạn có độ rộng bằng nhau cho 3, 6, 9 và 3 đoạn trong nhóm 2-3-2 cho 7);

Nếu một đoạn chứa 2, 4 hay 8 giá trị phân biệt ở ký số ý nghĩa nhất, thì sẽ phân hoạch miền thành 4 đoạn có độ rộng bằng nhau.

Nếu một đoạn chứa 1, 5 hay 10 giá trị phân biệt ở ký số ý nghĩa nhất, thì phân hoạch miền thành 5 đoạn độ rộng bằng nhau.

Luật trên có thể được áp dụng đệ qui cho mỗi đoạn con, tạo thành một hệ thống phân cấp khái niệm cho thuộc tính bằng số đã cho. Dữ liệu thực tế thường chứa nhiều giá trị ngoại lai, mà có thể làm sai lệch phương pháp rời rạc hóa top-down dựa trên giá trị min và max. Ví dụ, tài sản của một số ít người có thể lớn hơn rất nhiều so với số khác trong cùng một tập dữ liệu. Phương pháp rời rạc hóa dựa trên các giá trị tài sản lớn nhất có thể dẫn đến một hệ thống phân cấp có độ dốc cao. Do đó top-level discretization có thể được thực hiện dựa trên miền giá trị dữ liệu mô tả phần lớn dữ liệu đã cho (Ví dụ khoảng giữa của dữ liệu sau

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 25

Page 26: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

khi cắt đi mỗi đầu 5%). Các giá trị quá cao hay quá thấp nằm ngoài top-level discretization sẽ hình thành các khoảng riêng biệt.

2.3.4.2 Tạo hệ thống phân cấp khái niệm cho dữ liệu phân loại

Dữ liệu phân loại (categorical data) là dữ liệu rời rạc (discrete data). Các thuộc tính phân loại có một số giới hạn các giá trị phân biệt, không có trật tự giữa các giá trị. Ví dụ: vị trí địa lý, phân loại nghề nghiệp, và chủng loại hàng hóa.

Phân cấp khái niệm có thể được tự động tạo ra dựa trên sộ lượng phân biệt của mỗi thuộc tính trong tập thuộc tính đã cho. Một heristic thường dùng là: thuộc tính với nhiều giá trị phân biệt nhất được đặt tại mức thấp nhất của khái niệm và ngược lại.

Xét ví dụ sau đây. Ví dụ 2.7: Tạo hệ thống phân cấp khái niệm dựa trên số lượng các giá trị

phân biệt trên mỗi thuộc tính. Hệ thống phân cấp khái niệm location cho tập thuộc tính {street, city, province_or_state, country}.

Hình 2.8: Tự động tạo hệ thống phân cấp khái niệm dựa trên số lượng giá trị phân biệt của các thuộc tính

Ngoài các phương pháp trên còn có một số phương pháp khác để rời rạc hóa như: Bining, clustering, rời rạc hóa dựa trên Entropy…2.3 Phương pháp khai phá dữ liệu

Từ những nhiệm vụ trên chúng ta thấy rằng việc khai phá dữ liệu không chỉ đơn giản là sử dụng duy nhất một kỹ thuật nào đó. Bất cứ phương pháp nào hỗ trợ cho việc tìm kiếm thông tin tốt thì sẽ được sử dụng. Tùy thuộc vào các nhiệm vụ khác nhau mà các phương pháp có thể được chọn, mỗi phương pháp

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 26

Page 27: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

có điểm mạnh và những mặt hạn chế riêng. Chúng ta có thể phân loại những phương pháp khai phá dữ liệu theo các nhóm sau:

Phương pháp thống kê: hướng tiếp cận thống kê dựa trên nền tảng mô hình xác suất. Cách thực hiện dựa trên việc kiểm chứng những lý thuyết đã xác định trước và dựa trên việc làm thích hợp những mô hình cho dữ liệu. Thông thường những mô hình này đã được sử dụng bởi những nhà thống kê. Do vậy con người phải cung cấp những lý thuyết ứng viên và các mô hình thực hiện.

Suy diễn dựa trên tình huống: giải quyết vấn đề đưa ra bằng cách dùng trực tiếp các kinh nghiệm và những giải pháp trong quá khứ. Một tình huống thường là vấn đề đặc biệt đã đối mặt trước đây và cũng đã được giải quyết. Đưa ra một vấn đề mới đặc thù, suy diễn dựa trên tình huống sẽ kiểm tra một tập những tình huống được lưu trữ và tìm những tình huống tương tự. Nếu tình huống tồn tại thì những giải pháp tương ứng sẽ được áp dụng cho mô hình mới và tình huống giải quyết mới sẽ được cập nhật vào hệ thống nhằm phục vụ cho lần thực hiện sau.

Mạng Neural: là lớp những mô hình mô phỏng theo bộ não con người. Như chúng ta đã biết thì bộ não con người bao gồm hàng triệu tế bào thần kinh được kết nối qua khớp thần kinh. Những mạng thần kinh được hình thành từ số lượng lớn những neural mô phỏng, các nút này được kết nối với nhau trong cách giống như tế bào thần kinh. Tương tự như trong bộ não thật, cường độ kết nối có thể được thay đổi để đáp lại sự kích thích, điều này cho phép mạng có khả năng học.

Cây quyết định: trong cây này mỗi nút trung gian thể hiện một sự kiểm chứng hoặc một quyết định dựa trên item dữ liệu đang xét. Dựa trên kết quả của thử nghiệm sẽ xác định nhánh tiếp theo. Để phân lớp một item dữ liệu, chúng ta bắt đầu từ nút gốc sau đó đi xuống theo các nút phù hợp với kiểm chứng cho đến khi gặp nút lá, tại nút này sẽ cho quyết định. Cây quyết định còn được dùng thể hiện những hình thức đặc biệt của một tập luật.

Quy nạp luật: những luật thể hiện một sự tương quan thống kê giữa các sự xuất hiện của những thuộc tính, đối tượng nào đó trong dữ liệu. Hình thức chung của luật là X1^ …^XN →Y[S, C], nghĩa là khi có sự xuất hiện các thuộc tính X1 … XN sẽ dẫn đến thuộc tính Y với độ hỗ trợ là S và độ tin cậy là C.

Mạng Bayer: mạng Bayer là thể hiện đồ họa của sự phân bố xác suất, được dẫn ra từ việc thống kê sự xuất hiện của các đối tượng. Đặc biệt mạng Bayer là một đơn đồ thị có hướng, trong đó mỗi nút thể hiện biến thuộc tính và những cạnh thể hiện xác suất phụ thuộc giữa những thuộc tính đó.

Thuật giải di truyền: hay lập trình tiến hóa là cách giải quyết theo chiến lược tối ưu dựa theo nguyên lý tiến hóa được khảo sát trong tự nhiên. Những giải pháp vấn đề tốt nhất sẽ đi qua giai đoạn chọn lọc và chúng sẽ được kết hợp với nhau để cho những giải pháp khác tốt hơn. Quá trình cứ lặp lại như vậy cho đến khi vấn đề được giải quyết hoặc tiến đến một ngưỡng dừng.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 27

Page 28: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Tập mờ: đây là kỹ thuật chính của việc thể hiện và xử lý tính không chính xác. Sự không chính xác được nảy sinh từ những cơ sở dữ liệu ngày nay: sự không chính xác, không thể xác định, không nhất quán và mơ hồ… Những tập mờ khai thác tính không chắc chắn để làm cho hệ thống phức tạp trở nên dễ quản lý. Do vậy những tập mờ tạo thành cách tiếp cận mạnh không chỉ để giải quyết tính không trọn vẹn, nhiễu hay dữ liệu không chính xác mà còn giúp phát triển các mô hình không chắc chắn của dữ liệu nhằm tạo ra sự thực thi thông minh, mềm dẻo hơn so với hệ thống truyền thống.

Tập thô: tập thô được định nghĩa bởi tập xấp xỉ trên và tập xấp xỉ dưới. Các đối tượng thuộc tập xấp xỉ dưới là xác định hoàn toàn. Các đối tượng thuộc tập xấp xỉ trên là phần không xác định. Tập xấp xỉ trên của tập thô là hội của tập xấp xỉ dưới và xấp xỉ biên. Một đối tượng thuộc tập biên là xác định nhưng không xác định hoàn toàn. Vì vậy, tập thô có thể được xem như tập mờ có hàm thành viên ba giá trị: “đúng”, “sai” và “có thể”. Giống như tập mờ, tập thô có một khái niệm toán học để phân lớp dữ liệu. Tập thô cũng như tập mờ ít được sử dụng như là một giải pháp đơn lẻ. Chúng thường được kết hợp với các phương pháp khác như suy diễn luật, phân lớp và phân nhóm.2.4 Một số kỹ thuật dùng trong Data Mining

Cho tới nay đã có rất nhiều kỹ thuật có thể áp dụng trong việc khai phá dữ liệu như: tập mờ, phương pháp Bayes, cây quyết định, lập trình tiến hóa với thuật toán di truyền, máy học, mạng neural, kỹ thuật phân nhóm, luật kết hợp, mô hình dữ liệu đa chiều, công cụ phân tích dữ liệu trực tuyến (OLAP), khoảng cách ngắn nhất, kỹ thuật k-láng giềng gần nhất, luật kết hợp với giải thuật AprioriTID, học quy nạp… Chương này chỉ trình bày sơ lược một số kỹ thuật thường được sử dụng.

2.4.1 Cây quyết định

Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định là một đồ thị của các quyết định và các hậu quả có thể của nó (bao gồm rủi ro và hao phí tài nguyên). Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.

2.4.1.1 Giới thiệu chung

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng. Mỗi một nút trong tương ứng với một biến, đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 28

Page 29: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính . Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất. Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất. Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại.

Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác suất có điều kiện.

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.

Dữ liệu được cho dưới dạng các bản ghi có dạng:

Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa. là các biến sẽ giúp ta thực hiện công việc đó.

2.4.1.2 Các kiểu cây quyết định

Cây quyết định còn có hai tên khác:Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực

thay vì được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)

Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua).

Ví dụ: Ta sẽ dùng một ví dụ để giải thích về cây quyết định:David là quản lý của một câu lạc bộ đánh golf nổi tiếng. Anh ta đang có rắc

rối chuyện các thành viên đến hay không đến. Có ngày ai cũng muốn chơi golf nhưng số nhân viên câu lạc bộ lại không đủ phục vụ. Có hôm, không hiểu vì lý do gì mà chẳng ai đến chơi, và câu lạc bộ lại thừa nhân viên.

Mục tiêu của David là tối ưu hóa số nhân viên phục vụ mỗi ngày bằng cách dựa theo thông tin dự báo thời tiết để đoán xem khi nào người ta sẽ đến chơi golf. Để thực hiện điều đó, anh cần hiểu được tại sao khách hàng quyết định chơi và tìm hiểu xem có cách giải thích nào cho việc đó hay không.

Vậy là trong hai tuần, anh ta thu thập thông tin về:Trời (outlook) (nắng (sunny), nhiều mây (clouded) hoặc mưa (raining)).

Nhiệt độ (temperature) bằng độ F. Độ ẩm (humidity). Có gió mạnh (windy) hay không.

Và tất nhiên là số người đến chơi golf vào hôm đó. David thu được một bộ dữ liệu gồm 14 dòng và 5 cột.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 29

Page 30: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Dữ liệu chơi golfCác biến độc lập

Quang cảnh Nhiệt độ Độ ẩm Gió ChơiNắng 85 85 không khôngNắng 80 90 có khôngÂm u 83 78 không cóMưa 70 96 không cóMưa 68 80 không cóMưa 65 70 có khôngÂm u 64 65 có cóNắng 72 95 không khôngNắng 69 70 không cóMưa 75 80 không cóNắng 75 70 có cóÂm u 72 90 có cóÂm u 81 75 không cómưa 71 80 có không

Bảng 3.1: Dữ liệu chơi golfSau đó, để giải quyết bài toán của David, người ta đã đưa ra một mô hình cây quyết định.

Hình 3.1: Kết quả của cây quyết địnhCây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (cũng là

y) theo các thuộc tính dùng để dự đoán. Đây là một đồ thị có hướng phi chu trình dưới dạng một cây. Nút gốc (nút nằm trên đỉnh) đại diện cho toàn bộ dữ liệu. Thuật toán cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biến phụ thuộc, play (chơi), là sử dụng biến Outlook. Phân loại theo các giá trị của biến Outlook, ta có ba nhóm khác nhau: Nhóm người chơi golf khi trời nắng, nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 30

Page 31: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi golf. Và có một số người ham mê đến mức chơi golf cả khi trời mưa.

Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con. Ta thấy rằng khách hàng không muốn chơi golf nếu độ ẩm lên quá 70%.

Cuối cùng, ta chia nhóm trời mưa thành hai và thấy rằng khách hàng sẽ không chơi golf nếu trời nhiều gió.

Và đây là lời giải ngắn gọn cho bài toán mô tả bởi cây phân loại. David cho phần lớn nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày mưa gió. Vì hầu như sẽ chẳng có ai chơi golf trong những ngày đó. Vào những hôm khác, khi nhiều người sẽ đến chơi golf, anh ta có thể thuê thêm nhân viên thời vụ để phụ giúp công việc.

Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản hơn rất nhiều.

2.4.1.3 Ưu điểm của cây quyết định

So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một số ưu điểm:

Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích ngắn.

Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết. Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng.

Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị là tên thể loại. Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến. Chẳng hạn, các luật quan hệ chỉ có thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số.

Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát một tình huống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó bằng logic Boolean. Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải thích cho kết quả quá phức tạp để có thể hiểu được.

Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều này làm cho ta có thể tin tưởng vào mô hình.

Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn. Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của cây quyết định.

2.4.2 Luật kết hợp

Luật kết hợp là một hướng quan trọng trong khai phá dữ liệu. Luật kết hợp giúp chúng ta tìm được các mối liên hệ giữa các mục dữ liệu (items) của CSDL. Luật kết hợp là dạng khá đơn giản nhưng lại mang khá nhiều ý nghĩa. Thông tin mà dạng luật này đem lại là rất đáng kể và hỗ trợ không nhỏ trong quá trình ra

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 31

Page 32: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

quyết định. Tìm các luật kết hợp “quý hiếm” và mang nhiều thông tin từ CSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu.

Luật kết hợp là những luật có dạng “80 % khách hàng mua máy điện thoại di động thì mua thêm simcard, 30 % có mua cả máy điện thoại di động lẫn simcard” hoặc “75 % khách hàng gọi điện liên tỉnh và sống ở các huyện thì gọi điện thoại IP 171 liên tỉnh, trong đó 25% số khách hàng vừa gọi liên tỉnh, sống ở các huyện vừa gọi điện thoại IP 171 liên tỉnh”. “mua máy điện thoại di động” hay gọi liên tỉnh và sống ở các huyện” ở đây được xem là các vế trái (tiền đề) của luật, còn “mua simcard” hay “gọi điện thoại IP 171 liên tỉnh” là vế phải (kết luận) của luật. Các con số 30%, 25% là độ hỗ trợ của luật (support - số phần trăm các giao dịch chứa cả vế trái và vế phải), còn 80%, 75% là độ tin cậy của luật (confidence - số phần trăm các giao dịch thoả mãn vế trái thì cũng thoả mãn vế phải).

Độ hỗ trợ (support) và độ tin cậy (confidence) là hai thước đo cho một luật kết hợp. Độ hỗ trợ bằng 25% có nghĩa là “Trong các khách hàng có sử dụng điện thoại thì có 25% khách hàng sử dụng điện thoại ID liên tỉnh và điện thoại IP 171”. Độ tin cậy bằng 75% có nghĩa là “Trong các khách hàng có sử dụng điện thoại liên tỉnh thì có 75% khách hàng sử dụng điện thoại IP 171”.

2.4.2.1 Phát biểu bài toán khai phá luật kết hợp

I ={i1 , i2 , …, in } là tập bao gồm n mục (Item – còn gọi là các thuộc tính - attribute). X I được gọi là tập mục (itemset).

T = {t1, t2, … tm} là tập gồm m giao dịch (transacstion – còn gọi là bản ghi - record), mỗi giao dịch được định danh bởi TID (Transaction Identification).

R là một quan hệ nhị phân trên I và T (hay R IxT). Nếu giao dịch t có chứa mục I thì ta viết (i, t) R (hoặc iRt). (T, I, R) là ngữ cảnh khai thác dữ liệu. Một CSDL D, về mắt hình thức, chính là một quan hệ nhị phân R như trên. Về ý nghĩa, một CSDL là một tập các giao dịch, mỗi giao dịch t là một tập mục, t 2I (2I là tập cấc tập con của I).

Ví dụ về CSDL giao dịch: I = {A, B, C, D, E}, T = {1, 2, 3, 4, 5, 6}Thông tin về các giao dịch cho ở bảng sau:

Định danh giao dịch (TID) Tập mục (itemset)1 A B D E2 B C E 3 A B D E4 A B C E5 A B C D E 6 B C D E

Bảng 3.2: Ví dụ về một CSDL giao dịch – D

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 32

Page 33: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Cho một tập mục X I. Ký hiệu s(X) là Độ hỗ trợ(support) của một tập mục X – là tỷ lệ phần trăm số giao dịch trong CSDL D chứa X trên tổng số các giao dịch trong CSDL D. s(X) = Card(X)/Card(D)%

Tập mục phổ biến: Cho một tập mục X I và ngưỡng phổ biến tối thiểu minsup (0, 1],(minsup được xác định bởi người sử dụng). Một tập mục X được gọi là một tập phổ biến theo ngưỡng minsup nếu và chỉ nếu độ hỗ trợ của nó lớn hơn hoặc bằng một ngưỡng minsup: s(X) minsup.

Ký hiệu FX(T, I, R, minsup) = {X I | s(X) minsup}Với (T, I, R) trong ví dụ CSDL bảng 1, và giá trị ngưỡng minsup = 50% sẽ

liệt kê các tập mục phổ biến (frenquent-itemset) như sau:Tập mục phổ biến Độ hỗ trợ (s) tương ứngB 100%E, BE 83%A, C, D, AB, AE, BC, BD,ABE 67%AD, CE, DE, ABD, ADE, BCE, BDE 50%

Bảng 3.3: Tập mục thường xuyên minsup = 50%Độ hỗ trợ s của luật kết hợp X Y là tỷ lệ phần trăm các giao dịch trong D

có chứa X và Y là s(X Y) = Card(X Y)/Card(D) %Luật kết hợp có dạng X Y trong đó:X, Y là các tập mục thoả mãn điều kiện X Y = Ø và c là độ tin cậy.Độ tin cậy của luật c = s(X Y)/s(X)%: Là tỷ lệ phần trăm các giao dịch

trong D có chứa X thì chứa Y. Về mặt xác suất, độ tin cậy c của một luật kết hợp là xác suất (có điểu kiện) xảy ra Y với điều kiện đã xảy ra X

Luật kết hợp tin cậy: Một luật được xem là tin cậy nếu độ tin cậy c của nó lớn hơn hoặc bằng một ngưỡng minconf (0, 1] nào đó do người dùng xác định. Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X. (( c minconf) (minimum Confidence))

Luật kết hợp cần tìm là luật kết hợp thoả mãn Minsup và minconf cho trước. Chúng ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn Độ hỗ trợ tối thiểu và độ tin cậy lớn hơn Độ tin cậy tối thiểu.

Hầu hết các thuật toán khai phá luật kết hợp thường chia thành 2 pha:Pha 1 : Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu tức là tìm tất cả các

tập mục X thoả s(X) minsup.Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1.Nếu X là một tập mục phổ biến thì luật kết hợp được sinh ra từ X có dạng:

X’ c X \ X’ , trong đó:

X’ là tập con khác rỗng của X.X\X’ là hiệu của hai tập hợp X và X’.c là độ tin cậy của luật thoả mãn c minconfVới tập mục phổ biến trong bảng 2 thì chúng ta có thể sinh luật kết hợp sau

đây:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 33

Page 34: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Luật kết hợp Độ tin cậy c minconf ?A BE CóB AE KhôngE AB Có AB E CóAE B CóBE A Có

Bảng 3.4: Luật kết hợp sinh từ tập mục phổ biến ABETập phổ biến tối đại: Cho M FX(T, I, R, minsup) M được gọi là tập mục

phổ biến tối đại nếu không tồn tại X FX(T, I, R, minsup), M X, M X

2.4.2.2 Các hướng tiếp cận khai phá luật kết hợp

Luật kết hợp nhị phân (binary association rule hoặc Boolean association rule): là hướng nghiên cứu đầu tiên của luật kết hợp. Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân. Trong dạng luật kết hợp này, các mục (thuộc tính) chỉ được quan tâm là có hay không xuất hiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuât hiện. Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó. Đây là dạng luật đơn giản và các luật khác cũng có thế chuyển về dạng luật này nhờ một số phương pháp như rời rạc hoá, mờ hoá, v.v.

Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and categorical association rule): Các thuộc tính của cơ sở dữ liệu thực tế có kiểu rất đa dạng (nhị phân – binary, số - quantitative, hạng mục – categorical…) để phát hiện luật kết hợp với các thuộc tính này,các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để áp dụng các các thuật toán đã có.

Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô.

Luật kết hợp nhiều mức (multi-level association rule): Với cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có dạng “mua mày tính PC => mua hệ điều hành AND mua phần mềm tiện ích văn phòng,…” thay vì chỉ những luật quá cụ thể như “mua máy tính IBM PC => mua hệ điểu hành Micorsoft Windows AND mua phần mềm tiện ích văn phòng Microsoft Office, …”. Như vậy dạng luật đầu tiên là luật tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác nhau.

Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải trong quá trình rời rạc hoá các thuộc tính số, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về dạng tự nhiên hơn, gần gũi hơn với người sử dụng.

Luật kết hợp với các thuộc tính được đánh trọng số (association rule with weighted items) Trong thực tế, các thuộc tính trong CSDL không phải lúc nào

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 34

Page 35: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

cũng có vai trò như nhau. Có một số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác.

Khai thác luật kết hợp song song (parallel mining of association rule): Bên cạnh khai thác luật kết hợp tuần tự, các nhà làm tin học cũng tập chung vào nghiên cứu các giải thuật song song cho quá trình phát hiện luật kết hợp. Nhu cầu song song hoá và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo. Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng.

2.4.3 Mô hình dữ liệu đa chiều

Mô hình dữ liệu đa chiều (Multi Dimensional Data Model – MDDM) là một mô hình mà trong đó dữ liệu được thể hiện thông theo không gian n-chiều. Mô hình này phù hợp đối với các tính toán số học và thống kê: tổng hợp và phân tổ dữ liệu theo cách khác nhau, các phân tích dữ liệu theo phương pháp hồi quy phi tham số. Ngoài ra, MDDM cũng còn được sử dụng để phát hiện các luật kết hợp giữa các chỉ tiêu dạng if X then Y với độ tin cậy là c%.

Định nghĩa hình thức của MDDM như sau:

2.4.3.1 Định nghĩa:

Cho: D1, D2, … , Dn là tập giá trị rời rạcx1, x2, … , xn là các biến chạy trên tập D đó.Mô hình dữ liệu đa chiều là một ánh xạ từ tích Đề-các các miền định nghĩa

D1 x D2 x … x Dn là một tập con các số thực U R:F: B→ U

Ở đây B = D1 x D2 x … x Dn; D1 = Dom(x1), D2 = Dom(x2), …, Dn = Dom(xn), và U R. B là miền giá trị và U là tập giá trị của ánh xạ f.

Nếu chúng ta xem bộ giá trị (x1, x2, … , xn) như là một điểm trong không gian n-chiều, và f(x1, x2, … , xn) là giá trị số tương ứng của điểm đó thì số điểm có trong mô hình dữ liệu này là: Card(D1) x Card(D2) x ... x Card(Dn)

Ví dụ: với n=3, mô hình dữ liệu đa chiều ở đây là một khối hộp chữ nhật, còn gọi là các Cube, trong đó bộ (x1,x2,x3) tương ứng với các tọa độ trong không gian ba chiều và f(x1,x2,x3) là giá trị của các ô trong khối hộp chữ nhật đó. Biểu diễn hình học các chiều như trong hình:

Hình 3.2: Biểu diễn hình học cho mô hình dữ liệu n-chiều (với n=3)Mỗi miền định nghĩa một chiều, do đó chúng ta có thể biến đổi một bảng

hai chiều trong một cơ sở dữ liệu (CSDL) sang mô hình dữ liệu n-chiều:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 35

Page 36: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình 3.3: Biến đổi bảng 2 chiều sang mô hình dữ liệu n-chiều

2.4.3.2 Các thao tác trên các chiều của MDDM

Chúng ta có thể thao tác trên một, hai hay một số chiều của MDDM bằng cách cố định các chiều còn lại với những giá trị cụ thể. Điều này có thể được xem như một phép chiếu có tham số trên một số chiều của MDDM.

Ví dụ: giả sử chúng ta có n-1 giá trị xác định , , …, và một ánh xạ g định nghĩa như sau:

g(X1) = f(X1, X2 = X2’, …, Xn = Xn

’), với x1 .Thì g(x1) sẽ là 1 bảng dữ liệu 1 chiều (y1,y2, … yk). Ở đây k = Card (D1).

Tương tự, nếu chúng ta cố định n-2 chiều D1, D2, … , Dn với những giá trị cụ thể , , …,

thì ánh xạ trên 2 chiều D1 và D2: g(x1,x2) = f(x1, x2,x3 = x3

”, …, xn” = xn

”) với x1 , x2 sẽ cho chúng ta một bảng dữ liệu hai chiều k dòng ứng với k giá trị của miền

D1 và l cột tương ứng với l giá trị của miền D2.Tương tự như vậy, chúng ta có thể định nghĩa phép trích m chiều từ

MDDM f n-chiều ban đầu.Vì các bảng dữ liệu được trích là các giá trị thuộc không gian số thực R

nên chúng ta có thể áp dụng các phép tính tổng trung bình cộng min, max phương sai và độ lệch chuẩn cho các giá trị của các ô trên 1 cột (khi cho x 1 biến thiên trong miền D1 và cố định các miền khác tại một giá trị cụ thể), hoặc trên các ô của một dòng (khi cho x2 biến thiên trong miền D2 và cố định các miền khác tại một giá trị cụ thể) hoặc cho các giá trị của tất cả các ô trong bảng này và kết quả tính toán cũng sẽ là một số thực. Kết quả của các phép toán trên đều là các số thực.

Vận dụng mô hình dữ liệu n-chiều cho một ví dụ đơn giản về điều tra đời sống dân cư. Giả sử chúng ta có 2 miền định nghĩa D1 = { 101, 102, 103, 104, 105, 106} ứng với danh sách các mã số hộ điều tra và D2 = {“tivi”, “tủ lạnh”, “xe máy”, “máy giặt”, “điều hòa nhiệt độ”} ứng với việc sở hữu các tiện nghi sinh hoạt. Nếu định nghĩa ánh xạ f: D1 x D2 n thì chúng ta có bảng theo dõi về số lượng tiện nghi của từng hộ; Nếu f: D1 x D2 {0, 1} thì f cho kết quả là bảng theo dõi việc có (1) hay không (0) tiện nghi của từng hộ. Giả thiết hộ 101 có tivi, xe máy, điều hòa nhiệt độ; hộ 102 có tivi, tủ lạnh, máy giặt; hộ 103 có tivi, máy giặt; hộ 104 có tủ lạnh, xe máy và hộ 105 có tivi, tủ lạnh, xe máy, máy giặt, điều

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 36

Page 37: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

hòa nhiệt độ; hộ 106 có tivi, tủ lạnh và xe máy. Kết quả hàm f là một bảng 2 chiều sau đây:

Mã số hộ Có ti vi Có tủ lạnh Có xe máy Máy giặt Điều hòa nhiệt độ101 1 0 1 0 1102 1 1 0 1 0103 1 0 1 1 0104 0 1 1 0 0105 1 1 1 1 1106 1 1 1 0 0

Bảng 3.5: Dữ liệu điều tra việc sở hữu các tiện nghiCộng theo hàng dọc chúng ta biết được số lượng hộ chia theo tiện nghi sinh

hoạt. Cộng theo hang ngang chúng ta biết được số lượng tiện nghi của từng hộ gia đình. Bây giờ chúng ta định nghĩa một mô hình trên chiều D2 như sau:

Số lượng mục cần xét là 2. Khi đó (“tivi”) = 1; (“tủ lạnh”) = 1; (“xe máy”) = 0; (“máy giặt”) = 0; (“điều hòa nhiệt độ”) = 0. (D2) = (1,1,0,0,0).

Định nghĩa phép chiếu g trên miền giá trị D1 như sau:

Ở đây c là số mục được xét (c = 2). Khi đó g(x1) là một bảng một chiều:g(x1) = {0,1,0,0,1,1}. Số lượng giá trị 1 trong vector g(x1) phản ánh số hộ gia

đình có đồng thời cả 2 tiện nghi sinh hoạt là “ti vi” và “tủ lạnh”.Bằng các tạo các ánh xạ (MDDM) mới, các phép toán số học cũng như các

hàm tích hợp trên các ánh xạ đó, chúng ta có thể đạt được các phân tích thú vị trên các bảng của CSDL. Mô hình dữ liệu n-chiều được sử dụng rất thích hợp cho việc phân tích dữ liệu thống kê. Công cụ phân tích dữ liệu trực tuyến OLAP của Microsoft phát triển dựa trên mô hình dữ liệu này.

2.4.4 Khoảng cách ngắn nhất

Đây là phương pháp xem các mẫu tin như là những điểm trong không gian dữ liệu đa chiều. Áp dụng ý tưởng này có thể xác định khoảng cách giữa hai mẫu tin trong không gian dữ liệu như sau: các mẫu tin có liên hệ với nhau thì rất gần nhau. Các mẫu tin ở xa nhau thì có ít điểm chung. Cơ sở dữ liệu mẫu chứa cá thuộc tính như tuổi, thu nhập và tín dụng. Ba thuộc tính mẫu này thành lập nên không gian dữ liệu ba chiều và có thể phân tích các khoảng cách giữa các mẫu tin trong không gian này.

Tuổi Thu nhập Tín dụng

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 37

Page 38: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Khách hàng 1 32 40.000 10.000Khách hàng 2 24 30.000 2.000

8 10 8Bảng 3.6: Mẫu dữ liệu khách hàng

Khoảng cách hai khách hàng được tính

Hình 3.4: Các mẫu tin biểu diễn thành điểm trong một không gian bởi các thuộc tính của chúng và khoảng cách giữa chúng có thể được đo

Ví dụ: Tuổi phạm vi: 1→ 100, trong khi thu nhập khoảng từ 0 → 100.000 dollar mỗi tháng. Nếu dùng dữ liệu này mà không hiệu chỉnh cho đúng thì thu nhập sẽ là một thuộc tính dễ phân biệt hơn rất nhiều so với tuổi và đây là điều mà chúng ta không mong muốn. Vì vậy chia thu nhập cho 1000 để đạt tới một đơn vị đo độ lớn như là tuổi. Làm tương tự cho thuộc tính tín dụng. Nếu độ đo tất cả thuộc tính cùng một độ đo, sẽ có một độ đo khoảng cách đáng tin cậy để đo các mẫu tin khác nhau. Trong ví dụ sẽ dùng độ đo Enclidean, khoảng cách giữa khách hàng 1 và khách hàng 2 là 15.

2.4.5 K-Láng giềng gần nhất

Khi đã thông dịch các mẫu tin thành các điểm trong một không gian dữ liệu nhiều chiều, chúng ta có thể định nghĩa khái niệm của “láng giềng”:

Các mẫu tin ở gần nhau là láng giềng của nhauGiả sử ta muốn dự đoán thái độ của một tập khách hàng từ một cơ sở dữ liệu

với những mẫu tin mô tả những khách hàng này. Giả thuyết cơ sở đòi hỏi để làm một dự án là những khách hàng cùng loại sẽ có cùng thái độ. Trong thuật ngữ ẩn dụ của không gian dữ liệu đa chiều, một kiểu chỉ là một vùng trong không gian dữ liệu này. Mặt khác, các mẫu tin cùng kiểu sẽ gần nhau trong không gian dữ liệu: chúng sẽ là láng giềng của nhau. Dựa vào hiểu biết này, để phát triển một thuật toán mạnh nhưng rất đơn giản - thuật toán k-láng giềng gần nhất. Lý thuyết cơ sở của k-láng giềng gần nhất là “làm như láng giềng của bạn đã làm”. Nếu muốn dự đoán thái độ của một các nhân cụ thể, bắt đầu nhìn vào thái độ của mười người gần gũi với anh ta trong không gian dữ liệu. Tính trị trung bình về thái độ của 10 người này, và trị trung bình này sẽ là cơ sở dự đoán cho cá nhân của anh ta. Chữ k trong k-láng giềng gần nhất đại diện cho số láng giềng điều tra.

K-láng giềng gần nhất đơn giản thật sự không là một kỹ thuật học mà là một phương pháp tìm kiếm thuần túy bởi vì tập dữ liệu bản than nó được dùng chỉ để

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 38

Page 39: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

tham khảo. Nó không thể tạo ra một lý thuyết trong lĩnh vực datamining mà giúp hiểu cấu trúc tốt hơn. Ví dụ như, nếu muốn ra một quyết định cho mỗi yếu tố trong tập dữ liệu chứa n mẫu tin, thì cần phải so sánh mẫu tin với các mẫu tin khác. Điều này dẫn đến độ phức tạp bậc 2, đặc biệt cho tập cơ sở dữ liệu lớn. Nếu muốn làm một sự phân tích k-láng giềng gần nhất đơn giản đối với một cơ sở dữ liệu có một triệu mẫu tin, phải thực hiện một ngàn tỷ phép so sánh. Cách tiếp cận như vậy rõ rang là không tốt mặc dầu có nhiều kết quả nghiên cứu đã giúp tăng tốc độ của quá trình tìm kiếm này. Tóm lại các thuật toán data mining không nên có độ phức tạp tính toán lớn hơn n*log(n) (trong đó n là số các mẫu tin). Trong thực tế chúng ta ít dùng kỹ thuật k-láng giềng gần nhất.

Một ví dụ dùng thuật toán k-láng giềng:

Bảng 3.7: Một số ví dụ dùng kỹ thuật k-láng giềng

2.4.6 Phân cụm

Gom cụm dữ liệu là hình thức học không giám sát trong đó các mẫu học chưa được gán nhãn. Mục đích của gom cụm dữ liệu là tim những mẫu đại diện hoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh giá nào đó) thành những cụm. Các điểm dữ liệu nằm trong các cụm khác nhau có độ tương tự thấp hơn các điểm dữ liệu nằm trong một cụm.

Phân tích cụm có nhiều ứng dụng rộng rãi, bao gồm nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu và xử lý ảnh. Trong kinh doanh, phân tích cụm có thể giúp các nhà marketing khám phá sự khác nhau giữa các nhóm khách hàng dựa trên thông tin khác hàng và các đặc trưng của các nhóm khách hàng dựa trên các mẫu mua hàng. Trong sinh học, nó có thể được sử dụng để phân loại thực vật và động vật, các mẫu gen với các chức năng tương tự nhau. Phân tích cụm còn có thể phân loại đất theo công năng hoặc thực tế sử dụng để có chính sách qui hoạch phù hợp, phân loại các tài liệu trên Web.

Các yêu cầu cơ bản của phân tích cụm trong KTDL: Có khả năng làm việc hiệu quả với lượng dữ liệu lớn: Phân tích cụm trên

một mẫu của dữ liệu lớn có thể dẫn đến các kết quả thiên lệch. Cần phải có các thuật toán phân cụm trên CSDL lớn.

Có khả năng xử lý các dạng dữ liệu khác nhau: Nhiều thuật toán được thiết kế để xử lý dữ liệu bằng số. Tuy nhiên, các ứng dụng có thể yêu cầu phân tích cụm các dạng dữ liệu khác, như dữ liệu nhị phân, phân loại, trật tự hay sự trộn lẫn của các kiểu dữ liệu.

Có khả năng khám phá ra các cụm với các dạng bất kỳ: Nhiều thuật toán phân cụm dựa trên các số đo khoảng cách Euclide hay Manhattan. Các thuật

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 39

Page 40: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

toán dựa trên các số đo khoảng cách có xu hướng tìm các cụm hình cầu với kích thước và mật độ tương tự nhau. Tuy nhiên, một cụm (cluster) có thể có hình dạng bất kỳ. Do đó cần phát triển các thuật toán để tìm các cluster hình dạng bất kỳ.

Yêu cầu tối thiểu tri thức lĩnh vực nhằm xác định các tham số đầu vào: Nhiều thuật toán phân cụm đòi hỏi người dùng nhập các tham số trong phân tích cụm. Các kết quả phân cụm có thể bị ảnh hưởng vào các tham số đầu vào. Các tham số thường khó xác định, đặc biệt đối với các tập dữ liệu chứa các đối tượng dữ liệu nhiều chiều.

Có khả năng làm việc với dữ liệu nhiễu. Không bị ảnh hưởng vào thứ tự nhập của dữ liệu. Làm việc tốt trên CSDL có số chiều cao. Chấp nhận các ràng buộc do người dùng chỉ định Có thể hiểu và sử dụng được các kết quả gom cụm

Ở phần này chỉ giới thiệu sơ qua về kỹ thuật phân cụm, chi tiết hơn về kỹ thuật này sẽ được giới thiệu trong chương 4.

2.4.7 Kỹ thuật hiển thị dữ liệu

Kỹ thuật hiển thị dữ liệu là một phương pháp rất hữu hiệu trong việc phát hiện các mẫu trong tập dữ liệu và có thể dùng khi bắt đầu tiến trình khai phá dữ liệu để có thể cảm nhận được giá trị của tập dữ liệu và các mẫu sẽ được tìm thấy ở đâu. Những khả năng này được cung cấp bằng các công cụ hiển thị hướng đối tượng 3 chiều cho phép người sử dụng khai phá các cấu trúc tương tác 3 chiều.

Hiện nay, kỹ thuật đang được phát triển bằng kỹ thuật đồ họa cao cấp trong thực tế ảo, cho phép người quan sát không gian dữ liệu nhân tạo, cùng lúc biến đổi tập dữ liệu. Tuy nhiên đối với hầu hết người sử dụng kỹ thuật này không thể truy xuất mà phải nhờ vào các kỹ thuật đồ họa đơn giản có trong đó những công cụ truy vấn tin hoặc những công cụ data mining. Phương pháp đơn giản này có thể cung cấp một lượng thông tin có giá trị. Một kỹ thuật cơ bản và có giá trị cao là lược đồ phân tán: trong kỹ thuật này thông tin trên hai thuộc tính được hiển thị trong không gian Descartes. Các lược đồ phân tán có thể được sử dụng để nhận dạng tập con dữ liệu đáng quan tâm, vì thế chúng ta chỉ còn tập trung vào phần còn lại của quá trình data mining.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 40

Page 41: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình 3.6: Đồ thị dựa vào hai độ đoTrong ví dụ hình trên, chúng ta đã tạo đồ thị dựa vào hai độ đo: thu nhập

và tuổi. Ta thấy rằng những người tuổi trung bình có thu nhập thấp sẽ có khuynh hướng đọc các tạp chí âm nhạc. Một phương pháp khám phá tập dữ liệu tốt hơn rất nhiều là thông qua môi trường tương tác 3 chiều và hình 3.7 minh họa khả năng này.

Hình 3.7: Đồ thị tương tác 3 chiều

2.4.8 Mạng Neural

2.4.8.1 Tổng quan

Mạng neural nhân tạo (Artificial Neural Network - ANN) là một mô hình xử lý thông tin dựa trên cơ chế hoạt động của hệ thống thần kinh sinh học, như não bộ. Thành phần chính yếu của mô hình này là cấu trúc đặc biệt của hệ thống này. Nó tập hợp một số lượng lớn các phần tử xử lý kết hợp nội tại (được gọi là các neuron) hoạt động hợp nhất để giải quyết các bài toán cụ thể. Một ANN sẽ được cấu hình cho một ứng dụng cụ thể nào đó, ví dụ như nhận dạng mô hình hoặc phân loại dữ liệu thông qua quá trình học. Việc học trong hệ thống nhằm mục đích điều chỉnh các kết nối thuộc kỳ tiếp hợp được phân chia trong tế bào mà đã có sẵn giữa các neuron.

Neuron nhân tạo đầu tiên được tạo ra vào năm 1943 bởi nhà nghiên cứu neuron học Warren McCulloch và nhà logic học Walter Pits. Nhưng kỹ thuật thời đó không cho phép neuron phát triển được các thế mạnh của nó. Mạng neuron này nay có nhiều cải tiến cũng như đáp ứng được các yêu cầu đặt ra của các bài toán, một số ưu điểm của mạng neuron ngày nay so với thời trước là:

1. Học thích ứng: có khả năng học cách thức thực hiện công việc dựa trên các dữ liệu cho sẵn trong quá trình huấn luyện hoặc định các thông số ban đầu

2. Khả năng tự tổ chức: một ANN có thể tự thân tổ chức hoặc miêu tả các thông tin mà nó nhận được trong suốt thời gian học

3. Hiệu chỉnh lỗi thông qua mã hóa thông tin dư thừa: có thể hủy một phần mạng làm cho hiệu suất hệ thống giảm. Tuy nhiên, một số mạng có khả năng nhớ được phần mạng đã hủy.

Vào năm 1980, các nhà nghiên cứu bắt đầu phát triển mạng Neural với nhiều kiến trúc phức tạp nhằm khắc phục những hạn chế trước đây.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 41

Page 42: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

2.4.8.2 Mô hình mạng Nơron

Mô hình mạng Nơron tổng quát có dạng như sau:

Ngày nay mạng Nơron có thể giải quyết nhiều vấn đề phức tạp đối với

con người, áp dụng trong nhiều lĩnh vực như nhận dạng, định dạng, phân loại,

xử lý tín hiệu, hình ảnh v.v…

Dùng kỹ thuật mạng Neural có thể phân tích một cơ sở dữ liệu như hình 3.8.

Hình 3.8: Mô phỏng kiến trúc mạng neuralHình trên mô tả một kiến trúc mạng Neural đơn giản dùng để biểu diễn

việc phân tích cơ sở dữ liệu tiếp thị. Trong đó thuộc tính được chia thành ba lớp tuổi và được đưa vào ba nút nhập riêng rẽ: thuộc tính sở hữu nhà, xe cũng có một nút nhập riêng và bốn nút nhận dạng bốn vùng. Mỗi nút nhập tương ứng với một quyết định Yes/No đơn giản. Tương tự như thế cho các nút xuất: mỗi tạp chí là một nút.

Các nút nhập được nối toàn bộ với các nút ẩn và các nút ẩn được nối toàn bộ với các nút xuất. Trong mạng, các nhánh giữa các nút đầu có trọng lượng bằng nhau. Trong quá trình “dạy”, mạng nhận những mẫu nhập và xuất tương

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 42

Page 43: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

ứng với những record trong cơ sở dữ liệu và cập nhật lại trọng lượng của các nhánh cho đến khi tất cả nút nhập kết được với nút xuất thích hợp.

Các nhánh tô đậm cho thấy mối liên hệ nào đó giữa những người đọc tạp chí xe hơi và tạp chí hài có cùng lứa tuổi nhỏ hơn 30, có xe hơi và ở vùng 3. Nhưng mạng không cung cấp luật để nhận dạng mối kết hợp này. Mạng Neural biểu diễn tốt trên sự phân lớp yêu cầu và có thể được sử dụng rất hữu ích trong data mining.

2.4.9 Thuật toán di truyền

2.4.9.1 Giới thiệu chung

Có một mối kết hợp tuyệt vời giữa công nghệ và tự nhiên, nguyên lý đó là thuyết tính toán về sự tiến hóa. Thuyết tính toán về sự tiến hóa là phương pháp giải quyết vấn đề bằng cách áp dụng kỹ thuật tiến hóa. Lĩnh vực này đưa ra 3 mô tả độc lập bao gồm: các thuật toán về di truyền, lập trình về sự tiến hóa và chiến lược tiến hóa. Tất cả 3 mô tả này đã được nghiên cứ lần đầu tiên trong hai thập niên 1960 và 1970, nhưng mãi cho tới cuối thập niên 1980 thì chúng mới bắt đầu được chấp nhận. Và thời gian này, các nhà nghiên cứu bắt đầu nhận thấy mối quan hệ rõ ràng giữa máy tính và sinh học. Hiện tại, các thuật toán di truyền đang được xem là kỹ thuật máy học thành công nhất. Tự nhiên đã cung cấp nguồn cảm hứng cho hai vấn đề: ”quá trình chọn lọc tự nhiên” là một kỹ thuật để giải quyết vấn đề. Và DNA như một kỹ thuật mã hóa vấn đề.

Trong “Nguồn gốc của muôn loài”, Darwin mô tả lý thuyết về sự tiến hóa: “sự chọn lọc tự nhiên” là khái niệm trung tâm. Mỗi loài có một sự sinh sản thừa, trong cuộc đấu tranh mạnh mẽ giành sự sống, chỉ có những loài nào thích nghi tốt nhất đối với môi trường thì mới sống sót.

Năm 1953, Jame Watson và Francis Crick phát hiện ra cấu trúc xoắn kép của DNA. Thông tin di truyền được lưu trữ trong phần tử DNS dài, bao gồm 4 khối, điều này có nghĩa là tất cả thông tin di truyền của các nhân con người, hoặc của bất kỳ một tạo vật sống nào, đều được đặt trong một ngôn ngữ chỉ có 4 ký tự (C, G, A và T trong ngôn ngữ di truyền). Tập hợp của các chỉ thị di truyền cho loài người vào khoảng 3 tỷ ký tự. Mỗi cá nhân đều thừa hưởng vài đặc tính của người cha hoặc người mẹ. Sự khác nhau giữa các cá nhân như màu tóc hay màu mắt, và các bệnh bẩm sinh được gây nên bởi sự khác biệt về mã di truyền.

Sự chọn lọc tự nhiên có hai mặt thuận lợi và không thuận lợi. Mặt bất lợi rõ ràng là sự sinh sản quá mức của các cá thể. Một bất lợi khác là toàn bộ tiến trình đạt được rất ít mục đích, vì sự cải thiện của các loài phụ thuộc vào các yếu tố thay đổi môi trường. Các loài có thể tiến hóa bằng cách đột biến Gen ngẫu nhiên. Công thức xây dựng thuật toán di truyền để giải quyết vấn đề như sau:

Đặt ra bộ mã tốt, hoàn hảo để mã hóa vấn đề dưới dạng chuỗi bao gồm một số ký tự giới hạn.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 43

Page 44: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Sáng chế ra một môi trường nhân tạo trong máy tính để các giải pháp có thể kết nối lại với nhau. Cung cấp đối tượng có thể xét đoán được sự thành công hay thất bại mà thuật ngữ của chuyên gia gọi là “hàm thích nghi”.

Để kết hợp các giải pháp, cần thực hiện các thao tác chéo – các chuỗi gen của người cha và người mẹ được cắt ra và sau khi thay đổi thì được kết lại với nhau. Trong việc tái tạo, tất cả các trường hợp đột biến có thể được áp dụng.

Khởi đầu, ta cung cấp một “số người” hoàn toàn khác nhau, và yêu cầu máy tính thực hiện “sự tiến hóa” bằng cách loại bỏ các giải pháp xấu trên mỗi thế hệ và thay thế chúng bởi con cháu hoặc sự đột biến tốt. Dừng lại khi một gia đình gồm các giải pháp tốt đã được hình thành.

Ưu điểm và khuyết điểm của các thuật toán di truyền luôn tồn tại song song. Hai hạn chế là sự sinh sản quá nhiều và tính chất ngẫu nhiên trong tiến trình tìm kiếm. Các cách giải bằng những thuật toán di truyền được mã hóa thành các ký hiệu, vì vậy thường là dễ đọc, đó là một thuận lợi hơn so với mạng neural.

2.4.9.2 Các bước cơ bản của giải thuật di truyền

Một giải thuật di truyền đơn giản bao gồm các bước sau:Bước 1: Khởi tạo một quần thể ban đầu gồm các chuỗi nhiễm sắc thể.Bước 2: Xác định giá trị mục tiêu cho từng nhiễm sắc thể tương ứng.Bước 3: Tạo các nhiễm sắc thể mới dựa trên các toán tử di truyền.Bước 5: Xác định hàm mục tiêu cho các nhiễm sắc thể mới và đưa vào

quần thể.Bước 4: Loại bớt các nhiễm sắc thể có độ thích nghi thấp.Bước 6: Kiểm tra thỏa mãn điều kiện dừng. Nếu điều kiện đúng, lấy ra

nhiễm sắc thể tốt nhất, giải thuật dừng lại; ngược lại, quay về bước 3.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 44

Page 45: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Cấu trúc thuật giải di truyền tổng quát Bắt đầu

t =0; Khởi tạo P(t) Tính độ thích nghi cho các cá thể thuộc P(t); Khi (điều kiện dừng chưa thỏa) lặp

t = t + 1; Chọn lọc P(t)

Lai P(t) Đột biến P(t)

Hết lặp Kết thúc

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 45

Bắt đầu

Khởi tạo quần thể

Mã hoá các biến

Đánh giá độ thích nghi

Chọn lọc

Lai ghép

Đột biến

Thoả mãn điều kiện dừng

Kết thúc

Kết quả

Thoả

Không

Page 46: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Kết chương

Trong chương này, chúng ta vừa giới thiệu về quy trình tổng quát thực hiện khai phá dữ liệu, tiến trình khai phá tri thức đi vào bài toán cụ thể, tiến trình tiền xử lý dữ liệu và điểm qua 9 kỹ thuật dùng trong khai phá dữ liệu, đó là bài toán cây quyết định, bài toán timg luật kết hợp, mô hình dữ liệu đa chiều, khoảng cách ngắn nhất, K-láng giềng gần nhất, phân cụm, kỹ thuật hiển thị dữ liệu, mạng Neural và thuật toán di truyền.

Chương sau sẽ trình bày về ứng dụng của kỹ thuật khai phá dữ liệu trong hệ thống IDS/IPS.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 46

Page 47: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Chương 3

ỨNG DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG HỆ

THỐNG IDS

3.1 Hệ thống IDS

3.1.1 Giới thiệu

Ngày nay, sự phát triển liên tục của công nghệ máy tính là không thể phủ nhận. Có rất nhiều công ty thiết lập các cổng giao dịch Internet và các khách hàng ngày càng quan tâm hơn đến việc mua bán trên mạng, các thông tin thu thập được phát triển nhanh chóng. Mạng Internet đã trở thành một công cụ thông dụng cho việc giao tiếp.

Cùng với sự phát triển của công nghệ thì chúng ta lại phải đối mặt với sự cần thiết phải tăng cường công tác an ninh. Tính gần gũi, mở rộng và sự phức tạp của Internet làm cho sự cần thiết của an ninh hệ thống thông tin càng trở nên cấp thiết hơn bao giờ hết. Việc kết nối hệ thống mạng thông tin vào các hệ thống mạng như Internet và các hệ thống điện thoại công cộng làm tăng thêm khả năng tiềm ẩn rủi ro đối với hệ thống.

Đồ án này có tham vọng khám phá và kiểm tra các vấn đề có thể có đối với một Hệ thống phát hiện xâm nhập (IDS), một phần rất quan trọng của an ninh máy tính nói riêng và an ninh mạng nói chung. Một IDS tự bản thân nó không thể ngăn cản các security brake, nhưng nó phát hiện các mối hiểm họa bằng cách kiểm soát các hoạt động không mong muốn.

Mục tiêu của đồ án này, kết hợp với kinh nghiệm thực tế và các tham khảo trên mạng, là nhằm xây dựng một hệ thống IDS có khả năng “học” các hành vi tấn công và có thể xác định được các cuộc tấn công mới mà không cần phải cập nhật lại hệ thống. Điều này là khả quan. Một hệ thống uyển chuyển như vậy sẽ không cần thiết phải có một cơ sở dữ liệu cập nhật thủ công của các dấu hiệu tấn công, bên cạnh đó nó còn có thể xác định các cuộc tấn công mới dựa trên các mẫu học và không bị phụ thuộc vào các luật lọc của hãng thứ ba.

3.1.2 Hệ thống phát hiện xâm nhập - IDS

3.1.2.1 IDS là gì?

Khi bạn đặt một đồng hồ báo động trên những cánh cửa và trên những cửa sổ trong nhà của bạn, giống như việc bạn đang cài đặt một hệ thống phát hiện xâm nhập (IDS) trong nhà bạn vậy. Hệ thống phát hiện xâm nhập được dùng để bảo vệ mạng máy tính của bạn điều hành trong một kiểu đơn giản. Một IDS là một phần mềm và phần cứng một cách hợp lí để mà nhận ra những mối nguy hại

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 47

Page 48: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

có thể tấn công chống lại mạng của bạn. Chúng phát hiện những hoạt động xâm phạm mà xâm nhập vào mạng của bạn. Bạn có thể xác định những hoạt động xâm nhập bằng việc kiểm tra sự đi lại của mạng, những host log, những system call, và những khu vực khác mà phát ra những dấu hiệu chống lại mạng của bạn.

Bên cạnh việc phát hiện những cuộc tấn công, hầu hết hệ thống phát hiện xâm nhập cũng cung cấp vài loại cách đối phó lại những tấn công, như việc thiết lập những kết nối TCP.

3.1.2.2 Vai trò, chức năng của IDS

* Phát hiện các nguy cơ tấn công và truy nhập trái phép- Đây là vai trò chính của một hệ thống phát hiện xâm nhập IDS, nó có

nhiệm vụ xác định những tấn công và truy nhập trái phép vào hệ thống mạng bên trong.

- Hệ thống IDS có khả năng hỗ trợ phát hiện các nguy cơ an ninh đe dọa mạng mà các hệ thống khác (như bức tường lửa) không có, kết hợp với hệ thống ngăn chặn xâm nhập IPS giúp cho hệ thống chặn đứng, hạn chế các cuộc tấn công, xâm nhập từ bên ngoài.

* Tăng khả năng hiểu biết về những gì đang hoạt động trên mạngIDS cung cấp khả năng giám sát xâm nhập và khả năng mô tả an ninh để

cung cấp kiến thức tổng hợp về những gì đang chạy trên mạng từ góc độ ứng dụng cũng như góc độ mạng cùng với khả năng liên kết với phân tích, điều tra an ninh nhằm đưa ra các thông tin về hệ thống nhờ đó giúp người quản trị nắm bắt và hiểu rõ những gì đang diễn ra trên mạng.

* Khả năng cảnh báo và hỗ trợ ngăn chặn tấn công- IDS có thể hoạt động trong các chế độ làm việc của một thiết bị giám sát

thụ động (sniffer mode) hỗ trợ cho các thiết bị giám sát chủ động hay như là một thiết bị ngăn chặn chủ động (khả năng loại bỏ lưu lượng khả nghi).

- IDS hỗ trợ cho các hệ thống an ninh đưa ra các quyết định về lưu lượng dựa trên địa chỉ IP hoặc cổng cũng như đặc tính của tấn công.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 48

Page 49: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- Ví dụ: Như mẫu tấn công hoặc bất thường về giao thức hoặc lưu lượng tương tác đến từ những máy chủ không hợp lệ.

- IDS còn có thể cảnh báo và ghi lại các biến cố cũng như thực hiện bắt giữ gói lưu lượng khi phát hiện tấn công để cung cấp cho nhà quản trị mạng các thông tin để phân tích và điều tra các biến cố.

- Ngay sau khi các phép phân tích và điều tra được thực hiện, một quy tắc loại bỏ lưu lượng sẽ được đưa ra dựa trên kết quả phân tích, điều tra đó.

- Tổ hợp của những thuộc tính và khả năng này cung cấp cho nhà quản trị mạng khả năng tích hợp IDS vào mạng và tăng cường an ninh đến một mức độ mà trước đây không thể đạt đến bằng các biện pháp đơn lẻ như bức tường lửa.

3.1.2.3 Mô hình hệ thống IDS mức vật lý

* Hệ thống phát hiện xâm nhập mức vật lý bao gồm ba thành phần chính sau đây:

- Bộ cảm ứng (Sensor): giám sát các lưu lượng bên trong các khu vực mạng khác nhau, nhằm thu thập các thông tin, dữ liệu và hoạt động trong mạng.

- Máy chủ lưu trữ dữ liệu tập trung ( Centralize database server): nơi tập trung lưu trữ thông tin, dữ liệu do các bộ cảm ứng gửi về.

- Giao diện người dùng ( User Interface): giúp người quản trị mạng quản lý, giám sát hệ thống.

3.1.2.4 Cấu trúc và hoạt động bên trong của hệ thống IDS:

Hệ thống phát hiện xâm nhập bao gồm 3 modul chính:- Modul thu thập thông tin, dữ liệu- Modul phân tích, phát hiện tấn công- Modul phản ứng

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 49

Page 50: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

* Modul thu thập thông tin, dữ liệu:- Modul này có nhiệm vụ thu thập các gói tin trên mạng để đem phân tích.- Vấn đề đặt ra trong thực tế là chúng ta cần triển khai hệ thống phát hiện

xâm nhập IDS ở vị trí nào trong mô hình mạng của chúng ta. Thông thường chúng ta sẽ đặt IDS ở những nơi mà chúng ta cần giám sát.

- Có hai mô hình chính để thu thập dữ liệu đó là : + Mô hình ngoài luồng. + Mô hình trong luồng.

Mô hình thu thập dữ liệu ngoài luồng- Trong mô hình ngoài luồng không can thiệp trực tiếp vào luồng dữ liệu.

Luồng dữ liệu vào ra hệ thống mạng sẽ được sao một bản và được chuyển tới modul thu thập dữ liệu .

- Theo cách tiếp cận này hệ thống phát hiện xâm nhập IDS không làm ảnh hưởng tới tốc độ lưu thông của mạng.

Mô hình thu thập dữ liệu trong luồng

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 50

Page 51: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- Trong mô hình này, hệ thống phát hiện xâm nhập IDS được đặt trực tiếp vào luồng dữ liệu vào ra trong hệ thống mạng, luồng dữ liệu phải đi qua hệ thống phát hiện xâm nhập IDS trước khi đi vào trong mạng.

- Ưu điểm của mô hình này, hệ thống phát hiện xâm nhập IDS trực tiếp kiểm soát luồng dữ liệu và phản ứng tức thời với các sự kiện an toàn... tuy nhiên nó có nhược điểm là ảnh hưởng đáng kể đến tốc độ lưu thông của mạng.

* Module phân tích, phát hiện tấn công

Đây là modul quan trọng nhất nó có nhiệm vụ phát hiện các tấn công. Modul này được chia thành các giai đoạn: Tiền xử lý, phân tích, cảnh báo. Tiền xử lý: Tập hợp dữ liệu, tái định dạng gói tin.

- Dữ liệu được sắp xếp theo từng phân loại, phân lớp. - Xác định định dạng của của dữ liệu đưa vào (chúng sẽ được chia nhỏ theo từng phân loại). - Ngoài ra, nó có thể tái định dạng gói tin (defragment), sắp xếp theo chuỗi.

Phân tích:- Phát hiện sự lạm dụng (Misuse detection models): dựa trên mẫu, ưu

điểm chính xác.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 51

Page 52: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

+ Phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện giống với

các mẫu tấn công đã biết trước.

+ Ưu điểm: phát hiện các cuộc tấn công nhanh và chính xác, không đưa

ra các cảnh báo sai làm giảm khả nǎng hoạt động của mạng và giúp các người

quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình.

+ Nhược điểm: là không phát hiện được các cuộc tấn công không có

trong cơ sở dữ liệu, các kiểu tấn công mới, do vậy hệ thống luôn phải cập nhật

các mẫu tấn công mới.

- Phát hiện tình trạng bất thường (Anomaly detection models): dựa trên

sự bất thường: Ban đầu chúng lưu giữ những mô tả sơ lược về các hoạt đọng

bình thường, các cuộc tấn công xâm nhập gây ra các hoạt động bất bình thường

và kỹ thuật này phát hiện ra các hoạt động bất bình thường đó.

+ Ban đầu, chúng lưu giữ các mô tả sơ lược về các hoạt động bình thường

của hệ thống.

+ Các cuộc tấn công xâm nhập gây ra các hoạt động bất bình thường và

kỹ thuật này phát hiện ra các hoạt động bất bình thường đó.

Phát hiện dựa trên mức ngưỡng

Phát hiện nhờ quá trình tự học

Phát hiện dựa trên những bất thường về giao thức

+ Ưu điểm: có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dò sự lạm dụng.

+ Nhược điểm: thường tạo ra một số lượng các cảnh báo sai làm giảm hiệu suất hoạt động của mạng. Cảnh báo: Quá trình này thực hiện sinh ra các cảnh báo tùy theo đặc điểm và loại tấn công, xâm nhập mà hệ thống phát hiện được.

* Modul phản ứng:- Đây là một điểm khác biệt giữa hệ thống phát hiện xâm nhập IDS và

một hệ thống ngăn chặn xâm nhập IPS.- Đối với hệ thống IDS, chúng thường chỉ có khả năng ngăn chặn rất hạn

chế bởi vì chúng dựa trên cơ chế phản ứng thụ động (passive response). - Cơ chế phản ứng thụ động không thể ngăn chặn được tổn thất vì nó chỉ

được đưa ra sau khi tấn công đã ảnh hưởng tới hệ thống.- Khi có dấu hiệu của sự tấn công hoặc thâm nhập, modul phát hiện tấn

công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến modul phản ứng.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 52

Page 53: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- Lúc đó modul phản ứng gửi tín hiệu kích hoạt tường lửa thực hiện chức nǎng ngǎn chặn cuộc tấn công hay cảnh báo tới người quản trị.

- Tại modul này, nếu chỉ đưa ra các cảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động. Modul phản ứng này tùy theo hệ thống mà có các chức nǎng và phương pháp ngǎn chặn khác nhau.

3.1.2.5 Phân loại

IDS được chia làm hai loại chính: • HIDS (Host Intrusion Detection System): triển khai trên máy trạm hoặc

server quan trọng, chỉ để bảo vệ riêng từng máy.

• NIDS (Network Intrusion Detection System): đặt tại những điểm quan trọng của hệ thống mạng, để phát hiện xâm nhập cho khu vực đó

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 53

Page 54: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

* So sánh giữa hệ thống HIDS và NIDS:

NIDS HIDSÁp dụng trong phạm vi rộng (theo dõi toàn bộ hoạt động của mạng)

Áp dụng trong phạm vi một Host

Phát hiện tốt những tấn công, xâm nhập từ bên ngoài

Phát hiện tốt những tấn công, xâm nhập từ bên trong.

Phát hiện dựa trên các dữ liệu, thông tin thu thập trong toàn bộ mạng

Phát hiện dựa trên thông tin, dữ liệu trên Host

Độc lập với hệ điều hành Phụ thuộc vào hệ điều hành trên Host đó

Tiết kiệm kinh phí khi triển khai Yêu cầu chi phí caoDễ dàng cài đặt, triển khai Phức tạp khi cài đặt, triển khai

3.2 Khai phá dữ liệu trong IDS

3.2.1 NIDS dựa trên khai phá dữ liệu

Tất cả các hệ thống phát hiện xâm nhập đều dựa trên cơ sở chính là phân tích thống kê hay khai phá dữ liệu. Ở phương pháp này chúng ta có một kho các mẫu hành vi bình thường hay các hành vi vô hại của người dung. Bất kỳ một sự kiện mới nào diễn ra với hệ thống cũng được so sánh với những hồ sơ bình thường này và hệ thống xác định độ lệch của các sự kiện này với những mẫu bình thường. Sau đó nó xác định xem liệu sự kienj này có thể được gán cờ như một hành động xâm nhập hay không. Ở đây có hai kịch bản có thể xảy ra: 1) các hành vi bất thường (hành vi bình thường nhưng được xem như là đáng nghi) không phải là một hành động xâm nhập được gán cờ như một hành động xâm nhập. Điều này sẽ cho kết quả chắc chắn sai. 2) Các hành vi xâm nhập trái phép

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 54

Page 55: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

không được gán nhãn xâm nhập sẽ cho kết quả chắc chắn sai, điều này sẽ gây ra tình trạng nguy hiểm hơn.

Trong hệ thống phát hiện xâm nhập dự trên khai phá dữ liệu, chúng ta cần một cơ sở dữ liệu, tốt nhất là một cơ sở dữ liệu lớn vì khai phá dữ liệu là vô hướng với cơ sở dữ liệu, cái mà sẽ chứa tất cả các hành vi hay các dấu hiệu vô hại. Sau đó kỹ thuật khai phá dữ liệu có thể được áp dụng trên cơ sở dữ liệu này để xác định các mối tương quan và liên kết trong dữ liệu để tìm kiếm một luật mới.

3.2.1.1. Source of Audit Data:

Nguồn dữ liệu kiểm toán chính là các sensor của mạng. Một sensor mạng có thể là internal hay external. Các Internal sensor chủi yếu được sử dụng để xác định các tấn công tới một host xác định. Các External sensor thường dung để giám sát bất kỳ một host nào đó trên mạng. Những sensor này giám sát lưu thông mạng và ghi lại các dữ liệu đó.

Các bản ghi dữ liệu chứa nhiều thuộc tính. Khi thực hiện khai phá dữ liệu cho việc phát hiện xâm nhập có thể sử dụng dữ liệu ở mức độ của TCPDUMP hay cấp độ cảnh báo. Ở cả hai kiểu dữ liệu này chúng ta sẽ tìm thấy những trường về địa chỉ IP nguồn, địa chỉ IP đích, cổng nguồn, cổng đích, giao thức (TCP, UDP ...), thời gian xảy ra và thời gian sống của giao tác. Các thuộc tính nền tảng này cho ta một cái nhìn tốt về các kết nối hoặc các cảnh báo riêng lẻ. Ví dụ, các sensor là một loại phần mềm được cài đặt trên máy trạm hay trên máy cổng kết nối mạng. Nó quét các cổng, tính băng thông của kết nối và nếu có một sự chênh lệch lứn thì nó sẽ nhận dạng như là một tấn công và kết quả là nó sẽ chặn truy cập tới một cổng xác định hay có thể chuyển tiếp vấn đề tới thành phần quản trị hệ thống . Một ví dụ về loại phần mềm này là BSM (Basic Security Module), nó như một phần trong hệ điều hành UNIX Solaris. Một loại phần mềm tương tự cũng có khả năng sử dụng với hệ điều hành Windows, được gọi là BAM (Basic Auditing Module), được phát triển bởi trường Đại học Columbia. Một ví dụ khác về một hệ thống sensor là Network Flight Recorder (NFR), một hệ thống giám sát mạng thương mại mà gồm cả một bộ máy sniffing các gói trong mạng với một ngôn ngữ cấp cao để phiên dịch gói dữ liệu mạng.

Bây gời chúng ta đi vào xem dữ liệu kiểm toán này trong như thế nào. Khi một sensor mạng thu thập dữ liệu của một kết nối, nó sẽ lấy dữ liệu ở dạng không chuẩn. Giả sử rằng một sensor phát hiện rằng một kết nối được thiết lập hay một ai đó đang truy cập mạng thông qua một cổng, nó sẽ lấy các dữ liệu về địa chỉ IP đích, địa chỉ IP nguồn, cổng đích, cổng nguồn, giao thức (TCP, UDP etc.), thời gian thực hiện và khoảng thời gian sống của giao dịch… Tất cả các dữ liệu này vẫn giữ nguyên trong cùng một nơi với nhau chẳng hạn như ở dạng mà con người có thể sẽ không hiểu được dữ liệu bằng cách xem chúng. Chúng ở dạng nhị phân và chúng là các dữ liệu header TCP/IP. Hình sau chỉ cho thấy định dạng header TCP/IP và hình tiếp theo sẽ cho thấy kết quả dữ liệu thu được

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 55

Page 56: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

từ một TCP DUMP. Do đó các phần mềm như BSM, BAM, NFR tổ chức chúng và chỉ cho ta thấy ở dạng mà chúng ta có thể hiểu được và có thể xem các trường thuộc tính như IP nguồn, IP đích, cổng nguồn, cổng đích, thời gian sống…Trước khi tổ chức chúng ta gọi là dữ liệu kiểm toán thô.

Figure 1: TCP Header Format/ Format of raw audit binary data

Hình 2: Mẫu dữ liệu TCP DUMP

3.2.1.2 Xử lý dữ liệu kiểm toán thô và xây dựng các thuộc tính

Các dữ liệu kiểm toán được thu thập từ các sensor mạng hoặc từ một nguồn nào đó ở dạng thô và ở định dạng nhị phân. Trước khi sử dụng chúng chúng ta cần xử lý chúng và cần lấy được các luật từ chúng. Nội dung hang đầu và cơ bản ở đây là chúng ta phải xây dựng một cơ sở dữ liệu từ dữ liệu kiểm

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 56

Page 57: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

toán và có một số hiểu biết ban đầu về các luật. Với sự trợ giúp của hai điều này và với thuật toán luật kết hợp chúng ta sẽ có được các tập luật mới về ác tấn công có thể. Sau đó chúng ta có thể ứng dụng những luật này cho các sự kiện sắp xảy ra để phát hiện các tấn công mới chưa được biết.

Trước khi ứng dụng một luật khai phá dữ liệu nào chúng ta cần tiền xử lý dữ liệu kiểm toán thô dạng nhị phân thu được từ các sensor. Việc này được thực hiện bởi TCPDUMP hay BSM. Để tiền xử lý những dữ liệu kiểm toán thô này nhóm làm việc ở trường Đại học Columbia đã sử dụng BAM (Basic Auditing Model) thay vì BSM (Basic Security Model), cái mà được chính họ tạo ra. Tiền xử lý có nghĩa là đầu vào là các dữ liệu kiểm toán thôi và đầu ra sẽ là những dữ liệu kiểm toán đó nhưng ở dạng được tổ chức với các thuộc tính như IP nguồn, IP đích, cổng nguồn, cổng đích, giao thức (TCP, UDP ...), thời gian và khoảng thời gian tồn tại.

Bước tiếp theo là áp dụng một số thuật toán khai phá dữ liệu để tiền xử lý dữ liệu. Những thuật toán này như là thuật toán luật phân nhóm chung, luật phân nhóm, luật kêt hợp và thuật toán frequent episodes. Một vài nghiên cứu đã tập trung vào một luật cụ thể, một số tập trung vào một kết hợp của hai hay ba luật hay một số tập trung vào một vài luật được cải tiến như là luật tạo ra các bất thường nhân tạo. Qua một số phần đã được trình bày, chúng ta sẽ có cái nhìn tổng quát về một số các luật này (luật phân nhóm và luật kết hợp).

3.2.1.3 Các phương thức khai phá dữ liệu trong NIDS

1. Luật phân lớp:Phát hiện xâm nhập có thể được xem như là một vấn đề phân nhóm: ta

phải chia mỗi bản ghi của dữ liệu kiểm toán vào một tập rời rạc các hạng mục có thể, bình thường hay một kiểu xâm nhập cụ thể.

Căn cứ vào tập các bản ghi, cái mà có một thuộc tính là lớp nhãn, thuật toán phân lớp có thể tính một mô hình mà sử dụng các giá trị thuộc tính đúng đắn nhất để biểu diễn cho mỗi khái niệm. Ví dụ, xét các bản ghi kết nối sử dụng giao thức telnet ở hình dưới. Ở đây, hot là đếm số truy cập vào thư mục hệ thống, tạo và thực hiện các chương trình… compromise là thuộc tính đến số lỗi “không tìm thấy” file hay đường dẫn, và “Jump to” các xâm nhập… RIPPER (một thuật toán học máy dựa trên luật chuẩn được phát triển tại trung tâm nghiên cứu ATT) một chương trình học luật phân nhóm, các luật tạo ra cho việc phân nhóm các kết nối telnet và một số các luật được hiển thị trong bảng sau

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 57

Page 58: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Figure 3: Telnet Records ([LS00] page: 232)

Figure 4: Example RIPPER Rules from Telnet Records ([LS00] page: 233)Ở đây, chúng ta thấy rằng quả thật RIPPER chọn các giá trị thuộc tính

duy nhất để xác định các xâm nhập. Những luật này trước tiên có thể được xem xét kỹ và chỉnh sửa bởi các chuyên gia an toàn, sau đó là được kết hợp vào trong hệ thống phát hiện sự lạm dụng. Sự chính xác của một môt hình phân nhóm phụ thuộc trực tiếp vào tập các thuộc tính được cung cấp trong quá trình huấn luyện dữ liệu. Ví dụ nếu các thuộc tính hot, compromised and root shell được chuyển dịch từ các bản ghi trong bảng trên, RIPPER sẽ có thể thực hiện các luật chính xác để nhận dạng các kết nối tràn bộ đệm. Vì thế, việc lựa chọn đúng tập các thuộc tính hệ thống là một bước quan trọng khi thực hiện việc phân nhóm.2. Luật kết hợp:

Một luật kết hợp chủ yếu là luật toán học được tìm thấy hữu ích trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu. Mỗi và mọi mô hình được phát triển tới một mức độ nào đó trong ngữ cảnh này có mối liên hệ theo cách này hay cách khác với một luật kết hợp.

Trong cơ sở dữ liệu, mối liên kết giữa các thành phần dữ liệu có nghĩa là chúng ta suy ra rằng phần tử dữ liệu cụ thể tồn tại bởi vì sự xuất hiện của một số các phần tử dữ liệu trong một giao tác. Mục đích của việc khai phá các luật kết hợp là để tìm ra tất cả các luật kết hợp tiềm ẩn giữa các phần tử dữ liệu.

Nói chung, trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu chúng ta tạo một cơ sở dữ liệu của các sự kiện không có sự xâm nhập và sau đó áp dụng kỹ thuật luật kết hợp vào trong tập dữ liệu đó để tìm ra tất cả các luật khác hoặc các sự kiện sẽ không có sự xâm nhập. Điều này sẽ giúp tìm ra tất cả các hành vi bình thường tiềm ẩn. Sau đó những luật này sẽ được so sánh với bất kỳ một tập phần tử dữ liệu đi vào để xác định liệu đó có phải là một sự xâm

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 58

Page 59: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

nhập hay không. Nhân tố then chốt nhất ở đây là chúng ta phải thiết lập ngưỡng tối thiểu cho mức độ hỗ trợ và tin cậy tối thiểu 3. Láng giềng gần nhất

K-NN xác định liệu hoặc là không một điểm nằm trong một khu vực thưa thớt của các thuộc tính bằng cách tính tổng của các khoảng cách đến những K-láng giềng gần nhất của điểm đó, được gọi tắt là K-NN. Bằng trực giác các điểm trong khu vực dày đặc sẽ có nhiều điểm gầnchúng và sẽ có một điểm nhỏ KNN. Nếu kích cỡ của K vượt quá mức độ thường xuyên của bất cứ loại tấn công trong tập dữ liệu và hình ảnh của các yếu tố tấn công là khác xa các yếu tố dữ liệu thì ngay sau đó phương thức làm việc.

Thuật toán được mô tả như sau:for each data instance i do

for each data instance j dofind D(i, j)=distance between j and i

endKeep the top k-D(i,.) and sum them to get K − NNiif k − NNi > threshold

Intrusion occurredendCác vấn đề chính với các thuật toán này là nó có độ phức tạp tính toán

O(N2) thời gian. Chúng ta có thể tăng tốc độ xử lý bằng cách sử dụng một kỹ thuật tương tự với phân cụm CANOPY. Phân cụm CANOPY được sử dụng như một phương tiện để chia không gian thành các không gian con nhỏ hơn để loại bỏ sự cần thiết phải kiểm tra tất cả các điểm dữ liệu. Chúng ta sử dụng các cụm như là một công cụ để làm giảm thời gian tìm kiếm k-láng giềng gang nhất. Trước tiên chúng ta phân cụm dữ liệu bằng cách sử dụng thuật toán phân cụm có chiều rộng cố định của phần trước với một biến mà chúng ta đặt mỗi phần tử váo chỉ có một nhóm. Sau khi dữ liệu được phân cụm chiều rộng w, chúng ta có thể tính các k-láng giềng gần nhất cho một điểm x bằng cách tận dụng các ưu điểm của các thuộc tính.

Chúng ta biểu diễn c(x) như là điểm trung tâm của nhóm có chứa một điểm x. Đối với một nhóm c và một điểm x chúng ta sử dụng các ký hiệu d(x; c) để biểu diễn khoảng cách giữa điểm và điểm trung tâm cụm. Đối với bất kỳ hai điểm x1 và x2 , nếu các điểm nằm trong cùng một cụm

dφ (x1 , x2 ) ≤ 2wvà trong tất cả các trường hợp

dφ(x1 , x2 ) ≤ dφ(x1 , c(x2 )) + wdφ(x1 , x2 ) ≥ dφ(x1 , c(x2 )) − wCho C là một tập hợp các cụm. Ban đầu C có chứa tất cả các cụm trong

các dữ liệu. Tại bất cứ bước nào trong thuật toán, chúng ta có một tập hợp các điểm có khả năng là một trong những điểm k-láng giềng gần nhất. Chúng ta biểu diễn tập này là P. Chúng ta cũng có một tập các điểm trong thực tế, là một trong

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 59

Page 60: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

các điểm k-láng giềng gần nhất. Chúng ta biểu diễn bằng tập K. Ban đầu K và P là rỗng. Chúng ta tính khoảng cách từ x đến từng cụm. Đối với các cụm với các trung tâm gần với x nhất, chúng ta xoá bỏ nó từ C và thêm vào tất cả các điểm của nó vào P. Chúng ta tham khảo hoạt động này như là "mở rộng" nhóm. Chìa khóa của các thuật toán này là chúng ta có thể có được một ràng buộc thấp hơn khoảng cách từ tất cả các điểm trong các cụm của tập C bằng cách sử dụng công thức trên:

Các thuật toán thực hiện sau đây. Đối với mỗi điểm x i P, chúng ta tính d(x;xi). Nếu d(x; xi) <dmin , chúng ta có thể đảm bảo rằng xi là điểm gần x hơn sau đó tất cả các điểm trong các cụm của C. Trong trường hợp này, chúng ta loại bỏ xi khỏi P và thêm nó vào K. Nếu chúng ta không thể đảm bảo việc này cho bất kỳ phần tẻ của P (bao gồm cả các trường hợp mà nếu P là trống rỗng), sau đó chúng ta "mở" cụm gần nhất bằng cách thêm tất cả các điểm vào P, và bỏ cụm đó khỏi C. Chú ý rằng khi chúng ta loại bỏ các cụm khỏi C, dmin sẽ tăng. Sau khi K có k phần tử, chúng ta kết thúc. Hầu hết các tính toán được chi phí kiểm tra khoảng cách giữa các điểm trong D tới trung tâm của cụm. Điều này có hiệu quả đáng kể hơn việc tính khoảng cách giữa các cặp điểm của tất cả các điểm. Sự lựa chọn của chiều rộng w hiện không ảnh hưởng đến kết quả k-NN, nhưng thay vì chỉ ảnh hưởng đến các kết quả tính toán. Bằng trực giác, chúng ta muốn chọn một w cái mà chia dữ liệu vào các cụm có kích thước hợp lý.4. Phân cụm

Mặc dù đã được đề cập đến, nhưng phân cụm huấn luyện trung tâm phát hiện bất thường không giám sát. Điều này là bởi vì phân cụm tìm kiếm các bất thường theo mặc định và không có yêu cầu làm việc cao được thực hiện. Chúng ta sẽ xem xét một trong những phương pháp tiếp cận. Mục tiêu đầu tiên của các thuật toán của chúng ta là tính có bao nhiêu điểm là "gần" với từng điểm trong không gian thuộc tính. Một tham số cho các thuật toán là một bán kính w còn gọi tắt là chiều rộng cụm. Đối với bất kỳ một cặp điểm x1 và x2 , chúng ta xem xét hai điểm "gần" nhau, nếu khoảng cách giữa chúng là nhỏ hơn hoặc bằng w, d (x1 , x2 ) <w với khoảng cách được xác định trong phạm vi hàm hạt nhân. Đối với mỗi điểm x, chúng ta xác định N (x) là số điểm mà nằm trong vòng w của điểm x. Một cách hình thức hơn ta xác định như sau:

(1)Những tính toán đơn giản của N(x) cho tất cả các điểm có một phức tạp

tính toán O(N2) trong đó N là số điểm. Lý do là chúng ta phải tính đến những khoảng cách giữa các cặp tất cả các điểm. Tuy nhiên, bởi vì chúng ta là chỉ quan tâm đến việc xác định các outliers là gì, chúng ta có thể tính toán gần đúng một cách có hiệu quả như sau. Trước tiên chúng ta thực hiện phân cụm chiều rộng cố

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 60

Page 61: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

định trên toàn bộ dữ liệu với cụm có chiều rộng w. Sau đó, chúng ta gán nhãn các điểm vào trong các cụm nhỏ như các bất thường. Một thuật toán phân cụm chiều rộng cố định được mô tả như sau. Điểm đầu tiên là trung tâm đầu tiên của nhóm. Đối với tất cả các điểm tiếp theo, nếu nó cách điểm trung tâm của cụm không quá w, nó sẽ được thêm vào cụm đó. Nếu không nó là một trung tâm của một nhóm mới. Lưu ý rằng một số điểm có thể được thêm vào nhiều cụm. Thuật toán phân cụm chiều rộng cố định đòi hỏi chỉ có một trải qua tập dữ liệu (only one pass through the data). Độ phức tạp của thuật toán là O(cn) có c là số cụm và n là số lượng các điểm dữ liệu. Đối với một w hợp lý, c sẽ nhỏ hơn n một cách đáng kể. Lưu ý rằng theo định nghĩa của công thức ở trên, cho từng nhóm, số lượng các điểm gần các trung tâm cụm, N(c), là số điểm trong cụm c. Đối với mỗi điểm x, không phải là một trung tâm của một nhóm, chúng ta xấp xỉ N(x) bằng N(c) đối với cụm c chứa x. Đối với các điểm nằm trong khu vực dày đặc, nơi mà có rất nhiều sự chồng chéo giữa các cụm, điều này sẽ làm cho việc đánh giá không chính xác. Tuy nhiên, đối với các điểm là outliers, sẽ có một số cụm chồng chéo tương đối trong các khu vực này và N(c) sẽ là một cách xấp xỉ chính xác của N(x). Vì chúng ta là chỉ quan tâm đến số điểm là outliers, các điểm trong khu vực dày đặc sẽ cao hơn nhiều so với ngưỡng. Do đó, xấp xỉ là hợp lý trong trường hợp của chúng ta.

Với giải thuật xấp xỉ hiệu quả, chúng ta có thể xử lý một tập dữ liệu lớn hơn đáng kể so với thuật toán đơn giản bởi vì chúng ta không cần phải thực hiện việc so sánh từng cặp điểm.

3.2.2 Tình hình trong nước

Khai phá dữ liệu và khai phá tri thức là một lĩnh vực rất mới ở Việt Nam. Tuy nhiên nó cũng đã len lỏi sâu vào trong rất nhiều lĩnh vực như: sinh học, giáo dục, công nghệ thông tin, trí tuệ nhân tạo, thương mại, bảo mật, viễn thông… Do là một lĩnh vực mới mẻ nên đây là một lĩnh vực thu hút được nhiều sự quan tâm của nhiều người. Song hầu như các nghiên cứu trong lĩnh vực này mới chỉ dừng lại ở cấp độ nghiên cứu chứ chưa đưa vào hoạt động thực tế. Ví dụ ở nước ta đã có các nghiên cứu về lĩnh vực này như: canh tác dữ liệu và ứng dụng khai khoáng dữ liệu vào trong y học để chuẩn đoán bệnh tự động, ứng dụng khai phá dữ liêu nhận dạng vân tay, dịch tự động, phân tích số liệu thống kê, phân tích số liệu điện thoại trong viễn thông, phân tích hành vi mua sắm của người dùng, sắp xếp thời khoá biểu, ứng dụng khai phá dữ liệu trong phân tích tài chính ngân hàng thương mại để hỗ trợ quyết định trong kinh doanh ngân hàng… Riêng trong lĩnh vực an ninh thì hầu như chưa có một kết quả nghiên cứu cụ thể nào về việc ứng dụng khai phá dữ liệu mà chỉ mới ở hình thức sử dụng các sản phẩm an ninh có sử dụng kỹ thuật khai phá dữ liệu như hệ thống phát hiện xâm nhập …được các hãng phát triển.

Trong ứng dụng khai phá dữ liệu trong hệ thống phát hiện xâm nhập, cũng có một số định hướng nghiên cứu nhưng chỉ mới ở dạng tổng quan mà

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 61

Page 62: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

thôi. Nhưng vẫn đề này sẽ tiếp tục được nghiên cứu, phát triển và sẽ có những kết quả đáng kể. Điều này là xu thế chung không chỉ ở Việt Nam mà trên toàn thế giới-Ứng dụng khai phá dữ liệu trong hệ thống phát hiện xâm nhập.

3.3.3 Tình hình thế giới

Kể từ khi khai phá dữ liệu được đưa vào ứng dụng trong phát hiện xâm nhập mạng là rất gần đây, những nghiên cứu sớm nhất trong lĩnh vực cũng là rất muộn năm 1997 hay 1998. Nhưng chỉ trong một thời gian ngắn như vậy khai phá dữ liệu đã có thể thu hút được những quan tâm đáng kể trong các nghiên cứu, và các nghiên cứu trong lĩnh vực này vẫn tiếp tục được mở rộng.

3.3.3.1 Nghiên cứu sớm nhất

1. Phát triển lọc phát hiện xâm nhập tuỳ chỉnh sử dụng khai phá dữ liệu: Các hệ thống phát hiện xâm nhập điển hình nối kết các dấu hiệu của lưu

thông đi vào với các dấu hiệu xác thực và do đó phát hiện xâm nhập, cái mà cơ bản là hệ thống phát hiện lạm dụng. Nhưng những dấu hiệu của các xâm nhập cũng có thể gắn liền với việc xác thực người dung, kết quả là cảnh báo lỗi. Phương pháp tiếp cận phát triển trong mô hình này là để phát triển các bộ lọc tuỳ chỉnh có thể giảm các cảnh báo sai dựa trên các hành vi bình thường đã được nhận biết trong một môi trường cụ thể. Nhiều các hành vi bình thường được xem như là các tấn công bởi các cảnh báo sai. Mối quan tâm chính ở đây là liệu chúng ta có thể nhận biết các mẫu bình thường và nhận dạng chúng trong một dòng cảnh báo sau đó chúng ta dễ dàng lọc chúng ra và giảm đáng kể tỷ lệ các cảnh báo sai. Khó khăn đối với phương pháp tiếp cận này là việc xây dựng những bộ lọc và định nghĩa những mẫu bình thường. Điều đó cũng cần một nỗ lực đáng kể của con người. Để giảm sức lực này Clifton và Gengo đã sử dụng kỹ thuật khai phá dữ liệu trong phương pháp của họ.

Clifton và Gengo phát triển các bộ lọc dựa trên chuỗi các cảnh báo. Ý tưởng đó là một chuỗi các hành động được xem là bình thường trong một môi trường không giống như là hành vi bình thường trong môi trường khác. Vì thế một hành động bình thường có thể nguy hại trong môi trường khác và hành động đó sẽ được gán cờ là một hành động bình thường trong môi trường đó. Nhưng trong thực tế hành động đó không phải là một điều bất thường hay đúng hơn nó là một hành động vô hại. Sự hiểu sai này có thể dẫn đến một cảnh báo sai. Nhưng nó không giống như một chuỗi đầy đủ các hành động bình thường sẽ được sao lại trong một xâm nhập. Vì thế các cảnh báo là một phần của một chuỗi bình thường hoàn chỉnh có thể bị bỏ qua. Họ sử dụng “Frequent Episodes” để nhận dạng các chuỗi thường xảy ra của các cảnh báo. Một episode là một chuỗi các cảnh báo xảy ra trong một khoảng thời gian window cụ thể. Và một frequent episode là một chuỗi xuất hiện nhiều lần trong nhiều khoảng thời gian window. Đôi khi có thể có các hành động xem vào giữa cácfrequent episode mà không liên quan. Thật khó để phát hiện các frequent

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 62

Page 63: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

episode trước sự có mặt của các hành động không liên quan và kỹ thuật khai phá dữ liệu tỏ ra có hiệu quả ở điểm này để phát hiện các chuỗi thường xuyên nhất một cách hiệu quả và tự động hoá.

Figure 8: Ví dụ về các chuỗi thường xuyên có hành động xen vào hoặc nhiễuMục đích chính trong báo cáo này là nhận dạng các chuỗi các cảnh báo

được gây ra bởi các hành động bình thường. Các đoạn thường xuyên là các chuỗi cảnh báo thường xảy ra. Những đoạn thường xuyên này là rất quan trọng bởi vì hai điểm sau:

• Một chuỗi phổ biến của các cảnh báo không thể là một xâm nhập. Bởi vì những kẻ tấn công sẽ không thử cùng một thứ lặp đi lặp lại nếu không chúng bị phát hiện. Các hành động bình thường được thực hiện thường xuyên hơn và một đoạn thường xuyên là kết quả của một hành vi bình thường.

• Việc phân tích các chuỗi thường xuyên và tối thiểu chúng từ danh sách các tấn công có thể sẽ giảm thiểu tối đa nhất trong dòng các cảnh báo lỗi bởi vì luôn có nhiều hành động bình thường hơn cá hành động nguy hiểm.

Trong thực nghiệm của họ, họ phân tích trên một triệu các cảnh báo xâm nhập thu được từ 7 cảm biến trong một mạng. Khoảng thời gian thực nghiệm của họ là hai tuần. Họ tải các file log vào trong một cơ sở dữ liệu quan hệ. Sơ đồ cơ bản của log này giống như Log(Event, FromIP, ToIP, time). Sau khi họ sử dụng một thuật toán được gọi là “Query Flocks”, dựa trên một thuật toán khai phá luật kết hợp mở rộng để phát hiện các chuỗi thường xuyên. Thuật toán Query Flocks đem lại sự linh hoạt trong việc quản lý cac mẫu phức tạp hơn thuật toán các Frequent Episode.

Tiêu điểm chính của họ là làm gia tăng công nghệ khai phá vào một hệ thống phát hiện xâm nhập đã tồn tại. Họ không đưa ra bất kỳ một thuật toán mơi nào nhưng họ đề xuất một mô hình sử dụng thuật toán :frequent episode rule” đã biết. Mô hình được họ đưa ra như sau:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 63

Page 64: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Figure 9: Developing custom filters with data mining ([CG00] page: 2)Trong mô hình này họ sử dụng một hệ thống phát hiện xâm nhập mạng

thương mại đã có (họ không đề cập một hệ thống cụ thể nào mà quan tâm đến hệ thống phát hiện sự lạm dụng đã có sẽ làm việc như thế nào) cái mà thu thập dữ liệu bản ghi các kết nối từ các cảm biến và thực hiện các hành động cơ bản và như một hệ thống đầu ra sinh ra các cảnh báo. Trước đó khai phá dữ liệu chưa hề đi vào hoạt động trong hệ thống phát hiện xâm nhập và tất cả hệ thống là hệ thống phát hiện sự lạm dụng dựa trên phát hiện các dấu hiệu. Vì thế nó cố gắng kết nối với những dấu hiệu bình thường, nếu không tìm thấy thì nó sẽ được gán cờ như là một cảnh báo. Và như thế sẽ dẫn đến kết quả có rất nhiều các cảnh báo sai. Sau đó họ cho các cảnh báo này đi qua các bộ lọc tuỳ chỉnh. Trong bộ lọc này sử dụng các luật frequent episode họ cố tìm ra một phần đầy đủ của một chuỗi bình thường. Sau đó các cảnh báo được phát ra cho các mẫu thường xuyên đó bị bỏ qua và chỉ có phần các cảnh báo xâm nhập còn lại được đựa qua công cụ khai phá dữ liệu (dựa trên thuật toán Query Flocks, là sự mở rộng thuật toán khai phá luật kết hợp), nơi mà nó có thể sử dụng kỹ thuật khai phá dữ liệu bất kỳ nào đó để tìm kiếm các mẫu xâm nhậphoặc nói một cách khác sau đó toàn bộ hệ thống cũng có thể thực hiện việc phát hiện bất thường.

Trong nghiên cứu này, cơ bản họ không phát triển một mô hình mới. Trọng tâm chính của họ là lọc các cảnh báo sai sử dụng thuật toán được thực thi trước (Frequent Episodes và Query Flocks). Họ chủ yếu chỉ tra rằng những thuật toán nàu có thể được sử dụng để giảm các cảnh báo sai.

Ưu điểm chính trong hướng tiếp cận của họ là định nghĩa của họ về việc sử dụng các bô lọc có thể được thực thi dễ dàng trong bất kỳ hệ thống phát hiện xâm nhập nào đã có. Họ cũng giữ công cụ khai phá dữ liệu riêng biệt, cái mà có thể được chèn vào bất kỳ hệ thống phát hiện xâm nhập nào có sẵn. Hơn nữa công cụ khai phá dữ liệu không phải quản lý quá nhiều dầu vào.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 64

Page 65: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Yếu điểm chính trong mô hình của họ là họ sử dụng hệ thống phát hiện lạm dụng và các công cụ khai phá dữ liệu độc lập nhau ở hai nơi nhưng hiện nay có hệ thống phát hiện xâm nhập dựa trên những bất thường như ADAM cái mà có thể thực thi đồng thời hai việc cùng một lúc.

3.3.3.2 Nghiên cứu muộn hơn

1. ADAM: Một thử nghiệm về việc thực hiện việc ứng dụng khai phá dữ liệu trong hệ thống phát hiện xâm nhập

ADAM là một nghiên cứu quan trọng nhất trong lĩnh vực này trong thời điểm 2001-2002. Rất nhiều nghiên cứu được tiến hành để cải tiến thuật toán này sau đó. ADAM sử dụng kết hợp giữa luật kểt hợp và phân nhóm để phát hiện tấn công trong vết kiểm toán TCP Dump. Đầu tiên, ADAM thu thập các tập dữ liệu bình thường, được biết như là thường xuyên bằng cách khai phá vào trong mô hình này. Thứ hai là cho nó chạy một thuật toán trực tuyến để tìm những kết nối cuối và so sánh chúng với dữ liệu được khai phá đã biết và loại bỏ những dữ liệu được xem là bình thường. Với các hành vi nguy hiểm thì sau đó sử dụng một thành phần phân nhóm đã được huấn luyện trước để phân nhóm các kết nối nguy hiểm như là một loại tấn công đã biết hoắc một cảnh báo sai.

Có hai giai đoạn trong mô hình thực nghiệm này. Trong giai đoạn thứ nhất họ huấn luyện thành phần phân nhóm. Ở giai đoạn này chỉ diễn ra một lần offline trước khi sử dụng hệ thống. Trong giai đoạn thứ hai họ sử dụng thành phần phân nhóm đã được huấn luyện để phát hiện xâm nhập. Chi tiết thuật toán được mô tả ở phần tiếp sau:

Giai đoạn 1:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 65

Page 66: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Figure 11: The training phase of ADAM ([BCJ+01] page: 5)Ở bước đầu tiên này, một cơ sở dữ liệu của các tập phần tử thường xuyên

thông thường attack-free có một độ hỗ trợ cực tiểu, được tạo. Cơ sở dữ liệu này phục vụ như là một tập hồ sơ, cái mà được so sánh sau khi thu được các tập dữ liệu thường xuyên được tìm thấy. Cơ sở dữ liệu hồ sơ được bố trí với các tập phần tử thường xuyên ở một định dạng cụ thể cho các phần attack-free của dữ liệu. Thuật toán được sử dụng trong bước này có thể là một sự kết hợp các thuật toán khai phá dữ liệu thông thường mặc dù họ sử dụng một thuật toán tuỳ biến cho tốc độ tốt hơn. Vì thế, trong bước đầu tiên này họ sẽ tại một hồ sơ các hành vi bình thường. Hồ sơ này chủ yếu chứa các dữ liệu của kết nối mạng bình thường, điều này có nghĩa là hồ sơ này chứa tập giá trị hoặc sự kết hợp của các giá trị IP nguồn, IP đích, cổng nguồn, cổng đích, thời gian kết nối, tem thời gian, giá trị cờ … bình thường. Ở bước thứ hai một lần nữa họ sử dụng dữ liệu được huấn luyện, hồ sơ những hành vi bình thường và một thuật toán trực tuyến cho luật kết hợp cái mà đầu ra của nó chứa các tập phần tử thường xuyên có thể là các tấn công. Các tập phần tử nguy hiểm cùng với một tập các thuộc tính được trích từ dữ liệu bằng một module chọn thuộc tính được sử dụng như huấn luyện dữ liệu cho thành phần phân nhóm là dựa trên cây quyết định. Bây giờ hãy xem xét giải thuật luật kết hợp trực tuyến động làm việc như thế nào. Thuật toán này được lái bằng một cửa sổ trượt với kích thước có thể điều hướng được. Thuật toán cho ra tập phần tử mà nhận được sự hỗ trợ mạnh với hồ sơ trong thời gian kích thước cửa sổ cụ thể. Chúng so sánh tất cả các tập dữ liệu với cơ sở dữ liệu hồ sơ, nếu có sự kết nối thì dữ liệu đó là bình thường. Mặt khác chúng để lại một bộ đếm cái mà sẽ theo dõi sự hỗ trợ của tập phần tử. Nếu độ hỗ trợ vượt qua một ngưỡng xác định thì tập phần tử được gán cờ nguy hiểm. Sau khi thành phần phân nhóm gán nhãn cho tập dữ liệu nguy hiểm như là một tấn công đã biết, cảnh báo sai hay tấn công chưa biết.

Giai đoạn 2:

Figure 12: Discovering intrusion with ADAM (Phase 2) ([BCJ+01] page: 6)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 66

Page 67: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Trong giai đoạn này thành phần phân lớp đã được huấn luyện và có thể phân loại bất kỳ tấn công nào như là đã biết, chưa biết hay là cảnh báo sai. Ở giai đoạn này cũng sử dụng cungd một thuật toán trực tuyến động để sinh ra các dữ liệu đáng ngờ và cùng với module chọn thuộc tính, hồ sơ, những nghi ngờ này được gửi đến phần tử phân lớp đã được huấn luyện. Thành phần phân lớp sau đó cho đầu ra là kiểu tấn công mà dữ liệu đó phù hợp. Nếu là một cảnh báo sai thì thành phần phân lớp loại bỏ dữ liệu đó ra khỏi danh sách các tấn công và không gửi những dữ liệu này tới nhân viên quản lý hệ thống

Do đó, như một kết luận chúng ta có thể nói rằng phần này đã cho thấy một cách hiệu quả để sử dụng kỹ thuật khai phá tại thời điểm đó. Nhược điểm chính của phương pháp này là họ chỉ sử dụng các luật kết hợp và bởi vì kết quả của thành phần phân lớp của họ sinh ra nhiều luật, trong số đó có nhiều luật bị thừa. Họ không có bất kỳ kỹ thuật để chống lại những luật dư thừa và không liên quan đó. Ví dụ giả sử một luật là (A,B) C có nghĩa là A và B xảy ra thì C sẽ xảy ra. Phải thừa nhận rằng nếu B xảy ra thì C sẽ xảy ra. Nhưng thuật toán này sẽ tính B C cũng như một luật khác, có nghĩa là thuật toán này sinh ra các luật mở rộng không cần thiết. Nhưng sau đó, nhiều nghiên cứu được thực hiện theo phương pháp này và nhiều nghiên cứu giới thiệu một loạt các phương pháp (như interestingness) vào trong những xem xét của họ và cải thiện mô hình này.2. Một Framework về việc xây dựng các thuộc tính và cá mô hình cho hệ thống phát hiện xâm nhập (MADAM ID):

MADAMID là một IDS nổi bật trong lĩnh vực này. Trong chương này mục đích của họ là phát triển một phương pháp có hệ thống và tự động hoá hơn để xây dựng IDS. Họ phát triển một loạt các công cụ cái mà có thể áp dụng để đa dạng hoá nguồn dữ liệu kiểm toán để tạo ra các mô hình phát hiện xâm nhập. Chủ đề chính của phương pháp MADAMID là để áp dụng chương trình khai phá dữ liệu để mở rộng dữ liệu kiểm toán được thu thập để tính các mô hình mà thu được một cách chính xác các hành vi tự nhiên hoặc các mẫu của các xâm nhập hay các hành động bình thường. Các thành phần chính của khung làm việc MADAMID bao gồm các thành phần học phân lớp và các siêu lớp, luật kết hợp cho mắt xích phân tích và các đoạn thường xuyên cho việc phân tích chuỗi. Quá trình áp dụng MADAMID như sau:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 67

Page 68: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Figure 13: MADAMID workflow ([LS00] page: 231)Ở bước đầu tiên, dữ liệu kiểm toán thô được thu gom ở dạng nhị phân.

Sau đó chúng được xử lý về dạng thông tin gói mạng ASCII. Ví dụ, ban đầu chúng là các byte ở dạng 0 và 1. Sau đó chúng ta chuyển những giá trị đó về dạng ASCII, để chúng ta có thể dễ dàng hiểu được. Giả sử rằng số 16 bit nhị phân đầu tiên cho ta biết cổng nguồn, do đó chúng ta chuyển 16 bit nhị phân này về dạng hex hay thập phân để chúng ta có thể hiểu được cổng nguồn. Sau khi giải mã tất cả các thông tin đầu đề của gói tin chúng ta khái quát hoá chúng vào các bản ghi kết nối chứa một số các đặc điểm cơ bản như dịch vụ, thời gian kết nối… Các chương trình khai phá dữ liệu khác nhau như luật kết hợp, luật đoạn thường xuyên sau đó được áp dụng vào trong những bản ghi kết nối đó và như một đầu ra họ có được một số các đặc điểm ban đầu và sau đó những đặc điểm này được sử dụng như là các luật trong mô hình. Ví dụ, giả sử trong các bản ghi kết nối chúng ta có được IP nguồn như nhau từ nhiều gói tin cố gắng truy cập vào nhiều IP đích nhưng với cùng một cổng. Trong các bản ghi sự kiện hay các gói tin cho tất cả các thông tin này là rời rạc và chúng được nhóm lại trên cơ sở một của sổ thời gian xác định (trong thực nghiệm của họ là 5 phút) vào các bản ghi bước kết nối/ phiên. Sau khi áp dụng các luật khai phá dữ liệu (kết hợp/ đoạn thường xuyên/ phân nhóm) vào trong các bản ghi này chúng ta đi đếm việc biết được một đặc điểm cái mà nếu điều kiện ở trên xảy ra ngay khi đó, điều này có thể là một điều bất thường hoặc một tấn công và chúng ta thu được một luật miêu tả tình huống này từ giai đoạn này. Cuối cùng luật này được áp dụng vào trong mô hình. Bởi vì tất cả các phương thức khai phá dữ liệu này (luật kết hợp, luật phân đoạn thường xuyên, luật phân nhóm) được mô tả trong ví dụ ở phần 2.2.1 và cấu trúc đực điểm được mô tả trong 2.1.2, chúng không được thảo luận thêm.

MADAM ID gần đây đựa ra các mô hình phát hiện lạm dụng cho hệ thống mạng và host được biết như là các mô hình phát hiện bất thường cho người dung. Ưu điểm chính trong nghiên cứu của họ là họ tập chung xử lý một

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 68

Page 69: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

cách hiệu quả và tự động hoá cho các cấu trúc đặc điểm. Hạn chế của họ là hệ thống của họ hiện đang là hệ thống off-line và họ đang nghiên cứu là thế nào để chuyển đổi nó vào IDS thời gian thực bởi vì hệ thống phát hiện xâm nhập nên là hệ thống thời gian thực để tối thiểu hoá tổn hại an ninh. Một yếu điểm khác trong mô hình này đó là nó chỉ tính các mẫu thường xuyên của các bản ghi kết nối. Nhưng nhiều xâm nhập giống như những cái mà gắn vào tất cả các hoạt động với một kết nối đơn không có các mẫu thường xuyên trong dữ liệu kết nối. Những kiểu xâm nhập này có thể dẫn đến khả năng không phát hiện trong mô hình của họ.

3.3.3.3 Nghiên cứu gần đây và hiện nay

1. Học luật cho phát hiện bất thường (Learning Rules for Anomaly Detection -LERAD):

Trong nghiên cứu này họ trình bày một thuật toán hiệu quả gọi là LERAD (Learning Rules for Anomaly Detection). Họ trình bày nó như một thay thế của giải thuật ADAM. Sự khác biệt chính giữa hai thuật toán này là trong ADAM tạo ra tất cả các luật và các mối quan hệ kết hợp có thể và kết quả là tỷ lệ các cảnh báo sai cũng rất cao. Nói một cách khác LERAD phát sinh ra ít hơn các luât được lựa chọn có sự dư thừa là gần không và ví thế tỷ lệ cảnh báo sai cũng thấp hơn giải thuật ADAM.

Trong giải thuật này, chúng ta trình bày thuật toán cùng với một ví dụ hơn là diễn giải theo lý thuyểt. Giả sử S là tập dữ liệu huấn luyện mẫu.

Figure 14: Sample Training Dataset ([MC03] page: 602)Ở đây có 4 thuộc tính Port, Word1, Word2 và Word3.Bước 1: trong bước này chúng ta sinh ra tất cả các luật và các quan hệ có

thể từ các mẫu. Thuật toán như sau:

Figure 15: LERAD Algorithm ([MC03] page: 602)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 69

Page 70: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Ở dòng đầu tiên của thuật toán, chúng ta chọn ngẫu nhiên hai mẫu S1 và S2 từ các mẫu S. S0, S1 =80, GET, /, HTTP/1.0} và S2 = {80, GET, /index.html, HTTP/1.0}. Sau đó chúng ta nối các thuộc tính của S1 và S2 ở dòng thứ hai. Các thuộc tính được nối kết là (Port, Word1, Word3).

Sau đó ở dòng thứ 3 chúng ta bắt đầu một vòng lặp. Vòng lặp từ 1 tới M, giả định trong trường hợp này M=4. Bây giờ chúng ta đi vào vào lặp ở dòng tiếp theo. Ở đây chúng ta lựa chọn ngẫu nhiên Word1 như là a từ danh sách các thuộc tính A và loại bỏ nó khỏi A. Do đó a=Word1 và A={Port, Word3}.

Với lần đàu tiên m=1 và chúng ta vào trong mô tả if và tạo một luật r1: Word1=GET. Chúng ta thêm luật này vào tập luật. Lần thứ hai m=2 và tập thuộc tính “A” không rỗng. Do đó chúng ta sẽ đi vào trong vòng lặp. Lần này chúng ta loại bỏ ngẫu nhiên thuộc tính khác “Port” như “a”. Vì thế bây giờ a=Port, A={Word3}. Lần này chúng ta sẽ đi đến phần else khi m không bằng 1. S1[Port] = 80 và chúng ta them nó vào như là vế trước của luật thứ hai r2: if Port = 80 then Word1 = GET. Chúng ta them luật này vào tập luật. Lần thứ ba m < 4 và A không rỗng. Chúng ta chọn ngẫu nhiên chỉ một thuộc tính bên trái Word3 và loại nó ra khỏi A. Bây giờ a=Word3 và A={ }. Sau đó chúng ta tới phần else. S1[Word3] = HTTP/1.0. Chúng ta thêm nó như phần trước của r3. r3: if Port = 80 and Word3 = HTTP/1.0 then Word1 = GET. Chúng ta thêm luật này vào tập luật. Lần thứ m=4 và A cũng bằng rỗng. Do đó ta thoát khỏi vòng lặp. Phần này chỉ cho ta thấy được thuật toán sinh các luật như thế nào và toàn bộ tiến trình sẽ tiếp tục cho đến khi sinh ra tất cả các luật. Và cuối cùng tập luật của ta là:

R = {r1: Word1 = GET,r2: if Port = 80 then Word1 = GETr3: if Port = 80 and Word3 = HTTP/1.0 then Word1 = GET

}Bước 2: trong bước này sắp xếp những luật đó theo thứ tự giảm dần và

loại bỏ các luật dư thừa. Để sắp xếp các luật này, chúng ta sử dụng một tỷ lệ n/r, với n là số các mẫu được huấn luyện thoả mãn phần đầu và r là giá trị số được phép. Thuật toán được mô tả như sau:

Figure 16: LERAD algorithm (Part 2) ([MC03] page: 602)Ví dụ, trong trường hợp của chúng ta, sau khi huấn luyện trên S và sắp

xếp theo n/r thì những luật này sẽ là:• r2: if Port = 80 then Word1 = GET (n/r = 2/1)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 70

Page 71: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

• r3: if Port = 80 and Word3 = HTTP/1.0 then Word1 = GET (n/r = 2/1)• r1: Word1 = GET or HELO (n/r = 3/2)Để giải thích rõ chúng ta hãy xem n và r của r3 được chọn như thế nào. Số

các mẫu có word1 = GET hay HELO là 3 và giá trị cho phép của cả hai là 2. Hãy xem một ví dụ khác, với r2, số các mẫu mà luật được nối là 2 (dòng thứ nhất và dòng thứ hai của bảng) và giá trị cho phép ở đây chỉ là GET, do đó r = 1. Giá trị tuỳ ý ở đây của r2và r3 là như nhau.

Loại luật dư thừa: r2 đánh dấu hai giá trị GET trong S. r3 sẽ đánh dấu hai giá trị như vậy và không có giá trị mới, vì thế chúng ta sẽ loại nó. R1 đánh dấu HELO trong mẫu thứ ba them vào các giá trị được đánh dấu từ trước, do đó chúng ta giữ lại luật này.

Vì vậy chúng ta có thể thấy rằng rất nhiều thuật toán hiện này được sử dụng để cải tiến thuật toán ADAM được giới thiệu trong nghiên cứu gần đây. Tất cả mọi người đều cho rằng ADAM như là một ý tưởng và họ đang tập trung vào việc làm thể nào để cải tiến nó.2. Phát hiện xâm nhập dựa trên Entropy:

Trong nghiên cứu này các tác giả sẽ trình bày một cách sơ lược hai mô hình khai phá dữ liệu dựa trên ADAM và khai phá dữ liệu dựa trên Entropy. Sau đó so sánh hai hệ thống và chỉ cho ta thấy được ưu điểm của hệ thống dựa trên Entropy hơn hẳn hệ thống ADAM.

Một phương pháp phát hiện xâm nhập điển hình trên ADAM như sau: 1) Trước tiên xây dựng một hồ sơ của các hành vi bình thường hay các

hành vi vô hại của hệ thống máy tính và mạng. 2) Sau đó những bất thường xa rời những hành vi bình thường này được xem như là các xâm nhập tiền năng. Thuật toán ADAM được sử dụng trong bước 1 để khai thác các luật kết hợp từ cơ sở dữ liệu. Nó tìm tất cả các luật kết hợp có độ hỗ trợ lớn hơn độ hỗ trợ cực tiểu mà người dùng chỉ định. Do đó thuật toán ADAM tìm các chuỗi sự kiện điển hình và phổ biến như là hồ sơ hệ thống.

Mặc dù đây là thuật toán được nghiên cứu sâu và được sử dụng nhiều nhất nhưng nó cũng đòi hỏi việc lựa chọn rất cẩn thận tham số độ hỗ trợ cực tiểu. Ví dụ chúng ta có một cơ sở dữ liệu và có đã tồn tại luật “A” có 100 các phần tử dữ liệu phổ biến với 200 các phần tử dữ liệu trái ngược và một luật khác “B” với 98 các phần tử dữ liệu phổ biến và không có các phần tử dữ liệu trái ngược. Bây giờ nếu ta chọn độ phổ biến cực tiểu là 100, thì nó chỉ chọn luật “A”. Để lấy luật “B” chúng ta sẽ phải thiết đặt giá trị phổ biến cực tiểu nhỏ hơn.

Vì thế điểm yếu của hệ thống ADAM là nó đòi hỏi một sự lựa chọn cẩn thận độ phổ biến cực tiểu. Bởi vì để phân tích các xâm nhập ở một mạng lớn hay mạng thương mại điện tử lớn thì phải thiết đặt giá trị độ phổ biến cực tiểu phải đủ lớn để giảm tối đa các nhiều. Một lần nữa để phân tích các xâm nhập ở một mạng nhỏ, MinSupport phải đủ nhỏ để bắt các đấu vết phạm vi lưu thông mạng. Một điểm nữa là kết quả của ADAM bao hàm các luật kết hợp mâu thuẫn nhau.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 71

Page 72: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Vì thế hầu hết những lần dựa trên việc lựa chọn MinSupport kết quả là nhiễu và đòi hỏi xử lý các kết quả để sử dụng chúng trong hệ thống phát hiện xâm nhập. Đây là lý do tại sao Barbara sử dụng hệ thống học luật phân nhóm trong hệ thống “ADAM” của họ.

Do đó trong nghiên cứu này các tác giả đã đề xuất sử dụng phương thức “khai phá dữ liệu dựa trên Entropy” cho hệ thống phát hiện xâm nhập thay thể cho hệ thống dựa trên APRIORI. Hệ thống chủ yếu dựa trên entropy được gọi một cách chính xác hơn là phương thức “Graph Based Induction (GBI)” cho việc tìm kiếm luật. Thuật toán như sau:

Trong thuật toán này có 4 phần và 3 bước. Bốn phần đó là: Extracted subgraphs, Input graph, Contract input graph, Enumerate pair graph and select pair. Khỏi đầu extracted sub-graph là rỗng nhưng khi thuật toán chạy nó dung các nút để đại diện cho các luật. Trong ví dụ dướ đây chúng ta nhận thấy rằng chúng ta đã có hai luật: A: 4 2 và B: 1 3

Figure 17: Workflow of Entropy based Intrusion Detection ([Yo03] page: 842)Ở bước đầu tiên, chúng ta chuyển đồ thị đầu vào để chuyển đổi nó theo

extracted sub-graphs. Ví dụ, từ extracted sub-graph chúng ta biết 4 2 đại diện cho “A”. Vì thế trong đồ thị đầu vào bất kỳ ở đâu ta tìm thấy 4 2, ta thay nó bằng “A”. Chúng ta tiếp tục tiến hành cùng một thủ tục với “B”.

Ở bước thứ hai, contracted graph được phân tích theo các cách có thể và được phân vào mọi sub-graph có thể được gọi là các cặp. Trong ví dụ này 7 cặp được rút ra.

Tới bước thứ 3, chúng ta chọn cặp tốt nhẩt theo yêu cầu của chúng ta hay cặp phù hợp với một chuẩn xác định. Trong ví dụ này B 7 được chọn và sau đó nó được triết xuất như là 1 3 7 khi B=1 3. Và mối quan hệ 1 3 7 này sẽ được thêm vào extracted sub-graph và sẽ được sử dụng trong phần tiếp theo.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 72

Page 73: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Bắt đầu từ tập rỗng của các extracted sub-graph, thuật toán này có thể trích các sub-graph khác nhau cái mà xuất hiện thường xuyên trong đồ thị đầu vào. Bằng cách lặp lại điều này nó trích ra các sub-graph phức tạp hơn theo cách đi từng bước một.

Ưu điểm của thuật toán này là trong bước thứ 3 nếu chúng ta chọn các cặp xuất hiện thường xuyên hơn MinSupport, thì thuật toán này làm việc như thuật toán APRIORI và nếu ở bước 3 thuật toán tốt nhất được chọn dựa trên entropy trên cơ sở chỉ mục thì nó có thể được xem lại như một sự mở rộng của thuật toán học luật phân lớp truyền thống. Mặc dù trong các hệ thống dựa trên APRIORI và luật phân nhóm họ sử dụng các giá trị thuộc tính bảng thay thế nhưng trong GBI điều này có thể được thực hiện bằng cách xem nút gốc (4, 1, 4, 8) như là các lớp thuộc tính và giá trị của các thuộc tính có thể được xem như các nút kểt nối (2, 5, 6, 3, 7, 2, 6, 6, 3, 9).

Công việc được đưa ra của họ vẫn đang trong giai đoạn nghiên cứu nhưng họ cho thấy một cách thay thế dễ dàng hệ thống APRIORI để khai phá các luật.3. MINDS – Minnesota Intrusion Detection System:

MINDS là một NIDS phổ biến nhất hiện nay. Hệ thống này được phát triển bởi phòng khoa học máy tính trương đại học Minnesota năm 2002. University of Minnesota đang dùng hệ thống này vào trong mạng của họ từ năm 2002 và chúng có khả năng phát hiện nhiều tấn công mới khi chúng được đi vào hoạt động (các ví dụ bao gồm “slammer worm”, “NetBus worm” …).

Có hai loại công nghệ phát hiện bất thường đó là phát hiện bất thường giám sát và không giám sát. Trong phát hiện bất thường có giám sát, đưa ra một tập các dữ liệu bình thường để huấn luyện và đưa một tập dữ liệu mới để kiểm tra và mục đích là để xác định liệu dữ liệu kiểm tra đó là bình thường hay bất thường. Trong hệ thống phát hiện bất thường không giám sát, mô hình cố gắng để phát hiện các hành vi bất thường mà không sử dụng bất kỳ kiến thức nào về dữ liệu huấn luyện. Các hệ thống phát hiện bất thường không giám sát dựa trên các phương pháp thống kê, sơ đồ phân cụm, phát hiện outlier ... MINDS này là một kiểu hệ thống phát hiện bất thường không giám sát.

MINDS sử dụng một kỹ thuật khai phá dữ liệu phù hợp để tự động phát hiện các tấn công vào các hệ thống và mạng máy tính. Mục tiêu dài hạn của MINDS là để address tất cả các hướng phát hiện xâm nhận. Trong nghiên cứu này họ miêu tả chi tiết hai bài viết cụ thể: (1) một kỹ thuật phát hiện bất thường không giám sát cái mà định một tỷ lệ cho mỗi kết nối mạng, tham chiếu các kết nối bất thường như thế nào và (2) là một module dựa trên phân tích các mẫu kết hợp, thu các kết nối mạng đươc đánh giá có tính bất thường cao bằng module phát hiện bất thường.

Luồng của một MINDS được mô tả trong hình sau. Chúng ta sẽ mô tả hệ thống theo từng bước của luồng.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 73

Page 74: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Figure 18: MINDS System ([ELK+04] page: 4)Đầu vào của MINDS là luồng dữ liệu mạng phiên bản 5 thu được bằng

các công cụ luồng (chi tiết có thể xem tại www.splintered.net/sw/flow-tools) thay cho dữ liệu tcpDump. Flowtools chỉ bắt các thông tin tiêu đề gói tin, không bắt nội dung gói tin. Cũng giống như dữ liệu tcpdump thông tin đầu đề chứa các giá trị IP nguồn, IP đích, cổng nguồn, cổng đích, tem thời gian, cờ, thời gian kết nối…Họ sử dụng của sổ thời gian là 10 phút. Tất cả các dữ liệu trong mạng internet được đi qua như các gói. Tất cả các gói tin này có các thông tin đầu và dữ liệu. Hệ thống chỉ bắt thông tin phần đầu của tất cả các gói tin đi qua trong 10 phút cuối. Những dữ liệu đó được lưu trữ và trước khi chúng được chuyển tới hệ thống chính, một bước lọc dữ liệu được tiến hành để loại bỏ những lưu thông mạng được phân tích là không interest trong phân tích. Ví dụ dữ liệu được lọc có thể chứa các lưu thông từ các nguồn không được các thực. Như ở trường Đại học Windsor, khi một truy cập gửi yêu cầu tới một cổng trong khoảng 40000 đến 60000 từ mạng khu trường sở UofW nó được cho phép mặt khác nếu IP nguồn không từ mạng của trường thì truy cập này bị cấm.Giai đoạn 1: sơ đồ đặc điểm

Sau khi chúng ta đi vào hệ thống chính. Giai đoạn đầu tiên trong MINDS là “feature extraction”. Dữ liệu đến ở dạng nhị phân nhưng chúng ta biết định dạng (các byte đại diện cho cái gì) và chúng ta trích những đặc điểm cơ bản từ dữ liệu kiểm toán. Các đặc điểm cơ bản này chứ địa chỉ IP nguồn và IP đích, cổng nguồn và đích, giao thức, cờ, số byte và số gói tin. Với những đặc điểm cơ bản này sau đó các đặc điểm được bắt nguồn được tính toán. Có hai loại đặc điểm được bắt nguồn, (1) các đặc điểm dựa trên cửa sổ thời gian và (2) các đặc

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 74

Page 75: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

điểm dựa trên cửa sổ kết nối. Các đặc điểm dựa trên cửa sổ thời gian được xây dựng để bắt các kết nối theo các nét đặc trưng giống nhau trong T giây cuối. Ví dụ, số kết nối được chuyển tiếp tới cùng một địa chỉ IP đích trong T giây cuối được gọi là count-dest. Các đặc điểm dựa vào cửa sổ kết nối được xây dựng để bắt cá kết nối có nét đặc trưng giống nhay trong N kết nối cuối. Ví dụ, trong N kết nối cuối số các kết nối được chuyển đến cùng một địa chỉ IP đích được gọi là count-dest-conn. Các mẫu của cả hai loại đặc điểm được miêu tả trong bảng dưới

Figure 19: Time-window based features ([ELK+04] page: 4)

Figure 20: Connection-window based features ([ELK+04] page: 5)Giai đoạn 2: phát hiện tấn công đã biếtSau khi chúng ta thu được tất cả các đặc điểm của các kết nối thì bước

tiếp theo là so sánh những đặc điểm này với những bất thường đã biết. Nếu chúng ta tìm thấy một sự liên kết thì chúng ta gửi trực tiếp nó cho thành phần phân tích. Ví dụ, chúng ta làm quen với các đặc điểm dựa trên cửa sổ thời gian khi một IP nguồn đơn cố gắng truy cập tới cùng một cổng của nhiều IP đích nhiều lần trong 3 giây cuối và nếu có tồn tại dấu hiệu của một kiểu tấn công thì chúng ta có thể gửi nó tới thành phần phân tích như là một tấn công mà không có bất kỳ phân vân nào. Bây giờ nếu không có đấu hiệu tấn công của kiểu này thì chúng ta gửi bản ghi kết nối đó tới mudule phát hiện bất thường, cái sẽ thực hiện bước tiếp theo.

Bước 3: phát hiện bất thườngTrong bước này module phát hiện bất thường sẽ sử dụng thuật toán phát

hiện outlier để chỉ định một tỷ lệ bất thường tới mỗi kết nối mạng. Nó chỉ định

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 75

Page 76: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

một mức độ về việc outlier cho mỗi điểm dữ liệu, được gọi là Local Outlier Factor (LOF). Đối với mỗi mẫu dữ liệu, mật độ của các láng giềng được tính trước tiên. LOF của một mẫu dữ liệu cụ thể p đại diện cho tỷ lệ trung bình mật độ mẫu p và mật độ các láng giềng của nó. LOF đòi hỏi các láng giềng của tất cả các điểm dữ liệu được xây dựng. Điều này bap hàm cả việc tính khoảng cách từng cặp điểm của tất cả các điểm dữ liệu, việc này có độ phức tạp O(n²). Khi có hàng triệu tập dữ liệu thì độ phức tạp sẽ rất lớn. Để giảm thiểu độ phức tạp mà một phương pháp chiến trong MINDS. Họ chuẩn bị một tập dữ liệu mẫu từ dữ liệu và tất cả các điểm dữ liệu được so sánh với tập dữ liệu nhỏ, điều này làm giảm độ phức tạp xuống O(n*m), với m là kích thước của tập dữ liệu nhỏ.

Cụm C1 Cụm C2Tập dữ liệu mẫu, p1 trong C1 Tập dữ liệu mẫu, p2 trong C2

Tập dữ liệu mẫu, p4 trong C2Tập dữ liệu mẫu, p3 trong C1 Tập dữ liệu mẫu, p5 trong C2Ví dụ ,For example, ở bảng trên chúng ta có thể thấy rằng cụm C2 dày

hơn cụm C1. Do mật độ thấp ở cụm C1, hầu hết các mẫu q trong C1, khoảng cách giữa bất kỳ tập dữ liệu với các láng giềng của nó lớn hơn khoảng cách của C1. Ví dụ, khoảng cách giữa p1 và p3 cao hơn khoảng cách giữa p2 và p4. Do đó, cho nên p2 sẽ không được xem như là outlier.

Bước thứ 4: phân tích mẫu kết hợpSau khi chỉ định cho mỗi kết nối một tỷ lệ thì 10% các tỷ lệ đầu được đặt

như là lớp bất thường và 30% các tỷ lệ cuối được xem như lớp các hành vi bình thường. 60% các tỷ lệ ở giữa được bỏ qua trong hệ thống của họ. Sau đó những kết nối được gán tỷ lệ này cho đi qua thành phần sinh các mẫu kết hợp.

Figure 21: MINDS Association Analysis Module ([ELK+04] page: 14)Module này khái quát các kết nối mạng được xếp vào những hành vi bất

thường cao bằng module phát hiện bất thường. Mục đích của việc khai phá các

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 76

Page 77: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

mẫu kết hợp là để khám phá các mẫu thường xảy ra trong lớp bất thường hay trong lớp bình thường. Trong bước này họ áp dụng luật kểt hợp để xây dựng các tập luật cho lớp bất thường và lớp bình thường. Ví dụ, xem xét các hành động cho một dịch vụ cụ thể có thể được tóm lược bằng một tập thường xuyên sau:

sourceIP=X, destinationPort=YNếu có nhiều kết nói trong tập thường xuyên được xếp vào mức cao từ

bước trước, thì những tập thường xuyên này có thể là một dấu hiệu thích hợp cho việc them vào một hệ thống dựa vào dấu hiệu. Hay nếu tập thường xuyên sau có tỷ lệ thấp hơn và xuất hiện nhiều lần thì chúng ta có thể nói nó bình thường cái mà là một hành vi duyệt Web.

Protocol=TCP, destinationPort=80, NumPackets=3…6Hệ thống của họ cũng tìm các mẫu trái ngược. Để tìm các mẫu trái ngược

họ sử dụng một số phương thức như tỷ lệ, độ chính xác, phương tiện gợi nhớ và đìêu hoà của độ chính xác và gợi nhớ. Do các phương thức này module này sắp xếp các mẫu và nhóm các mẫu tương tự lại với nhau và biểu diễn chúng trước thành phần phân tích. Các phương pháp về việc sắp xếp các mẫu theo thứ tự được mô tả tổng quan như sau:

Figure 22: Measures for ordering patterns ([ELK+04] page: 13)Xem xét một tập các đặc điểm xảy ra c1 lần trong lớp bất thường và c2

lần trong lớp bình thường. Đồng thời xét n1 và n2 là số các kết nối bất thường và bình thường trong tập dữ liệu. Giả sử rằng chúng ta chỉ quan tâm đến việc tìm các hồ sơ của lớp bất thường, tỷ lệ c1/n1 trên c2/n2 sẽ cho thấy là thế nào để các mẫu tốt có thể phân biẹt những kết nối bất thường với những kết nối bình thường. Tỷ lệ hay độ chính xác đơn lẻ là không đủ bởi vì chúng thường đặc trưng cho một số rất nhỏ các kết nối bất thường. Trong trường hợp rộng hơn, một mẫu hiếm được thực hiện chỉ một lần trong lớp bất thường và không xuất hiện trong lớp bình thường sẽ có giá trị cực đại của tỷ lệ và độ chính xác, và vẫn có thể là không quan trọng. Để giải thích cho độ quan trọng của một mẫu, phương pháp gợi nhớ có thể được sử dụng như là một phương tiện thay thế. Không may, một mẫu có sự gợi nhớ cai có thể không cần thiết là được nhận thức đúng đắn. Biện pháp F1 là một phương tiện điều hoà về độ chính xác và gợi nhớ, cung cấp một sự kết hợp tốt giữa hai biện pháp này.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 77

Page 78: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Sau đó trong bước cuối cùng tổng của tất cả các luật được biểu diễn trước thành phần phân tích và thành phần này có thể nâng cấp hoặc xây dựng hồ sơ bình thường hay có thể gán nhãn những dấu hiệu của một tấn công mới. Đây là cách mà MINDS làm việc như một hệ thống phát hiện xâm nhập không giám sát. TỔNG QUÁT CÁC NGHIÊN CỨU NIDS:Hệ

thốngMisuse/ Anomaly

Dựa trên cảnh báo

Công nghệ khai phá được sử

dụng

Dữ liệu huấn luyện được dùng

Điểm mạnh Điểm yếu

ADAM

Anomaly Không Luật kết hợp, luật phân lớp

TCPDump

Nghiên cứu đi đầu

Sinh ra các luật dư

thừa, đòi hỏi lựa

chọn cẩn thận

minsupportMADAMI

D

Misusevà

anomaly

Không Luật kết hợp, luật phân

nhóm, luật phân đoạn

thường xuyên

TCPDump,

BSM generate

ddata

Xây dựng các đặc

điểm một cách tự

động, hiệu quả

Hệ thống Off-line,

chỉ tính các mẫu thường xuyên của các bản ghi

MINDS

Anomaly Không Outlier,luật kết hợp

NetflowVersion

5

AnomalyScores made

it easy todetermineanomalies

Không xem xét 60% dữ liệu ở giữa có thể chứa các luật qua

trọngCustom ID Filter

s

Anomaly Có luật kết hợp, các phân

đoạn thường xuyên

Dữ liệu được

dinh ra từ bộ

cảm biến

Có thể được thêm vào bất kỳ hệ thống nào

Đòi hỏi chuẩn bị

các bộ lọc tuỳ chỉnh

cho các môi trường khác

nhauLERAD

Anomaly Không Kết hợp, phân lớp

TCPDump

Không có dư thừa

Chọn lựa minsupport

cẩn thậnEntro Anomaly Không Entropy/ Dữ liệu Cách thay Đòi hỏi

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 78

Page 79: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

py based

Graph based kiểm toán nhị

phân

thế của ADAM

Minsupport phải được lựa chọn cẩn thận

Chương 4

XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN TẤN CÔNG DoS

SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU

4.1 Thuật toán phân cụm

4.1.1 Dẫn nhập

Dù hiện nay tình trạng phát tán virus đã trở nên phổ biến, 90% doanh nghiệp khẳng định những cuộc tấn công từ chối dịch vụ đang là vấn đề phiền toái và thường gặp nhất trong công ty.

Từ cuối những năm 90 của thế kỷ trước. Hoạt động này bắt nguồn từ khi một số chuyên gia bảo mật, trong quá trình phát hiện khiếm khuyết hệ thống trên hệ điều hành Windows 98, đã phát hiện ra rằng chỉ cần gửi một gói dữ liệu ping có dung lượng lớn cũng đủ để làm tê liệt một server mục tiêu. Phát hiện này sau đó ngay lập tức được giới hacker sử dụng để triệt tiêu những đối tượng mà họ có ý định tấn công. Từ đây, hình thức sơ khai của DoS (Denial of Service) đã ra đời. Trong khi đó, dạng DDoS (Distributed Denial of Service) thì dựa vào việc gửi một lệnh ping tới một danh sách gồm nhiều server (kiểu này gọi là amplifier, tức là khuếch đại độ rộng mục tiêu), giả dạng là một gói ping để địa chỉ IP gốc được trá hình với IP của mục tiêu nạn nhân. Các server khi trả lời yêu cầu ping này khi đó sẽ làm “lụt” nạn nhân với những phản hồi (answer) gọi là pong.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 79

Page 80: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Do đó phần đồ án này chọn việc nghiên cứu và demo khai phá dữ liệu trong phát hiện tấn công từ chối dịch vụ và kỹ thuật được sử dụng ở đây là kỹ thuật phân cụm. Đây là kỹ thuật phát hiện bất thường không giám sát. Các thuật toán phát hiện bất thường không giám sát có thể được thực hiện trên dữ liệu không gán nhãn, cái mà dễ dàng để có được bởi vì nó chỉ đơn giản là thu thập các dữ liệu kểm toán thô từ một hệ thống. Trong thực tế, phát hiện bất thường không giám sát có nhiều lợi thế hơn hẳn phát hiện bất thường có giám sát. Các lợi thế chính là chúng không yêu cầu một tập dữ liệu hoàn toàn bình thường để huấn luyện. Hơn nữa, tập dữ liệu các hành vi bình thương của người dùng là vô cùng lớn và trong quá trình lấy tập dữ liệu sạch để huấn luyện trong kỹ thuật phát hiện có giám sát thì không thể đảm bảo rằng trong dữ liệu đó không có xâm nhập. Trong khi đó tập các hành vi được gọi là “xâm nhập” thì nhỏ hơn nhiều.

Ngoài ra kỹ thuật này còn có rất nhiều ưu điểm như đã được trình bày ở các phần bên trên.

4.1.2 Các dạng dữ liệu trong phân tích cụm

Giả sử một tập dữ liệu dùng để phân tích cụm chứa n đối tượng (các đối tượng có thể là con người, nhà, tài liệu...). Các thuật toán gom cụm thường xử lý trên một trong hai cấu trúc dữ liệu sau:(1) Ma trận dữ liệu: Biểu diễn n đối tượng, như con người, với p biến (còn được gọi là các phép đo hay các thuộc tính), như tuổi, chiều cao, cân nặng, giới tính.

Ma trận này biểu diễn mối quan hệ đối tượng theo thuộc tính.

(6.1)(2) Ma trận phân biệt: Để biểu diễn khoảng cách giữa hai điểm (đối tượng) trong không gian dữ liệu gồm n đối tượng theo p thuộc tính ta dùng ma trận phân biệt

(6.2)Trong đó d(i,j) là khoảng cách giữa đối tượng i và đối tượng j. Trong trường

hợp tổng quát, d(i,j) là một số không âm và dần về 0 khi 2 đối tượng i và j tương tự nhau. Bởi vì d(i,j) = d(j,i) và d(i,i) =0 nên ta có ma trận 6.2.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 80

Page 81: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

4.2.2.1 Biến trị khoảng

Các biến trị khoảng là độ đo liên tục của các đại lượng tuyến tính đơn giản như trọng lượng, chiều cao, nhiệt độ, tuổi...Các đơn vị đo ảnh hưởng rất nhiều đến kết quả gom cụm. Ví dụ, thay đổi đơn vị đo: Mét thay cho inch cho chiều cao, kg thay cho pound cho cân nặng có thể dẫn đến các cấu trúc cụm khác nhau. Trong trường hợp tổng quát, biểu diễn một biến bởi đơn vị bé sẽ dẫn đến một khoảng lớn cho biến đó và nó ảnh hưởng lớn đến kết quả gom cụm. Để tránh sự phụ thuộc vào việc lựa chọn các đơn vị đo, dữ liệu cần phải được chuẩn hóa. Các phương pháp chuẩn hóa cố gắng đưa tất cả các biến một ảnh hưởng như nhau. Điều này rất hữu ích khi chúng ta chưa có một tri thức tiên nghiệm nào về dữ liệu. Tuy nhiên trong một số ứng dụng, người sử dụng có thể cho một tập các biến nào đó ảnh hưởng nhiều hơn các biến khác. Ví dụ, khi gom cụm các ứng viên cho môn bóng rổ thì chiều cao được ưu tiên hơn cả.

Để chuẩn hóa các phép đo, một sự lựa chọn là chuyển các phép đo ban đầu thành các biến không đơn vị. Đối với một biến f có các số đo x1f, x2f...xnf, sự chuẩn hóa có thể được thực hiện theo các cách sau:

(1) Tính sai số tuyệt đối trung bình sf:

(6.3)

Trong đó mf là giá trị trung bình của f, có nghĩa là:

(2) Tính độ đo chuẩn, hay z-score (chuẩn hóa z):

(6.4)

Dựa vào công thức (6.4) ta thấy rằng sai số tuyệt đối trung bình càng lớn thì hiện tượng cá biệt càng giảm. Do đó độ đo được chọn sẽ ảnh hưởng đến kết quả phân tich mẫu cá biệt.

Các độ đo thông dụng cho biến trị khoảng:(1) Khoảng cách Euclide:

(6.5)Trong đó i = ( , ,…, ), j = ( , ,…, ) là 2 đối tượng dữ liệu n chiều. (2) Khoảng cách Manhattan:

(6.6)Cả hai khoảng cách Euclide và Manhattan đều thõa các yêu cầu toán học của

mộphương trình khoảng cách:a. d(i,j)>=0: Khoảng cách phải là một số không âm.b. d(i,j) = 0: Khoảng cách của một đối tượng đến chính nó bằng không.c. d(i,j) =d(j,i): Khoảng cách là một hàm đối xứng.d. d(i,j) <= d(j,h) + d(h,j): Tính chất bất đẳng thức tam giác.(3) Khoảng cách Minkowski:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 81

Page 82: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

(6.7)

Trong đó p là một số nguyên dương.(4) Khoảng cách có trọng:

(6.8)

Khoảng cách có trọng là sự cải tiến của khoảng cách Minkowski, trong đó có tính đến ảnh hưởng của từng thuộc tính đến khoảng cách giữa hai đối tượng. Thuộc tính có trọng số w càng lớn thì càng ảnh hưởng nhiều đến khoảng cách d. Việc chọn trọng số tùy thuộc vào ứng dụng và mục tiêu cụ thể.

Một biến nhị phân là bất đối xứng nếu có một trạng thái có ý nghĩa quan trọng hơn (thường được gán là 1). Lúc này thường có xu hướng thiên vị trạng thái ưu tiên đó. Ví dụ trong chuẩn đoán y khoa người ta thường ưu tiên một hướng kết luận hơn hướng kia. Do đó những trạng thái chưa rõ ràng (như triệu chứng bệnh chưa rõ ràng) thì cũng có thể kết luận là 1 để ưu tiên cho bước chuẩn đoán chuyên sâu hoặc cách ly theo dõi. Một ví dụ của biến nhị phân bất đối xứng là HIV có 2 trạng thái là dương tính (1) và âm tính (0).

Object i

Object j1 0 sum

1 q r q + r0 s t s + tsum q + s r + t p

Bảng 3.8: Bảng sự kiện cho biến nhị phânXét hai đối tượng i và j có các thuộc tính của đối tượng được biểu diễn bằng

các biến nhị phân. Giả sử các biến nhị phân có cùng trọng số. Ta có bảng sự kiện như bảng 3.8. Trong đó q là số các biến nhị phân bằng 1 đối với cả 2 đối tượng i và j, s là số các biến nhị phân bằng 0 đối với i nhưng bằng 1 đối với j, r là số các biến nhị phân bằng 1 đối với i nhưng bằng 0 đối với j, t là số các biến nhị phân bằng 0 đối với cả hai i và j.

4.2.2.2 Các biến nhị phân

Một biến nhị phân chỉ có hai trạng thái là 0 hoặc 1. Biến nhị phân là đối xứng nếu nếu cả hai trạng thái là tương đương (về mặt ý nghĩa của ứng dụng). Có nghĩa là không có xu hướng thiên vị trạng thái 1. Ví dụ thuộc tính gender có hai trạng thái là male hay female tương ứng với hai trạng thái là 0 và 1.

Sự khác nhau của hai đối tượng dựa trên các biến nhị phân đối xứng (symmetric binary dissimilarity) là:

(6.9)

Sự khác nhau của hai đối tượng dựa trên các biến nhị phân bất đối xứng (asymmetric binary dissimilarity)

(6.10)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 82

Page 83: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Chúng ta có thể đo khoảng cách giữa hai biến nhị phân dựa trên khái niệm tương tự nhau (similarity) thay vì không tương tự nhau

sim(i,j) = 1 - d(i, j) (6.11)Hệ số sim(i,j) được gọi là hệ số jaccard.Ví dụ 6.1: Sự khác nhau giữa các biến nhị phân. Giả sử rằng một bảng các

record của các bệnh nhân (bảng 3.9) chứa các thuộc tính name, gender, fever, cough, test-1, test-2, test-3 và test-4, trong đó name là thuộc tính định danh, gender là một thuộc tính đối xứng, và các thuộc tính còn lại là các thuộc tính nhị phân không đối xứng.

Đối với các giá trị của các thuộc tính không đối xứng, cho các giá trị Y (yes) và P (positive) bằng 1, các giá trị N (no hay negative) bằng 0. Giả sử rằng khoảng các đối tượng (bệnh nhân) được tính dựa trên các thuộc tính không đối xứng.Name Gender Fever Cough Test-1 Test-2 Test-3 Test-4Jack M Y N P N N NMary F Y N P N P NJim M Y Y N N N N… … … … … … … …Bảng 3.9: Một bảng quan hệ trong đó các bệnh nhân được mô tả bằng các biến

nhị phân.Theo phương trình (6.10) khoảng cách giữa các cặp đối tượng là:

Các phép đo chỉ ra rằng Marry và Jim có bệnh không giống nhau bởi vì d(Marry, Jim) là lớn nhất.

4.2.2.3 Các biến phân loại (biến định danh), biến thứ tự, và biến tỉ lệ theo

khoảng

1. Các biến phân loại: Biến phân loại là biến có thể nhận dạng nhiều hơn hai trạng thái. Ví dụ biến màu sắc có thể có các trạng thái đỏ vàng lục và xanh.

Cho số các trạng thái của một biến định danh là M. Các trạng thái có thể biểu thị bằng các chữ cái, kí hiệu, hay một tập các số nguyên như 1, 2, 3..., M. Chú ý rằng các số nguyên này chỉ dùng cho việc trình bày dữ liệu và không biểu diễn một giá trị nguyên cụ thể nào.

Khoảng cách giữa 2 đối tượng i và j theo biến phân loại có thể được tính dựa trên hệ số đối xứng đơn giản:

(6.12)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 83

Page 84: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Trong đó m là số thuộc tính phân loại có giá trị trùng khớp giữa hai đối tượng i và j, p là tổng số thuộc tính phân loại.

Ví dụ 6.2: Sự khác nhau giữa các thuộc tính phân loại. Giả sử chúng ta có dữ liệu mẫu trong bảng 3.10, Ngoại trừ 2 biến object-identifier (biến định danh) và biến test-1 là biến phân loại đã xem xét (chúng ta sẽ sử dụng test-2 và test-3 trong các ví dụ sau).ObjectIdentifier

Test-1(categorical)

Test-2(ordinal)

Test-3(ratio-scaled)

1 Code-A Excellent 4452 Code-B Fair 223 Code-C Good 1644 Code-A Excellent 1,210

Bảng 3.10: Bảng dữ liệu mẫu chứa các biến ở dạng hỗn hợpMa trận phân biệt cho các đối tượng của bảng trên là:

Ở đây chúng ta có một biến phân loại, test-1, nên p = 1. Do đó ma trận phân biệt sau

khi tính toán là:

2. Biến thứ tự: Biến thứ tự là biến trên một tập giá trị có xác định quan hệ thứ tự trên đó, ví dụ hạng xếp loại huy chương vàng, bạc, đồng. Biến thứ tự có thể rời rạc hoặc liên tục. Các giá trị của một biến thứ tự f có M f trạng thái. Các trạng thái được sắp xếp định nghĩa hạng (rank): 1,..., Mf.

Giả sử rằng f là một biến từ một tập các biến thứ tự mô tả n đối tượng. Độ đo cho biến thứ tự f được xây dựng như sau:

(1) Giá trị của biến f cho đối tượng thứ i là x if, và f có Mf trạng thái đã được sắp xếp, biểu diễn các cấp 1,..., Mf. Thay thế xif bởi cấp tương ứng của nó, rif

{1,..., Mf}.(2) Ánh xạ hạng từng biến vào đoạn [0,1] bằng cách thay thế đối tượng i

trong biến f bởi:

(6.13)

(3) Tính độ phân biệt theo các phương pháp đã biết đối với biến trị khoảng zif.

Ví dụ 6.3: Sự khác nhau giữa các biến thứ tự. Giả sử chúng ta có dữ liệu mẫu cho trong bảng 6.3. Biến test-2 là biến thứ tự. Có 3 trạng thái cho biến test-2

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 84

Page 85: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

theo trật tự sau: fair, good, và excellent, do đó Mf = 3. Đối với bước 1, chúng ta thay thế mỗi giá trị của test-2 bởi rank của nó, 4 đối tượng lần lượt được gán cho các rank: 3, 1, 2, 3.

Bước 3 chuẩn hóa rank bằng cách ánh xạ theo công thức (6.13) ta được rank 1 --> 0 rank 2 --> 0,5 và rank 3 --> 1.0. Đối với bước 3, chúng ta sử dụng khoảng cách Euclide, kết quả thể hiện trong ma trận phân biệt sau đây:

3. Biến theo thang tỉ lệ (ratio-scaled variable):Biến tỉ lệ theo khoảng là độ đo dương trên các tỉ lệ phi tuyến. Ví dụ: Các đại

lượng được biểu diễn theo hàm mũ chẳng hạn: AeBt. Trong đó A, B là các hằng số dương và t là biến biểu diễn thời gian.

Trong đa số trường hợp ta không thể áp dụng trực tiếp phương pháp độ đo cho các biến trị khoảng cho loại biến này vì có thể gây sai số lớn.

Phương pháp tốt hơn là tiền xử lý dữ liệu bằng cách chuyển sang logarit yif=log(xif) sau đó mới áp dụng trực tiếp cho các biến trị khoảng hoặc thứ tự.

Ví dụ 6.4: Sự khác nhau giữa các biến tỉ lệ theo khoảng. Quay lại dữ liệu mẫu cho trong bảng 6.3. Biến test-3 là biến tỉ lệ theo khoảng. Áp dụng phương pháp chuyển đổi logarit ta thu được ma trận phân biệt sau:

4. Biến có kiểu hỗn hợpCSDL có thể chứa cả 6 loại biến nêu trên. Ta có thể dùng công thức được

gán trọng để kết hợp các hiệu quả của các biến thành phần.

Trong đó được tính như sau:- =0 khi xjf hay xif không tồn tại hoặc xif = xjf = 0.- = 1 trong các trường hợp khác.Ngoài ra dij(f) được tính như sau:- Đối với các biến trị khoảng hay thứ tự: d ij(f) là khoảng cách đã được chuẩn

hóa.- Đối với các biến nhị phân hay phân loại:+ dij(f) = 0 khi xif = xjf = 0+ dij(f) = 1 trong các trường hợp khác

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 85

Page 86: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

4.2.3 Các phương pháp gom cụm

4.2.3.1 Các phương pháp phân hoạch

Đây là phương pháp phân hoạch CSDL D có n đối tượng thành k cụm sao cho

i) Mỗi cụm chứa ít nhất một đối tượng.ii) Mỗi đối tượng thuộc về một cụm duy nhất.iii) k là số cụm được cho trước.Đây là tiêu chuẩn chung của các phương pháp phân hoạch truyền thống. Gần

đây xuất hiện nhiều phương pháp phân hoạch dựa trên lý thuyết tập mờ thì tiêu chuẩn (ii) là không quan trọng mà thay vào đó là mức thuộc về một cụm của một đối tượng nào đó, mức độ này có giá trị từ 0 đến 1. Các phương pháp tiếp cận phân hoạch:

K-means: Mỗi cụm được biểu diễn bằng giá trị trung bình của các đối tượng trong cụm.

K-medoids: Mỗi cụm được biểu diễn bằng một trong các đối tượng nằm gần tâm của cụm.

4.2.3.2 Các phương pháp phân cấp

Đây là các phương pháp tạo phân cấp cụm chứ không phải tạo các phân hoạch các đối tượng. Phương pháp này không cần xác định số cụm ngay từ đầu. Số cụm sẽ do khoảng cách giữa các cụm hoặc do điều kiện dừng quyết định. Hai cách tiếp cận gồm: Gộp và Tách.

Gộp:(1) Xuất phát từ mỗi đối tượng và một cụm chứa nó.(2) Nếu 2 cụm đủ gần nhau (dưới một ngưỡng nào đó) sẽ được gộp lại

thành một cụm duy nhất.(3) Lặp lại bước 2 đến khi chỉ tất cả các cụm được gộp lại thành 1 cụm

hay đến khi điều kiện dừng.Tách:

(1) Xuất phát từ một cụm duy nhất là toàn bộ không gian.(2) Chọn cụm có độ phân biệt cao nhất (ma trận phân biệt có phần tử lớn

nhất hay trị trung bình lớn nhất) để tách đôi. Bước này sẽ áp dụng các phương pháp phân hoạch đối với cụm đã chọn.

(3) Lặp lại bước 2 cho đến khi mỗi đối tượng thuộc một cụm hoặc đạt điều kiện dừng (đủ số cụm cần thiết hay khoảng cách giữa các cụm đạt ngưỡng đủ nhỏ).Ngoài ra còn có các phương pháp như:

- Phương pháp dựa trên mật độ.- Phương pháp dựa trên mô hình.- Phương pháp dựa trên lưới.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 86

Page 87: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

4.2.4 Thuật toán gom cụm bằng phương pháp K-means

Thuật toán k-means phân hoạch một tập n object vào trong k cluster sao cho các đối tượng trong một cluster có độ tương tự cao và các đối tượng trong các cluster khác nhau có độ tương tự thấp. Mỗi cluster được đại diện bởi trọng tâm (cluster mean) của nó. Phương pháp k-means phân hoạch một đối tượng vào các cụm dựa trên khoảng cách của đối tượng đó đến trọng tâm của các cụm. Một đối tượng được phân vào một cluster nếu khoảng cách từ đối tượng đó đến cluster đang xét là nhỏ nhất. Sau đó các cluster mean được cập nhật. Quá trình lặp đi lặp lại cho đến khi hàm mục tiêu đồng qui. Một cách điển hình, hàm mục tiêu square-error được sử dụng:

Trong đó, p là đối tượng thuộc cluster Ci, mi là trọng tâm của cluster Ci.

4.2.4.1 Thuật toán k-means

Input:+ k: Số các cluster.+ D: Một tập dữ liệu chứa n đối tượng

Output: Một tập k cluster.Method:

(1) Chọn ngẫu nhiên k đối tượng từ D làm trọng tâm ban đầu của k cluster;(2) repeat(3) Gán (hay gán lại) mỗi đối tượng cho cluster mà nó gần nhất, dựa trên việc so sánh các khoảng cách của đối tượng đó đến các cluster..(4) Cập nhật các giá trị trung bình của các cluster (5) until không có sự thay đổi trong các clusterVí dụ 6.5: Gom cụm bằng phân hoạch k-means. Giả sửu có một tập các

đối tượng được phân bố trong không gian như hình (6.1 a). Cho k=3.

Hình 3.5: Minh họa thuật toán k-meansHình 3.5 a: Chọn ngẫu nhiên 3 đối tượng làm 3 trọng tâm ban đầu của 3

cluster. Ba đối tượng này được đánh dấu +. Mỗi đối tượng còn lại được phân bổ

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 87

Page 88: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

vào một cluster nếu đối tượng đó gần trọng tâm của cluster đó nhất. Ta được 3 cluster được khoanh vùng bằng các đường gạch chấm như hình vẽ.

Hình 3.5 b: Trọng tâm của mỗi cluster được cập nhật. các trọng tâm sau khi được cập nhất được đánh dấu +. Sử dụng các trọng tâm cluster mới, phân bổ lại các đối tượng vào các cluster dựa trên khoảng cách gần nhất của đối tượng đó với các trọng tâm cluster. Các cluster kết quả được khoanh bằng các đường chấm.

Hình 3.5 c: Lặp lại như các bước trong hình 3.5 b. Các cluster kết quả được khoanh bằng các đường liền nét.

Lặp lại như trong hình 3.5 b, kết quả không có sự thay đổi. Dừng thuật toán.

Kết quả thu được là 3 cluster được khoanh bằng các đường liền nét.Ví dụ 6.6: Cho tập điểm

x1= {1, 3} = {x11, x12}x2 = {1.5, 3.2} = {x21, x22}x3 = {1.3, 2.8} = {x31, x32}x4 = {3, 1} = {x41, x42}

Dùng thuật toán k-means để gom cụm với k = 2.Bước khởi tạo:- Khởi tạo ma trận phân hoạch M có 4 cột tương ứng với 4 điểm và 2 dòng tương ứng với 2 cluster. Các phần tử trong ma trận ( m ij với i = 1, 2; j= 1, 4) được gán giá trị khởi tạo 0.

x1 x2 x3 x4

c1 0 0 0 0c2 0 0 0 0

- Chọn x1, x2 lần lượt làm trọng tâm ban đầu cho 2 cluster c1, c2. Trọng tâm của 2 cluster lần lượt là: v1 = {1, 3} = {v11, v12}; v2 = {1.5, 3.2} = {v21, v22}.- Cập nhật ma trận phân hoạch M:

x1 x2 x3 x4

c1 1 0 0 0c2 0 1 0 0

Bước 1:- Gán các đối tượng vào các cluster:Tính các khoảng cách Euclide:

Xếp x1 vào cụm c1.

Xếp x2 vào cụm c2.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 88

Page 89: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Xếp x3 vào cụm c1.

Xếp x4 vào cụm c2.- Cập nhật lại ma trận phân hoạch ta được:

x1 x2 x3 x4

c1 1 0 1 0c2 0 1 0 1

Bước 2: Cập nhật lại trọng tâm các cluster:

Quay lại bước 1:- Gán các đối tượng vào các cluster:Tính các khoảng cách Euclide:

Xếp x1 vào cụm c1.

Xếp x2 vào cụm c2.

Xếp x3 vào cụm c1.

Xếp x4 vào cụm c2.- Cập nhật lại ma trận phân hoạch:

x1 x2 x3 x4

c1 1 1 1 0c2 0 0 0 1

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 89

Page 90: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Bước 2: Cập nhật lại trọng tâm cho các cluster

Ma trận phân hoạch thay đổi do đó ta quay lại bước 2 và tiếp tục cho đến khi ma trận phân hoạch không thay đổi.* Ưu và nhược điểm của thuật toána. Ưu điểm:

+ Tương đối nhanh. Độ phức tạp của thuật toán là O(tkn), trong đó:- n: Số đối tượng trong không gian dữ liệu.- k: Số cụm cần phân hoạch.- t: Số lần lặp (t thường khá nhỏ so vơi n).

+ K-means phù hợp với các cụm có dạng hình cầu.b. Khuyết điểm:

+ Không đảm bảo đạt được độ tối ưu toàn cục và kết quả đầu ra phụ thuộc nhiều vào việc chọn k điểm khởi đầu. Do đó phải chạy lại thuật toán với nhiệu bộ khởi đầu khác nhau để có được kết quả đủ tốt.+ Cần phải xác định trước số cụm.+ Khó xác định số cụm thực sự mà không gian dữ liệu có. Do đó có thể phải thử với các giá trị k khác nhau.+ Khó phát hiện các loại cụm có hình dạng phức tạp khác nhau và nhất là các dạng cụm không lồi.+ Không thể xử lý nhiễu và mẫu cá biệt.+ Chỉ có thể áp dụng khi tính được trọng tâm.

4.2.4.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids

Thuật toán k-means không chính xác trong trường hợp dữ liệu dữ liệu bị nhiễu bởi vì một đối tượng với giá trị rất lớn có thể ảnh hưởng rất nhiều trong việc phân bố dữ liệu vào các cụm. Để khắc phục lỗi trên, thay vì dùng giá trị trung bình của các đối tượng trong một cluster làm điểm đại diện cho cluster, chúng ta có thể dùng một đối tượng thực sự để đại diện cho cluster đó. Mỗi đối tượng còn lại được phân vào cụm mà đối tượng đại diện tương tự với nó nhất. Phương pháp phân hoạch dựa trên nguyên lý cực tiểu các sự khác nhau giữa mỗi đối tượng và đối tượng đại diện tương ứng. Do đó hàm mục tiêu absolute-error được sử dụng:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 90

Page 91: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Trong đó p là điểm trong không gian biểu diễn một đối tượng trong cluster Cj ; và oj là đối tượng đại diện của của Cj. Trong trường hợp tổng quát, thuật toán lặp cho đến khi mỗi đối tượng đại diện là một medoid thực sự, có nghĩa là nó nằm ở trung tâm của cluster tương ứng. Đây chính là ý tưởng cơ bản của phương pháp k-medois.Thuật toán k-medoidsInput: Tập dữ liệu D; số cluster k.Output: k cluster.Method:

(1) Chọn ngẫu nhiên k đối tượng Oi (i=1..k) làm trung tâm (medoids) ban đầu của cụm.

(2) Repeat(3) Gán (hoặc gán lại) từng đối tượng còn lại vào cụm có trung tâm gần điểm

đang xét nhất.(4) Với mỗi đối tượng trung tâm

- Lần lượt xét các đối tượng không là trung tâm (non-medoids) x.- Tính độ lợi S khi hoán đổi Oi bởi xS được xác định như sau:S = Ex – EOi

- Nếu S<0 thì thay thế Oi bởi x.(5) Until không có sự thay đổi trong các cluster.

Ưu điểm: K-medoids làm việc được với nhiễu và biệt lệ.Khuyết điểm: K-medoid chỉ hiệu quả khi tập dữ liệu không quá lớn vì có độ phức tạp là O(k(n-k)2t). Trong đó:

n: Số điểm trong không gian dữ liệu.k: Số cụm cần phân hoạch.t: Số lần lặp, t khá nhỏ so với n.

4.2 Sơ đồ phân tích thiết kế chương trình (các mẫu)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 91

Raw Audit Data

Dữ liệu bổ

sung

Dữ liệu được chuyển đổi

Tiến trình khai phá dữ liệu

Các cụm

Cơ chế xử lý

Cơ sở dữ liệu chuyển

đổi

Các tham

số

Các mẫu bất

thường

Page 92: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình : Nguyên lý chung của một tiến trình phát hiện xâm nhập sử dung kỹ thuật phân cụm

4.2.1 Tập hợp dữ liệu và tiền xử lý

4.2.1.1 Tập hợp dữ liệu

Đối với hệ thống *NIX có thể dùng công cụ rất thông dụng TCPDUMP cho mục đích thu thập dữ liệu và sàng lọc dữ liệu qua giao tiếp mạng. Tcpdump là một tiến trình chạy ở chế độ nền (background), nó sẽ kết xuất các thông tin cần thiết (qua các tham số dòng lệnh) ra tập tin. Cứ mỗi thời điểm có n packet được tập hợp và lưu trữ cho việc xử lý sau này cũng như nhằm phục vụ công việc phân lớp, sau đó tiến trình thu thập thông tin lại được tiếp diễn. Khi lưu các thông tin về packet thành tập tin trong mỗi chu kỳ xử lý, các thông tin cần thiết sẽ được đơn giản hóa sử dụng các tham số của tcpdump, ví dụ:

tcpdump –c 50 –w dump host victim-machine Đối với mỗi packet Ethernet nhận được: {- phân giải lớp địa chỉ IP đích - phân giải lớp địa chỉ nguồn - lấy thông tin về giao thức } Địa chỉ IP của đích cũng như nguồn theo khuôn dạng 4 số thập phân phân

cách nhau bởi dấu chấm, ví dụ 192.168.43.2. Một thông tin khác rất quan trọng trong quá trình thu lập là loại giao thức,

đó là một trong hai loại giao thức TCP và UDP. Một số giáo thức dạng khác dựa trên TCP và UDP như ICMP, ARP, và RARP cũng sẽ được xét đến.

Bảng sau cung cấp một ví dụ về kết xuất của tcpdump bao gồm các thông tin địa chỉ IP nguồn và đích, và tiếp đến là giao thức cho mỗi packet:

192.168.138.20.123 > 192.168.166.63.123: udp 48 192.168.166.63 > 19.168.138.20: icmp:192.168.166.63 udp port 123 unreachable (DF) arp who-has 192.168.138.1 tell 192.168.138.20 arp reply 192.168.138.1 is-at 0:0:c:7:ac:0 192.168.138.20.123 > 192.168.63.1.123: udp 48 192.168.138.20.123 > 192.168.63.2.123: udp 48 192.168.138.20.123 > 192.168.166.63.123: udp 48 192.168.133.46 > 192.168.138.20: icmp: echo request (DF)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 92

Page 93: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

192.168.138.20 > 192.168.133.46: icmp: echo reply 192.168.133.46 > 192.168.138.20: icmp: echo request (DF) 192.168.138.20 > 192.168.133.46: icmp: echo reply 192.168.133.46 > 192.168.138.20: icmp: echo request (DF) 192.168.138.20 > 192.168.133.46: icmp: echo reply Trên các máy HOST nếu sử dụng OS khác *NIX (dùng Windows) thì có

thể dùng công cụ WinDump được xem là phiên bản của tcpdump trên Windows. Windump cũng tương thích hoàn toàn với tcpdump và cũng sử dụng để bắt, kiểm tra và lưu vào đĩa các network traffic. Windump tương thích với Windows 95, 98, ME, NT, 2000, XP, 2003 and Vista, dựa trên thư viện và các điều khiển của trình WinPcap (http://www.winpcap.org/). Windump là miễn phí theo giấy phép BSD-style có tại http://www.winpcap.org/windump/misc/copyright.htm.

Trong phần chương trình thiết kế trong đồ án có sử dụng dữ liệu thô thu được nhờ việc ghi dấu vết trên mạng DMZ Ethernet, dấu vết này được thu từ ngày 16/9/1993 đến 15/10/1993 và đã bắt được 782281 kết nối diện rộng giữa phòng thí nghiệm Berkeley Lawrence với phần còn lại của mạng. Dấu vết thô được lấy bằng cách sử dụng TCPdump trên một Sun Sparcstation sử dụng bộ lọc gói nhân BPF.

4.2.1.2 Tiền xử lý

Dữ liệu thô ở đây được tập hợp dưới dạng một file .txt, mỗi khi có kết nối thì sẽ có một dòng được tự động thêm vào file. File ở phần đồ án này gồm có 9 phần được ngăn cách nhau bằng khoảng trắng:

Trường Ý nghĩaTimeStamp Tem thời gian, ghi lại thời điểm kết nối xảy ra có độ chính

xác Micro giâyDuration Khoảng thời gian sống của kết nối tính bằgn giâyProtocol Giao thức của kết nốiByte sent by origination

Kích thước gói tin được gửi đi tính bằng byte, nếu không xác định được thay bằng “?”

Byte sent by responder

Kích thước gói tin phản hồi tính bằng byte, nếu không xác định được thay bằng “?”

Remote host Địa chỉ IP của máy ở ngoài mạng, theo khuôn dạng 4 số thập phân cách nhau bằng dấu chấm

Localhost Địa chỉ của máy nội bộ theo khuôn dạng 4 số thập phân cách nhau bằng dấu chấm. Ở đây chỉ số cuối trong địa chỉ thay vì phải dùng toàn bộ địa chỉ IP bởi vì các host nội bộ có ba số đầu là giống nhau.

State Trạng thái của kết nối. Hai trạng thái quan trọng nhất là SF-mô tả một kết nối bình thường và REJ-một kết nối bị từ chối (khởi đầu SYN nhưng không nhận được một RST đáp lại), ngoài ra còn một số trạng thái khác như: S0, S1, S2,

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 93

Page 94: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

S3, S4, RSTOSn, RSTRSn, SHR, Sha, SS, OOS1, OOS2…Flag Cờ (có thể có hoặc không) cho biết kết nối giữa nội bộ hay

với mạng ngoài. L-kết nối được bắt nguồn từ mạng nội bộ, N-kết nối với mạng gần, cò này chủ yếu được thiết lập cho các kết nối nntp

Ví dụ:748162802.427995 1.24383 smtp ? ? 1 128.97.154.3 REJ L748162802.803033 3.96513 smtp 1173 328 3 128.8.142.5 SF748162804.817224 1.02839 nntp 58 129 2 140.98.2.1 SF L748162812.254572 138.168 nntp 363238 1200 4 128.49.4.103 SF L748162817.478016 10.0858 nntp 230 100 4 128.32.133.1 SF N748162833.453963 2.16477 smtp 2524 306 5 192.48.232.17 SF748162836.735788 13.1779 smtp 16479 174 16 128.233.1.12 RSTRS3 L

Dữ liệu thô ban đầu được đọc và lưu vào một bảng (TCP) trong cơ sở dữ liệu TCP

Biến đổi “RemoteHost” về dạng số nguyên bằng cách thêm một bảng để tham chiếu

Gom cụm dữ liệu theo một cửa sổ thời gian xác định và lưu kết quả nhóm cụm trong một bảng trung gian TCP_F

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 94

Page 95: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

4.2.2 Khai phá dữ liệu phát hiện tấn công từ chối dịch vụ

4.2.2.1 Các mẫu bất thường của tấn công từ chối dịch vụ

Từ khảo sát thực tế kết hợp với những kiến thức, các chuyên gia trong lĩnh vực an ninh cho thấy:

- Các tấn công từ chối dịch vụ chủ yếu tấn công qua giao thức HTTP. Các request của giao thức HTTP bình thường chỉ là các địa chỉ Web (URL) nên có kích thước rất nhỏ. Song có rất nhiều tấn công, kẻ tấn công thường chèn mã lệnh thực thi trên trình duyệt nạn nhân (cross site scripting), ví dụ: http://www.microsoft.com/education/?ID=MCTN&target=http://www.microsoft.com/education/?ID=MCTN&target=< script>alert(document.cookie)</script >, sử dụng các script (đoạn mã) dạng tập tin flash hay chèn các truy vấn SQL vào URL… Điều này làm cho các request này có kích thước lớn hơn bình thường. Vì thế theo nghiên cứu cho thấy thì các request của giao thức này có kích thước >=350 byte là những mẫu bất thường có khả năng là tấn công.

- Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS. Ping Of Death.Một số máy tính sẽ bị ngưng họat động, Reboot hoặc bị crash khi bị nhận

những gói dữ liệu ping có kích thước lớn.• Ví dụ như : ping địachỉ -n 1000 trong đó : số 1000 là số lần gửi gói dữ liệu. TCP/SYN Flooding:Bước 1: Khách hàng gửi một TCP SYN packet đến cổng dịch vụ của máy

chủKhách hàng -> SYN Packet -> Máy chủ

Bước 2 : Máy chủ sẽ phản hồi lại khách hàng bằng 1 SYN/ACK Packet và chờ nhận một 1 ACK packet từ khách hàng

Máy chủ -> SYN/ACK Packet -> Khách hangBước 3: Khách hàng phản hồi lại Máy chủ bằng một ACK Packet và việc

kết nối hòan tất Khách hàng và máy chủ thực hiện công việc trao đổi dữ liệu với nhau.

Khách hàng -> ACK Packet -> Máy chủ• Trong trường hợp Hacker thực hiện việc SYN Flooding bằng cách gửi

tới tấp, hàng loạt TCP SYN packet đến cổng dịch vụ của máy chủ sẽ làm máy chủ bị quá tải và không còn khả năng đáp ứng được nữa

UDP/ICMP Flooding:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 95

Page 96: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hacker thực hiện bằng cách gửi 1 số lượng lớn các gói tin UDP/ICMP có kích thước lớn đến hệ thống mạng, khi hệ thống mạng chịu phải sự tấn công này sẽ bị qua tải và chiếm hết băng thông đường truyền đi ra bên ngoài của mạng này, vì thế nó gây ra những ảnh hưởng rất lớn đến đường truyền cũng như tốc độ của mạng, gây nên những khó khăn cho khách hàng khi truy cập từ bên ngoài vào mạng này.

Ta có mẫu bất thường là một “RemoteHost” trong một khoảng thời gian được xét gửi một lượng lớn gói tin tới một “LocalHost” tức là một “RemoteHost” gửi rất nhiều request tới một “LocalHost” trong khoảng cửa sổ thời gian. Tuỳ theo từng điều kiện hệ thống mạng cần bảo vệ mà ngưỡng số request này thay đổi, việc lựa chọn cẩn thận ngưỡng này sẽ cho ta các cảnh báo đúng và nó phụ thuộc rất nhiều vào kinh nghiệm thực tế.

- Nhưng với những tiện ích như Trinoo, TFN2K, Stacheldraht… người tấn công không phải chỉ dùng 1 nơi để tấn công mà sử dụng nhiều mạng lưới khác nhau để thực hiện việc tấn công đồng loạt vào máy nạn nhân. Tức là sẽ có một số lượng lớn các Request từ các địa chỉ mạng khác nhau tới cùng một khoảng thời gian trong một khoảng thời gian rất ngắn (DDoS).

Ta có mẫu bất thường có nhiều request đến một máy “LocalHost” trong một khoảng thời gian ngắn. Cũng tuỳ thuộc vào điều kiện của mạng và máy mà ngưỡng số request này thay đổi cho phù hợp.Ngoài ra còn có rất nhiều các mẫu bất thường của tấn tấn công từ chối dịch

vụ với những đặc trưng khác nhau nhưng trong phạm vi của đồ án này chỉ sử dụng một số mẫu bất thường cơ bản trong tấn công từ chối mà thông qua quá trình phân tích thực tế đã thu được.

4.2.2.2 Khai phá dữ liệu

Trong quá trình khai phá dữ liệu này, dữ liệu được sử dụng để huấn luyện ở đây chính là các mẫu bất thường mô tả các tấn công từ chối dịch vụ đã thu được ở trên với các tham số tuỳ chọn về số request cũng như khoảng thời gian xem xét để phù hợp với các hệ thống khác nhau.

Kỹ thuật gom cụm được sử dụng trong phần demo này là kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids. Các mẫu bất thường ở đây sẽ được sử dụng là đại diện cho cụm “xâm nhập” và phần còn lại sẽ là cụm “bình thường”. Do đó ở đây ta sẽ có hai cụm.

Dữ liệu sau tiến trình tiền xử lý đã được phân vào các nhóm thời gian với độ rộng tuỳ chọn trước. Đến đây tuỳ thuộc vào việc chọn các dấu hiệu để phát hiện tấn công từ chối dịch vụ mà ta có các cách xử lý phù hợp:

- Nếu lựa chọn dấu hiệu của tấn công từ chối dịch vụ là dấu hiệu trong sử dụng giao thức HTTP mà trong cơ sở dữ liệu demo là WWW thì ta sẽ sử dụng mẫu bất thường về tấn công từ chối dịch vụ trong giao thức này với các tham số đầu vào là ngưỡng kích thước gói tin request và số request

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 96

Page 97: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

thoả mãn ngưỡng kích thước này tới máy chủ Web mà ở đây chính là một máy trong mạng nội bộ cần được bảo vệ “Localhost” để làm các tham số đầu vào của thuật toán k-medoids. Đầu ra của thuật toán sẽ là hai cụm: cụm chứa các mẫu được xem là bất thường là các mẫu có số kết nối mà các kết nối này có kích thước gói request lớn hơn kích thước được đưa ra, lớn hơn ngưỡng số request trong một khoảng thời gian cụ thể được chọn và cụm các mẫu bình thường là các mẫu không có đặc điểm trên.

- Nếu lựa chọn dấu hiệu tấn công từ chối dịch vụ truyền thống DoS thì đầu vào của thuật toán chỉ là ngưỡng số request và thuộc tính được xem xét ở đây chính là thuộc tính “RemoteHost”. Đầu ra của thuật toán là hai cụm: cụm các bất thường chứa các mẫu mà số request từ một “RemoteHost” trong một khoảng thời gian xác định lớn hơn ngưỡng kết nối và cụm bình thường.

- Nếu lựa chọn dấu hiệu tấn công từ chối dịch vụ theo kiểu nhiều request từ nhiều địa chỉ IP khác nhau tới một máy cục bộ thì cũng tương tự như dấu hiệu tấn công DoS nhưng lúc này thuộc tính được xem xét ở đây là thuộc tính “LocalHost”. Sau khi thuật toán kết thúc sẽ cho ta hai cụm, một cụm các mẫu bất thường có số request đến một máy nội bộ lớn hơn ngưỡng kết nối được chọn.

Bầy giờ ta đã thu được hai cụm phân tách: cụm bất thường và cụm bình thường.

4.2.3 Biểu diễn dữ liệu

Sau khi dữ liệu đã được gom vào hai cụm như trên, dữ liệu cần được biểu diễn để người dùng có thể dễ dàng hiểu được. Có rất nhiều cách thức để biểu diễn dữ liệu này nhưng trong phần demo này chỉ biểu diễn các dữ liệu này dưới dạng các bản ghi của một bảng các mẫu bất thường.

Ví dụ:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 97

Page 98: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Đối với lĩnh vực khai phá dữ liệu trong hệ thống phát hiên xâm nhập này, ngoài việc hiển thị kết quả thì các kết quả này sẽ được tiếp tục được dùng để xử lý ví dụ như đưa ra các cảnh báo, thực hiện một số hành động để chống lại những mối nguy hạn đã khai phá được này… Nhưng trong phạm vi của đồ án sẽ không đi sâu vào vấn đề này.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 98

Page 99: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Chương 5

KẾT QUẢ ĐẠT ĐƯỢC – ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG

PHÁT TRIỂN

5.1 Cài đặt

Hệ thống chương trình được cài đặt bằng ngôn ngữ C# trên môi trường Microsoft Visual Studio .NET 2005 và hệ điều hành Windows XP. Bước đầu chương trình cũng hình thành được phần giao diện tương đối thân thiện với người dung.

Cấu hình hệ thống: Chương trình nên được chạy trên hệ điều hành WinNT, Windows 2000

Advance Server, Windows 2000 Professional hay Win XP. Và đòi hỏi máy có cấu hình sau:

- Cấu hình máy tối thiểu:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 99

Page 100: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

o Tốc độ CPU: 1.5GHzo Dung lượng bộ nhớ: 256 MBo Không gian trống trên ổ cứng: 500 MB

- Cấu hình máy đề nghị:o Tốc độ CPU: 3.2GHzo Dung lượng bộ nhớ: 512 MB (hoặc lớn hơn)o Không gian trống trên ổ cứng: 1 GB

Thông tin chương trình cài đặt:Ngôn ngữ C Sharp (C#)Công cụ phát triển Microsoft Visual Studio 2005Kiểu ứng dụng Ứng dụng Windows 32 bitsHệ điều hành WinNT, Windows 2000 Advance Server, Windows

2000 Professional hay Win XPMôi trường hoạt động MS .NET Framework 1.0Cơ sở dữ liệu Microsoft SQL Server 7, 2000Kết nối cơ sở dữ liệu ADO.NET

5.2 Kết quả đạt được

Phần này sẽ giới thiệu qua về các giao diện của chương trình cũng như một số kết quả thu được thông qua thực thi chương trình. Giao diện chính của chương trình:

Hình 5.1 Giao diện chính Trong giao điện này, chức năng của các thành phần cụ thể như sau:

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 100

Page 101: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- Buttom “Chọn file” cho phép ta chọn file dạng .txt hay .log để khai phá. File ở đây sẽ được khai phá theo dấu hiệu số kết nối từ một RemoteHost trong khoảng thời gian (cửa sổ thời gian)

- Nút “HTTP” sẽ cho phép ta đi vào một giao diện mới để khai phá theo dấu hiện bất thường trong giao thức HTTP cũng như một số lựa chọn khác

- “Tự động” sẽ đưa ta tới một giao diện mới cho phép thực thi việc khai phá một cách tự động cứ sau một khoảng thời gian tuỳ chọn

- “Gom dữ liệu” thực hiện việc đọc dữ liệu từ file được chọn vào bảng dữ liệu TCP đồng thời chuyển đổi một số thuộc tính từ dạng văn bản về dạng số như: tem thời gian, thời gian kết nối duy trì,… và thêm các dữ liệu còn thiếu

- “Tiền xử lý” mở ra một giao diện mới thực hiện chức năng tiền xử lý cho dữ liệu đã thu được ở trên

- “Làm lại” cho phép chọn lại file để thực hiện lại việc khai phá từ đầu

- “Thoát” cho phép thoát khỏi chương trình Giao diện Tiền xử lý:

Hình 5.2 Tiền xử lý dữ liệu- “Thời gian xử lý”: cho phép tuỳ chọn khoảng thời gian (cửa sổ thời gian)

để xử lý, thời gian này tính bằng giây. Giá trị mặc định là 60 giây

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 101

Page 102: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- “Tiền xử lý”: đưa dữ liệu về các kết nối về dạng phù hợp với thuật toán như chuyển “RemoteHost” về dạng số, gom nhóm theo thời gian các kết nối này

- “Kết quả”: hiển thị kết quả “Tiền xử lý” trong phần “Kết quả tiền xử lý” ở bên

- “Khai phá”: mở ra giao diện để tiến hành khai phá tìm ra các bất thường- “Thoát”: quay về màn hình chính

Màn hình khai phá

Hình 5.3 Giao diện khai phá- “Độ phổ biến”: tuỳ chọn độ phổ biến của kết nối có dấu hiệu bất thường,

chính là ngưỡng số kết nối dùng làm tham số đầu vào của thuật toán khai phá, tính theo đơn vị số lần xuất hiện. Để tránh những kết quả sai ta phải chọn giá trị này một cách thích hợp, chủ yếu là tuỳ vào thực nghiệm cũng như kinh nghiệm của người dung. Ở đây không dùng đơn vị của ngưỡng kết nối là % vì sẽ có rất nhiều trường hợp tổng số kết nối là vô cùng nhỏ chẳng hạn là 2 thì chắc chắn ở đây sẽ cho ta một dấu hiệu bất thường nếu ta chọn ngưỡng <=50% nhưng nếu chọn ngưỡng >50% thì lại cho kết quả sai lớn khi mà tổng kết nối trong một cửa sổ thời gian nào đó là rất lớn…

- “Kết quả”: hiểm thị kết quả khai phá được (cụm những bất thường)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 102

Page 103: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- “Quay về”: quay về cửa sổ “Tiền xử lý” để có thể thực hiện lại quá trình tiền xử lý

- “Thoát”: thoát khỏi chương trình Cửa sổ khai phá dựa trên giao thức HTTP

Hình 5.4 Màn hình khai phá dữ liệu của giao thức HTTP- “Chọn file Audit”: có chức năng tương tự như trong giao diện chính- “Chọn bảng trong cơ sở dữ liệu”: cho phép tiến hành khai phá trên dữ liệu

đã có sẵn trong cơ sở dữ liệu của chúng ta (TCP)- “Chọn khoảng thời gian”: Chức năng đã được đề cập trong màn hình “Tiền

xử lý”- “HTTP”: Nếu được lựa chọn thì sẽ thực thi khai phá theo dấu hiệu bất

thường trên giao thức HTTP, khi chức năng này được chọn thì ta phải nhập ngưỡng kết nối và ngưỡng kích thước của các Request HTTP

- “Tất cả các giao thức”: thực thi khai phá dựa trên dấu hiệu số các request của tất cả các giao thức.

- “Khai phá”: nút thực hiện chức năng khai phá dựa trên dữ liệu thu được cùng với các thông số tuỳ chọn

- “Thực hiện lại”: chọn và thực quá trình khai phá- “Quay về”: trở về màn hình chính- “Thoát”: thoát khỏi chương trình

Màn hình thực hiện chức năng khai phá tự động

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 103

Page 104: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

Hình 5.5 Màn hình tự động khai phá- “Chọn file dữ liệu Audit”: tương tự như bên trên- “Chọn khoảng thời gian”: tương tự như trên- “Ngưỡng”: ngưỡng số kết nối- “Mốc thời gian hiện tại”: Do dữ liệu khai phá là dữ liệu độc lập nên

ta phải chọn mốc thời gian ban đầu để bắt đầu khai phá. Khi tích hợp vào hệ thống thực thì không phải thực hiện bước này vì nó lấy là thời gian của hệ thống hiện tại

- “Tự động”: thực hiện khai phá tự động với các thông số bên trên. Sẽ có sự kiểm tra tính đúng đắn của các thông số được nhập.

- “Stop”: tạm thời dừng việc thực thi khai phá tự động, trạng thái của chương trình sẽ được duy trì. Khi thực hiện tiếp nó sẽ tiếp tục khai phá từ vị trí đang đừng lại đó.

- “Làm lại”: thực hiện lại từ đầu quá trình tự động- “Quay về”: trở về màn hình chính- “Thoát”: thoát khỏi hệ thống

Tốc độ thực thi: - Cửa sổ thời gian: 60 giây

Tổng số kết nối Thời gian xử lý (S)18 0.04687514 0.0312511 0.0625

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 104

Page 105: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

11 0.01562516 0.0312515 0.01562524 0.0312519 0.0312520 0.031259 0.250 – 8 0

- Cửa sổ thời gian: 120 giâyTổng số kết nối Thời gian xử lý (S)28 0.4062530 0.062522 0.04687528 0.062531 0.0312547 0.062525 0.0312540 0.062526 0.015625<10 ~ 010 - 20 ~ 0.015625

- Cửa sổ thời gian: 300 giâyTổng số kết nối Thời gian xử lý (S)69 0.312551 0.04687531 - 45 0.0312569 0.078125106 0.078125116 0.09375170 0.140625162 0.125194 0.15625249 0.1875212 0.15625278 0.203125291 0.21875364 0.265625413 0.375433 0.421875

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 105

Page 106: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

- Cửa sổ thời gian: 600 giâyTổng số kết nối Thời gian xử lý (S)120 0.09375202 0.15625372 0.28125245 0.1875426 0.375473 0.515625551 0.4375605 0.5906 0.78125799 0.671875857 0.751145 0.93751426 1.2968751776 1.593753293 2.96875

- Ta có thể thấy tốc độ xử lý phụ thuộc vào nhiều yếu tố mà yếu quan trọng ta quan tâm ở đây là khoảng thời gian gom nhóm và số kết nối trong từng nhóm sẽ làm ảnh hưởng tới thời gian xử lý như thế nào.

5.3 Kết luận

Trong quá trình hoàn thành đề tài này, dù đã đạt được những kiến thức nhất định, nhưng tôi nhận thấy Khai phá dữ liệu nói chung và khai phá dữ liệu trong hệ thống IDS/IPS nói riêng là một lĩnh vực nghiên cứu rộng lớn, nhiều triển vọng. Đề tài đã trình bày được các vấn đề cơ bản về khai phá dữ liệu: Tầm quan trọng của KPDL, các hướng tiếp cận khai phá dữ liệu và các kỹ thuật khai phá dữ liệu. Sử dụng thuật toán gom cụm mà cụ thể ở đây là phương thức k-medoids để ứng dụng vào khai phá dữ liệu để phát hiện xâm nhập.

Với đề tài này, chứng tở khả năng ứng dụng trí tuệ nhân tạo trong ngành chuyên sâu của khoa học máy tính và các ngành khác, nhất là về mạng máy tính, mạng Internet. Đề tài đã đua ra mô hình hoạt động của một hệ thống thông minh trợ giúp người dùng và người quản trị mạng nhằm phát hiện các xâm nhập tiền ẩn khả năng tấn công tấn công từ chối dịch vụ.

Tuy nhiên, do hạn chế về mặt thời gian và lượng kiến thức vốn có nên phần nghiên cứu mới chỉ dừng lại ở cấp độ demo hệ thống với một số kiểu tấn công tấn công từ chối dịch vụ đơn giản.

Khi mà lượng dữ liệu thu thập và lưu trữ ngày càng tăng, cùng với nhu cầu nắm bắt thông tin, thì nhiệm vụ đặt ra cho Khai phá dữ liệu ngày càng quan trọng. Sự áp dụng được vào nhiểu lĩnh vực kinh tế xã hội, an ninh quốc phòng,

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 106

Page 107: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

an ninh mạng… cũng là một ưu thế của khai phá dữ liệu. Với những mong muốn đó tôi hy vọng sẽ dần đưa những kiến thức đã có từ đề tài này sớm trở thành thực tế, phục vụ cho cuộc sống con người chúng ta.

Đề tài còn nhiều khiếm khuyết, cần thời gian để hoàn thiện và phát triển thêm.5.4 Hướng phát triển

Trên cơ sở đã trình bày, hiện thực một công cụ cảnh báo tấn công từ chối dịch vụ với giao diện đồ họa thân thiện và có khả năng phản ứng phù hợp với những hành vi được xem là bất thường đó.

Cải tiến trở thành công cụ giám sát thời gian thực các cuộc tấn công DoS, cải tiến thuật toán để làm cho tốc độ tính toán nhanh hơn, không những mở rộng thêm nhiều các mẫu bất thường trong tấn công từ chối dịch vụ mà còn cả các mẫu của các kiểu tấn công khác.

Thực nghiệm đánh giá rút ra kết luận thuật toán tối ưu cho từng loại tấn công DoS (back dos, u2r, r2l,...)

Phát triển công cụ giám sát, cảnh báo các cuộc tấn công DDoS, DRDos.

Xây dựng hệ thống xử lý song song để tăng tốc độ thực hiện đồng thời sẽ đưa ra những phản ứng nhanh cho các hành vi vi phạm.

Có thể đưa vào tích hợp vào một hệ thống phát hiện lạm dụng truyền thống.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 107

Page 108: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

TÀI LIỆU THAM KHẢO

[1] PGS.TS Đỗ Phúc (2006), Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh, Đại học Quốc gia TP. Hồ Chí Minh.[2] Huỳnh Tuấn Anh, Bài giảng DATAWAREHOUSE AND DATA MINING,TRƯỜNG ĐẠI HỌC NHA TRANG (2008).[3] Ts.Nguyễn Đình Thúc. Trí tuệ nhân tạo - Mạng Nơron – Phương pháp và ứng dụng – NXB Giáo dục năm 2000[4] PGS.TS Nguyễn Quang Hoan. Nhập môn trí tuệ nhân tạo. Học viện Công nghệ Bưu chính Viễn thông (2007)[5] Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 .THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG. Đại học Đà Nẵng – 2008[6] Ths. Phạm Nguyễn Anh Huy, Luận văn thạc sĩ tin học “Dùng một số thuật toán khai khoáng dữ liệu hỗ trợ truy xuất các địa chỉ Internet ở WebServer”. Trường Đại học Khoa học Tự nhiên - Đại học quốc gia TPHCM (2000).[7 ] PGS.TS Đỗ Phúc, Luận văn tiến sĩ toán học “Nghiên cứu và phát triển một số thuật giải, mô hình ứng dụng khai thác dữ liệu (DATA MINING)”. Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia TPHCM (2002)[8] Nong Ye. The handbook of data mining. Arizona state University. LAWRENCE ERLBAUM ASSOCIATES(LEA), PUBLISHERS Mahwah, New Jersey London (2003).[9] Jiawei Han and Micheline Kamber, University of Illinois at Urbana-Champaign. Data Mining Concepts and Techniques 2nd. Morgan kaufmann Publishers (2006).[10] ZhaoHui Tang and Jamie MacLennan. Data Mining with SQL Server 2005. Wiley Publishing, Inc., Indianapolis, Indiana (2005). [11] D. Barbara, J. Cou to, S. Jajodia, và N.Wu. “Special sectionon data mining for intrusion detection and threat analysis: Adam: a testbed for exploring the use of data mining in intrusion detection”. ACM SIGMOD Record, vol. 30, page 15-42, Dec. 2001. [12] D. Barbara, N.Wu, và S. Jajodia. “Detection novel network intrusions using bayes estimators” Proceedings of the First SIAM International Conference on Data Mining (SDM 2001), Chicago, USA, Apr, 2001. [13] Ken. Toshida. “Entropy based intrusion detection”. Proceedings of IEEE Pacific Rim Conference on Communications, Computers and signal Processing (PACRIM2003), vol. 2, trang 840-843. IEEE, Aug. 2003. IEEE Explore. [14] S. B. Cho, “Incorporating soft computing techiniquesinto a probabilistic intrusion detection system”. IEEE Transactions on Systems, Man, and Cyberneticspart C: applications and reviews, vol. 32, trang 154-160, May 2002.

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 108

Page 109: IDS - Datamining.doc

Ứng dụng kỹ thuật khai phá dữ liệu trong hệ thống IDS

[15] S. S. Ahmedur Rahman, Survey report association and classification rule mining for network intrusion detection, Schook of computer science University of Windsor (2006)[16] Wenke Lee, “A data mining framework for constructing feature and models for instrusion detection systems”, Columbia University (1999)

Vũ thị Vân_Khoa An toàn Thông tin_Học viện Kỹ thuật Mật mã 109