Dự báo virus lạ bằng kỹ thuật hợp nhất dữ liệ u

Một phần của tài liệu 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 (Trang 105)

Nếu số tập hành vi biến dạng của x so với v là đủ nhỏ, bài toán suy luận khả năng x là biến thể của virus vđược phát biểu như sau:

Rx : a1 ^ a2 ^… ^ (au← NULL) ^…^ anqx

trong đó: aiđặc trưng cho trị thuộc tính thứi của virus v

auđặc trưng cho hành vi biến dạng của virus v (đểv biến dạng thành x) Kỹ thuật khôi phục trị thuộc tính dựa vào hợp nhất dữ liệu DF2RV (Data Fusion to Recall Values) gồm ba thao tác:

1. Hóa NULL (toNULL): tạo bản sao dữ liệu trước khi xóa rỗng (au ← NULL)

các trị thuộc tính bất thường (au) của mẫu chẩn đoán. Mục tiêu của bước này nhằm cô lập các đặc tính mới của biến thể dưới dạng mẫu dữ liệu chứa các NULL ‘ảo’ (virtual NULL).

2. Giải NULL (deNULL): hợp nhất dữ liệu từ CSDL để tìm các trị thuộc tính khả dĩ gần với giá trị ban đầu nhất của au. Mục tiêu của bước này nhằm xác

định virus có đặc tính gần giống với đối tượng nhất.

3. Rõ NULL (fixNULL): phục hồi các giá trị NULL về nguyên trạng, bổ sung mẫu mới vào CSDL, làm cơ sở nhận dạng tiếp các biến thể của biến thể virus trong tương lai.

Để minh họa, xét CSDL S chứa họ virus Family.x.vir như trong bảng 4.4.

Bảng 4.4:CSDL chứa 9 thành viên họ virus Family.x.vir

stt Tên virus a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 1 Family.a.vir 15 28 03 101 32 27 65 37 81 61 2 Family.b.vir 15 28 03 101 35 27 65 37 85 61 3 Family.c.vir 15 28 03 101 30 27 65 37 90 61 4 Family.d.vir 15 28 03 101 34 27 65 37 84 61 5 Family.e.vir 15 28 03 101 33 27 65 37 83 61 6 Family.f.vir 15 28 03 101 38 27 65 37 90 61 7 Family.g.vir 15 28 03 101 30 27 65 37 88 61 8 Family.h.vir 15 28 03 101 29 27 65 37 87 61 9 Family.i.vir 15 28 03 101 31 27 65 37 92 61

Đối tượng chẩn đoán ObjectX có tập trị thuộc tính như trong hình 4.16a. Nếu áp dụng các phép truy vấn thông thường trên S, sẽ không tìm thấy mẫu virus nào khớp luật (4.1), vì vậy ObjectX được kết luận an toàn. Tuy nhiên khi áp dụng DF2RV, kết quả sẽ khác. Các bước thực hiện được minh họa như sau:

Hóa NULL:

- Xác định số trị thuộc tính khác biệt (trong ví dụ này, m=2 ứng với các trị thuộc tính a4a8)

ƒ Nếu m = 0, có sự tương đồng mã độc (wRate = 1): kết luận ObjectX là biến thể virus. Thoát sớm.

ƒ Nếu m >0, thực hiện các bước tiếp theo.

- Xác định tỷ lệđồng dạng dữ liệu µ = 1- (m/n) = 1- (2/10) = 0.8.

ƒ Nếu µ < λ, ngưng thuật giải (λ là hằng số ngưỡng an toàn).

ƒ Nếu µ ≥λ , thực hiện các bước tiếp theo (giả sử cho λ = 0.78).

- Lưu lại và xóa rỗng hai trị thuộc tính sai biệt 39 (cột a4) và 91 (cột a8) của

ObjectX (hình 4.16b).

• Giải NULL: tìm trong cột a4a8 các giá trị gần với 39 và 91 nhất:

- Ở cột a4, tập khoảng cách d(xi, x)|a4={7, 4, 9, 5, 6, 1, 9, 10, 8}. Giá trị chọn là 38 có d =1 (nhỏ nhất), ứng với mẫu thử thứ 6 trong CSDL.

- Ở cột a8, tập khoảng cách d(xi, x)|a8={10, 6, 1, 7, 8, 1, 3, 4, 1}. Có hai giá trị được chọn là 90 và 92 (d=1) ứng với các mẫu thứ ba, thứ sáu và thứ chín trong CSDL. Loại mẫu thứ ba và mẫu thứ chín vì d(3, x)|a4 > d(6, x)|a4

d(9, x)|a4 > d(6, x)|a4 (Bảng 4.5).

- Dựa vào kết quả hợp nhất, dựng mẫu ứng viên ObjectV (Hình 4.16c). - Vận dụng luật suy diễn (4.1) truy vấn dữ liệu của mẫu mới tạo trên S. Kết

quả nhận được ObjectV là biến thể gần nhất của virus Family.f.vir (mẫu virus thứ sáu trong CSDL).

Rõ NULL: phục hồi các NULL ảo về giá trị ban đầu (39 và 91), cập nhật

ObjectX vào CSDL virus (Hình 4.16d), tăng trưởng CSTT, chuyển bài toán sang các bước tiếp theo (xem lưu đồ xử lý ở hình 4.11) [64].

- 88 -

Các thuộc tính của đối tượng chẩn đoán a0 a1 a2 a3 a4 a5 a6 a7 a8 a9

a. ObjectX trước khi hóa NULL 15 28 03 101 39 27 65 37 91 61

b.ObjectX sau khi hóa NULL 15 28 03 101 ? 27 65 37 ? 61

c. ObjectX, sau khi giải NULL 15 28 03 101 38 27 65 37 90 61

d. ObjectX, sau khi rõ NULL 15 28 03 101 39 27 65 37 91 61

Hình 4.16: Đối tượng chẩn đoán ObjectX qua các giai đoạn của DF2RV

Bảng 4.5:Kết quả hợp nhất dữ liệu trên CSDL virus stt Tên virus a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 1 Family.a.vir 15 28 03 101 32 27 65 37 81 61 2 Family.b.vir 15 28 03 101 35 27 65 37 85 61 3 Family.c.vir 15 28 03 101 30 27 65 37 90 61 4 Family.d.vir 15 28 03 101 34 27 65 37 84 61 5 Family.e.vir 15 28 03 101 33 27 65 37 83 61 6 Family.f.vir 15 28 03 101 38 27 65 37 90 61 7 Family.g.vir 15 28 03 101 30 27 65 37 88 61 8 Family.h.vir 15 28 03 101 29 27 65 37 87 61 9 Family.i.vir 15 28 03 101 31 27 65 37 92 61

Nearest neighbor 38 Nearest neighbor 90

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

Nhận dạng biến thể virus hướng hợp nhất DF2RVđược áp dụng trong trường hợp luật phân bố trị thuộc tính của điểm chẩn đoán không khớp với các luật phân nhóm virus từ giai đoạn học. Để đánh giá DF2RV, CSDL SA (trong mô hình không gian vectơ ở Chương 3) được sử dụng để thử nghiệm trên bộ dữ liệu 1000 virus của

Kaspersky Lab. Các virus này được chọn ngẫu nhiên để thông tin về các virus của CSDL SA không hoàn toàn có mặt đầy đủ trong bộ dữ liệu virus này. Kết quả thực nghiệm thu được trong bảng 4.6.

Bảng 4.6:Kết quả nhận dạng virus của các anti-virus thử nghiệm

Anti-virus SignaturesVirus Version Engine Cảnh báo Phát hiện Bỏ sót Dự báo dTựỷ báo lệ

Norton Anti-virus 72,020 9.05.15 907 889 93 18 16.22% Virus Scan N/A 4.0.4682 906 877 94 29 23.57% Bit Defender v.8 253,993 7.05450 959 925 41 34 45.33%

MAV 890 N/A 957 483 43 474 91.68%

Biểu đồở hình 4.17 so sánh kết quả của các AV trên cùng tập mẫu. MAV và

Bit Defender [73] cảnh báo 957 và 959 virus, tốt hơn Symantec [89] và McAfee [80] (907 và 906 virus). Các chỉ số thực nghiệm của MAV cho thấy:

- Độ dự báo Proactive detection = 474/(1000 - 483) = 91.68 % - Độ tin cậy Reliability = 957/1000 = 95.7 %

