Kết quả thực nghiệm

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

Với λ= 0.9, bảng 3.10 cho thấy mơ hình KGVT khá phù hợp cho bài tốn phân loại mã độc. Tỷ lệ thất bại thuộc về các điểm dữ liệu khơng thuộc nhĩm virus nào. Vấn đề này sẽđược giải quyết bằng kỹ thuật hợp nhất dữ liệu ở Chương 4.

Bảng 3.10: Kết quả thực nghiệm bài tốn chẩn đốn lớp virus A-class

Lần thSửố nghi virus ệm cSậốp nh virus ật phát hiSố virus ện cSảốnh báo virus Sbốỏ virus sĩt Độxác (%) chính báo (%) Độ dự cĐộậy (%) tin

1 1335 890 874 292 169 98.20 63.34 87.34 2 1238 825 801 276 161 97.00 63.10 86.96 3 1316 877 860 284 172 98.02 62.28 86.93 4 1298 865 852 278 168 98.50 62.38 87.08 5 1327 885 866 284 177 97.90 61.62 86.67 Trung bình: 97.92 62.54 87.00 3.3.5.9. Bàn luận về phương pháp chẩn đốn lớp A-class Trong mơ hình KGVT, “từ” là phần tử cơ bản của văn bản. Tập hợp các từ mẫu dùng phân loại văn bản gọi là “túi từ” (bag-of-words) [23]. Trong các bài tốn phân loại ảnh, khái niệm “từ” được cải biên cùng với thuật ngữ keyblock [44], “túi từ” trở thành “túi mảnh ảnh” (bag-of-keypoints) [29]. Quan niệm malware như một tập dữ liệu phi ngữ nghĩa các từ máy, thuật ngữ “túi từ” của mơ hình KGVT trong bài tốn A-class cĩ thể hiểu là “túi từ máy” (bag-of-machine words).

- 60 -

Một trong những trở ngại của mơ hình KGVT là chi phí tính tốn. Dễ nhận thấy rằng khi wRate = 1, bài tốn A-class quay về bài tốn chuỗi mã. Do đĩ để giảm tải quá trình xử lý ma trận dữ liệu, cĩ thể loại bớt các trường hợp chắc chắc nhiễm bằng kỹ thuật chuỗi mã trước khi áp dụng bài tốn A-class.

Chi phí của mơ hình KGVT gồm (i) chi phí tính tốn (đếm số từ của M xuất hiện trong các lớp) và (ii) chi phí cập nhật ma trận dữ liệu. Thứ nhất, do tần suất từ của các mẫu virus trong CSDL đã được tính ở giai đoạn học (trên máy chủ) nên chỉ cần chuyển số liệu này cho giai đoạn xử lý (trên máy trạm). Thứ hai, ma trận từ-tài liệu cĩ 256 cột kiểu word nên chi phí cập nhật hàng ma trận chỉ tương đương với chi phí thao tác append một chuỗi unicode vào mảng string16 dài 512 byte của các ngơn ngữ lập trình. Hơn nữa, khi kết hợp mơ hình KGVT với mơ hình AMKBD theo nguyên tắc ‘khơng học lại những gì đã biết’, bài tốn A-class chỉ tốn chi phí cho thao tác cập nhật ma trận dữ liệu vào lần chạy đầu tiên trên máy trạm.

3.4. Tổng kết chương

Cơ chế máy học chẩn đốn virus máy tính gồm năm bài tốn:

Bài tốn th nht chẩn đốn lớp virus C-class theo nguyên lý học vẹt cho các điểm dữ liệu ASCII-7bit, đối tượng lây của các loại sâu và file virus. Đây là mơ hình kinh điển của các AV hướng chuỗi mã với thuật tốn tìm kiếm tuần tự. Mặc dù khả năng dự báo khơng cao (5%) nhưng nhờ cĩ độ chính xác rất cao (99.05%) nên kỹ thuật chuỗi mã vẫn được sử dụng để bổ khuyết cho các kỹ thuật khác.

