Luận án Nghiên cứu đề xuất đặc trưng đồ thị PSI trong phát hiện mã độc botnet trên các thiết bị Iot

LỜI CAM ĐOAN. i

LỜI CẢM ƠN .ii

MỤC LỤC.iii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT. vi

DANH MỤC CÁC BẢNG.vii

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .viii

MỞ ĐẦU. 1

1. Đặt vấn đề. 1

1.1. Thông tin cơ bản. 1

1.2. Cơ sở đề xuất nghiên cứu. 3

2. Mục tiêu nghiên cứu. 5

3. Đối tượng và phạm vi nghiên cứu. 5

4. Nội dung và phương pháp nghiên cứu. 6

5. Các đóng góp của luận án . 8

6. Bố cục của luận án . 9

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT . 11

1.1. Mã độc IoT botnet. 11

1.1.1. Khái niệm và đặc điểm thiết bị IoT. 11

1.1.2. Khái niệm mã độc IoT botnet . 15

1.1.3. Sự tiến hóa của mã độc IoT botnet . 17

1.1.4. Cấu trúc và nguyên lý hoạt động của mã độc IoT botnet . 23

1.1.5. Sự khác biệt giữa mã độc botnet truyền thống và IoT botnet. 25

1.2. Học máy và học sâu trong phát hiện mã độc IoT botnet . 28

1.2.1. Học máy . 28

1.2.2. Học sâu. 34

