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

NGHIÊN cứu máy học và hệ MIỄN DỊCH NHÂN tạo TRONG 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 (11.3 MB, 108 trang )

ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
──────────────

Mai Trọng Khang

NGHIÊN CỨU MÁY HỌC VÀ
HỆ MIỄN DỊCH NHÂN TẠO
TRONG PHÁT HIỆN VIRUS MÁY TÍNH

LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

TP HỒ CHÍ MINH - 2016


ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


Mai Trọng Khang

NGHIÊN CỨU MÁY HỌC VÀ
HỆ MIỄN DỊCH NHÂN TẠO
TRONG PHÁT HIỆN VIRUS MÁY TÍNH
LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS. VŨ THANH NGUYÊN



TP HỒ CHÍ MINH - 2016


LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành đến thầy PGS.TS. Vũ Thanh
Nguyên. Cảm ơn thầy đã dành nhiều công sức và hướng dẫn em tận tình để em có thể
hoàn tất đề tài này một cách thuận lợi.
Cảm ơn quý thầy cô giảng dạy cao học tại trường Đại học công nghệ thông tin đã
cung cấp cho em những tri thức bổ ích, tạo động lực cho em nghiên cứu khoa học và
thực hiện tốt đề tài này. Cảm ơn các thầy các cô trong khoa Công nghệ phần mềm,
trường Đại học công nghệ thông tin đã hỗ trợ em trong công tác giảng dạy để em có
thêm nhiều thời gian hoàn thiện đề tài. Cảm ơn các thành viên UIT-Cloud giúp đỡ em
tiếp cận được nguồn tài nguyên máy tính lớn để quá trình cài đặt, thực nghiệm được
tiến hành đúng hạn.
Cảm ơn ba mẹ, chị hai, những người thân yêu thương luôn bên cạnh con trong
những lúc khó khăn nhất.
Em xin chân thành cảm ơn.
Tp. Hồ Chí Minh, tháng 8 năm 2016

Mai Trọng Khang


LỜI CAM ĐOAN
Tôi xin cam đoan những nội dung trong luận văn là kết quả nghiên cứu thực sự của cá
nhân dưới sự hướng dẫn của PGS.TS. Vũ Thanh Nguyên. Tôi xin hoàn toàn chịu trách
nhiệm về luận văn của mình.
Học viên

Mai Trọng Khang



MỤC LỤC
LỜI CẢM ƠN...........................................................................................................i
LỜI CAM ĐOAN ....................................................................................................ii
MỤC LỤC ............................................................................................................... 1
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT ............................................... 5
DANH MỤC CÁC BẢNG ...................................................................................... 6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ................................................................. 7
MỞ ĐẦU ................................................................................................................. 9
Chương 1. TỔNG QUAN ................................................................................... 10
1.1

Lý do chọn đề tài .................................................................................... 10

1.2

Mục đích nghiên cứu .............................................................................. 11

1.3

Đối tượng và phạm vi nghiên cứu; ......................................................... 12

1.3.1 Virus và hệ thống đích ....................................................................... 12
1.3.2 Máy học.............................................................................................. 12
1.3.3 Hệ miễn dịch nhân tạo ....................................................................... 13
1.4

Các nghiên cứu liên quan ....................................................................... 13


1.5

Ý nghĩa khoa học và thực tiễn của đề tài ............................................... 15

1.6

Cấu trúc luận văn .................................................................................... 16

Chương 2. CƠ SỞ LÝ THUYẾT ........................................................................ 17
2.1

Virus máy tính ........................................................................................ 17

2.1.1 Định nghĩa .......................................................................................... 17
2.1.2 Lịch sử virus máy tính ....................................................................... 17
2.1.3 Khả năng lây lan của virus máy tính .................................................. 18
1


2.1.4 Một số kĩ thuật nhận dạng virus máy tính.......................................... 19
2.2

Hệ miễn dịch nhân tạo ............................................................................ 22

2.2.1 Hệ miễn dịch sinh học ........................................................................ 22
2.2.2 Cấu trúc cơ bản .................................................................................. 23
2.2.3 Một số thuật toán trong hệ miễn dịch nhân tạo .................................. 24
2.2.4 Các lĩnh vực ứng dụng AIS................................................................ 31
2.3


Mạng nơ-ron nhân tạo ............................................................................ 32

2.3.1 Cấu trúc cơ bản của mạng nơ-ron nhân tạo ....................................... 33
2.3.2 Một số loại mạng nơ-ron nhân tạo ..................................................... 35
2.3.3 Ứng dụng............................................................................................ 37
Chương 3.

HƯỚNG TIẾP CẬN MẠNG MIỄN DỊCH NƠ-RON NHÂN TẠO

TRONG PHÁT HIỆN VIRUS MÁY TÍNH .................................................................. 42
3.1

Các hướng tiếp cận nền tảng .................................................................. 42

3.1.1 Hướng tiếp cận giải thuật di truyền trong phát hiện virus máy tính .. 42
3.1.2 Hướng tiếp cận mạng nơ-ron nhân tạo trong phát hiện virus máy tính
………………………………………………………………………44
3.1.3 Hướng tiếp cận kết hợp mạng nơ-ron và giải thuật di truyền trong
phát hiện virus máy tính ......................................................................................... 45
3.1.4 Hướng tiếp cận kết hợp giải thuật chọn lọc nhân bản và mạng nơ-ron
nhân tạo trong phát hiện virus máy tính ................................................................. 47
3.2