Bài tốn th hai chẩn đốn lớp virus D-class theo nguyên lý học tương tự cho các điểm dữ liệu MSOffice, đối tượng lây của các loại virus macro. Đầu tiên, khơng gian chẩn đốn được tổ chức dưới dạng một vector động các con trỏ tham chiếu đến danh sách macro trong từng paragraph của đối tượng chẩn đốn. Tiếp theo một thuật giải duyệt mảng sẽ thu thập danh sách macro và phân tích tập hành vi các macro cĩ trong danh sách. Cuối cùng, xây dựng các hàm nhận dạng hành vi macro và tiến hành chẩn đốn bệnh cho đối tượng.

Bài tốn th ba chẩn đốn lớp virus B-class theo nguyên lý học chỉ dẫn dựa vào tập miền định nghĩa khái niệm, áp dụng cho các MTKĐ là vật chủ của các loại

boot virus. Khơng gian tìm kiếm được tổ chức dưới dạng cây nhị phân cài đặt trên vùng nhớ ứng dụng của một máy ảo chẩn đốn cĩ kiến trúc máy tính sử dụng CPU 80x86/Pentium. Một thuật giải tìm kiếm với tri thức bổ sung cĩ nhiệm vụ thu thập và phân tích hành vi đối tượng trong ngăn xếp máy ảo để phát hiện boot virus

Bài tốn th tư chẩn đốn lớp virus E-class theo nguyên lý học tình huống dựa trên mơ hình kết hợp CSDL và CSTT để phát hiện tình huống thay đổi trạng thái của đối tượng thi hành thơng qua cơ chếđa tác tử. Chạy ở mức nền trước, tác tử duyệt quét VSA thu thập thơng tin đối tượng lưu vào CSDL VerifyDB. Ở mức nền sau, tác tử canh phịng VAA liên tục giám sát hệ thống. Khi cĩ tình huống truy xuất đối tượng, VAA sẽ thu thập thơng tin, truy vấn trên CSDL VerifyDB, đối chiếu với tập luật nhận dạng và phát cảnh báo. Phân tích tri thức quyết định của người dùng, hệ sẽ phục hồi nội dung/trạng thái đối tượng theo hướng tiếp cận ý định.

Bài tốn th năm chẩn đốn lớp A-virus theo nguyên lý học quy nạp sử dụng mơ hình khơng gian vector chẩn đốn các loại mã độc. Đầu tiên mẫu dữ liệu M

được biểu diễn thành các từ phân biệt. Ứng với mỗi từ, biểu diễn các mẫu virus trong CSDL dưới dạng ma trận từ-tài liệu cĩ n cột, p hàng. Tiếp theo, quá trình rút trích đặc trưng sử dụng nguyên lý TF-IDF để tính trọng số các từ trong các nhĩm virus. Sau đĩ tính độ tương đồng dữ liệu SIM của điểm chẩn đốn M so với các nhĩm rồi chọn nhĩm cĩ SIM cao nhất. Cuối cùng tính tỷ lệ mã độc của M so với các mẫu virus trong nhĩm để chọn ra mẫu cĩ giá trị wRate lớn nhất. Nếu wRate vượt quá ngưỡng λ, cĩ thể kết luận M là biến thể của mẫu virus này (mẫu cĩ số từ giống với số từ của M nhiều nhất), là virus gần với đối tượng chẩn đốn nhất.

Dựa vào đặc điểm dữ liệu từng lớp virus, việc lựa chọn bài tốn học cho các lớp hướng đến tính hiệu quả, phù hợp với thực tiễn sử dụng và bối cảnh nghiên cứu của đề tài. Khi cĩ những thay đổi sâu sắc trên các lớp virus (ví dụ như các mơ tả lớp, hành vi, đặc trưng dữ liệu…), cĩ thể lựa chọn các bài tốn học khác tốt hơn.

Chương 4 tiếp theo sẽ trình bày phương pháp thiết kế hệ thống qua ba giai đoạn tương ứng với ba mức xử lý của một hệ chuyên gia. Trong đĩ, thành phần hạt nhân của hệ sẽ chứa năm lớp bài tốn đã xây dựng trong chương này.

Thiết kế xây dng h thng và thc nghim

4.1. Mơ hình tổng quát của hệ

