Tải bản đầy đủ (.pdf) (180 trang)

luận án tiến sĩ toán học chuyên nghành ĐẢM BẢO TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TOÁN đồ án 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.1 MB, 180 trang )


ĐẠ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
- viii -
stt Hình Mô tả Trang
24 4.10 Tiến trình xử lý của giai đoạn Xử lý dữ liệu 77
25 4.11 Lưu đồ xử lý của giai đoạn Xử lý dữ liệu 78
26 4.12 Chiến lược phân loại dữ liệu chẩn đoán 79
27 4.13 Thuật toán ASMCR so khớp luật phân nhóm trên tập Ruleset 82
28 4.14 Mô hình hợp nhất dữ liệu 84
29 4.15 Biểu đồ mã lệnh của virus Klez.worm.W32 85
30 4.16 Đối tượng chẩn đoán ObjectX qua các giai đoạn của DF2RV 88
31 4.17 So sánh kế

t quả nhận dạng của các hệ AV thử nghiệm 89
32 4.18 Thử nghiệm chất lượng các hệ anti-virus 93
33 4.19 Thử nghiệm tốc độ của các hệ anti-virus 94
- ix -
KÝ HIỆU VÀ VIẾT TẮT
DANH MỤC CÁC KÝ HIỆU SỬ DỤNG TRONG ĐỀ TÀI

Ký hiệu Thuật ngữ Ý nghĩa Ghi chú
A-class
Stand Alone program
virus class
Lớp virus/malware có định dạng
ứng dụng độc lập
Ký hiệu
của đề tài
Adware
Advertising software
Phần mềm quảng cáo
aObject
Diagnosed A-class
Object
Đối tượng chẩn đoán lớp virus A-
class
Ký hiệu
của đề tài
Backdoor
Trojan horse
backdoor
Nội ứng cửa hậu
B-class

Boot virus Class
Lớp virus lây vào mẫu tin khởi động
Ký hiệu
của đề tài
bObject
Diagnosed B-class
Object
Đối tượng chẩn đoán lớp virus B-
class
Ký hiệu
của đề tài
B-virus
Boot virus
Loại virus lây vào mẫu tin khởi
động

B-Tree
Balanced Tree data
structure
Cấu trúc dữ liệu cây cân bằng
C-class
7-bit ASCII virus
class
Lớp virus lây vào tập dữ liệu ASCII
7 bit
Ký hiệu
của đề tài
cObject
Diagnosed C-class
Object

Đối tượng chẩn đoán lớp virus C-
class
Ký hiệu
của đề tài
D-class
Document macro
virus Class
L
ớp virus lây vào tư liệu MS Office
Ký hiệu
của đề tài
dObject
Diagnosed D-class
Object
Đối tượng chẩn đoán lớp virus D-
class
Ký hiệu
của đề tài
Dropper
Trojan horse dropper
Mã độc kết xuất ra bộ nhớ ngoài
E-class
Executable file virus
Class
Lớp virus lây vào tập tin thi hành
Ký hiệu
của đề tài
eObject
Diagnosed E-class
Object

Đối tượng chẩn đoán lớp virus E-
class
Ký hiệu
của đề tài
- x -
Ký hiệu Thuật ngữ Ý nghĩa Ghi chú
F-virus
File virus
Loại virus máy tính lây vào tập tin
thi hành

Filehooker
File access hooker
Công cụ thám báo truy nhập tập tin
Germs
Trojan horse
ancestor
Mầm độc
Hacker
Hacker, cracker
Tin tặc, người đục phá hệ thống
Hacktool
Hacker’s toolkit
Công cụ đục phá hệ thống
Header
File header
Cấu trúc đầu tập tin
ID-virus
Virus Identity
signature

Mã nhận dạng virus
Injector
Trojan horse injector
Mã độc kết nhập vào bộ nhớ trong
Intruder
Intruder worm
Sâu trình lang thang
Kernel32
Windows32’s system
core
Hạt nhân hệ th
ống của Windows 32
Keylogger
Keylogger toolkit
Công cụ thám báo bàn phím
Macro
Macro virus
Loại virus lây vào tư liệu MS Office
Malicious
Malicious, harmful
code
Các đoạn mã thi hành độc hại, nguy
hiểm

Malware
Malicious software
Phần mềm độc hại
MSOffice
Microsoft Office
package

Bộ ứng dụng văn phòng của
Microsoft