Khi giảm λ, MAV dự báo virus tốt hơn nhưng cũng gia tăng rủi ro phát hiện nhầm (Bảng 4.7). Khi λ= 90%, tỷ lệ này là 95,74% [7]. Kết quả thực nghiệm cho thấy với CSDL khiêm tốn, MAV vẫn có thể phát hiện số virus tương đương với các AV có số virus cập nhật nhiều hơn với tỷ lệ dự báo trên 91%. Ngoài ra người dùng MAV có thểđiều chỉnh hệ sốλ thích hợp đểđạt hiệu quả dự báo tốt hơn. 0 200 400 600 800 1000 1200

NAV Scan BitDef MAV

V ir u s sam p les

Warnings Detections Proactions Omissions

- 90 -

Bảng 4.7: Kết quả dự báo virus của MAV khi thay đổi λ

λ (%) Dự báo Tỷ lệ dự báo (%) Nhầm Tỷ lệ nhầm (%) 100 474 91.68 0 0 98 476 92.07 0 0 96 480 92.84 0 0 95 482 93.23 0 0 93 488 94.39 0 0 90 495 95.74 0 0 89 495 95.74 1 0.003 87 496 95.94 2 0.006 84 496 95.94 6 0.017 81 496 95.94 9 0.025 79 497 96.13 10 0.028 75 497 96.13 13 0.036 4.4.2.6. Bàn luận về kỹ thuật DF2RV

Nhận định bản chất của quá trình chẩn đoán virus hướng tiếp cận chuỗi mã là bài toán truy vấn dữ liệu chắc chắn và đầy đủ; quan niệm biến thể virus máy tính là đối tượng mang thông tin chưa chắc chắn và không đầy đủ, MAV đề xuất phương án DF2RV khôi phục (recall) dữ liệu virus sử dụng kỹ thuật hợp nhất dữ liệu qua ba bước NULL hóa dữ liệu, giải mã NULL và làm rõ dữ liệu NULL, nhằm tái tạo các trị thuộc tính chưa được nhận dạng của biến thể virus vào thư viện virus mẫu.

Quan niệm mã virus là dữ liệu chuỗi byte (từ máy 8 bit), độ tương quan dữ liệu giữa các ô được xử lý bằng độ lệch giữa các từ sử dụng trong mẫu, DF2RV thay thế giá trị NULL trong không gian quan sát bằng các giá trị lân cận gần nhất. Hợp nhất dữ liệu là kỹ thuật đơn giản, tựđộng và độc lập dữ liệu do nguồn hợp nhất được lấy ngay trên CSDL.

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

MAV được cài đặt trên mạng cục bộ mô hình client-server hoặc workgroup, gồm gói máy chủ chạy Windows Server 2003 và gói máy trạm sử dụng Windows XP Professional (xem Phụ lục 4). Hoạt động cơ bản của hệđược mô tả như sau:

- Phân hệ máy chủ MAVSR (MAV Server) được thiết kế cho giai đoạn Học dữ liệu (xem Phụ lục 5). MAVSR có nhiệm vụ thu nhận tri thức chuyên gia, phân cụm dữ liệu và rút luật phân bố dữ liệu.

- Phân hệ máy khách MAVCL (MAV Client) quét virus bằng các thuật toán học trong giai đoạn Xử lý. Nếu phát hiện virus cũ, MAVCL tiêu diệt ngay. Nếu nghi ngờ virus mới, MAVCL sẽ cách ly và gửi mẫu về máy chủ (Phụ lục 6). - Khi nhận được mẫu virus mới từ máy khách, MAVSR sẽ cập nhật mẫu vào

CSDL, bổ sung luật nhận dạng, đồng bộ CSDL và CSTT cho hệ thống.

4.5.1. Đánh giá hiệu quả nhận dạng virus của MAV

Hiệu quả nhận dạng virus của hệ MAV được tổng hợp từ kết quả chẩn đoán của năm bài toán học (Bảng 4.8).

Bảng 4.8:Các chỉ số chất lượng nhận dạng virus của MAV

Lớp virus Độ chính xác (%) Độ dự báo (%) Độ tin cậy (%)

A-class 97.92 91.68 95.70 B-class 97.92 86.27 95.24 C-class 99.05 05.00 67.72 D-class 98.71 94.76 98.21 E-class 94.38 99.03 99.09 Toàn bộ 97.60 75.35 91.19

