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
Trang 1ĐẠ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
Trang 2ĐẠ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
Trang 3LỜ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
Trang 4Tô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
Trang 5MỤ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
Trang 62.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
Trang 73.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
Trang 8Chươ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
Trang 9DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
CNTT Công nghệ thông tin Công nghệ thông tin
ANN Artificial Neural
Network Mạng nơ-ron nhân tạo
GA Genetic Algorithm Giải thuật di truyền AIS Artificial Immune
System Hệ miễn dịch nhân tạo AiNet Artificial Immune
Network Mạng miễn dịch nhân tạo CLONALG Clonal Selection
Immune Network
Mạng miễn dịch nơ-ron nhân tạo
Clonal Algorithm
Thuật toán nhân bản phát hiện virus
Trang 10Bả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
Trang 11DANH 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
Trang 12Hì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
Trang 13MỞ ĐẦ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
Trang 14Sự 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,
Trang 15biế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
Trang 16phé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 -
Trang 17ANN), 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
Trang 18sử 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 Afanehand 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
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
Trang 19dạ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
Trang 20ngườ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
Trang 21Chươ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
Trang 2210/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
Trang 23dữ 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
Trang 24Ư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:
Trang 252.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
Trang 262.2 Hệ miễn dịch nhân tạo
2.2.1 Hệ miễn dịch sinh học
Hệ miễn dịch sinh học là một hệ thống thích nghi có khả năng tự nhận dạng và tự
tổ chức, bao gồm nhiều bộ phận phân tán trong cơ thể nhằm giúp cho cơ thể chống lại những lây nhiễm của các vi sinh vật bên ngoài Nó bao gồm một kiến trúc phân tầng với cơ chế tự điều chỉnh và bảo vệ rộng khắp, với hai tầng bảo vệ chính là: hệ thống miễn dịch bẩm sinh và hệ thống miễn dịch thích nghi
Chức năng của hệ miễn dịch sinh học là nhận dạng tế bào và phân chia chúng thành hai nhóm khác nhau: self (những tế bào của cơ thể tạo ra) và non-self (những tế bào lạ), đồng thời loại bỏ các tế bào thuộc loại non-self Hệ miễn dịch bẩm sinh chủ yếu dựa vào bạch cầu hạt và đại thực bào, còn hệ miễn dịch thích nghi dựa vào tế bào lymphô (lymphocyte) Các tế bào lymphô được chia làm hai loại là Bcell và T-cell, chúng có khả năng ghi nhớ, thích nghi, và mang những phần tử thụ cảm trên bề mặt có khả năng nhận diện kháng nguyên (antigen) Vai trò chính của B-cell là sản sinh ra các kháng thể (antibody) tương ứng với các tác nhân gây bệnh, còn chức năng chính của T-cell là điều chỉnh các tế bào khác và tấn công trực tiếp các tế bào gây ra sự lây nhiễm trong cơ thể Khi có kháng nguyên xâm nhập vào cơ thể, các cơ quan thụ cảm trên bề mặt của lymphô bào được kích hoạt và thực hiện quá trình nhân rộng, đột biến và tạo ra những kháng thể thích hợp có khả năng nhận diện cũng như loại bỏ kháng nguyên Một
số lymphô bào sẽ trở thành tế bào ghi nhớ và lưu thông trong cơ thể, sau đó, nếu có loại kháng nguyên tương tự lây nhiễm thì hệ miễn dịch thích nghi có thể nhanh chóng phát hiện và loại bỏ chúng Khả năng "tự hoàn thiện" này của hệ miễn dịch giúp cơ thể không mắc lại những bệnh cũ Hệ miễn dịch sinh học bao gồm hơn 107 mạng miễn dịch con (immune sub-network) với các nguyên tắc hoạt động rất phức tạp Nó thực sự
là một hệ thống hoạt động tin cậy, thống nhất, có khả năng tính toán song song và phân tán Xét theo quan điểm của khoa học máy tính, thì việc xây dựng hệ thống tính toán
mô phỏng hệ thống miễn dịch sinh học có rất nhiều ý nghĩa thực tiễn
Trang 272.2.2 Cấu trúc cơ bản
AIS có cấu trúc phân tầng, điều này đảm bảo các yếu tố cơ bản của một hệ thống mô phỏng sinh học:
- Biểu diễn các thành phần của hệ thống
- Cơ chế đánh giá tương tác của các cá thể với môi trường và các cá thể với nhau Môi trường thường mô phỏng bởi một tập kích thích vào, một hoặc nhiều hàm đo độ thích nghi của cá thể với môi trường
- Các thủ tục thích nghi điều khiển tính động của hệ thống, tức là làm cho hoạt động của hệ thống thay đổi theo thời gian
Hình 2.1 Cấu trúc phân tầng của AIS Tầng đầu tiên là lĩnh vực ứng dụng Tầng này có vai trò quyết định thành phần hệ thống, cách biểu diễn và thao tác trên các thành phần Với lĩnh vực ứng dụng khác nhau thì các thành phần này cũng khác nhau
Tầng thứ hai là biểu diễn tương ứng trong AIS AIS cần phải biểu diễn được hai thành phần quan trọng: kháng thể và kháng nguyên Bên cạnh đó là các thành phần khác nếu có yêu cầu từ các tầng khác trong hệ thống
Trang 28Tầng thứ ba là các phương pháp đánh giá độ thích hợp Tùy thuộc vào bài toán, cách biểu diễn các thành phần có thể sử dụng nhiều phương pháp khác nhau như khoảng cách Hamming, khoảng cách Euclid, hoặc khoảng cách Mahattan
Tầng thứ tư là các thuật toán miễn dịch Có thể sử dụng một hoặc kết hợp nhiều thuật toán như chọn lọc tích cực, chọn lọc tiêu cực, chọn lọc Clonal, thuật toán aiNet,
để điều chỉnh tính động của hệ AIS
Tầng thứ năm là lời giải cho bài toán Lời giải của bài toán sẽ được cập nhật lại sau khi một quần thể mới được tạo ra và đưa ra kết quả cuối cùng khi đạt đến điều kiện kết thúc nào đó, chẳng hạn như sau một số lần lặp nhất định
2.2.3 Một số thuật toán trong hệ miễn dịch nhân tạo
AIS có nhiều thuật toán phỏng theo cơ chế của hệ miễn dịch sinh học bao gồm: chọn lọc âm tính (Negative Selection), chọn lọc nhân bản (Clonal Selection) và mạng miễn dịch (aiNet)
2.2.3.1 Giải thuật chọn lọc âm tính
Trong hệ miễn dịch sinh học, tế bào lympho T trưởng thành trong tuyến ức, trải qua một quá trình chọn lọc gọi là chọn lọc tiêu cực Trong phép chọn này, các tế bào lympho T mà nhận dạng các tế bào của cơ thể sẽ bị tiêu diệt Sau khi chọn lọc, các lympho T không nhận dạng các tế bào của cơ thể được phóng thích và cung cấp khả năng bảo vệ cơ thể chống lại các kháng nguyên Cơ chế này trong hệ miễn dịch rất mạnh vì sự phân loại tự nhiên và hiệu quả cao của nó
Các bước chính của thuật toán chọn lọc âm tính NSA (Negative Selection Algorithm):
Bước 1 Khởi tạo: Sản sinh một quần thể tiềm năng P những T-cell chưa trưởng thành Giả thiết tất cả các phần tử (các cơ quan thụ cảm và các
selfpeptide) được biểu diễn bằng một chuỗi nhị phân L bit
Trang 29 Bước 2 Đánh giá độ thích hợp: Xác định độ thích hợp của tất cả T-cell trong
P với mọi phần tử của tập self-set S
Bước 3 Tạo một quần thể có giá trị: Nếu độ thích hợp của một T-cell chưa trưởng thành với ít nhất một phần tử self-peptide lớn hơn hoặc bằng một ngưỡng tương tác chéo nào đó, thì T-cell nhận diện được self-peptide này và
bị loại bỏ, trái lại T-cell được bổ sung vào quần thể có giá trị A
Mô hình thuật toán:
Hình 2.2 Mô hình thuật toán chọn lọc âm tính
2.2.3.2 Chọn lọc nhân bản
Thuật toán chọn lọc nhân bản CLONALG (Clonal Selection Algorithm) được sử dụng trong AIS để xác định các đặc điểm cơ bản của một đáp ứng miễn dịch đối với một kháng nguyên Trong thuật toán này, chỉ các kháng thể nhận diện được kháng nguyên mới được chọn để sinh trưởng Các kháng thể được chọn trải qua một quá trình thành thục ái lực để củng cố ái lực của chúng đối với các kháng nguyên
Giải thuâ ̣t cho ̣n lo ̣c nhân bản được phát triên dựa trên lý thuyết cho ̣n lo ̣c nhân bản được đưa ra gần 50 năm trước Các nhân tố miễn di ̣ch chính được sử du ̣ng trong giải thuật này là:
Sự duy trì tâ ̣p nhớ cu ̣ thể
Sự cho ̣n lo ̣c và nhân bản phần lớn các kháng thể được kích thích
Trang 30 Sự đào thải các kháng thể mang tính kích thích yếu hoă ̣c không được kích thích.
Sự trưởng thành ái lực (siêu đô ̣t biến) của các tế bào miễn di ̣ch đã được kích hoa ̣t
Phát sinh và duy trì tâ ̣p kháng thể đa dạng
Giải thuâ ̣t cho ̣n lo ̣c nhân bản (De Castro và Von ZUben, 2000) [11], rất giống với
mô ̣t loa ̣i giải thuâ ̣t tiến hóa mang tên chiến lược tiến hóa (Beyer và Schwefel 2002) [10] mặc dù chúng bắt nguồn từ hai quá trình sinh ho ̣c khác nhau Các giải thuâ ̣t cho ̣n
lo ̣c nhân bản cũng là da ̣ng tìm kiếm trên quần thể và các thuâ ̣t toán tối ưu sản sinh ra
mô ̣t vùng nhớ các kháng thể phù hợp để giải quyết một vấn đề cụ thể nào đó
Trong các giải thuâ ̣t cho ̣n lo ̣c nhân bản, mỗi kháng thể và kháng nguyên được biểu diễn bởi 1 tâ ̣p các thuô ̣c tính {x1, x2 xn} Theo đó, các kháng thể và kháng nguyên có thể được biểu diễn như các điểm n chiều trong không gian (không gian Euclidean chẳng ha ̣n) hoă ̣c sử du ̣ng mã hóa nhi ̣ phân các thuô ̣c tính; bên ca ̣nh đó, các
da ̣ng biểu diễn khác cũng được sử du ̣ng
Ái lực kháng nguyên của mỗi kháng thể được đă ̣c trưng bởi giá trị đo, thường là khoảng cách Euclidean Mô ̣t số toán tử được xác đi ̣nh để gây ra sự biến đổi gen trên kháng thể dựa trên ái lực kháng nguyên của chúng Đầu tiên, mô ̣t phép nhân bản được xác đi ̣nh để ta ̣o ra mô ̣t bản sao chính xác của những kháng thể có ái lực kháng nguyên cao; ái lực này càng cao, số lượng bản sao càng lớn Khi đó, mô ̣t vài biến đổi gen được áp du ̣ng lên các kháng thể này (thông qua phép đô ̣t biến) để chúng có khả năng gắn khớp với kháng nguyên tốt hơn
Mă ̣c dù mô ̣t vài biến thể của giải thuâ ̣t cho ̣n lo ̣c nhân bản đã được giới thiê ̣u, song phần lớn chúng đều có chung những đă ̣c điểm như giải thuâ ̣t gốc
Trong suốt quá trình trưởng thành ái lực, khi những kháng thể đã biến đổi gen được thêm vào quần thể hiê ̣n ta ̣i để tái cho ̣n lo ̣c cá thể tốt nhất và giữ những cá thể tốt
Trang 31nhất này làm vùng nhớ của kháng nguyên thực ta ̣i, ta cần tính các ái lực giữa các kháng thể mới hướng đến kháng nguyên; toàn bô ̣ tâ ̣p kháng thể cần được xếp ha ̣ng, tiếp theo sau đó là một quá trình cho ̣n lo ̣c
Hình 2.3 Sơ đồ giải thuật chọn lọc nhân bản Thuâ ̣t toán cho ̣n lo ̣c nhân bản:
1 Khởi ta ̣o: Ta ̣o mô ̣t quần thể ngẫu nhiên các kháng thể P
2 Trình diện kháng nguyên
For each kha ́ng nguyên do
2.1 Ước lượng ái lực
Trang 32Trình diê ̣n kháng nguyên hiê ̣n ta ̣i cho kháng thể hiê ̣n ta ̣i quần thể P
Tính ái lực giữa kháng thể hướng đến kháng nguyên hiê ̣n ta ̣i
2.2 Chọn lo ̣c và mở rô ̣ng nhân bản
Cho ̣n ra 1 nhóm các kháng thể trong P có ái lực cao nhất
Phát sinh các bản sao chính xác của các kháng thể này dựa theo ái lực của chúng, ái lực càng cao, càng nhiều bản sao
2.3 Trưở ng thành ái lực: Biến đổi tất cả các bản sao với tỉ lê ̣ nghi ̣ch với ái lực của chúng Thêm các kháng thể biến đổi này vào P, tái cho ̣n
lo ̣c cá thể tốt nhất và giữ chúng thành vùng nhớ của kháng nguyên này 2.4 Siêu động lực: Thay kháng thể có ái lực nhỏ nhất bởi kháng thể được phát sinh ngẫu nhiên
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 Đặc trưng Giải thật di truyền Giải thuật CLONALG
Đột biến Giao chéo
Siêu đột biến Chọn lọc
Trang 33Ở bảng trên, giải thuâ ̣t cho ̣n lo ̣c nhân bản được so sánh với giải thuâ ̣t tiến hóa cơ bản Cần chú ý rằng, những điểm khác biê ̣t nằm chủ yếu ở kĩ thuâ ̣t được sử du ̣ng Trong các thuâ ̣t toán cho ̣n lo ̣c nhân bản, cơ chế để cho ̣n kháng thể phù hợp dựa trên ái lực với kháng nguyên Theo đó, các cơ chế cho ̣n lo ̣c truyền thống được sử du ̣ng trong tính toán tiến hóa, ví như cho ̣n lo ̣c cân bằng hoă ̣c cho ̣n lo ̣c ca ̣nh tranh sẽ dễ dàng áp
du ̣ng trong các giải thuâ ̣t cho ̣n lo ̣c nhân bản Trong thuâ ̣t toán tiến hóa, xác suất để mô ̣t cá thể được cho ̣n được xác đi ̣nh dựa trên đô ̣ phù hợp của nó, và tương ứng với ái lực giữa kháng thể, kháng nguyên trong chọn lọc nhân bản
Mô ̣t vài phiên bản của các giải thuâ ̣t cho ̣n lo ̣c nhân bản được đề ra bởi Castro và Von Zuben (2000) và de Castro (2003) và được sử du ̣ng để nhâ ̣n da ̣ng mẫu và viê ̣c tối
ưu hàm đa mô hình, được mô tả như sau:
5. Cj trải qua quá trình trưởng thành ái lực, biến đổi các kháng thể tỉ lê ̣ nghi ̣ch với ái lực kháng nguyên của chúng để ta ̣o ra quần thể các bản sao trưởng thành theo nguyên tắc ái lực càng cao, biến đổi càng ít
Trang 346. Xác đi ̣nh ái lực fj* của các bản sao trưởng thành Cj* ứng với kháng nguyên Agj
7. Tái cho ̣n lo ̣c cá thể có ái lực cao nhất (trong tâ ̣p Cj*) ứng với kháng nguyên Agj để trở thành phần tử của tâ ̣p kháng thể ghi nhớ (Ab{m}) Nếu ái lực hướng kháng nguyên Agj của kháng thể này lớn hơn kháng thể ghi nhớ tương ứng Ab, Abj* sẽ thay thế Ab
8. Cuối cùng, thay những kháng nguyên có ái lực nhỏ nhất trong tâ ̣p Abj{r} bởi những cá thể mới
Có các phiên bản khác của giải thuâ ̣t cho ̣n lo ̣c nhân bản, phiên bản áp du ̣ng để nhâ ̣n da ̣ng mẫu đòi hỏi mô ̣t tâ ̣p các mẫu cần nhâ ̣n da ̣ng như đầu vào, trong khi các phiên bản cho viê ̣c tối ưu cần mô ̣t hàm đối tượng để tối ưu
2.2.3.3 Mạng miễn dịch nhân tạo
Mạng miễn dịch nhân tạo (Artificial Immune System -AiNet) là một trong các mô hình tính toán của AIS đang được quan tâm trong những năm gần đây Mô hình Ainet được lấy cảm hứng từ lý thuyết mạng miễn dịch lần đầu được đề ra bởi Jerne năm 1974 [12] Mô hình này được phát triển dựa trên các ý tưởng và khái niệm của 3 lý thuyết:
Lý thuyết mạng miễn dịch, chọn lọc nhân bản và trưởng thành ái lực Trong đó, vai trò của mạng miễn dịch nhân tạo nhằm thực hiện việc nén dữ liệu sau khi đã trải qua các quá trình chọn lọc nhân bản và trưởng thành ái lực Mô hình aiNet cấu thành từ một nhóm các tế bào, còn được gọi là kháng thể, lien kết với nhau bởi các kết nối có cường
độ phù hợp Các kháng thể đại diễn cho hình ảnh nội mạng của các mẫu đầu vào mà chúng tiếp xúc Các kết nối giữa các kháng thể xác định sự tương quan với một mức
độ tương tự lẫn nhau giữa chúng Các kháng thể càng gần nhau càng tương tự, điều này dẫn đến một mạng lưới các kháng thể có thể nhận dạng các kháng nguyên với tính tổng quát linh động điều chỉnh
Trang 35AiNet có thể được xem như một mô hình mạng miễn dịch nhân tạo tiến hoá, bởi
vì các chiến lược tiến hoá dựa trên các biển đổi và chọn lọc di truyền bên trong một quần thể các kháng thể được sử dụng để điều khiển tính linh động và mềm dẻo của mạng Nhiều nghiên cứu cho thấy aiNet có khả năng phát hiện các giải pháp tối ưu Ainet cũng là một hệ thống kết nối, ma trận các cường độ kết nối được xác định để xác định ái lực giữa các tế bào trong mạng Giải thuật huấn luyện mạng hướng đến việc xây dựng một tập nhớ có thể nhận biết tổ chức cấu trúc của dữ liệu huấn luyện
Mặt khác, ta có thể xem AiNet như là một phiên bản nâng cao hơn của mô hình chọn lọc nhân bản Ở đây, không chỉ sự tương tác giữa kháng thể và kháng nguyên được xem xét mà them bào đó, sự tương tác giữa các kháng thể với nhau cũng được quan tâm, để xây dựng nên một mạng các khảng thể, loại bỏ các kháng thể dư thừa nhằm nâng cao tính tổng quát của cả hệ thống
2.2.4 Các lĩnh vực ứng dụng AIS
2.2.4.1 Điều khiển
Hiện nay, trong các hệ thống điều khiển, đặc biệt là các hệ thống tự động hoá hỗ trợ cho con người như việc tự động lái xe, điều khiển máy bay tự động, dây chuyền sản xuất tự động, AIS được sử dụng rộng rãi, kết hợp với các mô hình tin-sinh học khác như giải thuật di truyền, mạng nơ-ron nhân tạo để xây dựng nên các hệ thống có khả năng học được những thao tác phức tạp trong quá trình điều khiển
Trang 36các bộ phát hiện có khả năng nhận dạng ra các yếu độ xâm nhập độc hại chính là các kháng nguyên
2.2.4.3 Tối ưu hóa
Nhiều mô hình của hệ miễn dịch nhân tạo được vận dụng vào giải quyết bài toán tìm lời giải toán ưu cho các vấn đề không thể giải được theo các thông thường Việc vận dụng cơ chế tiến hoá quần thể của giải thuật di truyền vào trong các mô hình hễ miễn dịch nhân tạo cũng như việc kết hợp mạng nơ-ron nhân tạo giúp xây dựng nên các mô hình học có khả năng tăng cương tính hội tụ của thuật toán, sự đa dạng của quần thể các giải pháp,…
2.2.4.4 Khai phá dữ liệu
Trong lĩnh vực khai phá dữ liệu, nhờ khả năng phân nhỏ dữ liệu để học và phát sinh nên tập các kháng thể cũng như tính tổng quát cáo của các lời giải được phát sinh, AIS được áp dụng rộng rãi, cụ thể như phân lớp DNA sinh học, phân tích dữ liệu y học, thương mại, chuẩn đoán cấu trúc protein
2.3 Mạng nơ-ron nhân tạo
Trong các mô hình máy học mô phỏng sinh học, mạng nơ-ron nhân tạo là mô hình được sử dụng rộng rãi nhất Về bản chất, mạng nơ-ron nhân tạo là một mạng lưới
xử lý thông tin được phát triển dựa trên cơ chế hoạt động của hệ thần kinh con người
và động vật Những đặc tính quan trọng nhất của mạng thần kinh sinh học được mô phỏng trong mạng nơ-ron sinh học bao gồm khả năng học kinh nghiệm thông qua huấn luyện, khả năng lưu trữ thông tin và sử dụng thông tin này để dự đoán các dữ liệu chưa biết
Trang 372.3.1 Cấu trúc cơ bản của mạng nơ-ron nhân tạo
2.3.1.1 Cấu trúc của một nơ-ron nhân tạo
Mạng nơ-ron nhân tạo là một mạng lưới các đơn vị xử lý cơ bản được kết nối lẫn nhau Mỗi đơn vị xử lý này có khả năng thực hiện một chức năng tính toán độc lập
và được gọi là một nơ-ron
Hình 2.4 Cấu tạo nơ-ron nhân tạo Một nơ-ron bao gồm 3 thành phần chính, đầu tiên là một tập các đầu vào, mỗi liên kết vào này có một giá trị trọng số quy định tầm quan trọng của chúng Mộ hàm tổng hợp được dung để tính toán giá trị đầu vào, thương được dùng ở dạng tuyến tính
Và một hàm kích hoạt có chức năng biến đổi kết quả đầu vào thành một dạng đầu ra
Trang 382.3.1.2 Cấu trúc của mạng nơ-ron
Hình 2.5 Cấu trúc mạng nơ-ron đa lớp Một ANN thường có cấu trúc phân lớp, với 3 thành phần chính là lớp input, lớp output và tập các lớp ẩn
Lớp Input có nhiệm vụ chính là nhận các dữ liệu đầu vào và truyền dữ liệu vào các phân lớp nơ-ron phía trong Lớp Output bao gồm các nơ-ron đảm nhiệm chức năng
xử lý đầu ra cuối cùng của cả mạng Lớp ẩn có thể bao gồm từ một hai nhiều lớp khác nhau, mỗi lớp nhận dữ liệu từ các lớp trước đó, xử lý, và truyền tải lại kết quả đầu ra cho các nơ-ron phía sau
Trang 392.3.2 Một số loại mạng nơ-ron nhân tạo
2.3.2.1 Mạng dẫn tiến
Trong mạng dẫn tiến liên kết giữa các nơ-ron không tồn tại một chu trình Tín hiệu đi một chiều từ các nơ-ron lớp vào lần lượt qua các lớp ẩn và cuối cùng đi ra ở nơ-ron lớp ra Kiến trúc này đáp ứng nhanh và ổn định đối với một tín hiệu đưa vào mạng Liên kết giữa các lớp có thể là loại liên kết đầy đủ (fully connected) hoặc liên kết một phần (partly connected)
Giải thuật học của mạng dẫn tiến là giải thuật lan truyền ngược
Hình 2.6 Mạng dẫn tiến Trong các kiểu mạng đã tìm hiểu, kiểu mạng dẫn tiến rất phù hợp với mục tiêu nghiên cứu của học viên Đây là kiểu mạng được trình bày và sử dụng xuyên suốt báo cáo
2.3.2.2 Mạng hồi quy Hopfield
Trong mạng hồi quy Hopfield, bên cạnh các kết nối tương tự như trong kiểu mạng dẫn tiến, các kết nối ngược được xây dựng để định hướng dòng dữ liệu đầu ra trở lại đầu vào, để xây dựng khả năng ghi nhớ của mạng nơ-ron
Trang 40Hình 2.7 Mạng hồi quy
2.3.2.3 Mạng cạnh tranh
Mô hình mạng cạnh tranh thuộc kiểu học không giám sát, xây dựng nên các nút mạng có khả năng cạnh tranh với nhau để giành quyền phản hồi Kiểu mạng này có thuộc tính khác với dạng lan truyền ngược, ở đây, sự kiểm soát của người dùng được hạn chế mà thay vào đó, mạng no-rơn sẽ tiến hành cạnh tranh trong mạng và tự quyết định mẫu đầu vào nào sẽ được học Kết quả của quá trình này là khả năng nhận dạng các một mẫu nào đó tồn tại trong dữ liệu thích hợp cho việc xác định các mẫu trong thị trường tiền tệ và giao dịch chứng khoán
2.3.2.4 Mạng nơ-ron hàm radial
Trong môi hình này, các hàm kích hoạt được sử dụng là loại hàm dạn radial, tức
là kết quả xuất ra phụ thuộc vào khoảng cách đến một điểm nào đó Dữ liệu nhập qua các hàm radial, tính toán các thông số, các giá trị này được tổ hợp tuyến tính và trả về đầu ra của mạng