Tải bản đầy đủ
2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu

2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu

Tải bản đầy đủ

42
chúng không thể phát hiện các cuộc tấn công mới không có trong cơ sở dữ liệu. So với
các phương pháp truyền thống thì Khai phá dữ liệu mang lại nhiều điểm cải tiến rõ rệt:
khai phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ,
biến đổi liên tục, đặc biệt là phương pháp này đòi hỏi mức độ sử dụng các chuyên gia
không quá thường xuyên. Các ưu điểm này đem lại cho phương pháp phát hiện xâm
nhập trái phép bằng Khai phá dữ liệu khả năng xử lý khối lượng dữ liệu lớn, có thể sử
dụng trong các hệ thống thời gian thực.

3.2.1 Đánh giá chung về hệ thống
Các kỹ thuật phát hiện xâm nhập dựa trên khai phá dữ liệu thường được chia làm
2 loại: phát hiện dựa trên dò sự lạm dụng và phát hiện bất thường. Trong phát hiện dò
sự lạm dụng, các mẫu trong tập dữ liệu được gán nhãn là “bình thường” hoặc “bất
thường” và một thuật toán học được áp dụng cho toàn bộ các dữ liệu đã gán nhãn. Kỹ
thuật này sẽ được sử dụng trên các tập dữ liệu đầu vào khác nhau để phát hiện tấn
công. Không giống với các hệ thống phát hiện xâm nhập dựa trên dấu hiệu, các mô
hình của phương pháp dò sự lạm dụng được tạo ra một cách tự động và có thể tinh vi
và chính xác hơn so với các dấu hiệu được tạo ra một cách thủ công. Một ưu điểm nổi
bật của phương pháp phát hiện dò sự lạm dụng là phát hiện ra các hành vi tấn công đã
biết và các biến thể của chúng có tính chính xác cao. Tuy nhiên nhược điểm dễ thấy
của phương pháp này là khó có thể phát hiện các hành vi tấn công mang các đặc điểm
đặc biệt chưa từng biết đến cũng như nó đòi hỏi phải gán nhãn bình thường hoặc bất
thường việc này mất rất nhiều thời gian của các chuyên gia. Trong khi đó, phương
pháp phát hiện bất thường xây dựng những mô hình về biểu hiện bất và đánh dấu
những nghi vấn trong tập dữ liệu. Vì vậy kỹ thuật này có khả năng xác định các dạng
xâm nhập mới chưa được biết đến trước đó. Mặc dù chúng ta có thể nhận thấy sự ưu
việt, mạnh mẽ của phương pháp này, nhưng chúng vẫn ẩn chứa một tỷ lệ báo động
nhầm nhất định. Điều này là do các biểu hiện hệ thống chưa từng thấy trước đó (nhưng
vẫn hợp lệ) bị liệt vào danh sách các bất thường và bị đánh dấu như các hành vi tiềm
ẩn sự xâm nhập.
Nói chung chúng ta thường gặp 2 loại tấn công vào hệ thống [5] : loại tấn công
liên quan đến các kết nối đơn lẻ và loại tấn công liên quan đến nhiều kết nối(bursty

43
attacks – tấn công bùng nổ). Giả sử trong 1 giao thông mạng tại 1 thời điểm nào đó cho
trước, mỗi kết nối được gán 1 giá trị và được biểu thị theo 1 đường nằm dọc (hình
3.1). Giá trị này sẽ tương ứng với khả năng mà kết nối mạng bị xâm nhập.

Hình 3.1 : Gán giá trị để lượng hóa các cuộc tấn công trên sơ đồ.
Đại lượng đo lường phát sinh đầu tiên tương ứng với phần diện tích bề mặt giữa
đường tấn công thực sự và đường tấn công giả định (bề mặt được gạch chéo \\\ như
minh họa ở hình 3.1 – surface area). Nếu diện tích bề mặt dưới đường tấn công thực
càng nhỏ thì thuật toán phát hiện xâm nhập càng hiệu quả. Tuy nhiên bản thân diện tích
bề mặt chưa đủ để nắm bắt đầy đủ những khía cạnh khác của thuật toán phát hiện xâm
nhập (ví dụ có bao nhiêu kết nối liên quan đến 1 tấn công, hay mất bao nhiêu thời gian
để thuật toán xử lý phát hiện xâm nhập, vv… ). Vì vậy, các đại lượng đo lường khác có
thể được dùng giúp mổ tả rõ ràng các vấn đề. Chúng được định nghĩa như sau:


Tỉ lệ phát hiện tấn công bùng nổ (BRD) được xác định cho mỗi cuộc tấn công
bùng nổ và nó biểu thị tỉ số giữa tổng số kết nối mạng mang tính xâm nhập n di có
điểm số cao hơn ngưỡng xác định trước trong tấn công mang tính bùng nổ và
tổng số những kết nối mạng mang tính xâm nhập trong các điểm đầu cuối tấn
công (Hình 3.1)



Thời gian phản ứng (tresponse)là khoảng thời gian bắt đầu từ khi xuất hiện tấn
công đến khi kết nối mạng đầu tiên tìm được giá trị cao hơn ngưỡng đã định
trước
(xem tresponse phản ứng ở hình 3.1)

44

3.2.2 Phần tử dị biệt
Chúng ta biết rằng trong Khai phá dữ liệu có một lớp bài toán là “phát hiện phần
tử dị biệt – Outlier Detection”. Nhiệm vụ của lớp bài toán này là tìm ra các phần tử có
đặc điểm khác biệt nhất trong một tập dữ liệu đã cho. Nếu ta coi dữ liệu mạng cần
quan sát là một tập dữ liệu cho bài toán phát hiện phần tử dị biệt, các phần tử là các
hành động bình thường trên mạng thì các phần tử dị biệt có thể tương ứng với các hành
động tấn công. Như vậy chúng ta có thể đưa bài toán phát hiện bất thường về bài toán
phát hiện phần tử dị biệt trong Khai phá dữ liệu.

Hình 3.2 : Minh họa bài toán phát hiện phần tử dị biệt.
Hầu hết các phương pháp tiếp cận phát hiện xâm nhập đã biết đều cố gắng xây
dựng 1 loại mô hình trên các dữ liệu thông thường và sau đó kiểm tra mức độ thích
hợp của những dữ liệu mới với mô hình đó từ đó rút ra kết luận bất thường là những
mẫu chưa từng được quan sát trước đó. Với cách tiếp cận theo phương pháp phát hiện
phần tử dị biệt thì bất thường là mẫu có nhiều khác biệt nhất so với các phần tử còn lại.
Dị biệt (Outlier) là gì? Trong cuốn sách “Statistical Design and Analysis of
Experiments”, các tác giả Mason, Gunst, và Hess định nghĩa outlier như sau: “dị biệt là
các giá trị cực so với các giá trị khác được quan sát trong cùng một điều kiện. Outlier
có thể là một giá trị đơn lẻ, nhưng cũng có thể là giá trị từ hai hay nhiều biến số.”
Vấn đề ở đây là thế nào là “giá trị cực”? Thật là khó trả lời. Không có câu trả lời
định tính, nhưng có thể có câu trả lời định lượng. Có nhiều cách để đánh giá xem một
số liệu có phải là outlier hay không.

45
Trong kỹ thuật phát hiện điểm dị biệt dựa trên số liệu thống kê, các điểm dữ liệu
được mô hình hóa bằng 1 bảng phân phối ngẫu nhiên. Các điểm này có được coi là
thuộc vùng biên hay không sẽ phụ thuộc vào mối quan hệ của chúng với mô hình. Tuy
nhiên, với mật độ lớn và ngày càng tăng, việc ước lượng bảng phân phối đa chiều của
các điểm này ngày càng trở nên phức tạp và thiếu chính xác. Những thuật toán phát
hiện dị biệt mà chúng ta sử dụng sẽ xem xét dưới đây lại dựa vào việc tính toán các
khoảng cách không gian giữa các điểm và tính toán mật độ của các điểm lân cận.

3.2.2.1 Phương pháp điểm lân cận gần nhất (NN)
k

Phương pháp này dựa trên khoảng cách D (O) [5] của điểm lân cận gần nhất thứ
k

k tính từ gốc/ điểm O. Ví dụ những điểm có các giá trị D (O) lớn hơn thường có các
điểm lân cận thưa thớt và chúng có khả năng là điểm dị biệt hơn những điểm nằm
trong các cụm dày đặc. Trong phương pháp này, chúng ta chọn k = 1 và xác định 1
“ngưỡng xem xét” để quyết định liệu điểm đó có phải là 1 dị biệt hay không. Ngưỡng
này chỉ dựa trên các dữ liệu luyện tập và nó được giới hạn trong 2%. Đối với toàn bộ
các điểm dữ liệu trong bảng dữ liệu(giả sử chúng đều là dữ liệu bình thường), ngưỡng
đó được tính dựa trên khoảng cách giữa chúng tới những điểm lân cận gần nhất, sau đó
được sắp xếp lại. Những điểm dữ liệu kiểm tra nào có khoảng cách tới các điểm lân
cận gần nhất lớn hơn ngưỡng đã định sẽ được xếp vào các dữ liệu dị biệt.