Đểđánh giá tiếp cận học nhận dạng virus máy tính, cần đối chiếu thử nghiệm với các anti-virus khác trong cùng điều kiện (kiến trúc máy, hệđiều hành, tập virus mẫu, tập dữ liệu trộn…). Tuy nhiên, việc thực nghiệm gặp nhiều khó khăn do:

- Quy ước đặt tên, phân loại virus của các AV khác nhau. Cùng một virus (hoặc các thể hiện của virus), mỗi AV có cảnh báo với tên gọi, số lượng virus trong họ khác nhau. Vì vậy việc tổng hợp, so sánh số liệu gặp nhiều khó khăn do dữ liệu báo cáo không thuần nhất.

- Các anti-virus tên tuổi đều có CSDL virus khá lớn. Để giảm chi phí tài nguyên, các AV thường không công bố danh sách virus được cập nhật.

- 92 -

Do khó xác định được số virus tương ứng đã cập nhật trong CSDL (Associated Viruses In Database) của từng AV so với các virus trong tập dữ liệu thử nghiệm, nên đề tài chỉ tiến hành thu thập số liệu đo độ dự báo (Proactive detection) và độ tin cậy (Reliability) của các AV. Các bước thử nghiệm thực hiện như sau:

- Trộn năm tập mẫu virus (gồm 8896 virus trong các thử nghiệm trước đây của MAV), sử dụng làm tập mẫu kiểm nghiệm chung. Các AV thử nghiệm gồm

Bit Defender [73], Norton 2007 [89], NOD32 [82] và Panda [85].

- Kích hoạt các chức năng chẩn đoán heuristicproactive của các AV, chạy thử nghiệm trên tập mẫu. Ghi nhận số liệu thực nghiệm†.

- Tính toán các đặc trưng chẩn đoán của các AV (Bảng 4.9 và Hình 4.18).

Bảng 4.9:Kết quả kiểm tra các hệ anti-virus

Anti-virus Phát hiện Dự báo Độ dự báo (%) Độ tin cậy (%)

Bit Defender 7931 753 78.03 97.62

Norton 2007 7924 735 75.62 97.34

NOD32 8003 771 86.34 98.63

Panda 7945 731 76.87 97.53

Kết quả cho thấy MAV có độ dự báo xấp xỉ với độ dự báo trung bình của các AV thử nghiệm (75.35% so với 79.28%). Thực tế, phần lớn virus mẫu trong tập dữ liệu thử nghiệm đều đã được các AV cập nhật, nên số virus được các AV phát hiện nhiều hơn số virus dự báo. Mặt khác, tiếp cận học chỉ hiệu quả khi có đủ tri thức (tập ví dụ có nhiều mẫu ‘tương tự’ nhau), trong khi việc chọn mẫu thử được thực hiện ngẫu nhiên trên tất cả các lớp. Điều này lý giải tại sao độ tin cậy thực nghiệm của MAV thấp hơn độ tin cậy trung bình của các AV khác (91.19% so với 97.78%).

4.5.2. Đánh giá tốc độ thực thi của MAV

Các phần mềm tham gia thử nghiệm tốc độ gồm Norton Anti-virus (NAV) [89], Kaspersky Lab (KL) [78] và Grisoft Anti-virus (AVG) [72]. Tập dữ liệu thử nghiệm X có 36178 tập tin. Cách thực hiện như sau:

78.03 75.62

86.34

76.87 75.35 97.62 97.34 98.63 97.53

91.19

Bit Defender Norton 2007 NOD32 Panda MAV

Độ dự báo

Độ tin cậy

Hình 4.18: Thử nghiệm chất lượng các hệ anti-virus

- Đo thời gian trung bình của các VirusFix (chỉ quét một virus) của mỗi AV. - Đo thời gian chạy trung bình của mỗi AV hoàn chỉnh (có số virus xác định). - Tính tốc độ quét trung bình của mỗi AV trong điều kiện chuẩn (ĐKC). Đối với mỗi anti-virus thử nghiệm, gọi:

- Vc là số mẫu tin trong CSDL virus

- T0 là thời gian (giây) quét toàn bộ tập X trong trường hợp Vc=1. - T là thời gian (giây) quét toàn bộ tập X trong trường hợp Vc>1.