pdf150 trang | Chia sẻ: honganh20 | Ngày: 03/03/2022 | Lượt xem: 247 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu đề xuất đặc trưng đồ thị PSI trong phát hiện mã độc botnet trên các thiết bị Iot, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
và 255 biểu diễn màu trắng, minh họa ở hình 2.11. Hình 2.11. Ví dụ ảnh mẫu mã độc dòng Linux.Gafgyt Trong hướng tiếp cận này, Su và cộng sự [25] đã đề xuất một phương pháp nhẹ (light) để phân biệt các mẫu mã độc IoT botnet và các mẫu lành tính IoT dựa trên ảnh đa mức xám. Kết quả thực nghiệm trên tập dữ liệu gồm 500 mẫu mã độc IoT botnet và số lượng lành tính tương đương, cho thấy phương pháp đề xuất đạt độ chính xác 93,33% trong phát hiện mã độc IoT botnet. 2.23KkQWtFKWƭQKG͹DWUrQÿF̿ U˱QJFyFX̭WU~Fÿ ͛th ͓ 2.2.2.1. Đồ thị trong khoa học máy tính Để xây dựng các đặc trưng cho các bài toán phân tích và so sánh, một cấu trúc dữ liệu để lưu trữ những thông tin đặc trưng là rất cần thiết. Đồ thị là giải pháp tốt để giải quyết vấn đề trên bởi nó dễ dàng kết hợp thông tin và liên kết dữ liệu có liên quan. Đặc biệt trong các bài toán về phát hiện mã độc thì các đặc trưng dựa trên đồ thị sẽ lưu trữ thông tin về các phần khác nhau của mã độc. Một đồ thị có thể được biểu diễn bởi 𝐺=(𝑉,𝐸) chứa tập các đỉnh 𝑉 và các liên kết giữa chúng trong tập các cạnh 𝐸. Một cạnh 𝑒𝑖∈ 𝐸 kết nối giữa 2 đỉnh 𝑣𝑗,𝑣𝑘∈ 𝑉. Nếu 𝐺 là đồ thị có hướng, các cạnh cũng sẽ có hướng, các cạnh đi từ đỉnh 𝑣𝑗 tới đỉnh 𝑣𝑘 nhưng không có chiều ngược lại từ 𝑣𝑘 tới 𝑣𝑗. Ở đây, cạnh này được gọi là “cạnh ra” của 57 𝑣𝑗 và là “cạnh đến” của 𝑣𝑘. Ngược lại, đồ thị vô hướng chứa các cạnh vô hướng, những cạnh vô hướng đó kết nối 2 đỉnh đảm bảo mối liên hệ là đối xứng: (𝑣𝑗,𝑣𝑘) ∈ 𝐸 khi và chỉ khi (𝑣𝑘,𝑣𝑗) ∈ 𝐸. Nếu có thể bắt đầu một đỉnh, duyệt qua cạnh ra và kết nối lại chính đỉnh đó thì đường đi này tạo thành một chu trình (cycle). Định dạng đơn giản nhất của một đồ thị gồm 2 đỉnh với 01 cạnh kết nối ở giữa. Đây là một đồ thị vô hướng kết nối giữa hai đỉnh (𝑣𝑗,𝑣𝑘) bằng cạnh 𝑒 và không có nhãn, minh họa trực quan ở hình 2.12. Hình 2.12. Minh họa một đồ thị đơn giản Để làm giàu thêm thông tin đồ thị, có thể bổ sung thêm hướng hoặc nhãn đồ thị. Một nhãn là tập hợp các biểu tượng, các loại nhãn có thể là số nguyên, chuỗi màu sắc hoặc một ký tự nào đó. Gán nhãn cho đồ thị tạo cho các đỉnh và các cạnh có tính riêng biệt, giúp mô tả sự khác biệt với các phần khác trong đồ thị, mang lại nhiều thông tin hơn. Các nhãn có thể được thêm vào cả cạnh và đỉnh. Hình 2.13 thể hiện một đồ thị có hướng với các đỉnh và các cạnh đều có nhãn. Hình 2.13. Minh họa một đồ thị có hướng và nhãn 58 2.2.2.2. Đặc trưng đồ thị luồng điều khiển Các đặc trưng dựa trên cấu trúc đồ thị (như đồ thị luồng điều khiển, đồ thị lời gọi hàm, đồ thị mã) có khả năng biểu diễn hành vi của các tập tin thực thi bởi đồ thị là phương pháp mạnh mẽ trong mô hình hóa các mối quan hệ phức tạp của dữ liệu. Các đặc trưng phổ biến được sử dụng trong phát hiện mã độc là đồ thị luồng điều khiển (CFG - Control Flow Graph). Một đồ thị luồng điều khiển là đồ thị có hướng biểu diễn tất cả các đường đi có thể được thực thi trong các chương trình, ở đó mỗi đỉnh (nút) được biểu diễn bởi một khối cơ sở (basic block) và các cạnh có hướng biểu diễn luồng điều khiển có thể giữa các đỉnh. Theo hướng tiếp cận này, Hisham Alasmary và cộng sự [33] đã sử dụng đồ thị luồng điều khiển như một cấu trúc trừu tượng để nhấn mạnh sự tương đồng và khác biệt giữa các tập tin nhị phân mã độc IoT botnet và mã độc Android. Để đạt được mục tiêu này, nhóm tác giả đã phân tích cấu trúc thông qua các đặc trưng lý thuyết đồ thị như kích thước đồ thị (số lượng đỉnh, số lượng cạnh), trung bình đường đi ngắn nhất trong đồ thị, độ trung tâm ở giữa (betweeness centrality), độ trung tâm dựa trên sự gần gũi (closeness centrality) - chỉ ra vị trí các nút trong mạng và khả năng kết nối các thành phân hoặc nhóm trong mạng), độ trung tâm dựa trên trị riêng (eigenvalue centrality) - chỉ ra nút đó có độ trung tâm nhất trong toàn đồ thị, độ trung tâm dựa trên bậc của nút (degree centrality) - là độ đo chỉ dựa vào bậc của nút và được xác định bằng số cạnh hay số kết nối mà một nút có), Kết quả thực nghiệm trên bộ dữ liệu chứa 2874 mẫu mã độc IoT botnet và 201 mẫu mã độc Android đã cho thấy mã độc IoT có số lượng đỉnh và cạnh ít hơn nhiều so với mã độc Android, và các đặc trưng lý thuyết đồ thị luồng điều khiển giữa mã độc IoT botnet và Android cũng có biến thiên lớn. Do đó, nhóm tác giả đã chứng mình được tính hữu dụng của CFG trong phân biệt mã độc IoT botnet và mã độc Android. 59 Hình 2.14. Đồ thị CFG của một mẫu mã độc botnet Linux.Bashlite Tiếp tục cải thiện và mở rộng hướng nghiên cứu đó trong phát hiện mã độc IoT, Hisham Alasmary và cộng sự [32] đã trình bày một phương pháp phát hiện mã độc IoT dựa trên sử dụng 23 đặc trưng tĩnh để biểu diễn đặc trưng CFG của mã độc IoT botnet. Phương pháp này gồm 3 giai đoạn: (1) sinh đồ thị lời gọi hàm của các mẫu nhị phân; (2) tính toán các tính chất chung của lý thuyết đồ thị; (3)áp dụng các kỹ thuật học máy và học sâu để phân loại tập dữ liệu thành 2 lớp: mẫu mã độc và lành tính. Bước đầu tiên, công cụ radera2 được sử dụng để sinh đồ thị CFG của các tập tin thực thi, công cụ mã nguồn mở này hỗ trợ nhiều kiến trúc (MIPS, ARM, ). Sau đó, các tác giả đã sử dụng framework NetworkX để tính toán các tính chất của CFGs. Những tính chất đó là số lượng đỉnh và cạnh; độ trung tâm dựa trên sự gần gũi (closeness centrality), độ trung 60 tâm dựa trên trị riêng (eigenvalue centrality), Bước cuối cùng, pha phát hiện sẽ được thực hiện bằng các thuật toán học máy và học sâu. Thực nghiệm trên bộ dữ liệu gồm 6000 mẫu mã độc và lành tính, độ chính xác đạt được 99,66%. Mặc dù nghiên cứu này đem lại kết quả phát hiện cao, nhưng tính toán các tính chất của CFG là tiến trình có độ phức tạp tính toán lớn. 2.2.2.3. Đặc trưng đồ thị Opcode Đồ thị Opcode là đồ thị được xây dựng dựa trên các đỉnh là các giá trị Opcode và các cạnh thể hiện mối liên kết giữa các opcode, trong đó mối liên kết được xây dựng và thu thập dựa trên đồ thị luồng điều khiển. Trong hướng tiếp cận sử dụng đặc trưng có cấu trúc đồ thị, Azmoodeh và cộng sự [36] đã trình bày một phương pháp dựa trên học sâu để phát hiện mã độc IoT botnet bằng đồ thị Opcode. Phương pháp đề xuất được đánh giá với tập dữ liệu chứa 128 mẫu mã độc IoT botnet và 1078 mẫu lành tính IoT (tất cả các mẫu đều dựa trên ARM), đạt độ chính xác 99.68 % với tỷ lệ precision và recall ở mức 98,37% và 98,59% theo thứ tự. Tuy nhiên, phương pháp này không đủ độ mạnh mẽ do bộ dữ liệu thực nghiệm có số lượng mẫu mã độc IoT botnet hạn chế, và vấn đề đa kiến trúc không được xem xét đề cập đến trong nghiên cứu này do tập dữ liệu thực nghiệm chỉ dựa trên kiến trúc ARM. Hình 2.15. Minh họa đồ thị Opcode Với nội dung đã trình bày, thảo luận bên trên về các phương pháp phát hiện mã độc IoT botnet dựa trên đặc trưng tĩnh, việc so sánh các phương pháp được tổng hợp trong bảng 2.4 cho thấy các nghiên cứu hiện nay sử dụng các đặc trưng tĩnh trong phát hiện mã độc IoT botnet còn những hạn chế. 61 Bảng 2.4. So sánh các phương pháp phát hiện mã độc IoT botnet dựa trên đặc trưng tĩnh trong các nghiên cứu gần đây Các nghiên cứu liên quan Hướng tiếp cận dựa trên đặc trưng tĩnh Cơ chế thực hiện Phương pháp đánh giá Điểm yếu Hamed HaddadPajouh [14] Opcode Xác định mã độc thông qua chuỗi opcode Mạng nơ-ron Chỉ sử dụng tập mẫu dựa trên kiến trúc ARM Ensieh Modiri Dovom [57] Opcode Áp dụng fuzzy pattern tree để phát hiện mẫu mã độc Fuzzing - Chỉ sử dụng tập mẫu dựa trên kiến trúc ARM - Tập dữ liệu không đủ lớn Darabian [52] Opcode Phát hiện mã độc dựa trên tần xuất opcode Học máy Chỉ sử dụng tập mẫu dựa trên kiến trúc ARM Mohannad Alhanahnah [4] Strings Sinh chữ kỹ để phân loại mã độc Phân cụm - Độ phức tạp tính toán lớn - Chỉ sử dụng cho 4 loại mã độc F. Shahzad et al. [96] ELF header Trích xuất các đặc trưng từ section của tập tin nhị phân để phát hiện mã độc Học máy Cấu trúc của tập tin nhị phân dễ dàng bị chỉnh sửa 62 Các nghiên cứu liên quan Hướng tiếp cận dựa trên đặc trưng tĩnh Cơ chế thực hiện Phương pháp đánh giá Điểm yếu Jiawei Su et al. [25] Grayscale image Biểu diễn các mẫu nhị phân như ảnh đa mức xám để phát hiện mã độc Mạng nơ-ron Thiếu độ chính xác khi các mẫu sử dụng kỹ thuật gây rối hoặc mã hóa Hisham Alasmary et al. [32] CFG Tính toán 23 thuộc tính lý thuyết đồ thị của CFG để phân biệt các mẫu mã độc và lành tính Học máy, học sâu - Độ phức tạp tính toán lớn - Xác định các tính chất chưa chính xác Amin Azmoodeh et al. [36] Opcode graph Xây dựng đồ thị opcode dựa trên CFG để phát hiện mã độc Lý thuyết đồ thị Chỉ sử dụng tập mẫu dựa trên kiến trúc ARM 63 Dựa trên khảo sát, đánh giá các nghiên cứu hiện nay về vấn đề phát hiện mã độc IoT botnet, thấy rằng các nghiên cứu đều có những ưu điểm và hạn chế. Tuy nhiên, mỗi phương pháp nghiên cứu lại thực nghiệm trên các bộ cơ sở dữ liệu và môi trường khác nhau. Trên cơ sở đó, luận án tiến hành đánh giá một cách khách quan các nghiên cứu hiện nay với cùng môi trường thử nghiệm và trên cùng bộ cơ sở dữ liệu. Phần tiếp theo luận án sẽ trình bày chi tiết về bộ cơ sở dữ liệu, bộ cơ sở dữ liệu này không chỉ dùng để thực nghiệm cho phần đánh giá ở Chương này mà còn được sử dụng thực nghiệm ở các Chương sau của luận án. 2.2.3. Xây d͹ng b ͡F˯V ͧdͷ li u͏ th ͵nghi m͏ Đối với các bài toán phát hiện mã độc thì luôn cần dữ liệu đầu vào để huấn luyện và thử nghiệm, đánh giá. Trong khi đó, mã độc IoT botnet là một lĩnh vực nghiên cứu tương đối mới, chưa có nhiều nơi công bố các tập dữ liệu thử nghiệm liên quan. Trong luận án này, dữ liệu đầu vào là các tập tin thực thi mã độc và lành tính trên thiết bị IoT. Để phục vụ các nghiên cứu thực nghiệm của luận án một cách tin cậy, đúng đắn thì việc xây dựng tập dữ liệu các tập tin thực thi mã độc và lành tính trên thiết bị IoT có ý nghĩa quan trọng. Đối với tập dữ liệu mã độc IoT botnet thì luận án tiến hành thu thập từ 02 nguồn khác nhau là IoTPOT [22] và VirusShare [122]. Dữ liệu được thu từ IoTPOT, một giải pháp mạng bẫy (honepot) IoT của các giáo sư Nhật bản để thu thập mã độc IoT botnet có đặc điểm sau: - Được thu thập trong 01 năm từ 10/2016 đến 10/2017 với 4000 mẫu mã độc IoT botnet. - Ban đầu IoTPOT tập trung vào thu thập các tập tin từ các thiết bị IoT bị tấn công dựa trên giao thức telnet (telnet-based), hiện nay mạng bẫy này đã mở rộng hơn với các hình thức tấn công khác [33], ví dụ như tấn công dò quét trên TCP qua các cổng 23, 80, 8080, 5916 và cổng UDP như 123, 3143. Hình 2.16. Kết quả tải về tập dữ liệu mã độc IoT botnet từ IoTPOT 64 Hình 2.17 minh họa sự tương tác giữa máy khách và máy chủ trong giao thức telnet. Sau khi thực hiện bắt tay 3 bước, máy khách và máy chủ có thể trao đổi các tùy chọn Telnet, máy chủ Telnet hoặc máy khách Telnet có thể khởi tạo yêu cầu như “Do Echo”, một yêu cầu cho gửi trả lại echo và “Do NAWs” để gửi yêu cầu tới NAWs (Negotiate About Window size). Sau khi trao đổi các tùy chọn, máy chủ gửi một thông điệp chào mừng tới máy khách, ngay sau đó là thông tin đăng nhập. Ví dụ “TPLink Router” là thông điệp chào mừng và “Login:” là thông điệp đăng nhập, ở đây phần khởi tạo tương tác này gọi là tiêu ngữ tương tác (banner interactions). Sau đó, máy khách gửi cặp tên đăng nhập/mật khẩu để đăng nhập vào máy chủ, được gọi là xác thực (authentication). Cuối cùng, nếu việc xác thực là hợp lệ thì máy khách đăng nhập và ra lệnh cho máy chủ sử dụng nhiều lệnh shell, được gọi là tương tác câu lệnh (command interactions). Hình 2.17. Giao thức telnet Các tập tin được thu thập có các đặc trưng với các chuỗi chỉ thị lệnh quan sát được bởi IoTPOT có thể kể đến như: - Kiểm tra shell của thiết bị nạn nhân bằng lệnh “sh” - Kiểm tra lệnh wget có được kích hoạt không - Kiểm tra busybox shell có được sử dụng trên thiết bị nạn nhân - Xóa nhiều chỉ thị lệnh và các tập tin trong các vị tri /usr/bin, /bin, var/run/, /dev 65 - Sao chép /bin/sh với tên tập tin ngẫu nhiên - Sử dụng nền tảng của kẻ tấn công để tải các tập tin nhị phân. Địa chỉ IP và giá trị cổng của máy chủ tải mã độc có thể tìm thấy trong chỉ thị lệnh - Kiểm tra phản hồi lỗi của thiết bị nạn nhân bằng cách chạy các câu lệnh không tồn tại như ZORRO, “enable”, “shell” - Tải về các đoạn mã thực thi shell - Sử dụng các đoạn mã thực thi đã tải để ngắt hoặc ngăn chặn các tiến trình độc hại đã chạy trước đó trên thiết bị nạn nhân, tải các tập tin thực thi có kiến trúc khác nhau, ngăn chặn kết nối cổng 23/TCP. - Các tập mẫu thu thập được thực hiện các hình thức tấn công phổ biến là từ chối dịch vụ như tấn công tràn UDP, tấn công tràn TCP, DNS Water Torture, tấn công tràn ACK, tấn công SSL, Ngoài việc sử dụng các mẫu mã độc trên thì luận án cũng sử dụng mẫu mã độc IoT botnet từ VirusShare. VirusShare [122] là một kho lưu trữ mã độc trực tuyến được cung cấp cho các nhà nghiên cứu bảo mật, các nhà ứng phó sự cố an toàn thông tin và điều tra số có thể truy cập vào các tập mẫu mã độc. Việc truy cập chỉ được thực hiện với các tài khoản được cấp quyền. Để yêu cầu quyền truy cập, các nhà nghiên cứu cần thư điện tử tới người quản trị và giải thích mục đích của việc truy cập kho lưu trữ. Luận án xây dựng bộ thu thập (crawler) mã độc IoT từ VirusShare với đầu vào là tên các loại mã độc IoT botnet [12] (đã trình bày ở mục 1.1.3 như Mirai, bashlite, Tsunami, Aidra, ). Kết quả đã thu thập được 3199 mẫu mã độc IoT botnet. Hình 2.18. Giao diện của VirusShare sau khi đăng nhập với tài khoản được cấp 66 Hình 2.19. Kết quả tải về tập dữ liệu mã độc IoT botnet từ VirusShare Bên cạnh tập dữ liệu mã độc IoT botnet thì luận án cũng thu thập tập dữ liệu lành tính trên IoT. Tập dữ liệu lành tính được trích xuất từ các bản ảnh phần sụn (firmware) của các thiết bị IoT dân dụng (SOHO) bằng công cụ binwalk [116]. Cụ thể, các bản ảnh phần sụn được tải từ trang web của các hãng sản xuất thiết bị IoT như TP-Link, D-Link, Asus, Để đa dạng tập dữ liệu lành tính, luận án không những thu thập thêm các bản ảnh nhị phân phần sụn từ OpenWRT [119] cho các hãng khác như Buffalo, Netgear hoặc Tenda, mà còn từ một số nghiên cứu trước có chia sẻ tập mẫu lành tính IoT [36]. Để huấn luyện và đánh giá mô hình, giải pháp đề xuất của luận án với tỷ lệ dương tính giả thấp thì cần đảm bảo gán nhãn chính xác cho các tập tin mã độc và các tập tin lành tính. Luận án thực hiện điều này bằng cách chạy tất cả dữ liệu thông qua VirusTotal [123], một công cụ hỗ trợ phân tích trực tuyến mã độc với hơn 68 bộ dò quét mã độc của nhiều hãng phần mềm phòng chống mã độc như Kaspersky, Norton, Avast, Luận án sử dụng chiến lược bỏ phiếu [17], [81] để quyết định xem một tập tin là mã độc hoặc lành tính, thể hiện qua đẳng thức (2.1): 𝐶𝑙𝑎𝑠𝑠𝑙𝑏={ 𝑀ã độ𝑐,𝑛ế𝑢 (𝐸1(𝑆)∨ 𝐸2(𝑆) ∨ 𝐸𝑛(𝑆)) 𝐿à𝑛ℎ 𝑡í𝑛ℎ,𝑛ế𝑢 (!(𝐸1(𝑆))∧!(𝐸2(𝑆))∧ !(𝐸𝑛(𝑆)) (2.1) Từ đẳng thức trên có thể thấy rõ ràng là một tập tin được gán nhãn mã độc nếu có bất kỳ một bộ dò quét mã độc từ 𝐸1(𝑆) tới 𝐸𝑛(𝑆) xác nhận là mã độc. Ngược lại một tập tin mẫu được gán nhãn là lành tính nếu không có bất kỳ bộ dò quét nào xác nhận là mã độc. Với mỗi mẫu, luận án chọn tên mã độc IoT botnet được xác định từ nhiều bộ dò quét nhất. Đồng thời, luận án chuẩn hóa tên mã độc như AVCLASS [94] bởi mỗi bộ dò quét lại đưa ra một tên gọi khác nhau cho một mẫu mã độc IoT botnet, mặc dù các tên gọi khác nhau đó cùng chỉ về một lớp mã độc IoT botnet. Ví dụ, luận án thay thế Gafgyt 67 và Lightaidra bằng Bashlite. Cuối cùng, luận án chia tập dữ liệu mã độc thành 03 lớp là Mirai, Bashlite và các loại mã độc khác (Other Botnet). Như vậy, tập dữ liệu thu thập được gồm có 11200 mẫu gồm 7199 mẫu mã độc IoT botnet và 4001 mẫu lành tính IoT. Sử dụng công cụ IDA Pro để tiến hành tiền xử lý các tập tin, cụ thể là các mẫu không phải tập tin nhị phân, không thể đọc được bằng IDA Pro cũng như trùng lặp sẽ bị xóa bỏ khỏi tập dữ liệu. Cuối cùng, tập dữ liệu có 10010 mẫu gồm 6165 mẫu mã độc IoT botnetvà 3845 mẫu lành tính IoT, mô tả chi tiết ở bảng 2.5. Bảng 2.5. Mô tả tập dữ liệu mẫu để thử nghiệm Các lớp Biến thể Số lượng Kiến trúc ARM Kiến trúc MIPS Mirai 7 1765 331 301 Bashlite 5 3720 762 646 Other botnet 9 680 152 103 Benign - 3845 561 533 Total 10010 1806 1583 Hơn nữa, luận án tiến hành khảo sát kiến trúc vi xử lý của các mẫu mã độc trong tập dữ liệu bằng câu lệnh file trong hệ điều hành Linux. Hình 2.20 cho thấy sự đa dạng kiến trúc vi xử lý của các mẫu mã độc IoT botnet trong trong tập dữ liệu, trong đó các kiến trúc MIPS, ARM và Intel 80386 là 3 kiến trúc phổ biến nhất cho mã độc IoT botnet. 68 Hình 2.20. Sự phân bố kiến trúc vi xử lý trong các mẫu mã độc IoT botnet Tóm lại, bộ dữ liệu của luận án xây dựng có chứa các tập mẫu mã độc botnet và lành tính IoT thực tế, đa dạng về kiến trúc nên giúp phản ánh tính chất của Internet nói chung và mạng IoT nói riêng một cách trung thực và đáng tin cậy. 2.2&iFWLrXFKtÿiQKJLi Để đánh giá tính hiệu quả của các phương pháp phát hiện mã độc IoT botnet, luận án sử dụng các tiêu chuẩn TP, TN, FP và FN được mô tả như sau: - True positive (TP): cho biết rằng một mẫu mã độc được phát hiện chính xác và gán nhãn là mã độc - True negative (TN): cho biết rằng một mẫu lành tính được phát hiện chính xác và gán nhãn là lành tính - False positive (FP): cho biết rằng một mẫu lành tính bị phát hiện sai và gán nhãn là mã độc - False negative (FN): cho biết một mẫu mã độc bị phát hiện sai và gán nhãn là lành tính Dựa trên những tiêu chuẩn này, các độ đo thường được sử dụng trong học máy được tính toán. Để đánh giá tính hiệu quả của các phương pháp đề xuất, các thực nghiệm trong luận án này, ở mỗi Chương, luận án không sử dụng hết các độ đo mà lựa chọn các độ đo phù hợp. Các độ đo gồm: + Độ chính xác (Accuracy): là tỷ lệ giữa số lượng các mẫu được gán nhãn đúng chia cho tổng số dữ liệu kiểm thử (gồm cả mẫu mã độc và lành tính) 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦= 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 (2.2) + Tỷ lệ dương tính đúng (TPR – True Positive Rate): số lượng mẫu mã độc đã dự đoán được phân loại đúng là mã độc chia cho tổng số tập tin mã độc. 𝑇𝑃𝑅= 𝑇𝑃 𝑇𝑃+𝐹𝑁 (2.3) + Tỷ lệ dương tính giả (FPR – False Positive Rate)/tỷ lệ phát hiện nhầm: số lượng mẫu lành tính đã dự đoán bị phân loại nhầm là mã độc chia cho tổng số tập tin lành tính. 69 𝐹𝑃𝑅= 𝐹𝑃 𝐹𝑃+𝑇𝑁 (2.4) + Tỷ lệ chính xác (Precision): thể hiện khả năng mô hình dự đoán đúng nhãn, tức là xem xét trên tập dữ liệu kiểm tra xem có bao nhiêu dữ liệu được mô hình dự đoán đúng (tức là trả lời câu hỏi bao nhiêu cái đúng được lấy ra). Việc tăng hay giảm Precision phụ thuộc vào FP nên Precision cao đồng nghĩa với FP nhỏ hay số nhãn lành tính dự đoán nhầm sang mã độc. 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛= 𝑇𝑃 𝑇𝑃+𝐹𝑃 (2.5) + Recall (tức là trả lời câu hỏi bao nhiêu cái được lấy ra là đúng), chỉ số này còn được gọi là độ bao phủ tức là xem xét một mô hình tìm được có khả năng tổng quát hóa như thế nào. 𝑅𝑒𝑐𝑎𝑙𝑙= 𝑇𝑃 𝑇𝑃+𝐹𝑁 (2.6) + Độ đo F-score: còn gọi là trung bình điều hòa của các tiêu chí Precision và Recall. Nó có xu hướng lấy giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall và đồng thời nó có giá trị lớn nếu cả 2 giá trị trên đều lớn. Do đó F-score thể hiện được một cách khách quan hơn hiệu năng của một mô hình học máy. 𝐹−𝑠𝑐𝑜𝑟𝑒=2 × 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ×𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 (2.7) Bên cạnh đó, việc tăng hay giảm FNR (được tính bằng 1-TPR) và FPR có thể thực hiện bằng việc thay đổi một ngững nào đó. Luận án coi lớp 1 là lớp mã độc (positive) và lớp 0 là lành tính (negative), vậy làm thế nào để tăng mức độ báo nhầm (FPR) để giảm mức độ bỏ sót (FNR), trong đó khi tăng FNR thì đồng nghĩa với việc giảm TPR. Như vậy ứng với mỗi giá trị của ngưỡng thì sẽ có một cặp (FPR, TPR). Việc biểu diễn các điểm (FPR, TPR) trên đồ thị khi thay đổi ngưỡng (thường từ 0 đến 1) ta sẽ thu được một đường cong gọi là ROC. Dựa trên đường cong ROC, ta có thể xác định rằng mô hình có hiệu quả hay không. Bên cạnh đó còn có một giá trị đại diện cho diện tích nằm dưới ROC (tức các điểm dữ liệu ở góc trên cùng bên tay trái sẽ là tối ưu, hiệu quả cao), giá trị này được gọi là AUC (Area Under the Curve), kết quả từ AUC có thể được thể hiện “càng lớn thì mô hình càng tốt”. 70 Để tiến hành các thực nghiệm trong Chương này, luận án chia tập dữ liệu thành 2 tập con với tỷ lệ là: 70% tập dữ liệu là tập huấn luyện và 30% còn lại là để kiểm thử. Thực nghiệm được xây dựng với ngôn ngữ Python và thư viện Scikit-Learn (một thư viện về học máy phổ biến hiện nay, được viết trên ngôn ngữ Python) trên nền tảng hệ điều hành Ubuntu 16.04 sử dụng chip Intel Core i5-8500, 3.0GHz và bộ nhớ RAM 32 GB. 2.2.5. K t͇ qu ̫th͹c nghi m͏ và nh n̵ xét Nhằm đánh giá một cách trực quan và đáng tin cậy về các phương pháp phát hiện mã độc IoT botnet dựa trên đặc trưng phân tích tĩnh, đã được trình bày chi tiết ở mục 2.2.1 và 2.2.2. Phần này luận án sẽ tiến hành thực nghiệm lại chính xác các phương pháp đó trên cùng một bộ dữ liệu lớn các tập tin thực thi IoT và cùng cấu hình hệ thống đã trình bày chi tiết ở phần 2.2.3. Kết quả tổng hợp, đánh giá các hướng tiếp cận dựa trên đặc trưng tĩnh trong phát hiện mã độc IoT botnet được thể hiện ở Bảng 2.6 71 Bảng 2.6. Kết quả thực nghiệm các hướng tiếp cận dựa trên đặc trưng tĩnh hiện nay trong phát hiện mã độc IoT botnet Hướng tiếp cận dựa trên đặc trưng tĩnh Bộ phân lớp Độ chính xác FPR (False Positive Rate - dương tính giả) FNR (False Negative Rate - âm tính giả) Thời gian trích xuất đặc trưng và tiền xử lý Thời gian phân lớp ELF-header [96] RIPPER 99,8 0,2 0,2 1h50m 0,75s PART 99,8 0,2 0,2 1,27s DT (J48) 99,6 0,5 0,3 1s String-based [70] SVM 98 0,9 2,2 4m47s 12,4s kNN 99,8 0,4 0,2 1s DT (J48) 99,4 0,4 0,6 8,75s RF 99,7 0,3 0,4 9,71s Image-based [25] Neural Network 89,1 12,7 1,4 14m19s 2m19s CFG-based [32] SVM 89 33,8 4,4 5 days 1,45s LR 85 15,1 19,0 0,5s RF 95 7,5 5,9 1,75s 72 Từ bảng kết quả 2.6, với các bộ phân lớp được sử dụng chính xác như trong các nghiên cứu, có thể thấy các phương pháp sử dụng đặc trưng phi cấu trúc đồ thị đạt kết quả khả quan hơn so với phương pháp sử dụng đặc trưng có cấu trúc đồ thị trong phát hiện mã độc IoT botnet, cả về độ chính xác và độ phức tạp chi phí thời gian. Trong đó, phương pháp dựa trên thông tin cấu trúc trong tiêu đề tập tin rất khả quan với các thuật toán học máy khác nhau như RIPPER, PART, Decision Tree C4.5 đạt độ chính xác là 99,8; 99,8 và 99,6 một cách lần lượt. Các đặc trưng trong tiêu đề tập tin đóng vai trò quan trọng như STB_WEAK, SecionHeaderOffset, STT_NOTYPE, .bss_alignment, STT_OBJECT_STB_GLOBAL. Ưu điểm chính của phương pháp này là sự đơn giản từ các đặc trưng cho tới quá trình trích xuất đặc. Việc khai thác các thông tin dữ liệu trong tiêu đề tập tin cho phép bước đầu xác định trạng thái của một tập tin thực thi, từ đó có khả năng xác định được chức năng tiềm tàng của chúng, hỗ trợ tốt cho việc phát hiện mã độc. Tuy nhiên, các kỹ thuật gây rối của mã độc nhằm che dấu các trạng thái ban đầu của các tập tin khiến phương pháp tiếp cận này bị hạn chế, khó triển khai. Phương pháp tiếp cận dựa trên đặc trưng đại diện ảnh đa mức xám cũng đạt tỷ lệ phát hiện mã độc IoT botnet khả quan với độ chính xác 89,1%. Bằng việc sử dụng tính chất của quá trình xử lý ảnh cũng như áp dụng mô hình mạng nơ-ron tích chập nhẹ (light CNN), hướng tiếp cận này có khả năng áp dụng trên các thiết bị IoT bị hạn chế tài nguyên tính toán. Tuy nhiên, các kỹ thuật gây rối của mã độc có khả năng thay đổi cấu trúc của các tập tin nhị phân, dẫn đến ảnh hưởng lớn tới đặc trưng ảnh đa mức xám. Hướng tiếp cận dựa trên các đặc trưng chuỗi thông tin cũng cho thấy sự khả quan trong phát hiện mã độc đa kiến trúc IoT. Các bộ phân lớp SVM, kNN, DT (J48) và RF đạt độ chính xác phát hiện tương ứng là 98; 99,8; 99,4; 99,7. Tuy nhiên, với những loại mã độc sử dụng kỹ thuật mã hóa, gây rỗi thì các chuỗi thông tin có thể bị thay đổi về tần suất,cũng như giá trị, ảnh hưởng lớn tới khả năng phát hiện mã độc IoT botnet đa kiến trúc. Cuối cùng, phương pháp dựa trên đồ thị luồng điều khiển đạt tỷ lệ phát hiện cao nhưng độ phức tạp vẫn còn lớn, cao hơn so với những phương pháp sử dụng đặc trưng phi cấu trúc. Trong khi đó, xu hướng trong tương lai mã độc IoT botnet có thể ngày càng phức tạp sẽ dẫn đến đặc trưng đồ thị luồng điều khiển cũng phức tạp theo, ảnh hướng 73 lớn đến độ phức tạp của bài toán phát hiện mã độc IoT botnet. Bên cạnh đó, các nhà nghiên cứu đã

Các file đính kèm theo tài liệu này:

  • pdfluan_an_nghien_cuu_de_xuat_dac_trung_do_thi_psi_trong_phat_h.pdf
Tài liệu liên quan