1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế xây dựng hệ thống và thực nghiệm

34 416 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Xây Dựng Hệ Thống Và Thực Nghiệm
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 3,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Có nhiều loại virus máy tính với nhiều kỹ thuật lây nhiễm Khảo sát virus máy tính) trên các định dạng dữ liệu khác nhau

Trang 1

Thiết kế xây dựng hệ thống và thực nghiệm

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 đ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ự)

Trang 2

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

- 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

Trang 3

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 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:

A-Đố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 V K = {v1, v2, …, vk} Chẩn đoán virus là quá trình truy vấn

các vector v i trong tập dữ liệu S theo các luật dẫn xuất (production rule) dạng:

trong đó p i là các phát biểu mô tả hành vi virus, q là kết luận của quá trình suy diễn

Trang 4

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(v i ) = {a j | j ÷1 m; m∈N*}

Trong đó: v i là mẫu virus thứ i thuộc lớp virus V (v∈V)

a j là tập dữ liệu đặc trưng của virus v i (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

Trang 5

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 Instruction Pointer) của chương trình

(IP-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

Trang 6

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 toá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:

Trang 7

- 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:

- Chọn nút gốc là Nút hiện hành

- Đối với mỗi thuộc tính thứ i của điểm đang xét, thực hiện:

- Nếu Nút hiện hành chưa có nút con x(i,j) thì

- Tạo nút mới, nhãn nút là x(i,j)

- Cho nút mới tạo làm con của Nút hiện hành

- Đặt nút con x(i,j) của Nút hiện hành làm Nút hiện hành

- Bổ sung mẫu tin thứ j vào danh sách Point_list của Nút hiện hành

Hình 4.4 mô tả thuật toán ACV phân cụm CSDL bằng V-Tree

MakeNew(Root, ‘Root’, Nil, Nil)

FOR j=1 TO k DO

Current_Node ← Root

FOR i=1 TO p DO

IF Pos(x[i, j], Current_Node.Child_list)= 0 THEN

MakeNew(Node, x[i,j],nil, nil)

Current_Node.Child_List ← Current_Node.Child_List+ Node

Hình 4.4: Thuật toán ACV phân cụm CSDL virus bằng V-tree

Để minh họa, xét CSDL virus 10 mẫu tin (Bảng 4.2) Các thuộc tính Type, Hooking, Host được chọn tham gia phân cụm Đầu tiên, nút gốc được tạo với danh

sách các con Child_list rỗng, danh sách Points_list được khởi tạo chứa 10 phần tử

Trang 8

Bảng 4.2: Ví dụ cơ sở dữ liệu virus mẫu

Ptr Virus Name Type Hooking Host Code

1 Virus 1 DLL Registry Application 3F2D9A…

2 Virus 2 EXE StartUp Application E9124F…

3 Virus 3 EXE StartUp Service 60E89F…

4 Virus 4 DLL Registry Service 583E6F…

5 Virus 5 EXE Registry Service E8558B…

6 Virus 6 EXE WinFile Application C0317F…

7 Virus 7 DLL Registry Application 902D3F…

8 Virus 8 EXE WinFile Application 7E5D9B…

9 Virus 9 EXE StartUp Service 347A9C…

10 Virus 10 DLL Registry Application 4B80FF…

Xét mẫu tin đầu tiên, trị thuộc tính thứ nhất (Type) là ‘DLL’ Do nút đang xét

(là nút gốc) chưa có nút con nào là ‘DLL’ nên tạo nút mới (nhãn ‘DLL’), sau đó bổ sung địa chỉ nút này vào danh sách các con của nút gốc Đặt lại nút đang xét là nút

‘DLL’ vừa tạo Bổ sung thứ tự mẫu tin đang xét (mẫu 1) vào danh sách Points_list của nút hiện tại Tiếp tục xét đến thuộc tính thứ hai (Hooking) có trị ‘Registry’ Do

nút hiện tại (DLL) chưa có nút con nào là ‘Registry’ nên tạo nút mới ‘Registry’, cập nhật nút này vào danh sách các con của ‘DLL’, đặt nút này làm nút hiện tại, bổ sung thứ tự mẫu tin đang xét (mẫu 1) vào nút ‘Registry’ Thực hiện tương tự cho thuộc

tính thứ ba (Host) có trị ‘Application’ Kết thúc mẫu thứ nhất

Tương tự xét mẫu tin thứ hai (EXE, Startup, Application) Sau khi duyệt xong hai mẫu tin, cây V-tree có dạng như hình 4.5 Ở mẫu tin thứ ba (EXE, Startup, Service) có một vài thay đổi Do trong danh sách các con nút gốc đã có nút ‘EXE’ nên không tạo thêm nút mới mà chọn ngay EXE làm nút hiện tại, rồi bổ sung vào

danh sách Points_list của nút này thứ tự mẫu đang xét (mẫu 3) Tương tự, do ‘EXE’

đã có con là ‘Startup’ nên chọn nút này làm nút hiện tại, bổ sung ‘3’ vào danh sách

Point_list của nút ‘Startup’ Xét thuộc tính cuối Do các con của ‘Startup’ chưa có

nút ‘Service’ nên tạo mới nút ‘Service’ rồi bổ sung vào danh sách các con của nút

‘Startup’, chọn ‘Service’ làm nút hiện tại rồi bổ sung ‘3’ vào nút ‘Service’ (Hình 4.6) Kết thúc duyệt 10 mẫu tin, cây kết quả sẽ có dạng như hình 4.7

Trang 9

Từ CSDL 10 virus, kết quả rút luật thu được sáu nhóm virus:

Nhóm 1: Virus 1, Virus 7, Virus 10 Nhóm 4: Virus 3, Virus 9

Nhóm 2: Virus 4 Nhóm 5: Virus 5

Nhóm 3: Virus 2 Nhóm 6: Virus 6, Virus 8

Việc phân nhóm CSDL virus có ý nghĩa quan trọng trong quá trình chẩn đoán virus Phân nhóm giúp giảm không gian tìm kiếm, gia tăng tốc độ truy vấn

Hình 4.6: Cây V-Tree sau khi duyệt 3 mẫu tin

Type

Hooking

Host

Root 1-2-3-4-5-6-7-8-9-10 DLL-EXE

DLL

1 Registry

Registry

1 Application

Application

1 NIL

EXE 2-3 Startup

Startup 2-3 Application-Service

Application

2 NIL

Service

3 NIL

Hình 4.5: Cây V-Tree sau khi duyệt 2 mẫu tin

Type

Hooking

Host

Root 1-2-3-4-5-6-7-8-9-10 DLL, EXE

DLL

1 Registry

Registry

1 Application

Application

1 NIL

EXE

2 Startup

Startup

2 Application

Application

2 NIL

Trang 10

trên CSDL Nếu không phân nhóm, AV phải duyệt toàn bộ CSDL (trong ví dụ trên, nhiều nhất 10 mẫu tin, ít nhất 1 mẫu tin) Sử dụng phân nhóm, số mẫu tin cần duyệt

sẽ ít hơn (trong ví dụ trên, chỉ cần duyệt nhiều nhất 3 mẫu tin, ít nhất 0 mẫu tin)

Việc phân nhóm cũng giúp dự đoán các virus mới Điểm chẩn đoán sẽ được phân vào một nhóm virus, nếu cây giá trị một nhánh của đối tượng khớp với một nhánh trên cây phân cụm của CSDL Lúc này có ba khả năng xảy ra: đối tượng là một virus trong nhóm, hoặc là biến thể của một virus trong nhóm, hoặc không phải

là virus Ngược lại, đối tượng không thuộc bất cứ nhóm virus đã biết nào

4.3.2.3 Đánh giá thuật toán ACV

Phân cụm dữ liệu bằng Cây giá trị là kỹ thuật đơn giản do không cần tổ chức

và xử lý ma trận phân biệt Công tác chuẩn hóa dữ liệu cũng dễ dàng do kế thừa kiểu dữ liệu của các cột và không phụ thuộc vào đơn vị đo Thứ tự của các mẫu tin, thứ tự cột phân cụm, việc thêm vào hay xóa bớt mẫu tin cũng không xáo trộn cấu trúc cây kết quả Độ phức tạp của thuật toán ACV chỉ phụ thuộc vào độ lớn của dữ liệu đầu vào Gọi:

- T j (k) và T i (p) là thời gian thực hiện tương ứng của các vòng lặp theo j và i

DLL 1-4-7-10 Registry

Registry 1-4-7-10 Application-Service

Application

1-7-10

NIL

EXE 2-3-5-6-8-9 Startup-Registry-WinFile

Startup 2-3-9 Application-Service

Application

2 NIL

Service 3-9 NIL

Service

4 NIL

Service

5 NIL

Application 6-8 NIL

WinFile 6-8 Application

Registry

5 Service

Trang 11

Thời gian thực hiện của 2 vòng lặp lồng nhau là T = O(f(k).g(p)) (1)

Gọi n là số phần tử của ma trận dữ liệu Ta có n = k × p (2)

Từ (1) và (2) suy ra độ phức tạp của thuật toán là O(n)

Số lần duyệt mỗi nút bằng chính số cụm mà nút chứa Nút gốc chứa số cụm

nhiều nhất (k mẫu tin) Các nút trung gian chứa số cụm ít hơn Kết thúc thuật toán,

các mẫu tin đều được phân nhóm Bảng 4.3 cho thấy mỗi cột trên ma trận dữ liệu

được duyệt k lần Ma trận có p cột nên tổng số lần duyệt các nút là n = k ×p lần

Bảng 4.3: Tính toán số lần ACV duyệt nút trên V-tree

Mức Cột Nút Danh sách cụm duyệt nút Số lần duyệt mức Số lần Ghi chú

DLL 1-4-7-10 4

1 Type

EXE 2-3-5-6-8-9 6 10

1-4-7-10 4 Registry

5 1 Startup 2-3-9 3

6-8 2

4 1 3-9 2

ma trận dữ liệu (10)

Số lần duyệt nút bằng với kích thước

ma trận (30)

Số lần duyệt các nút trên cây: 30

Sử dụng các phép toán cơ bản trên cấu trúc dữ liệu cây như tạo nút, thêm nút,

tìm nút con… nên việc thiết kế ACV khá đơn giản Trong khi các mô hình phân

cụm phân cấp khác thường mắc nhược điểm không khắc phục được các quyết định

sai lầm khi trộn tách nhóm, thuật toán ACV có thể tránh được tình trạng này Thật

vậy, ngoại trừ nút lá, mỗi nút trên V-Tree có ít nhất một nút con Nhờ có mệnh đề

IF kiểm tra điều kiện tồn tại nút con và do các nút lá luôn đồng mức nên thuật toán

ACV không tạo ra các nút sai lầm

Bước tiếp theo là rút luật phân nhóm virus, sẽ được giới thiệu ngay sau đây

Trang 12

4.3.3 Rút luật phân bố trị thuộc tính

Trong các hệ học, tri thức được biểu diễn phổ biến dưới dạng luật IF-THEN Dạng luật này được đặc tả hình thức bằng mệnh đề Horn:

H (L 1 ^ L 2 ^ … ^ L n) Trong đó:

- H: gọi là phần đầu (head), hệ quả (consequent) hay điều kiện sau (postcondition) của luật

- L i : gọi là trực kiện (literal) của luật

- L 1 ^ L 2 ^…^ L n : gọi là phần thân (body), tiền đề (antecedent), điều kiện đầu (precondition) hay kết hợp trực kiện (conjunction of literals) của luật

Mục tiêu của quá trình rút luật trên CSDL virus nhằm tìm ra quy luật phân

bố đặc tính chung của các nhóm virus, phục vụ cho công tác phân loại đối tượng chẩn đoán ở các giai đoạn sau MAV áp dụng hai kỹ thuật rút luật phân bố trị thuộc tính các cụm virus: rút luật trên V-Tree và rút luật trực tiếp trên ma trận dữ liệu

4.3.3.1 Rút luật phân cụm trên V-Tree

Phân cụm bằng V-tree nói riêng, các phương pháp phân cụm phân cấp nói chung, phân bố các cụm kết quả nằm ở nút lá (hoặc ở mức cha trực tiếp của nút lá) Quá trình rút luật được thực hiện bằng cách duyệt đường đi các nhánh từ gốc đến lá

(tạm gọi là R2LTA – Root-to-Leaf Traverse Algorithm, thuộc loại thuật giải phổ

biến nên không trình bày lại ở đây) Mỗi nhánh chứa một luật theo mệnh đề Horn Đường đi trên nhánh chứa tiền đề (phần thân) của luật, mỗi nút trên nhánh là một trực kiện Tên nhánh là hệ quả của luật

Như giới thiệu, các nút lá của Tree đều đồng mức Số mức trên cây

V-Tree nhiều hơn số cột tham gia phân cụm một đơn vị (p+1) Mỗi nhánh V-V-Tree tương ứng với một cluster Độ phức tạp của thuật giải R2LTA trên cây V-Tree là một hàm đa thức O(n) tỷ lệ với số nhánh (số cluster) Trường hợp xấu nhất, khi các mẫu tin đều “tách rời” nhau và được phân vào k nhánh, số lần duyệt nút trên cây là k×(p+1) Trường hợp tốt nhất, khi tất cả các mẫu tin đều “giống nhau” và được phân vào một cụm, chỉ cần duyệt (p+1) nút là đã rút được luật phân bố đặc trưng dữ liệu

Trang 13

Áp dụng thuật giải R2LTA trên V-Tree, ta thu được sáu luật như sau:

Luật 1: Cluster_1 ← (Type=DLL) ∧ (Hooking=Registry) ∧ (Host=Application)

Luật 2: Cluster_2 ← (Type=DLL) ∧ (Hooking=Registry) ∧ (Host=Service)

Luật 3: Cluster_3 ← (Type=EXE) ∧ (Hooking=StartUp) ∧ (Host=Application)

Luật 4: Cluster_4 ← (Type=EXE) ∧ (Hooking=StartUp) ∧ (Host=Service)

Luật 5: Cluster_5 ← (Type=EXE) ∧ (Hooking=Registry) ∧ (Host=Service)

Luật 6: Cluster_6 ←(Type=EXE) ∧ (Hooking=WinFile) ∧ (Host=Application)

Trong ví dụ trên, số nút duyệt để rút được 6 luật là (3 cột +1)×6 luật = 24 nút

Về mặt trực quan, 6 luật trên có dạng tổng quát:

ClusterNum ← Type, Hooking, Host Trong đó: ClusterNum ∈ {Cluster_1, Cluster2, …, Cluster_6} = q

Type ∈ {DLL, EXE} = p1

Hooking ∈ {Registry, Startup, WinFile} = p 2

Host ∈ {Application, Service} = p3

Rõ ràng, dạng tri thức này phù hợp với luật (4.1), công cụ lập luận chủ đạo xây dựng các phát biểu IF-THEN cho quá trình lập luận và suy diễn của hệ Phần tiếp theo sẽ trình bày phương án rút luật phân cụm không sử dụng V-Tree

4.3.3.2 Rút luật phân cụm trên ma trận dữ liệu

Rút luật trên cây V-Tree có ưu điểm là khai thác được các trường hợp dữ liệu tốt (cây ít nhánh) và cung cấp hình ảnh trực quan Nhược điểm của phương pháp này là tốn không gian biểu diễn cây Có thể khắc phục hạn chế này bằng cách:

• Định nghĩa một danh sách luật cấp phát động Mỗi mẫu tin trên danh sách có

hai trường Trường đầu (header) chứa danh sách các phần tử thuộc cụm, trường thứ hai (body) chứa luật phân cụm

• Sử dụng thuật toán ARCRD (Algorithm to Retrieve Clustering Rules from Database) duyệt ma trận dữ liệu, rút luật phân cụm đưa vào danh sách luật Các bước thực hiện thuật toán ARCRD như sau:

- Khởi tạo danh sách luật (rỗng)

- Đối với mỗi mẫu tin trong CSDL, thực hiện:

Trang 14

- Khởi tạo một luật ứng viên R v (rỗng)

- Đối với mỗi thuộc tính, bổ sung từng trực kiện (trị thuộc tính) vào R v

- Nếu R v không có trong danh sách luật, bổ sung R v vào RuleSet

- Bổ sung số hiệu mẫu tin vào phần đầu (header) của luật đang xét

RuleSet ← ∅ //khởi tạo danh sách luật

FOR j=1 TO k DO //duyệt từng mẫu tin trong CSDL

R j ← ∅ //khởi tạo luật ứng viên R j

FOR i=1 TO p DO R j ← R j + x[i, j] //tạo tiền đề cho luật ứng viên R j

idx ← Pos(R j , RuleSet) //tìm R j trong danh sách luật

IF idx = 0 THEN //nếu tìm không thấy

Append(R j , RuleSet) //bổ sung R j vào danh sách luật idx ← SizeOf(RuleSet) //cập nhật con trỏ chỉ số luật ENDIF

RuleSet[idx].header ← Ruleset[idx].header + j //cập nhật header

ENDFOR

Hình 4.8: Thuật toán ARCRD rút luật phân cụm trực tiếp trên CSDL

Sau đây là phần minh họa ARCRD trên CSDL ví dụ Đầu tiên, khởi tạo tập luật RuleSet rỗng Khi duyệt mẫu tin thứ nhất, R 1 =DLL ^ Registry ^ Application Do chưa có luật nào trong RuleSet nên R1 được đưa ngay vào tập luật:

1 DLL ^ Registry ^ Application

Khi duyệt mẫu tin thứ hai, R 2 = EXE ^ Startup ^ Application Luật này chưa

có trong RuleSet nên được đưa vào danh sách luật:

1 DLL ^ Registry ^ Application

Tương tự, khi duyệt đến mẫu tin thứ sáu, RuleSet có dạng:

1 DLL ^ Registry ^ Application

Trang 15

Khi duyệt mẫu tin thứ bảy, do R 7 = R 1 = DLL ^ Registry ^ Application nên

không mở rộng danh sách luật mà chỉ cần bổ sung số hiệu mẫu tin (7) vào header của luật thứ nhất Tương tự, quá trình duyệt tiếp tục phát hiện các cặp luật giống nhau là R8=R6, R9= R3, R10= R1 Kết thúc quá trình, tập luật RuleSet có dạng:

1, 7, 10 DLL ^ Registry ^ Application

3, 9 EXE ^ Starup ^ Service

6, 8 EXE ^ WinFile ^ Application

ARCRD cho kết quả khớp với tập luật rút trên V-Tree bằng R2LTA Tuy đơn giản và ít tốn bộ nhớ, nhưng ARCRD cần chi phí cho thao tác tìm luật ứng viên và

không cung cấp thông tin của các nút trung gian trên cây V-Tree Nếu chỉ quan tâm

đến tập luật kết quả, ARCRD là lựa chọn tốt hơn so với R2LTA

4.4 Giai đoạn Xử lý dữ liệu

Giai đoạn Xử lý dữ liệu được thiết kế ở mức người sử dụng, có nhiệm vụ chẩn đoán virus dựa vào CSDL và CSTT được cung cấp ở giai đoạn trước

Đầu tiên, đối tượng chẩn đoán được đưa vào phân hệ Phân loại dữ liệu để

loại bớt các trường hợp chắc chắn sạch Sau đó dữ liệu sẽ được phân tích thuộc tính

để đánh giá đối tượng có thuộc nhóm (cluster) virus đã biết nào hay không Nếu

phát hiện một trong các nhóm virus đã biết, đối tượng sẽ được chuyển sang phân hệ

Nhận dạng truyền thống Ngược lại, phân hệ này sẽ áp dụng kỹ thuật Hợp nhất dữ

liệu nhận dạng virus mới trước khi chuyển sang các bước xử lý tiếp theo (Hình 4.9)

Phân hệ Nhận dạng truyền thống chẩn đoán đối tượng bằng kỹ thuật truy vấn

chuỗi mã Nếu có virus, xuất báo cáo, cập nhật CSDL và CSTT Nếu không, chuyển

đối tượng sang phân hệ Nhận dạng dựa trên luật Áp dụng năm bài toán học, phân

hệ Nhận dạng dựa trên luật sẽ tiến hành chẩn đoán virus lạ cho các lớp dữ liệu tương ứng Cuối cùng, phân hệ Hội thoại sẽ phân tích kết quả, tạo các hộp thoại

giao tiếp, kết xuất báo biểu (xem sơ đồ hình 4.10, lưu đồ xử lý hình 4.11)

Trang 16

1 Tổ chức không gian quan sát:

• Phân loại đối tượng vào 1 trong 2 lớp (Có thể nhiễm, Chắc chắn sạch)

• Loại bỏ Lớp 2 để tinh giản không gian quan sát

2 Đối với mỗi điểm dữ liệu x thuộc Lớp 1, thực hiện:

• Bước 2.1: Phân tích đặc trưng

- Phân tích luật R v phân bố trị thuộc tính của x

- Nếu R v RuleSet, chuyển sang bước 2.2

- Ngược lại, nhận dạng virus mới bằng kỹ thuật Hợp nhất dữ liệu

- Chuyển đến bước 2.3

• Bước 2.2: Chẩn đoán virus hướng tiếp cận chuỗi mã

- Áp dụng các kỹ thuật nhận dạng truyền thống

- Nếu không phát hiện virus, chuyển sang bước 2.3

- Nếu phát hiện virus: điều trị, thông báo, chuyển sang bước 2.4

• Bước 2.3: Chẩn đoán dựa theo luật

- Vận dụng các bài toán nhận dạng virus dựa trên luật

- Nếu có dấu hiệu nghi ngờ: giải thích, hội thoại, tham vấn

- Cập nhật cơ sở dữ liệu, tăng trưởng cơ sở tri thức

• Bước 2.4: Lặp lại bước 2 cho các điểm dữ liệu kế tiếp

3 Thông báo kết quả, kết thúc quá trình

Hình 4.10: Tiến trình xử lý của giai đoạn Xử lý dữ liệu

Hình 4.9: Mô hình giai đoạn Xử lý dữ liệu của hệ MAV

Nhận dạng truyền thống

Đối tượng chẩn đoán

Nhận dạng dựa trên luật

Đối tượng chẩn đoán

Hội thoại Tham vấn

Đối tượng chẩn đoán

Kết quả Kết quả

Cơ sở tri thức

Kết quả Kết quả

Trang 17

Hình 4.11: Lưu đồ xử lý của giai đoạn Xử lý dữ liệu

Phân lớp, Tinh giản không gian quan sát

Còn điểm chẩn đoán ?

Phân tích điểm chẩn đoán

R v(x)∈ RuleSet ?

Truy vấn CSDL Chẩn đoán hướng truyền thống

Không phát hiện virus ?

Chẩn đoán dựa theo luật

Nghi ngờ virus ?

Phân tích, suy diễn, lập luận

Giải thích, hội thoại

Cập nhật CSDL Tăng trưởng CSTT

Chẩn đoán hướng hợp nhất dữ liệu

Kết thúc Đ

Ngày đăng: 11/04/2013, 11:29

HÌNH ẢNH LIÊN QUAN

Hình 4.1. Mô hình tổng quát của hệ Phòng chống virus máy tính - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.1. Mô hình tổng quát của hệ Phòng chống virus máy tính (Trang 2)
Bảng 4.1: Trích chọn dữ liệu đặc trưng từ các định dạng cơ bản - Thiết kế xây dựng hệ thống và thực nghiệm
Bảng 4.1 Trích chọn dữ liệu đặc trưng từ các định dạng cơ bản (Trang 5)
Hình 4.3: Ma trận dữ liệu - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.3 Ma trận dữ liệu (Trang 6)
Hình 4.2: Hai phương pháp phân cấp cụm - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.2 Hai phương pháp phân cấp cụm (Trang 6)
Hình 4.4 mô tả thuật toán ACV phân cụm CSDL bằng V-Tree. - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.4 mô tả thuật toán ACV phân cụm CSDL bằng V-Tree (Trang 7)
Bảng 4.2: Ví dụ cơ sở dữ liệu virus mẫu - Thiết kế xây dựng hệ thống và thực nghiệm
Bảng 4.2 Ví dụ cơ sở dữ liệu virus mẫu (Trang 8)
Hình 4.6 :  Cây V-Tree sau khi duyệt 3 mẫu tin - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.6 Cây V-Tree sau khi duyệt 3 mẫu tin (Trang 9)
Hình 4.5 :  Cây V-Tree sau khi duyệt 2 mẫu tin - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.5 Cây V-Tree sau khi duyệt 2 mẫu tin (Trang 9)
Hình 4.7 : Kết quả phân cụm CSDL virus bằng V-Tree - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.7 Kết quả phân cụm CSDL virus bằng V-Tree (Trang 10)
Bảng 4.3: Tính toán số lần ACV duyệt nút trên V-tree - Thiết kế xây dựng hệ thống và thực nghiệm
Bảng 4.3 Tính toán số lần ACV duyệt nút trên V-tree (Trang 11)
Hình 4.8: Thuật toán ARCRD rút luật phân cụm trực tiếp trên CSDL - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.8 Thuật toán ARCRD rút luật phân cụm trực tiếp trên CSDL (Trang 14)
Hình 4.10: Tiến trình xử lý của giai đoạn Xử lý dữ liệu Hình 4.9: Mô hình giai đoạn Xử lý dữ liệu của hệ MAV - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.10 Tiến trình xử lý của giai đoạn Xử lý dữ liệu Hình 4.9: Mô hình giai đoạn Xử lý dữ liệu của hệ MAV (Trang 16)
Hình 4.11: Lưu đồ xử lý của giai đoạn Xử lý dữ liệu - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.11 Lưu đồ xử lý của giai đoạn Xử lý dữ liệu (Trang 17)
Hình 4.12 minh họa chiến lược phân loại dữ liệu chẩn đoán giúp cải thiện tốc  độ thực thi của hệ nhờ giảm thiểu không gian quan sát và không gian truy vấn - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.12 minh họa chiến lược phân loại dữ liệu chẩn đoán giúp cải thiện tốc độ thực thi của hệ nhờ giảm thiểu không gian quan sát và không gian truy vấn (Trang 18)
Hình 4.13 mô tả thuật toán ASMCR  (Algorithm to Search for a Member - Thiết kế xây dựng hệ thống và thực nghiệm
Hình 4.13 mô tả thuật toán ASMCR (Algorithm to Search for a Member (Trang 21)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w