III) Ứng dụng mạng Neural trong hệ thống phát hiện xâm nhập ( Intrusion Detection System IDS)
III.2 ứng dụng mạng Neural trong IDS
Trong phần này, ta sẽ đi xem xét việc ứng mạng Neural lan truyền ngược trong hệ thống phát hiện xâm nhập
Mạng lan truyền ngược (BP) là mô hình mạng Neural truyền thắng được sử dụng phổ biến nhất. Nhằm mục đích khắc phục tỉ lệ cảnh báo sai cao và tỉ lệ báo cáo lỗi của IDS truyền thống, chúng ta thiết kế hệ thống IDS dựa trên mạng Neural BP. Với lượng lớn dữ liệu mẫu, việc dạy của giá trị trọng số được cải thiện so với các mạng Neural lan truyền ngược truyền thống và sự mô phỏng, các kết quả thể hiện phương pháp là có hiệu quả.
Là một sự thay thế của IDS truyền thống, mạng Neural được sử dụng để định danh đặc trưng điển hình để phân biệt sự thay đổi bất thường. Hệ thống kết hợp mẫu so khớp với mạng Neural nhân tạo, dạng IDS động có thể mở rộng dựa trên nguyên lý (nguyên tắc) xâm nhập đã biết, rồi tự điều chỉnh tách (trích rút) các đặc trưng, cuối cùng hoàn thành sự phát hiện xâm nhập hiệu quả cao. Hệ thống lọc sự kiện đáng nghi và chuyển sự kiện này đến hệ thống để xử lý nhiều hơn. Kết cấu có thể giảm chi tiêu của hệ thống và tỷ lệ cảnh báo sai của IDS. Mô hình IDS dựa trên mạng Neural được hiển thị như dưới hình 11
Hình 11: Mô hình IDS dựa trên mạng Neural
Mạng Neural tăng thêm khả năng dự báo bằng kiểu đặc trưng bình thường (normal characteristic mode). IDS dựa trên mạng Neural có khả năng tự điều chỉnh bằng việc dạy mẫu xâm nhập mới. Khi hệ thống được học chế độ làm việc bình thường và có thể tác động trở lại các sự kiện không bình thường, rồi tìm một số kiểu tấn công mới.
III.2.1.Kiểm tra dữ liệu và xử lý
III.2.1.1. Kiểm tra dữ liệu
Để nhận được ánh xạ của IDS, chúng ta cũng có thể để ý một vài nhóm hoạt động thực tế như là học mẫu bằng giá trị trạng thái khác nhau và đánh dấu có hoặc không có xâm nhập.
Bản ghi file log của server WWW được mô tả như dưới đây: Log_file_record=(Host_name(IP),
Process_time,URL_object,Request,Access_result_status)
Host_name: operator of URL_object, for example user address, user name;
Process_time:the process time;
URL_object:URL object;
Request: user detail request, e.g., get resources, change resources and so on; ( biểu diến bằng 3 bit : GET – 001, Head – 010)
Access_result_status: trạng thái truy cập và được biểu diễn bằng mã nhị phân. Kết quả của Access_result_status bao gồm: thành công (success), yêu cầu lỗi (request error), sắp xếp lại (rearrange), không được cho phép (non-authorization) và các kết quả khác.
Giá sử, tổng số sự kiện thu thập là 1688, sau đó các sự kiện đó được chia thành 3 phần: một phần sử dụng cho việc dạy việc huấn luyện và tìm kiếm mô hình mạng, một phần kiểm tra tính khả dụng của mô hình, phần cuối sử dụng phát hiện đúng.
Bởi vì hệ thống phi tuyến, giá trị khởi đầu của dữ liệu là rất liên quan nếu tỷ lệ học (learning training) là tới cục bộ nhỏ nhất và hội tụ. Trọng số khởi đầu làm giá trị trạng thái mỗi Neural thành phần gần tới 0 trong sự liên tục bổ sung của đầu vào, trọng số thường thường lựa chọn sô ngẫu nhiên nhỏ hơn.
Bởi vì mỗi giá trị hệ số của vectorr đầu vào ban đầu là rất khác nhau, tác động trên trọng số trở lên rất đều, nó cần thiết để định mức vector đầu vào ban đầu bằng việc chuẩn hóa để khởi động đầu vào lớn hơn vẫn đặt trong những bậc (grad) lớn của hàm truyền. Phương trình chuẩn hóa là : min max min x x x x x − − =
III.2.1.2. Quyết định của tổng số nút lớp ẩn
Số nút mạng Neural thường thường được quyết định bởi phương trình thực nghiệm hoặc thử nghiệm lặp. Trong khi phương trình thực nghiệm cần nhiều sự thừa nhận tùy theo đối tượng đặc biệt. Do đó, chúng ta lựa chọn số chu trình nhiều nhất là 2000, độ chính xác việc dạy là 0.002, tỷ lệ dạy là 0.03, hệ số động lượng là 0.01, số nút lớp ẩn lựa chọn 3-15, như thể hiện trên bảng 1 cho sự so sánh.
Bảng 1: Số nút lớp ẩn ảnh hưởng tới các mạng huấn luyện lỗi
Tổng số nút 3 4 5 6
Lỗi huấn luyện 0.953
3 0.6880 0.5275 0.5500
Tổng số nút 7 8 9 10
Lỗi huấn luyện 0.463 3
0.401 0
Tổng số nút 11 12 13 14 15 Lỗi huấn luyện 0.174
5
0.1458 0.1606 0.1568 0.1481
Như đã đề cập trong 2 bảng trước đó, khi tổng số nút lớp ẩn từ 3 đến 12, tất cả lỗi dần dần trở lên nhỏ, trong khi tổng số lớp ẩn lần nữa bắt đẩu tăng từ 12, tất cả lỗi dao động gần 0.1458, không còn ít, đến trạng thái ổn định. Do đó, lựa chọn 12 như tổng số nút lớp ẩn là phù
hợp. Theo lý thuyết, phương trình thực nghiệm: n1 =
m n+
+ a
, ở đó m định nghĩa số phần tử Neural (thực nghiệm ở đây là 3), n định nghĩa như là số nút đầu vào (thực nghiệm ở đây là 7), a là hằng số giữa 1 và 10, n1 là số nút lớp ẩn. Theo như phương trình thực nghiệm, n1 nên ở giữa 4 và 14. Giá trị n1 là 12 bằng thực nghiệm lỗi kiểm tra dữ liệu, và nó giống như giá trị từ chương trình thực nghiệm.
III.2.1.3. Kiểm tra mô phỏng
Với một cái nhìn đơn giản cho việc thực nghiệm, chúng ta biểu diễn sự thu thập dữ liệu đầu vào. Đầu vào của mạng Neural được tạo thành bởi trường quan trọng của tiêu đề TCP và IP. Các trường của đầu đề IP bao gồm độ dài của đầu để, tổng số độ dài, thời gian sống, địa chỉ nguồn, địa chỉ đích. Trường tiêu đề của TCP bao gồm cổng nguồn, cổng đích, bit điều khiển. Dữ liệu đầu vào thông qua hệ thống số thập phân, tất cả giá trị của các trường sẽ chuyển sang dữ liệu thập phân bằng chương trình lọc tới tiêu chuẩn hóa. Mẫu dạy của các gói ngoại lệ được sinh ra bởi các tấn công mô phỏng.
Sử dụng thuật toán BP truyền thống, chúng ta sửa chữa trọng số sau mỗi đầu vào của mỗi mẫu. Bởi vì lượng dữ liệu dạy thường lớn, hệ thống sẽ cộng tất cả lỗi để thu được tổng lỗi sau khi tất cả giá trị của mẫu được đặt vào trong giai đoạn dạy, sau đó tập trung vào sự điều chỉnh trọng số. Các dạng mạng phù hợp giá trị trọng số và giá trị ngưỡng, sau đó phát hiện dữ liệu của liên kết mạng. Liên kết mạng Neural cái mà kinh nghiệm dạy sẽ có tốc độ nhanh.
Các kết quả thực nghiệm bằng như hiển thị dưới hình 3 và 4 bằng chương trình MATLAB7.7. Chúng ta lựa chọn tổng số chu trình lớn nhất là 2000, độ chính xác việc dạy là 0.01, hệ số động lực là 0.01, số nút lớp ẩn là 12, tỷ lệ học là 0.03. Lớp đầu ra có một phần tử
Neural, giá trị của đầu ra mạng là giữa 0 và 1, đầu ra 0 thể hiện không có tấn công, đầu ra 1 thể hiện tấn công, hoặc đầu ra gần tới 0 là không có tấn công, gần 1 là tấn công.
Các mạng Neural BP đạt tới độ chính xác. Do đó, điều này thể hiện rằng hệ thống là một IDS tốt.
Hình 10: Mô phỏng kiểm tra 1
Hình 11: Mô phỏng kiểm tra 2
Như vậy :Ưu điểm của mạng Neural nhân tạo là : Khi các tấn công mới xuất hiện, nó có thể được phát hiện và bị dừng lại. Nói cách khác, IDS truyền thống cần một thời gian dài để phân tích và thiết bị hãm, sau đó làm mới các luật. Vấn đề chính của các mạng Neural BP là sụ thiếu tính làm rõ được thông tin ( thiếu khả năng trình diễn thông tin).
Kết Luận
Với những sự thông minh và những ứng dụng cũng như những tiềm năng của mạng Neural, có thể nói mạng Neural sẽ còn nhiều đóng góp to lớn vào sự phát triển của ngành trí tuệ nhân tạo trong tương lai gần. Trong bài thu hoạch của em đã trình bày về định nghĩa, cách hoạt dộng, các phương pháp huấn luyện mạng Neural cũng như những ứng dụng của nó trong nhiều lĩnh vực khác nhau. Tuy nhiên do còn nhiều mặt hạn chế về nền tảng kiến thức cũng như về mặt thời gian nên bài thu hoahc này chỉ khái quát được phần nào kiến thức về mặt lý thuyết, chưa thực sự hoàn thiện và chưa đưa ra được sản phẩm. Hướng phát triển trong thời gian tới sẽ là nghiên cứu hoàn thiện hơn các điểm yếu về mặt kiến thức để có thể cụ thể hóa hơn ứng dụng trong hệ thống phát hiện xâm nhập. Để làm được điều này em rất mong nhận được những ý kiến đóng góp nhằm hoàn thiện hơn nữa hiểu biết của mình.