Hướng tiếp cận kết hợp mạng miễn dịch nhân tạo và mạng nơ-ron nhân

tạo trong phát hiện virus máy tính.............................................................................. 54
3.2.1 Biểu diễn kháng thể / kháng nguyên .................................................. 55
3.2.2 Các bộ phát hiện ANNs ..................................................................... 56
2



3.2.3 Giải thuật huấn luyện AiNet .............................................................. 58
3.2.4 Phép đo độ thích nghi . Tương tác kháng thể - kháng nguyên .......... 61
3.2.5 Tương tác kháng thể - kháng thể........................................................ 62
3.3

Các bài toán liên quan ............................................................................ 64

3.3.1 Bài toán Rút trích đặc trưng virus ...................................................... 64
3.4

Bài toán Xây dựng bộ phân lớp tập tin................................................... 66

3.4.1 Cơ chế xác định mức độ nguy hiểm của một tập tin ......................... 67
3.4.2 Xây dựng bộ phân lớp xác định nhãn của một tập tin ....................... 68
Chương 4. CÀI ĐẶT ........................................................................................... 71
4.1

Hiện thực hoá ANIN .............................................................................. 71

4.1.1 Xây dựng bộ phát hiện ANNs ............................................................ 71
4.1.2 Xây dựng giải thuật huấn luyện AiNet .............................................. 75
4.1.3 Xây dựng lớp biểu diễn kháng thể ..................................................... 76
4.1.4 Xây dựng giao diện ............................................................................ 78
4.2

Hiện thực hoá bộ xây dựng dữ liệu huấn luyện...................................... 81

4.2.1 Lớp TrainingData ............................................................................... 82
4.2.2 Lớp Cluster......................................................................................... 82

4.2.3 Lớp DataGeneration ........................................................................... 83
4.2.4 Lớp Matching ..................................................................................... 84
4.2.5 Cài đặt giao diện ................................................................................ 85
4.2.6 Giao diện ............................................................................................ 87
4.3

Xây dựng bộ phân lớp tập tin ................................................................. 88

4.3.1 Cài đặt các lớp đối tượng ................................................................... 88

3


4.3.2 Xây dựng giao diện ............................................................................ 90
Chương 5. THỬ NGHIỆM ................................................................................. 92
5.1

Dữ liệu đầu vào ...................................................................................... 92

5.1.1. Xác định thông số ............................................................................. 93
5.2

Phương pháp đánh giá ............................................................................ 95

5.3

Kết quả thực nghiệm .............................................................................. 96

Chương 6. KẾT LUẬN ....................................................................................... 99
6.1


Các kết quả đạt được .............................................................................. 99

6.2

Hạn chế ................................................................................................... 99

6.3

Hướng phát triển ................................................................................... 100

DANH MỤC CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ .................................... 101
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................ 102
PHỤ LỤC ............................................................................................................ 104

4


DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt

Viết đầy đủ

Ý nghĩa

CNTT

Công nghệ thông tin

Công nghệ thông tin


AV

Anti - Virus

Phần mềm chống virus

HĐH

Hệ điều hành

Hệ điều hành

ANN

Artificial Neural
Network

GA

Genetic Algorithm

AIS

Artificial Immune
System

AiNet

Artificial Immune

Network

CLONALG

Clonal Selection

Negative Selection
Algorithm

ANIN

Hệ miễn dịch nhân tạo

Mạng miễn dịch nhân tạo
Thuật toán chọn lọc nhân

Thuật toán chọn lọc âm
tính

Artificial Neural

Mạng miễn dịch nơ-ron
nhân tạo

Immune Network
VDCA

Giải thuật di truyền

bản


Algorithm
NSA

Mạng nơ-ron nhân tạo

Virus Detection

Thuật toán nhân bản phát
hiện virus

Clonal Algorithm

5


DANH MỤC CÁC BẢNG
Bảng 2.1 . So sánh giải thuật tiến hoá cơ bản và giải thuật chọn lọc nhân bản ............. 28
Bảng 3.1 Các đối tượng trong giải thuật chọn lọc nhân bản .......................................... 48
Bảng 4.1 Các thủ tục của giải thuật huấn luyện AiNet .................................................. 75
Bảng 4.2 Danh sách các thông số của mô đun xây dựng các bộ phát hiện .................... 80
Bảng 4.3 Các thuộc tính và phương thức chính của lớp DataGeneration ...................... 83
Bảng 4.4 Danh sách thông số quan trong của bộ xây dựng dữ liệu huấn luyện ............ 85
Bảng 4.5 Các lớp đối tượng trong bộ phân lớp tập tin ................................................... 89
Bảng 5.1 Thử nghiệm sự tương quan giữa giá trị r và quá trinh xây dựng dữ liệu huấn
luyện trên Dataset 5, Dataset 6 ............................................................................... 93
Bảng 5.2 Tỉ lệ phát hiện và tỉ lệ dương tính giả của ANIN và mô hình [7] .................. 96

6



DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Cấu trúc phân tầng của AIS ............................................................................ 23
Hình 2.2 Mô hình thuật toán chọn lọc âm tính .............................................................. 25
Hình 2.3 Sơ đồ giải thuật chọn lọc nhân bản ................................................................. 27
Hình 2.4 Cấu tạo nơ-ron nhân tạo .................................................................................. 33
Hình 2.5 Cấu trúc mạng nơ-ron đa lớp .......................................................................... 34
Hình 2.6 Mạng dẫn tiến .................................................................................................. 35
Hình 2.7 Mạng hồi quy .................................................................................................. 36
Hình 2.8 Mạng nơ-ron hàm radial .................................................................................. 37
Hình 2.9 Cấu trúc mạng nơ-ron trong robot di chuyển .................................................. 38
Hình 2.10 Mạng nơ-ron huấn luyện logic ...................................................................... 38
Hình 2.11 Mạng nơ-ron nhận dạng mẫu theo thời gian ................................................. 40
Hình 3.1 Sơ đồ giải thuật chọn lọc nhân bản ................................................................. 52
Hình 3.2 Cấu trúc tổng quát của một đối tượng ANNs ................................................. 58
Hình 3.3 Giaỉ thuật mạng miễn dịch nhân tạo ............................................................... 60
Hình 3.4 Giải thuật xác định tương tác mạng nơ-ron nhân tạo ...................................... 64
Hình 3.5 Cơ chế rút trích chuỗi nhị phân ....................................................................... 66
Hình 3.6 Sơ đồ quy trình xây dựng dữ liệu huấn luyện ................................................. 66
Hình 3.7 Giải thuật xác định độ nguy hiểm của một tập tin .......................................... 68
Hình 4.1 Lớp biểu diễn một đối tượng nơ-ron ............................................................... 72
Hình 4.2 Lớp biểu diễn đối tượng Layer........................................................................ 73

7


Hình 4.3 Lớp biểu diễn đối tượng mạng nơ-ron nhân tạo ............................................. 74
Hình 4.4 Lớp biểu diễn đối tượng NetworkCollection và hàm kich hoạt
BipolarSigmoid ...................................................................................................... 75
Hình 4.5 Lớp biễu diễn đối tượng kháng thể, môi trường, hàm mục tiêu ..................... 78

Hình 4.6 Mô hình tổng quát của module ....................................................................... 79
Hình 4.7 Giao diện module xây dựng các bộ phát hiện ................................................. 81
Hình 4.8 Mô hình tổng quát của bộ xây dựng dữ liệu huấn luyện. ................................ 82
Hình 4.9 Lớp biểu diễn đối tượng DataGeneration ....................................................... 84
Hình 4.10 Các lớp biểu diễn cơ chế so khớp hai chuỗi.................................................. 85
Hình 4.11 Giao diện bộ xây dựng dữ liệu huấn luyện ................................................... 88
Hình 4.12 Các lớp đối tượng trong bộ phân lớp tập tin ................................................. 90
Hình 4.13 Giao diện bộ phân lớp và kiểm tra tập tin ..................................................... 91
Hình 5.1 Sự tương quan giữa giá trị Network Suppression Threshold và hiệu quả của
ANIN ...................................................................................................................... 97
Hình 5.2 So sánh hiệu quả giữa ANIN và [7] (Series1: ANIN detection rate, Series3:
ANIN false positive rate, Series2 : [7] detection rate, Series4: [7] false positive
rate ) ....................................................................................................................... 98

8


MỞ ĐẦU
Chúng ta đang trải qua thời kì bùng nổ của nền kinh tế tri thức, nơi mà các thành
tựu khoa học công nghệ hiện hữu trong mọi mặt của đời sống vật chất và tinh thần của
con người. Những kĩ thuật mới, những tri thức mới được phát hiện mỗi ngày, càng góp
phần đẩy nhanh sự phát triển của nhân loại.
Bên cạnh việc xây dựng nên các lý thuyết khoa học mới, nhiều hướng nghiên
cứu hiện nay lại quay về tìm hiểu các lý thuyết khoa học cổ điển nhằm hoàn thiện các
lý thuyết này cũng như tìm ra giải pháp phối hợp nhiều tri thức thuộc các lĩnh vực khoa
học khác nhau vào giải quyết các vấn đề trong cuộc sống con người. Gần đây, cùng với
sự hỗ trợ của máy tính, các mô hình mô phỏng sinh học ngày càng được quan tâm và
phát triển, điển hình như giải thuật di truyền, giải thuật tiến hoá, mạng nơ-ron nhân tạo,
hệ miễn dịch nhân tạo… Sự kết hợp giữa tin học và sinh học tạo nói riêng và các tri
thức liên ngành nói chung đang tạo ra một cuộc cách mạng về khoa học kĩ thuật vô

cùng quan trọng.
Chúng ta có thể thấy rằng, việc bảo vệ máy tính trước các tác nhân độc hại cũng
giống như cơ chế hoạt động của hệ miễn dịch đang bảo vệ cơ thể chúng ta từng phút,
từng giây. Từ đó, đề tài mong muốn vận dụng chính các tri thức được phát triển thông
qua việc quan sát tự nhiên để phục vụ cuộc sống con người, bởi bản thân tự nhiên vốn
bao gồm những tiến trình, những hệ thống hoàn mỹ nhất.
Trong phạm vi đề tài này, các mô hình máy học và hệ miễn dịch nhân tạo được
nghiên cứu nhằm xây dựng một hướng tiếp cận mới giải quyết bài toán phát hiện virus
máy tính, góp phần giải quyết vấn đề bảo vệ an toàn dữ liệu, nâng cao khả năng bảo
mật cho các hệ thống Công nghệ thông tin.

9


Chương 1. Tổng quan