Hệ MAV được triển khai trên mạng cục bộ [16] qua ba giai đoạn (i) Học dữ liệu, (ii) Xử lý dữ liệu và (iii) Báo cáo. Giai đoạn 1 cài đặt trên máy chủ dành cho chuyên gia: đầu vào là tập mẫu và tri thức chuyên gia, đầu ra là CSDL và CSTT. Giai đoạn 2 và 3 cài đặt trên máy khách. Giai đoạn 2 chứa phần lõi của hệ gồm hai bước tiền xử lý và xử lý dữ liệu. Tiền xử lý cĩ nhiệm vụ phân lớp dữ liệu và nhận dạng sơ khởi để loại bớt các trường hợp chắc chắn nhiễm. Tiếp theo, bước xử lý sẽ áp dụng các thuật giải nhận dạng virus dựa trên luật để phát hiện virus mới. Mọi kết quả nhận dạng, suy diễn, lập luận sẽ được kết xuất sang giai đoạn Báo cáo. Phân tích kết quả chẩn đốn, hệ sẽ đặt một số câu hỏi và giải thích nhằm tham vấn, xác nhận quyết định người dùng để cĩ cách giải quyết thích hợp. Cuối cùng, thơng báo kết quả chẩn đốn (Hình 4.1).

4.2. Tổ chức cơ sở tri thức

CSTT chứa các mơ tảđối tượng - virus máy tính và các luật nhận dạng.

4.2.1. Mơ tảđối tượng

Cĩ nhiều loại virus máy tính với nhiều kỹ thuật lây nhiễm (xem Phụ lục 1 - Khảo sát virus máy tính) trên các định dạng dữ liệu khác nhau (xem Phụ lục 2 - Các định dạng dữ liệu). Đối với loại đối tượng cĩ dữ liệu khơng đồng nhất, mơ hình lớp (class) là kiểu biểu diễn tri thức thuận tiện nhất. Mỗi lớp đối tượng sẽ chứa các virus cĩ cùng đặc tính dữ liệu (mã thi hành, dữ liệu byte hay ký tự).

Hình 4.1.Mơ hình tổng quát của hệ Phịng chống virus máy tính hướng tiếp cận Máy học và Hệ chuyên gia MAV

- Trích chọn đặc trưng - Phân cụm dữ liệu - Rút luật phân cụm Tiếp nhận tri thức Giai đoạn Xử lý dữ liệu (máy trạm) Giai đoạn Học dữ liệu (máy chủ + chuyên gia)

Giai đoạn Báo cáo (máy trạm + người dùng) CSDL CSTT - Tổ chức khơng gian - Phân lớp dữ liệu - Hợp nhất dữ liệu - Chẩn đốn truyền thống Tiền xử lý dữ liệu - Chẩn đốn dựa trên luật - Các thuật giải tìm kiếm - Phân tích, suy diễn, lập luận Động cơ suy diễn Báo cáo kết quả Dữ liệu chẩn đốn - Hội thoại - Tham vấn Giải thích Dữ liệu chẩn đốn CSDL

- 64 -

Mơ hình lớp thích hợp cho việc phân loại các virus đa hình (lây nhiễm vào nhiều đối tượng thi hành thuộc nhiều mơi trường, hệ điều hành khác nhau), hoặc virus lai tạp (sử dụng nhiều kỹ thuật của nhiều loại virus khác nhau). Như vậy, mỗi virus cĩ thể thuộc về nhiều lớp. Tổng quát, lớp virus chuẩn (tiền bối của tất cả các lớp) được định nghĩa hướng đối tượng như sau [41]:

Đối tượng: Định danh virus

Thuộc tính: Tập thuộc tính/hành vi cơ sở

Phương thức: Tập điều trị, hướng xử lý

Mặc dù các virus thuộc lớp A-class và E-class cĩ định dạng như nhau, nhưng cĩ tập thuộc tính khác nhau (E-class chứa các virus ký sinh vật chủ, trong khi A- class chứa các sâu trình và trojan hoạt động độc lập). Tương ứng với năm lớp virus (Chương 3, Bảng 3.1), MAV định nghĩa bốn lớp dữ liệu cĩ khả năng nhiễm virus gồm lớp Application, lớp Document, lớp Boot record và lớp Text theo mơ hình:

Đối tượng: Tên lớp dữ liệu

Thuộc tính: Tập định dạng của lớp

Phương thức: Phép trích chọn dữ liệu của lớp

Mỗi lớp dữ liệu lại được tổ chức thành các lớp con. Ví dụ lớp Application cĩ hai lớp con là COM và EXE. Lớp EXE cĩ bốn lớp con DOS-EXE, NE-EXE, PE- EXE và LE-EXE (xem Phụ lục 2, hình P2.2). Mỗi lớp dữ liệu cĩ quan hệ với một lớp virus (ví dụ lớp Document cĩ quan hệ 1-1 với lớp D-class) hoặc với nhiều lớp virus (ví dụ lớp Application cĩ quan hệ 1-n với các lớp A-class và E-class).

4.2.2. Luật nhận dạng virus

Dạng tri thức thứ hai được mơ tả trong CSTT là tập luật nhận dạng. Để nhận dạng virus, hệ sử dụng một thư viện mơ tảđặc trưng virus (ID-virus library) tổ chức dưới dạng tập các vector VK= {v1, v2, …, vk}. Chẩn đốn virus là quá trình truy vấn các vector vi trong tập dữ liệu S theo các luật dẫn xuất (production rule) dạng:

R: p1^ p2 ^…^ pn→q (4.1)

Dạng luật này phù hợp cho cả chiến lược nhận dạng truyền thống lẫn nhận dạng dựa trên luật ở giai đoạn xử lý. Trong giai đoạn học, ngồi tập các luật nhận dạng virus, CSTT cịn chứa luật phân cụm virus (sẽ mơ tả sau).

4.3. Giai đoạn Học dữ liệu

Giai đoạn Học dữ liệu được thiết kế dành riêng cho chuyên gia (cài đặt trên máy chủ). Giai đoạn này cĩ nhiệm vụ tiếp nhận tri thức chuyên gia, phân tích và rút ra các quy luật phân bố dữ liệu trong CSDL virus. Tập luật này sau đĩ dùng nhận dạng virus ở giai đoạn xử lý (cài đặt trên máy khách). Các tác vụ chính trong giai đoạn Học dữ liệu là trích chọn dữ liệu, phân cụm dữ liệu và rút luật trên tập mẫu.

4.3.1. Trích chọn dữ liệu

Dữ liệu đầu vào của giai đoạn này là tập mẫu virus. Tập mẫu dương này đã được chuyên gia giải mã, phân tích kỹ thuật và phân loại theo các lớp virus đã định nghĩa (boot virus, file virus, text virus, macro virus hay worm-trojan). Gọi V là tập mẫu của một lớp virus xác định, hàm trích chọn dữ liệu tổng quát cĩ dạng:

f(vi) = {aj | j ÷1..m; m∈N*} Trong đĩ: vi là mẫu virus thứ i thuộc lớp virus V (v∈V)

aj là tập dữ liệu đặc trưng của virus vi (j÷1..m; m∈N*)

Hàm này sẽ trích chọn tựđộng các đoạn mã đặc trưng của virus trong các tổ chức thi hành. Ở giai đoạn xử lý, hàm này cũng được dùng để trích chọn mẫu dữ liệu đặc trưng tương ứng với các lớp virus cần chẩn đốn (xem Bảng 4.1).

4.3.2. Phân cụm dữ liệu

Mục tiêu của bước này nhằm phát hiện sự giống nhau giữa các mẫu virus để gom chúng thành từng nhĩm cĩ cùng đặc điểm. Quy luật phân bố nhĩm dùng trong giai đoạn Xử lý dữ liệu nhằm ước lượng đối tượng chẩn đốn cĩ thuộc một trong các nhĩm virus đã phân hoạch hay khơng để quyết định các bước kiểm tra tiếp theo. Cĩ thể thực hiện việc này bằng phân cụm dữ liệu, kỹ thuật phân loại dữ liệu phổ biến trong các hệ học khơng giám sát.

- 66 -

Bảng 4.1: Trích chọn dữ liệu đặc trưng từ các định dạng cơ bản