NULL
NULL data
Dữ liệu trống (dữ liệu rỗng)
Pornware
Pornware,
Sexualware
Phần mềm đồi trụy
Riskware
Riskware
Phần mềm rủi ro
Rootkit
Hacker’s toolkit
Công cụ
đục phá hệ thống
R-Tree
Rectangles Tree data
structure
Cấu trúc dữ liệu cây chữ nhật

- xi -
Ký hiệu Thuật ngữ Ý nghĩa Ghi chú
RS1
The ruleset of instant
knowledge
Tập luật đặc tả kiến thức tức thời
Ký hiệu,
thuật ngữ

của đề tài
RS2
The ruleset of
permanent
knowledge
Tập luật đặc tả kiến thức dài lâu
Ký hiệu,
thuật ngữ
của đề tài
Sniffer
Data packet sniffer
Bộ thám báo gói dữ liệu
Spyware
Spy software
Phần mềm gián điệp
Template
MSOffice template
Khuôn dạng mẫu MSOffice
Trojan
Trojan horse
Nội ứng ‘ngựa gỗ’
Virus
Computer viruses
Virus máy tính
V-Tree
Value Tree data
structure
Cấu trúc dữ liệu cây giá trị
VxD
Virtual Device Driver

Bộ điều khiển thiết bị ảo
Win32
Windows 32 bit
Họ hệ điều hành Microsoft
Windows 32 bit

Worm
Computer worm
Sâu trình máy tính
Zombie
Zombie computer in
botnet
Hệ thống bị lợi dụng làm trạm trung
chuyển trong mạng lưới tấn công


- xii -
DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỀ TÀI

Từ viết tắt Thay cho cụm từ Ý nghĩa Ghi chú
ACV
A
lgorithm of
C
lustering by V-Tree
Thuật toán phân cụm dữ liệu sử
dụng V-Tree
Ký hiệu
của đề tài
AMKBD

A
ssociation Model of
K
nowledge Base and
D
atabase
Mô hình kết hợp cơ sở dữ liệu và
cơ sở tri thức
Ký hiệu
của đề tài
ASMCR
A
lgorithm to Search
for a M
ember
C
lustering rule from
R
uleset
Thuật toán tìm kiếm luật phân
cụm trên tập Ruleset
Ký hiệu
của đề tài
ARCRD
A
lgorithm to Retrieve
C
lustering Rules from
D
atabase

Thuật toán rút luật phân cụm từ
cơ sở dữ liệu
Ký hiệu
của đề tài
ASCII
A
merican Standard
C
ode for Information
I
nterchange
Bộ mã tiêu chuẩn Mỹ dùng trao
đổi thông tin

ASM
A
sSeMbly source files
Tập chương trình nguồn hợp ngữ
AV
A
nti-Virus
Hệ phòng chống virus máy tính
AX
A
ccumulate register
Thanh ghi tích lũy
BAT
BAT
ch files
Tập tin lệnh theo lô

BP
B
ase Pointer register
Thanh ghi con trỏ cơ sở
BX
B
ase register
Thanh ghi cơ sở
CD-ROM
C
ompact Disk ROM
Đĩa quang học chỉ đọc
CNTT
C
ông Nghệ Thông Tin
Information Technology
COM
COM
mand files
Tập tin lệnh
CPL
C
ontrol Panel Applet
Tập tin ứng dụng Control Panel
CPU
C
entral Processing
U
nit
Đơn vị xử lý trung tâm

CRLF
C
aRriage – Line Feed
Ký tự xuống dòng
CS
C
ode Segment register
Thanh ghi đoạn lệnh
- xiii -
Từ viết tắt Thay cho cụm từ Ý nghĩa Ghi chú
CSDL
C
ơ Sở Dữ Liệu
Database
CSTT
C
ơ Sở Tri Thức
Knowledge base
CX
C
ounter register
Thanh ghi đếm
DF2RV
D
ata Fusion to Recall
V
alues
Hợp nhất dữ liệu để khôi phục
giá trị
Ký hiệu

của đề tài
DLL
D
ynamic Link Library
Thư viện liên kết động
DNS
D
omain Name Service
Dịch vụ tên miền
DOC
DOC
ument files
Tập tin tư liệu văn bản
DOT
DO
cument Template
Khuôn dạng tư liệu văn bản
DS
D
ata Segment register
Thanh ghi đoạn dữ liệu
DVD
D
igital Versatile Disk
Đĩa kỹ thuật số đa năng
DX
D
ata register
Thanh ghi dữ liệu
ES