Chương 1. TỔNG QUAN
1.1 Lý do chọn đề tài
Năm 2013, thống kê của Kaspersky Lab cho thấy rằng có hơn 300 000 các tập tin
độc hại mới được phát hiện mỗi ngày, trong khi con số này ở năm 2012 chỉ khoảng 200
000 [1]. Những con số cho chúng ta thấy được mức độ tăng trưởng như vũ bão của các
mối đe dọa máy tính nói chung và virus máy tính nói riêng. Sự gia tăng không ngừng
cả về số lượng virus máy tính cũng như sự xuất hiện của các kĩ thuật lập trình virus
mới khiến cho các hướng tiếp cận truyền thống, vốn dĩ được sử dụng trong các chương
trình diệt virus ngày càng mất đi tính hiệu quả.
Sự phát triển không ngừng của công nghệ thông tin và truyền thông khiến cho
mọi hoạt động của con người đều ít nhiều liên quan đến máy tính và internet. Điều này
tạo ra một môi trường béo bở cho các loại tội phạm công nghệ cao tiến hành các hành
vi phi pháp thu lợi bất chính từ việc sử dụng trực tiếp các nguồn tài nguyên chiếm giữ
hoặc bán lại cho kẻ xấu. Không những thế, nhiều nhóm tội phạm công nghệ cao còn

được sự ủng hộ của chính phủ nước sở tại, biến các cuộc tấn công không chỉ mang
thuần mang tính kinh tế, thương mại mà còn liên quan đến chính trị, quân sự.
Riêng ở Việt Nam, tốc độ phổ biến của công nghệ thông tin không đi kèm với sự
cải thiện về kiến thức an toàn bảo mật khiến cho nhiều hệ thống máy tính dễ trở thành
mục tiêu tấn công. Việc hay sử dụng crack và sự bất cẩn của con người trong quá trình
sử dụng máy tính cho các hoạt động công việc, vui chơi vô tình tạo điều kiện cho nhiều
loại virus dễ dàng xâm nhập và ẩn mình chờ đợi hàng năm trời trước khi gây ra các
thiệt hại khổng lồ.
Trong việc phòng chống virus hiện nay, các chương trình diệt virus được sử dụng
và được tin tưởng về tính hiệu quả của nó. Tuy nhiên, các hướng tiếp cận hiện tại của
các AV (Antivirus - AV) ngày càng mất đi tính hiệu quả của mình do sự phát triển,
10


Chương 1. Tổng quan

biến đổi không ngừng của các kĩ thuật lập trình virus. Không những vậy, phần lớn các
phần mềm diệt virus chỉ phát huy tác dụng trên những 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.
Các hướng tiếp cận mới không ngừng được nghiên cứu và thử nghiệm nhằm tìm
kiếm các giải pháp mới cho bài toán phòng chống virus máy tính nói chung và bài toán
phát hiện virus máy tính nói riêng. Theo đà phát triển và xuất hiện của những thuật
toán mô phỏng sinh học mới những năm gần đây, nhiều nghiên cứu được tiến hành với
mục tiêu khai thác khả năng của các hệ thống sinh học trong giải quyết các vấn đề của
con người mà đặc biệt là vấn đề virus máy tính.
Trong bối cảnh đó đề tài, “Nghiên cứu một số thuật toán máy học và hệ miễn dịch
nhân tạo trong phát hiện virus máy tính” được tiến hành nhằm xây dựng hướng tiếp cận
mới mạng miễn dịch nơ-ron nhân tạo (ANIN- Artificial Neural Immune Network) một mô hình dựa trên kết hợp giữa giải thuật mạng miễn dịch nhân tạo và mạng nơ-ron
nhân tạo - để giải quyết bài toán phát hiện virus máy tính.


1.2 Mục đích nghiên cứu
Đề tài tập trung nghiên cứu hướng giải quyết bài toán phát hiện virus máy tính.
Do đây là một bài toán khá lớn cùng với sự hạn hẹp về tri thức của người thực hiện, sự
thiếu hụt các phương tiện cần thiết nên đề tài chỉ hướng đến giải quyết một phần nhỏ
của bài toán này.
Mục tiêu chính của đề tài là nhằm xây dựng một hướng tiếp cận mới để giải quyết
bài toán phát hiện virus máy tính dựa trên sự nghiên cứu các mô hình máy học và hệ
miễn dịch nhân tạo. Các mục tiêu nhỏ bao gồm:
 Hướng tiếp cận đề ra có thể kết hợp với các hướng tiếp cận truyền thống
sẵn có, góp phần nâng cao khả năng phòng chống virus máy tính.
 Hướng tiếp cận có khả năng nhận dạng được các mẫu virus mới chứa phần
mã tương đồng ở mức độ nào đó với các mẫu virus đã biết.
11


Chương 1. Tổng quan

 Cài đặt hướng tiếp cận đề ra dưới dạng một chương trình đơn giản, cho
phép chúng ta quan sát các quá trình xử lý bên trong như xử lý dữ liệu đầu
vào, quá trình huấn luyện, quá trình kiểm tra thực nghiệm…
 Đặt nền móng cho các nghiên cứu xa hơn trong tương lai.

Từ đó nâng cao tính bảo mật của máy tính và góp phần nâng cao hiệu quả bảo
mật của các hệ thống công nghệ thông tin.
1.3

Đối tượng và phạm vi nghiên cứu

1.3.1 Virus và hệ thống đích
Do sự hạn chế về phương tiện cũng như năng lực của người thực hiện, đề tài chỉ