- T1 là thời gian trung bình (giây) chẩn đoán sự xuất hiện một virus trên tập X. - T2 là thời gian trung bình (giây) chẩn đoán thêm một mẫu tin trong CSDL. - Ve là số mẫu tin trong CSDL virus ởĐKC.

- Ce là dung lượng (KB) dữ liệu trong ĐKC. - Te là thời gian (giây) chẩn đoán trong ĐKC. - Se là tốc độ (KB/giây) đo được trong ĐKC. Các đại lượng T1 , T2, Te, Seđược tính như sau:

- T1=T / Vc

- T2= (T-T0)/(Vc-1) - Te = T + (Ve-Vc)×T2

- Se = Ce/Te

ĐKC cho Ve=2.000; Ce=10.000.000 KB. Số liệu tính toán nhận được trong bảng 4.10. Biểu đồ hình 4.19 so sánh tốc độ của các AV thử nghiệm trong ĐKC.

- 94 - Bảng 4.10: Kết quả thử nghiệm tốc độ các hệ anti-virus AV T0 T1 T2 T Te Se (KB/s) MAV 195 0.498 0.1987 324 592.245 16884.9 NAV 196 0.699 0.5748 1095 1345.038 7434.734 AVG 337 3.897 2.6259 1025 5586.188 1790.129 KL 390 5.918 2.7704 728 5928.041 1686.898 4.6. Tổng kết chương

Chương 4 trình bày phương pháp thiết kế hệ MAV theo mô hình “học tập trung, xử lý phân tán” qua ba giai đoạn Học dữ liệu, Xử lý dữ liệu và Báo cáo.

Đầu tiên, chuyên gia anti-virus sẽ cung cấp tri thức virus máy tính cho hệ. Một mô hình học không giám sát sẽ phân tích quy luật phân bố trị thuộc tính của các mẫu virus trong CSDL. Có hai phương án rút luật được đề xuất. Phương án 1 sử dụng không gian đồ thị phân cấp tách nhóm bằng V-Tree với thuật toán ACV rút luật phân cụm bằng cách duyệt các nút lá trên cây. Phương án 2 tổ chức một mảng hai chiều cấp phát động sử dụng thuật toán ARCRD rút luật trực tiếp trên không gian véctơ. Cách này gọn nhẹ, chạy nhanh nhưng không cung cấp hình ảnh trực quan về quá trình hình thành các cụm. 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 MAV Symantec Corp. Grisoft Anti- virus Kaspersky Lab Hình 4.19: Thử nghiệm tốc độ các hệ anti-virus

Tiếp theo, giai đoạn Xử lý được tiến hành qua bốn bước: (i) phân loại và hợp nhất dữ liệu, (ii) nhận dạng truyền thống, (iii) nhận dạng dựa trên luật và (iv) hội thoại tham vấn.

Ở bước 1, đầu tiên thuật toán phân lớp NNSRM thực hiện chia tách dữ liệu chẩn đoán vào một trong hai lớp Chắc chắn sạchCó thể nhiễm. Lớp Chắc chắn sạch sau đó được loại khỏi không gian quan sát. Kế tiếp các điểm dữ liệu thuộc lớp

Có thể nhiễm sẽ tham gia vào quá trình ước lượng nhằm dựđoán khả năng điểm dữ liệu có thuộc về nhóm (cụm) virus đã biết nào hay không. Nếu có, đối tượng sẽ được chuyển sang bước kế (nhận dạng truyền thống và ước lượng tỷ lệ mã độc). Nếu không, áp dụng kỹ thuật hợp nhất dữ liệu đểước lượng biến thể virus.

Hợp nhất dữ liệu là kỹ thuật xử lý dữ liệu NULL ở giai đoạn tinh chế của các hệ khám phá tri thức từ CSDL. Quan niệm virus máy tính là các thực thể thiếu thông tin, MAV xem các trị thuộc tính bất thường của đối tượng như là giá trị NULL và tiến hành khôi phục giá trị khả dĩ cho các ô dữ liệu này. Nếu quá trình hợp nhất cho kết quả khớp với trị thuộc tính của một trong các mẫu virus đã có,

Một phần của tài liệu 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 (Trang 105)