Hình 3.3 : Minh họa phương pháp điểm lân cận gần nhất phát hiện phần tử dị biệt.

46

3.2.2.2 Phương pháp pháp hiện điểm dị biệt dựa trên khoảng cách
Mahalanobis
Như đã biết dữ liệu để đào tạo trong mô hình tương ứng với các hành vi bình
thường từ đó có thể tính ra được Trung vị và Độ lệch chuẩn của dữ liệu bình thường.
Khoảng cách Mahalanobis giữa điểm dữ liệu p và Trung vị µ được tính như sau:

Trong đó tổng Σ là ma trận hiệp phương sai của các dữ liệu bình thường. Tương
tự như phương pháp trước, ngưỡng sẽ được tính dựa trên những điểm có khoảng cách
gần nhất tính từ giá trị của các dữ liệu bình thường và nó bằng 2% trong tổng số các
điểm. Mọi điểm dữ liệu kiểm tra có khoảng cách tới trung vị của các dữ liệu đào tạo
bình thường lớn hơn ngưỡng đã định sẽ được xếp vào dạng phần tử dị biệt.
Việc tính khoảng cách theo hệ mét Ơclit chuẩn không phải lúc nào cũng chính
xác, nhất là khi các dữ liệu được phân bố giống như hình minh họa dưới đây. Bằng
cách sử dụng hệ mét Ơclit, khoảng cách giữa p2 và điểm lân cận gần nó nhất lớn hơn
khoảng cách từ điểm p1 đến điểm lân cận gần nó nhất. Rõ ràng trong trường hợp này,
phương pháp dựa trên khoảng cách Mahalanobis sẽ hiệu quả hơn phương pháp hệ mét
Ơ-cơ-lit. [5]

Hình 3.4 : Ưu điểm của phương pháp dựa trên khoảng cách Mahalanobis khi tính các
khoảng cách.

47

3.2.2.3 Thuật toán LOF
Ý tưởng chủ đạo của phương pháp này là gắn cho mỗi mẫu dữ liệu 1 mức độ dị
biệt nào đó, được gọi là nhân tố dị biệt địa phương ( Local Outlier Factor). Như vậy
đối với từng mẫu, mật độ phần tử lân cận đóng một vai trò đặc biệt. Một mẫu không
phải được phân loại là “dị biệt” hay “không dị biệt” mà được đánh giá là mức độ “dị
biệt” như thế nào, tùy theo giá trị LOF của mẫu đó. [7]
Ký hiệu k-dis(x) là khoảng cách đến phần tử lân cận thứ k của mẫu x
Ký hiệu Nk-dis(x) là số lượng phân tử lân cận của x có khoảng cách tới x bé hơn
k-dis(x).
Khoảng cách tiếp cận trung bình của một mẫu x đối với một mẫu y, ký hiệu là R –
dis(x,y) được tính như sau:
R – dis(x,y) = max(k – dis(x),d(x,y))

Hình 3.5 : Ví dụ khoảng cách R-dis (reach-dist)
Chẳng hạn có 7 phần tử như hình 3.5, R – dis(p1,O) và R – dis(p2,O) được tính
trong trường hợp k = 3.
Ta có thể tính được giá trị LOF của một phần tử p như sau:

48
Với : Hàm lrd( ) chỉ mật độ tiếp cận địa phương của một mẫu, và được tính dựa
trên tính nghịch đảo của R – dis(p,o) và MnPts ( số lượng mẫu tối thiểu) các phần tử
lân cận của mẫu p.
Thuật toán tính LOF cho các mẫu dữ liệu được thực hiện qua nhiều bước:


Tính k – dis(p) cho mẫu p



Tính R – dis(p,o) cho mẫu o



Tính hàm lrd( )



Tính LOF(p)
Chúng ta sẽ áp dụng thuật toán trên cho một ví dụ nhỏ cụ thể như sau : Gọi D là

cơ sở dữ liệu có 4 đối tượng ký hiệu lần lượt là P1, P2, P3 và P4 có các khoảng cách
P1P4 = 4, P1P3 = 3, P1P4 = 7, P2P3 = 5, P2P4 = 6 và P3P4 = 8 thu được nhờ một hàm
tính khoảng cách đã biết và xét với MinPts(k) = 2. [8]
Bước 1: tính kdistance của p:
Mục đích tính kdistance của p là xác định các lận cận của p. Định nghĩa đơn giản,
kdistance của p là khoảng cách lớn nhất từ đối tượng p khi mọi đối tượng trong tập dữ
liệu được xem xét có ít nhất k lân cận. kdistance của p được ký hiệu là kdistance(p) và
thu được bằng cách :