tập trung nghiên cứu các loại virus máy tính hoạt động trên môi trường hệ điều hành
Windows (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). Trong đó, loại virus lây nhiễm trên tập tin thi hành
(EXE, COM, BAT) được tập trung nghiên cứu. Đây là loại virus nguy hiểm và phổ
biến nhất. Bên cạnh việc phát sinh những tiến trình chạy ngầm phá hoại hệ thống, làm
tốn hao bộ nhớ, một số virus thuộc loại này còn có thể vô hiệu hoá các AV, mở
backdoor cho các hacker …. Trong một số trường hợp, loại virus này giả dạng các biểu
tượng phần mềm khiến người dùng tự kích hoạt chúng.
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 để sử dụng trên các HĐH khác Windows và các loại virus khác.
1.3.2 Máy học
Máy học là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và
xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết
những vấn đề cụ thể. Máy học được ứng dụng rộng rãi trong nhiều lĩnh vực như y học,
thương mại, giáo dục …
Đề tài tập trung tìm hiểu một số thuật toán máy học phổ biến, đặt biệt là các mô
hình mô phỏng sinh học như mạng nơ-ron nhân tạo (Artificial Neural Networks 12


Chương 1. Tổng quan

ANN), giải thuật di truyền (Genetic Algorithms – GA), từ đó kết hợp với các mô hình
khác để giải quyết bài toán phát hiện virus máy tính.
1.3.3 Hệ miễn dịch nhân tạo
Hệ miễn dịch nhân tạo (AIS - Artificial Immune System) [2] là một nhóm các mô
hình tính toán mô phỏng chức năng hệ miễn dịch sinh học của người và động vật.
Hệ miễn dịch nhân tạo được xây dựng nhằm mô phỏng các đặc trưng chính quan
trọng của hệ miễn dịch sinh học bao gồm: khả năng chống chịu nhiễu, học tập, ghi nhớ,
phân tán và tự tổ chức. Được đánh giá như một phương pháp tính toán mềm mới có
hiệu quả, hệ miễn nhân tạo không chỉ đơn thuần được sử dụng ở các bài toán nhận

dạng mà còn được nghiên cứu ứng dụng trong các lĩnh vực như bảo mật và an toàn
thông tin, học máy, robot học, điều khiển học, tối ưu hoá…
Hệ miễn dịch nhân tạo bao gồm nhiều mô hình nhỏ, mỗi mô hình này mô phỏng
một bộ phận, chức năng khác nhau trong hệ miễn dịch sinh học như miễn dịch bẩm
sinh, T-bào, B-bào,...Trong đó, người nghiên cứu tập trung vào ba mô hình tính toán
chính của AIS là giải thuật chọn lọc âm tính (NSA - Negative Selection ALgorithms),
giải thuật chọn lọc nhân bản (CLONALG - CLonal Selection Algorithms) và giải thuật
mạng miễn dịch nhân tạo (AiNet - Artificial Immune Network).

1.4 Các nghiên cứu liên quan
Trong [3], các tác giả sử dụng phương pháp multiple sequence alignment (MSA)
trong lĩnh vực tin sinh học, kết hợp với các kĩ thuật khai phá dữ liệu để nhận biết các
chương trình độc hại. Kĩ thuật MSA được sử dụng để căn chỉnh các đoạn mã virus có
chiều dài khác nhau. Các kĩ thuật khai phá dữ liệu như phương pháp trích xuất luật
symbolic và ANN có thể học các đặc trưng trọng yếu để xác định phân lớp nào mà các
mẫu căn chỉnh này thuộc về.
Trong [4], các tác giả giới thiệu một giải pháp phát hiện xâm nhập dựa trên sự kết
hợp của các kĩ thuật tập thô (Rough Set -RS) và mạng miễn dịch nhân tạo. Kĩ thuật RS
13


Chương 1. Tổng quan

được sử dụng để giảm số chiều của tập dữ liệu, chỉ có các đặc trưng tốt nhất mới được
sử dụng. Tiếp đó AiNet được sử dụng để gom cụm các tấn công trong tập dữ liệu được
tinh giản. Kết quả thực nghiệm cho thấy một sự cải thiện tốt trong tỉ lệ phát hiện của
mô hình này.
Trong [5], các đặc trưng liên quan nhất được trích xuất từ các cấu trúc thực thi
của các tập tin thực thi bởi Fisher Score và sau đó được học bởi mạng nơ-ron nhân tạo.
Kết quả của quá trình này là một mạng nơ-ron có khả năng nhận biết các mẫu virus