Stt Lớp dữ liệu Lớp virus Vật chủ Nội dung trích chọn

1 Văn bản C-class Văn bản 7-bit Tồn bộ nội dung Dữ liệu byte < 64KB Tập tin thi hành 2 Chương trình A-class E-class Tập tin thư viện Từđiểm vào lệnh (IP- Instruction Pointer) của chương trình Tập tin tư liệu Tập tin bảng tính 3 Tư liệu MS Office D-class Tập tin trình diễn

Tên và nội dung macro

Mẫu tin khởi động hệ điều hành đĩa mềm Mẫu tin khởi động hệ điều hành đĩa cứng 4 Mẫu tin khởi động B-class Mẫu tin khởi tạo phân khu đĩa cứng Từđiểm vào lệnh IP của mẫu tin khởi động

Cĩ nhiều kỹ thuật phân cụm: phân hoạch, phân cấp, dựa trên mật độ, dựa trên mơ hình hoặc trên lưới. Đề tài này sử dụng phân cụm phân cấp (hierarchical clustering). Đặc điểm của kỹ thuật này là khơng cần xác định số cụm ngay từ đầu (khi thuật giải kết thúc mới biết được số cụm). Phân cấp cụm thường được biểu diễn dưới dạng đồ thị cây các cụm (dendogram): nút lá biểu diễn các đối tượng riêng lẻ, nút trung gian biểu diễn các cụm. Cĩ hai kỹ thuật phân cụm phân cấp là (i) xuất phát từ các đối tượng đơn lẻ, gộp các điểm dữ liệu đủ gần vào các cụm hoặc (ii) xuất phát từ một cụm duy nhất (tồn bộ khơng gian), tách các điểm dữ liệu cĩ độ phân biệt cao nhất vào các cụm con [6] (Hình 4.2). Trong đề tài này, do bắt đầu từ tập mẫu virus nên phân cụm tách nhĩm sẽđược vận dụng để phân loại các mẫu thử.

4.3.2.1. Tổ chức cấu trúc dữ liệu

Để phân cụm virus, MAV sử dụng ma trận dữ liệu (p cột-thuộc tính, k dịng- đối tượng) như hình 4.3 [51]. Khơng gian phân cụm sử dụng cấu trúc dữ liệu Cây giá trị (Value Tree, ký hiệu là V-Tree).

Là mơ hình thích hợp để lưu trữ dữ liệu vector dài, V-Tree cĩ cấu trúc giống B-Tree và được xem là biến thể của R-Tree. Khác với R-Tree, V-Tree khơng quan tâm đến việc tối thiểu các chữ nhật chồng lấp như R-Tree.

Cho các số nguyên m>1, n>1, cây m-phân V-Tree bậc (m,n) là một cây cĩ: - Tất cả các nút lá đều cĩ số mức như nhau.

- Mỗi nút lá chứa các điểm cĩ giá trị từ n/2 đến n.

- Mỗi nút trung gian cĩ m/2 đến m nút con, trừ nút gốc cĩ từ 2 đến m con. - Đối với mỗi nút con M của một nút trung gian N, nút N chứa danh sách

các con trỏđến M [48].

4.3.2.2. Thuật tốn ACV gom cụm trên V-Tree

Ma trận dữ liệu X(p, k) cĩ p cột k dịng (mỗi đối tượng cĩ p thuộc tính, cĩ tất cả k đối tượng). Mỗi nút trên cây V-Tree dùng biểu diễn các cụm, mỗi nút cĩ ba trường gồm Label (nhãn nút chứa trị thuộc tính), Points_list (danh sách các đối tượng trong cụm) và Childs_list (danh sách các nút con). Thuật giải ACV (Algorithm of Clustering by V-tree) dựng cây phân cụm bằng V-tree như sau:

x11 x21 x31 … xp1 x12 x22 x32 … xp2 … … … x1k x2k x3k … xpk Hình 4.3:Ma trận dữ liệu a,b,c,d,e a b c e a,b d d,e c,d,e Gộp Tách

- 68 - - Khởi tạo nút gốc - Đối với mỗi điểm dữ liệu thứ j của X, thực hiện:

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

Tải bản đầy đủ (PDF)

(180 trang)