BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU Từ viết tắt Đầy đủ tiếng Anh Tiếng Việt ANN Artificial Neural Network Mạng Neuron nhân tạo DoS Denial of Service Tấn công từ chối dịch vụ FSM Finite states
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HÀ MINH ĐỨC
PHÁT HIỆN XÂM NHẬP, CÁC DẠNG TẤN CÔNG, MÃ ĐỘC, SỬ DỤNG
KỸ THUẬT KHAI PHÁ DỮ LIỆU
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN LUẬN VĂN: PGS.TS Nguyễn Linh Giang
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HÀ MINH ĐỨC
PHÁT HIỆN XÂM NHẬP, CÁC DẠNG TẤN CÔNG, MÃ ĐỘC, SỬ DỤNG
KỸ THUẬT KHAI PHÁ DỮ LIỆU
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
LUẬN VĂN THẠC SỸ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS Nguyễn Linh Giang
Hà Nội – Năm 2016
Trang 3LỜI CAM ĐOAN
Luận văn thạc sĩ này do tôi nghiên cứu và thực hiện dưới sự hướng dẫn của
Thầy giáo PGS.TS Nguyễn Linh Giang Với mục đích học tập, nghiên cứu để
nâng cao kiến thức và trình độ chuyên môn nên tôi đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực
Để hoàn thành bản luận văn này, ngoài các tài liệu tham khảo đã liệt kê, tôi cam đoan không sao chép toàn văn các công trình hoặc thiết kế tốt nghiệp của người khác
Hà Nội, tháng 10 năm 2016
Học viên
HÀ MINH ĐỨC
Trang 4LỜI CẢM ƠN Lời đầu tiên, tôi xin chân thành cảm ơn xâu sắc đối với Thầy giáo PGS TS Nguyễn Linh Giang viện công nghệ thông tin và Truyền Thông, đã trực tiếp hướng
dẫn , định hướng phân tích cụ thể gắn gọn cho tôi nghiên cứu hoàn thành luận văn cao học này
Tôi cũng xin gửi lời cảm ơn chân thành tới Phòng đào tạo sau đại học và các Thầy cô giáo trong viện công nghệ thông tin và truyền thông - Trường Đại Học Bách Khoa Hà Nội đã giảng dạy, truyền đạt và tạo điều kiện học hỏi, học tập tốt nhất cho tôi suốt quá trình học cao học cũng như thời gian thực hiện luận văn cao học
Luận văn cũng xin được cảm ơn với người thân trong gia đình tôi, mẹ tôi, vợ tôi, anh trai tôi, bạn bè và các bạn đồng môn lớp cao học 13BCNTT1
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU v
THÔNG TIN HÌNH VẼ / BẢNG vi
MỞ ĐẦU 1
CHƯƠNG 1 TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS, 3
CÁC DẠNG TẤN CÔNG MÃ ĐỘC 3
1.1 LỊCH SỬ RA ĐỜI IDS 3
1.2 GIỚI THIỆU HỆ THỐNG IDS 3
1.2.1 Một hệ thống IDS bao gồm các thành phần 4
1.2.2 Phân loại các hệ thống IDS 4
1.3 CHỨC NĂNG CỦA IDS 8
1.4 KIẾN TRÚC CỦA IDS 8
1.4.1 Nguyên lý hoạt động và các nhiệm vụ thực hiện 8
1.4.2 Kiến trúc và thành phần của hệ thống phát hiện xâm nhập IDS 9
1.5 PHÂN BIỆT NHỮNG HỆ THỐNG KHÔNG PHẢI LÀ IDS 10
1.6 LỢI ÍCH CỦA IDS: 10
1.7 CÁC DẠNG TẤN CÔNG XÂM NHẬP MẠNG 11
1.7.1 Phương thức ăn cắp thống tin bằng Packet Sniffers 11
1.7.2 Phương thức tấn công mật khẩu Password attack 11
1.7.3 Phương thức tấn công bằng Mail Relay 12
1.7.4 Phương thức tấn công hệ thống DNS 12
1.7.5 Phương thức tấn công Man-in-the-middle attack 12
1.7.6 Phương thức tấn công để thăm dò mạng 12
1.7.7 Phương thức tấn công Trust exploitation 13
1.7.8 Phương thức tấn công Port redirection 13
1.7.9 Phương thức tấn công lớp ứng dụng 13
Trang 61.8 MÃ ĐỘC 14
1.8.1 Mã độc là gì? 14
1.8.2 Phân loại 14
1.8.3 Phòng tránh mã độc 14
1.9 KẾT CHƯƠNG 16
CHƯƠNG 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM 17
2.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 17
2.2 CÁC MÔ HÌNH KHAI PHÁ DỮ LIỆU 22
2.3 BÀI TOÁN PHÂN CỤM DỮ LIỆU 23
2.3.1 Tổng quan về kỹ thuật phân cụm 23
2.3.2 Các kỹ thuật phân cụm dữ liệu 23
2.4 KẾT CHƯƠNG 26
CHƯƠNG 3 PHƯƠNG PHÁP PHÁP HIỆN XÂM NHẬP, SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU 27
3.1 PHÁT HIỆN XÂM NHẬP DỰA TRÊN THUẬT TOÁN K-MEANS 27
3.1.1 Thuật toán K-means 27
3.1.2 Thuật toán K-means với phát hiện xâm nhập 35
3.1.3 Xây dựng thử nghiệm trong việc pháp hiện xâm nhập mạng dựa trên thuật toán K-Means 45
3.1.4 Kết quả thực nghiệm và đánh giá 58
3.2 PHÁP HIỆN XÂM NHẬP MẠNG VỚI THUẬT TOÁN PHÂN CỤM K-MEDOIDS 63
3.2.1 Thuật toán phân cụm K-Medoids 63
3.2.2 Thuật toán K-Medoids với phát hiện xâm nhập 69
3.2.3 Kết quả thực nghiệm và đánh giá 71
3.3 KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU 79
3.3.1 Kết luận 80
3.3.2 Hướng nghiên cứu 80
TÀI LIỆU THAM KHẢO 81
PHỤ LỤC……… 93
Trang 7BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU
Từ viết tắt Đầy đủ tiếng Anh Tiếng Việt
ANN Artificial Neural Network Mạng Neuron nhân tạo
DoS Denial of Service Tấn công từ chối dịch vụ
FSM Finite states machine Máy trạng thái hữu hạn
HIDS Host-based Intrusion
IDS Instrusion Detection System Hệ thống phát hiện truy cập trái phép
IP Internet Protocol Giao thức Internet
IPS Intrusion Prevension System Hệ thống ngăn chặn truy cập trái phép
KDD Knowledge Discovery in
LAN Local area network Mạng cục bộ
NIDS Network-based Intrusion
Detection System Hệ thống phát hiện truy cập cho mạng PCDL Data Clustering Phân cụm dữ liệu
R2L Remote to Local Dạng tấn công điều khiển từ xa vào
máy tính cục bộ
SNMP Simple Network
Management Protocol Giao thức quản lý mạng đơn giản
TCP Transmission Control
TTL Time to Live Thiết lập thời gian tồn tại của datagram U2R User to Root Dạng tấn công vào thƣ mục gốc
Trang 8THÔNG TIN HÌNH VẼ
HÌNH 1.1: HỆ THỐNG NETWORK-BASED INTRUSION DETECTION 4
HÌNH 1.2: HỆ THỐNG HOST-BASED INTRUSION DETECTION 5
HÌNH 1.3: KẾT HỢP NIDS VÀ HIDS 8
HÌNH 1.4: HOẠT ĐỘNG CỦA IDS 9
HÌNH 1.5: MÔ HÌNH KIẾN TRÚC HỆ THỐNG PHÁT HIỆN XÂM NHẬP (IDS) 9
HÌNH 2.1: CÁC CHIẾN LƯỢC PHÂN CỤM PHÂN CẤP 25
HÌNH 3.1: VÍ DỤ VỀ PHÂN NHÓM ĐỐI TƯỢNG 27
HÌNH 3.2: CÁCH THIẾT LẬP ĐỂ XÁC ĐỊNH RANH GIỚI CÁC CỤM BAN ĐẦU 28
HÌNH 3.3: MÔ TẢ ĐỘ KHOẢNG CÁCH GIỮA CÁC ĐỐI TƯỢNG 29
HÌNH 3.4: SƠ ĐỒ THUẬT TOÁN PHÂN NHÓM K-MEANS 31
HÌNH 3.5: MÔ HÌNH HỆ THỐNG PHÁP HIỆN BẤT THƯỜNG 39
HÌNH 3.6: BỐN QUAN HỆ CỦA MỘT CUỘC TẤN CÔNG 42
HÌNH 3.7: MÔ TẢ HOẠT ĐỘNG CỦA MÔ ĐUN TỔNG HỢP 43
HÌNH 3.8: GIẢM SỐ BẢN GHI CHO FILE ĐẦU VÀO CỦA CHƯƠNG TRÌNH 49
HÌNH 3.9: XEM VÀ CHỈNH SỬA CHO FILE ĐẦU VÀO CỦA CHƯƠNG TRÌNH NẾU CẦN 50
HÌNH 3.10: DỮ LIỆU CỦA CHƯƠNG TRÌNH MỞ BẰNG NOTEPAD 50
HÌNH 3.11: GIAO DIỆN CHỌN BỘ DỮ LIỆU 52
HÌNH 3.12: HIỂN THỊ CHI TIẾT DỮ LIỆU ĐẦU VÀO 53
HÌNH 3.13: THỰC HIỆN THUẬTT TOÁN K-MEANS 53
HÌNH 3.14: HIỆU CHỈNH THAM SỐ PHÂN CỤM 54
HÌNH 3.15: DỮ LIỆU ĐẦU VÀO WEKA 3.8 CỦA 10% KDD CUP99 VỚI 42 THUỘC TÍNH 55
HÌNH 3.16: DỮ LIỆU ĐẦU VÀO WEKA-3-8-0JRE CỦA 10% KDD CUP99 VỚI 38 THUỘC TÍNH 57
Trang 9HÌNH 3.17: KẾT QUẢ ĐÁNH GIÁ PHÂN CỤM THUẬT TOÁN K-MEANS TRÊN WAKA 3.8 58 HÌNH 3.18: MÃ GIẢ ĐỂ MÔ TẢ THUẬT TOÁN 70 HÌNH 3.19: CÀI ĐẶT MỘT SỐ THUẬT TOÁN XỬ LÝ CHÍNH BẰNG NGÔN NGỮ C# 71
Trang 10THÔNG TIN BẢNG
BẢNG 3.1: DANH SÁCH CÁC CẢNH BÁO CHƯA RÚT GỌN 44
BẢNG 3.2: DANH SÁCH CÁC CẢNH BÁO SAU KHI ĐÃ RÚT GỌN 45
BẢNG 3.3: CÁC THUỘC TÍNH CƠ BẢN (NHÓM NÀY CHỨA TẤT CẢ CÁC THUỘC TÍNH CÓ ĐƯỢC TỪ MỘT KẾT NỐI TCP / IP) CONTINUOUS: LIÊN TỤC, DISCRETE: RỜI RẠC 47
BẢNG 3.4: CÁC THUỘC TÍNH LƯU THÔNG (NHÓM NÀY BAO GỒM CÁC THUỘC TÍNH MÀ NÓ ĐƯỢC TÍNH TOÁN VỚI KHOẢNG THỜI GIAN MỘT CỬA SỔ) 47
BẢNG 3.5: CÁC THUỘC TÍNH NỘI DUNG 48
BẢNG 3.6: CÁC DẠNG TẤN CÔNG THỰC TẾ CỦA DỮ LIỆU ĐẦY ĐỦ KDD CUP99 59
BẢNG 3.7: DỮ LIỆU THỰC NGHIỆM BAN ĐẦU 10% KDD CUP99 60
BẢNG 3.8: THỐNG KÊ KẾT QUẢ PHÂN CỤM K-MEANS 61
BẢNG 3.9: KẾT QUẢ PHÂN CỤM 62
BẢNG 3.10: BẢNG ĐÁNH GIÁ KHẢ NĂNG PHÁT HIỆN XÂM NHẬP K-MEANS 62
BẢNG 3.11: CÁC DẠNG TẤN CÔNG THỰC TẾ CỦA DỮ LIỆU ĐẦY ĐỦ KDD CUP99 72
BẢNG 3.12: DỮ LIỆU THỰC NGHIỆM BAN ĐẦU 10% KDD CUP99 73
BẢNG 3.12: BẢNG DỮ LIỆU KẾT QUẢ K-MEDOIDS 77
BẢNG 3.13: KẾT QUẢ ĐÁNH GIÁ TỔNG HỢP 78
BẢNG 3.14: ĐÁNH GIÁ KHẢ NĂNG PHÁT HIỆN XÂM NHẬP K-MEDOIDS…… 78
Trang 11MỞ ĐẦU Đặt vấn đề
Với sự bùng nổ của internet ở khắp mọi nơi, mọi ngóc ngách, mọi cá nhân, công ty, tổ chức, quốc gia, có nguy cơ bị xâm phạm mạng ngày càng cao Hiện nay xâm phạm mạng trái phép là điểm nóng của an ninh quốc gia Lấy một ví dụ đơn giản, ngày 1/6/2015, Bkav đã có thông báo về đợt tấn công của nhóm hacker đến từ Trung Quốc mang tên 1937cn diễn ra trong 2 ngày 30/5 và 31/5/2015 Theo đó, trong đợt tấn công này, đã có hơn 1.200 website của Việt Nam và Philippines bị tấn công Trong đó có khoảng 1.000 website của Việt Nam, với 15 trang “.gov.vn” và
50 trang “.edu.vn” Trước tình hình đó an ninh mạng cần phải có những chiếm lược, những giải pháp phòng thủ bảo mật, chặt chẽ, an toàn, hiệu quả
Đã có nhiều phương pháp sử dụng như tường lửa (Firewall), mã hóa mạng dạng
riêng ảo (VPN) Hệ thống phát hiện xâm nhập trái phép (IDS - Instrusion Detection System) là một hệ thống gần đây được đông đảo những người liên quan đến bảo mật khá quan tâm , IDS phát hiện các cuộc tấn công một cách kịp thời, giảm các tổn thất do các cuộc tấn công gây ra ở mức độ thấp nhất IDS hoạt động rất đa dạng , hay bị nhầm lẫn với hệ thống kiểm tra lưu lượng mạng, các bộ quét bảo mật, tường lửa, phần mền chống virus Mục đích chính IDS: Phát hiện kịp thời để có thể ngăn chặn các cuộc tấn công trước khi chúng gây hại cho hệ thống
Ngoài chức năng cung cấp và phân tích các gói tin trên mạng, IDS còn đưa ra những cảnh báo như sau: Các sự kiện tấn công, phương pháp tấn công, nguồn gốc tân công, dấu hiệu tấn công
IDS có khả năng chống lại các cuộc tấn công mới, nó còn phân biệt được giữa tấn công bên trong (từ nhân viên và khách hàng) và tấn công từ bên ngoài (tấn công
từ hacker) và IDS có khả bảo mật tốt với các phương pháp bảo mật truyền thống Một tính năng khá quan trọng của IDS là cung cấp thông tin hành động không bình thường và đưa ra cảnh báo cho quản trị viên khóa các kết nối đang tấn công IDS
đã được nghiên cứu, phát triển rộng trên thế giới và đóng vai trò quan trọng trong
Trang 12IDS có thể kết hợp với tường lửa vì:
+ phát hiện tấn công từ bên trong
+ Các cuộc tấn công tinh vi đều thất bại
+ Các cuộc tấn công qua được tường lủa sẽ bị chặn lại bởi IDS
+ Nếu hệ thống tường lủa cấu hình sai IDS sẽ kiểm tra lại 2 lần
Nội dung của đề tài
Xuất phát từ vấn đề nêu trên, nội dung của đề tài sẽ bao gồm những vấn đề sau:
- Tìm hiểu về hệ thống phát hiện xâm nhập IDS
- Các dạng tấn công xâm nhập mạng, Mã độc, trong các hệ thống phát hiện xâm nhập mạng máy tính
- Khai phá dữ liệu và các kỹ thuật phân cụm
- Phát hiện xâm nhập mạng với thuật toán phân cụm K-Means
- Nghiên cứu cụ thể một kỹ thuật sử dụng trong phát hiện bất thường pháp hiện xâm nhập dựa trên thuật toán phân cụm k-Medoids Xây dựng thử nghiệm trong việc pháp hiện xâm nhập dựa trên thuật toán phân cụm k-
Medoids Đưa ra Kết quả thực nghiệm và đánh giá và so sánh
Cấu trúc luận văn
Luận văn sẽ được chia thành 3 chương chính dựa vào nội dung nêu trên:
- Chương 1: TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS, CÁC DẠNG TẤN CÔNG, MÃ ĐỘC
- Chương 2: KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM
- Chương 3 PHƯƠNG PHÁT PHÁP HIỆN XÂM NHẬP, SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU
Trang 13CHƯƠNG 1 TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS,
CÁC DẠNG TẤN CÔNG MÃ ĐỘC
1.1 Lịch sử ra đời IDS
Cách đây khoảng 25 năm, khái niệm phát hiện xâm nhập xuất hiện qua một bài báo của James Anderson Khi đó người ta cần IDS với mục đích là dò tìm và nghiên cứu các hành vi bất thường và thái độ của người sử dụng trong mạng, phát hiện ra các việc làm dụng đặc quyền để giám sát tài sản hệ thống mạng Các nghiên cứu về hệ thống phát hiện xâm nhập được nghiên cứu chính thức từ năm 1983 đến năm 1988 trước khi được sử dụng tại mạng máy tính của không lực Hoa Kỳ Cho đến tận năm 1996, các khái niệm IDS vẫn chưa được phổ biến, một số hệ thống IDS chỉ được xuất hiện trong các phòng thí nghiệm và viện nghiên cứu Tuy nhiên trong thời gian này, một số công nghệ IDS bắt đầu phát triển dựa trên sự bùng nổ của công nghệ thông tin Đến năm 1997 IDS mới được biết đến rộng rãi và thực sự đem lại lợi nhuận với sự đi đầu của công ty ISS, một năm sau đó, Cisco nhận ra tầm quan trọng của IDS và đã mua lại một công ty cung cấp giải pháp IDS tên là Wheel Hiện tại, các thống kê cho thấy IDS/IPS đang là một trong các công nghệ an ninh được sử dụng nhiều nhất và vẫn còn phát triển
1.2 Giới thiệu hệ thống IDS
IDS là từ viết tắt tiếng anh của Intrusion Detection System hay còn gọi là hệ thống phát hiện các truy nhập trái phép Có nhiệm vụ rà soát các gói tin trên mạng
và cảnh báo cho quản trị viên về phát hiện các truy nhập trái phép Fivewall hạn chế được các cuộc tấn công tiền tàng và bảo mật cả hệ thống, nhưng tường lửa giống như một bức tường thành vững chắc nhưng không linh động như IDS, là những đội quân có thể rà soát được bên trong (từ những người trong công ty), bên ngoài (từ các hacker) và các tệp tin đi qua nó
IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạc chuẩn
Trang 141.2.1 Một hệ thống IDS bao gồm các thành phần
Bộ phát hiện (Sensor): Bộ phát hiện có chức năng rà quét nội dung của các gói tin trên mạng, so sánh nội dung với các mẫu và phát hiện ra các dấu hiệu tấn công hay còn gọi là các sự kiện Bộ giao diện (Console): Là bộ phận làm nhiệm vụ giám sát các sự kiện và điều khiển hoạt động của các bộ Sensor Bộ xử lý (Engine):
Có nhiệm vụ ghi lại tất cả các báo cáo về các sự kiện được phát hiện bởi các Sensor trong một cơ sở dữ liệu và sử dụng một hệ thống các luật để đưa ra các cảnh báo
cho người quản trị viên Các mẫu (Signatures): Các Sensor hoạt động theo cơ chế
“so sánh với mẫu”, Thông thường các mẫu (Signatures) này được hình thành dựa trên kinh nghiệm phòng chống các cuộc tấn công, người ta thành lập các trung tâm chuyên nghiên cứu và đưa ra các mẫu này để cung cấp cho hệ thống IDS trên toàn thế giới
1.2.2 Phân loại các hệ thống IDS
1.2.2.1 Network-based Intrusion Detection System (NIDS)
Network-based Instrusion Detection System (Hệ thống phát hiện truy nhập cho mạng) là một giải pháp độc lập để xác định các truy nhập trái phép bằng cách kiểm tra các luồng thông tin trên mạng và giám sát nhiều máy trạm
Hình 1.1: Hệ thống Network-based Intrusion Detection
Trang 15Trong hệ thống Network-based Intrusion Detection System (NIDS), các Sensor
được đặt trước miền DMZ hoặc ở vùng biên của mạng
1.2.2.2 Host-based Intrusion Detection System (HIDS)
Trong hệ thống HIDS (Hệ thống phát hiện truy nhập dựa trên máy trạm), các Sensor thường thường là một phần mềm trên máy
Hình 1.2: Hệ thống Host-based Intrusion Detection Hybrid Intrusion Detection System
Hybrid Intrusion Detection System là một hệ thống lai giữa hệ thống based IDS và Hệ thống Host-based IDS Nó kết hợp một hoặc nhiều các thành phần thích hợp của hai hệ thống lại với nhau Các thông tin thu thập được trên máy trạm (Host agent data) kết hợp với thông tin thu thập được ở trên mạng để có được
Network-sự phân tích một cách chi tiết về hiện trạng hệ thống mạng
Lợi thế của Network-Based IDSs:
Trang 16- "Trong suốt" với người sử dụng lẫn kẻ tấn công
- Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
- Tránh DOS ảnh hưởng tới một host nào đó
- Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI)
- Độc lập với OS
Hạn chế của Network-Based IDSs:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có intrusion mà NIDS báo là có intrusion
- Không thể phân tích các traffic đã được encrypt (vd: SSL, SSH, IPSec…)
- NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn
- Có độ trễ giữa thời điểm bị attack với thời điểm phát báo động Khi báo động được phát ra, hệ thống có thể đã bị tổn hại
- Không cho biết việc sự tấn công có thành công hay không
Host Based IDS (HIDS)
HIDS thường được cài đặt trên một máy tính nhất đinh Thay vì giám sát hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một máy tính HIDS thường được đặt trên các host xung yếu của tổ chức, và các server trong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên Nhiệm vụ chính của HIDS là
giám sát các thay đổi trên hệ thống, bao gồm (not all):
Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay đổi khả
nghi trên hệ thống file sẽ gây ra báo động
Lợi thế của HIDS:
Có khả năng xác đinh user liên quan tới một event
Trang 17 HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy, NIDS không có khả năng này
Có thể phân tích các dữ liệu mã hoá
Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này
Hạn chế của HIDS:
Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công
Khi OS bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ"
HIDS phải đƣợc thiết lập trên từng host cần giám sát
HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…)
HIDS cần tài nguyên trên host để hoạt động
HIDS có thể không hiệu quả khi bị DOS
Đa số chạy trên hệ điều hành Window Tuy nhiên cũng đã có 1 số chạy đƣợc
trên UNIX và những hệ điều hành khác
DIDS
DIDS là sự kết hợp cả các NIDS sensors với nhau hoặc NIDS và HIDS sensor
Trang 18Hình 1.3: Kết hợp NIDS và HIDS
DIDS có khả năng xử lý tập trung, giúp cho người quản trị có khả năng theo dõi toàn bộ hệ thống Hiện nay trên thế giới có sự hiện diện của một DIDS lớn nhất với nhiều sensor ở khắp mọi nơi đó là hệ thống Dshield Dshield là một phần của trung tâm ISC (Internet Storm Center) của viện SANS
1.3 Chức năng của IDS
Chức năng quan trọng nhất là: giám sát – cảnh báo – bảo vệ
Giám sát: lưu lượng mạng và các hoạt động khả nghi
Cảnh báo: báo cáo về tình trạng mạng cho hệ thống và nhà quản trị
Bảo vệ:
Chức năng mở rộng:
Phân biệt: tấn công bên trong và tấn công bên ngoài
Phát hiện: những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so sánh thông lượng mạng hiện tại với baseline
Ngăn chặn sự gia tăng của những tấn công
Bổ sung những điểm yếu mà các hệ thống khác chưa làm được
Đánh giá chất lượng của việc thiết kế hệ thống
1.4 Kiến trúc của IDS
1.4.1 Nguyên lý hoạt động và các nhiệm vụ thực hiện
Các nhiệm vụ IDS thực hiện
Trang 19Hình 1.4: Hoạt động của IDS
Dữ liệu được tạo ra từ các hệ thống phát hiện xâm nhập được kiểm tra một cách cẩn thận (đây là nhiệm vụ chính cho mỗi IDS) để phát hiện các dấu hiệu tấn công (sự xâm phạm) Việc làm lệnh hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo vệ là một nhiệm vụ quan trọng khác
- Thu thập thông tin (information source): Kiểm tra tất cả các gói tin trên mạng (Intrustion Montorring)
- Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để cho biết hành động nào là tấn công (Intruction detection)
- Xuất thông tin cảnh báo (response): hành động cảnh báo cho sự tấn công được phân tích ở trên nhờ bộ phận (thông báo - Notification)
1.4.2 Kiến trúc và thành phần của hệ thống phát hiện xâm nhập IDS
- Thành phần thu thập thông tin gói tin (information collection)
- Thành phần phát hiện, phân tích gói tin (Dectection)
- Thành phần xử lý, phản hồi (respontion)
Hình 1.5: Mô hình kiến trúc hệ thống phát hiện xâm nhập (IDS)
- Thành phần thu thập gói tin Thành phần này có nhiệm vụ lấy tất các gói tin đi đến mạng Thông thường các gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó huỷ bỏ nhưng card mạng của IDS được đặt ở chế độ thu nhận tất cả
Trang 20định chúng thuộc kiểu gói tin nào, dịch vụ gì Các thông tin này được chuyển đến thành phần phát hiện tấn công
- Thành phần phát hiện gói tin là quan trọng nhất, ở thành phần này, các bộ cảm biến đóng vai trò quyết định Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ những thông tin dữ liệu không tương thích đạt được từ các sự kiện liên quan tới hệ thống bảo vệ, vì vậy có thể phát hiện được các hành động nghi ngờ
- Thành phần xử lý, phản hồi Khi có dấu hiệu của sự tấn công hoặc thâm nhập, thành phần phát hiện tấn công sẽ gửi tín hiệu báo hiệu (alert) có sự tấn công hoặc thâm nhập đến thành phần phản ứng Lúc đó thành phần phản ứng sẽ 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ị
1.5 Phân biệt những hệ thống không phải là IDS
Các thiết bị bảo mật dưới đây không phải là IDS:
Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với vấn
đề tấn công từ chối dịch vụ (DoS) trên một mạng nào đó Ở đó sẽ có hệ thống kiểm tra lưu lượng mạng
Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều hành, dịch vụ mạng (các bộ quét bảo mật)
Các sản phẩm chống virus được thiết kế để phát hiện các phần mềm mã nguy hiểm như virus, trojan horse, worm, Mặc dù những tính năng mặc định có thể giống IDS và thường cung cấp một công cụ phát hiện lỗ hổng bảo mật hiệu quả
Tường lửa – firewall
Các hệ thống bảo mật, mật mã như: SSL, Kerberos, VPN,
1.6 Lợi ích của IDS:
Hệ thống phát hiện xâm nhập là một phần bổ sung cần thiết của các phương pháp bảo vệ an ninh truyền thống như là firewall và mã hóa dữ liệu, bởi vì nó có thể cung cấp bảo vệ thời gian thực chống lại các tấn công từ bên trong, tấn công từ bên ngoài
và các hoạt động lỗi (misoperations)
Trang 21IDS được chia thành hai loại chính: HIDS (Host Intrustion 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 Intrustion 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 đó
Lợi thế của hệ thống này là có thể phát hiện được những kiểu tấn công chưa biết trước Tuy nhiên, hệ thống này lại sinh ra nhiều cảnh báo sai do định nghĩa quá chung về cuộc tấn công Thống kê cho thấy trong hệ thống này, hầu hết các cảnh báo là cảnh báo sai, trong đó có rất nhiều cảnh báo là từ những hành động bình thường, chỉ có một vài hành động là có ý đồ xấu, vấn đề là ở chỗ hầu hết các hệ thống đều có ít khả năng giới hạn các cảnh báo nhầm đó
Sử dụng hệ thống IDS để nâng cao khả năng quản lý và bảo vệ mạng, lợi ích mà nó đem lại là rất lớn Một mặt nó giúp hệ thống an toàn trước những nguy cơ tấn công, mặt khác nó cho phép nhà quản trị nhận dạng và phát hiện được những nguy cơ tiềm ẩn dựa trên những phân tích và báo cáo được IDS cung cấp Từ đó, hệ thống IDS có thể góp phần loại trừ được một cách đáng kể những lỗ hổng về bảo mật trong môi trường mạng
1.7 Các dạng tấn công xâm nhập mạng
1.7.1 Phương thức ăn cắp thống tin bằng Packet Sniffers
Đây là một chương trình ứng dụng bắt giữ được tất cả các các gói lưu chuyển trên mạng (trên một collision domain) Sniffer thường được dùng cho troubleshooting network hoặc để phân tích traffic Tuy nhiên, do một số ứng dụng gởi dữ liệu qua mạng dưới dạng clear text (telnet, FTP, SMTP, POP3, ) nên sniffer cũng là một công cụ cho hacker để bắt các thông tin nhạy cảm như là username, password, và từ
đó có thể truy xuất vào các thành phần khác của mạng
1.7.2 Phương thức tấn công mật khẩu Password attack
Các hacker tấn công password bằng một số phương pháp như: brute-force attack, chương trình Trojan Horse, IP spoofing, và packet sniffer Mặc dù dùng packet sniffer và IP spoofing có thể lấy được user account và password, như hacker lại
Trang 22Tấn công brute-force được thực hiện bằng cách dùng một chương trình chạy trên mạng, cố gắng login vào các phần share trên server băng phương pháp “thử và sai” passwork
1.7.3 Phương thức tấn công bằng Mail Relay
Đây là phương pháp phổ biến hiện nay Email server nếu cấu hình không chuẩn hoặc Username/ password của user sử dụng mail bị lộ Hacker có thể lợi dụng email server để gửi mail gây ngập mạng , phá hoại hệ thống email khác Ngoài ra với hình thức gắn thêm các đoạn script trong mail hacker có thể gây ra các cuộc tấn công Spam cùng lúc với khả năng tấn công gián tiếp đến các máy chủ Database nội bộ hoặc các cuộc tấn công D.o.S vào một mục tiêu nào đó
1.7.4 Phương thức tấn công hệ thống DNS
DNS Server là điểm yếu nhất trong toàn bộ các loại máy chủ ứng dụng và cũng là
hệ thống quan trọng nhất trong hệ thống máy chủ
Việc tấn công và chiếm quyền điều khiển máy chủ phục vụ DNS là một sự phá hoại nguy hiểm liên quan đến toàn bộ hoạt động của hệ thống truyền thông trên mạng
- Hạn chế tối đa các dịch vụ khác trên hệ thống máy chủ DNS
- Cài đặt hệ thống IDS Host cho hệ thống DNS
- Luôn cập nhật phiên bản mới có sửa lỗi của hệ thống phần mềm DNS
1.7.5 Phương thức tấn công Man-in-the-middle attack
Dạng tấn công này đòi hỏi hacker phải truy nhập được các gói mạng của mạng Một
ví dụ về tấn công này là một người làm việc tại ISP, có thể bắt được tấc cả các gói mạng của công ty khách hàng cũng như tất cả các gói mạng của các công ty khác thuê Leased line đến ISP đó để ăn cắp thông tin hoặc tiếp tục session truy nhập vào mạng riêng của công ty khách hàng Tấn công dạng này được thực hiện nhờ một packet sniffer
1.7.6 Phương thức tấn công để thăm dò mạng
Thăm dò mạng là tất cả các hoạt động nhằm mục đích lấy các thông tin về mạng khi một hacker cố gắng chọc thủng một mạng, thường thì họ phải thu thập được
Trang 23thông tin về mạng càng nhiều càng tốt trước khi tấn công Điều này có thể thực hiện bởi các công cụ như DNS queries, ping sweep, hay port scan
1.7.7 Phương thức tấn công Trust exploitation
Loại tấn công kiểu này được thực hiện bằng cách tận dụng mối quan hệ tin cậy đối với mạng Một ví dụ cho tấn công kiểu này là bên ngoài firewall có một quan hệ tin cậy với hệ thống bên trong firewall Khi bên ngoài hệ thống bị xâm hại, các hacker
có thể lần theo quan hệ đó để tấn công vào bên trong firewall
1.7.8 Phương thức tấn công Port redirection
Tấn công này là một loại của tấn công trust exploitation, lợi dụng một host đã đã bị đột nhập đi qua firewall Ví dụ, một firewall có 3 inerface, một host ở outside có thể truy nhập được một host trên DMZ, nhưng không thể vào được host ở inside Host ở DMZ có thể vào được host ở inside, cũng như outside Nếu hacker chọc thủng được host trên DMZ, họ có thể cài phần mềm trêm host của DMZ để bẻ hướng traffic từ host outside đến host inside
1.7.9 Phương thức tấn công lớp ứng dụng
Tấn công lớp ứng dụng được thực hiện bằng nhiều cách khác nhau Một trong những cách thông dụng nhất là tấn công vào các điểm yếu của phân mềm như sendmail, HTTP, hay FTP
Nguyên nhân chủ yếu của các tấn công lớp ứng dụng này là chúng sử dụng những port cho qua bởi firewall Ví dụ các hacker tấn công Web server bằng cách sử dụng TCP port 80, mail server bằng TCP port 25
1.7.10 Phương thức tấn Virus và Trojan Horse
Các nguy hiểm chính cho các workstation và end user là các tấn công virus và ngựa thành Trojan (Trojan horse) Virus là một phần mềm có hại, được đính kèm vào một chương trình thực thi khác để thực hiện một chức năng phá hại nào đó Trojan horse thì hoạt động khác hơn Một ví dụ về Trojan horse là một phần mềm ứng dụng để chạy một game đơn giản ở máy workstation Trong khi người dùng đang mãi mê chơi game, Trojan horse sẽ gởi một bản copy đến tất cả các user trong address book
Trang 24Khi user khác nhận và chơi trò chơi, thì nó lại tiếp tục làm như vậy, gởi đến tất cả
các địa chỉ mail có trong address book của user đó
1.8 Mã độc
1.8.1 Mã độc là gì?
Mã độc là các phần mềm độc hại được viết với mục đích có thể lây lan phát tán (hoặc không lây lan, phát tán) trên hệ thống máy tính và internet, nhằm thực hiện các hành vi bất hợp pháp (hoặc có thể hợp pháp, ví dụ như các addon quảng cáo được thực thi một cách hợp pháp trên máy tính người dùng, nhưng không theo ý muốn của người sử dụng máy tính), hành vi nhằm vào người dùng cá nhân, cơ quan,
tổ chức
1.8.2 Phân loại
Trojan: phá hoại máy tính như: xoá file, ngăn chặn người dùng kết nối
internet…
Worm: Giống phá hoại máy tính, nó có thể tự nhân bản để thực hiện lây nhiễm
qua nhiều máy tính
Spyware: là phần mềm cài đặt trên máy tính người dùng nhằm thu thập các
thông tin người dùng một cách bí mật
Adware: phần mềm quảng cáo, là các phần mềm tự động tải, pop up, hiển thị
hình ảnh và các thông tin quảng cáo để ép người dùng đọc, xem
Ransomware: phần mềm khi lây nhiễm vào máy tính nó sẽ kiểm soát hệ thống
yêu cầu nạn nhân phải trả tiền để có thể khôi phục lại điều khiển với hệ thống
Virus: lấy file từ máy tính này sang máy tính khác dưới nhiều hình thức khác
nhau, virus thực hiện các hành vi phá hoại, lấy cắp thông tin…
Rootkit: phần mềm có khả năng che giấu danh tính của nó trong hệ thống, các
phần mềm antivirus từ đó có thể hỗ trợ các module khác tấn công
1.8.3 Phòng tránh mã độc
Mã độc thật sự rất nguy hiểm với người sử dụng thông thường Như vậy, cần có một phương pháp phòng tránh và ngăn chặn đơn giản nhất cho tất cả người dùng
Trang 25 Luôn luôn cài đặt và sử dụng một phần mềm diệt virus chính hãng Ví dụ:
Kaspersky, Bitdifender, Avast, Norton, Bkav, …
Xây dựng chính sách với các thiết bị PnP: các thiết bị loại này: USB, CD/DVD,
… virus có thể lợi dụng để thực thi mà không cần sự cho phép của người dùng
Do đó, cần thiết lập lại chế độ cho các thiết bị sử dụng thiết bị USB, ta không nên mở trực tiếp bằng cách chọn ổ đĩa rồi nhấn phím Enter, hoặc nhấp đôi chuột vào biểu tượng mà nên bấm chuột phải rồi click vào explore
Thiết lập quy tắc đối xử với các file: Không nên mở hoặc tải về các file không
rõ nguồn gốc, đăc biệt là các file thực thi (các file có đuôi exe, dll, …) Với các file này, ta tiến hành quét bằng phần mềm diệt virus hoặc thực hiện kiểm tra trực
tiếp trên website: https://www.virustotal.com Khi có sự bất thường cần dừng
thực thi file
Truy cập web an toàn: truy cập web khiến máy tính dễ dàng bị nhiễm mã
độc: Không nên truy cập vào các trang web đen, các trang web độc hại, có nội dung không lành mạnh, không tuy tiện click vào các url từ các email hoặc từ nội dung chat, trên các website, … Các website và url thường chứa các mã độc khi người dùng click, nó sẽ tự động tải về, thiết lập cài đặt để thực thi hợp pháp trên máy tính người dùng Ví dụ các máy của các nhân viên văn phòng hầu hết đều bị cài đặt các addon hoặc các phần mềm quảng cáo do quá trình duyệt web của người dùng đã cho phép addon hoặc phần mềm quảng cáo đó thực thi
Cập nhật máy tính, phần mềm: Thường xuyên cập nhật các bản vá được cung
cấp từ hệ điều hành, các bản vá cho các ứng dụng đang sử dụng và đặc biệt là cập nhật chương trình diệt virus Đây là yếu tố quan trọng để tránh được các loại
mã độc lợi dụng các lỗ hổng để lây lan, đồng thời cũng cập nhật được các mẫu
mã độc mới giúp phần mềm diệt virus
Nhờ chuyên gia can thiệp: Người dùng khách hàng cần phải hiểu biết tác hại tổn
thất mà mã độc gây ra Khi không diệt được vi rút cần gọi sự giúp đỡ các chuyên gia để kiểm tra máy tính, pháp hiện và tiêu diệt ngay
Trang 261.9 Kết chương
Phát hiện truy cập trái phép là tiến trình theo dõi sự kiện xảy ra trong hệ thống máy tính hoặc mạng và phân tích chúng để tìm ra những dấu hiệu của các mối nguy hiểm có thể xảy ra, chúng vi phạm hoặc sắp vi phạm các chính sách bảo mật của hệ thống máy tính, các chính sách được chấp nhận sử dụng, hoặc các chuẩn bảo mật thông thường Ngăn chặn truy cập trái phép là tiến trình hoạt động bao gồm cả phát hiện truy cập và cố gắng ngăn chặn những mối nguy hiểm được phát hiện Hệ thống ngăn chặn truy cập trái phép tập trung chủ yếu vào việc phát hiện các mối đe dọa có thể đối với hệ thống, ghi lại thông tin về chúng, cố gắng ngăn chặn và thông tin cho người quản trị mạng
Cho thấy được sự cần thiết của bảo mật, những hạn chế của các phương pháp bảo mật hiện tại, đồng thời nói lên sự cần thiết của hệ thống phát hiện xâm nhập trái phép
Hệ thống phát hiện xâm nhập mạng (IDS) tuy chỉ mới xuất hiện sau này nhưng hiện đóng vai trò không kém phần quan trọng IDS giúp chúng ta khám phá, phân tích một nguy cơ tấn công mới Từ đó vạch ra phương án phòng chống Ở một góc
độ nào đó, có thể lần tìm được thủ phạm gây ra một cuộc tấn công
Hướng phát triển:
Sau khi đã nắm cơ bản về Hệ thống phát hiện xâm nhập (IDS), ta có thể thực hiện nghiên cứu Hệ thống phát hiện và chặn xâm nhập (IPS) và triển khai cho các hệ thống mạng của các tổ chức
Nghiên cứu cách sử dụng Snort để phát hiện các hình thức tấn cống hiện tại
và có thể phát triển lên các phương pháp phòng chống tiên tiến hơn ở một tương lai không xa
Trang 27CHƯƠNG 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM 2.1 Tổng quan về khai phá dữ liệu
Cuối thập kỷ 80 của thế kỷ 20, sự phát triển rộng khắp của các CSDL đã tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề cập đến khái niệm khủng hoảng trong việc phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định trong các tổ chức chính phủ, tài chính, thương mại, khoa học, …
KPDL là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn từ những CSDL lớn cho các đơn vị, tổ chức, doanh nghiệp…Từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị,
tổ chức này Các kết quả nghiên cứu khoa học cùng những ứng dụng thành công trong KDD cho thấy KPDL là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với các công cụ tìm kiếm phân tích dữ liệu truyền thống Hiện nay, KPDL đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như thương mại, tài chính, y học, viễn thông…
Các kỹ thuật chính được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê và tính toán hiệu năng cao…
Những thập kỷ tới internet sẽ thông dụng trên 90% dân số thế giới! internet sẽ có mặt ở khắp mọi nơi, mọi ngóc ngách, đến mọi nhà và mọi tầng lớp lứa tuổi Do vậy các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàng ngày của chúng trên các thiết bị điện tử (Ðĩa từ quang, đĩa quang học (CD-ROM), ổ cứng, ổ mền, bãng từ, đĩa từ tính( đĩa mền, đĩa cứng, đĩa floptical, Ổ băng ghi lưu,
Ổ đĩa tháo lắp ZIP) , không ngừng tăng lên vô cùng khổng lồ, không thể tưởng tưởng nổi Do vậy nẩy sinh sự khát khao tri thức tiền năng của cá nhân, thành viên,
tổ chức Từ khối dữ liệu này, các kỹ thuật trong Khai Phá Dữ Liệu (KPDL) và Máy Học (MH) có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưa biết Trong số đó “ Necessity is the mother of invention” – Data Mining ra đời như một
Trang 28hướng giải quyết hữu hiệu cho dữ liệu vô cùng không lồ trên thế giới trong thời đại hiện nay.
Khá nhiều định nghĩa về Data Mining và sẽ dược đề cập ở phần sau, tuy nhiên có
thể tạm hiểu rằng Data Mining như là một công nghệ khai phá tri thức tiền năng
giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của cá nhân, công ty, tổ chức, quốc gia
Giáo sư Tom Mitchell đã đưa ra định nghĩa của KPDL như sau: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận ứng dụng hơn, Tiến sĩ Fayyad đã phát biểu:
“KPDL, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Nói tóm lại, KPDL
là một quá trình học tri thức mới từ những dữ liệu đã thu thập được
Tóm lại : Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó + Quá trình khai phá tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và quay trở lại các bước đã qua
Trang 29+ KPDL có năm giai đoạn chính và có thể được lặp lại nhiều lần một hay nhiều giai đoạn dựa trên phản hồi từ kết quả của các giai đoạn sau Chúng bao gồm:
- Tìm hiểu nghiệp vụ và dữ liệu
- Chuẩn bị dữ liệu
- Mô hình hóa dữ liệu
- Hậu xử lý và đánh giá mô hìn
- Triển khai tri thức
Khai phá dữ liệu là một bước trong bảy bước của quá trình hiểu biết khám phá trong cơ sở dữ liệu (Knowleadge Discovery in Database) viết tắt KDD và KDD
được xem như 7 quá trình khác nhau theo thứ tự sau:
1 Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết
2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho
dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing)
3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data) vv
4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
5 Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất, trong đó
sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó
7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật
để biểu diễn và thể hiện trực quan cho người dùng
Các chức năng chính của khai phá dữ liệu
Trang 30• Mô tả khái niệm (concept description): thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ: tóm tắt văn bản
• Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, v.v
• Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát (học có thầy)
• Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát (học không thầy)
• Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao
+ Các bài toán thông dụng trọng KPDL
Trong KPDL, các bài toán có thể phân thành bốn loại chính
Bài toán thông dụng nhất trong KPDL là Phân lớp (Classification) Với một tập các
dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại (classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã được xác định trước Nhận dạng cũng là một bài toán thuộc kiểu Phân loại
Với mô hình học tương tự như bài toán Phân loại, lớp bài toán Dự đoán (Prediction)
sẽ học ra các bộ dự đoán Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để đưa ra một giá trị số học cho hàm cần dự đoán Bài toán tiêu biểu trong nhóm này là dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh
Trang 31Các giải thuật Tìm luật liên kết (Association Rule) tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị
Các kỹ thuật Phân cụm (Clustering) sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào cùng một nhóm Có nhiều cách tiếp cận với những mục tiêu khác nhau trong phân loại Các tài liệu giới thiệu khá đầy đủ và chi tiết về các cách tiếp cận trong Phân cụm Các kỹ thuật trong bài toán này thường được vận dụng trong vấn đề phân hoạch dữ liệu tiếp thị hay khảo sát sơ bộ các dữ liệu
+ Các môi trường KPDL
Do các đặc tính được nêu ra trong phần 2, các công cụ KPDL thường được xây dựng theo dạng môi phát triển, dễ thử nghiệm và thay đổi các tác vụ KPDL Hình 1 giới thiệu giao diện trực quan của một quá trình KPDL trong môi trường Clementine
Hinh 2.13: Giao diện trực quan của môi trường KPDL Clementine
Trong các môi trường này, một quá trình KPDL được mô tả như một dòng các tác
vụ nối tiếp, bắt đầu bằng việc lấy dữ liệu thực từ nguồn dữ liệu lịch sử, thao tác biến đổi dữ liệu sang dạng thích hợp, học và sinh ra mô hình mới Mô hình này sau đó được thử nghiệm trên dữ liệu thực để đưa ra các đánh giá Nếu mô hình được đánh giá chưa thỏa mãn các yêu cầu đề ra, các tác vụ trong quá trình được tinh chỉnh rồi
Trang 32giá có hiệu quả tốt Mô hình sinh ra cuối cùng sẽ được triển khai sử dụng trong thực
tế Các môi trường như vậy rất phù hợp cho quá trình KPDL vì tính chất thử nghiệm
và cần thay đổi nhiều của nó
Việc sử dụng các môi trường thử nghiệm đã thúc đẩy nhanh việc áp dụng KPDL Thay vì phải bỏ nhiều công sức và thời gian vào việc xây dựng các chương trình hoàn chỉnh và hiện thực các giải thuật, khi dữ liệu sẵn sàng cho việc sử dụng, người vận dụng KPDL chỉ cần phải tìm hiểu các kiến thức cần thiết, khảo sát tính chất dữ liệu, vận dụng các kỹ thuật đã được hiện thực sẵn trên dữ liệu, đánh giá các kết quả tạm thời và vận dụng kết quả cuối cùng Với phương thức hiện đại như vậy, việc áp dụng KPDL trở nên rất dễ dàng và tiện lợi
Weka là môi trường thử nghiệm KPDL do các nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho sinh viên và người ngoài ngành CNTT tìm hiểu về KPDL Weka còn cho phép các giải thuật học mới phát triển có thể tích hợp vào môi trường của nó
+ Những ứng dụng đáng chú ý của khai thác dữ liệu
Khai thác dữ liệu được xem là phương pháp mà đơn vị Able Danger của Quân đội
Mỹ đã dùng để xác định kẻ đứng đầu cuộc tấn công ngày 11 tháng 9, Mohamed Atta, và ba kẻ tấn công ngày 11 tháng 9 khác là các thành viên bị nghi ngờ thuộc lực lượng al Qaeda hoạt động ở Mỹ hơn một năm trước cuộc tấn công
2.2 Các mô hình khai phá dữ liệu
Nói chung, có hai mô hình khai phá dữ liệu: Mô tả và suy diễn Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho
dữ liệu Suy diễn là quá trình dựa trên dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu Có nhiều cách khai phá dữ liệu được nghiên cứu, trong đó có ba cách được các nhà nghiên cứu sử dụng nhiều nhất là: Luật kết hợp, phân lớp dữ liệu và phân cụm dữ liệu
Trang 332.3 Bài toán phân cụm dữ liệu
2.3.1 Tổng quan về kỹ thuật phân cụm
Ta có thể khái quát hóa khái niệm PCDL[6]: PCDL là một kỹ thuật trong KPDL, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên, tiềm ẩn, quan trọng trong tập dữ liệu lớn từ đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định Phân cụm dữ liệu là xử lý một tập các đối tượng vào trong các lớp các đối tượng giống nhau được gọi là phân cụm Một cụm là một tập hợp các đối tượng dữ liệu giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác
Như vậy, PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" với nhau và các phần tử trong các cụm khác nhau sẽ "phi tương tự" với nhau Số các cụm dữ liệu được phân ở đây
có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định của phương pháp phân cụm
2.3.2 Các kỹ thuật phân cụm dữ liệu
Các kỹ thuật áp dụng để giải quyết vấn đề PCDL đều hướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Tuy nhiên, các kỹ thuật PCDL có thể được phân loạithành một số loại cơ bản dưa trên các phương pháp tiếp cận khác nhau[7]: phân cụm phân hoạch, phân cụm phân cấp (đây là 2 kỹ thuật phân cụm phổ biến), ngoài ra còn có các kỹ thuật phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình, phân cụm dữ liệu
mờ Gần đây còn xuất hiện một kỹ thuật mới đó là phân cụm dựa trên lý thuyết tập thô [1] Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và ứng dụng trong thực tế,
nó hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Dưới đây xin trình bày khái quát ba kỹ thuật phân
cụm:
a Phân cụm phân hoạch
Ý tưởng chính của kỹ thuật này là phân một tập dữ liệu có n phần tử cho trước
Trang 34mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Các thuật toán phân hoạch có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL,
vì nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực
tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Với chiến lược này, thông thường người
ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic và liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch mong muốn, thoả mãn các điều kiện ràng buộc cho trước Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm bằng cách tính các giá trị đo độ tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham để tìm kiếm nghiệm
Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề xuất đầu tiên trong lĩnh vực KPDL cũng là các thuật toán được áp dụng nhiều trong thực tế như k-Means, PAM, CLARA, CLARANS
b Phân cụm phân cấp
Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cây phân cụm có thể được xây dựng theo hai phương pháp tổng quát: phương pháp “trên xuống” (Top down) và phương pháp “dưới lên” (Bottom up)
Phương pháp Bottom up: Phương pháp này bắt đầu với mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thoả mãn Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm
Trang 35Phương pháp Top Down: Bắt đầu với trạng thái là tất cả các đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng
là một cụm hoặc cho đến khi điều kiện dừng thoả mãn Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân cụm
Sau đây là minh họa chiến lược phân cụm phân cấp bottom up và top down
Hình 2.1: Các chiến lược phân cụm phân cấp Trong thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai phương pháp phân cụm phân hoạch và phương phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông quan bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện nay
đã có nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong KPDL Một số thuật toán phân cụm phân cấp điển hình như CURE, BIRCH, Chemeleon, AGNES, DIANA,
c Phân cụm dữ liệu dựa vào lý thuyết tập thô
Theo tìm hiểu của tác giả, C.L Bean, C.Kambhampati (2008) đã đề xuất phân cụm trên cơ sở các khái niệm của lý thuyết tập thô [1], thuật toán phân cụm dựa trên các quan hệ bất khả phân biệt trong tập dữ liệu vào để xác định các cụm với số cụm tự phát hiện trong quá trình thực hiện thuật toán Ý tưởng cơ bản của thuật toán là sử
Trang 36khả phân biệt ban đầu cho từng đối tượng Từ đó tổng hợp lại để có một phân cụm ban đầu Các bước tiếp theo lặp lại việc điều chỉnh các quan hệ bất khả phân biệt trên cơ sở xác định độ bất khả phân biệt của các đối tượng trong tập vũ trụ theo nguyên lý của lý thuyết tập thô, từ đó điều chỉnh để tạo ra phân cụm mới với chất lượng tốt hơn theo nguyên tắc các đối tượng trong cùng cụm có độ tương tự phân phối đồng đều nhất và khoảng cách giữa các cụm hợp lý nhất, tối thiểu việc tạo ra các cụm quá xa trọng tâm của không gian phân cụm
2.4 Kết chương
Như tên đề tài của luận văn “Phát hiện xâm nhập, các dạng tấn công, mã độc, sử dụng kỹ thuật khai phá dữ liệu”, chương này tác giả đã trình bày sơ lược về KPDL,
các mô hình KPDL, các kỹ thuật phân cụm dữ liệu, đặc biệt trình bày ý tưởng của 3
kỹ thuật phân cụm có liên quan đến giải pháp Phát hiện xâm nhập, các dạng tấn công, mã độc mà tác giả sẽ đề xuất trong chương 3
Trang 37CHƯƠNG 3 PHƯƠNG PHÁP PHÁP HIỆN XÂM NHẬP,
SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU 3.1 Pháp hiện xâm nhập dựa trên thuật toán K-Means
3.1.1 Thuật toán K-means
Các khái niệm
a Phân nhóm dữ liệu K-Means
Thuật toán phân cụm K-means do MacQuean đề xuất trong lĩnh vực thống kê năm 1967 Đây là thuật toán truyền thống được sử dụng phổ biến Ý tưởng của phương pháp này là từ tập ban đầu ta tìm một phép phân hoạch nó vào trong k tập con, trong đó k là số nguyên dương chọn trước cố định K-means Clustering là một thuật toán dùng trong các bái toán phân loại/ nhóm n đối tượng thành k nhóm dựa trên đặc tính/thuộc tính của đối tượng (k n nguyên, dương)
Hình 3.1: Ví dụ về phân nhóm đối tượng
Về nguyên lý, có n đối tượng, mỗi đối tượng có m thuộc tính, ta phân chia được các đối tượng thành k nhóm dựa trên các thuộc tính của đối tượng bằng việc áp dụng thuật toán này Coi mỗi thuộc tính của đối tượng (đối tượng có m thuộc tính) như một toạ độ của không gian m chiều và biểu diễn đối tượng như một điểm của không gian m chiều
Ai = (xi1,xi2, ,xim)
Trang 38xij(i =1 n, j=1 m) là thuộc tính thứ j của đối tượng i
Phương thức phân loại/nhóm dữ liệu thực hiện dựa trên khoảng cách Euclidean nhỏ nhất giữa đối tượng đến phần tử trung tâm của các nhóm
Phần tử trung tâm của nhóm được xác định bằng giá trị trung bình các phần tử trong nhóm
K-means phân cụm các phần tử theo trọng tâm của các cụm Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Như vậy, cần khởi tạo một tập trọng tâm các trọng tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trọng tâm gần, và tính toán tại trọng tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình này dừng khi các trọng tâm cụm hội tụ Trong phương pháp K-means, chọn một giá trị k và sau đó chọn ngẫu nhiên k trọng tâm của các đối tượng dữ liệu Tính toán khoảng cách giữa đối tượng dữ liệu trung bình mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán trung bình mới của cụm và lặp lại quá trình cho đến khi mỗi các đối tượng dữ liệu là một bộ phận của các cụm k
Hình 3.2: Cách thiết lập để xác định ranh giới các cụm ban đầu
Mục đích của thuật toán K-means là sinh k cụm dữ liệu {Cl, C2, , Ck} từ một tập
dữ liệu chứa n đối tượng trong không gian d chiều ai= ( xi1, xi2, , xim), i = 1, 2,…
n, sao cho hàm tiêu chuẩn: E=
k
i 1 xCi (x-m i ) 2 đạt giá trị tối thiểu.Trong đó: mi là trung bình cụm của cụm Ci, a là điểm dữ liệu đại diện cho một đối tượng Trọng tâm của cụm là một vectơ, trong đó giá trị của mỗi phần tử của nó là trung bình
Trang 39cộng của các thành phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng cách giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách Euclide Hàm tiêu chuẩn
và độ đo khoảng cách có thể được xác định cụ thể hơn tùy ý vào ứng dụng hoặc quan điểm của người dùng
Hình 3.3: Mô tả độ khoảng cách giữa các đối tượng
x is – Thuộc tính thứ s của đối tượng a i
– Thuộc tính thứ s của phân tử trung tâm c
Trang 40Phần tử trung tâm của nhóm đƣợc xác định bằng giá trị trung bình các phần tử trong nhóm k phần tử trung tâm (k nhóm) ban đầu đƣợc chọn ngẫu nhiên, sau mỗi lần
nhóm các đối tƣợng vào các nhóm, phần tử trung tâm đƣợc tính toán lại
Chọn k trọng tâm mjk j 1 ban đầu trong không gian Rd
(d là số chiều của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
2 Tính toán khoảng cách
Đối với mỗi điểm Ai (1 ≤ i ≤ k), tính toán khoảng cách của nó tới mỗi trọng tâm Cj (1 ≤ j ≤ k),sau đó tìm trọng tâm gần nhất đối với điểm
3 Cập nhật lại trọng tâm