Thuật giải Bản đồ tự tổ chức (SOM)

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Ứng dụng bản đồ tự tổ chức SOM (self organizing map) phát hiện phát tán virus máy tính qua hành vi (Trang 34)

3.3.1 Khởi tạo:

Các véc-tơ trọng số cho từng nút trong mạng được khởi tạo. Các giá trị khởi tạo này thường được chọn một cách ngẫu nhiên và thỏa tiêu chuẩn đủ nhỏ.

3.3.2 Chọn phần tử đại diện:

Một véc-tơ sẽ được chọn ngẫu nhiên từ tập huấn luyện và trở thành phần tử đại diện của nhóm.

3.3.3 Tìm mẫu khớp tốt nhất (BMU)

Mỗi nút trên mạng sẽ được kiểm tra để tính xem nút nào có trọng số gần với véc-tơ nhập nhất. Phần tử chiến thắng được xem là phần tử so khớp tốt nhất (BMU: Best Matching Unit)

. Hình 3.3 Thuật giải tìm mẫu khớp tốt nhất BMU

 Duyệt tất cả các nút và tính khoảng cách Euclide giữa véc-tơ trọng số của mỗi nút và véc-tơ nhập hiện hành.

 Công thức để tính khoảng cách Euclide được cho như sau:

Dist = 2 0 ) ( i n i i W V    V: véc-tơ nhập hiện hành

W: véc-tơ trọng số của phần tử được chọn

 Nút có véc-tơ trọng số gần nhất với giá trị của véc-tơ nhập sẽ được chọn là BMU

3.3.4 Xây dựng các phần tử lân cận:

Bán kính lân cận của BMU sẽ được tính lại. Bán kính được xác định lớn nhất thường sẽ là bán kính của mạng, nhưng sau đó giá trị này sẽ giảm dần sau những bước thực hiện. Tất cả những phần tử nằm trong bán kính trên sẽ được xem là phần tử lân cận của BMU.

Trong mỗi vòng lặp, sau khi BMU được xác định bước tiếp theo là thực hiện lại việc tính toán trên các nút để xây dựng lại tập các phần tử lân cận mới của BMU. Các véc-tơ trọng số của các phần tử lân cận này sẽ được cập nhật lại ở bước tiếp theo.

Hình 3.4 Các phần tử lân cận của BMU

Tập các phần tử lân cận của BMU sẽ được cập nhật lại bằng cách duyệt qua các phần tử nằm trong bán kính lân cận hay véc-tơ khoảng cách của BMU.

Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của BMU được xây dựng trên véc-tơ khoảng cách sẽ được co lại sau một số lần lặp nhất định. Điều này được thực hiện bằng cách co lại bán kính của vùng lân cận theo số lần lặp.

Phép co sẽ được thực hiện theo hàm mũ nội suy sau: ... 3 , 2 , 1 exp ) ( 0         t t t   

Biểu thức: hàm mũ nội suy của phép co

σ: chiều rộng của tập dữ liệu nhập tại thời điểm t σ0: chiều rộng của tập dữ liệu nhập tại thời điểm t0

λ: hằng số thời gian t: là bước lặp hiện tại

σ0 được tính bằng công thức sau: σ0 = max(Width, Height)/2

Width: chiều rộng của mạng Kohonen Height: chiều cao của mạng Kohonen

Giá trị của hằng số λ phụ thuộc vào σ và số lần lặp để chạy giải thuật. Nó được tính theo công thức sau:

λ = N/log(σ0)

N: số lần lặp để chạy giải thuật

λ và σ sẽ được dùng để tính bán kính lân cận trong mỗi lần lặp của giải thuật.

Hình 3.5 Ví dụ về sự co lại của bán kính lân.

Khi bán kính lân cận đã được xác định, việc xác định các phần tử lân cận của BMU sẽ được thực hiện đơn giản bằng cách duyệt tất cả các phần tử trong mạng để xem nó có nằm trong bán kính lân cận hay không.

3.3.5 Hiệu chỉnh trọng số của các phần tử lân cận

Trọng số của các phần tử lân cận (được xác định ở bước d) bao gồm cả BMU sẽ được điều chỉnh để chúng có giá trị gần giống với giá trị của véc-tơ nhập hơn. Phần tử càng gần với BMU, thì trọng số của nó sẽ càng dễ bị thay đổi nhiều hơn. Các véc-tơ trọng số sẽ được hiệu chỉnh theo công thức sau:

)) ( ) ( )( ( ) ( ) 1 (t W t L t V t W t W     3.3

t: bước lặp hiện tại

L: tốc độ học (sẽ giảm dần theo số lần lặp)

Biểu thức trên cho thấy trọng số của một nút sau khi hiệu chỉnh chính là giá trị trọng cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng W và véc-tơ nhập V theo hệ số tốc độ học.

Hàm nội suy tốc độ học L(t) cho mỗi bước lặp được tính theo công thức sau: ... 3 , 2 , 1 exp ) ( 0        L t t t L

Biểu thức: hàm mũ nội suy của tốc độ học

L0: Giá trị khởi tạo ban đầu của tốc độ học. λ: hằng số thời gian

Càng tiến dần về điểm giữa thì tốc độ học sẽ càng giống với hàm mũ nội suy của phép co.

Tốc độ học sẽ được nội suy dần theo tốc độ học và giá trị của hàm sẽ tiến dần về không khi số lần lặp đạt đến những bước cuối cùng.  Dạng cải tiến của hàm hiệu chỉnh véc-tơ trọng số:

Ta nhận thấy không chỉ tốc độ học phải nội suy theo thời gian học mà tính hiệu quả của phép học SOM còn phải tương ứng thay đổi theo khoảng cách của nút hiện tại đến nơron chiến thắng.

Đặc điểm này cho thấy trong quá trình học các nơron trong vùng lận cận càng ở xa nơron chiến thắng sẽ học càng ít hơn.

Về mặt lý tưởng, số lần học phải giảm dần theo khoảng cách thỏa mãn hàm nội suy Gaussian được cho bởi đồ thị sau:

Hình 3.6 Đồ thị hàm Gaussian

Lúc này hàm hiệu chỉnh véc-tơ trọng số được biểu diễn lại như sau:

: Hàm nội suy theo thời gian học. Nó thể hiện sự tác động của khoảng cách đối với quá trình học và được tính theo công thức sau:

.... 3 , 2 , 1 ) ( 2 exp ) ( 2 2          t t dist t  

dist: là khoảng cách từ một nơron đến nơron chiến thắng.

σ: chiều rộng của tập huấn luyện tại thời điểm (được tính theo công thức(3.4))

3.3.6 Vòng lặp

Lặp lại bước 3.3.2 cho đến khi đạt được số lần lặp xác định N cho trước

3.7. Chất lƣợng “Bản đồ tự tổ chức”

Bản đồ tự tổ chức [21], những tiến trình học khác nhau tạo thành những bản đồ SOM khác nhau, khi bắt đầu với những tập dữ liệu khởi tạo mi(1) khác nhau và áp dụng những trình tự khác nhau với tập véc-tơ huấn luyện V(t), những tham số học khác nhau. Bản đồ „tốt‟ là bản đồ có (lỗi lượng tử trung bình) thấp nhất. Từ tập dữ liệu đầu vào, chúng ta có thể tạo bản đồ tốt nhất có thể. Khi so sánh những bản đồ với cùng mạng cấu trúc và tập học giống nhau, trung bình của lỗi lượng tử ║x - mc ║trên tập dữ liệu huấn luyện là chỉ mục hữu ích để so

3.5 3.6 )) ( ) ( )( ( ) ( ) ( ) (t l W t t L t V t W t W    

sánh. Do đó, bản đồ với lỗi lượng tử trung bình thấp nhất sẽ được chọn. Lỗi lượng tử hóa véc-tơ trung bình giữa các véc-tơ dữ liệu và các véc-tơ trọng số của nơ-ron trên bản đồ: 1 1 n q i c i e x m n     (3.7)

Độ đo lỗi hình học (lỗi topo): là phần trăm các véc-tơ dữ liệu đầu vào có nơ-ron chiến thắng trong lần học thứ nhất và nơ-ron chiến thắng trong lần học thứ hai không nằm lân cận nhau trong “Bản đồ tự tổ chức”. Công thức tính như sau:   1 1 n t i i e u x n    (3.8)

Với là véc-tơ đặc trưng của mẫu huấn luyện.

 i 1

u x  nếu nơ-ron chiến thắng trong lần học thứ nhất và nơ-ron chiến thắng trong lần học thứ hai không nằm lân cận nhau trong “Bản đồ tự tổ chức”.

 i 0

u x  nếu nơ-ron chiến thắng trong lần học thứ nhất và nơ-ron

chiến thắng trong lần học thứ hai nằm lân cậnnhau trong “Bản đồ tự tổ chức”.

3.8. Các phƣơng pháp trực quan minh họa “Bản đồ tự tổ chức”

Để trực quan hóa kết quả của “Bản đồ tự tổ chức”, chúng ta có rất nhiều cách mô hình hóa chúng [10] như sau:

Hình 3.7. Ma trận U

Hình 3.8 Không gian điểm

Hình 3.9. Biểu đồ cột với mỗi ô là một nơron của “Bản đồ tự tổ chức” Ngoài ra, còn có các dạng biểu đồ khác như: cấu trúc nhóm, mật độ phân bố, nhóm dữ liệu…

3.9. Phƣơng pháp tìm ngƣỡng cảnh báo

Nhằm đánh giá hiệu quả của hệ thống phát hiện xâm nhập, chúng ta thường dùng các độ đo như sau: độ chính xác (accuracy), độ đo truy hồi (recall), độ rõ ràng (precision).

 TN (True Negative): trường hợp mạng bình thường và không cảnh báo.

 TP (True Positive): trường hợp mạng bị tấn công và có cảnh báo.

 FN (False Negative): trường hợp mạng bị tấn công nhưng không cảnh báo.

 FP (False Positive): trường hợp mạng bình thường nhưng lại cảnh báo tấn công. (3.15) TN TP Accuracy TN TP FN FP TP Recall TP FN TP Precision TP FP            

Muốn hệ thống dự báo tốt, chúng ta phải đảm bảo accuracy, recall, precision cao.

* Để xác định được ngưỡng cảnh báo phù hợp phải thỏa điều kiện tỉ lệ cảnh báo sai thấp nhất. Cảnh báo sai gồm 2 loại:

False negative (FN): có tấn công nhưng ứng dụng không cảnh báo vì chưa đạt được đến ngưỡng cảnh báo cần thiết.

False positive (FP): trong tình trạng bình thường nhưng ứng dụng vẫn cảnh báo là có tấn công do lưu lượng bình thường này đạt đến ngưỡng cảnh báo.

Nếu để ngưỡng cảnh báo thấp sẽ phát hiện tấn công kịp thời, nhưng khả năng FP cao, vì lúc đó tình trạng bình thường nhưng ứng dụng vẫn cảnh báo. Ngược lại, nếu để ngưỡng cảnh báo cao thì tình trạng FP thấp nhưng lúc đó nhiều cuộc tấn công ứng dụng không nhận dạng ra được do chưa đạt đến

3.9 3. 10

ngưỡng cảnh báo. Như vậy, việc đưa ngưỡng cảnh báo vào phải làm sao „cân bằng‟ được giữa FN và FP.

Trong quá trình huấn luyện, chúng ta sẽ cập nhật ngưỡng của từng nơ-ron theo phương pháp sau:

Bước 1: Khởi tạo ngưỡng icủa từng nơ-ron bằng 0.

0

i

  (3.12)

Bước 2: Gọi d là khoảng cách từ mẫu đầu vào x đến nơ-ron chiến thắng i Nếu d i thì:

i d

  (3.13)

Sau đó, trong quá trình tấn công, chúng ta so sánh khoảng cách dx (từ những mẫu tấn công x đến nơron chiến thắng BMUx của chúng) với ngưỡng của nơron BMUx. Để hạn chế tình trạng có tấn công nhưng không cảnh báo thì chúng ta thay đổi ngưỡng sao cho phù hợp (giá trị được thay đổi dựa vào quá trình dò tìm thực tế và kinh nghiệm của người quản trị hệ thống máy).

3.10. Phát hiện tấn công ứng dụng “Bản đồ tự tổ chức” (mã giả)

Quá trình học

Với những nơron trọng số của mỗi nơ-ron (khởi tạo):

 1 2 

W= w w, ,...,wn (3.14)

Những véc-tơ trọng số của những nơron chiến thắng sau quá trình huấn luyện là:

 

BMU

W = w wm, k,...,wq (3.15) Ngưỡng cảnh báo i của từng nơron trong “Bản đồ tự tổ chức”:

 1, 2,..., n

     (3.16)

Quá trình phát hiện xâm nhập bất thƣờng

Kiểm tra từng mẫu trong quá trình dò tìm.

For xÎMt do

Tính khoảng cách từ véc-tơ x đến tất cả các véc-tơ wi End For   min , x i dd x w (3.17) x

w và xlà véc-tơ trọng số và ngưỡng của nơ-ron chiến thắng khi dùng mẫu thử x. If wxWBMU then x là bất thường Else If dx x then x là bình thường Else x là bất thường End If End For

3.4 Ƣu và nhƣợc điểm của SOM 3.4.1 Ƣu điểm 3.4.1 Ƣu điểm

Giải thuật SOM được sử dụng trọng việc gom cụm các loại dữ liệu và trực quan hóa chúng trên các bản đồ nhằm đơn giản hóa quá trình khai thác và thu thập dữ liệu.

3.4.2 Nhƣợc điểm

 Bên cạnh những ưu điểm, SOM cũng có một số những nhược điểm sau:

 Mất mát thông tin

 Do sự khởi tạo ngẫu nhiên nên kết quả cuối cùng của bản đồ sẽ khác nhau

CHƢƠNG 4: CÁCH THỨC PHÁT TÁN CỦA VIRUS, WORM VÀ MỘT SỐ VẤN ĐỀ LIÊN QUAN

4.1. Các cơ chế phát hiện phát tán virus máy tính

Hơn 20 năm qua, virus máy tính đã gây nguy hại cho nhiều hệ thống Công nghệ thông tin trên thế giới. Các nhà khoa học đã tốn nhiều công sức nghiên cứu, xây dựng các hệ phòng chống virus máy tính theo nhiều hướng tiếp cận, kỹ thuật khác nhau. Cho đến nay, có ba kỹ thuật nhận dạng virus máy tính đã được áp dụng:

 Dựa vào chuỗi nhận dạng virus (signature-based approach),

 Dựa vào hành vi nghi ngờ virus (suspicious behavior-based approach)

 Dựa vào ý định virus (intention-based approach).

4.1.1. Phát hiện virus dựa vào chuỗi nhận dạng

Hoạt động theo nguyên lý nhận dạng mẫu, các chương trình Anti Virus sử dụng một cơ sở dữ liệu chứa mẫu virus (ID-virus library). Mỗi khi có virus mới, các chuyên gia anti-virus sẽ giải mã, trích chọn và cập nhật chuỗi nhận dạng virus vào thư viện. [2]Thông tin về đối tượng chẩn đoán (ghi nhận từ hệ thống đích) cùng với thông tin của virus (trong thư viện mẫu) sẽ cho kết luận về tình trạng của đối tượng.

[1] Nhận dạng mẫu giúp chương trình AV (Anti Virus) phát hiện các virus đã biết trên tập dữ liệu chẩn đoán với độ chính xác cao. Tuy nhiên phương pháp này có khá nhiều nhược điểm:

 Cồng kềnh: Kích thước thư viện mẫu tỷ lệ thuận với số virus đã cập nhật và tỷ lệ nghịch với tốc độ tìm kiếm.

 Bị động: Chương trình AV chỉ hiệu quả trên các mẫu virus đã cập nhật, không đáp ứng kịp thời dịch bệnh do tốn thời gian cho việc thu thập mẫu virus mới, giải mã, phân tích, lập thuật giải, cập nhật phiên bản mới, phát hành…

 Nhầm lẫn: Các hacker cố gắng tạo vỏ bọc an toàn cho virus. Khi chương trình Anti Virus so mẫu chẩn đoán giống với virus, dữ liệu sạch của hệ thống sẽ bị tẩy (clean) nhầm.

4.1.2. Phát hiện virus dựa vào hành vi

Tiếp cận này nghiên cứu virus máy tính dưới góc độ thi hành của tập mã lệnh. Cũng là chương trình máy tính, nhưng khác với các phần mềm hữu ích, virus chỉ chứa các lệnh nguy hiểm. Nghiên cứu trật tự, quy luật hình thành các lệnh máy của virus, tiếp cận này dựa vào khái niệm hành vi để xây dựng cơ chế nhận dạng thông qua tập các thủ tục hành vi của chúng.

Sử dụng tri thức hành vi từ kinh nghiệm chuyên gia nên tiếp cận này còn gọi là phương pháp heuristic. Do các virus giống nhau thường có hành vi như nhau nên có thể nhận dạng các virus cùng họ. Tuy nhiên khó phân biệt được các hành vi giống nhau nhưng mục đích khác nhau (ví dụ các phần mềm thường tạo và xóa tập tin tạm, trong khi virus tạo bản sao chính nó và xóa dữ liệu người dùng…)

4.1.3. Phát hiện virus dựa vào ý định

Do hãng Sandrasoft (Ấn Độ) đề xướng từ năm 2005, tiếp cận intention- based (tên mã Rudra) lưu giữ hình ảnh chi tiết của máy tính trong tình trạng sạch, sau đó tiếp tục theo dõi trạng thái hệ thống. Những thay đổi quan trọng trong tập tin, cấu hình hệ thống hay hệ điều hành đều được cảnh báo như một mối hiểm họa tiềm tàng. Khi những thay đổi này được đánh giá nguy hiểm, hệ sẽ khôi phục máy về tình trạng ban đầu. Mặc dù đơn giản nhưng tiếp cận này tỏ ra khá hiệu quả vì nó có thể bảo vệ máy tính khỏi các mối đe dọa chưa được biết đến, kể cả virus máy tính. Trong thực tế, tiếp cận “quay về quá khứ” đã được nhiều hãng phần mềm hệ thống sử dụng: Symantec [30] có Norton Ghost và Norton Goback; VMware [33] có System Image Snapshot; Faronics [24] có Deep Freeze… Bản thân Windows XP cũng có chức năng phục hồi hệ thống bằng System Restore. Tuy nhiên tiếp cận này kém hiệu quả khi các điểm trạng

thái được ghi nhận lúc hệ thống bị nhiễm virus lạ. Mặt khác, hệ cũng cần bộ nhớ ngoài đủ lớn để lưu toàn bộ hình ảnh hệ thống qua từng thời điểm.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Ứng dụng bản đồ tự tổ chức SOM (self organizing map) phát hiện phát tán virus máy tính qua hành vi (Trang 34)

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

(105 trang)