MÁY HỌC VÀ HỆ CHUYÊN GIA ĐỂ NHẬN DẠNG, PHÁT HIỆN VIRUS MÁY TÍNH
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TRƯƠNG MINH NHẬT QUANG TIẾP CẬN MÁY HỌC VÀ HỆ CHUYÊN GIA ĐỂ NHẬN DẠNG, PHÁT HIỆN VIRUS MÁY TÍNH CHUYÊN NGÀNH: ĐẢM BẢO TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TOÁN MÃ SỐ: 1.01.10 LUẬN ÁN TIẾN SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: 1. GS. TSKH. HOÀNG KIẾM 2. PGS. TS. NGUYỄN THANH THỦY TP. HỒ CHÍ MINH - 2009 LỜI CAM ĐOAN Tôi cam đoan rằng đề tài này do chính tôi thực hiện. Các số liệu được thu thập, kết quả phân tích, dẫn chứng trong đề tài là trung thực. Không có sự trùng lặp, sao chép từ bất kỳ đề tài, luận án hay công trình nghiên cứu khoa học nào của các tác giả khác. Ngày 10 tháng 2 năm 2009 Nghiên cứu sinh Trương Minh Nhật Quang Tôi xin bày tỏ lòng biết ơn sâu sắc đến Giáo sư Tiến sĩ Khoa học Hoàng Kiếm Người đã tận tình hướng dẫn tôi hoàn thành luận án này Tôi vô cùng cảm ơn Phó Giáo sư Tiến sĩ Nguyễn Thanh Thủy Và các nhà khoa học đã đóng góp nhiều ý kiến quý báu Giúp tôi hoàn thiện công trình nghiên cứu này Tôi xin chân thành cảm ơn Trường Đại học Khoa học Tự nhiên, Trường Đại học Công nghệ Thông tin, Trung tâm Đào tạo Đạ i học Tại chức Cần Thơ và Sở Khoa học Công nghệ thành phố Hồ Chí Minh Đã tạo điều kiện thuận lợi cho tôi thực hiện đề tài này Tôi xin kính tặng công trình này cho cha mẹ Và người thân trong gia đình Bằng tất cả tình cảm yêu thương nhất… Trương Minh Nhật Quang Mùa xuân 2009 MỤC LỤC DANH MỤC BẢNG BIỂU vi DANH MỤC HÌNH ẢNH vii KÝ HIỆU VÀ VIẾT TẮT ix 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 2 1.2. Đối tượng, phạm vi nghiên cứu của đề tài 3 1.2.1. Virus máy tính và các hệ thống đích .3 1.2.2. Các hệ học và khám phá tri thức .3 1.2.3. Các hệ chuyên gia 4 1.3. Ý nghĩa khoa học và thực tiễn của đề tài 4 1.4. Cấu trúc của luận án 5 CHƯƠNG 2 – CÁC CƠ CHẾ CHẨN ĐOÁN VIRUS MÁY TÍNH VÀ MỘT SỐ VẤN ĐỀ LIÊN QUAN .7 2.1. Khảo sát virus máy tính 7 2.2. Các cơ chế chẩn đoán virus máy tính .9 2.2.1. Phát hiện virus dựa vào chuỗi nhận dạng 11 2.2.2. Phát hiện virus dựa vào hành vi .11 2.2.3. Phát hiện virus dựa vào ý định 12 2.3. Các hệ phòng chống virus máy tính 12 2.3.1. Các sản phẩm trong nước 12 2.3.2. Các sản phẩm nước ngoài 13 2.4. Tình hình nghiên cứu virus máy tính 13 2.4.1. Tình hình nghiên cứu, ứng dụng trong nước .14 2.4.2. Tình hình nghiên cứu, ứng dụng ở nước ngoài .15 2.4.3. Các vấn đề mở của công nghệ anti-virus .15 - ii - 2.5. Hướng giải quyết của đề tài 16 2.5.1. Các luận điểm của đề tài 17 2.5.2. Giải pháp của đề tài .18 2.6. Các hệ cơ sở tri thức .19 2.6.1. Các Hệ chuyên gia .19 2.6.1.1. Cơ sở tri thức .20 2.6.1.2. Động cơ suy diễn 20 2.6.2. Các hệ Khám phá tri thức từ cơ sở dữ liệu 20 2.6.2.1. Giới thiệu .20 2.6.2.2. Tiến trình khám phá tri thức .21 2.6.3. Các Hệ học .22 2.6.3.1. Học giám sát 23 2.6.3.2. Học không giám sát .23 2.6.3.3. Các hình thức học 24 2.6.4. Các nghiên cứu máy học nhận dạng virus máy tính 25 2.6.5. Các nghiên cứu hệ chuyên gia nhận dạng virus máy tính .27 2.7. Tổng kết chương .29 CHƯƠNG 3 – CƠ CHẾ MÁY HỌC CHẨN ĐOÁN VIRUS MÁY TÍNH 30 3.1. Phân hoạch bài toán chẩn đoán virus máy tính .30 3.2. Các độ đo chất lượng chẩn đoán .31 3.3. Cơ chế máy học chẩn đoán virus máy tính .31 3.3.1. Bài toán 1: Chẩn đoán lớp virus C-class .31 3.3.1.1. Phát biểu bài toán 31 3.3.1.2. Tổ chức cơ sở dữ liệu và trích chọn đặc trưng 32 3.3.1.3. Thuật toán chẩn đoán lớp C-class .32 3.3.1.4. Phân tích, đánh giá thuật toán chẩn đoán lớp C-class .33 3.3.2. Bài toán 2: Chẩn đoán lớp virus D-class .34 3.3.2.1. Phát biểu bài toán 34 3.3.2.2. Tổ chức cơ sở dữ liệu 35 - iii - 3.3.2.3. Tổ chức không gian tìm kiếm .36 3.3.2.4. Trích chọn đặc trưng .37 3.3.2.5. Luật nhận dạng virus lớp D-class 37 3.3.2.6. Thực nghiệm bài toán chẩn đoán lớp D-class .38 3.3.3. Bài toán 3: Chẩn đoán lớp virus B-class .39 3.3.3.1. Phát biểu bài toán 39 3.3.3.2. Tạo lập cơ sở tri thức 40 3.3.3.3. Tổ chức cơ sở dữ liệu 41 3.3.3.4. Trích chọn đặc trưng .41 3.3.3.5. Xây dựng không gian trạng thái 42 3.3.3.6. Cơ chế phân tích 43 3.3.3.7. Đánh giá độ phức tạp và kết quả thực nghiệm 44 3.3.4. Bài toán 4: Chẩn đoán lớp virus E-class 45 3.3.4.1. Phát biểu bài toán 45 3.3.4.2. Tổ chức cơ sở dữ liệu virus, trích chọn đặc trưng 45 3.3.4.3. Xây dựng cơ sở tri thức .46 3.3.4.4. Tổ chức cơ sở dữ liệu thông tin hệ thống .46 3.3.4.5. Thiết kế động cơ suy diễn .47 3.3.4.6. Giải thích thuật toán SID 47 3.3.4.7. Các tác tử hoạt động 49 3.3.4.8. Kết quả thực nghiệm .50 3.3.4.9. Đánh giá phương pháp chẩn đoán lớp virus E-class .51 3.3.5. Bài toán 5: Chẩn đoán lớp virus A-class .52 3.3.5.1. Lược sử vấn đề nhận dạng mã độc 52 3.3.5.2. Phát biểu bài toán 54 3.3.5.3. Tổ chức cơ sở dữ liệu virus .54 3.3.5.4. Biểu diễn dữ liệu virus bằng mô hình không gian vectơ 55 3.3.5.5. Rút trích đặc trưng 55 3.3.5.6. Ước lượng tỷ lệ mã độc .56 - iv - 3.3.5.7. Ví dụ minh họa bài toán A-class .57 3.3.5.8. Kết quả thực nghiệm .59 3.3.5.9. Bàn luận về phương pháp chẩn đoán lớp A-class .59 3.4. Tổng kết chương .60 CHƯƠNG 4 – THIẾT KẾ XÂY DỰNG HỆ THỐNG VÀ THỰC NGHIỆM .62 4.1. Mô hình tổng quát của hệ .62 4.2. Tổ chức cơ sở tri thức .62 4.2.1. Mô tả đối tượng .62 4.2.2. Luật nhận dạng virus .64 4.3. Giai đoạn Học dữ liệu .65 4.3.1. Trích chọn dữ liệu 65 4.3.2. Phân cụm dữ liệu .65 4.3.2.1. Tổ chức cấu trúc dữ liệu 66 4.3.2.2. Thuật toán ACV gom cụm trên V-Tree 67 4.3.2.3. Đánh giá thuật toán ACV 71 4.3.3. Rút luật phân bố trị thuộc tính .73 4.3.3.1. Rút luật phân cụm trên V-Tree .73 4.3.3.2. Rút luật phân cụm trên ma trận dữ liệu .74 4.4. Giai đoạn Xử lý dữ liệu 76 4.4.1. Phân loại dữ liệu chẩn đoán .79 4.4.1.1. Phân loại đối tượng .79 4.4.1.2. So khớp luật phân nhóm .82 4.4.2. Chẩn đoán virus bằng kỹ thuật hợp nhất dữ liệu .83 4.4.2.1. Tinh chế dữ liệu trong tiến trình khám phá tri thức 83 4.4.2.2. Tinh chế dữ liệu NULL bằng kỹ thuật hợp nhất dữ liệu .83 4.4.2.3. Virus lạ và dữ liệu NULL .84 4.4.2.4. Dự báo virus lạ bằng kỹ thuật hợp nhất dữ liệu 86 4.4.2.5. Kết quả thực nghiệm .88 4.4.2.6. Bàn luận về kỹ thuật DF2RV 90 - v - 4.5. Kết quả thực nghiệm .90 4.5.1. Đánh giá hiệu quả nhận dạng virus của MAV .91 4.5.2. Đánh giá tốc độ thực thi của MAV 92 4.6. Tổng kết chương .94 CHƯƠNG 5 - KẾT LUẬN .95 5.1. Những đóng góp mới của đề tài 96 5.2. Hạn chế của đề tài, cách khắc phục 97 5.3. Hướng phát triển tương lai 98 5.4. Đề nghị về các nghiên cứu tiếp theo .99 CÔNG TRÌNH ĐÃ CÔNG BỐ .100 TÀI LIỆU THAM KHẢO 102 PHỤ LỤC 1 – KHẢO SÁT VIRUS MÁY TÍNH 108 PHỤ LỤC 2 – CÁC ĐỊNH DẠNG DỮ LIỆU NHIỄM VIRUS 117 PHỤ LỤC 3 – CÁC TÁC TỬ HOẠT ĐỘNG VÀ THUẬT TOÁN SID .128 PHỤ LỤC 4 - PHÂN TÍCH HỆ THỐNG PHẦN MỀM MAV .133 PHỤ LỤC 5 - PHÂN HỆ MÁY CHỦ MAVSR 137 PHỤ LỤC 6 - PHÂN HỆ MÁY TRẠM MAVCL 148 - vi - DANH MỤC BẢNG BIỂU Stt Bảng Mô tả Trang 1 2.1 Phân loại virus máy tính theo kiểu dữ liệu 8 2 2.2 Lịch trình cập nhật của Kaspersky Lab (1995-2004) 9 3 2.3 Khảo sát tiếp cận hệ chuyên gia nhận dạng virus máy tính 27 4 3.1 Các lớp virus cơ bản 31 5 3.2 Kết quả thực nghiệm bài toán chẩn đoán lớp virus C-class 34 6 3.3 Kết quả thực nghiệm bài toán chẩn đoán lớp virus D-class 39 7 3.4 Kết quả thực nghiệm bài toán chẩn đoán lớp virus B-class 44 8 3.5 Các luật cơ bản chẩn đoán file virus lạ 46 9 3.6 Thời gian chạy của các hệ AV thử nghiệm trên cùng tập mẫu .51 10 3.7 Kết quả thực nghiệm bài toán chẩn đoán lớp virus E-class .52 11 3.8 Các nhóm virus trong CSDL và mẫu dữ liệu chẩn đoán .57 12 3.9 Số liệu tính toán trên ví dụ mẫu bài toán A-class 58 13 3.10 Kết quả thực nghiệm bài toán chẩn đoán lớp virus A-class 59 14 4.1 Trích chọn dữ liệu đặc trưng từ các định dạng cơ bản 66 15 4.2 Ví dụ cơ sở dữ liệu virus mẫ u 69 16 4.3 Tính toán số lần ACV duyệt nút trên V-Tree 72 17 4.4 CSDL chứa 9 thành viên họ virus Family.x.vir .86 18 4.5 Kết quả hợp nhất dữ liệu trên CSDL virus 88 19 4.6 Kết quả nhận dạng virus của các hệ AV thử nghiệm 89 20 4.7 Kết quả dự báo virus của MAV khi thay đổi λ .90 21 4.8 Đánh giá hiệu quả nhận dạng virus của MAV 91 22 4.9 Kết quả thực nghiệm chất lượng các hệ anti-virus 92 23 4.10 Kết quả thực nghiệm tốc độ các hệ anti-virus .94 - vii - DANH MỤC HÌNH ẢNH stt Hình Mô tả Trang 1 2.1 Biểu đồ so sánh tỷ lệ phân bố các lớp virus máy tính .8 2 2.2 Biểu đồ tăng trưởng các lớp virus máy tính 10 3 2.3 Mô hình tổng quát của một hệ chuyên gia .19 4 2.4 Tiến trình khám phá tri thức 21 5 3.1 Thuật toán chẩn đoán lớp C-class 33 6 3.2 Phân loại tư liệu MSOffice 35 7 3.3 Không gian chẩn đoán dữ liệu lớp D-class 36 8 3.4 Thuật toán trích chọn tập hành vi chẩn đoán lớp D-class 37 9 3.5 Cây chỉ thị nhị phân tìm kiếm 43 10 3.6 Hàm bổ sung tri thức .44 11 3.7 Mô hình quan hệ cơ sở dữ liệu VerifyDB 47 12 3.8 Lưu đồ chẩn đoán đối tượng E-class .48 13 3.9 Biểu đồ so sánh chi phí thời gian của các AV thử nghiệm 51 14 3.10 Ma trận từ-tài liệu của CSDL virus mẫu .58 15 4.1 Mô hình tổng quát của hệ MAV 63 16 4.2 Hai phương pháp phân cụm .67 17 4.3 Ma trận dữ liệu .67 18 4.4 Thuật toán ACV phân cụm CSDL virus bằng V-tree 68 19 4.5 Cây V-Tree sau khi duyệt 2 mẫu tin 70 20 4.6 Cây V-Tree sau khi duyệt 3 mẫu tin 70 21 4.7 Kết quả phân cụm CSDL virus bằng V-Tree 71 22 4.8 Thuật toán ARCRD rút luật phân cụm trực tiếp trên CSDL .75 23 4.9 Mô hình giai đoạn Xử lý dữ liệu của hệ MAV 77 . ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TRƯƠNG MINH NHẬT QUANG TIẾP CẬN MÁY HỌC VÀ HỆ CHUYÊN GIA ĐỂ NHẬN DẠNG, PHÁT HIỆN VIRUS. Expert System Hệ phòng chống virus máy tính hướng tiếp cận máy học và hệ chuyên gia Ký hiệu của đề tài MAVSR MAV ServeR module Phân hệ MAV trên máy chủ Ký