Hình 4.8 Thống kê số lượng gĩi tin luồng mạng của mẫu lành tính trong Dataset
Hình 4.9 Thống kê đặc trưng chiếm dụng tài nguyên thiết bị của IoT Botnet trong Dataset
Hình 4.10 Thống kê đặc trưng chiếm dụng tài nguyên thiết bị của mẫu lành tính trong Dataset
4.2.4. Chuẩn hĩa dữ liệu tiền xử lý (DNC)
Sau khi cĩ dữ liệu đã tiền xử lý, để cĩ thể đưa vào huấn luyện mơ hình học máy cần chuẩn hĩa dữ liệu này. Đối với mỗi loại dữ liệu đầu vào, nghiên cứu sinh đã tiến hành chuẩn hĩa theo các phương pháp như sau:
- Đối với dữ liệu lời gọi hệ thống: xây dựng đồ thị lời gọi hệ thống cĩ hướng (DSCG) và trích xuất các đặc trưng từ đồ thị DSCG thành vector đặc trưng đầu vào bằng cơng cụ Graph2Vec [108].
- Đối với dữ liệu luồng mạng: chuẩn hĩa dữ liệu theo mơ tả đặc trưng của bộ dữ liệu mạng CSE-CIC-IDS2018 [139], đã được chứng minh tính hiệu quả dựa trên nghiên cứu của Karata [140].
- Đối với dữ liệu sử dụng tài nguyên thiết bị: sử dụng các đặc trưng đầu ra được trình bày trong bài báo của nghiên cứu sinh về V-Sandbox [105].
4.2.5. Trích chọn đặc trưng phù hợp
Sau khi chuẩn hĩa dữ liệu được tiền xử lý, số chiều của vectơ đặc trưng lên đến hàng trăm. Điều này gây ra khĩ khăn trong việc tối ưu hĩa kết quả dự đốn và rút ngắn thời gian chạy mơ hình học máy. Do đĩ, một số kỹ thuật trích chọn đặc trưng đã được phát triển để giải quyết vấn đề giảm thiểu các biến khơng liên quan và dư thừa trong tập đặc trưng. Lựa chọn đặc trưng phù hợp giúp hiểu rõ dữ liệu, giảm yêu cầu tính tốn, giảm kích thước vectơ đặc trưng và cải thiện hiệu suất của bộ phân loại. Nghiên cứu sinh đã xem xét một số phương pháp trích chọn đặc trưng như Filter, Wrapper, Embedded và Ensemble để tìm một tập hợp con các biến (đặc trưng) cải thiện hiệu suất dự đốn tởng thể của mơ hình học máy. Dựa trên kết quả khảo sát, nghiên cứu sinh chọn phương pháp Wrapper vì những lý do sau:
- Cĩ khả năng phát hiện sự tương tác giữa các đặc trưng với nhau.
- Cĩ thể tìm thấy tập con đặc trưng tối ưu cho thuật tốn học máy mong muốn. Phương pháp Wrapper hoạt động theo các bước sau:
- Tìm kiếm một tập con các đặc trưng: Sử dụng phương pháp tìm kiếm tập con đặc trưng như Forward Feature Selection, Backward Feature Elimination, Exhaustive Feature Selection, Bidirectional Search và chọn ra một tập con các đặc trưng từ tập đặc trưng đầu vào.
- Xây dựng mơ hình học máy kiểm thử: Trong bước này, một thuật tốn học máy đã chọn được đào tạo trên tập con các đặc trưng đã chọn tại bước trước đĩ.
- Đánh giá hiệu quả của mơ hình học máy kiểm thử: Đánh giá mơ hình học máy mới được đào tạo với tập con các đặc trưng đã chọn với các thang đo phở biến như ACC, F1-score, PR, AUC,… để xác định hiệu quả tập con đặc trưng được lựa chọn.
- Lặp lại quá trình lựa chọn: Tồn bộ quá trình bắt đầu lại với một tập hợp con các đặc trưng mới, một mơ hình mới được đào tạo dựa trên thuật tốn học máy đã chọn để đánh giá hiệu quả tập con đặc trưng.
Để ngừng tìm kiếm một tập hợp con các đặc trưng, điều kiện dừng mà nghiên cứu sinh lựa chọn là khi hiệu suất mơ hình đánh giá cĩ xu hướng giảm với khi số lượng đặc trưng được lựa chọn giảm dần. Trong nội dung này, nghiên cứu sinh đã chọn thuật tốn học máy Linear SVM để đào tạo mơ hình học máy và đánh giá trên tập hợp con các đặc trưng được lựa chọn tại mục 4.3.4.
4.2.6. Bộ phân lớp học máy (MLC)
Nghiên cứu sinh tiến hành thử nghiệm các thuật tốn học máy đơn lẻ phở biến (như KNN, SVM, Decision Tree, Random Forest) và các hàm hợp nhất khác nhau (như Voting, Logistic regression) để lựa chọn được phương án tối ưu nhất. Cụ thể nội dung thử nghiệm này được trình bày tại nội dung 4.3 của chương này. Tởng quan về thành phần cộng tác của các thuật tốn học máy đơn lẻ xử lý tập dữ liệu đặc trưng đầu vào khác nhau được minh họa tại Hình 4.11.
Hình 4.11 Thành phần học cộng tác các dữ liệu đặc trưng
4.2.7. Hàm hợp nhất (FC)
Để cĩ thể kết hợp các kết quả dự đốn của các bộ phân lớp học máy (MLC) khác nhau, cần phải cĩ hàm hợp nhất kết quả dự đốn. Trong học máy, các hàm hợp nhất (Fusion function) phở biến được sử dụng như voting, stacking, bagging và boosting. Nghiên cứu sinh sử dụng Voting cho vấn đề của mình, vì đây là một trong những cách đơn giản nhất để kết hợp các dự đốn từ nhiều thuật tốn học máy khác nhau. Thuật tốn học máy Voting
khơng phải là bộ phân loại học máy thơng thường, mà là bộ phân loại bao bọc cho một tập hợp các bộ phân loại học máy khác nhau được đào tạo và đánh giá song song để khai thác các đặc điểm khác nhau của thuật tốn học máy đĩ. Do đĩ, cĩ thể đào tạo các bộ dữ liệu khác nhau bằng cách sử dụng các thuật tốn học máy và bộ phân loại khác nhau thay vì chỉ sử dụng một thuật tốn học máy duy nhất để dự đốn kết quả cuối cùng. Kết quả cuối cùng của một dự đốn được thực hiện bởi đa số “phiếu bầu” theo hai chiến lược khác nhau là biểu quyết cứng (strategies voting) và biểu quyết mềm (soft voting). Với đặc điểm của biểu quyết mềm là kết hợp giữa nhãn dự đốn và xác suất của nhãn đĩ sẽ đem lại kết quả chính xác hơn so với chỉ sử dụng nhãn trong biểu quyết cứng. Vì vậy, trong chương này nghiên cứu sinh sử dụng biểu quyết mềm với cơng thức:
𝑣 ��������������� = 𝑣𝑣𝑣 max ∑ 𝑣𝑣𝑣𝑣𝑣 𝑣 (3.5) 𝑣=1
Với wj là trọng số của kết quả dự đốn (giá trị p) thuộc bộ phân lớp thứ j.
4.3. Thực nghiệm và đánh giá
4.3.1. Tập mẫu thực nghiệm
Để đánh giá kết quả hoạt động của mơ hình đề xuất, tập dữ liệu chứa 8911 mẫu bao gồm 5023 IoT Botnet và 3888 mẫu lành tính đã được thu thập và sử dụng cho thực nghiệm. Mơ tả về các mẫu trong tập dữ liệu được mơ tả trong Bảng 4.2.
Bảng 4.2 Mơ tả chi tiết về Dataset
Kiến trúc CPU Số lượng Mã độc Bashlite Mã độc Mirai Mã độc khác Lành tính ARM 2279 2786 1510 727 3888 MIPS 2811 Intel 80386 2058 PowerPC 918 x86-64 845
4.3.2. Triển khai thử nghiệm
Thử nghiệm được tiến hành trên máy chủ với cấu hình CPU Intel Xeon E5-2689 2.6 GHz, RAM 32 GB. Mơi trường ảo hĩa V-Sandbox được cài đặt theo mã nguồn được nghiên cứu sinh chia sẻ tại Github [100]. Các thuật tốn học máy đơn lẻ được thử
nghiệm như SVM, KNN, Decision Tree, Random Forest,… được cài đặt thơng qua ngơn ngữ
Python với thư viện Scikit-learn (Sklearn) [113]. Các tham số cụ thể của các thuật tốn học máy được sử dụng trong quá trình thực nghiệm được mơ tả như trong Bảng 4.3.
Bảng 4.3 Các tham số thuật tốn học máy được sử dụng
Thuật tốn Tham số Các giá tri tham số sử dụng
KNN
n_neighbors 10; 100; 1000
weights “uniform”; “distance”
n_jobs -1
Decision Tree
randoom_state 42
criterion “gini”; “entropy”
splitter “best”; “random”
Random Forest n_estimators 10; 100; 1000 random_state 42 n_jobs -1 SVM random_state 42 probability True C np.logspace(-1, 1, 3) gama np.logspace(-1, 1, 3)
4.3.3. Kết quả thử nghiệm
Nghiên cứu sinh đã sử dụng các thuật tốn học máy phở biến như SVM, KNN, Decision Tree, Random Forest và hàm hợp nhất Voting, Logistic Regression để đánh giá hiệu quả của mơ hình học máy cộng tác đề xuất. Kết quả huấn luyện và đánh giá các thuật tốn học máy đơn lẻ với các đặc trưng đầu vào được mơ tả trong Bảng 4.4. Kết quả dự đốn của các mơ hình học máy đơn lẻ này được kết hợp thơng qua hàm hợp nhất “Voting” (và sử dụng thêm hàm “Logistic Regression” để so sánh). Tởng cộng cĩ 64 cách kết hợp 4 thuật tốn học máy phở biến nêu trên. Cĩ 128 kết quả thử nghiệm đánh giá độ chính xác của việc phát hiện mã độc IoT Botnet cho mơ hình đề xuất được mơ tả trong Hình 4.12.
Từ kết quả thử nghiệm này, hàm kết hợp “Voting” cho thấy hiệu quả vượt trội so với hàm “Logistic Regression” và bộ ba thuật tốn học máy đơn lẻ KNN (đối với dữ liệu luồng mạng) + Random Forest (đối với dữ liệu sử dụng tài nguyên thiết bị) + KNN (đối với dữ liệu lời gọi hệ thống) cho kết quả tốt nhất với độ chính xác ACC = 99.37% và
FPR = 1,94%. So sánh với kết quả phát hiện mã độc IoT Botnet khi sử dụng các thuật tốn học máy đơn lẻ kể trên với các đặc trưng dữ liệu hành vi riêng rẽ của mã độc đã cho thấy sự phù hợp khi kết hợp các thuật tốn này với nhau trong mơ hình cộng tác. Sự kết hợp này đem lại hiệu quả phát hiện mã độc với độ chính xác cao thể hiện ở các độ đo ACC = 99.37%, ROC AUC =0.9896, FPR = 1,94% vượt trội hơn các mơ hình đơn lẻ mặc dù chỉ sử dụng một phần dữ liệu hành vi cần quan sát, chưa cần mã độc thực hiện đầy đủ các hành vi. Bên cạnh đĩ, việc kết hợp các thuật tốn học máy với các nguồn dữ liệu hành vi khác nhau của tệp đầu vào đã hỗ trợ, bở khuyết cho cho các thuật tốn trong việc đưa ra đánh giá xem tệp đầu vào cĩ thực sự là mã độc hay khơng. Minh chứng cho điều này là tỉ lệ FPR rất thấp với giá trị là 1.94%.
Tập giá trị trọng số của hàm biểu quyết mềm “Voting” là (0.33; 0.32; 0.35) tương ứng với các đầu ra dự đốn của mơ hình phát hiện dựa trên luồng mạng, thơng tin sử dụng tài nguyên thiết bị và lời gọi hệ thống. Với các giá trị trọng số kể trên cho thấy, các dữ liệu đặc trưng đầu vào mà NCS lựa chọn đều đĩng vai trị quan trọng trong quá trình xác định một tập tin cĩ phải là mã độc hay khơng. Nếu một trong các dữ liệu đặc trưng mà NCS đã lựa chọn là khơng quan trọng, gây nhiễu trong việc đánh giá tập tin mã độc thì trọng số của dữ liệu đặc trưng đĩ sẽ thấp hơn hẳn so với các trọng số cịn lại. Giá trị các trọng số trong trường hợp này khơng sai khác nhau quá nhiều cũng chỉ ra rằng cả 3 đặc trưng đầu vào này là cần thiết, khơng thể thiếu đối với mơ hình đề xuất. Với ba mơ hình học máy đơn lẻ đã chọn, nghiên cứu sinh đã điều chỉnh các thơng số của mơ hình và thử nghiệm trên tồn bộ Dataset, đánh giá mơ hình dựa trên các giá trị đo được. Kết quả đánh giá mơ hình đề xuất trên Dataset được trình bày trong Bảng 4.5. Ngồi ra, tác giả cũng đánh giá hiệu quả phát hiện của phương pháp đề xuất thơng qua các mẫu khơng cĩ sẵn trong Dataset. Kết quả phát hiện các mẫu khơng cĩ trong Dataset được mơ tả trong Bảng 4.6.
Hình 4.12 Kết quả đánh giá các thuật tốn học máy cộng tác
Bảng 4.4 Độ chính xác các mơ hình học máy đơn lẻ huấn luyện trên Dataset
Thuật tốn
Độ chính xác phân loại dữ liệu của mơ hình (ACC - %)
Dữ liệu
luờng mạng tài nguyên thiết biDữ liệu sử dụng gọi hệ thốngDữ liệu lời
SVM 89.44 97.83 98.26
KNN 89.78 98.70 97.54
Decision Tree 89.97 98.22 95.66 Random Forest 90.07 99.04 98.02
Bảng 4.5 Các mơ hình học máy sau khi tối ưu trên Dataset
Model ACC ROC
AUC FPR
Malware Benign
Precision Recall F1 Precision Recall F1
Network (k-NN) 0.8978 0.8901 0.1270 0.9500 0.9071 0.9280 0.7795 0.8730 0.8236 Performance (Random Forest) 0.9904 0.9846 0.0282 0.9895 0.9973 0.9934 0.9928 0.9718 0.9822 System-Call (k-NN) 0.9822 0.9715 0.0370 0.9860 0.9801 0.9830 0.9479 0.9630 0.9554 Mơ hình cộng tác 0.9937 0.9896 0.0194 0.9927 0.9987 0.9957 0.9964 0.9806 0.9884
Đưa các mơ hình sau khi huấn luyện xong vào chạy thực tế thì để đảm bảo khả năng đồng bộ dữ liệu giữa các nguồn dữ liệu đầu vào là lời gọi hệ thống, luồng mạng và hành vi sử dụng tài nguyên hệ thống; nghiên cứu sinh lựa chọn thời gian thu thập dữ liệu
theo thời gian thực là 03 giây (đảm bảo để cĩ thể thu được 300 lời gọi hệ thống, 20 hành vi yêu cầu tài nguyên thiết bị và 50 gĩi tin luồng mạng) cho quá trình thực thi tệp đầu vào và đưa ra kết quả dự đốn phân loại tệp tin. Kết quả chạy thực tế được minh họa như trong các Hình 3.14-3.16.
Hình 4.13 Kết quả phát hiện mã độc 1 pha phân tích
Hình 4.15 Kết quả phân tích tệp lành tính
Bảng 4.6 Kết quả thử nghiệm với các mẫu nằm ngồi Dataset
ID Mã HASH của tệp tin đầu vào
Nhãn dự đốn của mơ hình học máy
(tỉ lệ dự đốn là mã độc) VirustotalNhãn do cung cấp Network Performance Syscall Đề xuất
1 0a982a3fb71dd70c248c107fcf33574f Malware (1) Malware (1) Malware (1) Malware (1) (Bashlite)Malware 2 4a832bd4fbb625cd095e9f56d695b047 Malware(1) Malware (1) Malware(1) Malware(1) Malware(Mirai) 3 8b269f0eab1e09040c62ce78dff05c01 Benign(0.21) Benign (0) Benign(0) Benign(0.07) Benign 4 9505af2cafb5b2bb8d10949543c5c416 Malware(1) Benign (0.23) Malware(1) Malware(0.74) (Bashlite)Malware 5 1c7c1763888e0a0b67732db1e8e176ba Malware(1) Malware (1) Malware(1) Malware(1) (Bashlite)Malware 6 f70640f966d77234405df7d715f6e494 Malware(1) Malware (1) Malware(1) Malware(1) (Bashlite)Malware 7 79b62cfd1975f09e24ce131181c1008a Malware (0.83) Malware (1) Malware (1) Malware (0.94) Malware (Mirai) 8 2bb57df01bd06453775472df2098eff1 Malware(1) Malware (1) Malware(1) Malware(1) Malware(Others) 9 a7192c394957ba17878e3c1f57aca67b Malware(1) Malware(0.63) Malware(1) Malware(0.88) Malware(Mirai) 10 571d93ccba8ee531627311fdb0b54c95 Malware(0.83) Benign (0) Benign(0) Benign(0.28) Benign 11 147af70b815093d9247e22f688f25104 Benign(0.21) Benign (0.33) Benign(0) Benign(0.16) Benign 12 89772d4f8d63117a5af7abd11ef66c5c Malware(1) Malware (1) Malware(1) Malware(1) (Bashlite)Malware 13 cf04a95a254a9aada0440281f82d6e9c Benign(0.21) Benign (0) Benign(0) Benign(0.07) Benign
4.3.4. Đánh giá kết quả thử nghiệm
Từ kết quả đánh giá trên Dataset cho thấy mơ hình học máy cộng tác đề xuất cho kết quả cĩ độ chính xác cao với ACC = 99.37%, AUC = 0.9896. Thời gian để mơ hình đưa ra dự đốn là xấp xỉ 6 giây, nhanh hơn so với các nghiên cứu đã cơng bố về phát hiện sớm mã độc trên các thiết bị IoT. So sánh với các nghiên cứu hiện cĩ được thể hiện trong Bảng
4.7. Kết quả so sánh này cho thấy hiệu quả của việc sử dụng mơ hình học máy cộng tác cho 3 loại dữ liệu đặc trưng (lời gọi hệ thống, luồng mạng, sử dụng tài nguyên thiết bị) trong phát hiện mã độc IoT Botnet. Sử dụng phương pháp Wrapper để trích chọn đặc trưng, lựa chọn các thuật tốn học máy đơn lẻ phù hợp cho từng loại tập đặc trưng và cách kết hợp các thuật tốn học máy đơn lẻ này với nhau trong một mơ hình cộng tác đã gĩp phần làm tăng hiệu quả của mơ hình đề xuất. Mơ hình được đề xuất cĩ độ chính xác (ACC) và giá trị AUC vượt trội hơn so với các mơ hình hiện cĩ. Ngồi ra, mơ hình được đề xuất chỉ sử dụng một phần nhỏ dữ liệu hành vi thực thi của mã độc đã cĩ thể tạo ra phát hiện chính xác mà khơng cần đợi mã độc này thực hiện đầy đủ hành vi. Đây là đĩng gĩp nởi bật của mơ hình này. Mơ hình đã chạy thành cơng và đưa ra dự đốn chính xác với các mẫu mới khơng cĩ trong Dataset. Tuy nhiên, việc khởi động máy ảo và khởi chạy V-Sandbox để thu thập dữ liệu của một mẫu (bao gồm một vịng lặp để thu thập thêm dữ liệu sau mỗi lần chạy) dẫn đến việc tăng tởng thời gian thu thập xử lý một mẫu lên khoảng 3 phút. Đây là một hạn chế của khung phát hiện Botnet IoT của nghiên cứu sinh. Vấn đề này sẽ được nghiên cứu sinh tiếp tục nghiên cứu và hồn thiện để rút ngắn tởng thời gian chạy.
Bảng 4.7 So sánh với các nghiên cứu liên quan
Tác giả Tập dữ liệu thử nghiệm (mã độc/ lành tính) Dữ liệu đặc trưng sử dụng
Thời gian thu thập dữ liệu hành vi
động/mẫu
ACC (%) /AUC
Tobiyama
[128] 81/69 Thơng tin tiến trìnhhệ thống 5 phút -/0.96 Firdausi
[129] 220/250 Lời gọi hệ thống Ngầm định chờ thựcthi đầy đủ 96.8/- Ahmed [130] 416/100 Lời gọi hàm API Ngầm định chờ thựcthi đầy đủ 96.6/-
Damodaran
[126] 745/40 Lời gọi hệ thống,Opcode 5–10 phút -/0.98 Pascanu [134] 25000/ 25000 Lời gọi hệ thống Ít nhất 15 bước – thời gian chính xác khơng
Tác giả Tập dữ liệu thử nghiệm (mã độc/ lành tính) Dữ liệu đặc trưng sử dụng
Thời gian thu thập dữ liệu hành vi
động/mẫu
ACC (%) /AUC
Hansen [135] 5000/837 Lời gọi hệ thống 200 giây 98.13/0.97 Mơ hình đề
xuất 5023/3888
Lời gọi hệ thống, luồng mạng, yêu cầu tài nguyên thiết bị
Khơng yêu cầu thực thi đầy đủ, tối đa 180 giây
99.37/0.99
4.4. Kết luận Chương 4
Trong chương này, nghiên cứu sinh đã đề xuất mơ hình học máy cộng tác mới (CMED) để phát hiện sớm hiệu quả IoT Botnet dựa trên việc thu thập mức tối thiểu các