1. Luật phân lớp:
Phát hiện xâm nhập có thể được xem như là một vấn đề phân nhóm: ta phải chia mỗi bản ghi của dữ liệu kiểm toán vào một tập rời rạc các hạng mục có thể, bình thường hay một kiểu xâm nhập cụ thể.
Căn cứ vào tập các bản ghi, cái mà có một thuộc tính là lớp nhãn, thuật toán phân lớp có thể tính một mô hình mà sử dụng các giá trị thuộc tính đúng đắn nhất để biểu diễn cho mỗi khái niệm. Ví dụ, xét các bản ghi kết nối sử dụng giao thức telnet ở hình dưới. Ở đây, hot là đếm số truy cập vào thư mục hệ thống, tạo và thực hiện các chương trình… compromise là thuộc tính đến số lỗi “không tìm thấy” file hay đường dẫn, và “Jump to” các xâm nhập… RIPPER (một thuật toán học máy dựa trên luật chuẩn được phát triển tại trung tâm nghiên cứu ATT) một chương trình học luật phân nhóm, các luật tạo ra cho việc phân nhóm các kết nối telnet và một số các luật được hiển thị trong bảng sau
Figure 3: Telnet Records ([LS00] page: 232)
Figure 4: Example RIPPER Rules from Telnet Records ([LS00] page: 233)
Ở đây, chúng ta thấy rằng quả thật RIPPER chọn các giá trị thuộc tính duy nhất để xác định các xâm nhập. Những luật này trước tiên có thể được xem xét kỹ và chỉnh sửa bởi các chuyên gia an toàn, sau đó là được kết hợp vào trong hệ thống phát hiện sự lạm dụng. Sự chính xác của một môt hình phân nhóm phụ thuộc trực tiếp vào tập các thuộc tính được cung cấp trong quá trình huấn luyện dữ liệu. Ví dụ nếu các thuộc tính hot, compromised and root shell được chuyển dịch từ các bản ghi trong bảng trên, RIPPER sẽ có thể thực hiện các luật chính
xác để nhận dạng các kết nối tràn bộ đệm. Vì thế, việc lựa chọn đúng tập các thuộc tính hệ thống là một bước quan trọng khi thực hiện việc phân nhóm.
2. Luật kết hợp:
Một luật kết hợp chủ yếu là luật toán học được tìm thấy hữu ích trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu. Mỗi và mọi mô hình được phát triển tới một mức độ nào đó trong ngữ cảnh này có mối liên hệ theo cách này hay cách khác với một luật kết hợp.
Trong cơ sở dữ liệu, mối liên kết giữa các thành phần dữ liệu có nghĩa là chúng ta suy ra rằng phần tử dữ liệu cụ thể tồn tại bởi vì sự xuất hiện của một số các phần tử dữ liệu trong một giao tác. Mục đích của việc khai phá các luật kết hợp là để tìm ra tất cả các luật kết hợp tiềm ẩn giữa các phần tử dữ liệu.
Nói chung, trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu chúng ta tạo một cơ sở dữ liệu của các sự kiện không có sự xâm nhập và sau đó áp dụng kỹ thuật luật kết hợp vào trong tập dữ liệu đó để tìm ra tất cả các luật khác hoặc các sự kiện sẽ không có sự xâm nhập. Điều này sẽ giúp tìm ra tất cả các hành vi bình thường tiềm ẩn. Sau đó những luật này sẽ được so sánh với bất kỳ một tập phần tử dữ liệu đi vào để xác định liệu đó có phải là một sự xâm nhập hay không. Nhân tố then chốt nhất ở đây là chúng ta phải thiết lập ngưỡng tối thiểu cho mức độ hỗ trợ và tin cậy tối thiểu
3. Láng giềng gần nhất
K-NN xác định liệu hoặc là không một điểm nằm trong một khu vực thưa thớt của các thuộc tính bằng cách tính tổng của các khoảng cách đến những K- láng giềng gần nhất của điểm đó, được gọi tắt là K-NN. Bằng trực giác các điểm trong khu vực dày đặc sẽ có nhiều điểm gầnchúng và sẽ có một điểm nhỏ KNN. Nếu kích cỡ của K vượt quá mức độ thường xuyên của bất cứ loại tấn công trong tập dữ liệu và hình ảnh của các yếu tố tấn công là khác xa các yếu tố dữ liệu thì ngay sau đó phương thức làm việc.
Thuật toán được mô tả như sau:
for each data instance i do
for each data instance j do
find D(i, j)=distance between j and i end
Keep the top k-D(i,.) and sum them to get K − NNi if k − NNi > threshold
Intrusion occurred end
Các vấn đề chính với các thuật toán này là nó có độ phức tạp tính toán O(N2) thời gian. Chúng ta có thể tăng tốc độ xử lý bằng cách sử dụng một kỹ thuật tương tự với phân cụm CANOPY. Phân cụm CANOPY được sử dụng như một phương tiện để chia không gian thành các không gian con nhỏ hơn để loại bỏ sự cần thiết phải kiểm tra tất cả các điểm dữ liệu. Chúng ta sử dụng các cụm như là một công cụ để làm giảm thời gian tìm kiếm k-láng giềng gang nhất.
Trước tiên chúng ta phân cụm dữ liệu bằng cách sử dụng thuật toán phân cụm có chiều rộng cố định của phần trước với một biến mà chúng ta đặt mỗi phần tử váo chỉ có một nhóm. Sau khi dữ liệu được phân cụm chiều rộng w, chúng ta có thể tính các k-láng giềng gần nhất cho một điểm x bằng cách tận dụng các ưu điểm của các thuộc tính.
Chúng ta biểu diễn c(x) như là điểm trung tâm của nhóm có chứa một điểm x. Đối với một nhóm c và một điểm x chúng ta sử dụng các ký hiệu d(x; c) để biểu diễn khoảng cách giữa điểm và điểm trung tâm cụm. Đối với bất kỳ hai điểm x1 và x2 , nếu các điểm nằm trong cùng một cụm
dφ (x1, x2 ) ≤ 2w
và trong tất cả các trường hợp dφ(x1, x2 ) ≤ dφ(x1, c(x2 )) + w dφ(x1, x2 ) ≥ dφ(x1, c(x2 )) − w
Cho C là một tập hợp các cụm. Ban đầu C có chứa tất cả các cụm trong các dữ liệu. Tại bất cứ bước nào trong thuật toán, chúng ta có một tập hợp các điểm có khả năng là một trong những điểm k-láng giềng gần nhất. Chúng ta biểu diễn tập này là P. Chúng ta cũng có một tập các điểm trong thực tế, là một trong các điểm k-láng giềng gần nhất. Chúng ta biểu diễn bằng tập K. Ban đầu K và P là rỗng. Chúng ta tính khoảng cách từ x đến từng cụm. Đối với các cụm với các trung tâm gần với x nhất, chúng ta xoá bỏ nó từ C và thêm vào tất cả các điểm của nó vào P. Chúng ta tham khảo hoạt động này như là "mở rộng" nhóm. Chìa khóa của các thuật toán này là chúng ta có thể có được một ràng buộc thấp hơn khoảng cách từ tất cả các điểm trong các cụm của tập C bằng cách sử dụng công thức trên:
Các thuật toán thực hiện sau đây. Đối với mỗi điểm xi∈ P, chúng ta tính
d(x;xi). Nếu d(x; xi) <dmin , chúng ta có thể đảm bảo rằng xi là điểm gần x hơn sau đó tất cả các điểm trong các cụm của C. Trong trường hợp này, chúng ta loại bỏ xi khỏi P và thêm nó vào K. Nếu chúng ta không thể đảm bảo việc này cho bất kỳ phần tẻ của P (bao gồm cả các trường hợp mà nếu P là trống rỗng), sau đó chúng ta "mở" cụm gần nhất bằng cách thêm tất cả các điểm vào P, và bỏ cụm đó khỏi C. Chú ý rằng khi chúng ta loại bỏ các cụm khỏi C, dmin sẽ tăng. Sau khi K có k phần tử, chúng ta kết thúc. Hầu hết các tính toán được chi phí kiểm tra khoảng cách giữa các điểm trong D tới trung tâm của cụm. Điều này có hiệu quả đáng kể hơn việc tính khoảng cách giữa các cặp điểm của tất cả các điểm. Sự lựa chọn của chiều rộng w hiện không ảnh hưởng đến kết quả k-NN, nhưng thay vì chỉ ảnh hưởng đến các kết quả tính toán. Bằng trực giác, chúng ta muốn chọn một w cái mà chia dữ liệu vào các cụm có kích thước hợp lý.
4. Phân cụm
Mặc dù đã được đề cập đến, nhưng phân cụm huấn luyện trung tâm phát hiện bất thường không giám sát. Điều này là bởi vì phân cụm tìm kiếm các bất
thường theo mặc định và không có yêu cầu làm việc cao được thực hiện. Chúng ta sẽ xem xét một trong những phương pháp tiếp cận. Mục tiêu đầu tiên của các thuật toán của chúng ta là tính có bao nhiêu điểm là "gần" với từng điểm trong không gian thuộc tính. Một tham số cho các thuật toán là một bán kính w còn gọi tắt là chiều rộng cụm. Đối với bất kỳ một cặp điểm x1 và x2 , chúng ta xem xét hai điểm "gần" nhau, nếu khoảng cách giữa chúng là nhỏ hơn hoặc bằng w, d (x1 , x2 ) <w với khoảng cách được xác định trong phạm vi hàm hạt nhân. Đối với mỗi điểm x, chúng ta xác định N (x) là số điểm mà nằm trong vòng w của điểm x. Một cách hình thức hơn ta xác định như sau:
(1)
Những tính toán đơn giản của N(x) cho tất cả các điểm có một phức tạp tính toán O(N2) trong đó N là số điểm. Lý do là chúng ta phải tính đến những khoảng cách giữa các cặp tất cả các điểm. Tuy nhiên, bởi vì chúng ta là chỉ quan tâm đến việc xác định các outliers là gì, chúng ta có thể tính toán gần đúng một cách có hiệu quả như sau. Trước tiên chúng ta thực hiện phân cụm chiều rộng cố định trên toàn bộ dữ liệu với cụm có chiều rộng w. Sau đó, chúng ta gán nhãn các điểm vào trong các cụm nhỏ như các bất thường. Một thuật toán phân cụm chiều rộng cố định được mô tả như sau. Điểm đầu tiên là trung tâm đầu tiên của nhóm. Đối với tất cả các điểm tiếp theo, nếu nó cách điểm trung tâm của cụm không quá w, nó sẽ được thêm vào cụm đó. Nếu không nó là một trung tâm của một nhóm mới. Lưu ý rằng một số điểm có thể được thêm vào nhiều cụm. Thuật toán phân cụm chiều rộng cố định đòi hỏi chỉ có một trải qua tập dữ liệu (only one pass through the data). Độ phức tạp của thuật toán là O(cn) có c là số cụm và n là số lượng các điểm dữ liệu. Đối với một w hợp lý, c sẽ nhỏ hơn n một cách đáng kể. Lưu ý rằng theo định nghĩa của công thức ở trên, cho từng nhóm, số lượng các điểm gần các trung tâm cụm, N(c), là số điểm trong cụm c. Đối với mỗi điểm x, không phải là một trung tâm của một nhóm, chúng ta xấp xỉ N(x) bằng N(c) đối với cụm c chứa x. Đối với các điểm nằm trong khu vực dày đặc, nơi mà có rất nhiều sự chồng chéo giữa các cụm, điều này sẽ làm cho việc đánh giá không chính xác. Tuy nhiên, đối với các điểm là outliers, sẽ có một số cụm chồng chéo tương đối trong các khu vực này và N(c) sẽ là một cách xấp xỉ chính xác của N(x). Vì chúng ta là chỉ quan tâm đến số điểm là outliers, các điểm trong khu vực dày đặc sẽ cao hơn nhiều so với ngưỡng. Do đó, xấp xỉ là hợp lý trong trường hợp của chúng ta.
Với giải thuật xấp xỉ hiệu quả, chúng ta có thể xử lý một tập dữ liệu lớn hơn đáng kể so với thuật toán đơn giản bởi vì chúng ta không cần phải thực hiện việc so sánh từng cặp điểm.