TỔNG QUAN VỀ CÁC MÔ HÌNH HỌC MÁY ÁP DỤNG TRONG HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG
Kiến trúc của một hệ thống Network Intrustion Detection System
Để nâng cao tính bảo mật cho người dùng, mô hình mạng thường sử dụng hệ thống phát hiện xâm nhập mạng (NIDS) nhằm theo dõi các hành vi độc hại trong và ngoài hệ thống NIDS được chia thành hai loại: Active IDS và Passive IDS Active IDS tự động chặn các cuộc tấn công mà không cần sự can thiệp của con người, trong khi Passive IDS chỉ giám sát lưu lượng gói tin và cảnh báo người dùng về các hành vi khả nghi.
Một cách phân loại NIDS là Signature-Based IDS và Anomaly-Based IDS Signature-Based IDS dựa vào cơ sở dữ liệu chứa các dấu hiệu và lỗ hổng đã biết, lưu trữ chi tiết thông tin của các cuộc tấn công xâm nhập đã được ghi nhận, từ đó phát hiện và ngăn chặn các cuộc tấn công tương tự trong tương lai Tuy nhiên, loại IDS này cần được cập nhật thường xuyên để duy trì hiệu quả Ngược lại, Anomaly-Based IDS dựa vào hành vi bất thường của người dùng để cảnh báo, học từ các mẫu dữ liệu cơ sở nhằm phát hiện các cuộc tấn công mới Hệ thống sẽ kích hoạt cảnh báo khi phát hiện bất kỳ sai lệch nào so với các mẫu đã biết.
Các kỹ thuật machine learning được áp dụng trong các hệ thống phát hiện xâm nhập mạng (NIDS) nhằm nâng cao hiệu quả phát hiện các bản tin bất thường Một hệ thống NIDS thường bao gồm hai module chính để triển khai các mô hình machine learning.
Hình 1.1 : Mô hình áp dụng Machine Learning trong triển khai hệ thống
Module 1 : Module thực hiện chức năng thu thập , sao chép tất cả các luồng dữ liệu mạng đi ra và đi vào hệ thống
Bước đầu tiên trong quy trình thu thập dữ liệu mạng là sử dụng các công cụ như tcpdump và Wireshark để ghi lại các gói tin mạng được trao đổi trong hệ thống với môi trường Internet Dữ liệu thu được sẽ được lưu trữ trong tệp có định dạng pcap.
Step 2: Utilize tools such as IDS_Detection, Malware_detection, and Ashula_Detection to convert pcap files into text format and automatically label the captured network packets as either normal or attack.
Module 2 : Module thực hiện chức năng xử lý và phân loại gói tin có dấu hiệu đáng ngờ
Bước 1 : Tiến hành trích chọn đặc trưng , trích rút thông số các trường dữ liệu của gói tin như : duration , service, protocol, label , địa chỉ IP…
Bước 2: Tiến hành xử lý dữ liệu thu được bằng cách chuẩn hóa và giảm kích thước dữ liệu trước khi đưa vào mô hình học máy để thực hiện phân loại gói tin.
Sau khi hoàn thành quá trình phân loại, mô hình học máy sẽ xác định gói tin nào là bình thường và gói tin nào có dấu hiệu độc hại.
Bước 4: Thông tin phân loại sẽ được gửi trở lại hệ thống Phát hiện xâm nhập mạng (NIDS), nơi sẽ tiến hành loại bỏ các gói tin độc hại và kích hoạt cảnh báo cho người quản trị hệ thống.
Trong nghiên cứu này, tôi sử dụng tập dữ liệu mạng Kyoto Dataset, được xây dựng từ các log file hệ thống tại đại học Kyoto, Nhật Bản, thay vì thu thập gói tin mạng bằng công cụ bên thứ ba Mục tiêu chính của nghiên cứu là tập trung vào xử lý dữ liệu mạng, thực nghiệm và đánh giá các mô hình machine learning, nhằm nâng cao hiệu suất của các hệ thống NIDS trong tương lai.
Khác với các thuật toán machine learning truyền thống, các mô hình mạng neural network hiện đại có khả năng phân tích và xử lý lượng dữ liệu lớn, đồng thời tự tối ưu hóa và cải thiện hiệu suất theo thời gian thông qua việc phân loại dữ liệu thực tế.
Trong phần tiếp theo, tác giả sẽ trình bày các mô hình máy học chính, nhằm làm nền tảng cho việc chứng minh các mục tiêu của luận văn.
Tìm hiểu về các mô hình Machine Learning
Deeplearning liên quan đến các mô hình mạng nơ-ron, hay còn gọi là Mạng Nơ-ron Nhân tạo (ANN) Trước khi khám phá các mô hình mạng nơ-ron phức tạp hơn, cần nhấn mạnh một mô hình kinh điển là hồi quy tuyến tính, được xem là mạng nơ-ron đơn giản nhất Trong phần này, chúng ta sẽ tìm hiểu các kiến thức cơ bản về mạng nơ-ron, bao gồm hàm mất mát và phương pháp gradient descent.
1.2.1.1 Mô hình hồi quy tuyến tính :
Hồi quy tuyến tính là một phương pháp dùng để mô hình hóa mối quan hệ tuyến tính giữa các dữ liệu đầu vào x và giá trị đầu ra y Trong đó, y được tính bằng tổng trọng số của x cộng với các sai số Mục tiêu chính của hồi quy tuyến tính là dự đoán các giá trị số như giá cổ phiếu, giá nhà hay nhu cầu mua sắm Với một tập dữ liệu gồm n mẫu, mô hình hồi quy tuyến tính giả định mối quan hệ giữa biến phụ thuộc y và vector đặc trưng p của biến độc lập x, được biểu diễn qua công thức: ŷ = + ⋯ + + = + ớ = 1, …
Hình 1.2 : Ví dụ minh họa về một đồ thị hồi quy tuyến tính
W là vector trọng số (weight) , xác định mức độ đóng góp của mỗi đặc trưng tới đầu ra ŷ
b được gọi bias ( độ lệch) tương ứng với giá trị của đầu ra khi tất cả giá trị các đặc trưng bằng 0
T là ký hiệu của phép chuyển vị, thể hiện tích giữa vector và W Để thuận tiện trong việc truy cập, tập hợp các điểm dữ liệu được biểu diễn dưới dạng ma trận X, trong đó mỗi hàng đại diện cho một mẫu dữ liệu và mỗi cột thể hiện các giá trị đặc trưng N điểm dữ liệu sẽ được gom lại và biểu diễn dưới dạng ký hiệu ma trận như sau: ŷ = Xw + b.
Mô hình tuyến tính nhằm tìm ra cách tốt nhất để biểu diễn y theo x, nhưng trong thực tế, y không thể chính xác bằng giá trị dự đoán do có sai số không thể tránh khỏi trong việc đo đạc các đặc trưng X Ngoài ra, giá trị đầu ra y còn phụ thuộc vào nhiều yếu tố khác không có trong dữ liệu, có thể do ảnh hưởng của các yếu tố này quá nhỏ Do đó, cần có tham số b (bias) để thể hiện độ sai số của mô hình Để xác định các tham số W và b, chúng ta sẽ tìm hiểu về hàm mất mát (loss function) và phương pháp Gradient Descent nhằm tối ưu hóa hàm mất mát.
Hàm mất mát đo lường sự khác biệt giữa giá trị đầu ra dự đoán và giá trị thực tế Giá trị của hàm mất mát luôn không âm, và mục tiêu là giảm thiểu giá trị này càng thấp càng tốt Trong điều kiện lý tưởng, hàm mất mát đạt giá trị bằng 0.
Trong hồi quy tuyến tính hàm mất mát thường được sử dụng nhất là hàm tổng bình phương của các giá trị mất mát Ta có công thức [5] :
2 (ŷ ( ) − ( ) ) Trong đó : ŷ ( ) là giá trị đầu ra ước lượng , ( ) là giá trị đầu ra thực tế
Chúng ta cần xác định giá trị nhỏ nhất của hàm mất mát trên toàn bộ tập dữ liệu quan sát Để làm điều này, ta tính trung bình các giá trị mất mát của từng mẫu trong tập dữ liệu.
Bài toán sẽ quy về mục tiêu là tìm các tham số (w,b) sao cho tổng giá trị mất mát trên tập dữ liệu là nhỏ nhất :
Gradient descent là một thuật toán được sử dụng để tìm giá trị nhỏ nhất của hàm số thông qua việc tính toán đạo hàm Phương pháp này giúp cập nhật các tham số (w, b) bằng cách tính đạo hàm của hàm mất mát, và nó sẽ được áp dụng để tối ưu hóa các mô hình học sâu trong luận án này.
Phương pháp gradient descent cơ bản tối ưu hóa hàm mất mát trên từng mẫu dữ liệu, nhưng điều này dẫn đến sự hội tụ chậm về điểm giá trị nhỏ nhất Một lựa chọn khác là cập nhật các tham số (w, b) bằng cách duyệt qua toàn bộ tập dữ liệu Tuy nhiên, với các bài toán có tập dữ liệu lớn, việc này sẽ tốn nhiều thời gian và tài nguyên.
Để tránh hiện tượng tràn dữ liệu trên máy tính do bộ nhớ hạn chế, cách đơn giản là chia tập dữ liệu lớn thành các minibatch nhỏ hơn Mô hình sẽ cập nhật các tham số (w,b) sau mỗi lần xử lý các minibatch này theo công thức đã được xác định.
Trong công thức, B đại diện cho kích thước của minibatch, η là tốc độ học, ∂( ) là đạo hàm riêng của hàm mất mát theo trọng số w, và ∂( ) là đạo hàm riêng của hàm mất mát theo bias b.
1.2.2 Mô hình Multilayer Neural network :
Mạng nơ-ron, hay còn gọi là Mạng nơ-ron nhân tạo (ANN), là một tập hợp các thuật toán được phát triển dựa trên cách thức hoạt động của não người Khi chúng ta mở mắt, những hình ảnh mà chúng ta nhìn thấy được gọi là dữ liệu, và dữ liệu này được xử lý bởi các nơ-ron trong não bộ, giúp ghi nhận những gì xảy ra xung quanh Mạng nơ-ron hoạt động tương tự, bằng cách tiếp nhận một lượng lớn dữ liệu, xử lý dữ liệu thô và xác định kết quả đầu ra.
Các thành phần cấu tạo nên một mạng neural network gồm có :
Hình 1.3 : Mô hình mạng neurral network có L layer
Mô hình mạng Neural network bao gồm L lớp, trong đó lớp đầu tiên là input layer, các lớp ở giữa là hidden layer, và lớp cuối cùng là output layer Tổng số lớp trong mô hình được tính là không bao gồm input layer.
Circular nodes are referred to as neurons Each node in the preceding layer is connected to all nodes in the following layer with its own unique weight coefficient (w) Additionally, each node in both the hidden layer and output layer has its own individual bias coefficient (b).
Phần này sẽ mô phỏng cách thức mà một node làm việc trọng một mạng neural network
Hình 1.4 : Mô tả cách thức hoạt động của một neural
X mô tả cho các giá trị đầu vào tương ứng các node ở layer trước
W là các giá trị weight mô tả các liên kết giữa các layer với nhau
B là các giá trị độ lệch, phản ánh sự khác biệt giữa giá trị trung bình của mô hình dự đoán và giá trị thực tế trong dữ liệu.
∑ là một hàm linear regression (tuyến tính), tương ứng với giá trị trung gian của node , nó không phải giá trị cuối cùng của node
F() là hàm Activation Function (hàm kích hoạt ) như : sigmoid, tanh hay ReLU
1.2.2.3 Các hàm Activation Function : a Hàm sigmoid :
Hàm sigmoid chuyển đổi các giá trị đầu vào từ khoảng (-∞, +∞) thành các giá trị đầu ra trong khoảng (0, 1) Công thức toán học của hàm sigmoid được biểu diễn như sau:
Khảo sát và đánh giá một số nghiên cứu khoa học để làm rõ các mục tiêu của luận văn
Mạng nơ-ron hồi tiếp (RNN) là một trong những mô hình quan trọng nhất trong Deep Learning, nổi bật với những thành tựu đáng kể trong xử lý ngôn ngữ tự nhiên (NLP) và phát hiện xâm nhập bất thường thông qua phân tích lưu lượng mạng Nhiều nghiên cứu khoa học, cả trong nước và quốc tế, đã chứng minh hiệu quả của việc áp dụng RNN vào các hệ thống phát hiện xâm nhập mạng (NIDS).
Trong nghiên cứu của Tô Trọng Tín và Trần Văn Lăng, việc cải thiện độ chính xác và tăng tốc độ phân tích dữ liệu mạng trên hệ thống phát hiện xâm nhập (IDS) được thực hiện thông qua các mô hình học sâu Hai mô hình mạng neural được khảo sát là Multilayer Perceptron (MLP) và Recurrent Neural Network (RNN), được thử nghiệm trên bộ dữ liệu KDD99 và so sánh với các mô hình học máy truyền thống như SVM và Naive Bayes Kết quả cho thấy RNN đạt độ chính xác cao nhất lên tới 99.04%, tiếp theo là MLP với 98.2%, vượt trội so với 92.6% của SVM và 88.46% của Naive Bayes.
Bài viết của Trần Thị Hương và Phạm Văn Hạnh đã kết hợp mạng neural truy hồi RNN với phân tích các đặc điểm để nâng cao hiệu quả trong nghiên cứu.
Mô hình Hybrid Rule base RNN trong nghiên cứu KDD99 cho thấy độ chính xác 99.7% trong việc phát hiện các cuộc tấn công mạng, vượt trội hơn so với 91.72% của SVM và 87.06% của Logistic Việc chuyển đổi 24 trưng của tập KDD99 thành các tập luật giúp cải thiện hiệu quả phát hiện xâm nhập mạng.
Nghiên cứu của Chuanlong Yin đã đề xuất phương pháp sử dụng mạng hồi quy truy hồi (RNN-IDS) để phát hiện xâm nhập mạng, được thử nghiệm trên bộ dữ liệu NSL-KDD Mô hình này được đánh giá hiệu suất trong phân loại nhị phân và phân loại đa lớp, cho thấy việc điều chỉnh các tham số như số lượng neuron và learning rate ảnh hưởng lớn đến hiệu suất Kết quả so sánh với các phương pháp học máy khác như ANN, random forest, SVM, NB Tree và Nạve Bayes cho thấy RNN-IDS đạt được độ chính xác cao và hiệu suất vượt trội trong cả hai loại phân loại.
Hình 1.16 :So sánh RNN-IDS với các thuật toán khác trong phân loại đa lớp
Hình 1.17 :So sánh RNN-IDS với các thuật toán khác trong phân loại nhị phân
Việc áp dụng mô hình RNN đã nâng cao độ chính xác và mở ra hướng đi mới cho việc cải thiện hiệu suất của các hệ thống Phát hiện xâm nhập mạng (Network Intrusion Detection), vượt trội hơn so với nhiều mô hình machine learning khác.
1.3.1 So sánh hiệu năng của LSTM và GRU :
Trước khi trình bày mục tiêu của bài luận án, bài viết sẽ điểm qua những ưu điểm và nhược điểm của mạng neural RNN Khác với các mô hình mạng neural truyền thống, RNN có khả năng lưu trữ thông tin từ các đầu vào trước đó để dự đoán cho hiện tại, mang lại lợi thế lớn trong việc xử lý dữ liệu tuần tự.
Mặc dù RNN có khả năng xử lý các phụ thuộc dài hạn, nhưng thực tế cho thấy khả năng học trong dài hạn của nó kém hơn do vấn đề triệt tiêu và bùng nổ đạo hàm trong quá trình tính toán trọng số của mô hình Để khắc phục nhược điểm này, hai phiên bản mạng RNN là LSTM (Long Short-Term Memory) và GRU (Gated Recurrent Unit) đã được giới thiệu, với LSTM ra mắt vào năm 1997 và GRU vào năm 2014 Cả hai biến thể này đều được sử dụng rộng rãi trong các bài toán với dữ liệu tuần tự Một câu hỏi đặt ra là giữa LSTM và GRU, biến thể nào là tốt hơn?
LSTM (Long Short Term Memory) có ba cổng (input, output và forget gate), trong khi GRU (Gated Recurrent Units) chỉ có hai cổng (reset và update gate) Nghiên cứu [16] đã so sánh sự khác biệt giữa các đơn vị hồi tiếp trong các biến thể của RNN Bài viết phân tích sự phức tạp của cơ chế nhớ gating giữa mô hình RNN truyền thống sử dụng hàm kích hoạt tanh và hai biến thể LSTM và GRU Kết quả cho thấy LSTM và GRU vượt trội hơn so với mô hình RNN truyền thống Tuy nhiên, khi so sánh LSTM và GRU, không có kết luận cụ thể nào được đưa ra Cả hai kiến trúc đều có những điểm mạnh và yếu riêng, cho kết quả tốt tùy thuộc vào tính chất của dữ liệu thực nghiệm và việc tinh chỉnh các hyperparameters một cách hợp lý.
Mục tiêu của luận văn này là đề xuất một nghiên cứu so sánh giữa hai mô hình GRU và LSTM, tập trung vào quá trình thực nghiệm để phân tích hiệu suất của chúng.
Bài viết này đánh giá hiệu năng của hai mô hình GRU và LSTM trong việc phát hiện sự bất thường trong lưu lượng mạng, dựa trên hai bộ dữ liệu Kyoto 2013 và Kyoto 2015 Việc sử dụng các bộ dữ liệu này giúp đưa ra những nhận định chính xác về khả năng của từng mô hình trong việc xử lý và phân tích dữ liệu mạng.
1.3.2 Đề xuất mô hình mạng neuron kết hợp với SVM :
Mạng nơ-ron nhân tạo (ANN) là một thuật toán machine learning hiệu quả trong việc phân loại và nhận dạng đối tượng ANN cho phép dữ liệu được phân chia thành các lớp, thường sử dụng hàm hồi quy Softmax để phân loại Softmax cung cấp phân phối xác suất cho các lớp, đảm bảo tổng xác suất bằng 1, phù hợp với các bài toán phân loại nhiều lớp Tuy nhiên, không phải tất cả các bài toán đều cần tiếp cận xác suất, như phân loại nhị phân Phương pháp xác suất thường phức tạp hơn, với độ phức tạp O(n), trong khi bộ phân lớp SVM chỉ yêu cầu chi phí tính toán O(1), do không cần tính toán phân phối xác suất.
26 xuất cho n lớp như Softmax Có một số bài nghiên cứu đã chỉ ra hiệu quả của việc kết hợp giữa mạng Neural network với SVM
Trong nghiên cứu của Abien Fred M Agarap, tác giả đã kết hợp mạng neural RNN với bộ phân lớp SVM để phân tích lưu lượng mạng và phát hiện dấu vết bất thường, thực nghiệm trên bộ dữ liệu Kyoto Dataset, mô phỏng các cuộc tấn công mạng từ hệ thống honeypot của Đại học Kyoto Kết quả cho thấy RNN hiệu quả trong nhiều nhiệm vụ của Machine Learning như xử lý ngôn ngữ tự nhiên và phân loại văn bản Mô hình RNN thường sử dụng hàm Softmax ở lớp đầu ra và hàm cross-entropy để tính toán giá trị mất mát Tuy nhiên, bài viết đã đề xuất thay thế hàm Softmax bằng bộ phân lớp SVM ở lớp đầu ra của mô hình GRU, cho thấy mô hình GRU-SVM đạt độ chính xác 84.15% với thời gian dự đoán 1.37 phút, cao hơn so với mô hình GRU-Softmax đạt 70.75% và 1.67 phút.
Hình 1.18 : Bảng so sánh GRU-SVM và GRU-Softmax
Mục tiêu 2 của nghiên cứu này là đề xuất một mô hình mới kết hợp giữa mạng LSTM, một biến thể của mạng RNN, và bộ phân lớp đa lớp SVM để phát hiện sự bất thường trong lưu lượng mạng Một số nghiên cứu trước đây đã chỉ ra rằng các mô hình kết hợp giữa mạng neural network và SVM, như GRU-SVM, cho kết quả tốt khi so sánh với các mô hình tham chiếu.
Bài viết này sẽ đánh giá hiệu năng của mô hình LSTM-SVM bằng cách sử dụng kết quả accuracy score và giá trị confusion matrix từ mô hình GRU-SVM trong nghiên cứu của tác giả Abien Fred M Agarap Qua đó, chúng tôi sẽ tiến hành so sánh và đưa ra những nhận định về hiệu quả của mô hình đề xuất.
KHẢO SÁT MÔ HÌNH LSTM VÀ GRU TÌM HIỂU
Tập dữ liệu thực nghiệm Kyoto Dataset
2.1.1 Giới thiệu về Kyoto Dataset :
Với sự gia tăng nhanh chóng của botnet, các cuộc tấn công mạng như DDoS và spam email đang trở thành mối đe dọa nghiêm trọng đối với hệ thống CNTT Do đó, các công nghệ bảo mật như Hệ thống phát hiện xâm nhập mạng (NIDS), hệ thống ngăn chặn xâm nhập mạng (IPS) và firewall đang ngày càng được chú trọng hơn để bảo vệ mạng, máy chủ và thông tin nhạy cảm của người dùng khỏi các kẻ tấn công trên Internet.
Nhiều nỗ lực đã được thực hiện để nâng cao khả năng của các hệ thống NIDS thông qua các kỹ thuật khai thác dữ liệu và học máy Để áp dụng những kỹ thuật này, cần có bộ dữ liệu thực nghiệm để huấn luyện các mô hình thuật toán Bộ dữ liệu KDD Cup 99, ra đời từ năm 1999, là một trong những bộ dữ liệu mạng phổ biến, mô phỏng các cuộc tấn công mạng trong môi trường phòng lab Tuy nhiên, với sự phát triển nhanh chóng của công nghệ thông tin, KDD-99 không còn phản ánh chính xác các xu hướng tấn công mạng hiện nay, do đó cần có các bộ dữ liệu mạng mới để cải thiện khả năng của NIDS, và bộ dữ liệu Kyoto đã được phát triển để đáp ứng nhu cầu này.
Trong bài viết, nhóm tác giả từ trung tâm công nghệ Nagoya, Nhật Bản đã giới thiệu bộ dữ liệu mạng mới mang tên Kyoto dataset 2006, được xây dựng từ năm 2006 đến 2009 thông qua việc thu thập các luồng dữ liệu mạng thực tế Bài viết cũng cung cấp phân tích chi tiết về Kyoto Dataset, từ đó giúp nâng cao hiểu biết về các xu hướng tấn công mới trên Internet.
Hệ thống honeypots được sử dụng để phân tích và theo dõi gói tin mạng, bao gồm nhiều máy thật và máy ảo với các hệ điều hành khác nhau như Solaris 8, Windows XP SP2, Windows Vista, MacOS X, và Windows 2000 Server, cùng với các thiết bị điện tử gia đình có kết nối mạng Khi phát hiện gói tin độc hại, tất cả các máy honeypots sẽ được khởi động lại ngay lập tức Để thu thập gói tin và phát hiện sự bất thường, nghiên cứu sử dụng ba phần mềm bảo mật: hệ thống SNS7160 IDS, phần mềm Clam AntiVirus và Ashula.
Cuối cùng từ dữ liệu thu thập được bài viết đưa ra một số phát hiện như sau :
Khoảng 50% các cuộc tấn công mạng được phát hiện đến từ Trung Quốc ,
Tổng số lượng các cảnh báo về IDS alerts, AV alerts, shellcodes, địa chỉ IP nguồn và destination ports lần lượt là 290, 832, 231, 4420971 và 61942
Số lượng trung bình các cảnh báo IDS alerts, AV alerts, shellcodes, source
IP addresses và destination ports trong một ngày lần lượt là s 41, 5.5, 9, 5,851 và 557
Khoảng 60% các cảnh báo từ IDS alerts là về MSSQL StackOverflow (29%), SMB Large Return Field (17%) và Too Many SYNs for a TCP Connection (12%)
Hầu hết các cảnh báo AV alerts liên quan đến Trojan, Worm, Phishing Email
Top 6 port đích là 445, 22, 0, 80, 139, 1434 chiếm khoảng 70% trong tổng số các port đích được phát hiện
27 mã shellcodes được phát hiện từ một loại sâu độc (worm) liên quan đến file Win32/Conficker
2.1.2 So sánh Kyoto Dataset với các bộ dữ liệu mạng hiện nay :
Hiệu năng của hệ thống NIDS thường được đánh giá dựa trên các bộ dữ liệu mạng đã được gán nhãn, từ đó thực hiện so sánh và cải tiến hệ thống Hiện nay, có nhiều bộ dữ liệu mạng được thu thập từ các học viện và tổ chức nghiên cứu khác nhau.
KDD’99 (University of California, Irvine 1998, 99)
CAIDA (Center of Applied Internet Data Analysis – 2002/2016)
LBNL (Lawrence Berkeley National Laboratory and ICSI – 2004/2005)
CDX (United States Military Academy 2009)
ADFA (University of New South Wales – 2013)
Nghiên cứu về các bộ dữ liệu mạng để đánh giá tính phù hợp và độ tin cậy vẫn còn hạn chế Một nghiên cứu từ Học viện An ninh mạng Canada đã phân tích các bộ dữ liệu từ năm 1998 đến 2016, sử dụng các tiêu chí và framework do nhóm nghiên cứu đề xuất Kết quả nghiên cứu đã xác định được những bộ dữ liệu phù hợp và đáng tin cậy cho các hệ thống IDS hiện nay Dưới đây là thống kê về các điểm mạnh và yếu của 11 bộ dữ liệu đã được phân tích.
Hình 2.1: Bảng so sánh đặc trưng của các tập dữ liệu mạng
Dựa trên một danh sách các tiêu chí mà được đề ra như : Network configuration, complete trafic, label dataset ,Interaction , Capturing , Protocols,
Bài viết giới thiệu một framework để đánh giá và tính điểm cho từng bộ dữ liệu dựa trên các tiêu chí như tấn công, tính ẩn danh, sự đa dạng, bộ tính năng và siêu dữ liệu Sau khi phân tích ưu nhược điểm của các bộ dữ liệu, hai bộ dữ liệu KDD99 và Kyoto Dataset đã được lựa chọn để thực hiện đánh giá cuối cùng.
Hình 2.2 : Điểm benmark của 2 tập dữ liệu KDD99 và Kyoto Dataset Điểm benchmarck cho 2 bộ dữ liệu trên lần lượt là : KDD99 ( 0.56 điểm ) và KyotoDataset (0.85 điểm )
Bài khảo sát cho thấy bộ dữ liệu Kyoto Dataset có tính hiệu quả và đáng tin cậy cao trong việc thực nghiệm và đánh giá các thuật toán mới cho bài toán phát hiện xâm nhập mạng.
2.1.3 Các đặc trưng trong bộ dữ liệu Kyoto dataset :
Bộ dữ liệu mạng bao gồm 24 đặc trưng, trong đó có 14 đặc trưng cơ bản và 10 đặc trưng bổ sung 14 đặc trưng đầu tiên được trích xuất từ bộ dữ liệu KDD Cup 99, một bộ dữ liệu phổ biến trong nghiên cứu phát hiện xâm nhập mạng Bộ dữ liệu KDD Cup 99 nguyên bản có 41 đặc trưng, nhưng chỉ một phần trong số đó được sử dụng cho mục đích này.
Hệ thống honeypot tại Đại học Kyoto đã thu thập 14 đặc trưng quan trọng từ các luồng dữ liệu thô, cùng với 10 đặc trưng bổ sung, nhằm nâng cao hiệu quả nghiên cứu thông tin trao đổi giữa các gói tin trong mạng Các đặc trưng này được trình bày một cách giống hệt với dữ liệu mạng thực tế, giúp tăng cường độ tin cậy trong phân tích.
============= đặc trưng cơ bản =============1 Duration : Thời lượng , tính bằng số giây của kết nối
2 Service : loại dịch vụ kết nối ví dụ như : http , telnet …
3 Source bytes : kích thước dữ liệu ( tính bằng byte ) được gửi bởi địa chỉ IP nguồn
4 Destination bytes : kích thước dữ liệu ( tính bằng byte ) được gửi bởi địa chỉ IP đích
5 Count: biến đếm , đếm số lượng kết nối có địa chỉ IP nguồn và địa chỉ IP đích giống nhau trong khoảng thời gian 2 giây
6 Same_srv_ rate : tỉ lệ % số lượng kết nối sử dụng cùng một loại dịch vụ trong danh sách biến đếm Count
7 Serror_rate : tỉ lệ % số lượng kết nối có lỗi SYN trong danh sách biến đếm Count
8 Srv_serror_rate : tỉ lệ % số lượng kết nối có lỗi SYN trong số các biến đếm Srv ( là số lượng các kết nối sử dụng cùng loại dịch vụ với kết nối hiện tại trong khoảng thời gian 2 giây )
9 Dst_host_count : biến đếm , đếm số lượng kết nối trong số 100 kết nối trước , kết nối nào có địa chỉ IP đích và địa chỉ IP nguồn giống với kết nối hiện tại
10 Dst_host_srv_count : biến đếm , đếm số lượng kết nối trong số 100 kết nối trước, kết nối nào có điạ chỉ IP đích sử dụng cùng loại dịch vụ giống với kết nối hiện tại
11 Dst_host_same_src_ port_rate: tỉ lệ % các kết nối trong biến đếm Dst_host_count có port nguồn giống với kết nối hiện tại
12 Dst_host_serror_rate: tỉ lệ % các kết nối có lỗi SYN trong biến đếm Dst_host_count
13 Dst_host_srv_serror_rate : tỉ lệ % các kết nối có lỗi SYN trong biến đếm Dst_host_srv_count
14 Flag : trạng thái của kết nối tại thời điểm khi kết nối đã kết thúc Danh sách các trạng thái sẽ được mô tả ở phần sau
Hệ thống phát hiện xâm nhập (IDS) phản ánh khả năng cảnh báo cho các kết nối, với giá trị ‘0’ cho thấy không có cảnh báo nào được kích hoạt Ngược lại, giá trị khác ‘0’ cho biết các loại cảnh báo đã được kích hoạt Trong trường hợp này, hệ thống sử dụng Symantec IDS để thực hiện tính năng này.
2 Malware_detection : cho biết liệu có phần mềm độc hại hay còn được gọi là malware được tìm thầy trong danh sách các kết nối hay không Giá trị ‘0’ có nghĩa là không có phần mềm độc hại nào được tìm thấy trong danh sách các kết nối Hệ thống sử dụng phần mềm “clamav” để phát hiện phần mềm độc hại
Long Short Term Memory
2.2.1 Giới thiệu về mô hình mạng LSTM :
Mạng Long Short Term Memory (LSTM) là một biến thể đặc biệt của mạng RNN, được phát triển bởi Hochreiter và Schmidhuber vào năm 1997, với khả năng học phụ thuộc dài hạn LSTM đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều bài toán khác nhau, nhờ vào thiết kế của nó giúp lưu trữ thông tin dài hạn và loại bỏ đầu vào ngắn hạn, khắc phục những thách thức tồn tại trong các mô hình RNN cơ bản.
Cấu trúc mạng RNN bao gồm một chuỗi các nút ẩn A lặp đi lặp lại để xử lý thông tin, thường với cấu trúc đơn giản chỉ một lớp ẩn sử dụng hàm kích hoạt tanh.
Hình 2.3 : Mô hình mạng Recurrent Neural Network dùng hàm tanh ở hidden layer
LSTM bao gồm một chuỗi các nút ẩn A, nhưng cấu trúc bên trong các nút này khác biệt so với các mạng nơ-ron thông thường Thay vì chỉ có một lớp ẩn duy nhất, LSTM sở hữu đến bốn lớp, tương tác với nhau theo cách đặc biệt.
Hình 2.4 : Mô hình mạng Long Short Term Memory với các cổng chức năng
Cấu trúc bên trong LSTM gồm 4 hidden layer tương tác với nhau được chú thích như sau :
Hình 2.5 : Chú thích các toán tử trong mạng Long Short Term Memory
Trong đó : Ô vuông màu vàng đại diện cho hidden layer sử dụng hàm activation function , thông thường là hàm tanh và sigmoid
Hình tròn màu hồng thể hiện các phép toán giữa 2 vector với nhau như phép cộng , phép nhân
Mũi tên vector tranfer đại diện cho các giá trị đầu vào và đầu ra sẽ biểu diễn dưới dạng vector
Mũi tên concatenate thể hiện phép chập kết quả
Mũi tên copy biểu thị kết quả của phép tính trước đó, được sao chép và gửi đến lớp hidden layer khác Điểm nổi bật của LSTM là các cell state, hay trạng thái ô nhớ, mà giống như một thanh trục nằm ngang chạy dọc trên đầu biểu đồ Cell state hoạt động như một băng chuyền vận chuyển thông tin dễ dàng, chạy xuyên suốt chuỗi các nút ẩn, nơi thông tin được tương tác qua các hàm tuyến tính.
Hình 2.6 : Mô tả cấu trúc của bộ nhớ dài hạn cell state trong LSTM
LSTM có khả năng điều chỉnh thông tin trong cell state bằng cách thêm hoặc loại bỏ dữ liệu thông qua các gate Các gate này được xây dựng từ một lớp mạng nơ-ron sử dụng hàm kích hoạt sigmoid và một phép toán để lọc thông tin.
Giá trị đầu ra của lớp sigmoid nằm trong khoảng từ 0 đến 1 Nếu đầu ra bằng 0, điều này có nghĩa là thông tin không được truyền qua, trong khi nếu đầu ra bằng 1, thông tin sẽ hoàn toàn được truyền tải.
36 sẽ được đi qua LSTM có ba trong bốn cổng như thế này nhằm mục đích bảo vệ và kiểm soát trạng thái ô nhớ cell state
2.2.2 Tìm hiểu về cấu trúc mạng LSTM :
LSTM có ba cổng chính: cổng đầu vào, cổng quên và cổng đầu ra Tại bước thời gian t, giá trị đầu vào cùng với trạng thái ẩn từ bước trước đó được xử lý qua lớp sigmoid gọi là lớp cổng quên Lớp này quyết định thông tin nào sẽ được giữ lại trong ô nhớ (cell state), với giá trị đầu ra nằm trong khoảng [0,1] Giá trị "1" thể hiện thông tin được giữ lại, trong khi "0" biểu thị thông tin bị loại bỏ Giả sử có h nút ẩn A, mỗi tập minibatch chứa n mẫu dữ liệu d chiều.
ℝ ∗ và trạng thái ẩn ở bước thời gian trước đó ℎ ∈ ℝ ∗ được tính toán như sau (Hình 2.7) :
Hình 2.7 : Mô tả cấu trúc của lớp cổng quên trong LSTM
Bước tiếp theo trong việc quyết định thông tin nào được lưu trữ trong cell state là sử dụng một lớp cổng đầu vào (input gate layer) với hàm sigmoid để xác định giá trị cần cập nhật Sau đó, một lớp tanh layer sẽ tạo ra một vector mới Č ∈ ℝ ∗, quyết định xem có giá trị mới nào được thêm vào hay không, với giá trị mới nằm trong khoảng [-1,1] Điều này dẫn đến phương trình tại bước thời gian t (Hình 2.8).
Hình 2.8 : Mô tả cấu trúc của lớp cổng đầu vào trong LSTM
Bước tiếp theo là cập nhập lại giá trị mới cho cell state ở bước thời gian t-
Tại bước thời gian t, giá trị cell state mới được cập nhật thông qua các bước sau: Đầu tiên, giá trị cell state ở bước t-1 được nhân với giá trị đầu ra từ lớp cổng quên, giúp xác định thông tin cũ cần giữ lại Tiếp theo, thông tin mới được cập nhật bằng cách nhân giá trị đầu ra từ lớp cổng đầu vào với giá trị đầu ra từ lớp tanh layer Č, điều chỉnh lượng dữ liệu mới được đưa vào Phương trình cập nhật cell state được minh họa trong Hình 2.9.
Hình 2.9 : Mô tả các bước cập nhập lại trạng thái cell state trong LSTM
Cuối cùng, cần xác định trạng thái ẩn ℎ của nút ẩn A tại thời điểm t Giá trị đầu vào cùng với trạng thái ẩn sẽ được xử lý qua lớp cổng đầu ra (output gate layer) sử dụng hàm sigmoid Khi giá trị của cổng đầu ra đạt 1, thông tin trong ô nhớ sẽ được chuyển đến bộ dự đoán.
Khi giá trị của cổng đầu ra là 0, thông tin trong ô nhớ được giữ lại mà không có xử lý nào Giá trị của trạng thái ô (cell state) được đưa qua hàm kích hoạt tanh và nhân với giá trị đầu ra của lớp cổng đầu ra (output gate layer) để xác định trạng thái ẩn ℎ ∊ℝ ∗ Việc sử dụng hàm kích hoạt tanh đảm bảo rằng giá trị của ℎ luôn nằm trong khoảng [-1, 1] Phương trình này được mô tả như trong Hình 2.10.
Hình 2.10 : Mô tả cấu trúc lớp cổng đầu vào trong LSTM
Gated Recurrent Unit
Gated Recurrent Unit (GRU), hay còn gọi là nút hồi tiếp có cổng, được giới thiệu bởi Cho vào năm 2014 nhằm giải quyết vấn đề triệt tiêu đạo hàm, một vấn đề lâu nay tồn tại trong mô hình RNN GRU cũng có thể được xem là một biến thể của LSTM, vì cả hai đều được thiết kế tương tự và trong một số trường hợp, khi áp dụng đồng thời, chúng đều mang lại kết quả rất tốt.
Hình 2.11 : Mô hình mạng Gated Recurrent Unit với các cổng chức năng
Mô hình GRU, khác với LSTM có ba cổng (cổng đầu vào, cổng quên và cổng đầu ra), chỉ sử dụng hai cổng, bao gồm cổng cập nhật (update gate).
39 và cổng xóa (reset gate) , giúp hỗ trợ việc khi nào nên cập nhập khi nào nên xóa trạng thái ẩn ( hidden state)
Giả sử tại bước thời gian t, giá trị đầu vào và trạng thái ẩn từ bước trước ℎ được xử lý qua một lớp mạng nơ-ron với hàm kích hoạt sigmoid Giá trị đầu ra cho cổng xóa và cổng cập nhật được tính toán dựa trên các thông số này.
Với ( , , , ) là các ma trận trọng số weight và ( , ) là các vector sai số bias
Cả hai biểu thức đều có cấu trúc tương tự, sử dụng giá trị đầu vào và trạng thái ẩn ℎ, cùng với hàm kích hoạt sigmoid có giá trị đầu ra trong khoảng (0,1) Trong quá trình huấn luyện, thông tin quan trọng với giá trị gần 1 sẽ được giữ lại, trong khi thông tin không quan trọng với giá trị gần 0 sẽ bị loại bỏ Việc lưu trữ hay xóa thông tin từ và ℎ phụ thuộc vào giá trị trọng số của từng cổng và cách sử dụng giá trị đầu ra của chúng Công thức tính hàm ĥ bao gồm giá trị đầu vào, trạng thái ẩn ℎ và giá trị đầu ra của cổng xóa, trong đó cổng sử dụng thông tin trước đó để quyết định thông tin nào sẽ bị xóa và bao nhiêu thông tin mới sẽ được thêm vào Phương trình mô tả ĥ là: ĥ = tanh( ĥ + ( ∗ ℎ ) ĥ + ĥ ).
Công thức tính trạng thái ẩn ℎ tại bước thời gian t trong mạng neural hồi tiếp yêu cầu thông tin từ hai nguồn là ĥ và ℎ, kết hợp với giá trị đầu ra của cổng cập nhật Khi giá trị đầu ra của cổng gần bằng 1, ℎ sẽ giữ lại nhiều thông tin từ ĥ; ngược lại, nếu giá trị gần bằng 0, thông tin từ ĥ sẽ bị bỏ qua và trạng thái cũ ℎ sẽ được giữ nguyên Phương trình cập nhật được mô tả như sau:
Bài viết này trình bày cấu trúc của hai mô hình mạng neural truy hồi và so sánh hiệu quả của chúng trong việc phát hiện xâm nhập mạng bất thường.