Tôi xin cam đoan: Luận văn Thạc Sĩ “Ứng dụng Bản đồ tự tổ chức SOM - Self Organizing Map phát hiện phát tán virus máy tính qua hành vi” là kết quả nghiên cứu thực sự của cá nhân tôi, đượ
Trang 1Luận văn thạc sĩ Công nghệ thông tin
Đồng Nai – Năm 2012
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
NGUYỄN QUỐC DOANH
ỨNG DỤNG BẢN ĐỒ TỰ TỔ CHỨC SOM (Self Organizing Map) PHÁT HIỆN PHÁT TÁN VIRUS MÁY TÍNH QUA HÀNH VI
Chuyên ngành: Công nghệ thông tin
Mã số: 60.48.02.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRỊNH NGỌC MINH
Đồng Nai – Năm 2012
Trang 3Trang
Hình 2.1 Mô hình kiến trúc hệ thống phát hiện xâm nhập (IDS) 9
Hình 2.2 : Cấu trúc hệ thống phát hiện xâm nhập dạng tập trung 10
Hình 2.3 Phát hiện xâm nhập dựa vào tập CSDL về các dạng tấn công 14
Hình 2.4 Hệ thống phát hiện xâm nhập bất thường 15
Hình 3.1 Mô hình mạng Kohonen 20
Hình 3.2 Mô hình mạng Kohonen đơn giản 21
Hình 3.3 Thuật giải tìm mẫu khớp tốt nhất BMU 22
Hình 3.4 Các phần tử lân cận của BMU 23
Hình 3.5 Ví dụ về sự co lại của bán kính lân 24
Hình 3.6 Đồ thị hàm Gaussian 26
Hình 3.7 Ma trận U 28
Hình 3.8 Không gian điểm 28
Hình 3.9 Biểu đồ cột với mỗi ô là một nơron của “Bản đồ tự tổ chức” 28
Hình 4.1 Danh sách 15 virus lây lan nhiều nhất trong năm 2011 38
Hình 4.2 Số lượng các website bị tấn công trong năm 2011 38
Hình 4.3 Thống kê Malware nhắm vào Hệ thống phát hiện xâm nhập (IDS) 39
Hình 4.4 Những quốc gia có số lượng tấn công cao nhất vào máy tính 40
Hình 4.5 Những quốc gia có tỉ lệ phát hiện các đối tượng độc hại cao nhất 40
Hình 4.6 Các quốc gia có tỷ lệ bị lây nhiễm cao được ghi nhận 41
Hình 4.7 Bộ nhớ máy chủ IDS 44
Hình 4.8 Tài nguyên của bộ vi xử lý 45
Hình 4.9 Tài nguyên mạng 46
Hình 5.1 Mô hình tổng quát thực nghiệm phát hiện phát tán mã độc 51
Hình 5.2 Mô hình tổng quát các bước xây dựng bản đồ đặc trưng 51
Hình 5.3 Véc-tơ tham số đặc trưng được chuẩn hóa thành Nơron huấn luyện 51
Trang 4Hình 5.4 Nội dung thuật toán bản đồ tự tổ chức 55
Hình 5.5 Mô hình xác định nơron chiến thắng và nơron lân cận 56
Hình 5.6 Cơ chế học của nơron chiến thắng và nơron lân cận 57
Hình 5.7 Nơ ron huấn luyện đặc trưng được chiếu vào bản đồ SOM 57
Hình 5.8 Mô hình tổng quát thực nghiệm Lab 60
Hình 5.9 Thông điệp phát tán worm Iloveyou 67
Hình 5.10 Các mẫu worm thực nghiệm 1 73
Hình 5.11 Các mẫu worm thực nghiệm 2 73
Hình 5.12 Giao diện chương trình phát hiện xâm nhập mã độc 74
Hình 5.13 Giao diện tải tập tin véc-tơ học 75
Hình 5.14 Các véc-tơ đặc trưng trước khi đưa vào huấn luyện 76
Hình 5.15 Khởi tạo bản đồ 76
Hình 5.16 Huấn luyện bản đồ 77
Hình 5.17 Cảnh báo phát hiện xâm nhập trong thời gian thực 77
Hình 5.18 Thực nghiệm 1 78
Hình 5.19 Kết quả thực nghiệm 1 79
Hình 5.20 Thực nghiệm 2 80
Hình 5.21 Kết quả thực nghiệm 2 81
Hình 5.22 Thực nghiệm 3 82
Hình 5.23 Kết quả thực nghiệm 3 82
Hình 5.24 Thực nghiệm 4 83
Hình 5.25 Kết quả thực nghiệm 4 84
Hình 5.26: Bản đồ mô tả các véc-tơ dữ liệu 85
Hình 5.27 Bản đồ mô tả các nơron ngẫu nhiên 86
Hình 5.28: Bản đồ mô tả các nơron sau khi huấn luyện 86
Trang 5STT Từ viết tắt Diễn giải Ghi chú
nhập bất thường
nhập
Hệ thống phát hiện xâm nhập theo dấu hiệu cho trước
Trang 6Tôi xin cam đoan: Luận văn Thạc Sĩ “Ứng dụng Bản đồ tự tổ chức (SOM - Self Organizing Map) phát hiện phát tán virus máy tính qua hành vi” là kết quả nghiên cứu thực sự của cá nhân
tôi, được thực hiện trên cơ sở nghiên cứu lý thuyết, nghiên cứu khảo sát tình hình thực tiễn và dưới sự hướng dẫn khoa học của
Thầy Tiến sĩ: Trịnh Ngọc Minh
Các số liệu, mô hình và những kết quả trong luận văn là trung thực, số liệu đưa ra xuất phát từ thực tiễn và kinh nghiệm, có nguồn gốc rõ ràng, được trích dẫn, có tính kế thừa, phát triển từ các tạp chí, các công trình nghiên cứu đã được công bố
Một lần nữa, tôi xin khẳng định về sự trung thực của lời cam kết trên
Biên Hòa, ngày 20 tháng 12 năm 2012
Tác giả luận văn
Nguyễn Quốc Doanh
Trang 7Xin chân thành cảm ơn Thầy Tiến sĩ Trịnh Ngọc Minh đã tận
tình hướng dẫn và quý Thầy Cô Phòng ISeLAB khu Công nghệ phần mềm Đại học Quốc Gia Thành Phố Hồ Chí Minh đã cung cấp thông
tin, tư liệu để việc nghiên cứu luận văn của em được thuận lợi
Cảm ơn quý Thầy, Cô phòng Sau đại học, khoa Công nghệ thông tin Trường Đại Học Lạc Hồng Đồng thời cảm ơn quý thầy cô đã trực tiếp giảng dạy, truyền đạt những kiến thức quý báu trong chương trình Cao học, cùng các bạn đồng nghiệp đã nhiệt tình trao đổi, góp ý để tôi
có thêm kinh nghiệm hoàn thành luận văn của mình
Biên Hòa, ngày 20 tháng 12 năm 2012
Học viên
Nguyễn Quốc Doanh
Trang 8LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC HÌNH
Trang
CHƯƠNG 1 - MỞ ĐẦU 1
1.1 Giới thiệu đề tài 1
1.1.1 Lý do chọn đề tài 1
1.1.2 Mục tiêu của đề tài 2
1.1.3 Các giai đoạn thực hiện đề tài 3
1.2 Đối tượng, phạm vi nghiên cứu của đề tài 3
1.2.1 Các hệ học 3
1.2.2 Học giám sát 4
1.2.3 Học không giám sát 4
1.2.4 Bản đồ tự tổ chức (SOM) 5
1.2.3 Sâu máy tính và các hệ thống đích 5
1.3 Cấu trúc chung luận luận văn 6
1.4 Ý nghĩa thực tiễn của đề tài 7
CHƯƠNG 2 - TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP 9
2.1 Khái niệm 9
2.2 Các thành phần và chức năng của IDS 9
2.2.1 Thành phần thu thập gói tin 11
2.2.2 Thành phần phát hiện gói tin 11
2.2.3 Thành phần phản hồi 11
2.3 Phân loại IDS 12
2.3.1 Network Base IDS (NIDS) 12
Trang 9hệ thống phát hiện xâm nhập bất thường (Anomaly-based IDS) 14
2.4.1 Misuse – based system 14
2.4.2 Anomaly – based system 15
2.5 Phân loại các dấu hiệu 16
2.5.1 Phát hiện dấu hiệu bất thường 16
2.5.2 Các mẫu hành vi thông thường- phát hiện bất thường 16
2.5.3 Các dấu hiệu có hành vi bất thường – phát hiện dấu hiệu 17
CHƯƠNG 3 - BẢN ĐỒ TỰ TỔ CHỨC 20
3.1 Giới thiệu 20
3.2 Cấu trúc mạng Kohonen 21
3.3 Thuật giải Bản đồ tự tổ chức (SOM) 22
3.3.1 Khởi tạo: 22
3.3.2 Chọn phần tử đại diện: 22
3.3.3 Tìm mẫu khớp tốt nhất (BMU) : 22
3.3.4 Xây dựng các phần tử lân cận: 23
3.3.5 Hiệu chỉnh trọng số của các phần tử lân cận 24
3.3.6 Vòng lặp 26
3.7 Chất lượng “Bản đồ tự tổ chức” 26
3.8 Các phương pháp trực quan minh họa “Bản đồ tự tổ chức” 27
3.9 Phương pháp tìm ngưỡng cảnh báo 29
3.10 Phát hiện tấn công ứng dụng “Bản đồ tự tổ chức” 30
3.4 Ưu và nhược điểm của SOM 31
3.4.1 Ưu điểm 31
3.4.2 Nhược điểm 31
CHƯƠNG 4: CÁCH THỨC PHÁT TÁN CỦA VIRUS, WORM VÀ MỘT SỐ VẤN ĐỀ LIÊN QUAN 32
Trang 104.1.2 Phát hiện virus dựa vào hành vi 33
4.1.3 Phát hiện virus dựa vào ý định 33
4.2 Tổng quan về sâu máy tính(worm) 34
4.2.1 Khái niệm sâu 34
4.2.2 Sâu máy tính và các virus khác phát tán như thế nào? 34
4.3 Sự phát triển của virus và worm 35
4.3.1 Khái quát : 35
4.3.2 Các thế hệ phát triển của virus, worm : 35
4.4 Số liệu chung về tình hình virus và an ninh mạng năm 2011 38
4.5 Báo cáo tình hình virus tại Việt Nam – tháng 11/2011 (theo Kaspersky) 39
4.5.1 Malware nhắm vào Hệ thống phát hiện xâm nhập (IDS) 39
4.5.2 Những quốc gia có số lượng tấn công cao nhất vào máy tính 40
4.5.3 Những quốc gia có tỉ lệ phát hiện các đối tượng độc hại cao nhất 40
4.5.4 Các quốc gia có tỷ lệ bị lây nhiễm cao được ghi nhận 41
4.5.5 Các vấn đề mở của công nghệ anti-virus 41
4.6 Hướng tiếp cận của đề tài 42
4.6.1 Tiếp cận máy học và Bản đồ tự tổ chức (SOM) 43
4.6.2 Giới thiệu các đặc trưng và ý nghĩa 43
4.7 Đề xuất các đặc trưng 47
4.8 Thuật toán xây dựng đặc trưng 48
4.8.1 Gán trọng số cho các nhóm đặc trưng 49
4.8.2 Chuẩn hóa các đặc trưng 49
CHƯƠNG 5: THIẾT KẾ XÂY DỰNG HỆ THỐNG VÀ THỰC NGHIỆM 51
Trang 115.3 Xây dựng bản đồ 53
5.3.1 Xác định các tham số quan trọng cho thuật toán SOM 53
5.3.2 Cài đặt thuật toán SOM 53
5.4 Kết quả mạng SOM sau quá trình học 55
5.5 Bản đồ tham số đặc trưng 57
5.6 Thực nghiệm Lab phát tán mã độc, virus, worm 58
5.6.1 Mô tả môi trường thực nghiệm 58
5.6.2 Môi trường thực nghiệm: 58
5.6.2.1 Phần mềm tạo máy ảo VMware Workstation 58
5.6.2.2 Phần mềm đóng băng ổ cứng Deep Freeze: 59
5.7 Mô hình đề xuất 60
5.7.1 Xây dựng mô hình thực nghiệm 60
5.7.2 Cấu hình máy phát hiện xâm nhập IDS: 60
5.7.3 Cấu hình máy Mail Sever: 60
5.7.4 Cấu hình máy trạm: 61
5.8 Phân tích cách thức hoạt động của một số sâu 61
5.8.1 Worm Mydoom.s 61
5.8.2 Worm W32.NetSky.P 62
5.8.3 Worm Sasser 63
5.8.4 Loveletter 64
5.8.5 Phân tích sâu Blaster 69
5.9 Phương pháp phát hiện mã độc phát tán ứng dụng Bản đồ tự tổ chức 72
5.10 Chương trình thực nghiệm phát hiện xâm nhập mã độc 74
5.10.1 Tải tập tin dữ liệu học 74
5.10.2 Hiển thị nội dung véc-tơ học 75
5.10.3 Khởi tạo bản đồ: 76
Trang 125.10.5.1 Thực nghiệm 1 78
5.10.5.2 Thực nghiệm 2 79
5.10.5.3 Thực nghiệm 3 81
5.10.5.4 Thực nghiệm 4 83
5.10.6 Huấn luyện và tính chất lượng “Bản đồ tự tổ chức” 85
5.11 Ứng dụng ngưỡng cảnh báo vào thực nghiệm 87
5.12 Đánh giá kết quả thực nghiệm 87
5.13 Kết luận 88
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 89
6.1 Những đóng góp của đề tài 89
6.2 Hạn chế của đề tài và cách khắc phục 89
6.3 Hướng phát triển đề tài 89 TÀI LIỆU THAM KHẢO TIẾNG VIỆT
TÀI LIỆU THAM KHẢO TIẾNG ANH
CÁC ĐỊA CHỈ INTERNET
Trang 13tế, Công nghệ thông tin giữ vai trò đặc biệt quan trọng trong việc xử lý tính toán
dữ liệu, kết nối thông tin liên lạc của các đơn vị tổ chức trong và ngoài nước Bảo vệ an toàn dữ liệu cho các hệ thống tính toán, giữ vững an ninh mạng, đảm bảo liên lạc thông suốt, duy trì chất lượng phục vụ luôn là vấn đề quan tâm hàng đầu của các nhà quản trị hệ thống
Sự phát triển của Internet tạo điều kiện cho các loại hình xâm nhập trái phép vào các hệ thống Công nghệ thông tin cả chiều rộng (lây lan trên quy mô toàn thế giới) và chiều sâu (can thiệp vào hệ thống đích) Mỗi ngày các hệ thống mạng phải đối phó với hàng loạt đợt tấn công bằng mã độc (Malware) của tin tặc, khiến nhiều hệ thống bị đình trệ, tắc nghẽn và tê liệt, gây thiệt hại không nhỏ Một trong những loại virus máy tính gây thiệt hại đến kinh tế, xã hội và an ninh trên mạng hiện nay đó chính là sử dụng các loại mã độc (malware), sâu máy tính (worm) Mã độc được kết hợp với một số kỹ thuật tấn công khác sẽ tạo nên một khả năng rất mạnh đối với kẻ tấn công Chúng có thể tự động len lỏi tìm đến các mục tiêu máy tính được nối mạng và lấy cắp những thông tin từ mục tiêu này
mà người sử dụng không hay biết gì, mã độc thực sự trở thành mối đe dọa thường xuyên và cấp bách của các hệ thống Công nghệ thông tin hiện nay
Trong bối cảnh đó đề tài “Ứng dụng Bản đồ tự tổ chức (SOM - Self
Organizing Map) phát hiện phát tán virus qua hành vi” được tiến hành
nhằm góp phần giải quyết vấn đề bảo vệ an toàn dữ liệu cho các hệ thống Công nghệ thông tin hiện nay
Trang 141.1.2 Mục tiêu của đề tài
- Nghiên cứu hệ thống phát hiện xâm nhập (IDS – Intrusion Detection System)
- Nghiên cứu các cách lây lan của virus, worm phổ biến hiện nay
- Nghiên cứu và cài đặt cách thức lấy các tham số đặc trưng của mã độc trong hệ thống mạng
- Khảo sát, phân tích thuật toán Bản đồ tự tổ chức (SOM)
- Ứng dụng bản đồ tự tổ chức SOM để trích chọn các tham số đặc trưng của một hệ thống mạng trong trạng thái “bất thường” rồi triển khai, phân tích, so sánh thông tin về hoạt động mạng trong thời gian thực Sau đó so sánh với những trạng thái thu nhận khi “bất thường” để phát hiện ra các tấn công của sâu máy tính thông qua hành vi bất thường
- Trên cơ sở nhận dạng, phát hiện dấu hiệu “bất thường” các trường hợp
lây nhiễm, tiềm ẩn đã biết trên hệ thống đích “Ứng dụng Bản đồ tự tổ chức
(SOM - Self Organizing Map) phát hiện phát tán virus qua hành vi.”
1.1.3 Các giai đoạn thực hiện đề tài
Quá trình nghiên cứu đề tài được tiến hành qua các giai đoạn như sau
Giai đoạn 1: Xây dựng hệ thống mạng
- Xây dựng hệ thống mạng để làm thực nghiệm (Lab), giả lập phát tán mã độc trên hệ thống mạng máy tính
Giai đoạn 2: Thu thập dữ liệu
- Khảo sát tình hình thực tiễn, thu thập các mẫu sâu máy tính hiện nay, các phần mềm tạo sâu máy tính trong nước và nước ngoài…
- Nghiên cứu tài liệu, tìm hiểu các phương pháp lây nhiễm, phát tán sâu máy tính vào hệ thống mạng
Giai đoạn 3: Thực nghiệm
- Xác định các tham số liên quan đến hệ thống máy tính bị ảnh hưởng bởi
mã độc tấn công, cách thức lấy thông tin liên quan tới các tham số đã xác định Kết quả cuối cùng là tập các véc-tơ để học
Trang 15- Từ tập véc-tơ học thu được, sử dụng chương trình SOM tạo nơron sinh ngẫu nhiên để có được nơron sau khi học
- Phát tán sâu máy tính trong hệ thống mạng, hiệu chỉnh bán kính IDS sao cho phù hợp và ghi nhận kết quả cảnh báo
Giai đoạn 4: Tổng kết
- Khái quát hóa và rút ra kết luận chung cho đề tài
- Viết báo cáo, công bố kết quả nghiên cứu đề tài
1.2 Đối tƣợng, phạm vi nghiên cứu của đề tài
1.2.1 Các hệ học
Trong nhiều tình huống, tri thức là không có sẵn Phần lớn người lập trình không có đủ kiến thức thuộc về lĩnh vực chuyên môn nên không biết cách mô tả các luật trong từng lĩnh vực cụ thể Do thiếu tri thức nên bài toán không được biểu diễn tường minh theo luật, sự kiện hay các quan hệ Vì vậy cần xây dựng các hệ thống học có khả năng thu nhận kiến thức từ các chuyên gia và học tập từ các ví dụ do chuyên gia cung cấp
Máy học (Machine Learning) là các hệ chương trình có khả năng thực thi
công việc dựa trên kinh nghiệm, tự khám phá tri thức bằng các cấu trúc dữ liệu
và thuật giải đặc biệt Có hai tiếp cận cho hệ thống học là học từ ký hiệu và học
từ dữ liệu số Học từ ký hiệu bao gồm việc hình thức hóa, sửa chữa các luật tường minh, sự kiện và các quan hệ Học từ dữ liệu số áp dụng cho các hệ thống
sử dụng các mô hình có liên quan đến các kỹ thuật tối ưu các tham số Các hệ học có ưu điểm:
Xử lý dữ liệu với khối lượng lớn
Hỗ trợ các kỹ thuật phân tích, xử lý, trích chọn và chi tiết hóa dữ liệu
Phát sinh luật từ dữ liệu, thích hợp cho các trường hợp cần tham khảo ý kiến chuyên gia tư vấn cho các lĩnh vực cụ thể, có tính chuyên sâu
Hỗ trợ quyết định xử lý liên quan đến kinh nghiệm của con người…
Trang 16Các hệ học có hai giai đoạn cơ bản: Học dữ liệu và xử lý dữ liệu
- Học dữ liệu là quá trình phân tích và tìm ra những điểm tương đồng trong dữ liệu để sản sinh luật
- Giai đoạn xử lý ước lượng đặc tính dữ liệu mới dựa trên luật đã được phát sinh ở giai đoạn học Có thể chia các quá trình học thành hai dạng
chính:[4] học có giám sát (suppervised learning) và học không giám sát (unsuppervised learning)
Thuật toán học sẽ tìm kiếm trên không gian giả thuyết giải pháp tốt nhất
cho ánh xạ f với c = f(x) Kết quả tìm được phản ánh đặc trưng của mẫu dữ liệu
Các thuật toán học tìm cách phát sinh một tập giả thuyết bằng cách tìm ra các đặc trưng và giá trị tương ứng với mẫu dữ liệu của mỗi lớp Sau đó áp dụng các
tập giả thuyết tìm được để phân loại (classification) các mẫu dữ liệu mới vào các
lớp tương ứng
Bài toán nhận dạng virus đã biết là quá trình học có giám sát Thư viện S chứa k mẫu virus đã biết, mỗi mẫu virus xi có p thuộc tính Mục tiêu của quá trình chẩn đoán virus là xác định xem đối tượng có nhiễm virus xi hay không và nếu nhiễm thì thuộc lớp virus đã biết trước c j nào
1.2.3 Học không giám sát
Thay vì có mục tiêu tường minh, hệ tìm kiếm quy luật hình thành các mẫu
và khám phá mối quan hệ của dữ liệu Các bài toán gom cụm dữ liệu
Trang 17(clustering) đều thuộc dạng này Trong mô hình học có giám sát, số các lớp là
biết trước Ngược lại, trong mô hình học không giám sát, mẫu học chưa được gán nhãn nên nói chung, số lớp chưa biết trước Các hệ học loại này có khả năng
tự giám sát quá trình hình thành và phát sinh của các lớp Công tác gán nhãn được thực hiện tự động một cách hệ thống và phân biệt với các lớp khác
Ở giai đoạn học dữ liệu, sử dụng một cấu trúc dữ liệu và thuật toán đặc biệt
để gán virus vào các nhóm có cùng đặc trưng Tùy thuộc vào đặc tính phân bố của dữ liệu, số lớp kết quả và giá trị nhãn lớp sẽ thay đổi Với mô hình học không giám sát này, không gian tìm kiếm được giảm thiểu và có thể nhận dạng nhanh các đối tượng có cùng đặc trưng với các nhóm virus
1.2.4 Bản đồ tự tổ chức (SOM)
Con người có khả năng sử dụng kinh nghiệm quá khứ để thích nghi với những thay đổi của môi trường Sự thích nghi đó không cần hướng dẫn hay chỉ đạo từ bên ngoài Mạng nơron thực hiện theo nguyên lý đó gọi là mạng tự tổ chức hay Bản đồ tự tổ chức SOM được Kohonen phát triển vào đầu thập những năm 80, nên cũng thường được gọi là mạng Kohonen SOM được dùng để gom cụm dữ liệu (data clustering), nghĩa là học không có hướng dẫn (unsupervised
learning) hay học không giám sát
1.2.3 Sâu máy tính và các hệ thống đích
Con người đã tốn rất nhiều công sức để giải quyết bài toán nhận dạng sâu máy tính (worm) Tuy nhiên, các anti-virus vẫn chưa làm chủ được tình hình Sâu máy tính vẫn liên tục quấy nhiễu, thâm nhập mạng, đánh cắp thông tin, làm sai lệch dữ liệu nhiều hệ thống Công nghệ thông tin trên thế giới cũng như ở Việt Nam
Sâu máy tính là sản phẩm của con người Cuộc chiến giữa Anti Virus và sâu máy tính là cuộc đấu trí giữa chuyên gia hệ thống và tin tặc Xuất phát từ
nhận định này, đề tài chọn cách phối hợp tiếp cận học (machine learning) để tìm
lời giải cho bài toán phát hiện sâu máy tính qua hành vi
Trang 18Sâu máy tính là một chương trình có khả năng tự nhân bản và tự lây nhiễm trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là sâu máy tính không cần phải có “file chủ” để mang nó khi nhiễm vào hệ thống Như vậy, có thể thấy rằng chỉ dùng các chương trình quét tập tin sẽ không diệt được sâu máy tính trong hệ thống vì sâu máy tính không “bám” vào tập tin hoặc một vùng nào đó trên đĩa cứng Mục tiêu của sâu máy tính bao gồm cả làm lãng phí nguồn lực băng thông của mạng và phá hoại hệ thống như xoá file, tạo backdoor, thả keylogger, Tấn công của sâu máy tính có đặc trưng là lan rộng cực kỳ nhanh chóng do không cần tác động của con người (như khởi động máy,
copy file hay đóng/mở file) Sâu máy tính có thể chia làm 2 loại:
Network Service Worm lan truyền bằng cách lợi dụng các lỗ hổng
bảo mật của mạng, của hệ điều hành hoặc của ứng dụng Sasser là ví
dụ cho loại sâu này
Mass Mailing Worm là một dạng tấn công qua dịch vụ mail, tuy
nhiên nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là email Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt được Việc gửi đồng thời cho toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho máy chủ mail Netsky, Mydoom là ví dụ cho thể loại này
Để kiểm tra và đánh giá kết quả, một chương trình thực nghiệm sẽ được thiết kế dựa trên mô hình mạng Kohonen ứng dụng Bản đồ tự tổ chức SOM nhằm phát hiện các hành vi, quy luật phát tán của mã độc từ tập véc-tơ học đã
biết
1.3 Cấu trúc chung luận luận văn
Luận văn gồm 6 chương
Chương 1: Dẫn nhập và giới thiệu chung về đề tài
Chương 2: Tổng quan về hệ thống phát hiện xâm nhập IDS
Chương 3: Trình bày thuật toán SOM
Trang 19Chương 4: Trình bày các cơ chế phát hiện hoạt động của virus, worm và một số vấn đề liên quan Trước tiên, Chương 4 sẽ trình bày cơ chế phát tán virus, worm Khảo sát tình hình virus lây nhiễm hiện nay, phân tích các vấn đề đánh giá tình hình và đề xuất hướng tiếp cận, phương pháp giải quyết vấn đề Kế tiếp, Chương 4 trình bày cơ sở lý thuyết đề xuất các tham số đặc trưng Phần cuối Chương 4 trình bày thuật toán xây dựng tham số đặc trưng, nghiên cứu hướng tiếp cận máy học trong lĩnh vực nhận dạng phát tán mã độc qua hành vi Chương 5: Trình bày phương pháp thiết kế chương trình thực nghiệm xây dựng trên cơ sở các nghiên cứu lý thuyết của đề tài Phần đầu Chương 5 mô tả
mô hình tổng quát thuật toán Bản đồ tự tổ chức SOM trong việc phát hiện phát tán mã độc lây lan trong hệ thống mạng Áp dụng tiếp cận máy học và Bản đồ tự
tổ chức SOM, sẽ được triển khai qua ba giai đoạn Giai đoạn Học dữ liệu để thu
được tập véc-tơ học, giai đoạn Xử lý dữ liệu - thành phần cốt lõi (kernel) và giai
đoạn Tổng kết - đưa ra cảnh báo virus, worm lây lan trên hệ thống mạng Triển khai trên hệ thống mạng theo mô hình server - client, chương trình được thiết kế cài đặt chạy trên máy sử dụng điều hành Linux CentOS 6.2 Mỗi gói trong chương trình có chức năng cấu trúc dữ liệu, sử dụng các thuật giải học phân cụm, phân lớp dữ liệu khác nhau Phần cuối Chương 5 trình bày các kết quả thực nghiệm của đề tài
Chương 6: Tổng kết các đóng góp về mặt lý thuyết, đánh giá ý nghĩa thực tiễn, phân tích hạn chế, đề xuất các biện pháp khắc phục và dự kiến hướng phát triển tương lai của đề tài
1.4 Ý nghĩa thực tiễn của đề tài
Ở nước ta mặc dù đã có nhiều đề tài nghiên cứu về virus máy tính, nhưng chưa có công trình nào đề cập và giải quyết bài toán nhận dạng mã độc một cách toàn diện Không chỉ dừng lại ở việc nghiên cứu lý thuyết, đề tài cũng đặt ra mục tiêu thực tiễn là:
- Xây dựng hệ thống mạng để làm thực nghiệm, phát hiện phát tán mã độc
trên hệ thống đích
- Xây dựng bộ tham số đặc trưng của hệ thống máy IDS
Trang 20- Xây dựng thuật toán gán trọng số các đặc trưng để giảm tỉ lệ cảnh báo sai
- Xây dựng thuật toán tìm ngưỡng cảnh báo phù hợp cho từng nơron chiến thắng khác nhau và ứng dụng ngưỡng này vào quá trình dò tìm dấu hiệu „bất thường”
- Cài đặt thuật toán SOM đã nêu trong đề tài: như tạo véc-tơ đặc trưng, chuẩn hóa dữ liệu, huấn luyện “bản đồ tự tổ chức”, mô hình hóa bản đồ, chạy giám sát hệ thống và đưa ra cảnh báo cho nhà quản trị mạng khi có mã độc tấn công xâm nhập
- Ứng dụng “bản đồ tự tổ chức SOM”, xây dựng một chương trình IDS chạy trên Linux giám sát hệ thống để phát hiện phát tán mã độc qua hành vi
Trang 21CHƯƠNG 2 - TÌM HIỂU HỆ THỐNG PHÁT HIỆN XÂM NHẬP
IDS (Intrusion Detection System) 2.1 Khái niệm
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là hệ thống phần cứng hoặc phần mềm có chức năng giám sát lưu thông mạng, tự động theo dõi các sự kiện xảy ra trên hệ thống máy tính, phân tích để phát hiện
ra các vấn đề liên quan đến an ninh, bảo mật, virus và đưa ra cảnh báo cho nhà quản trị
2.2 Các thành phần và chức năng của IDS
IDS bao gồm các thành phần chính
- Thành phần thu thập thông tin gói tin
- Thành phần phát hiện gói tin
- Thành phần xử lý (phản hồi)
Hình 2.1: Mô hình kiến trúc hệ thống phát hiện xâm nhập (IDS)
Nhiệm vụ chính của các hệ thống phát hiện xâm nhập là phòng chống cho một hệ thống máy tính bằng cách phát hiện các dấu hiệu tấn công và có thể đẩy lùi nó Việc phát hiện các tấn công phụ thuộc vào số lượng và kiểu hành động thích hợp Để ngăn chặn xâm nhập tốt cần phải xác định được các mối đe dọa Việc làm lệch hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo vệ cũng là một nhiệm vụ quan trọng Cả hệ thống thực và hệ thống bẫy cần phải
Trang 22được kiểm tra một cách liên tục Dữ liệu được tạo ra bằng 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
Khi một sự xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản trị viên hệ thống về sự việc này Bước tiếp theo được thực hiện bởi các quản trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung (các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến các kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,…) theo các chính sách bảo mật của các tổ chức.[5] IDS là một thành phần nằm trong hệ thống bảo vệ của
hệ thống thông tin
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những nhiệm vụ cơ bản Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống
Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn
đề xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công
Hình 2.2 : Cấu trúc hệ thống phát hiện xâm nhập dạng tập trung
Trang 232.2.1 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ả Tất cả các gói tin qua chúng đều được sao chụp, xử lý, phân tích đến từng trường thông tin Bộ phận thu thập gói tin sẽ đọc thông tin từng trường trong gói tin, xác đị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
2.2.2 Thành phần phát hiện gói tin
Ở thành phần này, đóng vai trò 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ờ
2.2.3 Thành phần 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ị Dưới đây là
một số kỹ thuật ngǎn chặn:
Cảnh báo thời gian thực
Gửi các cảnh báo thời gian thực đến người quản trị để họ nắm được chi
tiết các cuộc tấn công, các đặc điểm và thông tin về chúng
Ghi lại vào tập tin
Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các tập tin log Mục đích là để những người quản trị có thể theo dõi các luồng thông tin và là nguồn thông tin giúp cho module phát hiện tấn công hoạt động
Ngăn chặn, thay đổi gói tin
Trang 24Khi một gói tin khớp với dấu hiệu tấn công thì IDS sẽ phản hồi bằng cách xóa bỏ, từ chối hay thay đổi nội dung của gói tin, làm cho gói tin trở nên không bình thường
2.3 Phân loại IDS
Có hai phương pháp khác nhau trong việc phân tích các sự kiện để phát hiện các tấn công: phát hiện dựa trên các dấu hiệu và phát hiện sự bất thường Các sản phẩm IDS có thể sử dụng một trong hai cách hoặc sử dụng kết hợp cả hai
Phát hiện dựa trên dấu hiệu: Phương pháp này nhận dạng các sự kiện hoặc tập hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa
là tấn công
Phát hiện sự bất thường: Thiết lập một hiện trạng các hoạt động bình thường và sau đó duy trì một hiện trạng hiện hành cho một hệ thống Khi hai yếu tố này xuất hiện sự khác biệt, nghĩa là đã có sự xâm nhập
Các hệ thống IDS khác nhau đều dựa vào phát hiện các xâm nhập trái phép và những hành động bất thường
Quá trình phát hiện có thể được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
+ Thu thập thông tin (information source): Kiểm tra tất cả các gói tin trên mạng
+ 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
+ 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
2.3.1 Network Base IDS (NIDS)
Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám sát toàn bộ lưu lượng vào ra Có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính Chủ yếu dùng để đo lưu lượng mạng được sử dụng Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao
Ƣu điểm:
Trang 25- Quản lý được cả một network segment (gồm nhiều host)
- "Trong suốt" với người sử dụng lẫn kẻ tấn công
2.3.2 Host Based IDS (HIDS)
HIDS thường được cài đặt trên một máy tính nhất định 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 của tổ chức và các server 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:
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 cảnh báo
Ƣu điểm:
- 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
Trang 26 Nhược điểm:
- Khi hệ điều hành bị kiểm soát do tấn công, đồng thời HIDS cũng bị kiểm soát
- HIDS phải được thiết lập trên từng host cần giám sát
- HIDS cần tài nguyên trên host để hoạt động
2.4 Hệ thống phát hiện xâm nhập theo dấu hiệu cho trước (Misuse-based IDS) và hệ thống phát hiện xâm nhập bất thường (Anomaly-based IDS)
2.4.1 Misuse – based system
Misuse-based system có thể phân chia thành hai loại dựa trên cơ sở dữ liệu
về kiểu tấn công, đó là knowledge-based và signature-based
Misuse-based system với cơ sở dữ liệu knowledge-based lưu trữ thông tin
về các dạng tấn công Dữ liệu kiểm kê được thu thập bởi IDS để so sánh với nội dung của cơ sở dữ liệu, và nếu thấy có sự giống nhau thì tạo ra cảnh báo Sự kiện không trùng với bất cứ dạng tấn công nào thì được coi là những hành động chính đáng
Ưu điểm:
Mô hình này ít khi tạo ra cảnh báo sai do dựa trên mô tả chi tiết về kiểu tấn công
Nhược điểm:
Số lượng kiểu tấn công đa dạng với nhiều lỗ hổng khác nhau theo thời gian
sẽ làm cơ sở dữ liệu trở nên quá lớn, gây khó khăn trong việc phân tích, thêm nữa chúng chỉ có thể phát hiện được các kiểu tấn công đã biết trước nên cần phải được cập nhật thường xuyên khi phát hiện ra những kiểu tấn công và lỗ hổng mới
Dữ liệu cần kiểm tra (x)
Tập dữ liệu chứa các dạng tấn công (A)
Đang bị tấn công
x ÎA ? Có
Hình 2.3 Phát hiện xâm nhập dựa vào tập CSDL về các dạng tấn công
Misuse-based system với cơ sở dữ liệu signature-based, là hệ sử dụng
định nghĩa trừu tượng để mô tả về tấn công gọi là dấu hiệu Dấu hiệu bao gồm
Trang 27một nhóm các thông tin cần thiết để mô tả kiểu tấn công Ví dụ như hệ network IDS có thể lưu trữ trong cơ sở dữ liệu nội dung các gói tin có liên quan đến kiểu tấn công đã biết Thường thì dấu hiệu được lưu ở dạng cho phép so sánh trực tiếp với thông tin có trong chuỗi sự kiện Trong quá trình xử lý, sự kiện được so sánh với các mục trong file dấu hiệu, nếu thấy có sự giống nhau thì hệ sẽ tạo ra cảnh báo
Ƣu điểm
Signature-based system hiện nay rất thông dụng vì dễ phát triển, cho phản hồi chính xác về cảnh báo, và thường yêu cầu ít tài nguyên tính toán
Nhƣợc điểm
Mô tả về cuộc tấn công thường ở mức độ thấp
Mỗi cuộc tấn công hay biến thể của nó đều cần thêm dấu hiệu đưa vào cơ
sở dữ liệu, nên kích cỡ của nó sẽ trở nên rất lớn
Dấu hiệu càng cụ thể, thì càng tạo ra ít cảnh báo nhầm, nhưng càng khó phát hiện những biến thể của nó
2.4.2 Anomaly – based system
Anomaly–based system dựa trên những hành động bất thường là có ý đồ xấu, do đó trước tiên hệ cần xây dựng mẫu hành động bình thường của hệ thống rồi mới xác định các hành động bất thường như những hành động không phù hợp với mẫu hành động đã cho
Trang 28Hệ 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 đó
2.5 Phân loại các dấu hiệu
2.5.1 Phát hiện dấu hiệu bất thường
Hệ thống phát hiện xâm nhập phải có khả năng phân biệt giữa các hoạt động thông thường của người dùng và hoạt động bất thường để tìm ra được các tấn công nguy hiểm kịp thời Mặc dù vậy, việc dịch các hành vi người dùng (hoặc session hệ thống người dùng hoàn chỉnh) trong một quyết định liên quan đến bảo mật phù hợp thường không đơn giản – nhiều hành vi không được dự định trước và không rõ ràng Để phân loại các hành động, IDS phải lợi dụng phương pháp phát hiện bất thường, đôi khi là hành vi cơ bản hoặc các dấu hiệu tấn công,…
2.5.2 Các mẫu hành vi thông thường- phát hiện bất thường
Các mẫu hành vi thông thường rất hữu ích trong việc dự đoán người dùng và hành vi hệ thống Do đó các bộ phát hiện bất thường xây dựng profile thể hiện việc sử dụng thông thường và sau đó sử dụng dữ liệu hành vi thông thường để phát hiện sự không hợp lệ giữa các profile và nhận ra tấn công có thể
Để hợp lý với các profile sự kiện, hệ thống bị yêu cầu phải tạo ra profile người dùng ban đầu để “đào tạo” hệ thống quan tâm đến sự hợp pháp hóa hành vi người dùng Có một vấn đề liên quan đến việc làm profile ở đây
đó là: khi hệ thống được phép “học” trên chính nó, thì những kẻ xâm nhập cũng có thể đào tạo hệ thống ở điểm này, nơi mà các hành vi xâm phạm trước trở thành hành vi thông thường Một profile không tương thích sẽ có thể được phát hiện tất cả các hoạt động xâm nhập có thể Ngoài ra, còn có
Trang 29một sự cần thiết nữa đó là nâng cấp profile và “đào tạo” hệ thống, một nhiệm vụ khó khăn và tốn thời gian
Cho một tập các profile hành vi thông thường, mọi thứ không hợp với profile được lưu sẽ được coi như là một hoạt động nghi ngờ Do đó, các hệ thống này được đặc trưng bởi hiệu quả phát hiện rất cao (chúng có thể nhận
ra nhiều tấn công mặc dù tấn công đó là mới có trong hệ thống), tuy nhiên chúng lại có hiện tượng là tạo các cảnh báo sai về một số vấn đề
Ưu điểm của phương pháp phát hiện bất thường này là: có khả năng
phát hiện các tấn công mới khi có sự xâm nhập; các vấn đề không bình thường được nhận ra không cần nguyên nhân bên trong của chúng và các tính cách; ít phụ thuộc vào IDS đối với môi trường hoạt động (khi so sánh với các hệ thống dựa vào dấu hiệu); khả năng phát hiện sự lạm dụng quyền của người dùng
Nhược điểm lớn nhất của phương pháp này là: Xác suất cảnh báo sai
nhiều Hiệu suất hệ thống không được kiểm tra trong suốt quá trình xây dựng profile và giai đoạn đào tạo Do đó, tất cả các hoạt động người dùng bị
bỏ qua trong suốt giai đoạn này sẽ không hợp lý Các hành vi người dùng có thể thay đổi theo thời gian, do đó cần phải có một sự nâng cấp liên tục đối với cơ sở dữ liệu profile hành vi thông thường Sự cần thiết về đào tạo hệ thống khi thay đổi hành vi sẽ làm hệ thống không có được phát hiện bất thường trong giai đoạn đào tạo (lỗi tiêu cực)
2.5.3 Các dấu hiệu có hành vi bất thường – phát hiện dấu hiệu
Thông tin xử lý hệ thống trong các hành vi bất thường và không an toàn (dấu hiệu tấn công – dựa vào các hệ thống) thường được sử dụng trong các
hệ thống phát hiện xâm nhập thời gian thực
Các dấu hiệu hành vi xấu được chia thành hai loại:
Các dấu hiệu tấn công –Miêu tả các mẫu hoạt động có thể gây ra
mối đe dọa về bảo mật Điển hình, chúng được thể hiện khi mối quan
hệ phụ thuộc thời gian giữa một loạt các hoạt động có thể kết hợp lại với các hoạt động trung tính
Trang 30 Các chuỗi văn bản được chọn – các dấu hiệu hợp với các chuỗi văn
bản đang tìm kiếm các hoạt động nghi ngờ
Bất kỳ hoạt động nào không rõ ràng đều có thể bị xem xét và ngăn cản Do
đó, độ chính xác của chúng rất cao (số cảnh báo sai thấp) Tuy nhiên chúng không thực hiện một cách hoàn toàn và không ngăn cản hoàn toàn các tấn công mới
Có hai phương pháp chính đã kết hợp sự phát hiện dấu hiệu này:
Việc kiểm tra vấn đề ở các gói lớp thấp hơn – nhiều loại tấn công khai thác lỗ hổng trong các gói IP, TCP, UDP hoặc ICMP Với kiểm tra đơn giản về tập các cờ trên gói đặc trưng hoàn toàn có thể phát hiện ra gói nào hợp lệ, gói nào không Khó khăn ở đây có thể là phải
mở gói và lắp ráp chúng lại Tương tự, một số vấn đề khác có thể liên quan với lớp TCP/IP của hệ thống đang được bảo vệ Thường thì
kẻ tấn công hay sử dụng cách mở các gói để băng qua được nhiều công cụ IDS
Kiểm tra giao thức lớp ứng dụng – nhiều loại tấn công để khai thác các lỗ hổng chương trình, ví dụ dữ liệu đặc biệt đã gửi đến một kết nối mạng đã được thành lập Để phát hiện có hiệu quả các tấn công như vậy, IDS phải được bổ sung nhiều giao thức lớp ứng dụng
Các phương pháp phát hiện dấu hiệu có một số ưu điểm dưới đây: tỉ lệ cảnh báo sai thấp, thuật toán đơn giản, dễ dàng tạo cơ sở dữ liệu dấu hiệu tấn công, dễ dàng bổ sung và tiêu phí hiệu suất tài nguyên hệ thống tối thiểu
Một số nhược điểm:
Khó khăn trong việc nâng cấp các kiểu tấn công mới
Chúng không thể kế thừa để phát hiện các tấn công mới và chưa biết Phải nâng cấp một cơ sở dữ liệu dấu hiệu tấn công tương quan với
nó
Sự quản lý và duy trì một IDS cần thiết phải kết hợp với việc phân tích và vá các lỗ hổng bảo mật, đó là một quá trình tốn kém thời gian
Trang 31 Kiến thức về tấn công lại phụ thuộc vào môi trường hoạt động – vì vậy, IDS dựa trên dấu hiệu những hành vi xấu phải được cấu hình tuân thủ những nguyên tắc nghiêm ngặt của nó với hệ điều hành (phiên bản, nền tảng, các ứng dụng được sử dụng…)
Chúng dường như khó quản lý các tấn công bên trong Điển hình, sự lạm dụng quyền người dùng xác thực không thể phát hiện khi có hoạt động mã nguy hiểm (vì chúng thiếu thông tin về quyền người dùng
và cấu trúc dấu hiệu tấn công)
Các sản phẩm IDS thương mại thường sử dụng phương pháp phát hiện dấu hiệu cho hai lý do Trước tiên, nó dễ dàng hơn trong việc cung cấp dấu hiệu liên quan đến tấn công đã biết và để gán tên đối với một tấn công Thứ hai, cơ sở dữ liệu dấu hiệu tấn công được nâng cấp thường xuyên (bằng cách thêm các dấu hiệu tấn công mới phát hiện)
Trang 32số chiều được rút gọn đi nhiều lần – thường là một hoặc hai chiều Về bản chất thuật giải được biết đến như là kỹ thuật nén dữ liệu dựa trên véc-tơ trọng số (véc-tơ quantisation)
SOM (Self Organizing Map) thuật giải xây dựng mạng Kohonen để lưu trữ thông tin như là cách duy trì của các quan hệ hình học bên trong tập huấn luyện.[7]
z
Hình 3.1 Mô hình mạng Kohonen Mạng Kohonen dựa trên luật học cạnh tranh không giám sát Với phương pháp học này, cho trước số lượng các lớp đầu ra Luật học sẽ tự động phân nhóm
dữ liệu đầu vào để nhóm các đối tượng gần giống nhau vào cùng một lớp và phân tách các đối tượng khác biệt vào những lớp khác
Thuật giải xây dựng mạng Kohonen để lưu trữ thông tin và là cách duy trì của các quan hệ hình học bên trong tập huấn luyện Một trong những khía cạnh
Trang 33thú vị nhất của thuật toán là phân loại dữ liệu huấn luyện mà không cần bất cứ
sự giám sát bên ngoài nào so với các giải thuật “học có sự giám sát” truyền
thống Do đó, SOM còn được xem là một giải thuật học không giám sát
3.2 Cấu trúc mạng Kohonen
Mạng Kohonen hay còn gọi là (Self Organizing Map) là một lớp mạng
truyền thẳng trong đó đầu ra được sắp xếp thường là 2 chiều hoặc 3 chiều Cũng
như mạng nơron, các đơn vị cơ bản của SOM là các nơron Mỗi nơron có đầu
vào và đầu ra Một cách hình thức, SOM thường có hai lớp: lớp đầu vào (input
layer) và lớp Kohonen (Kohonen layer)
Lớp Kohonen tương tự giống như võ não Nếu một nơron trong võ não
được kích thích bởi tác nhân nào đó, các nơron trong vùng bao quanh cũng được
kích thích [6] Các nơron trong lớp Kohonen được tổ chức thành một không gian
n chiều với n được gọi là số chiều của SOM
Ví dụ: n = 2, lớp Kohonen là một lưới 2 chiều các
nơ ron
Ở đây chiều ám chỉ việc tổ chức các nơron Ví dụ 2
chiều có nghĩa là ta có ma trận MxN các nơron là
V11 V12 …V1n
V21 V22 …V2n
…
Vm1 Vm2 …Vmn
Bên cạnh đó, mỗi Vij là một véc-tơ có k chiều , tức là Vij = (x1, x2,…,xk)
Mỗi nút có một cấu hình mạng cụ thể (tọa độ x, y), nếu dữ liệu huấn luyện
chứa véc-tơ x-n chiều (x 1 , x 2 , x 3 x n) thì mỗi nút sẽ chứa một véc-tơ trọng số
tương ứng mi(t) cũng n chiều (m 1 , m 2 , m 3 , ,m n)
Số lượng các chiều đầu vào thường nhiều hơn rất nhiều so với chiều của
lưới đầu ra Các SOM được sử dụng chính cho việc giảm chiều hơn là tăng
chiều
Hình 3.2 Mô hình mạng Kohonen đơn giản
Trang 343.3 Thuật giải Bản đồ tự tổ chức (SOM)
3.3.1 Khởi tạo:
Các véc-tơ trọng số cho từng nút trong mạng được khởi tạo Các giá trị khởi tạo này thường được chọn một cách ngẫu nhiên và thỏa tiêu chuẩn đủ nhỏ
3.3.2 Chọn phần tử đại diện:
Một véc-tơ sẽ được chọn ngẫu nhiên từ tập huấn luyện và trở thành phần
tử đại diện của nhóm
3.3.3 Tìm mẫu khớp tốt nhất (BMU)
Mỗi nút trên mạng sẽ được kiểm tra để tính xem nút nào có trọng số gần với véc-tơ nhập nhất Phần tử chiến thắng được xem là phần tử so khớp tốt nhất (BMU: Best Matching Unit)
Hình 3.3 Thuật giải tìm mẫu khớp tốt nhất BMU
Duyệt tất cả các nút và tính khoảng cách Euclide giữa véc-tơ trọng
số của mỗi nút và véc-tơ nhập hiện hành
Công thức để tính khoảng cách Euclide được cho như sau:
0
) ( i
n i
Nút có véc-tơ trọng số gần nhất với giá trị của véc-tơ nhập sẽ được chọn là BMU
3.1
Trang 353.3.4 Xây dựng các phần tử lân cận:
Bán kính lân cận của BMU sẽ được tính lại Bán kính được xác định lớn nhất thường sẽ là bán kính của mạng, nhưng sau đó giá trị này sẽ giảm dần sau những bước thực hiện Tất cả những phần tử nằm trong bán kính trên sẽ được xem là phần tử lân cận của BMU
Trong mỗi vòng lặp, sau khi BMU được xác định bước tiếp theo là thực hiện lại việc tính toán trên các nút để xây dựng lại tập các phần tử lân cận mới của BMU Các véc-tơ trọng số của các phần tử lân cận này sẽ được cập nhật lại ở bước tiếp theo
Hình 3.4 Các phần tử lân cận của BMU Tập các phần tử lân cận của BMU sẽ được cập nhật lại bằng cách duyệt qua các phần tử nằm trong bán kính lân cận hay véc-tơ khoảng cách của BMU Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của BMU được xây dựng trên véc-tơ khoảng cách sẽ được co lại sau một số lần lặp nhất định Điều này được thực hiện bằng cách co lại bán kính của vùng lân cận theo
số lần lặp
Phép co sẽ được thực hiện theo hàm mũ nội suy sau:
3 , 2 , 1 exp
Biểu thức: hàm mũ nội suy của phép co
σ: chiều rộng của tập dữ liệu nhập tại thời điểm t σ0: chiều rộng của tập dữ liệu nhập tại thời điểm t0
3.2
Trang 36λ: hằng số thời gian t: là bước lặp hiện tại
σ0 được tính bằng công thức sau:
σ0 = max(Width, Height)/2 Width: chiều rộng của mạng Kohonen Height: chiều cao của mạng Kohonen Giá trị của hằng số λ phụ thuộc vào σ và số lần lặp để chạy giải thuật Nó được tính theo công thức sau:
λ = N/log(σ0) N: số lần lặp để chạy giải thuật
λ và σ sẽ được dùng để tính bán kính lân cận trong mỗi lần lặp của giải thuật
Hình 3.5 Ví dụ về sự co lại của bán kính lân
Khi bán kính lân cận đã được xác định, việc xác định các phần tử lân cận của BMU sẽ được thực hiện đơn giản bằng cách duyệt tất cả các phần tử trong mạng để xem nó có nằm trong bán kính lân cận hay không
3.3.5 Hiệu chỉnh trọng số của các phần tử lân cận
Trọng số của các phần tử lân cận (được xác định ở bước d) bao gồm cả BMU sẽ được điều chỉnh để chúng có giá trị gần giống với giá trị của véc-tơ nhập hơn Phần tử càng gần với BMU, thì trọng số của nó sẽ càng dễ bị thay đổi nhiều hơn Các véc-tơ trọng số sẽ được hiệu chỉnh theo công thức sau:
))()()(
()()1
Trang 37t: bước lặp hiện tại L: tốc độ học (sẽ giảm dần theo số lần lặp) Biểu thức trên cho thấy trọng số của một nút sau khi hiệu chỉnh chính là giá trị trọng cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng W và véc-tơ nhập V theo hệ số tốc độ học
Hàm nội suy tốc độ học L(t) cho mỗi bước lặp được tính theo công thức sau:
3 , 2 , 1 exp
Biểu thức: hàm mũ nội suy của tốc độ học
L0: Giá trị khởi tạo ban đầu của tốc độ học
λ: hằng số thời gian Càng tiến dần về điểm giữa thì tốc độ học sẽ càng giống với hàm
mũ nội suy của phép co
Tốc độ học sẽ được nội suy dần theo tốc độ học và giá trị của hàm
sẽ tiến dần về không khi số lần lặp đạt đến những bước cuối cùng
Dạng cải tiến của hàm hiệu chỉnh véc-tơ trọng số:
Ta nhận thấy không chỉ tốc độ học phải nội suy theo thời gian học mà tính hiệu quả của phép học SOM còn phải tương ứng thay đổi theo khoảng cách của nút hiện tại đến nơron chiến thắng
Đặc điểm này cho thấy trong quá trình học các nơron trong vùng lận cận càng ở xa nơron chiến thắng sẽ học càng ít hơn
Về mặt lý tưởng, số lần học phải giảm dần theo khoảng cách thỏa mãn hàm nội suy Gaussian được cho bởi đồ thị sau:
3.4
Trang 38Hình 3.6 Đồ thị hàm Gaussian Lúc này hàm hiệu chỉnh véc-tơ trọng số được biểu diễn lại như sau:
: Hàm nội suy theo thời gian học Nó thể hiện sự tác động của khoảng cách đối với quá trình học và được tính theo công thức sau:
3 , 2 , 1 )
( 2 exp )
dist: là khoảng cách từ một nơron đến nơron chiến thắng
σ: chiều rộng của tập huấn luyện tại thời điểm (được tính theo công thức(3.4))
3.5
3.6
)) ( ) ( )(
( ) ( ) ( )
Trang 39sánh Do đó, bản đồ với lỗi lượng tử trung bình thấp nhất sẽ được chọn Lỗi lượng tử hóa véc-tơ trung bình giữa các véc-tơ dữ liệu và các véc-tơ trọng số của nơ-ron trên bản đồ:
1
1 n
q i c i
1
1 n
t i i
u x nếu nơ-ron chiến thắng trong lần học thứ nhất và nơ-ron
chiến thắng trong lần học thứ hai không nằm lân cận nhau trong “Bản đồ tự tổ
chức”
i 0
u x nếu nơ-ron chiến thắng trong lần học thứ nhất và nơ-ron
chiến thắng trong lần học thứ hai nằm lân cận nhau trong “Bản đồ tự tổ chức”
3.8 Các phương pháp trực quan minh họa “Bản đồ tự tổ chức”
Để trực quan hóa kết quả của “Bản đồ tự tổ chức”, chúng ta có rất nhiều cách mô hình hóa chúng [10] như sau:
Trang 40Hình 3.7 Ma trận U
Hình 3.8 Không gian điểm
Hình 3.9 Biểu đồ cột với mỗi ô là một nơron của “Bản đồ tự tổ chức” Ngoài ra, còn có các dạng biểu đồ khác như: cấu trúc nhóm, mật độ phân
bố, nhóm dữ liệu…