Ứng dụng mạng Neural trong giám sát an toàn thông tin

14:22 | 30/06/2016

Mạng Neural được ứng dụng nhiều trong giám sát an toàn thông tin bởi những ưu điểm của nó như khả năng cập nhật thường xuyên dấu hiệu của các cuộc tấn công mới hay chưa tồn tại trong hệ thống.

Phần lớn hoạt động của các hệ thống phát hiện tấn công trong giám sát an toàn thông tin chủ yếu dựa trên cơ sở dữ liệu (CSDL) các dấu hiệu và quy luật để phân tích các dữ liệu đầu vào sau đó đưa ra kết luận có hay không có tấn công. Để việc phát hiện tấn công đạt hiệu quả cao thì CSDL này cần phải thường xuyên được cập nhật (được thực hiện bằng phương pháp thủ công hoặc tự động trong khoảng thời gian nhất định). 

Khi cuộc tấn công có dấu hiệu và quy luật khác với các dấu hiệu và quy luật trong CSDL thì tấn công đó sẽ không được phát hiện. Vì lúc này các CSDL chưa được cập nhật dấu hiệu của các kiểu tấn công này. Do hệ thống phát hiện tấn công thông thường không phải lúc nào cũng có khả năng nhận dạng được mọi cuộc tấn công nên cần một hệ thống có khả năng cập nhật thường xuyên dấu hiệu của các cuộc tấn công mới hay chưa có trong hệ thống. Mạng Neural hay còn gọi là mạng Neural nhân tạo (Artifical Neural network-ANN) là một giải pháp có thể đáp ứng được yêu cầu này.

Tổng quan về mạng Neural

Mạng Neural nhân tạo là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thần kinh sinh vật, bao gồm số lượng lớn các neural được gắn kết để xử lý thông tin. ANN giống như bộ não con người được học thêm kinh nghiệm (thông qua huấn luyện) và có khả năng lưu trữ kinh nghiệm hiểu biết (tri thức) và sử dụng các tri thức đó cho việc dự đoán các dữ liệu chưa biết.

Mục đích của việc sử dụng mạng neural nhằm phát hiện các tấn công trong hệ thống và mạng như: dò mật khẩu, sử dụng mã độc (virus, trojan,…), gây quá tải gói tin, giả mạo gói tin, dò quét mạng, tấn công từ chối dịch vụ (DoS), leo thang đặc quyền...

Các tính năng sau đây của mạng neural có thể được sử dụng để phát hiện tấn công:

- Mạng neural có khả năng tự huấn luyện để phát hiện các cuộc tấn công bằng cách cấu hình kiến trúc mạng và các trọng số của các khớp;

- Mạng neural có khả năng phát hiện các cuộc tấn công dựa vào những dữ liệu ban đầu không đầy đủ và thậm chí dữ liệu gây hiểu nhầm một phần nào đó bằng bộ nhớ biết liên tưởng;

- Trên CSDL được tổng hợp về các cuộc tấn công. Mạng neural có khả năng tự sinh ra các dữ liệu mới nhằm phát hiện các kiểu tấn công mới.

Có hai cách để huấn luyện mạng Neural là huấn luyện thủ công và huấn luyện tự động. 

Huấn luyện mạng Neural thủ công 

Mục tiêu chính của mạng neural trong hệ thống phát hiện tấn công là chuyển đổi một tập cụ thể những dữ liệu đầu vào thành một tập cụ thể những dữ liệu đầu ra, có nghĩa là, dựa vào các dữ liệu đầu vào về các gói tin trong mạng hoặc các sự kiện trong hệ thống, mạng neural sẽ phải đưa ra kết luận về một cuộc tấn công (để giải quyết bài toán phân loại). Hiệu quả giải quyết bài toán phụ thuộc vào sự lựa chọn kiến trúc mạng neural và việc huấn luyện mạng neural. Việc lựa chọn kiến trúc mạng neural tối ưu là tìm ra được một mạng neural có khả năng giải quyết bài toán đặt ra với một mục tiêu có sai số tối thiểu:



Các phân tích cho thấy các mạng neural có thể đáp ứng tốt trong việc phát hiện được các tấn công mạng như là: mạng percepton nhiều lớp, mạng sử dụng hàm cơ sở xuyên tâm, mạng xác suất, mạng thẳng và hồi quy tuyến tính.

Một mạng neural thường được huấn luyện bởi phương pháp lan truyền ngược. Việc v được tiến hành với mục tiêu có sai số tối thiểu (1). Thuật toán huấn luyện mạng neural bao gồm các bước sau:

Bước 1: Đầu vào của mạng neural là các vector và giá trị xác định cho đầu ra của mạng neural.

Bước 2: Tính toán biến phụ trợ   cho lớp ra của mạng neural sao cho:


Sự thay đổi của trọng số  của lớp thứ i trong mạng neural thứ j được tính bằng công thức:



Bước 3: Các lớp mạng còn lại của mạng Neural với n = N-1, …,1:



và công thức (3) tương ứng cho  và 

Bước 4: Điều chỉnh tất cả trọng số của các khớp mạng neural bằng công thức:



Bước 5: Tìm kiếm sai số theo công thức (1). Nếu sai số là lớn thì chuyển quay lại Bước 1 để tiếp tục.

Việc huấn luyện mạng neural thủ công sẽ tốn thời gian và công sức, vì vậy hệ thống phát hiện tấn công này đã được tích hợp với phần mềm Statistica Neural Networks để huấn luyện mạng Neural (gọi là huấn luyện mạng Neural tự động).

Huấn luyện mạng Neural tự động

Việc huấn luyện mạng neural với phần mềm Statistica Neural Networks được dựa trên các mẫu đào tạo, trong đó mỗi bộ đầu dữ liệu đầu vào sẽ có một câu trả lời đúng (tương ứng một dữ liệu đầu ra xác định).

Cấu trúc tổng quát của hệ thống phát hiện tấn công được trình bày trong hình 1. 



Hình 1. Cấu trúc tổng quát của hệ thống phát hiện tấn công

Theo sơ đồ trên, môđun nguồn dữ liệu sẽ tạo vector dữ liệu đầu vào dựa trên phần mềm Snort và nhật ký an ninh của Windows. Dữ liệu đầu vào cho mạng neural thứ nhất là thông tin về các gói tin trong mạng (thời gian, địa chỉ IP nguồn và đích, kiểu giao thức, thời gian sống của gói tin (time to live), độ dài tiêu đề, độ dài dữ liệu). Mạng neural thứ nhất chịu trách nhiệm giám sát tấn công mạng. Dữ liệu đầu vào cho mạng neural thứ hai là các thông tin về sự kiện trong hệ thống (kiểu sự kiện, ID sự kiện, ngày, thời gian, kiểu sự kiện). Mạng neural thứ 2 chịu trách nhiệm giám sát các sự kiện trong hệ thống.

Môđun thống kê các gói dữ liệu mạng được sử dụng để tạo mẫu huấn luyện. Các mẫu này sẽ được sử dụng để tạo ra một mạng neural có khả năng phân tích dữ liệu đầu vào và thực hiện giám sát trong mạng. Môđun này cung cấp cho việc phân tích một số lượng tương đối của các cuộc tấn công mạng. 

Hình 2 là ví dụ thống kê các cuộc tấn công mạng sử dụng giao thức TCP, UDP, IP và ICMP trong khoảng thời gian từ 11.00 đến 23.00 ngày 20/12/2006. 


Hình 2. Số lượng tương đối các cuộc tấn công mạng

Ngoài ra, môđun này cũng tạo ra mẫu huấn luyện cho mạng Neural dùng để giám sát các gói tin trong mạng. Mạng huấn luyện có 7 đầu vào và 1 đầu ra (được thể hiện như trong Hình 3 - phần bên trái).


Hình 3. Mạng Neural sử dụng trong hệ thống phát hiện tấn công

Môđun thống kê các sự kiện trong hệ thống cho phép phân tích theo biểu đồ động về sự xuất hiện của bất kỳ mối đe dọa nào trong bất kỳ khoảng thời gian nào. 

Hình 4 là ví dụ biểu đồ động sự xuất hiện của mối đe dọa với ID 529 (sai tên hoặc mật khẩu) trong khoảng thời gian từ 19.04 đến 19.08 ngày 20/12/2006.


Hình 4. Biểu đồ động sự xuất hiện sự kiện với ID 529

Môđun này được sử dụng làm mẫu để huấn luyện mạng neural thứ hai có khả năng giám sát các sự kiện trong hệ thống. Mạng neural được xây dựng theo các mẫu huấn luyện này có 5 đầu vào và 1 đầu ra (được thể hiện như trong hình 3 - phần bên phải).

Môđun giám sát an toàn thông tin tập trung sẽ thu các gói tin mạng theo thời gian thực và môđun này đưa các thông tin đó đến đầu vào của mạng neural thứ nhất. Mạng Neural thứ nhất này sẽ đưa ra kết luận về tấn công dựa trên các thông tin này. Tương tự như vậy, môđun này cũng sẽ thu các sự kiện trong hệ thống theo thời gian thực và đưa các thông tin này vào đầu vào của mạng Neural thứ hai. Mạng neural thứ hai này sẽ xác định mức độ nguy hiểm của các sự kiện.

Kết quả làm việc của hệ thống phát hiện tấn công khi giám sát tập trung được thể hiện trên Hình 5.


Hình 5. Kết quả làm việc của hệ thống phát hiện tấn công

Trong Hình 5, màu xám hồng của các gói tin thể hiện cuộc tấn công, màu xám xanh của các gói tin thể hiện an toàn. Tại cột BAD chứa thông tin đầu ra của mạng Neural. Nếu đầu ra lớn hơn giá trị ngưỡng tức là sự kiện hoặc gói tin có thể bị đe dọa.

Kết luận

Thực tế cho thấy, việc ứng dụng mạng Neural vào trong hệ thống phát hiện tấn công cho phép giúp tăng hiệu quả giám sát, do khả năng tự học của mạng Neural giúp phát hiện các tấn công có ít dấu hiệu nhận biết giống với các dấu hiệu tấn công của CSDL trong hệ thống giám sát .