Ứng dụng mạng nơron trong việc xây dựng công cụ phát hiện xâm nhập IDS

15:02 | 05/10/2008

Cùng với sự phát triển của công nghệ thông tin, chúng ta đang phải đối mặt với vấn đề an toàn thông tin. Các hoạt động xâm nhập bất hợp pháp, tấn công với mục đích gây hại luôn là mối lo ngại đối với rất nhiều hệ thống thông tin trên toàn cầu. Các hệ thống phát hiện xâm nhập (IDS) [3] đã ra đời và sau này cùng với các hệ thống phòng thủ (IPS) [3] đã tạo nên một sự bảo đảm an ninh tốt hơn cho hệ thống mạng.

Việc ứng dụng các giải thuật trí tuệ nhân tạo trong lĩnh vực phát hiện xâm nhập đã được nghiên cứu trên thế giới từ rất lâu. Tuy nhiên, đây có thể xem là một hướng nghiên cứu còn khá mới ở Việt Nam. Do đó, việc xây dựng bộ công cụ phát hiện những xâm nhập bất thường xảy ra trên mạng máy tính theo hướng này là cần thiết và khả thi.
Các nghiên cứu về phát hiện xâm nhập hiện nay chủ yếu theo các hướng sau: tập hợp dữ liệu; thu nhỏ dữ liệu; phân lớp hành vi; thống kê báo cáo và có sự đáp ứng cần thiết.


Các hệ thống phát hiện xâm nhập truyền thống được chia làm 2 loại:
-  Các hệ thống phát hiện xâm nhập “hướng tri thức” yêu cầu phải được “biết trước” các loại hành vi bất hợp pháp. Phương pháp này có nhiều hạn chế liên quan đến việc phải quản lý, phân tích một khối lượng dữ liệu lớn.
- Hệ thống phát hiện xâm nhập “hướng hành vi” (Behavior-based) cố gắng “tìm hiểu” các luồng dữ liệu truyền trên nội mạng hoặc hành vi người dùng trên hệ thống và “học tập” từ những hành vi này nhằm xây dựng khái niệm thế nào là hành vi” “bình thường”. Sau đó chúng xác định các hành vi bất thường từ các hành vi “bình thường” ở trên. Các hệ thống phát hiện xâm nhập loại này có những khó khăn trong quản lý dữ liệu “cấm” và thao tác vận hành hệ thống.
Hướng tiếp cận nghiên cứu bài báo này là xây dựng bộ công cụ phát hiện xâm nhập có sử dụng giải thuật trí tuệ nhân tạo Self Organizing Maps (SOM) [1] nhằm giải quyết các vấn đề sau: Cơ sở dữ liệu nhận dạng được thu gọn và không phụ thuộc vào bên thứ ba, có khả năng phân lớp các hành vi bất thường và có thể ứng dụng thực tế.

1. Xây dựng bộ công cụ phát hiện xâm nhập sử dụng SOM
Vấn đề cần giải quyết ở đây là xây dựng một công cụ theo mô hình nhận dạng bất thường sử dụng giải thuật SOM[1] trong việc phân lớp các hành vi diễn ra trên hệ thống. Đây không phải là vấn đề mới trên thế giới, song tại Việt Nam có thể xem là cơ sở  ban đầu cho những mô hình IDS kết hợp một hoặc nhiều giải thuật trí tuệ nhân tạo trong cơ chế phân tích hành vi. Để thực hiện mục tiêu đề ra, cần sử dụng các công cụ:
- Bộ công cụ được xây dựng trên hệ điều hành FreeBSD phiên bản 7.0.
- Các công cụ hỗ trợ cho lập trình hệ thống về phát hiện xâm nhập, đó là bộ LibPCap, LibNet và LibNIDS.
- Xây dựng tập dữ liệu “normal” phục vụ quá trình huấn luyện hệ thống. Tập dữ liệu này được xây dựng từ “output” của tiện ích TCPDUMP.
- Cài đặt mô hình và xây dựng quy trình thử nghiệm.
Các bước thực hiện
Giải thuật SOM đơn giản được thực hiện qua một số lượng nhất định (thường rất lớn) vòng lặp và tại mỗi vòng lặp thực hiện các bước cơ bản sau:
-  Tìm nơron chiến thắng (Best Matching Unit - BMU).
-  Cập nhật trọng số và các lân cận của BMU.
-  Lặp lại cho đến khi không có sự thay đổi nào trên các trọng số hoặc đạt được số lần lặp xác định.
“Bản đồ” sử dụng trong SOM bị ảnh hưởng rất nhiều bởi quá trình lựa chọn các tham số của mạng. Các tham số này bao gồm:
-  Kích thước của bản đồ (Width/Height)
- Số lần lặp (interactions)
- Kích thước của bán kính khởi tạo ban đầu (Radius)
- Giá trị khởi tạo cho hệ số học.



Hình 2. Sơ đồ chức năng môđun chọn dữ liệu

Hiện nay chưa có một hướng dẫn cụ thể cho việc lựa chọn các tham số này ứng với các bài toán áp dụng SOM. Quá trình “thử - sai” (trial and error) là rất cần thiết nhằm xác định tập các giá trị thích hợp ứng với tập dữ liệu đầu vào. Tuy nhiên, theo tài liệu [Kohonen et al (1996)] thì các tham số đề nghị là sử dụng bản đồ hình chữ nhật không toàn phương, kích thước khuyến cáo nên dùng là (15, 10) và sử dụng bán kính khởi tạo đúng bằng giá trị bề rộng của bản đồ. Giá trị khởi tạo của hệ số học có thể chọn tương đương 0,05.

