Sự xuất hiện của ngày càng nhiều biến thể và kỹ thuật che giấu tinh vi của mã độc đã đặt ra thách thức lớn cho các hệ thống phát hiện. Có hai phương pháp phát hiện mã độc thường sử dụng: phương pháp dựa trên dấu hiệu và phương pháp dựa trên hành vi. Phương pháp dựa trên dấu hiệu cho tốc độ và hiệu quả cao nhưng dễ bị né tránh. Trong khi đó, phương pháp dựa trên hành vi có khả năng phát hiện tốt hơn nhưng thường tốn thời gian hơn.
Gần đây, công nghệ học máy và học sâu đã được áp dụng để cải thiện khả năng phát hiện mã độc mới và phức tạp. Trong đó, quy trình trích xuất thuộc tính đóng vai trò quan trọng trong việc xây dựng các mô hình học máy hiệu quả. Cả mẫu lành tính và mẫu độc hại đều được phân tích bằng các kỹ thuật tĩnh và động, từ đó, các thuộc tính riêng biệt được trích xuất để xác định các tệp độc hại khỏi các tệp lành tính. Phân tích tĩnh bao gồm việc xem xét kỹ lưỡng mã và cấu trúc của mã độc mà không cần thực thi, trong khi các kỹ thuật phân tích động thường đòi hỏi phải thực thi mã độc hại trong môi trường ảo hóa để trích xuất thông tin như API được gọi, hành vi được thể hiện, tệp mới tạo và giá trị Registry đã thay đổi.
Tuy nhiên, sự phát triển của mã độc với nhiều kỹ thuật che giấu để tránh bị phát hiện đã khiến các phương pháp phân tích trở nên kém hiệu quả. Bài viết giới thiệu một phương pháp mới giúp vượt qua các cơ chế chống mô phỏng, buộc phần mềm độc hại thực hiện hành vi thực tế trong bộ nhớ, từ đó nâng cao khả năng trích xuất thuộc tính có giá trị.
Phương pháp phát hiện mã độc dựa trên việc vượt qua các cơ chế chống mô phỏng BAE-MD được đề xuất trong [1]. Như minh họa trong Hình 1, BAE đóng vai trò chính trong nền tảng BAE-MD, được thiết kế để vượt qua cơ chế chống mô phỏng củamã độc, bao gồm giám sát các lệnh gọi API và xác định thời gian thực thi để xác định các đặc điểm của môi trường mô phỏng. Khi mã độc thực thi hành vi thực tế trong bộ nhớ, các thuộc tính có giá trị sẽ có thể được trích xuất. Thành phần thứ hai trong framework là bộ trích xuất thuộc tính (Feature Extractor) sử dụng kỹ thuật phân tích tĩnh với các tập luật Yara để trích xuất các thuộc tính từ các tệp bộ nhớ. Cuối cùng, một mô-đun phát hiện dựa trên học máy để phát hiện mã độc.
Hình 1. Nền tảng BAE-MD
Framework Qiling [2], một nền tảng mô phỏng tệp nhị phân được xây dựng dựa trên Unicorn Engine [3], được lựa chọn làm công cụ mô phỏng để phân tích. Qiling đóng vai trò là một nền tảng cấp cao tận dụng Unicorn để mô phỏng các lệnh CPU đồng thời quản lý các tương tác của hệ điều hành, cho phép thực thi các tệp nhị phân mà không phụ thuộc vào hệ điều hành gốc của chúng. Qiling hỗ trợ nhiều định dạng thực thi khác nhau bao gồm PE, Mach-O, ELF và kết hợp các trình liên kết động để tải và thiết lập lại vị trí các thư viện dùng chung, cũng như trình xử lý syscall và I/O. Unicorn cung cấp trình mô phỏng CPU có thể lập trình và khi một chương trình thực hiện lệnh gọi hệ thống, Qiling sẽ cố gắng sao chép hành vi tương ứng của hệ điều hành máy chủ (như Windows hoặc Linux). Phương pháp BAE bao gồm ba bước như sau:
Bước 1. Thực thi chương trình. BAE bắt đầu bằng cách gửi các mẫu nhị phân đến nền tảng Qiling để thực thi. Sau đó, Qiling sử dụng các khả năng của Unicorn Engine để mô phỏng quá trình thực thi các mẫu nhị phân này. Qiling quản lý quá trình thực thi và tương tác với Unicorn Engine để biên dịch các lệnh nhị phân. Quá trình này bao gồm việc phân tích và thực thi lần lượt từng dòng lệnh, từ đó cung cấp khả năng can thiệp vào các bước này để vượt qua các cơ chế chống mô phỏng được phần mềm độc hại sử dụng.
Bước 2. Vượt qua. Đây là bước quan trọng trong phương pháp BAE. Các nhà phát triển phần mềm độc hại thường triển khai nhiều kỹ thuật khác nhau để xác định thời điểm mã độc được thực thi trong môi trường mô phỏng. Khi tìm thấy môi trường, phần mềm độc hại sẽ che giấu hành vi thực tế dẫn đến kết quả phân tích sai. Bước này mục đích vượt qua hai kỹ thuật điển hình mà mã độc sử dụng để xác định môi trường mô phỏng, cụ thể là giám sát các lệnh gọi API và đo thời gian thực thi.
- Vượt qua các lệnh gọi API: Việc phần mềm độc hại sử dụng các lệnh gọi API đến các hàm cụ thể như GetWindowContextHelpId(), ImageListAdd(), CoReleaseMarshalData(), CreateEventA(), SetClassLongA() và wgetmainargs() để nhận biết đặc điểm của môi trường mô phỏng. Để tránh các API này, các kỹ thuật API hooking được sử dụng để chặn và sửa đổi các lệnh gọi API do mã độc thực hiện. Vì hành vi của một số hàm nhất định đã bị thay đổi, nên mã độc sẽ bị lừa tin rằng đang tương tác với một hệ thống thực. Như đoạn mã dưới, API GetWindowContextHelpId() đã được thực hiện hooking.
- Vượt qua việc đo thời gian thực thi: Các trình mô phỏng và ảo hóa thường có thời gian thực thi mã chậm hơn so với khi thực thi trong môi trường thực. Do đó, mã độc có thể sử dụng các kỹ thuật dựa trên thời gian để đo thời gian thực thi của một số hoạt động nhất định để xác định xem có đang chạy trong môi trường bị kiểm soát hay không. Để vượt qua kỹ thuật này với Qiling, đoạn mã dưới thực hiện sửa đổi mã lệnh thực thi của chương trình.
Bước 3. Dump tiến trình. Khi mã độc thực sự được thực thi trên bộ nhớ trong môi trường được kiểm soát, tiến trình bộ nhớ sẽ được dump để trích xuất thuộc tính (ghi lại nội dung của không gian bộ nhớ của một tiến trình tại một thời điểm cụ thể). Việc dump bộ nhớ có thể cung cấp thông tin chi tiết về hành vi của một chương trình đang chạy.
Tệp bộ nhớ sau khi được dump từ bộ nhớ sẽ được sử dụng để trích xuất thuộc tính bằng kỹ thuật phân tích tĩnh. Trong nghiên cứu này, các tập luật Yara [4] được sử dụng để trích xuất các đặc trưng của mã độc. Tập lệnh bên dưới là một ví dụ về một luật của Yara (có 62 luật tương ứng với 62 thuộc tính sẽ được trính xuất với giá trị là 0 hoặc 1).
Các thuộc tính sau khi được trích xuất sẽ được sử dụng cho mô hình học máy để phân loại mã độc hay lành tính. Ba mô hình học máy khác nhau được sử dụng bao gồm XGBoost, Random Forest và KNN.
Bảng 1. Hiệu suất của BAE khi so sánh với SAP và DAC
Nền tảng BAE-MD là giải pháp đầu cuối được thiết kế để tự động xác định mã độc. Giải pháp này có thể được tích hợp liền mạch vào các hệ thống phát hiện mã độc, giúp tăng cường khả năng phát hiện của hệ thống, đặc biệt là đối với mã độc sử dụng các kỹ thuật che giấu.
Để kiểm nghiệm giải pháp, nhóm tác giả đã đánh giá giải pháp phát hiện mã độc dựa trên BAE-MD, dựa trên một tập dữ liệu phần mềm độc hại. Hiệu suất của BAE-MD được so sánh với các nền tảng phát hiện mã độc khác sử dụng phân tích tĩnh trên các tệp PE (Static Analysis on PE - SAP) và phân tích động trên Cuckoo Sandbox (Dynamic Analysis on Cuckoo Sandbox - DAC) với cùng một bộ dữ liệu mã độc và mô hình học máy bằng thuật toán Random Forest. Sau đó, BAE sẽ được đánh giá trên ba mô hình học máy khác nhau là Random Forest, XGBoost và KNN.
Kết quả trên cho thấy phương pháp BAE cho kết quả tốt hơn hai phương pháp còn lại khi sử dụng thuật toán Random Forest trên tất cả các thông số. Đồng thời, cũng cho thấy việc phân tích mã độc trong quá trình thực thi trong môi trường động, như DAC và Qiling với BAE có thể khám phá nhiều đặc điểm hơn là chỉ sử dụng các tệp PE. Phương pháp BAE với chức năng vượt qua các lệnh gọi API giám sát và vượt qua việc đo thời gian thực thi buộc mã độc thực thi thực sự trong môi trường được kiểm soát đã cho thấy tính khả thi và hiệu quả cao.
Bảng 2. Hiệu suất của BAE với ba thuật toán học máy khác nhau
Ngoài ra, Bảng 2 cũng đã cho thấy tính hiệu quả của phương pháp BAE trên các mô hình học máy khác nhau.
Bài viết này đã giới thiệu về giải pháp phát hiện mã độc dựa trên phương pháp vượt qua cơ chế chống mô phỏng BAE-MD hiệu quả trong việc phát hiện mã độc bị che giấu. Bằng cách tránh các cơ chế chống mô phỏng của mã độc trong môi trường động, BAE-MD cho phép giải mã và giải nén mã độc trực tiếp vào bộ nhớ. Điều này có thể tạo điều kiện thuận lợi để có được các thuộc tính có giá trị cho các phương pháp phát hiện mã độc dựa trên học máy. Các thí nghiệm đã chứng minh rằng BAE-MD vượt trội hơn các phương pháp hiện có về độ chính xác và tính hiệu quả.
TÀI LIỆU THAM KHẢO [1]. Van Loi Cao, Dinh Dai Nguyen, “Bypassing Anti-Emulation Methods For Malware Detection”, Journal of Computer Science and Cybernetics, V.40, N.3 (2024), 233-248, 2024. [2]. Qiling framework. https://github.com/qilingframework/qiling,2021. [3]. https://github.com/unicorn-engine/unicorn,2021. [4]. https://github.com/Yara-Rules/rules/blob/master/capabilities/capabilities.yar. |
KS. Nguyễn Đình Đại, ThS. Hoàng Thu Phương (Viện Khoa học - Công nghệ mật mã, Ban Cơ yếu Chính phủ)
15:00 | 26/01/2025
14:00 | 11/09/2024
10:00 | 06/02/2025
13:00 | 18/11/2024
Đứng trước thách thức về các mối đe dọa nâng cao, khái niệm về “chuỗi tiêu diệt” được sử dụng để phòng, chống các mối đe dọa này. Phần 2 của bài báo tập trung trình bày về các biện pháp phát hiện, bảo vệ hệ thống khỏi tấn công APT, khai thác lỗ hổng Zero-day và tấn công chuỗi cung ứng.
09:00 | 17/09/2024
Hệ thống TETRA được sử dụng rộng rãi cho các hệ thống thông tin chuyên dùng như cảnh sát, cứu hỏa, dịch vụ khẩn cấp, dịch vụ an ninh thậm chí là quân đội [1]. Tuy nhiên với sự phát triển của công nghệ di động mạng tổ ong công cộng (GSM, 3G, 4G, 5G), nhiều ý kiến cho rằng nhiều người dùng TETRA có thể sẽ chuyển sang sử dụng hệ thống công cộng. Bài báo này phân tích những yêu cầu chặt chẽ của TETRA và những ưu điểm nó với hệ thống truyền thông công cộng, từ đó có cái nhìn tổng thể hơn về xây dựng hệ thống liên lạc chuyên dùng với TETRA.
17:00 | 30/08/2024
Xu hướng sử dụng mạng botnet để thực hiện tấn công DDoS của tin tặc ngày càng tăng cao, dẫn đến lưu lượng truy cập vào trang web tăng đột ngột và làm cho server bị quá tải, gây ra những tổn thất nặng nề cho các doanh nghiệp. Trong bài viết này, tác giả sẽ đưa ra những điểm yếu, lỗ hổng tồn tại trên máy tính của các cơ quan, tổ chức tại Việt Nam dễ bị tin tặc tấn công. Qua đó cũng đề xuất một số khuyến nghị nâng cao cảnh giác góp phần cho công tác phòng chống phần mềm độc hại và chia sẻ dữ liệu mã độc.
13:00 | 17/06/2024
Để tăng cường tính bảo mật và khắc phục các lỗ hổng, Microsoft thường phát hành định kỳ những bản cập nhật dành cho Windows, trong đó có các bản vá Patch Tuesday hàng tháng. Việc nắm bắt các bản vá này rất quan trọng để chủ động phòng tránh trước các mối đe dọa mạng. Bài viết này đưa ra quy trình cập nhật bản vá bảo mật Windows trên các máy trạm dành cho người dùng cuối, việc thực hiện cập nhật trên máy chủ Windows Server thực hiện tương tự.
Trong bối cảnh chuyển đổi số và ứng dụng rộng rãi của công nghệ thông tin (CNTT) thì xu hướng kết nối liên mạng để chia sẻ cơ sở dữ liệu (CSDL) trở nên tất yếu. Các hệ thống công nghệ vận hành (Operational Technology - OT) cũng không nằm ngoài xu hướng này, quá trình đó được gọi là Hội tụ IT/OT. Do vậy, nhu cầu truyền dữ liệu một chiều giữa các mạng độc lập ngày càng tăng để phục vụ cho mục đích khai thác dữ liệu. Bài viết này giới thiệu một giải pháp mới dựa trên công nghệ vi mạch tích hợp khả trình (Field-Programmable Gate Array - FPGA), sử dụng cơ chế xử lý đa luồng tốc độ cao, giúp duy trì băng thông hệ thống mà không gây ra tình trạng treo hoặc nghẽn mạng, cho phép các kết nối yêu cầu thời gian thực. Đồng thời, bài viết cũng sẽ trình bày giải pháp giả lập giao thức TCP/IP hỗ trợ cho các giao thức truyền thông trong các hệ thống mạng điều khiển IT/OT.
09:00 | 06/01/2025
Cuộc tấn công nhằm vào sàn giao dịch Bybit lấy đi số tiền mã hóa trị giá 1,46 tỷ USD khai thác mắt xích yếu nhất trong bảo mật: con người.
14:00 | 19/03/2025