.5 Vòng đời của IoT Botnet

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 31)

1.3. Quy trình phát hiện mã độc IoT Botnet

1.3.1. Tổng quan

Mã độc IoT Botnet khơng chỉ lây lan trên thiết bị của người dùng cá nhân mà cịn nhắm vào các doanh nghiệp, tở chức và chính phủ với tính chất và mức độ ngày càng nghiêm trọng [21]. Thống kê của Kaspersky cho thấy đã cĩ hơn 100 triệu cuộc tấn cơng vào các thiết bị IoT trong nửa đầu năm 2019, tăng gấp 7 lần so với cùng kỳ năm 2018 [10]. Giải quyết các nguy cơ nĩi trên, các nhà nghiên cứu đã phát triển các phương pháp và mơ hình mới để phân tích và phát hiện hiệu quả các mẫu mã độc xuất hiện trên các thiết bị IoT. Các phương pháp và mơ hình cĩ những điểm khác biệt tạo nên điểm mới với từng ý tưởng đề xuất. Tuy nhiên, hầu hết các nghiên cứu này đều xoay quanh hai

phương pháp chính là phát hiện mã độHic dựa trên dữ liệu tĩnh (thường gọi là phân tích tĩnh – Static Analysis) và dựa trên dữ liệu động (phân tích động – Dynamic Analysis).

Phân tích tĩnh là phương pháp phân tích nội dung của mã nguồn mà khơng cần thực thi các tệp tin để phát hiện các dấu hiệu nghi vấn. Phân tích tĩnh phát hiện mã độc dựa trên những thơng tin trích xuất từ dữ liệu tĩnh. Dữ liệu tĩnh này là các dữ liệu tồn tại ngay trong bản thân mẫu mã độc, cĩ đặc điểm tồn tại độc lập, khách quan, khơng thay đởi đối với sự tác động của mơi trường thực thi. Các dữ liệu tĩnh này thường bao gồm: giá trị các bit trong tệp thực thi; metadata của chương trình; định dạng và dung lượng tệp thực thi; các chuỗi ký tự xuất hiện trong mã nguồn; mã nguồn dưới dạng Assembly,…

Để thu thập được các dữ liệu tĩnh này, một trong những kỹ thuật quan trọng là dịch ngược mã nguồn của tệp thực thi đầu vào để trích rút lấy các dữ liệu tĩnh. Dịch ngược mã nguồn (reverse engineering) là quá trình giải mã, đọc hiểu nội dung tệp thực thi đầu vào để tái hiện thiết kế của người lập trình. Kết quả của dịch ngược mã nguồn cĩ thể được trình bày dưới dạng ngơn ngữ lập trình (phở biến là Assembly), luồng điều khiển (Control Flow Graph – CFG) và luồng dữ liệu (Data Flow Graph – DFG). Các cơng cụ dịch ngược mã nguồn thường được sử dụng gồm IDA Pro, WinHex, Hiew,… Các cơng cụ dịch ngược mã nguồn ngày càng được phát triển nhiều khả năng mới để cĩ thể dễ dàng dịch ngược mã nhị phân của chương trình. Tuy nhiên, mã độc cũng được phát triển các kỹ thuật để chống lại các cơng cụ dịch ngược này (anti-reverse). Tiêu biểu cho các kỹ thuật này là làm rối mã nguồn chương trình (Obfuscated code) và đĩng gĩi phần mềm bằng các thuật tốn mã hĩa khác nhau (Packed code). Các kỹ thuật này gây khĩ khăn cho các chuyên gia khi cố gắng phân tích tĩnh bằng cách dịch ngược mã nguồn của tệp thực thi mã độc. Bên cạnh đĩ, việc đọc hiểu tồn bộ nội dung mã nguồn của mã độc cũng là một cơng việc khơng hề dễ dàng. Mặc dù cĩ thể tự động hĩa một phần cơng việc này với những thuật tốn học máy/học sâu nhưng các mơ hình phân tích vẫn cĩ độ phức tạp lớn, tiêu tốn nhiều tài nguyên và thời gian thực thi.