2. Kết quả thử nghiệm
Sơ đồ thử nghiệm
Trong đó:
* Input: các gói tin đi qua giao tiếp mạng.
Các thông tin thu thập từ mỗi gói tin sử dụng làm đầu vào cho Anomaly Detection Module (ADM) gồm 7 đặc trưng chủ yếu sau:
(1) service – kiểu giao thức;
(2) src_host – Source Host;
(3) src_port – Source Port;
(4) dst_host – Destination Host;
(5) timestamp – thời điểm bắt đầu của một kết nối mạng;
(6) src_bytes – số lượng dữ liệu do source truyền đi trong phiên kết nối;
(7) dst_bytes – số lượng dữ liệu do destination gửi trong phiên kết nối.
* Output: Chuỗi (mảng) số phục vụ cho Input của môđun ADM
Các giá trị gói tin, trong trường hợp này là 7, sẽ được chuẩn hóa trước khi gửi đến cho môđun ADM phân tích.
Trong số 7 giá trị (hình 2) mà môđun Sniffer chọn lọc từ các gói tin mạng thì giá trị tem thời gian (timestamp) là lựa chọn không bắt buộc.
* Các tham số khởi tạo hệ thống:
- Mạng Nơron: kích thước 7×7;
- Learning rate: 0,05;
- Cập nhật lân cận có bán kính R = 1 so với nơron chiến thắng;
- Hàm khoảng cách: Eclidian.

Kết quả thử nghiệm
Kết thúc quá trình phân tích véc-tơ đầu vào, dữ liệu ADM kết xuất sẽ biểu diễn trên trục tọa độ XY (H3, H4), gồm các thông tin về nơron chiến thắng và vị trí của nó. Trong đó trục Y biểu diễn vị trí của BMU trong mạng SOM và trục X biểu diễn khoảng cách giữa véctơ xi và nơron chiến thắng.



Hình 3. GUI hiển thị các gói tin "bình thường"

                                    Hình 4. GUI hiển thị các gói tin "bất thường"

Trên trục tọa độ XY (hình 3 và hình 4), các nơron biểu diễn packet là một hacker (có thể) sẽ cao hơn so với các nơron bình thường. Trục Y biểu diễn các giá trị khoảng cách tìm được giữa nơron chiến thắng và véctơ dữ liệu mẫu vào, như vậy với các giá trị Y cao có thể cho rằng đây là các hành động “khác thường”, không theo “quy luật” và có thể xem là một hành động tấn công.
Sở dĩ có thể kết luận như trên vì ta đã giả thiết rằng các network traffic tương tự nhau (có cùng một địa chỉ gửi/nhận và có cùng một kiểu giao thức) thì sẽ được phân lớp vào các nơron cố định có liên quan với nhau. Do đó, các hành vi bất thường sẽ được phân lớp vào các nơron có nằm ngoài các cụm bình thường.

3. Kết quả
Về mặt lý thuyết: Chứng minh khả năng ứng dụng mạng nơron trong các công cụ phát hiện xâm nhập; Chứng tỏ khả năng ứng dụng của giải thuật SOM trong lĩnh vực phát hiện xâm nhập và qua đó xác định được bộ khung cần thiết cho ứng dụng trong môi trường hoạt động mạng.
Về mặt thực tiễn:  Xây dựng bộ công cụ phát hiện bất thường và hoàn thành các tham số chuẩn cho ứng dụng này. Kết quả thử nghiệm tại Vietcombank Đà Nẵng cho kết quả tốt; Bộ công cụ có khả năng phát hiện được các lưu thông mạng không mong muốn trong môi trường thử nghiệm (dùng Http flooder, UDP flooder trong phần mềm NetTools 5 và một số công cụ khác thực hiện giả lập tấn công); Xây dựng được công cụ sniffer phục vụ demo.

4. Một số hạn chế và hướng phát triển
Hạn chế: Ở đây chỉ mới đề cập đến giải thuật SOM cơ bản mà chưa tận dụng được các giải thuật cải tiến khác nhằm tăng cường khả năng phân lớp của mạng Kohonen;
Bộ công cụ dùng để bắt các gói tin (sniffer) mới chỉ xây dựng ở mức cơ bản nhằm phục vụ cho bản demo cho nên mới chỉ lấy được các thông tin cần thiết nhất (7 thông tin cơ bản), Phụ thuộc vào công cụ của hãng thứ ba (bộ LibNIDS);
Do mới chỉ dùng SOM cơ bản nên khả năng phát hiện các hình thức tấn công chưa phong phú.
Hướng phát triển
Cần phải cải tiến bộ sniffer để bộ công cụ phát hiện xâm nhập có thể lọc được cả nội dung của packet bất kỳ theo kịch bản định sẵn.
Cải tiến, áp dụng các giải thuật SOM khác (BOM, GHSOM,…) nhằm hoàn thiện hơn phân loại dữ liệu. Có thể kết hợp với giải thuật khác như GA, RBF, RPROP [5],… để tăng cường khả năng nhận dạng của SOM