Đầu tiên, tính tất cả các khoảng cách của tất cả các đối tượng từ P1 qua một
hàm tính khoảng cách. Các khoảng cách P1P2 = 4, P1P3 = 3, P1P4 = 7



Tiếp theo, chọn ra 2 khoảng cách nhỏ nhất không trùng nhau từ P1. Tất cả các
khoảng cách từ P1 được sắp xếp và 2 khoảng cách nhỏ nhất được chọn.
Min(P1P2=4,P1P3=3,P1P4=7)



Cuối cùng, giá trị lớn nhất trong 2 khoảng cách nhỏ nhất được lựa chọn ở trên là
kdistance của P1. Do đó kdistance(P1) = max(3,4), suy ra kdistance(P1) = 4.
kdistance của các đối tượng còn lại được tính tương tự.
Bước 2: Tìm lân cận kdistance của p:
Lân cận kdistance của p được ký hiệu là ( Nk(p) ), chứa tất cả các đối tượng với

khoảng cách không lớn hơn kdistance(p). Cơ sở cho việc tính ra lân cận kdistance là
tìm các lân cận gần nhất của mỗi đối tượng. Ví dụ lân cận kdistance của P1 bao gồm

49
P2 và P3 từ kdistance(P1) = 4 và khoảng cách của P2, P3 từ P1 không lớn hơn 4( P1P2
= 4, P1P3 = 3).
Bước 3: Tính khoảng cách có thể tới được của p ( reachability distance)
Khoảng cách có thể tới được của đối tượng p với đối tượng o là khoảng cách lớn
hơn trong 2 khoảng cách distance(p,o) và kdistance(o). reachdistk(p,o) =
max{kdistance(o), distance(p,o)}. Mục đích là đảm bảo cho tất cả các đối tượng trong
một lân cạn là đồng nhất. Thêm vào đó, LOF trở nên ổn định khi các đối tượng trong
một lân cận là đồng nhất mặc dù MinPts(k) thay đổi. Sự thay đổi của khoảng cách có
thể tới được (reachability distance) có thể điều khiển bằng việc chọn giá trị k lớn.
Khoảng cách có thể tới của P1 được tính toán theo các bước: Đầu tiên, xác định lân
cận kdistance của P1 ( Nk(P1) = (P2,P3)). Khoảng cách có thể tới của P1 được tính
cùng mối liên hệ tới P2 và P3 khi chúng là lân cận của P1. Với P2 trong lân cận của
P1: reachdistk(P1,P2) = max(kdistance(P2),distance(P1,P2)) = max(5,4) =5. Với P3
trong lân cận của P1: reachdistk(P1,P3) = max(kdistance(P3),distance(P1,P3)) =
max(5,3) =5. Do đó reachdistk(P1,o) = (5,5) nó bao gồm các khoảng cách tới được của
các lân cận của P1.
Bước 4: Tính mật độ tới được địa phương của p - local reachbility density
Mật độ tới được địa phương của một đối tượng p, được ký hiệu là lrdk(p) là
nghịch đảo của giá trị trung bình các khoảng cách tới được từ lân cận kdistance của p.
Nó cung cấp một cách so sánh giữa các khoảng cách tới được.

Mật độ tới được địa phương của P1 được tính như sau : lrdk(P1) = 1/{(5+5)/2} =
2/10, khi (5,5) là khoảng cách tới được địa phương của P1 và số các lân cận của
kdistance là 2. Ta cũng có lrdk(P2) = 2/9, lrdk(P3) = 2/9, lrdk(P4) = 2/13.
Bước 5: Nhân tố dị biệt địa phương của p
Nhân tố dị biệt địa phương là tỷ số đánh giá một đối tượng là dị biệt hoặc không
trong lân cận của nó. Nhân tố dị biệt địa phương của một đối tượng được ký hiệu là

50
LOFk(p) là trung bình các tỷ số của mật độ tới được địa phương của p và k lân cận gần
nhất của p.
Ưu điểm của thuật toán LOF so với thuật toán dựa trên khoảng cách được thể
hiện qua ví dụ sau:

