Các chức năng của chương trình Lưu đồ thực hiện chương trình

Một phần của tài liệu Phát hiện xâm nhập dựa trên thuật toán k means (Trang 55 - 61)

3.3 Cài đặt thuật toán K-Means và thử nghiệm trong phân cụm phần tử dị biệt .1 Giới thiệu về môi trường cài đặt

3.3.2 Các chức năng của chương trình Lưu đồ thực hiện chương trình

a. Đọc file dữ liệu đầu vào

Cho phép nhập dữ liệu từ tệp có cấu trúc như trong mô tả ở mục 3.2. Trước khi nhập dữ liệu cho chương trình, người dùng có thể chỉnh sửa trên giao diện của phần mềm Weka 3. Để nhập dữ liệu, người dùng nhấn vào nút “Chọn...”, sau đó tìm đến tệp dữ liệu có cấu trúc lưu trữ trên máy tính có đuôi dạng *.arff. Sau khi chọn tệp, dữ liệu sẽ được lấy thông tin cần thiết về các thuộc tính và thực hiện đưa vào cơ sở dữ liệu và hiển thị lên ở nhóm “Chi tiết dữ liệu” để phục vụ cho việc thực hiện các thuật toán tiếp theo được dễ dàng hơn

Hình 3.5: Giao diện chọn bộ dữ liệu b. Chi tiết dữ liệu

Nhóm chi tiết dữ liệu: hiển thị thông tin về các bản ghi kết nối trong file dữ liệu đầu vào, số dòng là thứ tự bản ghi, mỗi cột là một thuộc tính và chi tiết về nội dung của dữ liệu trong các bản ghi.

Do số lượng bản ghi trong dữ liệu đầu thường khá lớn nên việc hiển thị chi tiết dữ liệu chỉ được thực hiện với một số lượng nhỏ để tránh ảnh hưởng tới tốc độ thực thi. Mặc định dữ liệu hiển thị được đặt từ 1 tới 100, Nếu muốn xem chi tiết của các bản ghi ta đánh số vào textbox dữ liệu từ và đến rồi nhấn hiển thị để xem:

Hình 3.6: Hiển thị chi tiết dữ liệu đầu vào.

Sau khi đã chọn được file dữ liệu đầu vào ta click vào button “Thực hiện K- Means” để chuyển sang form thực hiện thuật toán phân cụm các bản ghi thông thường và dị biệt.

c. Tham số phân cụm K-Means

Cho phép người dùng nhập các tham số điều khiển cho thuật toán K-Means bao gồm: số cụm cần phân. Theo phân tích ở chương 2 thì việc phân cụm phát hiện các phần tử dị biệt thì ta chọn số cụm cần phân là 2. Chương trình cho phép thực hiện hàm khoảng cách theo Euclid. Sau khi lựa chọn đầy đủ các tham số, người dùng nhấn nút “Thực hiện K-Means” để chương trình xử lý tính toán.

Hình 3.7: Form thực hiện thuật toán K-Means.

Do số lượng bản ghi khá lớn nên việc thực hiện hết khoảng 3 phút trên máy tính có cấu hình CPU Celeron D 1,6GHZ bộ nhớ Ram 1GB cho bộ dữ liệu có 49402 bản ghi kết nối. Và khoảng 20 phút cho bộ dữ liệu có 49402 bản ghi (1/10) bộ dữ liệu KDD đầy đủ.

Sau khi thực hiện xong thuật toán các thông tin về chi tiết phân cụm từng bản ghi sẽ được hiển thị trong bảng bên trái. Ta có thể chọn chi tiết phân cụm từ bản ghi x đến y và chọn hiển thị để xem chi tiết trong khoảng đó.

Thông tin về số lần lặp, tổng bình phương lỗi do khai căn khi tính khoảng cách Euclid trong các cụm sẽ được hiển thị trong “Kết quả phân cụm K-Means” ở phía trên bên phải của form. Các giá trị bị mất đó sẽ được thay thế bằng giá trị trung bình khi tính lại trọng tâm cho cụm

Hình 3.8: Kết quả thực hiện thuật toán K-Means.

Bảng phân cụm sẽ cho ta thông tin chi tiết về các trọng tâm của thuộc tính trong mỗi cụm, số bản ghi trong mỗi cụm. Từ đó ta có thể nhận thấy các thông tin trong cụm 1 thể hiện nhiều biểu hiện của cụm các bản ghi dị biệt, có thể lấy ví dụ như: đăng nhập không thành công (login giá trị =0), Số giây của mỗi kết nối duration rất ngắn, số kết nối tới 1 host ở thời điểm hiện tại và trong khoản thời gian 2 s trước cùng với số kết nối tới có cùng loại dịch vụ ở thời điểm hiện tại và trong khoản thời gian 2 s trước đó là rất lớn (biểu hiện cho các cuộc tấn công)...v.v. Còn các phần tử được đánh dấu là 0 là các bản ghi kết nối bình thường. Việc nhận biết cụm bình thường và dị biệt phụ thuộc vào giá trị các thuộc tính chứ không phải vào con số 0 hay 1 do thuật toán K-Means không có khả năng nhận biết cụm có giá trị thuộc tính bao nhiêu thì thuộc về dạng nào.

Ở cuối bảng phân cụm là thông số về tỉ lệ % của các bản ghi thuộc cụm bình thường hay dị biệt và cụ thể số bản ghi trong mỗi cụm:

Hình 3.9: Số bản ghi kết nối thuộc về mỗi cụm.

Ảnh dưới đây cho ta thấy kết quả khi thực hiện thuật toán K-Means trên bộ dữ liệu lớn hơn 49402 bản ghi bằng 1/10 bộ dữ liệu KDD cup. Kết quả cho thấy cụm dữ liệu được đánh số là 0 mới là cụm chứa các bản ghi kết nối thông thường còn cụm dữ liệu được đánh số là 1 là cụm các bản ghi kết nối dị biệt.

Hình 3.10: Kết quả thực hiện thuật toán K-Means với bộ dữ liệu có 494020 bản ghi kết nối.

Ngoài ra chương trình cho phép lưu các kết quả ra định dạng file text ta nhấn vào “Lưu kết quả ra file”, chọn đường dẫn, tên file và save.

Một phần của tài liệu Phát hiện xâm nhập dựa trên thuật toán k means (Trang 55 - 61)

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

(69 trang)
w