Áp dụng phương pháp phân tích tĩnh, tác giả Ngơ Quốc Dũng và các cộng sự [30] đã trình bày phương pháp phát hiện mã độc IoT Botnet dựa trên đồ thị PSI (Printable String Information) thu được từ dịch ngược mã nguồn tệp thực thi. Với các đặc trưng thu được, các tác giả sử dụng mạng nơ-ron tích chập (Convolutional Neural Network -

CNN) để phân loại, phát hiện mã độc IoT Botnet. Kết quả bằng thực nghiệm cho thấy phương pháp đề xuất cĩ độ chính xác cao trên tập thử nghiệm với F1-score là 98,6%. Tuy nhiên, hạn chế của phương pháp đề xuất là phụ thuộc vào khả năng trích xuất các chuỗi PSI từ tệp thực thi. Nếu các chuỗi PSI này được mã hĩa thì tỉ lệ phát hiện chính xác bị giảm đáng kể. Điều này cũng đã được đề cập đến trong luận án tiến sĩ “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” của tác giả Nguyễn Huy Trung.

Phân tích động là phương pháp giám sát, thu thập và phân loại các hành vi tương tác của mẫu được phân tích với hệ thống để phát hiện các hành vi độc hại [31]. Kỹ thuật này cho phép mã độc thực thi trong mơi trường cĩ chức năng giám sát hành vi, các tương tác của mẫu đối với mơi trường này được lưu trữ lại. Dựa trên các khảo sát của nghiên cứu sinh về các nghiên cứu trong và ngồi nước, các đặc trưng phục vụ phát hiện mã độc trên thiết bị IoT Botnet được trích xuất chủ yếu từ ba nhĩm dữ liệu chính gồm: hành vi mạng [32–35], lời gọi hệ thống (system-calls) [36, 37], tương tác với các tài nguyên của hệ thống [38] (được tởng hợp tại Bảng 1.3). Phân tích động cĩ ưu điểm sẽ loại bỏ được các kỹ thuật gây rối mã nguồn (Packed, Obfuscated,…) thường gặp trong phân tích tĩnh. Tuy nhiên, khĩ khăn khi thực hiện phân tích động là việc xây dựng mơi trường cho phép mã độc bộc lộ hồn tồn các hành vi và cĩ khả năng giám sát đầy đủ các hành vi đĩ. Ngồi ra, việc phân tích và phát hiện hành vi độc hại trong một lượng lớn dữ liệu hành vi thu thập được cũng là một thách thức cho các nhà nghiên cứu.

Áp dụng phương pháp phân tích động, tác giả Trần Nghi Phú và cộng sự [39] đã đề xuất quy trình phát hiện mã độc IoT Botnet trong các thiết bị IoT sử dụng kiến trúc MIPS dựa trên lời gọi hệ thống. Tác giả đã sử dụng C500-Sandbox để thu thập các lời gọi hệ thống và trích xuất các đặc trưng n-gram của các chuỗi này. Phương pháp đề xuất cho kết quả phát hiện với F1-score = 97,6% và ACC = 95,6%. Tuy nhiên, như trong bài báo đã trình bày, hạn chế của phương pháp đề xuất là cơng cụ C500-Sandbox chưa tạo được mơi trường thuận lợi để mã độc bộc lộ hết các hành vi độc hại. Bên cạnh đĩ, phương pháp chưa cĩ khả năng kết hợp nhiều loại dữ liệu hành vi thu thập được để phân tích cũng làm giảm khả năng phát hiện chính xác hành vi độc hại của mã độc.

Hình 1.6 So sánh quy trình phân tích tĩnh và phân tích động mã độc

Như đã phân tích ở trên, phân tích tĩnh và phân tích động đều cĩ những ưu điểm và nhược điểm nhất định. Trong Bảng 1.2 trình bày các ưu và nhược điểm của hai phương pháp phát hiện IoT Botnet kể trên.

