CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG IPS
3.2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu
Các phương pháp phát hiện xâm nhập truyền thống chủ yếu dựa vào những hiểu biết về những dấu hiệu của các vụ tấn công đã biết. Các sự kiện cần theo dõi sẽ được đối chiếu với các ký hiệu để phát hiện các cuộc xâm nhập. Các phương pháp này trích xuất đặc điểm từ những chuỗi dữ liệu mạng và phát hiện ra xâm nhập bằng cách so sánh những giá trị đặc điểm với 1 dãy các ký hiệu tấn công được cung cấp bởi các chuyên gia. Cơ sở dữ liệu dấu hiệu sẽ được chỉnh sửa bằng tay mỗi khi chúng ta tìm được 1 xâm nhập mới. Điểm hạn chế rõ rệt của các phương pháp dựa trên dấu hiệu là 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 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 tố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 tố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 ndi 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)
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 tốn là “phát hiện phần tử dị biệt – Outlier Detection”. Nhiệm vụ của lớp bài tố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 tố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.
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 tố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 tốn các khoảng cách khơng gian giữa các điểm và tính tố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)
Phương pháp này dựa trên khoảng cách D
k
(O) [5] của điểm lân cận gần nhất thứ
k tính từ gốc/ điểm O. Ví dụ những điểm có các giá trị D
k
(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.
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 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.
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:
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:
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 tố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 tố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 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 tố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à 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 tố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 tốn khoảng cách reachability của p bao gồm việc tính tố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 tốn cho tất cả các đối tượng trước khi một