Phát hiện xâm nhập dựa trên mạng Nơ –ron
Tuy nhiên, các biện pháp này tỏ ra không hiệu quả, khá tốn kém, độ tin cậy không cao và không có khả năng tự cập nhật để phát hiện xâm nhập mới. Việc ứng dụng mạng nơ- ron, một kỹ thuật học máy trong các hệ thống phát hiện xâm nhập là hướng tiếp cận đã khắc phục được các hạn chế trên và đang được quan tâm nghiên cứu.
Những năm gần đây vấn đề an ninh mạng đã trở nên cấp thiết và tác động lớn tới hiệu quả hoạt động của các mạng máy tính hiện đại. Một trong những biện pháp bảo đảm an toàn cho các hệ thống mạng là Hệ thống phát hiện xâm nhập trái phép (Intrustion Detector System - IDS). Tuy nhiên, các biện pháp này tỏ ra không hiệu quả khá tốn kém, độ tin cậy không cao và không có khả năng tự cập nhật để phát hiện xâm nhập mới. Một hướng tiếp cận khác đã khắc phục được các hạn chế trên và ngày càng thể hiện tính ưu việt là ứng dụng kỹ thuật học máy (machine learning), với nhiều phương pháp khác nhau. Bài báo này giới thiệu về ứng dụng mạng nơ- ron, một kỹ thuật học máy trong các hệ thống phát hiện xâm nhập. Vấn đề này đã đã được nghiên cứu, đề xuất từ những năm 1990 và gần đây có nhiều kết quả nghiên cứu được công bố trên toàn thế giới.
1. Mạng nơ-ron nhân tạo và Hệ thống phát hiện xâm nhập trái phép
Mạng nơ-ron nhân tạo
Mạng nơ- ron nhân tạo (Artificial Neural Network - ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh, bao gồm số lượng lớn các nơ- ron được gắn kết để xử lý thông tin. Trong đó, mỗi nơ- ron có một đặc tính vào/ra và sẽ thực hiện một tính toán cục bộ trên nó. Giá trị đầu ra của một nơ- ron được xác định bởi đặc tính vào/ra của nó, các liên kết của nó với các nơ- ron khác và các đầu vào bổ sung (nếu có).
Một hệ thống ANN sẽ được xác định bởi kiến trúc của mạng, đặc tính vào/ra của mỗi nơ- ron, chiến lược học (training) và dữ liệu học (data training) của mạng. Kiến trúc của một ANN được xác định bởi: số lượng các tín hiệu đầu vào và đầu ra, số lượng các nơ- ron trong mỗi tầng, số lượng các trọng số (các liên kết) đối với mỗi nơ- ron, cách thức các nơ- ron (trong một tầng, hoặc giữa các tầng) liên kết với nhau và những nơ- ron nào nhận các tín hiệu điều chỉnh lỗi.
Hệ thống phát hiện xâm nhập trái phép - IDS
Hệ thống phát hiện xâm nhập trái phép (IDS) gồm hai loại cơ bản: phát hiện xâm nhập dựa trên các dấu hiệu và phát hiện sự bất thường. Trong đó, hệ thống sử dụng phương pháp phát hiện xâm nhập dựa trên dấu hiệu sẽ nhận dạng tấn công bằng cách so sánh dấu hiệu nhận được với một tập hợp các dấu hiệu tấn công đã biết trước (còn được gọi là mẫu - pattern). Tuy nhiên, phương pháp này hầu như không có tác dụng với những cuộc tấn công mới, quy mô phức tạp... do chưa có được thông tin về cuộc tấn công. Phương pháp phát hiện sự bất thường có những ưu điểm nhất định: thiết lập và ghi nhận trạng thái hoạt động ổn định của hệ thống, sau đó so sánh với trạng thái đang hoạt động hiện hành để kiểm tra sự chênh lệch. Khi nhận ra sự khác biệt lớn trong hệ thống thì có thể dự đoán về khả năng đã xảy ra một cuộc tấn công.
Hoạt động của IDS có thể được xây dựng theo hai hình thức là trực tuyến (online) và không trực tuyến (offline). IDS không trực tuyến là hệ thống chạy theo định kỳ và phát hiện xâm nhập khi chúng đã xảy ra trên thực tế dựa trên việc kiểm tra lại bản ghi của hệ thống. IDS trực tuyến được thiết kế để phát hiện xâm nhập trong khi chúng đang xảy ra và cho phép đưa ra cảnh báo cũng như sự can thiệp nhanh hơn. Tuy nhiên, hệ thống này đòi hỏi đầu tư nhất định cho việc tính toán để đưa ra cảnh báo, đồng thời phải chịu sự giám sát một cách liên tục. Việc cảnh báo của hệ thống phải được đưa ra theo thời gian thực và xử lý trên khối dữ liệu ít, nên độ tin cậy không cao.
2. Hệ thống phát hiện xâm nhập dựa trên mạng nơ-ron
Giới thiệu hệ thống NNID
Từ năm 1998, ba nhà khoa học Jake Ryan, Meng-Jang Lin, Risto Miikkulainen đã đề xuất giải pháp xây dựng hệ thống phát hiện xâm nhập dựa trên mạng nơ- ron (Neural Network Intrusion Detector - NNID). NNID sử dụng giải thuật học lan truyền ngược (backpropagation), hoạt động trên môi trường UNIX và là IDS không trực tuyến. Tại cuối mỗi ngày làm việc, người quản trị hệ thống sẽ chạy NNID để kiểm tra phiên đăng nhập của người dùng có phù hợp với mẫu hoạt động thông thường của họ hay không. Nếu hoạt động của người dùng không phù hợp với mẫu hoạt động thông thường thì sẽ đưa ra cảnh báo về một sự xâm nhập tới hệ thống.
Các mẫu hoạt động thông thường của người sử dụng hợp pháp được gọi là hồ sơ người dùng. Để tạo ra hồ sơ người dùng, hệ thống sẽ sử dụng phương pháp thống kê, nhằm thống kê tần suất sử dụng các câu lệnh trong hệ thống của mỗi người dùng, từ đó tạo nên các biểu đồ sử dụng lệnh của từng người dùng, việc học hồ sơ người dùng cũng được thực hiện thông qua các biểu đồ này. Dữ liệu để sử dụng cho việc thống kê được lấy từ các bản ghi nhật ký (log record) của hệ thống, với mục đích ghi lại toàn bộ hành vi của mỗi người dùng trong phiên đăng nhập của họ. Các bản ghi này không làm ảnh hưởng tới quyền riêng tư của người dùng khi tham gia vào hệ thống. Tần suất sử dụng các câu lệnh trong hệ thống hay thói quen của mỗi người dùng khi sử dụng các ứng dụng trong hệ thống được gọi là dấu vết người dùng (a “print” of the user).
Hệ thống NNID gồm 3 tầng chuẩn (tầng đầu vào – input layer, tầng ẩn – hidden layer và tầng đầu ra – output layer). Tầng đầu vào của hệ thống NNID gồm 100 nơ- ron, đại diện cho vector người dùng; tầng ẩn gồm 30 nơ- ron và tầng đầu ra có 10 nơ- ron tương ứng với 10 người dùng.
Triển khai hệ thống NNID
NNID được triển khai theo 3 giai đoạn:
+ Thu thập dữ liệu huấn luyện (training data): thống kê nhật ký đăng nhập của mỗi người dùng trong nhiều ngày trước đó. Lập vector thể hiện tần suất sử dụng các lệnh của mỗi người dùng trong từng ngày.
+ Huấn luyện (training): Huấn luyện NNID để nhận dạng người dùng dựa trên các vector phân bố câu lệnh.
+ Thực hiện (performance): Xác định người dùng dựa trên mỗi vector phân bố lệnh mới. Nếu hệ thống xác định nó không thuộc các người dùng thường, hoặc không có xác định rõ ràng thì sẽ đưa ra cảnh báo về một sự bất thường.
Kết quả thử nghiệm NNID
Hệ thống NNID được nhóm nghiên cứu Khoa Điện tử và Kỹ thuật máy tính trường đại học Texas của Austin thử nghiệm trên máy tính chạy hệ điều hành NetBSD. Theo đó, máy tính thử nghiệm có 10 người sử dụng, trong đó có một số người sử dụng đều đặn (regular users), một số khác đăng nhập không thường xuyên (intermittently). Sau 12 ngày thu thập đã thu được kết quả của 89 vector người dùng. Các lệnh phổ biến nhất trong bản ghi nhật ký được dùng cho hệ thống như: as, cut, awk, bibtex, cpp, date, elm....
Tần suất sử dụng mỗi lệnh được chia thành 11 khoảng khác nhau, khoảng có trọng số nhỏ là khoảng có tần suất sử dụng lệnh thấp. Khoảng đầu tiên là lệnh không bao giờ được sử dụng, khoảng thứ hai là câu lệnh đã được sử dụng một hoặc hai lần và cứ như vậy cho đến khoảng cuối cùng, nơi mà lệnh được sử dụng hơn 500 lần. Các khoảng được đại diện bởi các giá trị từ 0,0 đến 1,0 và mỗi khoảng hơn kém nhau giá trị 0,1. Với một người dùng cụ thể, mỗi câu lệnh sẽ có một giá trị thuộc khoảng trên, 100 câu lệnh sẽ tạo thành một vector phân phối lệnh 100 chiều (100- dimensional command distribution vector) và được sử dụng làm đầu vào cho hệ thống NNID.
NNID được huấn luyện với dữ liệu được chọn trong 8 ngày bất kỳ (65 user vectors) và quá trình kiểm thử đã được tiến hành trong 4 ngày còn lại (24 user vectors). Nhóm nghiên cứu đã thực hiện 4 lần như vậy và cả 4 quá trình kiểm tra được thực hiện theo hai nội dung sau:
- Xác định người dùng của 4 ngày còn lại. Nếu có được một nơ- ron đầu ra có giá trị cao hơn tất cả các nơ- ron đầu ra khác và lớn hơn 0,5 thì đã xác định được chính xác người dùng tương ứng với nơ- ron đó. Ngược lại, hệ thống sẽ đưa ra khẳng định “nhầm” đó là bất thường, lỗi này được gọi là false positive.
- Xác định người dùng từ 100 vectors người dùng được tạo bởi các giá trị ngẫu nhiên. Nếu tất cả nơ- ron đầu ra có giá trị nhỏ hơn 0,5 thì hệ thống đã xác định chính xác đó là một người dùng bất thường (không là bất kỳ người nào trong 10 người dùng đã biết trong hệ thống). Ngược lại, giá trị đầu ra cao nhất sẽ được xác định cho người dùng tương ứng. Như vậy, các xâm nhập bất hợp pháp thực hiện như 1 trong 10 người dùng thường sẽ không được phát hiện, lúc này hệ thống đưa ra lỗi false negative.
Kết quả của 4 quá trình kiểm tra là khá giống nhau. Trung bình, hệ thống từ chối 63% vector người dùng được tạo ngẫu nhiên, dẫn đến tỷ lệ phát hiện bất thường là 96%. Phát hiện chính xác 93% vector người dùng hợp pháp, đưa ra cảnh báo sai 7% về người dùng hợp pháp. Một điều thú vị là, trong cả 4 quá trình kiểm tra, thì kết quả cảnh báo sai đều rơi vào những người dùng giống nhau và là những người dùng không thường xuyên sử dụng hệ thống, nên hệ thống không thể học được hồ sơ thích hợp của người dùng đó.
Đánh giá về NNID
Triển khai NNID cho hệ thống có nhiều người dùng thì tỷ lệ phát hiện bất thường vẫn không thay đổi. Hệ thống vẫn có thể học tốt các mẫu hồ sơ của người dùng và bất cứ một hành động nào khác với hành động thông thường của người dùng thì đều bị coi là bất thường.
Đối với các xâm nhập mới, do NNID luôn cập nhật hồ sơ và phân tích hoạt động hàng ngày của mỗi người dùng và NNID cũng được huấn luyện lại theo định kỳ nên các xâm nhập mới sẽ dễ dàng được phát hiện. Các hệ thống hiện nay chỉ cần 90 giây để thực hiện điều này.
NNID dễ dàng huấn luyện và không tốn kém bởi nó hoạt động không trực tuyến và dựa trên dữ liệu nhật ký đăng nhập hàng ngày. Với các hệ thống phát hiện xâm nhập không yêu cầu thời gian thực thì NNID là một giải pháp khá tối ưu.
Một số kết quả ứng dụng mạng nơ-ron khác
Khả năng ứng dụng mạng nơ- ron trong phát hiện xâm nhập trái phép hay phát hiện các tấn công vào hệ thống máy tính là rất lớn và không chỉ giới hạn trong hệ thống NNID, mà còn có thể ứng dụng cho các hệ thống khác.
Bảng 1: Tỷ lệ phát hiện các cuộc tấn công của ID3-ids và IDS-ANN từ Nikto
Bảng 2: Tỷ lệ phát hiện các cuộc tấn công của ID3-ids và IDS-ANN từ Nessus
- So sánh ANN với giải thuật cây quyết định ID3 trong phát hiện tấn công mạng
Một nghiên cứu của nhóm tác giả ở Mexico (2006) đã thử nghiệm và so sánh hoạt động của hai hệ thống phát hiện tấn công web dùng giải thuật mạng nơ- ron (IDS- ANN) và giải thuật cây quyết định ID3 (ID3- Ids). Dữ liệu thử nghiệm được lấy từ 2 hãng an ninh mạng là Nikto và Nessus đã cho kết quả như trong tài liệu [2]:
- Ứng dụng ANN trong phát hiện tấn công DoS
Để khẳng định thêm về vai trò của mạng nơ-ron, có thể nhắc đến ứng dụng mạng nơ- ron trong hệ thống phát hiện tấn công từ chối dịch vụ DoS, đây là một kiểu tấn công rất phổ biến trong môi trường mạng, nó bao gồm một số loại sau: Back, Land, Neptune, Pod, Smurf, Teardown. Vấn đề này đã được các tác giả Iftikhar Ahmad, Azween B Abdullah, Abdullah S Alghamdi đề cập trong bài báo “Application of Artificial Neural Network in Detection of DoS Attacks” (2009). Trong kết luận của bài báo, các tác giả đã chỉ ra tỷ lệ phát hiện được các tấn công DoS trong hệ thống phát hiện tấn công ứng dụng mạng nơ- ron như bảng 3 và hình 1:
Bảng 3: Sử dụng mạng nơ-ron trong phát hiện tấn công DoS
Hình 1: Đồ thị kết quả phát hiện tấn công DoS
Với việc sử dụng với giải thuật lan truyền ngược đàn hồi (Resilient Back Propagation – RPROP) trong hệ thống ứng dụng mạng nơ- ron, Iftikhar Ahmad và các cộng đã so sánh chúng với các phương pháp khác trong lĩnh vực phát hiện tấn công từ chối dịch vụ như MSOMS, ART1, ART2, và MLHC, hình 2.
Hình 2: Tỷ lệ phát hiện tấn công giữa các phương pháp khác nhau
3. Kết luận
Các hệ thống phát hiện truy nhập trái phép truyền thống đang gặp khó khăn trước các cuộc tấn công ngày càng phức tạp và biến hóa lên các hệ thống máy tính. Việc ứng dụng mạng nơ- ron trong phát hiện xâm nhập trái phép đã được nghiên cứu từ lâu và đã thể hiện nhiều ưu điểm so với các hệ thống dùng kỹ thuật truyền thống. Theo hình 2, mạng nơ- ron dùng giải thuật RPROP cho tỷ lệ phát hiện tấn công cao nhất (96%).
Các số liệu được giới thiệu ở trên và theo nhiều kết quả khác được công bố gần đây đã cho thấy hệ thống phát hiện xâm nhập trái phép ứng dụng mạng nơ- ron có hiệu suất cao - thường là trên 90%, tỷ lệ phát hiện truy nhập sai nhỏ (với một số kiểu tấn công DoS thì tỷ lệ này bằng 0) và thời gian huấn luyện, xử lý nhanh