4.4 Thử nghiệm và đánh giá
4.4.4 Phân tích, đánh giá
Bộ dữ liệu MalDAG đã được sử dụng để đánh giá các đặc điểm khác nhau của BotFighter. Phương pháp này có một tham số có thể được điều chỉnh, được biết đến là 𝜆, đại diện cho số lượng trung bình của NXDOMAIN mỗi giờ. 𝜆 có ảnh hưởng đến xác suất chuyển trạng thái 𝑝 và hiệu suất của BotFighter.
Hình 4.3. Precision, Recall và F1-score của BotFighter với các giá trị 𝜆 khác
nhau trong khoảng từ 1 đên 10
Theo Hình 4.3, một giá trị 𝜆 lớn dẫn đến Recall nhỏ hơn và Precision cao hơn.
Bởi vì 𝜆 và 𝑝 có tỷ lệ nghịch với nhau như công thức (4.9), điều này là điều chúng ta mong đợi. Từ công thức (4.12), việc tăng 𝜆 có thể giảm 𝑝, dẫn đến giảm 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') và số lượng False Positives. Tuy nhiên, đáng chú ý rằng thay đổi trong 𝜆 không gây ra thay đổi đột ngột trong F1-score. BotFighter có F1-score cao nhất (0.9967) ở 𝜆 = 5.
Bảng 4.3. TP, FP, TN, FN, Precision, Recall và F1-score của BotFighter và các
phương pháp phát hiện khác
TP FP TN FN Precision Recall F1-score Navie Integration 8439 255 2647 1016 0.9707 0.8925 0.9300
Temporal Integration 7450 14 2766 2127 0.9981 0.7779 0.8744
NXDOMAIN-based Integration 8749 9 2771 828 0.9990 0.9135 0.9543
BotFighter 9548 34 2746 29 0.9965 0.9970 0.9967
Bảng 4.3 so sánh BotFighter với các phương pháp hiện khác dựa trên TP, FP, TN, FP, Precision, Recall, và F1-score của chúng. F1-score thấp nhất (0.8792) được đạt được bởi Temporal Integration. Navie Integration (F1-score 0.9350) đứng ngay sau đó. Cả hai Temporal Integration và Navie Integration dựa vào LSTM để phát hiện và không xem xét hành vi của mã độc. Temporal Integration tính tổng của xác suất hậu nghiệm qua một khoảng thời gian như công thức (4.15), dẫn đến một TP tương đối thấp. Navie Integration có F1-score cao hơn nhưng với giá của FP cao. FP của NXDOMAIN-based Integration là 9. Tuy nhiên, giá trị này có thể thay đổi tùy thuộc vào ngưỡng quyết định được chọn. BotFighter là phương pháp tốt nhất với F1-score đạt 0.9967, cao hơn đáng kể các phương pháp còn lại và cũng là phương pháp phát hiện nhiều mã độc nhất.
Hình 4.4 mô tả quá trình thay đổi xác suất 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') của một thiết bị an toàn trong khoảng thời gian 3,500 phút được tính toán liên tục bằng phương pháp BotFighter và các phương pháp phát hiện khác. Cần lưu ý rằng bất kỳ giá trị ngưỡng quyết định nào cũng sẽ dẫn đến FP và FN. FN đề cập đến một việc vi phạm bảo mật.
Ngược lại, FP gây vấn đề cho người dùng hợp lệ bằng cách chặn hoặc cách ly thiết bị của họ khỏi hệ thống mạng. Lý tưởng là 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷')) phải bằng 1. Như có thể thấy, 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') được tính toán bằng Navie Integration và Temporal Integration thay đổi lớn tùy thuộc vào xác suất dự đoán của LSTM. Navie Integration phân loại thiết bị an toàn thành Infected tương ứng với 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') bị giảm xuống 0 sau 1,350 phút. BotFighter có 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') gần bằng 1, trừ thời điểm người dùng nhập sai tên miền. Lúc đó, một NXDOMAIN không nguy hại được trả về, và 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') giảm xuống 0.912. Giá trị của 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') sau đó tăng dần lên giá trị lý tưởng của 1. Quan sát này nhấn mạnh những lợi ích của BotFighter. Đặc biệt, BotFighter có thể giảm số lượng False Positives khi được sử dụng trong các hệ thống thực tế nơi các phản hồi NXDOMAIN không nguy hại không xảy ra thường xuyên.
(a) Navie Integration
(b) Temporal Integration
(c) NXDOMAIN-based Integration
(d) BotFighter Hình 4.4. Xác suất 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') của một thiết bị an toàn trong khoảng thời gian
3,500 phút.
Hình 4.5 mô tả các quan sát DNS của một thiết bị bị nhiễm Mydoom khi mã độc này bắt đầu hoạt động (khoảng 30 phút). Temporal Integration không thể cung cấp phát hiện chính xác. Navie Integration mất 35 phút để đưa ra quyết định. BotFighter phát hiện Mydoom sớm hơn so với ba phương pháp khác. đó. Một 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝑑') cao, ngược lại, có thể dẫn đến một giá trị thấp hơn cho 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') hiện tại. Hành vi dao động của BotFighter có thể suy luận từ công thức (4.10). Tại thời điểm t, 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷')) tỉ lệ thuận với xác suất hậu
nghiệm 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝑑'), và 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') tại thời điểm 𝑡 − 1.
(a) Navie Integration
(b) Temporal Integration
(c) NXDOMAIN-based Integration
(d) BotFighter Hình 4.5. Xác suất 𝑃(𝑠' = 𝑆𝑎𝑓𝑒|𝐷') của một thiết bị bị nhiễm mã độc Mydoom
trong khoảng thời gian 80 phút.
Tỷ lệ True Positive (TPR) cho từng họ mã độc được hiển thị trong Bảng 4.4.
Temporal Integration, kết hợp các quan sát DNS bằng cách sử dụng một quy tắc tổng hợp đơn giản, là bộ phát hiện kém nhất. Temporal Integration có thể giảm FP nhưng mất thêm thời gian để xác định được máy tính đã bị nhiễm mã độc DGA. Dễ dàng nhận thấy, các DGA Botnet dựa trên từ điển, như Matsnu và Suppobox, là thách thức cho cả Navie Integration và Temporal Integration. Ngoài ra, những phương pháp này thực hiện khá kém trên Mydoom. Emotet không được nhận biết bởi Temporal Integration. NXDOMAIN-based Integration là một lựa chọn thay thế tốt hơn so với hai phương pháp Navie Integration và Temporal Integration. Nó có TPR là 100% trên hầu hết các họ mã độc DGA Botnet có tần suất truy vấn NXDOMAIN ngắn. Tuy nhiên, NXDOMAIN-based Integration gặp khó khăn với Ramnit và Qadars. Có 5 biến thể của Ramnit. Trong khi mỗi biến thể có hành vi truy vấn DNS độc đáo, hầu hết chúng chỉ tạo ra một số lượng hữu hạn NXDOMAIN. Qadars khác biệt từ các họ mã độc khác vì tất cả các tên miền của nó đều có phản hồi NOERROR (xem Bảng 4.1). BotFighter rõ ràng vượt trội hơn ba phương pháp khác. Đối với tất cả các họ mã độc nó luôn đạt được TPR cao nhất.
Riêng đối với Ramnit, Navie Integration đạt tỷ lệ nhận cao nhất. Tuy nhiên cần lưu ý rằng thuật toán DGA của Ramnit sử dụng phân phối đồng đều các chữ cái để tạo ra tên miền, điều này khiến nó dễ dàng bị LSTM nhận diện. BotFighter nhằm mục tiêu cung cấp một sự cân bằng giữa FP và FN. Do đó, nó có thể giảm FP trong khi giữ nguyên tỷ lệ phát hiện đáng kể đối với Ramnit.
Bảng 4.4 cũng trình bày Thời gian Phát hiện Chính xác (TCD) của BotFighter và các phương pháp phát hiện khác. Đây là chỉ số quan trọng để đánh giá tốc độ phản ứng của các phương pháp trong quá trình giám sát và phát hiện liên tục trên thiết bị bị nhiễm mã độc. Nếu TCD quá cao, phương pháp sẽ không thực sự hữu ích trong thực tế. BotFighter và Navie Integration có khả năng phản ứng nhanh chóng đối với các loại mã độc như Banjori, Cryptolocker, Locky, Murofet, Necurs, Nymain, Ranbyus, Simda, Zeus bởi vì các loại mã độc này tạo ra những tên miền rất khác biệt so với tên miền bình thường. BotFighter chỉ mất dưới 100 giây để phát hiện chính xác thiết bị bị nhiễm bởi hầu hết các dòng DGA Botnet. Riêng đối với Matsnu và Suppobox, thời gian phát hiện chính xác lần lượt là 192.01 giây và
2560.26 giây. Nguyên nhân là do thuật toán sinh tên miền của các loại mã độc này dựa trên từ điển,
nên việc nhận diện qua phân loại tên miền trở nên khó khăn. Điều này cũng là thách thức đối với hai phương pháp Navie Integration và Temporal Integration, vì cả hai đều dựa vào bộ phân loại tên miền sử dụng LSTM. TCD của NXDOMAIN-based Integration hoàn toàn phụ thuộc vào tần suất truy vấn DNS của mã độc DGA. Nếu DGA có tần suất truy vấn DNS thấp, NXDOMAIN-based Integration sẽ không hiệu quả. Trừ Ramnit, BotFighter liên tục đạt được TCD thấp hơn so với NXDOMAIN- based Integration. Tuy nhiên, cần lưu ý rằng NXDOMAIN-based Integration chỉ nhận diện được 20% mẫu của Ramnit.
Bảng 4.4. TPR (True Positive Rate) và TCD (Time to Correct Detection) của BotFighter và các phương pháp phát hiện khác đối với các họ mã độc khác nhau.
Malware family
Navie Integration
Temporal Integration
NXDOMAIN- based Integration BotFighter TPR
(%) TCD
(s) TPR
(%) TCD
(s) TPR
(%) TCD
(s) TPR
(%) TCD
(s) Banjori 98.38 0.00 97.22 575.63 100 0.87 100 0.09
Chinad 98.90 60.00 99.78 1878.85 100 92.83 100 80.98
Conficker 98.63 62.34 97.26 2903.49 100 114.10 100 80.98
Cryptolocker 97.93 0.00 98.39 590.73 100 6.42 100 0.09
Emotet 97.85 62.97 0.00 N/A 100 97.90 100 63.31
Locky 98.40 0.00 87.90 593.95 100 29.71 100 2.59
Matsnu 1.98 5232.26 0.00 N/A 100 284.25 100 192.01
Murofet 98.76 0.00 100.00 174.18 100 17.49 100 0.07
Mydoom 34.11 4772.48 0.20 2453.35 100 1023.03 100 560.43
Necurs 97.85 0.00 100.00 480.73 100 24.16 100 0.04
Nymaim 98.13 0.00 100.00 10.61 100 1.36 100 0.27
Qadars 98.11 0.00 79.06 600.70 0.00 N/A 99.76 46.49
Ramnit 100 7.27 94.44 7602.28 20.04 101.98 94.44 7602
Ranbyus 98.19 0.00 100.00 108.95 100 8.62 100 0.03
Shifu 100 2591.10 100.00 2633.84 100 2593.15 100 2591.17
Simda 98.66 0.00 100.00 8.36 100 0.07 100 0.05
Suppobox 70.06 4096.75 31.29 5120.69 100 4095.54 100 2560.26
Tinba 100 33.28 99.85 559.98 100 34.13 100 31.00
Virut 97.96 60.00 97.96 2971.01 100 94.60 100 82.60
Zeus 98.06 0.00 94.66 593.55 100 1.24 100 0.13
Tỷ lệ TPR (%) của BotFighter và các phương pháp khác trên bộ dữ liệu Adversarial DGA được trình bày trong Hình 4.6. Đối với các họ mã độc Necurs và Zeus, BotFighter tỏ ra có hiệu suất vượt trội so với các phương pháp Naive và Temporal Integration. NXDOMAIN-based Integration cũng phát hiện dễ dàng các loại mã độc này, do Necurs và Zeus thường xuyên tạo ra nhiều yêu cầu NXDOMAIN khi cố gắng kết nối với máy chủ C&C. Tuy nhiên, phương pháp này không thể phát hiện mẫu Qadars vì khi giải quyết địa chỉ IP của máy chủ C&C, Qadars không sinh ra phản hồi NXDOMAIN nào, ảnh hưởng đến hiệu quả phát hiện của cả NXDOMAIN-based Integration và BotFighter. Đối với các mẫu Qadars, hiệu suất của BotFighter sụt giảm, chỉ còn 5.18% khi CharBot được sử dụng để sinh ra tên miền tương ứng. Kết quả thực nghiệm cũng cho thấy CharBot vượt trội hơn so với MaskDGA và DeepDGA trong việc chống lại các phương pháp phát hiện mã độc.
(a) Nercurs
(b) Qadars
(c) Zeus Hình 4.6. Tỷ lệ TPR (%) của BotFighter và các bộ phát hiện khác trên bộ dữ liệu
Adversarial DGA
Bảng 4.5 thể hiện thời gian cần thiết để xử lý một truy vấn DNS của các phương pháp với cấu hình một máy tính thông thường. Việc đánh giá này là quan trọng để xác định các phương pháp này có thể ứng dụng trong thực tế hay không. Tác giả chỉ tập trung vào quá trình đánh giá mà không quan tâm đến quá trình huấn luyện do việc huấn luyện sẽ được tiến hành độc lập và không phải tiến hành thường xuyên.
Như trong Bảng 4.5, NXDOMAIN-based Integration gần như không có chi phí tính toán. Một yêu cầu DNS mất 9ms để xử lý trong Naive Integration. Temporal Integration và BotFighter yêu cầu thêm thời gian vì chúng kết hợp các DNS được truy vấn theo thời gian. Rõ ràng rằng BotFighter là một hệ thống nhẹ và do đó thích hợp để triển khai trong các ứng dụng thực tế phát hiện bot dựa trên DGA. Phương pháp này có thời gian đánh giá là 16ms và yêu cầu lưu trữ lưu lượng DNS hàng giờ.
Bảng 4.5. Thời gian xử lý một truy vấn DNS của BotFighter và các phương pháp
phát hiện khác.
Method Evaluation time (ms)
Navie Integration 9
Temporal Integration 15
NXDOMAIN-based Integration 1
BotFighter 16
Cuối cùng, nghiên cứu sinh đánh giá và so sánh BotFighter với DeepDAD [73].
DeepDAD là một phiên bản cải tiến của BotDAD [66] sử dụng phát hiện bất thường đa đặc trưng để giảm tỷ lệ False Positive. Cụ thể, phương pháp này huấn luyện mạng Multilayer Perceptron (MLP) trên mười năm đặc trưng DNS khác nhau.
DeepDAD đã được đánh giá trên một mạng trường học với hơn 4.000 người dùng hoạt động. Bộ dữ liệu này chứa một lượng lớn các yêu cầu DNS không nhận được phản hồi. Sau khi loại bỏ những yêu cầu này và chia lưu lượng DNS còn lại thành các tệp PCAP hàng giờ, một tập con gồm 16,597 mẫu được tạo ra, trong đó có 16,573 mẫu Safe và 24 mẫu Infected với phần mềm độc hại DGA. Các mẫu này đã được xác minh với DGArchive [74] và được sử dụng để so sánh trong thực nghiệm này.
Theo Bảng 4.6, DeepDAD có số lượng False Positives thấp (8). Phương pháp này, tuy nhiên, chỉ phát hiện 2 trong 24 mẫu bị nhiễm. BotFighter có thể tạo ra
nhiều True
Positives hơn (20) với giá của FP cao hơn (281). Cần lưu ý rằng FP có thể giảm trong thực tế bằng cách sử dụng một danh sách trắng tên miền.
Bảng 4.6. So sánh hiệu năng của DeepDAD và BotFighter.
TP FP TN FN TPR (%) TCD (s)
DeepDAD 2 8 16565 22 8.33 3600
BotFighter 20 281 16292 4 83.33 30.77