Phương pháp
Đặc điểm Phân tích tĩnh Phân tích động
Ưu điểm
- Chi tiết hĩa tồn bộ luồng điều khiển (Control Flow Graph – CFG) và luồng dữ liệu (Data Flow Graph – DFG);
- Xác định đầy đủ các khả năng kích hoạt của mã thực thi;
- Xác định dễ dàng ảnh hưởng của mã thực thi với mơi trường mục tiêu; - Loại bỏ được kỹ thuật gây rối, đĩng gĩi mã nguồn,…
- Dễ dàng phân tích mã độc đa kiến trúc.
Nhược điểm
- Khĩ áp dụng với mã độc sử dụng các kỹ thuật gây rối (Obfuscation) hoặc khĩ thu thập mẫu mã thực thi;
- Khĩ xác định đầy đủ các khả năng kích hoạt của mã thực thi;
Phương pháp
Đặc điểm Phân tích tĩnh Phân tích động
- Phụ thuộc nhiều vào khả năng dịch ngược mã nguồn tệp thực thi; - Độ phức tạp lớn, cĩ sai sĩt khi dịch ngược và phân tích nội dung mã nguồn cho thiết bị đa kiến trúc vi xử lý.
- Phụ thuộc vào khả năng mơ phỏng mơi trường thực thi và giám sát hành vi của Sandbox;
- Cĩ nguy cơ lây nhiễm mã độc tới bên ngồi hệ thống phân tích;
Để đạt được mục tiêu của luận án là “nghiên cứu, xây dựng mơ hình học máy
nhằm nâng cao độ chính xác và giảm độ phức tạp trong phát hiện mã độc IoT Botnet trên các thiết bị IoT hạn chế tài nguyên”, nghiên cứu sinh thấy rằng với đầu vào là một
tệp thực thi cĩ tính đa kiến trúc thì cần lựa chọn phương pháp hiệu quả giải quyết vấn đề này. Vì vậy, nghiên cứu sinh lựa chọn phân tích động trong đề xuất hướng tiếp cận giải quyết mục tiêu nghiên cứu, trong đĩ luận án khai thác ưu điểm của phân tích động và khắc phục các nhược điểm của phương pháp này để kết hợp cùng với kỹ thuật học máy/học sâu phù hợp. Trong nội dung tiếp theo, luận án sẽ trình bày cụ thể ba bước trong quy trình phát hiện mã độc IoT Botnet với dữ liệu động bao gồm: Thu thập dữ liệu; Tiền xử lý dữ liệu; Phân tích và phát hiện.
1.3.2. Thu thập dữ liệu
Trong tồn bộ quy trình phát hiện mã độc, thu thập dữ liệu là bước quan trọng, ảnh hưởng lớn tới khả năng và độ chính xác của phương pháp/mơ hình đề xuất. Dữ liệu thu thập được phải mơ tả đầy đủ nhất về chức năng, mục đích của mã độc. Trên cơ sở này, các phương pháp tiền xử lý dữ liệu và phân tích dữ liệu được áp dụng để phát hiện chính xác các hành vi độc hại của mã độc. Cách thức thu thập dữ liệu là điểm khác biệt cơ bản giữa q trình phân tích tĩnh và phân tích động trong bài tốn phát hiện mã độc (như trong Hình 1.6).
Đối với quy trình phát hiện mã độc IoT Botnet mà nghiên cứu sinh lựa chọn (phân tích động), loại dữ liệu cần thu thập là dữ liệu động. Trong phát hiện mã độc nĩi chung, dữ liệu động là các dữ liệu được phát sinh trong quá trình mẫu mã độc thực thi. Các dữ liệu này chính là các tương tác của tệp thực thi đối với mơi trường xung quanh. Cụ thể, theo kết
quả khảo sát, cĩ 3 nhĩm dữ liệu động chính được thu thập bao gồm: Gĩi tin gửi và nhận trong hệ thống mạng [32–35]; Lời gọi hệ thống được mã độc kích hoạt [36, 37]; Các tương tác với tài nguyên của thiết bị mục tiêu [38]. Tĩm tắt về việc sử dụng các nhĩm dữ liệu này được trình bày tại Bảng 1.3.
Trong bài tốn phát hiện mã độc IoT Botnet, các nhà nghiên cứu đã sử dụng các loại dữ liệu động khác nhau để phân tích phát hiện. Các nghiên cứu này cĩ thể được phân chia thành hai loại chính gồm: phát hiện dựa trên dữ liệu từ luồng mạng (NIDS) và phát hiện dựa trên dữ liệu từ máy chủ (HIDS). Cụ thể:
- Tác giả Rohan Doshi và các cộng sự [32] trình bày mơ hình NIDS phát hiện các cuộc tấn cơng từ chối dịch vụ phân tán (DDoS) của mã độc IoT Botnet trong luồng mạng giữa các thiết bị IoT với các thuật tốn học máy phở biến như KNN, SVM, DT, RF. Mơ hình Rohan Doshi đề xuất cĩ độ chính xác trên tập thực nghiệm là ACC = 98%. Tác giả này đề xuất sử dụng các đặc trưng được trích xuất từ luồng mạng như: Packet size, Inter-packet Interval, Protocol, Bandwidth, IP destination address,…
- Tác giả Lê Kim Hùng và các cộng sự [40] trình bày mơ hình NIDS phát hiện các cuộc tấn cơng hướng tới các thiết bị IoT được đặt tên là IMIDS, sử dụng mạng neural tích chập (CNN) để phân loại các gĩi tin độc hại. Để thử nghiệm, tác giả sử dụng bộ dữ liệu các gĩi tin luồng mạng UNSW-NB15 [41] và CICIDS2017 [42] cho kết quả phát hiện tấn cơng mạng với độ chính xác trên 95%. Tuy nhiên, khả năng phân loại kiểu tấn cơng của mơ hình đề xuất chưa thực sự hiệu quả, cịn nhầm lẫn giữa các hình thức tấn cơng cơ bản như Backdoor với DDoS.
- Tác giả Alrashdi và các cộng sự [33] đề xuất sử dụng các đặc trưng từ bộ dữ liệu UNSW-NB15 [41] để xây dựng NIDS phát hiện hiệu quả mạng lưới IoT Botnet lây nhiễm trong các thiết bị tại thành phố thơng minh (Smart City). Tác giả đã áp dụng thuật tốn học máy Random Forest với 12 đặc trưng được lựa chọn từ UNSW-NB15 dataset cho kết quả phát hiện mã độc IoT Botnet cĩ độ chính xác ACC = 99,34%. Các đặc trưng trích xuất từ dữ liệu luồng mạng được tác giả lựa chọn gồm: srcip, dstip, dur, dsport, ct-dst-src-ltm, ct- rsv-dst, ct-dst-ltm, ct-srcltm, ct-src-dport-ltm, dbytes, proto, is-ftp-login.
- Tác giả Prokofiev và các cộng sự [34] đã xây dựng mơ hình NIDS sử dụng thuật tốn học máy Logistic Regression để phát hiện mã độc IoT Botnet với độ chính xác ACC = 97,3%. Các đặc trưng từ luồng mạng được Prokofiev lựa chọn bao gồm: destination port,
source ports, number of requests, even number of requests, mean interval between requests, requests on other ports, mean size of packets, delta for packet size, mean entropy of packets, alphanumeric.
- Tác giả Wu và các cộng sự [35] đề xuất mơ hình học máy phát hiện mã độc IoT Botnet (cĩ ACC = 90%) với các đặc trưng được trích xuất từ chuỗi các lệnh điều khiển của C&C Server cĩ thể đọc hiểu trong các gĩi tin mạng. Các chuỗi lệnh này được thu thập thơng qua hệ thống Honeypot IoTPOT [43] dưới phương thức giám sát các cởng điều khiển từ xa như Telnet, SSH,…
- Tác giả Breitenbacher và các cộng sự [36] trình bày mơ hình HIDS phục vụ phát hiện mã độc IoT Botnet dựa trên các đặc trưng từ lời gọi hệ thống. Các đặc trưng mà Hades- IoT IDS sử dụng bao gồm tên lời gọi, địa chỉ thanh nhớ và tham số của các lời gọi hệ thống.
- Tác giả Massimo Ficco và các cộng sự [37] tiến thành thu thập các chuỗi lời gọi hệ thống để phục vụ xây dựng mơ hình học máy phát hiện mã độc IoT Botnet với chuỗi Markov. Mơ hình tác giả đề xuất cĩ độ chính xác là 89%.
- Tác giả Amin Azmoodeh và các cộng sự [38] đề xuất sử dụng mơ hình học máy phát hiện mã độc IoT Botnet dựa trên dữ liệu giám sát tiêu thụ điện năng của các thiết bị IoT. Thuật tốn KNN được áp dụng cho xây dựng mơ hình phát hiện với độ chính xác 95,65%.
- 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. Thuật tốn học sâu CNN được áp dụng với độ chính xác 96,5%.
- 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,… Mơ hình tác giả đề xuất cĩ độ chính xác 91,22% với bộ phân loại dựa trên thuật tốn học máy Nạve Bayes.