Bảng 1.2 So sánh đặc điểm các phương pháp phát hiện mã độc IoT Botnet

Phương pháp

Đặc điểm Phân tích tĩnh Phân tích động

Ưu điểm

- Chi tiết hĩa tồn bộ luồng điều khiển (Control Flow Graph – CFG) và luồng dữ liệu (Data Flow Graph – DFG);

- Xác định đầy đủ các khả năng kích hoạt của mã thực thi;

- Xác định dễ dàng ảnh hưởng của mã thực thi với mơi trường mục tiêu; - Loại bỏ được kỹ thuật gây rối, đĩng gĩi mã nguồn,…

- Dễ dàng phân tích mã độc đa kiến trúc.

Nhược điểm

- Khĩ áp dụng với mã độc sử dụng các kỹ thuật gây rối (Obfuscation) hoặc khĩ thu thập mẫu mã thực thi;

- Khĩ xác định đầy đủ các khả năng kích hoạt của mã thực thi;

Phương pháp

Đặc điểm Phân tích tĩnh Phân tích động

- Phụ thuộc nhiều vào khả năng dịch ngược mã nguồn tệp thực thi; - Độ phức tạp lớn, cĩ sai sĩt khi dịch ngược và phân tích nội dung mã nguồn cho thiết bị đa kiến trúc vi xử lý.

- Phụ thuộc vào khả năng mơ phỏng mơi trường thực thi và giám sát hành vi của Sandbox;

- Cĩ nguy cơ lây nhiễm mã độc tới bên ngồi hệ thống phân tích;

Để đạt được mục tiêu của luận án là “nghiên cứu, xây dựng mơ hình học máy

nhằm nâng cao độ chính xác và giảm độ phức tạp trong phát hiện mã độc IoT Botnet trên các thiết bị IoT hạn chế tài nguyên”, nghiên cứu sinh thấy rằng với đầu vào là một

tệp thực thi cĩ tính đa kiến trúc thì cần lựa chọn phương pháp hiệu quả giải quyết vấn đề này. Vì vậy, nghiên cứu sinh lựa chọn phân tích động trong đề xuất hướng tiếp cận giải quyết mục tiêu nghiên cứu, trong đĩ luận án khai thác ưu điểm của phân tích động và khắc phục các nhược điểm của phương pháp này để kết hợp cùng với kỹ thuật học máy/học sâu phù hợp. Trong nội dung tiếp theo, luận án sẽ trình bày cụ thể ba bước trong quy trình phát hiện mã độc IoT Botnet với dữ liệu động bao gồm: Thu thập dữ liệu; Tiền xử lý dữ liệu; Phân tích và phát hiện.

1.3.2. Thu thập dữ liệu

Trong tồn bộ quy trình phát hiện mã độc, thu thập dữ liệu là bước quan trọng, ảnh hưởng lớn tới khả năng và độ chính xác của phương pháp/mơ hình đề xuất. Dữ liệu thu thập được phải mơ tả đầy đủ nhất về chức năng, mục đích của mã độc. Trên cơ sở này, các phương pháp tiền xử lý dữ liệu và phân tích dữ liệu được áp dụng để phát hiện chính xác các hành vi độc hại của mã độc. Cách thức thu thập dữ liệu là điểm khác biệt cơ bản giữa q trình phân tích tĩnh và phân tích động trong bài tốn phát hiện mã độc (như trong Hình 1.6).

Đối với quy trình phát hiện mã độc IoT Botnet mà nghiên cứu sinh lựa chọn (phân tích động), loại dữ liệu cần thu thập là dữ liệu động. Trong phát hiện mã độc nĩi chung, dữ liệu động là các dữ liệu được phát sinh trong quá trình mẫu mã độc thực thi. Các dữ liệu này chính là các tương tác của tệp thực thi đối với mơi trường xung quanh. Cụ thể, theo kết