E
xtra Segment
register
Thanh ghi đoạn bổ sung
EXE
EXE
cutable files
Tập tin thi hành
FD
F
loppy Disk
Đĩa mềm
FIFO
F
irst In – First Out
Cơ chế xử lý vào trước – ra trước
FTP
F
ile Transfer Protocol
Giao thức truyền tập tin
HD
H
ard Disk
Đĩa cứng
HĐH
H
ệ Điều Hành
Operating system
HTA
H

yperText Application
Tập ứng dụng siêu văn bản
HTML
H
yperText Markup
L
anguage
Ngôn ngữ đánh dấu siêu văn bản
HTT
H
yperTexT files
Tập tin siêu văn bản
HTTP
H
yperText Transfer
P
rotocol
Giao thức truyền siêu văn bản
IBM
I
nternational Business
M
achine Corporation
Hãng IBM
- xiv -
Từ viết tắt Thay cho cụm từ Ý nghĩa Ghi chú
IBM-PC
IBM
compatible
P

ersonal Computer
Máy tính cá nhân tương thích
IBM

INI
INI
tializing files
Tập tin khởi tạo
IP
I
nstruction Pointer
Điểm vào lệnh tập thi hành
IRC
I
nternet Relay Chat
Tiếp âm đàm thoại Internet
ISS
I
nternet Security
S
ystem
Hệ thống An ninh Internet
JS
J
ava Script files
Tập chương trình nguồn Java
script

KDD
K

nowledge Discovery
from D
atabase
Hệ Khám phá tri thức từ cơ sở dữ
liệu

KGVT
K
hông Gian Véc Tơ
Vector space
LAN
L
ocal Area Network
Mạng cục bộ
LE-EXE
L
inEar EXEcutable
files
Tập tin thực thi tuyến tính
LIFO
L
ast In - First Out
Cơ chế xử lý vào sau-ra trước
MAVCL
MAV
CLient module
Phân hệ MAV trên máy trạm
Ký hiệu
của đề tài
MAVES,

MAV
M
achine Learning
Approach to A
nti-
V
irus 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ý hiệu
của đề tài
MSDOS
Microsoft Disk
Operating System
Hệ điều hành MSDOS
MTKĐ
M
ẫu Tin Khởi Động
Boot record
MZ
M
ark Zbikowski
signature

Ký hiệu nhận dạng tập tin thi
hành

NE-EXE
NE
w EXEcutable files
Tập tin thi hành Windows 16 bit
NNLT
N
gôn Ngữ Lập Trình
Programming Language
- xv -

Từ viết tắt Thay cho cụm từ Ý nghĩa Ghi chú
NNSRM
N
earest Neighbor
Rule-based S
tructural
R
isk Minimization
Cực tiểu rủi ro cấu trúc dựa vào
luật láng giềng gần nhất

OCX
O
LE Control
eX
tension
Điều khiển đối tượng liên kết

nhúng

OLE
O
bject Linking and
E
mbedding
Đối tượng liên kết nhúng
PAS
PAS
cal source files
Tập chương trình nguồn Pascal
PE-EXE
P
ortablE EXEcutable
files
Tập tin thi hành Windows 32 bit
POST
P
ower On Self Test
Tự kiểm tra khi khởi động
POT
P
owerpOint Template
files
Tập khuôn dạng trình diễn
PowerPoint

PPA
P

owerPoint template
A
dd-in files
Tập khuôn dạng trình diễn
PowerPoint gắn thêm

PPT
P
owerPoinT files
Tập tin trình diễn PowerPoint
R2LTA
R
oot-to-Leaf Traverse
A
lgorithm
Thuật giải duyệt đường đi từ gốc
đến lá trên cấu trúc dữ liệu cây
Ký hiệu
của đề tài
RAM
R
andom Access
M
emory
Bộ nhớ truy nhập ngẫu nhiên
REG
REG
istry files
Tập tin đăng ký hệ thống
ROM

R
ead Only Memory
Bộ nhớ chỉ đọc
ROM-
BIOS
ROM
Basic Input
O
utput System
Hệ nhập xuất ROM cơ sở
SCR
SCR
een saver files
Tập tin bảo vệ màn hình
SID
S
earching - Inferring -
D
iagnosing
Tìm kiếm - Suy diễn - Chẩn đoán
Ký hiệu
của đề tài
SP
S
tack Pointer register
Thanh ghi con trỏ ngăn xếp
SS
S
tack Segment
register

