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
150 trang |
Chia sẻ: honganh20 | Ngày: 03/03/2022 | Lượt xem: 369 | Lượt tải: 1
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ƭQKGDWUrQÿ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 dng 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 ̫thc 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:
- luan_an_nghien_cuu_de_xuat_dac_trung_do_thi_psi_trong_phat_h.pdf