quả khảo sát, cĩ 3 nhĩm dữ liệu động chính được thu thập bao gồm: Gĩi tin gửi và nhận trong hệ thống mạng [32–35]; Lời gọi hệ thống được mã độc kích hoạt [36, 37]; Các tương tác với tài nguyên của thiết bị mục tiêu [38]. Tĩm tắt về việc sử dụng các nhĩm dữ liệu này được trình bày tại Bảng 1.3.

Trong bài tốn phát hiện mã độc IoT Botnet, các nhà nghiên cứu đã sử dụng các loại dữ liệu động khác nhau để phân tích phát hiện. Các nghiên cứu này cĩ thể được phân chia thành hai loại chính gồm: phát hiện dựa trên dữ liệu từ luồng mạng (NIDS) và phát hiện dựa trên dữ liệu từ máy chủ (HIDS). Cụ thể:

- Tác giả Rohan Doshi và các cộng sự [32] trình bày mơ hình NIDS phát hiện các cuộc tấn cơng từ chối dịch vụ phân tán (DDoS) của mã độc IoT Botnet trong luồng mạng giữa các thiết bị IoT với các thuật tốn học máy phở biến như KNN, SVM, DT, RF. Mơ hình Rohan Doshi đề xuất cĩ độ chính xác trên tập thực nghiệm là ACC = 98%. Tác giả này đề xuất sử dụng các đặc trưng được trích xuất từ luồng mạng như: Packet size, Inter-packet Interval, Protocol, Bandwidth, IP destination address,…

- Tác giả Lê Kim Hùng và các cộng sự [40] trình bày mơ hình NIDS phát hiện các cuộc tấn cơng hướng tới các thiết bị IoT được đặt tên là IMIDS, sử dụng mạng neural tích chập (CNN) để phân loại các gĩi tin độc hại. Để thử nghiệm, tác giả sử dụng bộ dữ liệu các gĩi tin luồng mạng UNSW-NB15 [41] và CICIDS2017 [42] cho kết quả phát hiện tấn cơng mạng với độ chính xác trên 95%. Tuy nhiên, khả năng phân loại kiểu tấn cơng của mơ hình đề xuất chưa thực sự hiệu quả, cịn nhầm lẫn giữa các hình thức tấn cơng cơ bản như Backdoor với DDoS.

- Tác giả Alrashdi và các cộng sự [33] đề xuất sử dụng các đặc trưng từ bộ dữ liệu UNSW-NB15 [41] để xây dựng NIDS phát hiện hiệu quả mạng lưới IoT Botnet lây nhiễm trong các thiết bị tại thành phố thơng minh (Smart City). Tác giả đã áp dụng thuật tốn học máy Random Forest với 12 đặc trưng được lựa chọn từ UNSW-NB15 dataset cho kết quả phát hiện mã độc IoT Botnet cĩ độ chính xác ACC = 99,34%. Các đặc trưng trích xuất từ dữ liệu luồng mạng được tác giả lựa chọn gồm: srcip, dstip, dur, dsport, ct-dst-src-ltm, ct- rsv-dst, ct-dst-ltm, ct-srcltm, ct-src-dport-ltm, dbytes, proto, is-ftp-login.

- Tác giả Prokofiev và các cộng sự [34] đã xây dựng mơ hình NIDS sử dụng thuật tốn học máy Logistic Regression để phát hiện mã độc IoT Botnet với độ chính xác ACC = 97,3%. Các đặc trưng từ luồng mạng được Prokofiev lựa chọn bao gồm: destination port,

source ports, number of requests, even number of requests, mean interval between requests, requests on other ports, mean size of packets, delta for packet size, mean entropy of packets, alphanumeric.

- Tác giả Wu và các cộng sự [35] đề xuất mơ hình học máy phát hiện mã độc IoT Botnet (cĩ ACC = 90%) với các đặc trưng được trích xuất từ chuỗi các lệnh điều khiển của C&C Server cĩ thể đọc hiểu trong các gĩi tin mạng. Các chuỗi lệnh này được thu thập thơng qua hệ thống Honeypot IoTPOT [43] dưới phương thức giám sát các cởng điều khiển từ xa như Telnet, SSH,…

