2.3.3. Kết quả kiểm nghiệm V-Sandbox
Trong Bảng 2.2, mơ tả kết quả chạy Dataset trên V-Sandbox. Kết quả thử nghiệm cho thấy với Dataset chứa 11069 mẫu bao gồm 6316 mẫu mã độc IoT Botnet và 4753 mẫu lành tính, V-Sandbox đã chạy và phân tích thành cơng 8911 mẫu với nhiều kiến trúc CPU khác nhau. Đáng chú ý, tỷ lệ mẫu liên kết tĩnh đạt hơn 80% và mẫu liên kết động là hơn 70%. Kết quả này là một lợi thế khi kết hợp máy chủ C&C và thư viện liên kết động trong V-Sandbox. Các kết quả phân tích được thu thập từ V-Sandbox cho các mẫu trong Bộ dữ liệu được minh họa trong các hình dưới đây.
Bảng 2.2 Thống kê kết quả chạy V-Sandbox
Kiến trúc CPU Số mẫu liên kết tĩnh chạy thành cơng Số mẫu liên kết động chạy thành cơng
Tởng số mẫu chạy thành cơng ARM 1672 (81.36%) 607 (78.63%) 2279 (80.62%) MIPS 1790 (86.56%) 1021 (77.82%) 2811 (83.17%) Intel 80386 1745 (94.12%) 313 (83.47%) 2058 (92.33%) PowerPC 770 (66.09%) 148 (35.92%) 918 (58.21%) x86-64 692 (84.39%) 153 (64.83%) 845 (80.02%) Tồn bộ Dataset 6669 (83.76%) 2242 (72.16%) 8911 (80.50%)
Hình 2.15 Thơng tin thu thập bởi các tác tử của V-Sandbox
Hình 2.16 Thơng tin thu thập lời gọi hệ thống bởi SystemCall agent
Hình 2.18 Thơng tin thu thập bởi Host performance agent
Hình 2.19 Thơng tin thu thập bởi Network agent
Hình 2.21 Báo cáo tổng thể về hành vi của mẫu được chạy
Để chứng minh tính hiệu quả của V-Sandbox trong thu thập được đầy đủ dữ liệu hành vi của mã độc so với các IoT Sandbox khác, nghiên cứu sinh trình bày cụ thể kết quả so sánh trong mục 2.3.4 của luận án này. Ngồi ra, trong kết quả so sánh tại Bảng 2.5, tồn bộ các hành vi trong vịng đời của mã độc IoT Botnet cũng đã được V-Sandbox ghi nhận. Đây là minh chứng rõ ràng cho khả năng thu thập được đầy đủ dữ liệu hành vi mã độc IoT Botnet của mơi trường V-Sandbox.
2.3.4. So sánh hiệu quả V-Sandbox với các IoT Sandbox khác
Để so sánh hiệu quả hoạt động của V-Sandbox với các IoT Sandbox khác, nghiên cứu sinh sẽ tiến hành thử nghiệm và đánh giá khả năng thu thập dữ liệu hành vi của các IoT Sandbox nởi tiếng khác (như LiSa Sandbox, IoTBOX, Cuckoo Sandbox) với V- Sandbox trên cùng một tập dữ liệu. Cụ thể, kết quả chạy Dataset của nghiên cứu sinh với LiSa Sandbox được trình bày trong Bảng 2.3. Vì IoTBOX khơng cơng bố rộng rãi mã nguồn, khơng dễ để cài đặt và kiểm tra tính hiệu quả của Sandbox này trên bộ dữ liệu Dataset. Ngồi ra, Cuckoo Sandbox đã được nghiên cứu sinh cài đặt và chạy thử
nghiệm, nhưng chỉ hỗ trợ tốt cho các kiến trúc x86, việc cài đặt cho các kiến trúc CPU khác gặp nhiều khĩ khăn. Do đĩ, để so sánh, nghiên cứu sinh đã chọn một vài mẫu ngẫu nhiên để đánh giá hiệu quả của Cuckoo Sandbox trong Bảng 2.5. Tởng quan về các chức năng của IoT Sandbox đã cĩ với V-Sandbox được so sánh trong Bảng 2.4. Trong Bảng 2.5, mơ tả 12 mẫu được chọn ngẫu nhiên để so sánh hiệu quả của Sandbox được đề xuất với hai Sandbox được đánh giá cao hiện nay là Cuckoo và LiSa Sandbox. Trong Bảng 2.6, trình bày kết quả so sánh hiệu quả của V-Sandbox với Cuckoo và LiSa Sandbox với các mẫu cụ thể này.
Bảng 2.3 Thống kê kết quả chạy LiSa Sandbox
Bảng 2.4 So sánh các chức năng của các IoT Sandbox
* N: Not yet, Y: Yes, NF: Not Fully, NS: Not Sure (no open source) Bảng 2.5 Các mẫu được lựa chọn ngẫu nhiên từ dataset
Multi- CPU Multi- OS C&C Server Dynamically libraries
Collection data Auto
gener- ation report Network System calls File activity Host perfomance DroidScope [97] N N N N N Y Y N N AASandbox [98] N N N N N Y N N N Cuckoo [49] Y Y N N Y NF Y N Y IoTBOX [43] Y Y N N Y N N N NS Limon [52] N N N N Y Y Y N Y REMnux [48] N N N N N Y N N Y Detux[54] N N N N Y N N N Y Padawan [53] Y Y N N N Y Y N Y LiSa [51] Y Y N NF Y Y Y N Y V-Sandbox Y Y Y Y Y Y Y Y Y Kiến trúc CPU
Số lượng mẫu liên kết tĩnh chạy thành cơng (%)
Số lượng mẫu liên kết động chạy thành cơng (%)
Tởng số mẫu chạy thành cơng (%) ARM 807 (54.97 %) 0 (0%) 807 (28.55%) MIPS 918 (66.28%) 653 (35.53%) 1571 (46.48%) Intel 80386 1375 (68.99%) 20 (8.23%) 1395 (62.58%) PowerPC 0 (0%) 0 (0%) 0 (0%) x86-64 293 (61.81%) 12 (41.38%) 305 (19.34%) Tồn bộ dataset 3393 (57.70%) 685 (21.70) 4078 (36.84%) STT MD5 Kiến trúc vi xử lý Nhãn [99] 1 89772d4f8d63117a5af7abd11ef66c5c x64 Gafgyt
2 f70640f966d77234405df7d715f6e494 ARM Gafgyt
Bảng 2.6 Kết quả so sánh giữa LiSa, Cuckoo và V-Sandbox
STT
Hỡ trợ thư viện liên kết động
Số lượng PID giám sát
được Hành vi mạng được giám sát
V-
Sandbox LiSa Cuckoo
V-
Sandbox LiSa Cuckoo V-Sandbox LiSa Cuckoo
1 static static static 3 3 3 C&C serverconnected,
transfer command requets IP C&C server requets IP C&C server
2 static static static 170 3 3
C&C server connected, transfer command, TCP flooding requets IP C&C server requets IP C&C server
3 3 0 0 1 1 1 Normal Normal Normal
4 1 0 0 1 1 2 Normal Normal Normal
5 static static static 9 3 3
C&C server connected, transfer command, TCP flooding requets IP C&C server requets IP C&C server
6 static static static 6 1 6
C&C server connected, transfer command,
TCP flooding
No pcap IP C&Crequets server
7 2 0 0 1 1 1 Normal Normal Normal
8 static static static 2 1 4 Normal Normal Normal
9 static static static 1 1 1 requets IP C&C
server No pcap
requets IP C&C server
10 static static static 10 6 1
C&C server connected, transfer command, DDoS attack traffic SYN scanning SYN scanning 11 3 1 0 10 1 1 C&C server connected, transfer command, DDoS attack traffic
No pcap requestsIP C&C server 12 2 1 0 25 1 1 C&C server connected, transfer command, DDoS attack traffic
No pcap requestsIP C&C server
STT MD5 Kiến trúc vi
xử lý Nhãn [99]
4 8b269f0eab1e09040c62ce78dff05c01 MIPS Benign
5 1c7c1763888e0a0b67732db1e8e176ba ARM Gafgyt
6 0a982a3fb71dd70c248c107fcf33574f PowerPC Gafgyt
7 cf04a95a254a9aada0440281f82d6e9c MIPSEL Benign
8 2bb57df01bd06453775472df2098eff1 ARM Tsunami
9 79b62cfd1975f09e24ce131181c1008a Intel 80386 Mirai
10 4a832bd4fbb625cd095e9f56d695b047 MIPS Mirai
11 9505af2cafb5b2bb8d10949543c5c416 MIPSEL Bashlite
Theo kết quả so sánh đã liệt kê ở trên, V-Sandbox được đề xuất với khả năng hỗ trợ nhiều kiến trúc vi xử lý phở biến của thiết bị IoT hạn chế tài nguyên, tạo mơi trường kết nối và giao tiếp với máy chủ C&C, cung cấp các thư viện liên kết động để mã độc IoT Botnet thể hiện nhiều hành vi hơn so với các IoT Sandbox hiện cĩ (tiêu biểu là Cuckoo và LiSa sandbox). Chính các khả năng này đã tạo mơi trường phù hợp cho các mã độc thể hiện nhiều hơn các hành vi của mình so với các mơi trường IoT Sandbox đã cĩ (được minh chứng bằng số liệu tại Bảng 2.6). Các tác tử thu thập các hành vi của mã độc IoT Botnet (như lời gọi hệ thống, luồng mạng, thơng tin chiếm dụng tài nguyên của thiết bị,…) được tự động tích hợp vào các máy ảo với kiến trúc CPU tương ứng. V- Sandbox đã được chứng minh tính hiệu quả thơng qua dataset thử nghiệm. Mã nguồn V- Sandbox được chia sẻ trên Github [100].
Tuy nhiên, để thu thập các yêu cầu về mơi trường và khởi tạo mơi trường Sandbox (SE) phù hợp cho mã độc thể hiện hết các hành vi độc hại, V-Sandbox cần thực hiện lặp lại quá trình thực thi tệp đầu vào khơng chỉ một lần. Do đĩ, thời gian phân tích một tệp tin đầu vào đối với V-Sandbox cĩ thể kéo dài hơn so với các IoT Sandbox khác. Ngồi ra, hiện nay V-Sandbox mới chỉ hỗ trợ các kiến trúc vi xử lý phở biến của thiết bị IoT như MIPS, MIPSEL, ARM, PowerPC, SPARC. Các kiến trúc vi xử lý đặc thù, ít phở biến của thiết bị IoT như SH-4, M68K,… thì V-Sandbox chưa hỗ trợ đầy đủ. Trong tương lai, nghiên cứu sinh sẽ mở rộng khả năng hỗ trợ nhiều kiến trúc vi xử lý hơn, bở sung dữ liệu về các lệnh của máy chủ C&C và các thư viện liên kết động vào cơ sở dữ liệu để nâng cao hiệu quả và giảm thiểu thời gian thực thi của mơi trường sandbox này.
2.4. Kết luận Chương 2
Trong chương này, luận án đã xây dựng được mơi trường V-Sandbox đảm bảo các điều kiện để cĩ thể thu thập đầy đủ dữ liệu hành vi của mã độc IoT Botnet. Mơi trường sandbox được xây dựng hoạt động hồn tồn tự động, mã nguồn mở và cài đặt dễ dàng, cĩ tính thực tiễn.
Ý tưởng và kết quả thực nghiệm của phương pháp đề xuất trong chương này đã được trình bày, cơng bố trên các Tạp chí, Kỷ yếu Hội thảo uy tín trong và ngồi nước. Cụ thể là:
- “V-Sandbox for Dynamic Analysis IoT Botnet,” IEEE Access, vol. 8, pp.
145768–145786, 2020, (SCIE index, Q1), ISSN: 2169-3536, DOI: 10.1109/ACCESS.2020.3014891
- “Xây dựng hệ thống phát hiện mã độc trong thiết bị định tuyến dựa trên mơ
phỏng”, Tạp chí “Nghiên cứu Khoa học và Cơng nghệ trong lĩnh vực An tồn thơng tin”
(Journal of Science and Technology on Information security) – Ban cơ yếu chính phủ (1.CS (05) 2017), 2017.
CHƯƠNG 3. ĐẶC TRƯNG ĐỒ THỊ LỜI GỌI HỆ THỐNG CĨ HƯỚNG TRONG PHÁT HIỆN MÃ ĐỘC IOT BOTNET
3.1. Phát biểu bài tốn
3.1.1. Lựa chọn nguờn dữ liệu động phục vụ tiền xử lý và phân tích
Như đã trình bày tại Chương 1, các nguồn dữ liệu động phở biến được các nhà nghiên cứu về mã độc IoT Botnet thu thập bao gồm luồng mạng, chuỗi lời gọi hệ thống và thơng tin chiếm dụng tài nguyên thiết bị của mã độc IoT Botnet. Tuy nhiên, mỗi loại dữ liệu động này cĩ những ưu và nhược điểm riêng trong khả năng phát hiện mã độc IoT Botnet.
Đối với dữ liệu luồng mạng, đã cĩ nhiều nghiên cứu sử dụng loại dữ liệu này để phân tích và phát hiện mã độc Botnet nĩi chung và IoT Botnet nĩi riêng. Tuy nhiên, dữ liệu mạng khả nghi chỉ phát sinh khi mã độc IoT Botnet tiến hành giao tiếp với C&C server hoặc thực hiện hành vi tấn cơng mạng. Chưa kể đến trường hợp mã độc đang ở trạng thái chờ đợi kết nối hoặc kết nối khơng thành cơng tới C&C server thì dữ liệu luồng mạng gần như khơng phát sinh, làm giảm khả năng phát hiện [35, 43]. Đặc biệt, một số loại mã độc Botnet cịn sử dụng một vài kỹ thuật để tránh bị phát hiện qua dữ liệu luồng mạng như sinh giá trị thời gian chờ ngẫu nhiên giữa các lần gửi gĩi tin kết nối đến C&C server, sinh giá trị địa chỉ IP ngẫu nhiên để quét mục tiêu, sử dụng các kênh truyền mã hĩa dữ liệu [95, 101, 102]. Hiện nay, dữ liệu luồng mạng hầu hết được chứng minh tính hiệu quả trong khả năng phát hiện mã độc IoT Botnet tại giai đoạn kết nối, nhận lệnh từ C&C server và thực thi hành vi tấn cơng mạng [35, 43].
Đối với thơng tin chiếm dụng tài nguyên thiết bị, các dữ liệu khả nghi cĩ thể phát sinh ngay từ khi mã độc IoT Botnet tiến hành lây nhiễm vào thiết bị. Các dấu hiệu khả nghi cĩ thể nhận biết như tăng tỉ lệ sử dụng bộ vi xử lý, dung lượng bộ nhớ truy xuất ngẫu nhiên (RAM), truy xuất các tệp tin và thư mục trong hệ thống,… Tuy nhiên, khơng dễ dàng để phân biệt những dữ liệu khả nghi này với những hành vi chiếm dụng tài nguyên thiết bị của các chương trình lành tính khác [38, 44]. Ngồi ra, do đặc điểm hạn chế tài nguyên của thiết bị IoT, cho nên các mã độc IoT Botnet cũng được tối ưu hạn chế sử dụng các tài nguyên này. Vì vậy, những dữ liệu thơng tin chiếm dụng tài nguyên
này thường được sử dụng để kết hợp với các nguồn dữ liệu động khác để tăng khả năng phát hiện chính xác mã độc IoT Botnet.
Trong bài tốn phát hiện mã độc IoT Botnet, khi mà nguồn dữ liệu luồng mạng và thơng tin chiếm dụng tài nguyên thiết bị khơng đạt được được hiệu quả thì các nhà nghiên cứu phải sử dụng nguồn dữ liệu động là “lời gọi hệ thống” [36, 37, 73, 75, 103]. Một trong các sự kiện quan trọng cĩ thể theo dõi để xác định hành vi của mã độc trong phân tích động là các lời gọi hệ thống (System calls). Các lời gọi hệ thống cung cấp phương thức để một chương trình yêu cầu hệ điều hành thực hiện các tác vụ của chương trình [104]. Một system call được gọi theo nhiều cách khác nhau, tùy thuộc vào chức năng được cung cấp bởi bộ vi xử lý. Để thực hiện các hành vi độc hại, mã độc cần sử dụng các chức năng, dịch vụ từ hệ điều hành. Đối với bất kỳ hành động cĩ ý nghĩa độc hại nào, chẳng hạn như tạo thư mục mới, tải tệp thực thi mã độc, tạo tiến trình thực thi, ghi vào RAM hoặc mở kết nối mạng, cần phải tương tác với hệ điều hành (OS) thơng qua lời gọi hệ thống (System call). Do đĩ, để mơ tả đặc điểm hành vi của mã độc, điều quan trọng là phải theo dõi chuỗi các sự kiện lời gọi hệ thống trong quá trình thực thi mã độc. Các họ mã độc khác nhau cĩ các mục tiêu thực thi hành vi độc hại khác nhau, nhưng tất cả các mục tiêu này sẽ được tiết lộ bằng cách kiểm tra các dấu vết lời gọi hệ thống. Để cĩ thể sử dụng nguồn dữ liệu “lời gọi hệ thống” trong phát hiện mã độc IoT Botnet, các nhà nghiên cứu
Với những phân tích nêu trên, trong Chương 3 luận án sẽ đề xuất phương pháp tiền xử lý loại dữ liệu này áp dụng hiệu quả cho bài tốn phát hiện mã độc IoT Botnet.
3.1.2. Bài tốn xây dựng đặc trưng từ lời gọi hệ thống
Với nội dung đã được trình bày ở trên, hạn chế chính của các nghiên cứu sử dụng lời gọi hệ thống để phát hiện mã độc IoT nĩi chung và IoT Botnet nĩi riêng đã được phân tích ở trên bao gồm:
1) Các nghiên cứu sử dụng lời gọi hệ thống hầu hết mới chỉ quan tâm tới đặc trưng tần xuất xuất hiện lời gọi, chưa khai thác hiệu quả đặc trưng tuần tự của lời gọi hệ thống.
2) Các nghiên cứu sử dụng đồ thị trong xử lý chuỗi lời gọi hệ thống của mã độc tồn tại các nhược điểm như vector đặc trưng cĩ số chiều quá lớn, giá trị đặc trưng được
trích xuất từ đồ thị cịn phức tạp để thực hiện phân lớp hiệu quả, độ chính xác khi áp dụng chưa cao, cịn lệ thuộc vào kiến trúc vi xử lý và nền tảng hệ điều hành.
Như vậy, để giải quyết các hạn chế kể trên, bài tốn nghiên cứu của Chương này được phát biểu như sau:
- Cho E là tập hợp gồm n tập tin thực thi được đối với thiết bị IoT hạn chế tài nguyên, ký hiệu là E = {e1, e2, …, en} với �𝑣 cĩ thể là mã độc hoặc tệp lành tính.
- Cho � = {���ℎ������ , 𝑣ℎℎ��ℎ���ℎ��ℎ , 𝑣������� , 𝑣������ , 𝑣�ℎ����� , 𝑣������} là tập
hợp các đặc trưng trích xuất từ lời gọi hệ thống trong bài tốn phát hiện mã độc IoT Botnet, với mỗi đặc trưng trong tập F sẽ cho ra n đặc trưng tương ứng với mỗi 𝑣𝑣 � �, cụ
thể tồn tại một ánh xạ {�: � → �; � ↦� = 𝑣(𝑣)}. Ví dụ, với đặc trưng 𝑣��ℎ������ thì tồn tại tập giá trị đặc trưng ���ℎ������ (�) = {�1 ↦�ℎℎℎℎℎℎℎℎℎℎℎℎℎℎℎ1 , 𝑣2 ↦ 𝑣ℎℎℎℎℎℎℎℎℎℎℎℎℎℎℎ2 , … , 𝑣� ↦
���ℎ������ � }.
- Cần tìm ����� ∉�|∀�� ∈�, ∃𝑣𝑣 ↦ 𝑣𝑣𝑣𝑣𝑣� mà 𝑣𝑣 𝑣 𝑣 𝑣 hiệu quả hơn 𝑣𝑣 ∈ 𝑣, được
định lượng bằng các chỉ số đánh giá mơ hình học máy phổ biến trên cùng một tập dữ liệu tương đồng.
Để giải quyết bài tốn nghiên cứu kể trên, nghiên cứu sinh đề xuất đặc trưng đồ thị lời gọi hệ thống cĩ hướng (Directed System Call Graph - DSCG) để cấu trúc hố một cách tuần tự các lời gọi hệ thống thu được từ mơi trường V-Sandbox. Đặc trưng được đề xuất sẽ cĩ độ phức tạp thấp, dễ áp dụng với những thuật tốn học máy đơn giản. Tiếp theo, nghiên cứu sinh trình bày các nội dung mơ tả cụ thể về mơ hình tởng quan và phương pháp trích xuất đặc trưng từ đồ thị lời gọi hệ thống được đề xuất.
3.1.3. Sơ đờ và ý tưởng phương pháp đề xuất
Phương pháp đề xuất bao gồm bốn thành phần chính là: Thu thập lời gọi hệ thống (System Calls Collector - SCC), Sinh đồ thị lời gọi hệ thống cĩ hướng (Directed System Call Graph Generator - DSCGG), Tiền xử lý dữ liệu (Data Preprocessing - DP), Bộ phát hiện mã độc IoT Botnet dựa trên học máy (Machine Learning Detector - MLD). Kiến trúc của phương pháp đề xuất được minh họa như trong Hình 3.1. Quy trình hoạt động