Cải thiện khả năng phát hiện tấn công mạng bằng kỹ thuật học sâu
Tóm tắt
Hệ thống phát hiện tấn công mạng (Intrusion Detection System - IDS) là một phần mềm bảo mật
được thiết kế để cảnh báo một cách tự động cho các quản trị viên khi có ai đó ho c cái gì đó đang
cố gắng xâm nhập hệ thống thông qua các hoạt động nguy hiểm ho c vi phạm chính sách bảo
mật. Nhiều nghiên cứu đ áp dụng thành công các thuật toán máy học để hệ thống IDS có khả
n ng tự học và cập nhật các cuộc tấn công mới. Nhưng để hạn chế báo động nhầm và t ng khả
n ng dự đoán các cuộc tấn công, thì ngoài khả n ng tự quyết định, IDS cần phải có tư duy ph n
tích. Một khả n ng mà các nhà nghiên cứu gọi là học sâu. Bài viết này đề cập đến học s u như
một hướng tiếp cận mới có thể giúp hệ thống IDS cải thiện độ ch nh xác và t ng tốc độ phân tích
khi đầu vào quá lớn. Với việc áp dụng mạng thần kinh s u như mạng đa lớp n (Multilayer
Perceptron - MLP) và mạng neural hồi quy (Recurrent Neural Network – RNN) trên tập dữ liệu
KDD99 được sử dụng để đánh giá độ ch nh xác (Accuracy), độ l i phân lớp (MSE – Mean
Squared Error) và ma trận h n loạn (Confusion Matrix). Hiệu quả đạt được là 98,2% với MLP và
99,04% với RNNs, so với 92,6% của SVM và 88.46% của Naïve Bayes.
Tóm tắt nội dung tài liệu: Cải thiện khả năng phát hiện tấn công mạng bằng kỹ thuật học sâu
Đại học Nguyễn Tất Thành 7 Tạp chí Khoa học & Công nghệ Số 1 Cải thiện khả n ng phát hiện tấn công mạng bằng kỹ thuật học sâu Tô Trọng Tín1, Trần V n L ng2, 3 1 Học viện Công nghệ Bưu ch nh viễn thông, 2Viện Cơ học và Tin học ứng dụng, VAST, 3Đại học Nguyễn Tất Thành tiznto@gmail.com, langtv@vast.vn Tóm tắt Hệ thống phát hiện tấn công mạng (Intrusion Detection System - IDS) là một phần mềm bảo mật được thiết kế để cảnh báo một cách tự động cho các quản trị viên khi có ai đó ho c cái gì đó đang cố gắng xâm nhập hệ thống thông qua các hoạt động nguy hiểm ho c vi phạm chính sách bảo mật. Nhiều nghiên cứu đ áp dụng thành công các thuật toán máy học để hệ thống IDS có khả n ng tự học và cập nhật các cuộc tấn công mới. Nhưng để hạn chế báo động nhầm và t ng khả n ng dự đoán các cuộc tấn công, thì ngoài khả n ng tự quyết định, IDS cần phải có tư duy ph n tích. Một khả n ng mà các nhà nghiên cứu gọi là học sâu. Bài viết này đề cập đến học s u như một hướng tiếp cận mới có thể giúp hệ thống IDS cải thiện độ ch nh xác và t ng tốc độ phân tích khi đầu vào quá lớn. Với việc áp dụng mạng thần kinh s u như mạng đa lớp n (Multilayer Perceptron - MLP) và mạng neural hồi quy (Recurrent Neural Network – RNN) trên tập dữ liệu KDD99 được sử dụng để đánh giá độ ch nh xác (Accuracy), độ l i phân lớp (MSE – Mean Squared Error) và ma trận h n loạn (Confusion Matrix). Hiệu quả đạt được là 98,2% với MLP và 99,04% với RNNs, so với 92,6% của SVM và 88.46% của Naïve Bayes.. ® 2018 Journal of Science and Technology - NTTU Nhận 19.12.2017 Được duyệt 21.01.2018 Công bố 01.02.2018 Từ khóa IDS, mạng máy tính, mạng thần kinh, học sâu, máy học 1. Giới thiệu Trước sự tiến bộ của thông tin và truyền thông, những mối đe dọa an ninh mạng c ng t ng lên rất nhiều, hệ thống phát hiện tấn công mạng (IDS) là một trong những vấn đề bảo mật rất đáng quan t m, IDS hoạt động bằng cách theo dõi hoạt động của hệ thống thông qua việc kiểm tra các l h ng bảo mật, tính toàn vẹn của các tệp tin và tiến hành phân tích các m u dựa trên các cuộc tấn công đ biết, nó c ng tự động theo dõi lưu lượng mạng để tìm kiếm các mối đe dọa mới nhất có thể d n đến một cuộc tấn công trong tương lai. Hình 1. Phân loại hệ thống IDS Đại học Nguyễn Tất Thành Tạp chí Khoa học & Công nghệ Số 1 8 Hình 1 là các loại hệ thống IDS được Pathan (2014) [1] phân theo ba tiêu chí lần lượt là kiến trúc hệ thống, phương thức phát hiện xâm nhập và các loại hình tấn công. Hầu hết các nhà nghiên cứu đều tập trung vào nghiên cứu kỹ thuật phát hiện của IDS. Họ đ cố gắng áp dụng các kỹ thuật máy học với hệ thống này và đạt được những thành công nhất định. Peter Scherer et al. (2011) [2 đ ứng dụng kỹ thuật SVMs và các thuật toán clustering vào việc cải thiện các thông số dự đoán; th nghiệm đ đạt những kết quả khả quan, nhưng vấn đề khi sử dụng đơn lớp SVM thì rất khó phản ánh được độ tương quan giữa các lớp tấn công. Các tác giả Hoàng Ngọc Thanh, Trần V n L ng, Hoàng T ng (2016) [3 đ đề xuất một cách xây dựng bộ phân lớp lai đa tầng trên cơ sở kiến trúc của mô hình ph n đa lớp truyền thống One-vs-Rest trong đó luồng dữ liệu đi qua s được sàn lọc qua các tầng thuật toán như SVM, ANN..M i tầng của thuật toán chuyên dụng được d ng để phân tích một loại tấn công tương ứng. Họ đ xác nhận rằng sử dụng mô hình đa lớp s cho ra kết quả tốt hơn mô hình đơn lớp. Qua các thí nghiệm và nghiên cứu trên chúng ta có thể hình dung một mô hình có thể là tối ưu để cải thiện khả n ng phát hiện xâm nhập bao gồm nhiều lớp xử lý và trong m i lớp chứa một công cụ để quyết định từng dấu hiệu của dữ liệu đầu vào. Bài báo này mở rộng nghiên cứu sang các kỹ thuật học tập s u (Deep learning); đ y là một kỹ thuật mới đang có rất nhiều ưu điểm và t nh n ng cần nghiên cứu khai thác với 2 điểm chính: Thứ nhất, kết quả từ các thuật toán học sâu không chịu sự chi phối của việc định ngh a các đ c trưng; điều đó có ngh a là các dữ liệu đầu vào không cần phải qua công đoạn tiền xử lý và trích chọn đ c trưng, ch ng ta có thể đưa vào gần như là dữ liệu thô. Thứ hai, bản thân của các mạng học tập sâu v n sử dụng các thuật toán thống kê với qui mô siêu lớn, khi đưa vào càng nhiều dữ liệu thì độ chính xác càng cao. Xuejun Gu et al. [4 đ ch ra hiệu quả của mạng neural (thần kinh) sâu trong xử lý dữ liệu phi tuyến thời gian thực; theo đó mạng được ch ý đến gồm ba mô hình: 1) Multilayer-Perceptrons (MLP), 2) Mạng neural tái phát (RNN), 3) Mạng neural tích chập (CNN); trong đó mô hình MLP và RNN là rất hiệu quả trong việc phân tích chu i dữ liệu tuần tự, liên tục và mang nhiều đ c trưng dữ liệu [5]. Vì vậy trong bài viết này áp dụng một mô hình lai của hai mạng trên và huấn luyện với bộ dữ liệu KDD99 để kiểm tra hiệu suất. Thông qua việc huấn luyện tìm ra một bộ tham số đạt hiệu quả cao nhất và xác nhận được t lệ phát hiện ch nh xác c ng như t lệ phân lớp l i. Bài viết này gồm có 4 phần, các phần còn lại của bài báo như sau: trong phần II trình bày mô hình mạng MLP, mạng RNNs, thuật toán học lan truyền ngược, cách bố trí thí nghiệm, các phương pháp đánh giá và kết quả trình bày trong phần III; đánh giá và kết luận nêu trong phần IV 2. Mô hình học sâu Nếu nói học máy là một phạm trù của trí tuệ nhân tạo (AI), chúng lấy một số ý tưởng cốt lõi của AI và tập trung vào giải quyết các vấn đề thực tế với các mô hình được thiết kế để bắt chước việc ra quyết định của con người thì học sâu tập trung vào các vấn đề trọng t m hơn về một tập hợp các công cụ và kỹ thuật máy học, c ng như việc áp dụng chúng để giải quyết các vấn đề đ i h i tư duy. Về cơ bản, học tập s u liên quan đến việc nhập vào một hệ thống máy tính rất nhiều dữ liệu, chúng có thể sử dụng để đưa ra các quyết định về các dữ liệu khác thông qua việc học ở nhiều cấp độ tương ứng với các mức độ trừu tượng khác nhau với các lớp, qua đó hình thành một hệ thống các t nh n ng ph n cấp từ thấp đến cao. 2.1 Mạng Multilayer-Perceptron (MLP) Mạng neural sâu (DNN) là một mạng neural nhân tạo với nhiều lớp n giữa lớp đầu vào và đầu ra. Khác với các mạng neural thường; các mạng neural sâu có thể mô hình mối quan hệ phi tuyến một cách phức tạp, ch ng hạn như phát hiện và ph n t ch đối tượng để tạo ra các mô hình h n hợp; mà các đối tượng này xem như thành phần được xếp lớp của các dữ liệu ban đầu. Các lớp n cho phép lấy các thành phần của các đ c điểm từ các lớp thấp hơn, mô hình hóa dữ liệu phức tạp hơn so với mạng lưới nông khi thực hiện việc tương tự. Một mạng Multilayer-Perceptron (MLP) chính là mạng neural sâu. Hình 2. Kiến trúc mạng MLP với 2 lớp n Hình 2 ví dụ mạng neural gồm ba lớp trong đó hai lớp n và một lớp đầu ra (khi tính số lớp trong mạng neural ta lấy số lớp n cộng cho 1), các ma trận W(L) đại diện cho các trọng số (weight) trong từng lớp, m i lớp có một hệ số tự do gọi là bias - ký hiệu là b(L); bias và weight là hai đại lượng quan trọng cần tìm khi cần tối ưu mạng MLP cho một công việc nào đó. Output của các input được tính theo công thức: ( ) ( ( ) ( ) ( )) ( ) ( ( )) (1) ̂ ( ) Trong đó a k hiệu cho output và f là hàm k ch hoạt; hàm số được sử dụng nhiều nhất là hàm sigmoid và hàm tanh vì đạo hàm của ch ng rất đẹp; nhưng những n m gần đ y người ta phát hiện ra các hàm số này bị hạn chế vì ch ng Đại học Nguyễn Tất Thành 9 Tạp chí Khoa học & Công nghệ Số 1 không thể hiện hết được miền giá trị của các unit. Nếu input là một trị tuyệt đối của một số rất lớn thì gradient của nó rất gần với 0 ho c -1; vì vậy các hệ số của unit s không được cập nhật. Theo Krizhevsky et al. [6] hàm Rectified Linear Unit (ReLU) đang là một hàm số đơn giản và gi p t ng tốc độ huấn luyện của các thuật toán học tập sâu lên rất nhiều, công thức của nó là ( ) ( ) nên gradient được t nh toán rất nhanh với giá trị là 1, nếu đầu vào lớn hơn 0 và bằng 0 nếu s = 0. Giả sử t nh được một điểm dữ liệu yt sau vòng lập thứ t, cần t nh độ mất mát J(W, b, X, Y) của yt và dùng một thuật toán huấn luyện để đưa yt về càng gần giá trị y thực tế. Phương pháp ph biến nhất để tối ưu MLP v n là Gradient Descent (GD) nhưng trong điều kiện tập dữ liệu lớn, liên tục với điểm dữ liệu nhiều chiều thì GD kém hiệu quả và quá cồng kềnh khi phải liên tục tính toán lại đạo hàm của hàm mất mát tại tất cả các điểm dữ liệu. Vì vậy cần dùng Root Mean Square Error (RMSE) để t nh độ mất mát J trên từng điểm dữ liệu sau đó d ng phương pháp học Backpropagation cho hàm số Stochastic Gradient Descent (SGD) để t nh đạo hàm theo ma trận W(L), b(L). Các bước thực hiện như sau: 1. Với giá trị đầu vào X, tính giá trị đầu ra Y, với m i layer phải lưu lại một giá trị output là a(L) . 2. Với ouput layer ta có ( ) √ ∑‖ ( )‖ ( ) ( ) (2) 3. Từ (1) (2) suy ra: ( ) ( ) ( ) ( ) ( ) 4. Lan truyền ngược với L là L-1, L-21 ta có: ( ) ( ( ) ( )) ( ( )) Trong đó Θ là hàm hadamard product là hàm lấy từng thành phần của hai vector nhân với nhau để được vector kết quả. 5. Cập nhật đạo hàm cho ma trận trọng số và bias. 2.2 Recurrent neural network (RNN) Mạng neural tái phát, mạng neural hồi quy hay recurrent neural network (RNN) là một loại mạng neural nhân tạo được b sung một số trọng số để tạo ra các chu trình trên đồ thị mạng, qua đó cố gắng duy trì trạng thái cục bộ. Hình thức đơn giản nhất của mạng RNN chính là mạng MLP với các đơn vị kích hoạt trong các lớp n được đưa trở lại mạng cùng với đầu vào. Hình 3. Mô hình fully recurrent neural network Giả định rằng đầu vào và đầu ra của mạng RNN lần lượt là vectors x(t) và y(t), ba ma trận trọng số là Wxh, Whh và Why như Hình 3. Hàm k ch hoạt unit ở lớp n và lớp đầu ra là fH và fO, hành vi của mạng RNN có thể được mô tả như là một hệ thống động bằng c p phương trình ma trận phi tuyến: ( ( ) ( )) ( ) ( ( )) Trong đó f là hàm phi tuyến, h(t) là tập các đơn vị kích hoạt n được d ng để xác định trạng thái của mô hình. Trạng thái của một hệ thống động là một tập hợp các giá trị tóm tắt tất cả các thông tin về hành vi trong quá khứ của hệ thống cần thiết, để cung cấp mô tả duy nhất về hành vi tương lai của nó. Hình 4 mô tả mạng RNN được dàn trải ra theo từng bước thời gian. Hình 4. Mạng RNN được dàn trải theo bước thời gian Huấn luyện mạng RNN c ng tương tự như các mạng neural truyền thống, trong đó v n sử dụng RMSE để tính toán hàm mất mát theo m i bước thời gian và d ng phương pháp học lan truyền ngược để cập nhật các trọng số liên quan tuy nhiên giải thuật lan truyền ngược (backpropagation). Trong RNN có một sự thay đ i đó là đạo hàm tại m i đầu ra phụ thuộc không ch vào các tính toán tại bước đó mà c n phụ thuộc vào các bước trước đó; bởi vì các tham số trong mạng RNN được sử dụng chung cho tất cả các bước trong mạng. Nếu mạng huấn luyện một chu i dữ liệu với thời gian bắt đầu là t0 và kết thúc ở bước thời gian t1 thì t ng chi phí s là t ng độ lệch chu n theo m i bước thời gian: Đại học Nguyễn Tất Thành Tạp chí Khoa học & Công nghệ Số 1 10 ( ) ∑ ( ) và các trọng số được cập nhật theo hàm SGD: ( ) ∑ ( ) trong đó là learning rate, là t ng trọng số của tất cả các bước thời gian trước đó. Với công thức như vậy, có thể thấy được phần nào sự khó kh n khi huấn luyện mạng RNN, vì với các chu i dài ta cần phải truyền ngược lại thông qua rất nhiều tầng mạng. Ngoài ra khi huấn luyện bằng phương pháp lan truyền ngược liên hồi theo m i bước thời gian thì s làm cho các gradient bùng n ho c biến mất, Bengio et al. đ đề cập và giải quyết vấn đề này n m 1994 [7]. Một biến thể của mạng RNN có thể giải quyết vấn đề phụ thuộc xa được giới thiệu bởi Hochreiter & Schmidhuber (1997) [8], gọi là mạng bộ nhớ dài ngắn hạn (Long-short tearm memory – LSTM). Mạng LSTM được thiết kế theo kiến trúc dạng chu i tương tự như mạng RNN nhưng kiến trúc bên trong của LSTM có 4 tầng tương tác với nhau thay vì 1 tầng như mạng RNN (Hình 5). Việc nhớ thông tin trong thời gian dài là đ c tính của mạng với tầng trạng thái nên không cần phải huấn luyện với bất kỳ phương pháp nào. Hình 5. 4 tầng mạng LSTM trong một bước thời gian (nguồn: https://dominhhai.github.io) Các công thức ứng với các tầng mạng được thể hiện như sau: ( ( ) ( ) ( ) ) (3) ( ( ) ( ) ) (4) ( ) ̇ ( ( ) ( ) ) (5) ( ( ) ( ) ) (6) ( ) (7) Hàm σ là một hàm sigmoid, i, f, o và c tương ứng là c ng đầu vào, c ng quên, c ng đầu ra và đơn vị trạng thái. Ba c ng (I, f, o) là các c ng kiểm soát luồng thông tin, Wci, Wcf và Wco biểu thị cho các ma trận trọng số của các kết nối. Bước đầu tiên LSTM s quyết định xem thông tin nào cần b đi từ trạng thái tế bào; nó lấy đầu vào là ht−1 và xt rồi đưa ra kết quả là một số trong khoảng [0,1] cho m i số trong trạng thái tế bào Ct−1 ở phương trình (4); tiếp theo là quyết định xem thông tin mới nào s lưu vào trạng thái tế bào bằng cách kết hợp phương trình (3) và (5). Cuối cùng giá trị đầu ra s dựa vào trạng thái tế bào phương trình (6) và phương trình (7) nh n đầu ra với một c ng sigmoid để cho ra một giá trị đầu ra mong muốn. 3. Kết quả thử nghiệm Trong phạm vi nghiên cứu, mô hình phân loại dựa trên mạng MLP và mạng RNN-LSTM được lựa chọn. Hai mô hình này được huấn luyện trên bộ dữ liệu KDD Cup 1999. Thuật toán được xây dựng trên ngôn ngữ Python và thư viện Keras, Sklearn, chạy trên nền tảng Tensorflow và môi trường Spyder của Anaconda. 3.1 Tập dữ liệu KDD99 Tập dữ liệu KDD99 đ được sử dụng để đo lường hiệu suất của IDS trong rất nhiều nghiên cứu m c dù tập dữ liệu này c nhưng nó có rất nhiều kết quả đo hiệu n ng, rất thích hợp để so sánh với các mô hình khác. Tập dữ liệu này có tất cả 4.898.431 traffic mạng; m i traffic có 42 chiều, các chiều bao gồm các loại giao thức, dịch vụ và cờ: „duration‟,„protocol_type‟,„service‟,„flag‟,„src_bytes‟,„dst_ bytes‟,„land‟,„wrong_fragment‟,„urgent‟,„hot‟,„num_failed_ logins‟,„logged_in,num_compromised‟,„root_shell‟,„su_atte mpted‟,„num_root‟,„num_file_creations‟,„num_shells‟,„nu m_access_files‟,„num_outbound_cmds‟,„is_host_login‟,„is_ guest_login‟,„count‟,„srv_count‟,„serror_rate‟,„srv_serror_r ate‟,„rerror_rate‟,„srv_rerror_rate‟,„same_srv_rate‟,„diff_srv _rate‟,„srv_diff_host_rate‟,„dst_host_count‟,„dst_host_srv_ count‟,„dst_host_same_srv_rate‟,„dst_host_diff_srv_rate‟,„d st_host_same_src_port_rate‟,„dst_host_srv_diff_host_rate‟, „dst_host_serror_rate‟,„dst_host_srv_serror_rate‟,„dst_host_ rerror_rate‟,„dst_host_srv_rerror_rate‟,„outcome‟. Có tất cả 23 kiểu tấn công được phân loại theo số chiều như trên; 23 loại tấn công này được phân làm 4 danh mục là DoS, R2L, U2R và Probe (Hình 6). Hình 6. Phân loại tấn công trong KDD99 [3] Công đoạn đầu tiên phải thực hiện là xác định chia tập dữ liệu thành 2 thành phần, trong đó d ng 80% dữ liệu để huấn luyện và 20% dữ liệu d ng để kiểm tra. C ng không cần sử dụng tập dữ liệu chưa được gán nh n nào khác để kiểm tra khả n ng phát hiện của mạng neural, sau quá trình huấn luyện 80% dữ liệu, mạng neural dùng chức n ng fit model để cố gắng gán nhãn 20% dữ liệu còn lại sau đó cập nhật các trọng số để mạng neural đạt hiệu quả cao nhất (Hình 7). Đa số trong tập dữ liệu này là tấn công DoS và tập dữ liệu bình thường nên thuật toán s được đào tạo một cách chênh lệch. Đại học Nguyễn Tất Thành 11 Tạp chí Khoa học & Công nghệ Số 1 Hình 7 T lệ các cuộc tấn công trong tập dữ liệu 3.2 Các phương pháp đánh giá Trước tiên sử dụng Accuracy (độ ch nh xác) để tính t lệ giữa số điểm được dự đoán đ ng và t ng số điểm trong tập dữ liệu kiểm thử. Tiếp theo lấy t lệ phát hiện (DR – Detection Rate) và t lệ phát hiện sai (FAR – False Alarm Rate) làm thước đo đánh giá độ nghiêm trọng của một lớp nào đó trong một hệ thống phân lớp. DR biểu thị t lệ các trường hợp tấn công đ bị phát hiện bởi thuật toán và FAR là t lệ các trường hợp thường đ bị phát hiện sai. Dựa trên một ma trận sai số, cách tính các ch số được thực hiện như sau: DR = TP / (TP + FN) FAR = FP / (TN + FP) Trong đó (TP - True Positive) là số m u phân lớp đ ng được chấp nhận , (TN – True Negative) là số m u phân lớp đ ng bị từ chối, (FP – False Positive) là số m u phân lớp sai được chấp nhận, (FN – False Negative) là số m u phân lớp sai bị từ chối. Khi ch số DR t ng và ch số FAR giảm thì hiệu suất phát triển được đánh giá tốt hơn. 3.3 Cài đ t mô hình Trước khi sử dụng tập dữ liệu huấn luyện cần phải chu n hóa tất cả các trường hợp từ 0 đến 1; đầu vào có tất cả 41 trường đ c điểm và đầu ra có 4 loại tấn công và 1 loại là dữ liệu bình thường. Do mạng neural yêu cầu đầu vào phải là các cột có giá trị số cố định, như một dữ liệu bảng tính phải có đầu vào hoàn toàn là số nên phải m hóa các vector đ c điểm cho các loại dữ liệu khác nhau. Trong thư viện Tensorflow và Scikit-learn có một số đoạn m d ng để mã hóa vector và t ng số chiều vector như sau: Encode_text_dummy: d ng để m hóa các trường v n bản, giống như 4 loại tấn công là một trường duy nhất trong một lớp, 4 lớp có thể m hóa thành “1, 0 , 0, 0”, “0, 1, 0, 0”, “0, 0, 1, 0”, “0, 0, 0, 1”. Đ y là phương pháp mã hóa các trình dự đoán non-target. Encode_text_index: Giống như Encode_text_dummy, m này m hóa trường v n bản thành các số đại diện trong các lớp “0”, “1”, “2”, “3”; đ y là phương pháp m hóa các trình dự đoán có mục tiêu. Encode_numeric_zscore: Mã hoá các giá trị số dưới dạng z-score. Ở thử nghiệm cài đ t mạng MLP với số lớp là 4, 1 lớp đầu vào có 10 node, lớp n có 3 lớp và một lớp đầu ra. Ở thử nghiệm cài đ t mạng RNN- LSTM vào các lớp n với các tham số time-step, batch-size và epoch. 3.4 Kết quả Kết quả được so sánh hiệu suất với các thuật toán máy học là SVM và bayesian, t lệ Accuracy thể hiện hiệu quả của thuật toán trong quá trình huấn luyện. Bảng 1 Kết quả so sánh hiệu suất giữa các thuật toán học DR FAR Accuracy Bayesian 77,65% 17,57% 88,46% SVM 87,65% 6,12% 92,6% MLP 96,33% 3,34% 98,22% LSTM-RNN 98,8% 10,05% 99,04% 4. Kết luận Từ kết quả thực nghiệm cho thấy mô hình MLP và RNN- LSTM có thể đáp ứng được yêu cầu phát hiện tấn công nêu ra ở trên. Tuy hiệu suất khá trực quan nhưng không thể hiện hết được sức mạnh của thuật toán do được xây dựng để nghiên cứu chứ không phải vì mục đ ch thương mại, không đáp ứng đủ yêu cầu về phần cứng, thời gian huấn luyện c ng như k ch thước tập huấn luyện. Bên cạnh đó, ưu điểm của mô hình học sâu là có thể phát hiện các cuộc tấn công mạng nhanh hơn và cho t lệ ch nh xác cao; đ c biệt với dữ liệu càng nhiều và thời gian huấn luyện càng l u. Như vậy việc sử dụng mô hình học sâu vào việc phát hiện tấn công mạng là hoàn toàn phù hợp. Ngoài ra hướng tiếp cận mới là áp dụng mạng MLP với hàm kích hoạt là ReLU (so với các hàm Sigmoid và tanh) và mạng RNN-LSTM trên tập dữ liệu KDD99, áp dụng hàm đo độ mất mát là RMSE với hiệu quả đánh giá trên t ng bình phương của toàn bộ độ mất mát trên các lớp n. Từ các kết quả trên c ng đ t ra các vấn đề nghiên cứu còn b ngõ như sau: Cần nghiên cứu các mô hình với bộ tham số và các hàm số khác nhau để tìm ra các bộ số thích hợp làm t ng hiệu suất của thuật toán. N ng lực xử lý dữ liệu c ng như t nh toán của hệ thống máy đóng vai trò quan trọng trong việc khai thác thuật toán; đ c biệt là các thuật toán học sâu yêu cầu lượng lớn bộ nhớ để huấn luyện. Ứng dụng thuật toán vào các tập dữ liệu tấn công khác bao gồm tập dữ liệu có gán nhãn và không có gán nhãn. Đại học Nguyễn Tất Thành Tạp chí Khoa học & Công nghệ Số 1 12 Tài liệu tham khảo 1. Al-Sakib Khan Pathan, The State of the Art in Intrusion Prevention and Detection, Taylor & Francis Group, LLC, NewYork, 2014, p. 117-139. 2. Peter Scherer, Martin Vicher, Jan Martinovic, Using SVM and Clustering Algorithms in IDS Systems, Proceedings of the Dateso 2011: Annual International Workshop on DAtabases, TExts, Specifications and Objects, Pisek, Czech Republic, (2011) 3. Hoàng Ngọc Thanh, Trần V n L ng, Hoàng T ng, Một tiếp cận máy học để phân lớp các kiểu tấn công trong hệ thống phát hiện xâm nhập, Kỷ yếu Hội nghị Quốc gia lần thứ IX về Nghiên cứu cơ bản và Ứng dụng Công nghệ thông tin, – FAIR'2016, Cần Thơ, 04-05/8/2016, ISBN: 978-604-913-472-2, NXB. Khoa học tự nhiên và Công nghệ, DOI: 10.15625/vap.2016.00061, (2016) 502-508. 4. Guo-BingZhou, JianxinWu, Chen-LinZhang, Zhi- HuaZhou, Minimal Gated Unit for Recurrent Neural Networks, International Journal of Automation and Computing, June 2016, DOI: 10.1007/s11633-016- 1006-2, (13)3 226–234, 5. Olalekan Ogunmolu, Xuejun Gu, Steve Jiang, Nicholas Gans, Nonlinear Systems Identification Using Deep Dynamic Neural Networks, American Control Conference (ACC). Seattle, WA, 2017. 6. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, Communications of the ACM, ISSN: 0001-0782, EISSN: 1557-7317, DOI: 10.1145/3065386 , (60) 6, (2017), 84-90. 7. Bengio, Yoshua, S. Patrice, F.Paolo, Learning long-term dependencies with gradient descent is difficult, Neural Networks, IEEE Transactions on Neural Networks, DOI: 10.1109/72.279181, (5)2 (1994) 157-166 8. Hochreiter, Sepp, Jrgen Schmidhuber, Long short-term memory, Neural computation, (9)8, (1997) 1735-1780.. Improvement detection abbility of network attacks by deep learning To Trong Tin 1 , Tran Van Lang 2, 3 1Posts and Telecommunications Institute of Technology, 2Institute of Applied Mechanics and Informatics, VAST 3Nguyen Tat Thanh University Abstract The Intrusion Detection System (IDS) is a security software designed to alert automatically when someone or something is trying to infiltrate the system, but this invasion may cause the system to be in danger or violate the privacy policy. Many studies have successfully applied machine learning algorithms to IDS systems that have the ability to self- study and update new attacks. But to limit false alarms and increase the likelihood of predicting attacks, the IDS should have more analytical thinking. This is deep learning. This paper addresses the deep learning as a new approach that can help the IDS system improve accuracy and speed up analysis when input data is too large. With the application of deep neural networks such as the Multilayer Perceptron (MLP) and the Recurrent Neural Network (RNN) on the KDD99 dataset to evaluate Accuracy, Mean Squared Error and Confusion Matrix. The efficiency gains were 98.2% for MLP and 99.04% for RNNs, compared to 92.6% for SVM and 88.46% for Naïve Bayes. Keywords IDS, computer network, neural network, deep learning, machine learning
File đính kèm:
- cai_thien_kha_n_ng_phat_hien_tan_cong_mang_bang_ky_thuat_hoc.pdf