- Tác giả Breitenbacher và các cộng sự [36] trình bày mơ hình HIDS phục vụ phát hiện mã độc IoT Botnet dựa trên các đặc trưng từ lời gọi hệ thống. Các đặc trưng mà Hades- IoT IDS sử dụng bao gồm tên lời gọi, địa chỉ thanh nhớ và tham số của các lời gọi hệ thống.

- Tác giả Massimo Ficco và các cộng sự [37] tiến thành thu thập các chuỗi lời gọi hệ thống để phục vụ xây dựng mơ hình học máy phát hiện mã độc IoT Botnet với chuỗi Markov. Mơ hình tác giả đề xuất cĩ độ chính xác là 89%.

- Tác giả Amin Azmoodeh và các cộng sự [38] đề xuất sử dụng mơ hình học máy phát hiện mã độc IoT Botnet dựa trên dữ liệu giám sát tiêu thụ điện năng của các thiết bị IoT. Thuật tốn KNN được áp dụng cho xây dựng mơ hình phát hiện với độ chính xác 95,65%.

- Tương tự, tác giả Woosub Jung và cộng sự [44] cũng trình bày mơ hình phát hiện mã độc IoT Botnet dựa trên dữ liệu giám sát điện năng tiêu thụ của thiết bị. Tác giả thu thập dữ liệu tiêu thụ điện năng thơng qua việc sử dụng thiết bị giám sát điện năng Monsoon để theo dõi máy tính nhúng Raspberry Pi. Thuật tốn học sâu CNN được áp dụng với độ chính xác 96,5%.

- Tác giả Shabtai và cộng sự [45] đã trình bày phương pháp phát hiện mã độc dựa trên các dữ liệu sử dụng tài nguyên hệ thống bao gồm: mức chiếm dụng bộ vi xử lý CPU, số tiến trình đang chạy trong hệ thống, mức tiêu hao nguồn năng lượng của thiết bị, dung lượng bộ nhớ RAM được yêu cầu, các thay đởi về tệp và thư mục trong hệ thống, biến động giá trị các thanh ghi (registers) CPU,… Mơ hình tác giả đề xuất cĩ độ chính xác 91,22% với bộ phân loại dựa trên thuật tốn học máy Nạve Bayes.

Bảng 1.3 Các nguồn dữ liệu động được thu thập cho phát hiện mã độc IoT Botnet cho phát hiện mã độc IoT Botnet

Tác giả Dữ liệu động được thu thập Thuật tốn học máy áp dụng Độ chính xác (ACC) Bộ dữ liệu thử nghiệm Doshi [32] Luồng mạng

Random Forest 99,80% Tự thu thập

Alrashdi [33] Random Forest 99,34% UNSW-NB15

Prokofiev [34] Logistic Regression 97,30% Tự thu thập

Wu [35] N-gram 90% IoTPOT

Breitenbacher [36]

Lời gọi hệ thống

Rule-base ≈100% Tự thu thập

Ficco [37] Markov chain

behavioral model

89% Tự thu thập

Azmoodeh [38] Thơng tin chiếm dụng tài nguyên của thiết bị mục

tiêu

KNN 95,65% Tự thu thập

Jung [44] CNN 90% Tự thu thập

Shabtai [45] Nạve Bayes 91,22% Tự thu thập

Từ các nội dung đã khảo sát cho thấy, các nghiên cứu về phát hiện mã độc IoT Botnet trên thế giới tập trung vào thu thập ba loại dữ liệu động chính gồm: lời gọi hệ thống (system calls), các gĩi tin được trao đởi qua mạng (network traffic) và thơng tin chiếm dụng tài nguyên của thiết bị mục tiêu (host performance). Các dữ liệu động này cĩ thể được thu thập thơng qua việc giám sát mơi trường thực thi mã độc. Mơi trường thực thi này cĩ thể là mơi trường thực tế được xây dựng dựa trên nền tảng hạ tầng phần cứng thật như giải pháp

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 31)

Tải bản đầy đủ (PDF)

(139 trang)