Hình 3.6 Ưu điểm của phương pháp LOF
Nếu trong cách tiếp cận khoảng cách thì mẫu p2 không bị coi là tách biệt do
khoảng cách từ p2 đến C2 gần hơn so với từ C1 đến C2. Trong khi đó với cách tiếp cận
LOF, cả p1, p2 đều là phần tử dị biệt.
Hạn chế lớn nhất của thuật toán LOF nằm trong việc tính toán khoảng cách có
thể tính được (reachability distance) được định nghĩa reachdistk(p,o)

=

max{kdistance(o),distance(p,o)}. Việc tính toán khoảng cách reachability của p bao
gồm việc tính toán khoảng cách của tất cả các đối tượng trong lân cận của p, sau đó so
sánh từng khoảng cách này với kdistance của lân cận đó, việc này sẽ rất tốn kém khi
MinPts lớn. Hơn thế nữa, LOF phải tính toán cho tất cả các đối tượng trước khi một vài
điểm dị biệt được phát hiện. Đây không phải là điều chúng ta mong muốn khi các phần
tử dị biệt chỉ là một phần rất nhỏ trong toàn bộ tập dữ liệu.

3.2.2.4 Thuật toán LSC-Mine
Thuật toán LSC-Mine [8] cơ bản dựa vào các định nghĩa của thuật toán LOF
nhưng nó tránh được việc tính toán các khoảng cách reachability và các mật độ
reachability địa phương - những thứ rất tốn kém khi sử dụng thuật toán LOF. Thay vào
đó là tỷ số phân bố thưa thớt địa phương ( local sparsity ratio) nhận được từ việc tính
toán các khoảng cách lân cận. Thêm vào đó, LSC-Mine loại bỏ bớt các đối tượng dữ
liệu, không có khả năng trở thành điểm dị biệt nhờ nhân tố cắt xén ( pruning factor)

51
cũng được tính toán từ khoảng cách của các lân cận. Các đối tượng dữ liệu còn lại nằm
trong tập các ứng cử viên có thể trở thành điểm dị biệt.
Tỷ số phân bố thưa thớt địa phương của một đối tượng p ký hiệu lsrk(p) được
định nghĩa là tỷ số của số các số kdistance trong lân cận của p trên tổng số của tất cả
các khoảng cách thực trong lân cận đó.

Trong đó distofNk(P) bao gồm các khoảng cách thực của các đối tượng trong lân
cận kdistance của p, tỷ số lsr đo sự tập trung của các đối tượng xung quanh đối tượng
p. Các đối tượng với mức lsr thấp có khả năng cao trở thành các phần tử dị biệt. Điểm
chú ý cuối cùng đó là các điểm dị biệt phụ thuộc vào hệ số “local sparsity” hơn là tỷ
số. Nhân tố cắt xét được bắt nguồn từ việc cho rằng lrs của một đối tượng p trong một
tập dữ liệu không nên nhỏ hơn một tỷ số đồng dạng được tính toán từ tất cả dữ liệu nếu
đối tượng đó không phải là dị biệt.
Nhân tố cắt xén (Pf) là tỷ số giữa tổng của các khoảng cách tuyệt đối trên toàn bộ
tổng của các khoảng cách lân cận thực. Công thức toán học là :

Một khi Pf được xác định, bất kỳ đối tượng nào với lsr nhỏ hơn Pf sẽ được loại
bỏ vì nó không thể thuộc danh sách các ứng cử viên trở thành điểm dị biệt. Với việc sử
dụng Pf ta có thể loại bỏ hơn một nửa đối tượng của dữ liệu, đây chính là bước đột phá
lớn của thuật toán LSC so với LOF.
Hệ số phân bố thưa thớt địa phương của p ký hiệu là LSCk(p) là tỷ số trung bình
của lsr của p trên kdistance các lân cận của nó.

52

Một hệ số LSC cao đánh dấu lân cận xung quanh một đối tượng là không đông
đúc và do đó có tiềm năng cao trở thành một điểm dị biệt, ngược lại một hệ số LSC
thấp đánh dấu một lân cận đông đúc và vì vậy có tiềm năng tương đối thấp để trở thành
điểm dị biệt. Hình sau sẽ miêu tả tuần tự các bước trong thuật toán LSC-Mine để xác
định điểm dị biệt. Thuật toán LSC-Mine sẽ tính toán kdistance của từng đối tượng (1),
(2) lân cận kdistance của chúng, (3) tỷ số lsr của nó, nhân tố cắt xén Pf (4), tập dữ liệu
ứng cử không bị cắt xén (5), LSC của các đối tượng trong tập dữ liệu không bị cắt xén
(6), và cuối cùng xếp loại các đối tượng có LSC cao nhất như là các điểm có khả năng
cao nhất thành điểm dị biệt.