mới. Mặc dù mô hình này đạt được các kết quả tốt, việc chỉ một mạng nơ-ron được sử
dụng để học các dữ liệu sẽ suy giảm tính hiệu quả cả về thời gian huấn luyện và hiệu
suất khi dữ liệu huấn luyện lớn.
Năm 2013, Suha Afaneh and Raed Abu Zita phát triển một giải thuật dựa trên
quan điểm của hệ miễn dịch nhân tạo nhằm mục đích phát hiện virus máy tính, được
gọi là giải thuật nhân bản phát hiện virus (Virus detection clonal algorithm - VDCA).
Giải thuật di truyền được sử dụng để tối ưu hóa VDCA. Kết quả thực nghiêm của
nghiên cứu cho thấy tỉ lệ phát hiện virus khá cao, 94.4% trong khi tỉ lệ cảnh báo nhầm
là 0% [6].
Trong [7], mô hình mạng nơ-ron nhân tạo được phối hợp với giải thuật chọn lọc
nhân bản để tạo ra một hướng tiếp cận phát hiện virus mới. CLONALG được sử dụng
để huấn luyện một quần thể các bộ phát hiện sơ khai để chúng trở nên thích ứng với dữ
liệu huấn luyện. Sau quá trình này, các bộ phát hiện trưởng thành có thể phối hợp với
nhau để nhận dạng các mã độc hại. Mặc dù kết quả thực nghiệm của mô hình tốt, tuy
nhiên xuất hiện nhiều bộ phát hiện trùng lặp nhau dẫn tới hiệu quả mô hình giảm sút
khi kích thước dữ liệu huấn luyện lớn hơn.
Trong [8], các tác giả kết hợp giữa giải thuật chọn lọc âm tính và mạng miễn dịch
nhân tạo. NSA được sử dụng để tạo ra thế hệ các bộ phát hiện đầu tiên và AiNet được
sử dụng để cải thiện độ bao phủ của các bộ phát hiện này cũng như cải tạo khả năng
nhận biết các virus mới. Giới hạn của phương pháp này ở việc sử dụng cơ chế nhận
14


Chương 1. Tổng quan

dạng các chuỗi bằng các chuỗi, hiệu quả mô hình giảm khi số lượng chuỗi cần nhận
dạng rất lớn.
1.5

Ý nghĩa khoa học và thực tiễn của đề tài

Đề tài “Nghiên cứu máy học và Hệ miễn dịch nhân tạo trong phát hiện virus máy

tính” hướng đến việc giải quyết bài toán phát hiện virus máy tính bằng một hướng tiếp
cận mới, có thể mở rộng cho nhiều hướng nghiên cứu xa hơn.
Đề tài được thực hiện phản ánh xu hướng phát triển lĩnh vực công nghệ thông tin,
vận dụng các nghiên cứu xuất phát từ chính tự nhiên để giải quyết các vấn đề của con
người.
Hướng tiếp cận được xây dựng chỉ mang tính chất hỗ trợ những hướng tiếp cận
sẵn có, đặc biệt là các kĩ thuật nhận dạng chính xác và nhận dạng tương đối đang được
sử dụng rộng rãi, từ đó góp phần nâng cao tính bảo mật của các hệ thống CNTT.
Đề tài được thực hiện vừa nhằm giải quyết bài toán phát hiện virus máy tính, vừa
mong muốn xây dựng một hướng tiếp cận tổng quát có thể áp dụng cho nhiều dạng bài
toán khác nhau, đặc biệt là các bài toán bảo mật ở quy mô lớn.
Gần đây, việc vận dụng các thành tựu của lĩnh vực khoa học tự nhiên vào giải
quyết các vấn đề tin học đã và đang đạt được những kết quả khả quan. Chúng ta đã có
mạng nơ-ron mô phỏng bộ não người [9], giải thuật di truyền mô phỏng thuyết tiến hoá
của Charles Darwin [10], mới nhất là các thuật giải mô phỏng cơ chế hoạt động của hệ
miễn dịch con người như giải thuật chọn lọc âm tính, giải thuật chọn lọc nhân bản
[2]…, các giải thuật dựa trên việc nghiên cứu hoạt động của các mô hình sinh học này
đã được sử dụng để giải quyết thành công nhiều bài toán như sắp lịch, tìm đường đi….
Đề tài được thực hiện nhằm sử dụng sức mạnh của các mô hình mô phỏng sinh
học trong việc bảo vệ thực thể máy tính khỏi các virus “nhân tạo”, từ đó đưa ra một
hướng tiếp cận mới, có khả năng phát hiện được virus máy tính, có khả năng kết hợp

15


Chương 1. Tổng quan

với các hướng tiếp cận, phương pháp sẵn có góp phần cải thiện sự an toàn, bảo mật của

người sử dụng máy tính.

1.6 Cấu trúc luận văn
Nội dung quyển báo cáo này bao gồm 6 chương.
Chương 1 trình bày tổng quan về đề tài như lý do chọn, mục đích, đối tượng
nghiên cứu, các nghiên cứu liên quan và ý nghĩa khoa học, thực tiễn của đề tài.
Chương 2 trình bày cơ sở lý thuyết bao gồm các tri thức mang tính giới thiệu về
virus máy tính, máy học, hệ miễn dịch nhân tạo, mạng nơ-ron nhân tạo.
Chương 3 trình bày về hướng tiếp cận được xây dựng trong đề tài, đầu tiên là đề
cập qua các hướng tiếp cận đã được xây dựng trước đây, hướng tiếp cận hiện tại và các
bài toán liên quan được đặt ra trong quá trình thực hiện đề tài.
Chương 4 giới thiệu quá trình cài đặt hướng tiếp cận.
Chương 5 đề cập đến quá trình thử nghiệm, kiểm tra tính hiệu quả của hướng tiếp
cận.
Chương 6 trình bày kết luận của đề tài.

16


Chương 2. Cơ sở lý thuyết

Chương 2. CƠ SỞ LÝ THUYẾT
2.1 Virus máy tính
2.1.1 Định nghĩa
Malware: Malware hay còn gọi là phần mềm độc hại, là một phần mềm được
chèn máy tính hay các hệ thống tin học nhằm gây ra các thiệt hại nào đó (tính bí mật,
tính toàn vẹn hoặc tính sẵn sàng)
Virus: Virus máy tính là một chương trình máy tính mà hai đặc trưng chính bao
gồm việc tự nhân bản và lây nhiễm chính nó trong hệ thống, từ đó gây ra các thiệt hại
theo chủ ý của người lập trình virus.

2.1.2 Lịch sử virus máy tính
 1983 - Nguyên lý của trò chơi “Core War” bị tiết lộ
Trong một cuộc so tài giữa hai chương trình máy tính tên là Core War, mỗi
chương trình tên là Organism có khả năng tự tái tạo chính nó và tìm cách tiêu diệt
Organism của đối phương. Chương trình nào với nhiều nhân bản hơn sẽ chiến thắng.
Sau đó, nguyên lý dựa trên trò chơi Core War này bị tiết lộ và dẫn đến sự ra đời của
virus máy tính.
 1986 – Sự ra đời của virus Brain
Brain là tên của virus máy tính đầu tiên trên thế giới, xuất phát từ Pakistan và lây
lan vào nước Mỹ với mục tiêu đầu tiên là trường Đại học Delaware.
 1987 – Virus Lehigh xuất hiện
Virus Lehigh xuất hiện và lây lan đầu tiên trong trường đại học Lehigh. Trong
cùng thời gian này, Virus dạng DOS Jerusalem xuất hiện đầu tiên tại Jerusalem tháng

17


Chương 2. Cơ sở lý thuyết

10/1987 đã chứng minh cho sự lây lan mạnh mẽ của virus máy tính với 500.000 bản
sao trong một giờ.
 1989 – AIDS Trojan xuất hiện
Mặc dù không được xem như một virus máy tính nhưng Trojan luôn là khái niệm
đi cùng với khái niệm virus. Năm 1989, Trojan đầu tiên xuất hiện mang tên AIDS. Các
Trojan được tạo ra với mục đích chính đánh cắp thông tin mật hay phá huỷ dữ liệu máy
tính.
 1991 –Tequila virus – Sự xuất hiện của virus đa hình
Sự xuất hiện của virus Tequila đánh dấu sự xuất hiện của loại virus đa hình. Bằng
việc thay đổi khối mã lệnh sau mỗi lần lây nhiễm, loại virus này khiến cho kiểu nhận
dạng virus dựa trên chuỗi đặc trưng – signature không còn tính hiệu quả.

2.1.3 Khả năng lây lan của virus máy tính
Virus máy tính được thiết kế để lây lan trong một hệ thống mạng thông qua nhiều
con đường khác nhau, thường do sự sơ xuất của người sử dụng nhưng đôi khi cũng do
chính từ các lỗ hổng trong các phần mềm, hệ điều hành khiến cho virus dễ dàng xâm
nhập lây nhiễm.
Trong thế giới mà sự tương tác giữa người với người phần lớn thông qua internet
thì email trở thành một số những phương tiện hỗ trợ sự lây nhiễm virus đắc lực nhất.
Từ một máy tính bị nhiễm virus, một loạt email giả mạo được tạo lập và gửi đi, thao
tác giả mạo này tiếp tục được thực hiện ở máy người nhận khiến cho quá trình lây lan
được gia tăng theo cấp số nhân. Người lập trình tìm cách thiết kế ra những virus có khả
năng thu thập thông tin về người sử dụng, từ đó tạo ra các email với nội dung “chân
thật”, đánh lừa lòng tin của người nhận.
Bên cạnh việc lây lan qua email, thì USB chính là một phương thức lây lan virus
trực tiếp do chính người sử dụng chủ động tác động. USB là một phương tiện trao đổi
18


Chương 2. Cơ sở lý thuyết

dữ liệu của phần lớn người dùng khi mà dung lượng của email có giới hạn. Khi một
máy tính bị nhiễm, các USB được gán vào máy tính này sẽ có nguy cơ bị lây nhiễm rất
cao, với mỗi USB đã chứa đoạn mã virus máy tính, sau khi được sử dụng cho các máy
tính mới sẽ khiến những máy này cũng gặp phải khả năng bị nhiễm.
Một tỉ lệ không nhỏ các máy tính bị xâm nhập do người sử dụng thiếu các kiến
thức bảo mật cần thiết khi thao tác trên môi trường internet. Khi truy cập vào các
website độc hại được nguỵ trang dưới dạng các trang web giải trí bắt mắt, các đoạn mã
độc được tải xuống mà người dung không hề hay biết, từ đó âm thầm lây nhiễm máy
tính của họ và bắt đầu quá trình lây nhiễm cho các máy tính trong cùng hệ thống mạng
hay thông qua email, USB…
Một lý do khách quan cũng là một con đường lây lan của virus máy tính khi

những kẻ xấu tìm cách khai tác chính những lỗi bảo mật trong phần mềm, hệ điều
hành. Một số lỗi tồn tại hàng năm trời trước khi có những bản vá để sửa chữa, và cho
đến lúc đó, mức thiệt hại do virus máy tính gây ra đã rất to lớn. Trong trường hợp này,
cho dù bản thân người sử dụng có cảnh giác đến mức nào cũng không tránh khỏi việc
bị lây nhiễm.
2.1.4 Một số kĩ thuật nhận dạng virus máy tính
Hai nguyên lí cơ bản thường được các chương trình diệt virus máy tính hiện nay
sử dụng đó là nguyên lí kiểm tra chính xác và nguyên lí kiểm tra tương đối.
2.1.4.1 Nhận dạng chính xác
Trong nguyên lý nhận dạng chính xác, việc nhận dạng một mẫu virus dựa trên
việc kiểm tra các mẫu virus đã có trong cơ sở dữ liệu. Khi một virus mới xuất hiện, các
chuyên gia an ninh mạng sẽ tiến hành thu thập và phân tích mã độc của virus, từ đó xây
dựng một chữ ký đặc trưng của riêng virus đó và lưu trữ vào cơ sở dữ liệu. Kế đó, một
thao tác cập nhật được tiến hành trên toàn hệ thống các máy trạm nhằm bảo vệ những
máy vốn chưa bị lây nhiễm. Đây là kĩ thuật nhận dạng virus chính hiện nay.
19


