Mô hình tổng quát của hệ

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 81)

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 đoá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 đoá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 đoán truyền thống Tiền xử lý dữ liệu - Chẩn đoá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 đoán - Hội thoại - Tham vấn Giải thích Dữ liệu chẩn đoá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 đoá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, ngoà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 đoá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 đoá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 Toà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 (toà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].

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 81)