Tuy nhiên, word2vec tồn tại một số nhược điểm gồm:
- Khơng nhận diện được những “từ” khơng cĩ trong tập dữ liệu huấn luyện. Để khắc phục vấn đề này, khơng gian từ điển cần xây dựng cho “từ” thường lớn, tiêu tốn nhiều tài nguyên để lưu trữ, xử lý.
- Mạng nơ-ron cĩ kích thước lớn: giả sử vector từ cĩ 300 thuộc tính và số lượng từ vựng là 1000 từ thì mạng nơ-ron cĩ kích thước ma trận trọng số là 300×1000=300.000
- Thực hiện thuật tốn Gradient Descent tìm cực trị sẽ chậm về mặt thời gian. Với các tìm hiểu và đánh giá các phương pháp tiền xử lý dữ liệu lời gọi hệ thống nêu trên, nghiên cứu sinh đã lựa chọn xử lý lời gọi hệ thống như những dữ liệu cĩ thuộc tính tuần tự nhằm tránh mất mát đặc trưng quan trọng về tính tuần tự của các lời gọi. Với cơ sở lý thuyết, hành vi của một chương trình cĩ thể được mơ hình hĩa dựa trên thơng tin từ lời gọi hệ thống khi chúng tương tác với hệ điều hành. Tuy nhiên, trong khi các cách biểu diễn chuỗi các lời gọi hệ thống sẽ khĩ sắp xếp lại hoặc bở sung một hoặc nhiều lời gọi hệ thống, thì một biểu diễn linh hoạt hơn cĩ thể nắm bắt các mối quan hệ giữa chúng, như một đồ thị thể hiện mối quan hệ giữa các lời gọi, cĩ thể giải quyết vấn đề đĩ. Những đồ thị như vậy thường được gọi là đồ thị lời gọi hệ thống (System Call Graph – SCG).
Do đĩ, để tăng hiệu quả phát hiện mã độc IoT Botnet, nghiên cứu sinh đề xuất đặc trưng đồ thị lời gọi hệ thống cĩ hướng (Directed System Call Graph - DSCG) để cấu trúc hố một cách tuần tự các lời gọi hệ thống. Phương pháp tiền xử lý dữ liệu lời gọi hệ thống được đề xuất sẽ cĩ độ phức tạp thấp, dễ áp dụng với những thuật tốn học máy đơn giản. Nội dung cụ thể của đề xuất sẽ được trình bày tại Chương 3 của luận án.
1.3.3.2. Tiền xử lý dữ liệu tương tác với tài nguyên của hệ thống
Đối với việc thu thập dữ liệu mạng và lời gọi hệ thống gặp nhiều khĩ khăn đối với những thiết bị IoT cỡ nhỏ. Do đặc điểm hạn chế tài nguyên của mình, các thiết bị này khĩ cho phép tích hợp các cơng cụ giám sát hiệu năng cao vào bên trong thiết bị. Với trường hợp sử dụng mơi trường mơ phỏng hoạt động của loại thiết bị này, các nhà nghiên cứu gặp một vài khĩ khăn như chưa thể mơ phỏng đầy đủ chức năng của thiết bị IoT, mơi trường chưa đầy đủ điều kiện cho phép mã độc bộc lộ hồn tồn hành vi của mình (như thiếu kết nối Internet, chỉ dẫn của máy chủ C&C, thư viện liên kết động,…). Bên cạnh đĩ, việc thu thập một lượng lớn dữ liệu mạng (thường lên tới hàng gigabyte),
lời gọi hệ thống (vài nghìn lời gọi) rồi tiền xử lý tồn bộ lượng dữ liệu này tiêu tốn nhiều tài nguyên tính tốn và thời gian. Do đĩ, nhiều nhà nghiên cứu đã đề xuất các phương án sử dụng dữ liệu tương tác với tài nguyên hệ thống để tĩm lược các tác động của mã độc IoT Botnet với mục tiêu.
Cụ thể, tác giả Azmoodeh và cộng sự [38] đã sử dụng dữ liệu thay đởi về mức tiêu thu năng lượng điện của thiết bị để cĩ thể phát hiện mã độc trên thiết bị IoT. Đầu tiên, tác giả sử dụng cơng cụ Power-Tutor để tích hợp vào các thiết bị IoT thử nghiệm và ghi lại mức sử dụng năng lượng điện của các ứng dụng cần phân tích trong khoảng thời gian năm phút và lặp lại cơng việc này 5 lần cho mỗi mẫu trên từng thiết bị thử nghiệm. Sau đĩ, tác giả tiến hành chuẩn hĩa mức tiêu thụ điện năng của CPU cho tất cả các ứng dụng (lành tính và độc hại) trong khoảng giá trị [0,1]. Trong đĩ, giá trị “0” cho biết khơng sử dụng năng lượng và “1” cho biết sử dụng năng lượng tối đa của CPU. Dữ liệu này được tiền xử lý thành các chuỗi ghi nhận mức tiêu thụ năng lượng của ứng dụng theo thời gian cùng với nhãn phân loại trong 5 phút hoạt động.
Tương tự, tác giả Woosub Jung và cộng sự [44] cũng trình bày mơ hình phát hiện mã độc IoT Botnet dựa trên dữ liệu giám sát điện năng tiêu thụ của thiết bị. Tác giả thu thập dữ liệu tiêu thụ điện năng thơng qua việc sử dụng thiết bị giám sát điện năng Monsoon để theo dõi máy tính nhúng Raspberry Pi. Thiết bị Raspberry Pi này sẽ là mục tiêu lây nhiễm của mã độc IoT Botnet (cụ thể là mã độc Mirai). Tởng thời gian thu thập mẫu cho mỗi lớp mà tác giả phân ra là 3000 giây. Sau đĩ, tác giả tiến hành tiền xử lý dữ liệu điện năng tiêu thu được để phù hợp cho đầu vào mạng nơ-ron tích chập (CNN). Thơng qua việc phân tích dữ liệu thu thập được, tác giả lựa chọn sử dụng khung cửa sở trượt (Sliding windows) là 1.5 giây để phân đoạn dữ liệu và biến đởi thành vector đầu vào cho mạng CNN.
Tác giả Shabtai và cộng sự [45] đã trình bày phương pháp phát hiện mã độc dựa trên các dữ liệu sử dụng tài nguyên hệ thống bao gồm: mức chiếm dụng bộ vi xử lý CPU, số tiến trình đang chạy trong hệ thống, mức tiêu hao nguồn năng lượng của thiết bị, dung lượng bộ nhớ RAM được yêu cầu, các thay đởi về tệp và thư mục trong hệ thống, biến động giá trị các thanh ghi (registers) CPU,… Các dữ liệu này sau khi được thu thập và tiền xử lý sẽ được gửi đến những bộ phát hiện hành vi độc hại chuyên biệt khác nhau để đánh giá các nguy cơ cũng như phát hiện mã độc. Các bộ phát hiện hành vi độc hại được
xây dựng dựa trên các thuật tốn học máy phở biến như k-Means, Logistic Regression, Histograms, Decision Tree, Nạve Bayes,…
Dữ liệu tương tác với tài nguyên của hệ thống đã được chứng minh cĩ khả năng phát hiện những loại mã độc cho thiết bị IoT mà khơng cần khai thác những dữ liệu truyền thống như luồng mạng, chuỗi lời gọi hệ thống. Đây cũng là một phương hướng tiếp cận của nghiên cứu sinh trong giải quyết bài tốn phát hiện sớm mã độc IoT Botnet được trình bày tại Chương 4 của luận án.
1.3.4. Phân tích và phát hiện
Dữ liệu động của mã độc IoT Botnet sau khi được thu thập, tiền xử lý sẽ được trải qua bước phân tích dữ liệu và phát hiện các dấu hiệu hành vi độc hại. Trước đây, cơng việc phân tích và phát hiện mã độc IoT Botnet thường dựa trên kinh nghiệm của các chuyên gia bảo mật để đưa ra nhận định cá nhân, đúc kết thành các luật, mẫu chữ ký để cĩ thể phát hiện mã độc này. Tuy nhiên, cùng với sự phát triển của cơng nghệ học máy/học sâu, các nghiên cứu ứng dụng cơng nghệ này để tự động hĩa quá trình phân tích và phát hiện mã độc nĩi chung và IoT Botnet nĩi riêng đã cĩ nhiều thành cơng với độ chính xác cao, loại bỏ được các sai sĩt của việc sử dụng mẫu chữ ký, luật. Với mục tiêu xây dựng mơ hình phát hiện mã độc IoT Botnet hiệu quả và cĩ độ chính xác cao, luận án sẽ đi sâu vào nghiên cứu, đánh giá các mơ hình ứng dụng học máy/học sâu đối với dữ liệu động trong phát hiện mã độc IoT Botnet.
1.3.4.1. Ứng dụng học máy trong phát hiện mã độc IoT Botnet
Từ những ngày đầu của kỷ nguyên trí tuệ nhân tạo (Artificial Intelligence), học máy (Machine learning) luơn là một phần khơng thể thiếu trong việc khai phá thơng tin cĩ ích từ những dữ liệu thơ được thu thập lưu trữ trên các hệ thống thơng tin. Trong nghiên cứu phát hiện mã độc nĩi chung và IoT Botnet nĩi riêng, học máy đã được áp dụng rộng rãi để tự động hĩa quá trình tìm kiếm, nhận biết các đặc trưng phân biệt mã độc và tệp lành tính. Từ đĩ, các mơ hình học máy cĩ thể thay thế các chuyên gia phân tích mã độc để đưa ra dự đốn nhãn phân loại với độ chính xác cao. Các kết quả nghiên cứu áp dụng học máy cho phát hiện mã độc IoT Botnet [38, 45, 76–78] đã cho thấy các thuật tốn học máy phở biến được sử dụng gồm: K-nearest neighbors (KNN), Support vector machines (SVM), Decision Tree (DT) và Random Forest (RF).
Cụ thể, tác giả Azmoodeh và cộng sự [38] thử nghiệm 4 thuật tốn học máy để phát hiện mã độc IoT Botnet bao gồm: K-nearest neighbors (KNN), Neural Network (NN), Support vector machines (SVM) và Random Forest (RF). Tác giả đánh giá mơ hình đề xuất với các tham số đo là ACC, Recall, Precision và F-Measure. Với bộ dữ liệu giám sát thay đởi về mức tiêu thu năng lượng điện của thiết bị, tác giả Azmoodeh đạt kết quả phân loại tốt nhất khi sử dụng thuật tốn KNN (với window sizes=7.5s, K=1) cho giá trị tham số đo ACC=94.27%, Recall=95.65%, Precision=89.19%, F- Measure=92.31%.
Tác giả Shabtai và cộng sự [45] triển khai thử nghiệm 5 thuật tốn học máy là K- Means, Logistic Regression, Histograms, Decision Tree, Nạve Bayes cho các bộ phát hiện hành vi độc hại của mã độc IoT Botnet chạy trên hệ điều hành Android. Với bộ dữ liệu tương tác với tài nguyên của hệ thống tự thu thập, kết quả thử nghiệm cho thấy thuật tốn Decision Tree và Nạve Bayes phù hợp cho việc triển khai mơ hình mà tác giả đề xuất. Độ chính xác phát hiện mã độc của mơ hình được minh chứng với các giá trị trung bình các tham số đo ACC=90.78%, AUC=93.15%, TPR=87.90%, FPR=8.85%.
Tác giả Shorman và cộng sự [76] trình bày mơ hình đề xuất phát hiện mã độc IoT Botnet dựa trên việc kết hợp thuật tốn One Class Support Vector Machine (OCSVM – một thuật tốn kết hợp của SVM và lý thuyết phân loại một lớp) và thuật tốn Grey Wolf Optimization (GWO) để tối ưu siêu tham số cho SVM và lựa chọn các đặc trưng phù hợp. Mơ hình GWO-OCSVM do tác giả đề xuất được huấn luyện và kiểm thử với bộ dữ liệu luồng mạng được lấy từ hệ thống phát hiện xâm nhập N-BaIoT [58] với 5 loại thiết bị IoT chính (gồm cảm biến đo nhiệt độ phịng, camera an ninh, webcam, cảm biến giám sát chuyển động trẻ nhỏ và chuơng cửa). Kết quả đánh giá của mơ hình này với các tham số đo TPR = 98.54% và FPR = 4.86%.
Tác giả Bahsi và cộng sự [77] giới thiệu một phương pháp giảm chiều đặc trưng đầu vào cho các thuật tốn học máy để phát hiện hiệu quả mã độc IoT Botnet. Tác giả sử dụng thuật tốn KNN và Decision Tree để đánh giá hiệu năng của bộ đặc trưng sau khi được tối ưu. Bộ dữ liệu luồng mạng thu thập từ N-BaIoT được tác giả sử dụng để đánh giá phương pháp đề xuất. Kết quả tốt nhất theo kết quả thử nghiệm của tác giả cho độ chính xác ACC=98.97% với thuật tốn Decision Tree và ACC=94.97% với thuật tốn KNN.
Tác giả Yan Naung Soe và cộng sự [78] đề xuất một kiến trúc phát hiện tuần tự xây dựng dựa trên các thuật tốn học máy. Ba thuật tốn học máy khác nhau gồm ANN, Decision Tree J48 và Nạve Bayes được sử dụng trong kiến trúc này. Dữ liệu luồng mạng sau khi được thu thập và tiền xử lý sẽ được lựa chọn các đặc trưng phù hợp cho từng thuật tốn học máy kể trên. Trải qua quá trình huấn luyện, kết quả dự đốn của từng mơ hình học máy đơn lẻ sẽ được kết hợp lại với nhau thơng qua một thuật tốn lựa chọn phù hợp để đưa ra kết quả phát hiện cuối cùng. Tập dữ liệu luồng mạng tác giả sử dụng để huấn luyện và kiểm thử mơ hình được lấy từ N-BaIoT. Mơ hình kết hợp tác giả đề xuất cĩ độ chính xác trung bình đạt ACC≈99%.
Theo kết quả khảo sát trên, ưu điểm của các mơ hình học máy là u cầu ít tài nguyên, thời gian thực thi nhanh. Tuy nhiên, các mơ hình này thường kém chính xác, tỉ lệ âm tính giả cao.
1.3.4.2 Ứng dụng học sâu trong phát hiện mã độc IoT Botnet
Nếu coi học máy là một lĩnh vực của trí tuệ nhân tạo, thì học sâu (Deep learning) cĩ thể được gọi là một tập con của học máy. Nền tảng chính của học sâu chính là lớp thuật tốn mạng neural nhân tạo, một lớp thuật tốn mơ phỏng lại quá trình lưu trữ, sắp xếp và phân loại dữ liệu dựa trên hoạt động bộ não của con người. Trong đĩ, mạng neural nhân tạo được tở chức thành các lớp. Mỗi một lớp được cấu tạo bởi một tập các node, mỗi một node chứa một hàm kích hoạt (activation function); các node giữa các lớp khác nhau cĩ kết nối với nhau, các kết nối và kết nối này cĩ trọng số.
Tác giả Woosub Jung và cộng sự [44] đề xuất mơ hình học sâu sử dụng mạng nơ- ron tích chập (CNN) để phát hiện mã độc IoT Botnet dựa trên biểu đồ điện năng tiêu thụ của thiết bị. Dữ liệu điện năng tiêu thụ sau khi được tiền xử lý với cửa sở trượt phù hợp sẽ được chuyển đởi thành vector đầu vào cho mạng CNN. Mơ hình CNN đề xuất được thiết kế với 8 lớp gồm: Input, Convolution, Batch Normalization, ReLU, Max Pooling, Fully Connected, Softmax, Output layer. Kết quả đánh giá mơ hình đề xuất dựa trên bộ dữ liệu tự sinh cho độ chính xác ACC ≈ 90%.
Tác giả McDermott và cộng sự [79] trình bày mơ hình mạng học sâu hồi quy BLSTM-RNN để phát hiện mã độc IoT Botnet dựa trên dữ liệu luồng mạng của mẫu mã độc Mirai. Để phát hiện mã độc IoT Botnet, tác giả khai thác các chuỗi ký tự cĩ nghĩa được truyền trong các gĩi tin mạng. Dựa trên khả năng học và nhận biết ngữ nghĩa của
các chuỗi ký tự của mạng học sâu hồi quy (RNN), đặc biệt là kiến trúc mạng BLSTM, tác giả áp dụng cho việc học ngữ nghĩa các chuỗi ký tự độc hại trong giao tiếp giữa mã độc IoT Botnet và C&C server. Các chuỗi ký tự được tìm thấy trong các gĩi tin của luồng mạng sẽ được vector hĩa bằng Word Embedding để làm đầu vào phù hợp cho mạng BLSTM-RNN. Mơ hình đề xuất của tác giả cho độ chính xác ACC≈92.24%.
Tác giả Meidan và cộng sự [58] trình bày mơ hình phát hiện mã độc IoT Botnet dựa trên mạng học sâu Deep Autoencoders với bộ dữ liệu tự sinh của mình (N-BaIoT dataset). Autoencoder là một mạng nơ-ron được huấn luyện nhằm mục đích tái cấu trúc lại các đầu vào của nĩ sau khi thực hiện thao tác nén thơng tin. Việc nén thơng tin của Autoencoder nhằm hai mục đích gồm giảm chiều vector và tìm kiếm các ràng buộc với những đặc trưng cĩ độ lợi về thơng tin khi thực hiện phân loại mẫu. Kết quả huấn luyện mạng học sâu này cho tỉ lệ FPR = 1.7%.
Tác giả Sriram và cộng sự [80] đề xuất sử dụng mạng học sâu Deep Neural Network (DNN) để phát hiện mã độc IoT Botnet dựa dữ liệu luồng mạng. Tập dữ liệu phục vụ huấn luyện và kiểm thử mơ hình đề xuất được lấy từ N-BaIoT [58] và BoT- IoT [81]. Mạng học sâu DNN được xây dựng với 4 lớp ẩn, mỗi lớp cĩ lần lượt là 115, 256, 128 và 64 phần tử nơ-ron. Mỗi một lớp đi kèm là hàm kích hoạt (activation function) ReLU và dropout layer. Tối ưu hĩa Adam được sử dụng. Để so sánh, tác giả tiến hành thử nghiệm thêm với các thuật tốn học máy phở biến như KNN, Decision Tree, Random Forest, SVM,… Kết quả thực nghiệm tác giả Sriram cho thấy mơ hình đề xuất cĩ ưu thế về độ chính xác hơn so với những mơ hình sử dụng thuật tốn học máy thơng thường. Tuy nhiên, như tác giả đã thừa nhận, việc sử dụng mạng học sâu tuy cho độ chính xác cao nhưng đi kèm là độ phức tạp tính tốn, khĩ triển khai trong thực tế cho các ứng dụng phát hiện mã độc IoT Botnet theo thời gian thực. Đây cũng là nhược điểm chung của những mơ hình học sâu khi áp dụng vào vấn đề phát hiện mã độc IoT Botnet.
Vì vậy, vấn đề nghiên cứu đặt ra là cần xây dựng một mơ hình phát hiện mã độc IoT Botnet yêu cầu ít tài nguyên, thời gian thực thi nhanh mà vẫn đảm bảo tính chính xác.
1.4. Kết luận Chương 1
Trong Chương 1, nghiên cứu sinh đã trình bày những vấn đề cơ bản về thiết bị IoT và vấn đề bảo mật cịn tồn tại của thiết bị này. Nghiên cứu sinh cũng đã đánh giá,