Chương 2. Cơ sở lý thuyết

Ưu điễm của kĩ thuật này là độ chính cao và ít nhầm lẫn từ đó cho ra kết quả diệt
virus tốt hơn. Tuy nhiên, khuyết điểm chính của kĩ thuật này là việc nhận dạng và phát
hiện virus được tiến hành sau khi virus đã xuất hiện và gây thiệt hại ở mức độ nào đó,
tức là thao tác lúc này chỉ mang tính chất chữa cháy chứ không thể ngăn chặn sự tấn
công của các virus hoàn toàn mới. Một khuyết điểm khác là khả năng nhận dạng các
virus đa hình rất yếu, và khi số lượng virus gia tăng, kéo theo sự gia tăng của cơ sở dữ
liệu chữ kí virus, gây ra sự cồng kềnh và tốn kém thời gian trong việc cập nhật và quét
virus.
Các kĩ thuật nhận dạng chính xác chính được sử dụng bao gồm:
Nhận dạng theo mã hash: Sử dụng các thuật toán MD5, SHA, CRC để tính toán

đoạn mã hash của một tập tin hay một phần thông tin quan trọng và dùng đó làm cơ sở
để phát hiện sự vi phạm toàn vẹn của tập tin.
Nhận dạng theo kĩ thuật quét chuỗi (scan string): Là kĩ thuật được sử dụng phổ
biến trong hầu hết các phần mềm diệt virus. Trong kĩ thuật này, một đoạn chương trình
virus được chọn làm đặc trưng cho virus đó, tuy nhiên, đoạn chương trình này phải
phân biệt hoàn toàn với tất cả các đoạn mã khác đã tồn tại trong cơ sở dữ liệu. Hai kĩ
thuật con của kiểu nhận dạng này là việc sử dụng các chuỗi có offset tĩnh hoàn toàn
hoặc một vị trí tương đối nào đó trong tập tin.
2.1.4.2 Các kĩ thuật nhận dạng tương đối.
Là tập hợp các kĩ thuật nhận dạng mang tính chất tương đối, thay vì xác định
chính xác loại virus và tên virus thì kiểu nhận dạng này tập trung vào việc xác định tính
chất virus của một chương trình, tập tin. Các kĩ thuật chính của kiểu nhận dạng tương
đối bao gồm:

20


Chương 2. Cơ sở lý thuyết

2.1.4.2.1 Kiểu nhận dạng Heuristic
Từ các quy luật được đúc kết thông qua quá trình nghiên cứu quy luật hình thành
của các mã lệnh, các chuyên gia tiến hành xây dựng các dấu hiệu thường thấy ở mã
độc. Kĩ thuật này cho phép nhận dạng ra những loại virus ngay cả khi chưa có mẫu
virus đó thâm chí khi virus đó còn chưa xuất hiện. Nhược điểm chính của kĩ thuật này
là phụ thuộc quá nhiều vào kinh nghiệm của chuyên gia, việc cập nhật đòi hỏi nhiều
thời gian dẫn đến việc nhận dạng nhầm không thể tránh khỏi.
2.1.4.2.2 Cơ chế nhận dạng theo hành vi
Cơ chế nhận dạng này được xây dựng theo kiểu thời gian thực, tức là việc theo
dõi quá trình hoạt động của các chương trình trong hệ thống để từ đó phát hiện ra
những hành vi nghi ngờ và có biện pháp ngăn chặn kịp thời hoặc tham khảo ý kiến của

người dử dụng. Tuy nhiên, không phải tất cả các chương trình đều bị theo dõi mà tập
trung vào các chương trình có sử dụng các chức năng hệ thống. Cơ chế nhận dạng này
cho phép nhận dạng các mẫu virus mới, tuy nhiên việc xây dựng cơ chế này không hể
đơn giản, làm giảm hiệu năng của hệ thống do sự tiêu tốn tài nguyên để duy trì cơ chế
thời gian thực cũng như chưa chặn đứng nguy cơ các mã độc tồn tại tĩnh trong hệ
thống chưa được khởi chạy.
2.1.4.2.3 Cơ chế mô phỏng máy thật.
Trong cơ chế này, một khu vực phần mềm được xây dựng mô tả lại các trạng thái
của hệ thống để đánh lừa các tập tin virus để chúng hoạt động trên môi trường ảo này
và loại ra các nguy cơ xuất hiện. Mặc dù có khả năng nhận dạng nhiều loại virus kể cả
dạng đa hình, nén tuy nhiên chi phí quá lớn khiến việc sử dụng trên máy tính cá nhân
không mang tính hiệu quả. Bên cạnh đó, nhiều kĩ thuật lập trình virus mới có thể phát
hiện ra môi trườn ảo là tiến hành bất hoạt các hành vi độc hại, đánh lừa hệ thống bảo
mật này.

21


×