Thanh ghi đoạn ngăn xếp
- xvi -

Từ viết tắt Thay cho cụm từ Ý nghĩa Ghi chú
SYS
SYS
tem files
Tập tin hệ thống
TF-IDF
T
erm Frequency –
I
nverse Document
F
requency
Tần suất từ - tần suất tài liệu
nghịch đảo

VAA
V
irus Autoprotect
A
gent
Tác tử Canh phòng virus
Ký hiệu
của đề tài
VBA
V
isual Basic
A

pplication
Ứng dụng Visual Basic
VBS
V
isual Basic Script
Tập chương trình VB script
VSA
V
irus Scanning Agent
Tác tử Duyệt quét virus
Ký hiệu
của đề tài
XLA
EX
ceL worksheet
A
dd-in
Tập tin khuôn dạng Excel gắn
thêm

XLS
EX
cel workSheet files
Tập tin bảng tính Excel
XLT
EX
cel Template files
Tập khuôn dạng bảng tính Excel




Mở đầu



1.1. Giới thiệu đề tài
1.1.1. Lý do chọn đề tài
Ngày nay công nghệ thông tin trở thành một lĩnh vực mũi nhọn trong công
cuộc phát triển kinh tế xã hội. Cùng với công nghệ sinh học và năng lượng mới,
công nghệ thông tin (CNTT) vừa là công cụ, vừa là động lực thúc đẩy quá trình
công nghiệp hóa, hiện đại hóa đất nước. Trong giai đoạn hội nhập quốc tế, CNTT
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 luận lý
trái phép vào các h
ệ thống CNTT 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ạt nhân 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 (malicious, harmful code
) 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ỏ. Dự án nghiên cứu về sự phát triển toàn cầu của Viện Hàn lâm Công nghệ Quốc
gia Mỹ (National Academy of Engineering, USA - 2008) nhận định vấn đề an ninh
thông tin và virus máy tính là một trong 14 thách thức công nghệ lớn nhất của thế
kỷ 21 mà nếu giải quyết được, cuộc sống con ng
ười sẽ được cải thiện đáng kể [92].
Virus máy tính (từ đây gọi tắt là virus, phân biệt với từ “virút” trong y họ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 CNTT hiện nay.

Chương
1
- 2 -
Trong bối cảnh đó, đề tài “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” đượ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 CNTT ở Việt Nam.
1.1.2. Mục tiêu của đề tài
Để phòng chống virus máy tính, các hệ thống CNTT sử dụng các phần mềm
chống virus (anti-virus, gọi tắt là AV). Qua khảo sát, phần lớn các AV chỉ phát huy
tác d
ụng trên các mẫu virus xác định, khả năng dự đoán virus mới còn hạn chế nên
thường bị động khi có dịch virus bùng phát.
Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu ứng dụng,
mục tiêu của đề tài là tìm giải pháp cho bài toán nhận dạng virus máy tính và lựa
chọn mô hình thích hợp để xây dựng 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 MAVES - Machine Learning Approach to Anti-
Virus Expert System (gọi tắt là MAV) v
ới các chỉ tiêu cơ bản:
- Nhận dạng nhanh, phát hiện chính xác các trường hợp lây nhiễm, tiềm ẩn của
các virus đã biết trên hệ thống đích.
- Có khả năng dự báo biến thể virus; ngăn chận kịp thời, chủ động phòng tránh
các tình huống lây nhiễm khi hệ thống chưa cập nhật mẫu virus mới.
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 bước như sau:
• Giai đoạn 1 - Thu thập dữ liệu: Khảo sát tình hình thực tiễn, thu thập dữ liệu
(mẫu virus, các phần mềm diệt virus trong nước và nước ngoài, các bài viết,
tài liệu liên quan…). Nghiên cứu tài liệu, tìm hiểu các phương pháp, tiếp cận
đã biết, tham khảo các anti-virus đang sử dụng phổ biến. Phác họa bức tranh
tổng thể, tìm hiểu các công nghệ nhận dạng virus máy tính qua các thời kỳ

.
• Giai đoạn 2 - Phân loại dữ liệu: Sắp xếp, phân loại, tìm hiểu đặc điểm dữ
liệu, cơ chế lây nhiễm của từng loại virus trên vật chủ tương ứng. Sàng lọc,
loại bỏ dữ liệu dư thừa (các mẫu virus “chết” hoặc không phù hợp với môi
- 3 -
trường, điều kiện nghiên cứu…). Bổ sung, làm giàu dữ liệu từ nhiều nguồn
khác nhau (dữ liệu mẫu của các lớp vật chủ, tập chỉ thị thi hành…).
• Giai đoạn 3 - Xử lý dữ liệu: Dựa vào các lớp dữ liệu đã phân loại, lựa chọn,
sắp xếp dữ liệu, xây dựng các mô hình, công cụ xử lý thích hợp trên cơ sở lý
thuyết máy học. Phân tích, nh
ận xét, đánh giá hiệu quả của từng mô hình.
• 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. Virus máy tính và các hệ thống đích
Có ba vấn đề cân nhắc khi nghiên cứu virus máy tính là môi trường (hệ điều
hành, kiến trúc máy), phương tiện (vật chứa tin, cơ chế lan tỏa) và cơ
hội (cộng
đồng sử dụng, tần suất kích hoạt, kỹ thuật lây lan…). Mặc dù có nhiều loại virus
máy tính lây nhiễm trên nhiều hệ thống và môi trường khác nhau, nhưng do tính
phổ biến của Windows nên virus máy tính trên hệ điều hành này cũng nhiều hơn.
Để đáp ứng nhu cầu thực tế bức thiết, đề tài tập trung nghiên cứu các loại virus máy
tính hoạt động trên các hệ điều hành (HĐH) Windows 9x/Me và Windows
NT/2000/XP dành cho máy tính IBM-PC (máy vi tính cá nhân để bàn hoặ
c xách
tay, sử dụng kiến trúc vi xử lý x86/Pentium hoặc tương thích).
Mặc dù vậy, đề tài cũng được định hướng nghiên cứu để có thể mở rộng kết
quả nghiên cứu cho các hệ anti-virus sử dụng các HĐH khác Windows.
1.2.2. Các hệ học và khám phá tri thức
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 virus

máy tính. Tuy nhiên, các anti-virus vẫn chưa làm chủ được tình hình. Virus 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 CNTT trên thế giới.
Virus máy tính là sản phẩm của con người. Cuộc chiến giữa AV và virus
máy tính là cuộc đấu trí giữa chuyên gia hệ thống và tin tặc, là trò chơi trí tuệ của
con người. Xuất phát từ nhận định này, đề tài chọn cách phối hợp tiếp cận dựa trên
- 4 -
tri thức (knowledge based) và tiếp cận học (machine learning) để tìm lời giải cho
bài toán nhận dạng virus máy tính. Để kiểm tra và đánh giá kết quả, một phần mềm
thực nghiệm sẽ được thiết kế trên mô hình các hệ khám phá tri thức nhằm phát hiện
các quy luật hình thành virus mới từ cơ sở dữ liệu (CSDL) virus đã biết.
1.2.3. Các hệ chuyên gia
Các hệ chuyên gia là một loại hệ cơ sở tri thức (CSTT)
được thiết kế để phần
mềm máy tính hoạt động như một chuyên gia (human expert) thực thụ trong một
lĩnh vực cụ thể. Dựa trên tri thức, hệ chuyên gia cho phép mô hình hóa tri thức của
chuyên gia (kiến thức, kinh nghiệm, lời khuyên…) để giải quyết các vấn đề phức
tạp trong từng lĩnh vực.
Trong y học, bác sĩ cần khám bệnh để biết nguyên nhân (người bệnh nhiễm
loại virút gây bệ
nh nào, đặc điểm ra sao), chẩn đoán bệnh (dựa vào triệu chứng, xác
định bệnh), xét các điều kiện ràng buộc (sức khoẻ bệnh nhân, trang thiết bị y tế, chi
phí cho phép…) và lựa chọn phương pháp chữa trị (phác đồ điều trị, công nghệ xử
lý bệnh…).
Trong tin học, virus máy tính là tác nhân gây bệnh và các anti-virus là
“thuốc” chữa bệnh cho máy tính. Do “bệnh nhân” (máy tính nhiễm virus) không thể
đến “bệnh viện” (phòng nghiên cứu phần mềm) để
được các “bác sĩ” (chuyên gia
anti-virus) khám chữa trị bệnh, giải pháp của đề tài là xây dựng một hệ cơ sở tri

thức về virus máy tính nhằm tư vấn chữa bệnh cho máy dựa trên kinh nghiệm của
chuyên gia anti-virus đã tích hợp trong hệ thống.
1.3. Ý nghĩa khoa học và thực tiễn của đề tài
Giống như trong công tác vệ sinh dịch tễ, trong lĩnh vực phòng chống virus
máy tính, phòng bệnh vẫn là chủ yếu với các hoạ
t động cơ bản: nhận dạng bệnh cũ
và dự báo bệnh mới. Các hoạt động này đều dựa vào các kỹ thuật chủ đạo của lớp
bài toán nhận dạng. Giải quyết vấn đề an toàn dữ liệu, đề tài nhận dạng virus máy
tính hướng tiếp cận máy học còn làm phong phú thêm tập lời giải cho các bài toán
nhận dạng cùng loại và có thể mở rộng để nhận dạng các đối t
ượng biến đổi.
- 5 -
Ở 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 biến thể virus máy
tính một cách khoa học và 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 một hệ phần mềm thông
minh chống virus máy tính, đáp ứng kịp thời nhu cầu bức xúc của xã hội, t
ừng bước
giải quyết nạn virus máy tính, góp phần làm trong sạch môi trường CNTT hiện nay.
1.4. Cấu trúc của luận án
Luận án gồm năm chương. Chương 1 dẫn nhập và giới thiệu chung về đề tài.
Chương 2 trình bày các cơ chế chẩn đoán virus máy tính và một số vấn đề liên
quan. Trước tiên, Chương 2 sẽ giới thiệu các chiến lược nhận dạng virus; khảo sát
các hoạt động nghiên cứu ứng dụ
ng phòng chống virus trong và ngoài nước; phân
tích các vấn đề mở của công nghệ anti-virus; đá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 2 trình bày cơ sở lý
thuyết của các hệ khám phá tri thức từ CSDL, các hệ học và hệ chuyên gia. Phần
cuối Chương 2 trình bày quá trình tìm hiểu, phân tích các nghiên cứu hướng tiếp
cận máy học và hệ chuyên gia trong lĩnh vực nhận dạng mã độc.

Các Chương 3 và Ch
ương 4 chứa nội dung nghiên cứu chính của đề tài.
Chương 3 trình bày các cơ chế máy học chẩn đoán virus máy tính. Bằng chiến lược
“chia để trị”, bài toán nhận dạng virus máy tính được phân hoạch thành năm bài
toán con. Mỗi bài toán được xây dựng dựa vào các kỹ thuật học từ đơn giản đến
phức tạp: học vẹt (lớp text virus), học tương tự (lớp macro virus), học chỉ dẫn (lớp
boot virus), học tình huống (l
ớp file virus) và học quy nạp (lớp mã độc, sâu trình và
trojan horse).
Chương 4 trình bày phương pháp thiết kế hệ thống MAV, hệ phần mềm 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 4
mô tả mô hình cơ sở tri thức và mô hình tổng quát của hệ. Áp dụng tiếp cận máy
học và hệ chuyên gia, MAV sẽ được triển khai qua ba giai đoạn. Giai đoạn Học dữ
liệ
u - mức chuyên gia, 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 - mức người dùng. Triển khai trên hệ thống mạng theo mô hình
- 6 -
client-server, MAV được thiết kế gồm hai gói cài đặt chạy trên máy chủ (dành cho
chuyên gia) và các máy trạm (dành cho người dùng). Mỗi gói 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 4 trình bày các kết quả thực nghiệm của đề tài.
Chương 5 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.
Phần tài liệu tham khảo gồm (i) các công trình đã công bố trong các tạp chí
chuyên ngành, kỷ yếu hội nghị khoa học trong nước - quốc tế và (ii) các tài liệu
tham khảo sử dụng trong quá trình nghiên cứu đề tài.
Cuối cùng, phần phụ lục nhằm làm rõ các vấn đề liên quan đến đề tài gồm
Phụ lục 1: Khảo sát virus máy tính; Phụ lục 2: Các đị

nh dạng dữ liệu nhiễm virus
máy tính; Phụ lục 3: Các tác tử hoạt động và thuật toán SID Tìm kiếm – Suy luận –
Chẩn đoán; Phụ lục 4: Phân tích hệ thống phần mềm MAV; Phụ lục 5: Phân hệ máy
chủ MAVSR và Phụ lục 6: Phân hệ máy trạm MAVCL.


×