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 đố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 đố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 đố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 tốn học, phân hệ Nhận dạng dựa trên luật sẽ tiến hành chẩn đố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).
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 Rv phân bố trị thuộc tính của x
- Nếu Rv∈ 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 đố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 đốn dựa theo luật
- Vận dụng các bài tố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
Cơ sở dữ liệu tri thCơ sứởc Đối tượng chẩn đốn Phân loại dữ liệu Hợp nhất dữ liệu Đối tượng chẩn đốn Đối tượng chẩn đốn Nhận dạng truyền thống Đối tượng chẩn đốn Nhận dạng dựa trên luật Đối tượng chẩn đốn Hội thoại Tham vấn Đối tượng chẩn đốn Kết quả Kết quả Cơ sở tri thức Kết quả Kết quả
- 78 -
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 đốn ? Phân tích điểm chẩn đốn Rv(x)∈ RuleSet ? Truy vấn CSDL Chẩn đốn hướng truyền thống Khơng phát hiện virus ? Chẩn đố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 đốn hướng hợp nhất dữ liệu Kết thúc Đ S Đ S Đ S Đ S Bắt đầu Tập chẩn đốn Cập nhật CSDL Tăng trưởng CSTT
4.4.1. Phân loại dữ liệu chẩn đốn
Do virus máy tính chỉ lây vào các đối tượng chứa mã thi hành nên khơng phải đối tượng nào cũng nhiễm virus. Nĩi cách khác, chỉ một số đối tượng là cĩ nguy cơ nhiễm (+), phần cịn lại chắc chắn sạch (-). Ngay cả trong số đối tượng nguy cơ, khơng phải đối tượng nào cũng nhiễm virus. Cơng tác phân loại thực hiện hai nhiệm vụ: (i) giữ lại các điểm (+), loại bớt các điểm (-) an tồn khỏi khơng gian quan sát và (ii) ước lượng nhĩm (cluster) virus mà mỗi điểm (+) cĩ thể thuộc về, nhằm hạn chế các truy vấn khơng cần thiết trên các mẫu virus khơng liên quan.
Hình 4.12 minh họa chiến lược phân loại dữ liệu chẩn đố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.
4.4.1.1. Phân loại đối tượng
Mục tiêu của giai đoạn này là phân tích các đặc trưng giống nhau của x với các phần tử trong tập Sđể gán chúng vào một trong các lớp. Khi tất cả các điểm dữ liệu đã được gán nhãn, dữ liệu sạch (khơng thuộc các lớp cĩ nguy cơ) được loại khỏi khơng gian quan sát trước khi chuyển hệ sang các giai đoạn tiếp theo.
Hình 4.12:Chiến lược phân loại dữ liệu chẩn đốn
+ + + + + + + - - - - - - - - + + + + + + + - - Truy vấn luật phân nhĩm Phân lớp Khơng gian quan sát
Cơ sở dữ liệu Mẫu virus 1 Mẫu virus 2 Mẫu virus j (…) (…) Mẫu virus k Mẫu virus K Cluster 1 Cluster 2 (…) Cluster i (…) Cluster N Cluster n Tập luật phân bố nhĩm
Khơng gian truy vấn Khơng gian quan sát
- 80 -
MAV sử dụng phương pháp phân loại láng giềng gần nhất (Nearest Neighbor) để phân loại đối tượng chẩn đốn, dạng tổng quát như sau:
fs(x) = yi’ với ||xi’- x||χ = minxi∈S ||xi-x||χ, yi = {-1,1} Tập huấn luyện S gồm n cặp (x1, y1), (x2, y2),…,(xn, yn), trong đĩ:
- xi là các vector mẫu đặc trưng của các lớp dữ liệu cĩ nguy cơ nhiễm virus. - yi∈{1..C} là nhãn của vector xi.
Yêu cầu đặt ra là xác định x thuộc lớp nào trong các lớp đã biết (xác định nhãn y’ cho vector đối tượng x). Dựa vào nguyên tắc học thể hiện (instance-based learning), ý tưởng của phương pháp 1-NN như sau:
- Tìm các thể hiện (mẫu) tương tự với x trong tập huấn luyện.
- Chọn nhãn cho x từ các nhãn của các mẫu tương tự trong tập huấn luyện, là nhãn của láng giềng gần nhất tìm được.
Vấn đề cơ bản trong luật NN là tính tốn khoảng cách từđiểm dữ liệu x chưa được phân lớp đến mỗi điểm xi thuộc lớp thứ nhất và xj thuộc lớp thứ hai trong tập luyện (vector đối tượng x được biểu diễn dưới dạng 〈a1(x), a2(x), …, an(x)〉). Trong bài tốn 1-NN, độđo khoảng cách Euclideđược tính bằng cơng thức:
d(xi,xj) = 2 1 )) ( ) ( ( r i r j n r x a x a − ∑ =
Trong đĩ ar(x) là giá trị của thuộc tính thứr của x. Thuật tốn K-láng giềng gần nhất được mơ tả như sau:
- Thuật tốn huấn luyện: Với mỗi mẫu luyện 〈x, f(x)〉
Bổ sung mẫu 〈x, f(x)〉 vào tập mẫu luyện
- Thuật tốn phân lớp:
Cho mẫu truy vấn xq cần phân lớp
Gọi x1, x2,…, xk là k mẫu trong kho mẫu huấn luyện gần xq nhất Xác định nhãn f(xq) của mẫu xq từ nhãn f(x1), f(x2),…, f(xk)
Phương pháp học dựa vào thể hiện nĩi chung, phân lớp theo k-láng giềng nĩi riêng, là các tiếp cận xấp xỉ hàm mục tiêu cĩ giá trị rời rạc hoặc liên tục. Việc học trong những thuật tốn này chỉđơn giản là lưu trữ dữ liệu huấn luyện. Khi cần phân loại đối tượng mới, một tập các đối tượng “gần giống” hay “tương tự” sẽđược chọn ra từ kho dữ liệu huấn luyện cĩ sẵn và sử dụng để phân loại đối tượng mới. Thuận lợi rõ nét nhất của phương pháp này là khi hàm mục tiêu thật sự phức tạp nhưng vẫn cĩ thểđược mơ tả bằng một tập các hàm xấp xỉ cục bộ ít phức tạp hơn. Do đĩ mơ hình này tỏ ra rất phù hợp với bài tốn phân loại đối tượng cĩ nguy cơ nhiễm virus.
Tuy nhiên phương pháp này cũng cĩ một số hạn chế. Thứ nhất, chi phí cho việc phân lớp đối tượng cĩ thể tốn kém do gần như tồn bộ việc tính tốn diễn ra trong giai đoạn phân loại dữ liệu chẩn đốn chứ khơng phải lúc huấn luyện. Do đĩ cần đưa thêm các kỹ thuật lập chỉ mục hiệu quảđể rút ngắn thời gian tính tốn lúc phân loại đối tượng mới. Thứ hai, nếu đặc trưng để phân loại đối tượng chỉ phụ thuộc vào một số ít trong số nhiều thuộc tính sẵn cĩ của các đối tượng thì những đối tượng thật sự “tương tự” nhất cĩ thể cách nhau rất xa [49].
Cĩ nhiều phương pháp khắc phục hạn chế của phương pháp k-láng giềng gần nhất. NNSRM - Nearest Neighbor Rule-based Structural Risk Minimization [40] là phương pháp đơn giản sử dụng kỹ thuật sắp xếp các cặp khoảng cách trong giai đoạn khởi tạo. Trong MAV, NNSRMđược áp dụng như sau:
• Giai đoạn khởi tạo:
- Tính tốn các cặp khoảng cách ||xi –xj||χ cho các xi và xj
- Sắp xếp các khoảng cách tăng dần d(0), d(1),…
• Giai đoạn phân lớp:
- Khởi đầu u=1 và S={xi, xj} với ||xi –xj||χ = d(0)
- Đối với mỗi điểm x thuộc khơng gian quan sát:
- Tìm xi trong lớp 1 và xj trong lớp 2 sao cho ||xi –xj||χ = d(u) - Cập nhật S ← S ∪ {xi, xj}
- 82 -
Khi tất cả các điểm dữ liệu được gán nhãn, lớp thứ hai (khơng cĩ nguy cơ nhiễm virus) sẽ được loại bỏ để giảm kích thước khơng gian quan sát. Thuật tốn đảm bảo cho kết quả do tập tham khảo được tổ chức gồm tất cả các mẫu thuộc lớp cĩ nguy cơ nhiễm virus, do đĩ các hàm phân lớp sẽ cĩ sai số luyện bằng 0 [42].
4.4.1.2. So khớp luật phân nhĩm
Mục tiêu của bước này là phân tích xem mỗi điểm dữ liệu cĩ thuộc về một nhĩm (cụm) virus đã biết nào hay khơng. Mỗi điểm dữ liệu chẩn đốn được biểu diễn dưới dạng vector a1(x), a2(x),…, an(x). Gọi Rv(x) là luật phân bố trị thuộc tính của điểm chẩn đốn x, bài tốn so khớp luật được phát biểu như sau:
Vào: - Vector dữ liệu chẩn đốn x = 〈a1(x), a2(x),…, an(x)〉
- Luật phân bố trị thuộc tính của điểm chẩn đốn Rv(x) - Tập luật phân nhĩm RuleSet
Ra: - Rv(x)∈RuleSet: x thuộc một trong các nhĩm virus đã biết - Rv(x) ∉ RuleSet: x khơng thuộc nhĩm virus đã biết nào
Hình 4.13 mơ tả thuật tốn ASMCR (Algorithm to Search for a Member Clustering Rule from Ruleset) so khớp luật Rv(x) trong Ruleset.
i ← 0 Found ←False REPEAT Rv ←∅ FOR j=1 TO n DO Rv ←Rv + aj(x) i ← i+1 Found ← (Rv=RuleSet[i])
UNTIL Found OR (i>SizeOf(RuleSet)) IF NOT Found THEN Return(Nil)
ELSE Return(RuleSet[i].Header) ENDIF
Sau khi thực hiện thuật tốn ASMCR, cĩ hai trường hợp xảy ra:
1. Kết quả trả về một danh sách: điểm chẩn đốn cĩ thể chứa một trong các virus thuộc danh sách này. Chuyển x sang bước nhận dạng dựa trên luật. 2. Kết quả trả về NIL: x khơng thuộc nhĩm virus đã biết nào, xử lý đối tượng
bằng kỹ thuật hợp nhất dữ liệuđểước lượng mẫu virus tương tự gần nhất.
4.4.2. Chẩn đốn virus bằng kỹ thuật hợp nhất dữ liệu
4.4.2.1. Tinh chế dữ liệu trong tiến trình khám phá tri thức
Quá trình rút thơng tin cĩ giá trị từ CSDL của các hệ học phụ thuộc vào nhiều yếu tố, đặc biệt là chất lượng dữ liệu trên tập mẫu. Ngoại trừ các nguồn dữ liệu tin cậy, phần lớn dữ liệu được sử dụng từ nhiều nguồn khác nhau với chất lượng khơng đồng đều. Chỉ một phần dữ liệu trong số này là thật sự cĩ ích. Phần cịn lại thường bị nhiễu do dữ liệu thu thập khơng chính xác hoặc khơng đầy đủ. Nếu xử lý nhiễu khơng tốt, chất lượng của quá trình khai phá dữ liệu sẽ bị ảnh hưởng, làm mất tính tổng quát của tri thức được khám phá.
Trong các hệ KDD, tinh chế dữ liệu (data refinement) là giai đoạn xử lý các trường hợp dư thừa và khơng đầy đủ thơng tin (xem Chương 2, Tiến trình khám phá tri thức). Nghiên cứu các trường hợp dữ liệu khơng chắc chắn hoặc thiếu sĩt, các bài tốn xử lý nhiễu tìm cách lấp đầy các giá trị NULL bằng giá trị cĩ nghĩa.
4.4.2.2. Tinh chế dữ liệu NULL bằng kỹ thuật hợp nhất dữ liệu
Cĩ nhiều phương pháp tinh chế dữ liệu NULL. Hợp nhất dữ liệu (Data Fusion) là kỹ thuật thu thập dữ liệu của nhiều bảng từ nhiều nguồn khác nhau để nhận được một bảng dữ liệu hồn chỉnh. Xét hai bảng dữ liệu: bảng thứ nhất chứa tập p+q các biến trên n0 bộ, bảng thứ hai chỉ chứa tập con các biến p trên n1 bộ. Trong một số trường hợp, n0 là nhỏ so với n1. Gọi Xđại diện cho các biến đầy đủ và
Yđại diện cho các biến thiếu sĩt, ta cĩ hình ảnh sau:
X0 Y0
- 84 -
Một trong các phương pháp lấp đầy các biến Y là sử dụng các thuật giải lân cận cực tiểu để chép (copy) và dán (paste) dữ liệu từ bảng Cho (nguồn) vào bảng Nhận (đích). Hình 4.14 mơ tả ý tưởng cơ bản của phương pháp này: ứng với mỗi biến i NULL của bảng Nhận, tìm j trong các biến X của bảng Cho sao cho khoảng cách d(i, j) là tối thiểu (G. Saporta, 2002) [32].
4.4.2.3. Virus lạ và dữ liệu NULL
Các anti-virus sử dụng CSDL mẫu virus dạng 〈a1(x), a2(x),…, an(x)〉. Mỗi khi nhận được virus mới, các chuyên gia anti-virus sẽ phân tích và cập nhật chính xác
mẫu virus xi vào thư viện. Nhận dạng virus đã biết (known virus) là quá trình truy vấn dữ liệu chắc chắn (đầy đủ thơng tin) trên CSDL. Virus lạ (unknown virus) là virus chưa được cập nhật vào CSDL.
Gọi S là tập mẫu của anti-virus AV, xđược gọi là virus lạđối với AV khi và chỉ khi x∉ S. Tổng quát, gọi X là tập các virus lạ, vậy thì S ∩ X = ∅. Bài tốn so khớp chỉ thành cơng khi cĩ đủ dữ liệu chính xác. Giả sử virus v biến thể thành virus
x = (a1, a2, …, bu,…, an). Khi vận dụng luật suy diễn (4.1) để chẩn đốn virus x, kết quả hiển nhiên là ¬qv do tồn tại ít nhất một bu≠au (u=1÷n). Virus máy tính là đối tượng mang thơng tin. Khi thiếu thơng tin (do virus chưa được cập nhật vào CSDL), các AV sẽ khơng phát hiện được virus mới.
X0 Y0
X1 ? J
I
Nearest neightbour Imputation
Donor file
Recipient file
Thực tế, ngoại trừ số ít các mầm độc khởi thủy (germ), phần lớn virus máy tính được phát triển qua nhiều phiên bản [53] hình thành nên các họ (family) virus (ví dụ các họ virus Netsky, Bugbear, Mydoom, Sobig,…). Mỗi thành viên trong họ đều kế thừa ít nhiều mã lệnh từ các phiên bản trước. Hình 4.15a biểu thị histogram
của sâu trình Klez.a.worm.W32, hình 4.15b là của Klez.h.worm.W32 - biến thể thứ bảy kể từ phiên bản đầu tiên của họ virus này. Biểu diễn mối tương quan giữa mã chỉ thị (0-255) và vị trí (0-255) của mã chỉ thị trong tập mã lệnh virus, biểu đồ này cung cấp hình ảnh trực quan về sự tương tự mã lệnh của các virus trong cùng họ.
Giả sử các virus x và virus v chỉ khác biệt nhau một trị thuộc tính thứu (tức là X-V = {au, bu}). Do sai sĩt khi cập nhật V, chuyên gia đã đưa vào trị bu thay vì au. Kết quả là khi sử dụng CSDL này, AV sẽ phát hiện virus x thay vì virus v.
Tình huống giảđịnh này cho thấy mối liên hệ giữa dữ liệu NULL trong các hệ KDD và các trị thuộc tính mới của biến thể virus. Trong ví dụ trên, các trị thuộc tính bu của một virus mới cĩ ‘tác hại’ tương đương với các ơ dữ liệu khơng chắc chắn trong CSDL virus. Nĩi cách khác, nếu xem các giá trị khác biệt bu trên mẫu chẩn đốn như dữ liệu NULL, việc dự báo virus mới cĩ thể thực hiện được bằng các thuật giải xử lý nhiễu trong giai đoạn tinh chế của các hệ KDD.
0 50 100 150 200 256 1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256
(b). Executable code sequence of virus Klez.h.worm.W32
V al ue of E xec uta b le C ode 0 50 100 150 200 1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256
(a). Executable code sequence of virus Klez.a.worm.W32
V al ue of E xec uta b le C ode 256 Hình 4.15a: Biểu đồ mã lệnh của virus
- 86 -
4.4.2.4. Dự báo virus lạ bằng kỹ thuật hợp nhất dữ liệu
Nếu số tập hành vi biến dạng của x so với v là đủ nhỏ, bài tốn suy luận khả năng x là biến thể của virus vđược phát biểu như sau: