Như đã trình bày ở trên có rất nhiều thuật toán để phát hiện ra phần tử dị biệt, một hệ thống phát hiện bất thường có thể sử dụng các thuật toán đó nhưng chỉ nên sử dụng một thuật toán nhằm đảm bảo quá trình hoạt động của hệ thống mạng không bị ảnh hưởng.
Dựa trên việc thử nghiệm và đánh giá trên một bộ dữ liệu chuẩn người ta có thể lựa chọn thuật toán phù hợp với tính chất phân bố trong dữ liệu mạng. Một bộ dữ liệu chuẩn dùng đánh giá hệ thống thường có 2 phần chính : dữ liệu dùng cho việc đào tạo và dữ liệu dùng trong việc thử nghiệm. Một ví dụ cho bộ dữ liệu dùng đánh giá hệ thống phát hiện bất thường là bộ dữ liệu DARPA 98 có dữ liệu đào tạo là dữ liệu mạng trong vòng 7 tuần bao gồm các giao thông mạng bình thường và giao thông mạng tấn công đã được đánh dấu, phần dữ liệu kiểm tra là dữ liệu mạng trong vòng 2 tuần cũng gồm các dữ liệu tấn công và dữ liệu bình thường. Dữ liệu tấn công được chia làm 4 loại:
DoS (Denial of Service – Từ chối dịch vụ), ví dụ ping-of-death, teardrop, smurf, SYN flood, vv….
R2L: truy nhập không hợp lệ remote từ 1 máy nào đó, ví dụ đoán mật khẩu. U2L: truy nhập không hợp lệ của 1 user không được cấp quyền vào những đặc
quyền cao nhất của hệ thống, ví dụ những vụ tấn công ào ạt ở cấp độ nhẹ. PROBING: giám sát và điều tra, ví dụ port-scan, ping-sweep, vv...
Mặc dù bộ dữ liệu đánh giá DARPA năm 98 đóng góp đáng kể vào lĩnh vực phát hiện xâm nhập, nhưng nó vẫn chứa nhiều vấn đề chưa được giải quyết và những vấn đề liên quan đến thiết kế và thực hiện. Trong bài viết của mình, McHuge đã đặt ra 1 số câu hỏi về các kết quả của bảng DARPA, bắt đầu từ việc sử dụng các dữ liệu tổng hợp để tái hiện dữ liệu bình thường cho đến việc sử dụng các tấn công được thực hiện thông qua scripts và các chương trình thu thập từ những nguồn khác nhau. Ngoài ra chúng ta đều nhận thấy dữ liệu nền không bao gồm những dữ liệu nhiễu (ví dụ bão packet, đứt quãng lạ, vv...) điển hình cho dữ liệu thực. Tuy nhiên do chúng ta còn thiếu những mốc đánh giá chính xác nên phần lớn các nghiên cứu đều dựa trên thực nghiệm tiến hành với dãy dữ liệu này và bản nâng cấp của nó KDD vào năm 99. Để khắc phục sự hạn chế và nhằm đánh giá sự hoạt động của các thuật toán phát hiện bất thường trong điều kiện thực tế, người ta đã tiến hành áp dụng các phương pháp trên vào dữ liệu mạng thực ở ĐH Minnesota.
Các dữ liệu học trong bảng DARPA 98 bao gồm các file danh sách xác định các mốc thời gian (thời điểm bắt đầu và quãng thời gian), loại dịch vụ, địa chỉ IP nguồn, cổng nguồn, địa chỉ IP đến, cổng đến và loại tấn công. Chúng ta dùng các thông tin này để ánh xạ các bản ghi kết nối từ các file danh sách đến các kết nối đạt được do dùng phần mềm tiện ích lọc gói tin và để đặt tên mỗi bản ghi kết nối 1 cách chính xác là “bình thường” hay 1 loại tấn công. Phương pháp này cũng được áp dụng vào xây dựng chuỗi dữ liệu trong bảng KDDCup năm 99, tuy nhiên chuỗi dữ liệu này không lưu thông tin về thời gian diễn ra các vụ tấn công. Do đó chúng ta đã xây dựng những đặc điểm cho phù hợp với thực tế. Những đặc điểm này gồm có số lượng các packets (gói tin), bytes dữ liệu, các packets xác nhận, packets chuyển lại, packets bị đẩy, packets SYN và FIN vận chuyển từ nguồn đến đích và ngược lại. Ngoài ra chúng ta cũng thêm tình trạng kết nối để xác định đặc tính dựa trên nội dung. Mục đích của quá trình này là nhằm gắn kết những đặc điểm mới được xây dựng với những bản ghi kết nối từ files danh sách và tạo ra nhiều dãy dữ liệu mang tính thông tin phục vụ việc nghiên cứu. Những đặc điểm này sẽ là các thông số được xem xét trong các thuật toán phát hiện phần tử dị biệt. Phụ thuộc vào các loại tấn công mà các đặc điểm được chọn lọc là phụ thuộc theo thời gian hay nội dụng ví dụ như các đặc điểm xây dựng trên nội dung dữ liệu của các kết nối chú trọng vào việc phát hiện các dạng tấn công R2L và
U2R trong khi các đặc điểm dựa trên thời gian và dựa trên kết nối lại tập trung vào phát hiện các dạng tấn công DoS và probing do đặc điểm của các cuộc tấn công này là số lượng gói tin lớn trong một khoảng thời gian ngắn nhằm chiếm dụng băng thông.
Từ các kết quả thực nghiệm chúng ta có thể đối với kiểu phân bố dữ liệu mạng thì thuật toán LOF chiếm ưu thế với việc đưa ra những cảnh báo tấn công tốt hơn, ít cảnh báo sai hơn so với các thuật toán khác. Thuật toán LOF được áp dụng để tính toán tính tương tự nhau giữa các điểm dữ liệu xét về khía cạnh phân loại cũng như khía cạnh số liệu. Để tính giá trị LOF cho 1 điểm thì dữ liệu về các điểm lân cận phải có sẵn, điều đó là cần thiết cho việc tính toán khoảng cách giữa các điểm dữ liệu với nhau. Như vậy quá trình này có độ phức tạp là O(N2), trong đó N là độ lớn của dữ liệu. Để thích hợp cho dữ liệu lớn người ta thường sử dụng một tập mẫu có kích thước nhỏ hơn và so sánh tất cả các điểm với tập mẫu này. Như vậy độ phức tạp của thuận toán sẽ rút xuống còn O(N*M) trong đó M là độ lớn của tập mẫu.
Hình 3.9 Đường cong ROC của các thuật toán
Hình 3.9 thể hiện đường cong ROC, mô tả tỷ lệ cảnh báo đúng/ tỷ lệ cảnh báo sai của các thuật toán LOF, thuật toán điểm lân cận gần nhất NN, thuật toán dựa trên khoảng cách Mahalanobis và thuật toán dựa trên “Vector học máy không bắt buộc – Unsupervised SVM”, trong đó chúng ta có thể nhận thấy đường cong ROC của thuật toán LOF nằm cao hơn cả nó tương đương với việc khả năng đưa ra các cảnh báo đúng của thuật toán LOF là lớn hơn so với các thuật toán còn lại, tiếp đến là thuật toán Unsupervised SVM, sau đó là thuật toán điểm lân cận (NN), cuối cùng là thuật toán Mahalanobis. Cũng qua hình 3.9 chúng ta cũng có thể, ban đầu thấy khả năng đưa ra
cảnh báo sai của thuật toán Mahalanobis là thấp nhất nhưng đến một thời điểm nhất định các giá trị thể hiện khả năng cảnh báo sai của các thuật toán là tương đương.
3.3.4 Module phản ứng
Dựa vào tín hiệu cảnh báo từ module phát hiện dị biệt trong trường hợp có hiện tượng bất thường, module phản ứng sẽ lập tức đưa ra các biện pháp nhằm ngăn chặn cuộc tấn công. Như chúng ta đã biết module phản ứng dựa trên một số kỹ thuật cơ bản : terminate session – gửi gói tin reset thiết lập lại kênh giao tiếp tới cả client và server, drop attack – dùng firewall để hủy bỏ gói tin, phiên làm việc hay luồng thông tin từ hacker đến victim, Modify firewall polices – tự động cấu hình lại một số chính sách bảo mật khi có cuộc tấn công, Real-time Alerting – gửi cảnh báo thời gian thực đến người quản trị, Log packet: lưu lại thông tin các gói tin trong các file log.