Kỹ thuật tấn công phát tán mã độc thông qua người dùng rồi từ đó leo thang lên hệ thống ngày càng được nhiều kẻ tấn công ưu thích sử dụng. Do đó, để phát hiện mã độc thì hướng tiếp cận phát hiện mã độc dựa trên hành vi với sự hỗ trợ của các thuật toán học máy đã mang lại nhiều hiệu quả cao. Mặt khác, trong thực tế những kẻ tấn công thường tìm nhiều cách thức và kỹ thuật khác nhau nhằm che giấu hình vi của mã độc dựa trên Portable Executable File Format (PE File) của mã độc. Điều này đã gây ra nhiều khó khăn cho quá trình phát hiện mã độc của các hệ thống giám sát. Từ những lý do trên, trong bài báo này chúng tôi đề xuất phương pháp phát hiện mã độc dựa trên kỹ thuật phân tích tĩnh PE File sử dụng thuật toán học máy.
Nghiên cứu khoa học công nghệ chưa rõ không xóa Hƣớng tiếp cận phát mã độc dựa phân tích tĩnh kết hợp thuật tốn học máy Nguyen Duc Viet 1* PTIT, vietnd@ptit.edu.vn TÓM TẮT Kỹ thuật công phát tán mã độc thông qua người dùng từ leo thang lên hệ thống ngày nhiều kẻ cơng ưu thích sử dụng Do đó, để phát mã độc hướng tiếp cận phát mã độc dựa hành vi với hỗ trợ thuật toán học máy mang lại nhiều hiệu cao Mặt khác, thực tế kẻ cơng thường tìm nhiều cách thức kỹ thuật khác nhằm che giấu hình vi mã độc dựa Portable Executable File Format (PE File) mã độc Điều gây nhiều khó khăn cho trình phát mã độc hệ thống giám sát Từ lý trên, báo đề xuất phương pháp phát mã độc dựa kỹ thuật phân tích tĩnh PE File sử dụng thuật tốn học máy Từ khóa – Mã độc, phát mã độc, phân tích tĩnh, thuật toán học máy, hành vi bất thường MỞ ĐẦU Mã độc phần mềm thiết kế cách có chủ đích, dùng để gây thiệt hại tới máy tính cá nhân, máy chủ hệ thống mạng máy tính [1, 2] Mục đích mã độc thực thi hành vi bất hợp pháp như: truy cập trái phép, đánh cắp thông tin người dùng, lây lan thư rác, chí thực hành vi tống tiền, công gây tổn thương cho hệ thống máy tính… nhằm chuộc lợi cá nhân, lợi ích kinh tế, trị hay đơn giản chúng có tạo trị đùa ác ý [1] Trong nghiên cứu [1] liệt kê số loại mã độc phổ biến bao gồm: Virus, Worm, Trojan Horse, Malicious Mobie Code, Tracking Cookie, Attacker Tool, Phishing, Virus Hoax Theo thống kê [5] tình hình phát tán mã độc năm 2020 tăng 75% so với năm 2019 Điều hồn tồn hợp lý kẻ cơng trước thường tập trung công vào hệ thống thông tin ngày chúng thường chọn cách cơng vào người dùng chủ yếu Chính mã độc không tăng nhanh số lượng cơng mà cịn mức độ nguy hiểm chúng Trong nghiên cứu [2, 6, 7, 8] liệt kê số hướng tiếp cận để phát mã độc bao gồm phát dựa chữ ký phát dựa hành vi Đối với phương pháp phát dựa chữ ký phân tích tĩnh, phân tích mã nguồn mà khơng cần thực thi tệp tin [9] Một số kỹ thuật dùng phân tích tĩnh bao gồm [9]: Kiểm tra định dạng tệp; Trích xuất chuỗi; Lưu vết Đối với phương pháp phát dựa hành vi dựa phân tích động Phương pháp đánh giá đối tượng dựa hành vi Khi đối tượng cố gắng thực thi hành vi bất thường khơng cấp quyền biểu thị đối tượng độc hại đáng ngờ Có số hành vi coi nguy hiểm vơ hiệu hóa điều khiển bảo mật, cài đặt rootkits, autostart, sửa tệp tin, thiết lập kết nối đáng ngờ,… Mỗi hành vi khơng nguy hiểm kết hợp với làm tăng độ đáng ngờ đối tượng Có ngưỡng xác định sẵn, tệp tin vượt qua ngưỡng cảnh báo mã độc [10, 11, 12, 13] Phương pháp áp dụng để phát loại mã độc có khả thay đổi chữ ký (đa hình) loại mã độc (zero-day) Tuy nhiên, số loại mã độc có khả phát mơi trường ảo, khơng thực thi hành vi độc hại môi trường sandbox [13] Hơn nữa, thực tế, với lượng mã độc ngày gia tăng, phương pháp không thực hiệu trước loại mã độc Chính vậy, báo này, đề xuất phương pháp phát mã độc dựa kỹ thuật phân tích PE File [14] sử dụng thuật tốn học máy có giám sát bao gồm rừng ngẫu nhiên (Random forest -RF), máy học( Support Vector Machine- SVM) CÁC NGHIÊN CỨU LIÊN QUAN Tạp chí Nghiên cứu KH&CN quân sự, Số 32, 08 - 2014 chưa rõ khơng xóa Chưa rõ khơng xóa Vật lý kỹ thuật Dragos Gavrilut [10] đề xuất hệ thống phát mã độc dựa thuật toán perceptron cải tiến Với thuật tốn khác nhau, độ xác dao động khoảng 69.90% - 96.18% Tuy nhiên thuật tốn có độ xác cao có nhiều kết dương tính sai Thuật tốn cân đối có tỉ lệ dương tính sai thấp có độ xác 93.01% Singhal Raul thảo luận phương pháp phát dựa thuật toán RF cải tiến kết hợp với độ lợi thông tin (Information Gain) để biểu diễn đặc trưng tối ưu [11] Tập liệu tác giả sử dụng bao gồm tệp tin thực thi, việc trích chọn đặc trưng đơn giản Tỉ lệ phát 97% tỉ lệ dương tính sai 0.03 Baldangombo cộng giới thiệu phương pháp trích chọn đặc trưng dựa tiêu đề PE, thư viện DLL hàm chức API [12] Các thuật toán sử dụng bao gồm Naïve Bayes, Cây định J48, SVM Thuật tốn có kết tốt J48, với tỉ lệ xác lên tới 99% Alazab [13] đề xuất phương pháp sử dụng API để biểu diễn đặc trưng mã độc Thuật toán SVM cho kết tốt với tỉ lệ 97.6%, tỉ lệ dương tính sai 0.025 Kết đưa nghiên cứu không giống nhau, chưa có phương pháp thống việc phát biểu diễn đặc trưng Độ xác trường hợp phụ thuộc vào loại mã độc dùng để lấy mẫu trình chạy thực tế PHƢƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN PHÂN TÍCH TĨNH 3.1 Danh sách đặc trung bất thƣờng mã độc dựa phân tích tĩnh Trong nghiên cứu [14] trình bày chi tiết PE File Trong báo này, xem xét trích xuất số thuộc tính thể hành vi mã độc PE header sử dụng thư viện LEIF Bảng liệt kê 75 hành vi mã độc trích xuất dựa thành phần khác PE header T H Trung, “Tối ưu xạ môi trường nhiều người… WCDMA/HSDPA.” Nghiên cứu khoa học công nghệ chưa rõ khơng xóa STT Bảng Danh sách thuộc tính hành vi mã độc PE header Tên Mơ tả pe.has_configuration Chứa địa kích thước cấu hình tải pe.has_debug pe.has_exceptions Địa kích thước điểm bắt đầu debug tính xử lý ngoại lệ pe.has_exports pe.has_imports pe.has_nx pe.has_relocations Xuất ký tự đặc biệt Nhập ký tự đặc biệt vùng nhớ để sử dụng cách lưu trữ lệnh xử lý Địa kích thước bảng di dời sở pe.has_resources pe.has_rich_header Các tài nguyên lập mục Cấu trúc sau MZ DOS header 10 11 12 75 pe.has_signature pe.has_tls Chữ ký số lớp lưu trữ đặc biệt mà Windows hỗ trợ Hàm nằm 64 bit Entry IMAGE_OPTIONAL_HEADER chứa địa point ảnh sở 3.2 Thuật toán phân loại mã độc Trong báo này, sử dụng số thuật toán học máy học sâu nhằm phân loại tệp tin bình thường tệp tin độc hại Theo thuật tốn chúng tơi lựa chọn sử dụng gồm: RF, SVM Trong tài liệu [15, 16, 17, 18] mô tả chi tiết sở toán học nguyên tắc hoạt động thuật tốn Trong báo này, chúng tơi tiến hành áp dụng thuật toán nhiệm vụ phát mã độc Dựa kết thực nghiệm chúng tơi có sở để đánh giá hiệu thuật toán nhiệm vụ phát mã độc THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1 Bộ liệu kịch thực nghiệm 4.1.1 Bộ liệu thực nghiệm Trong báo này, sử dụng liệu mã độc file bình thường cung cấp [19] Cụ thể, liệu gồm 49128 ghi, có 24528 ghi mã độc 24602 ghi bình thường Các ghi mã độc ghi lựa chọn trích xuất thành trường thành phần liệt kê bảng 4.1.2 Kịch thử nghiệm a) Đối với liệu thực nghiệm Dựa liệu thực nghiệm thu thập mô tả mục 4.1.1, tiến hành trộn chia ngẫu nhiên, 80% số lượng ghi liệu sử dụng q trình training 20% cịn lại liệu dùng trình kiểm thử b) Đối với thuật tốn phân loại Chúng tơi sử dụng thuật toán khác để tiến hành thực nghiệm liệu trình bày Để đánh giá hiệu thuật toán, tiến hành thực nghiệm thuật toán với thay đổi tham số chúng Mục đích chúng tơi muốn đánh giá tìm thuật tốn hiệu tham số tối ưu thuật tốn Cụ thể tiến hành tinh chỉnh tham số thuật toán sau: - Đối với thuật tốn RF, chúng tơi tiến hành thực nghiệm đánh giá thuật tốn dựa thay Tạp chí Nghiên cứu KH&CN quân sự, Số 32, 08 - 2014 chưa rõ khơng xóa Chưa rõ khơng xóa Vật lý kỹ thuật 4.2 - - - - đổi số lượng định là: 20, 30, 50, 70, 100 Đối với thuật toán SVM tham số Kernel lụa chọn bao gồm: rbf, linear, sigmoid, polynomial Các phƣơng pháp đánh giá hệ thống Accuracy: tỉ lệ số điểm dự đoán tổng số điểm tập liệu kiểm thử Có thể tính cơng thức sau: Accuracy = (TP + TN) / (TP + TN + FP + FN) Recall: Recall định nghĩa tỉ lệ số điểm true positive số điểm thực positive Được tính cơng thức: Recall = TP / (TP + FN) Precision: Precision định nghĩa tỉ lệ số điểm true positive số điểm phân loại positive Được tính cơng thức: Precision = TP / (TP + FP) F1 Score: F1-score, harmonic mean precision recall (giả sử hai đại lượng khác khơng): Trong + True Positive (TP): Cả giá trị thực tế dự đoán Dương + True Negative (TN): Cả giá trị thực tế giá trị dự đoán Âm + False Positive (FP): Giá trị thực tế âm dự đoán giá trị dương + False Negative (FN): Giá trị thực tế dương dự đoán âm 4.3 Kết thực nghiệm a) Thuật toán Random Forest Bảng Kết thực nghiệm thuật toán RF Precision Recall F1_score 98.82 95.19 96.97 N_estimator 20 Accuracy 97.02 30 97.07 98.78 95.33 97.02 50 97.16 98.95 95.35 97.12 70 97.25 98.89 95.59 97.21 100 97.62 99.10 96.123 97.59 Từ kết thử nghiệm bảng 2, nhận thấy rằng, độ xác thuật tốn RF tăng dần số lượng định tăng lên Thuật toán cho kết phân loại tốt với tất độ với số lượng định 100 Qúa trình phân loại đạt kết tốt với Accuracy, Precision, Recall, F1_score 97.62; 99.10; 96.123; 97.59 định 100 Bên cạnh đó, kết phân loại file bình thường thuật toán đạt tương đối cao từ 98.82% đến 99.10% kết phân loại mã độc đạt từ 95.19 % đến 96.123% Kết tương đối tốt liệu thực nghiệm cân số lượng mã độc file bình thường Hình thể kết kiểm thử mô hình phát mã độc sử dụng thuật tốn RF với số lượng định 100 Hình Confusion Matrix Random Forest T H Trung, “Tối ưu xạ môi trường nhiều người… WCDMA/HSDPA.” Nghiên cứu khoa học cơng nghệ chưa rõ khơng xóa Từ hình thể thấy thuật tốn đốn sai 211 mã độc 42 file bình thường Kết chấp nhận mà liệu có số lượng lớn file độc bình thường b) Thuật tốn SVM Bảng thể kết phát mã độc sử dụng thuật toán SVM Bảng Kết thực nghiệm phát mã độc sử dụng thuật toán SVM Kernel C Accuracy F1_Score Recall Precision 93.40 93.40 93.40 93.46 10 95.47 95.47 95.48 95.51 RBF 100 95.77 95.78 95.78 95.78 LINEAR 87.06 87.06 87.07 87.14 92.45 92.45 92.45 92.45 POLYNOMIAL 10 95.13 95.12 95.13 95.15 49.56 49.56 49.56 49.56 SIGMOID 10 49.31 49.31 49.31 49.31 Các kết thực nghiệm bảng cho thấy với 486 thuộc tính file PE sử dụng thuật tốn SVM chúng tơi thu kết với độ xác 95,77% Dễ thấy với kernel mặc định thuật tốn – RBF (C=100.0) cho độ xác cao so với kernel lại Đối với kernel Sigmoid kết cho thấp ~50% Với kết thuật tốn SVM khơng thực phù hợp với liệu phát mã độc dựa file PF Bên cạnh với kernel mặc định thuật toán – RBF (C=100.0) cho độ xác cao so với kernel cịn lại Hình thể kết đánh giá q trình kiểm thử mơ hình với thuật tốn SVM với tham số RBF (C=100.0) Hình Confusion Matrix SVM với kernel RBF/C=100.0 Từ hình thấy kết với liệu kiểm thử sau: thuật toán dự đoán 4507 file mã độc, dự đốn sai 230 file bình thường thành file mã độc dự đoán thiếu 419 file mã độc Dựa kết thực nghiệm bảng chúng tơ nhận thấy thuật tốn RF mang lại hiệu cao so với thuật toán SVM KẾT LUẬN Trong báo này, dựa kỹ thuật phân tích PE File chúng tơi đề xuất số thuộc tính thể hành vi bất thường mã độc Các kết thực nghiệm bảng chứng minh số thuộc tính trích xuất PE File chúng tơi lựa chọn đề xuất mang lại hiệu tốt không với q phân loại xác file bình thường mà cịn với file mã độc Bên cạnh đó, dựa kết thực nghiệm thuật toán RF SVM với tham số khác chúng tơi chứng minh thuật tốn RF mang lại hiệu tốt mặt so với thuật toán SVM Đặc biệt liệu mã độc số lượng thuộc tính tương đối nhiều (75 thuộc tính) thuật tốn RF với số lượng định 100 mang lại hiệu tốt Trong tương lai, để nâng cao hiệu trình phát mã độc dựa kỹ thuật phân tích PE File cần cải thiện vấn đề bao gồm: i) trích xuất thêm thuộc tính mã độc dựa PE File Chúng nhận thấy rằng, PE File gồm nhiều thành phần khác Tạp chí Nghiên cứu KH&CN quân sự, Số 32, 08 - 2014 chưa rõ khơng xóa Chưa rõ khơng xóa Vật lý kỹ thuật có nhiều thành phần quan trọng kẻ phát triển mã độc lợi dụng để che giấu thông tin hành vi mã độc Chính việc phân tích chi tiết tổng qt hóa thuộc tính cải thiện đáng kể hiệu trình phát mã độc bối cảnh mã độc ngày phát số lượng hình thức phát tán ii) sử dụng thuật toán học máy tiên tiến khác: rõ ràng thuật toán học máy cổ điển mang lại hiệu tốt cho trình phân loại trước tình hình thực tế tăng nhanh số lượng hành vi mã độc số lượng liệu thực nghiệm cần phải có thuật tốn phân loại tiên tiến khác đảm bảo hiệu trình giám sát phát T H Trung, “Tối ưu xạ môi trường nhiều người… WCDMA/HSDPA.” Nghiên cứu khoa học cơng nghệ chưa rõ khơng xóa TÀI LIỆU THAM KHẢO [1] Daniel Gibert, Carles Mateu, Jordi Planes The rise of machine learning for detection and classification of malware: Research developments, trends and challenges Journal of Network and Computer Applications vol 153 2020 pp 1-22 [2] Ucci, Daniele & Aniello, Leonardo (2017) Survey on the Usage of Machine Learning Techniques for Malware Analysis Computers & Security 81 10.1016/j.cose.2018.11.001 [3] Sanjay Sharma, C Rama Krishna, Sanjay K Sahay Detection of Advanced Malware by Machine Learning Techniques arXiv:1903.02966 2019 [4] Alireza Souri, Rahil Hosseini A state-of-the-art survey of malware detection approaches using data mining techniques Human-centric Computing and Information Sciences 8(1):1-22 [5] [6] Kaspersky-Lab Machine Learning Methods for Malware Detection 2020 R Islam, R Tian, L M Batten, S Versteeg, Classification of malware based on integrated static and dynamic features, Journal of Network and Computer Applications 36 (2) (2013) 646–656 [7] C.-T Lin, N.-J Wang, H Xiao, C Eckert, Feature selection and extraction for malware classification, Journal of Information Science and Engineering 31 (3) (2015) 965–992 A Mohaisen, O Alrawi, M Mohaisen, Amal: High-fidelity, behaviorbased automated malware analysis and classification, computers & security 52 (2015) 251–266 [8] [9] [10] [11] [12] [13] S Palahan, D Babi´c, S Chaudhuri, D Kifer, Extraction of statistically significant malware behaviors, in: Computer Security Applications Conference, ACM, 2013, pp 69–78 Gavrilut, Dragos, Mihai Cimpoesu, Dan Anton, Liviu Ciortuz (2009) Malware Detection Using Machine Learning The International Multiconference on Computer Science and Information Technology Priyank Singhal, Nataasha Raul (2015) Malware Detection Module using Machine Learning Algorithms to Assist in Centralized Security in Enterprise Networks Baldangombo Usukhbayar, Nyamjav Jambaljav, Shi-Jinn Horng (2013) A Static Malware Detection System Using Data Mining Methods Cornell University [15] Alazab, Mamoun, Sitalakshmi Venkatraman, Paul Watters, and Moutaz Alazab (2011) Zero-day Malware Detection based on Supervised Learning Algorithms of API call Signatures Proceedings of the 9-th Australasian Data Mining Conference, 171-181 Nakajima, Tatsuo & Ishikawa, Hiroo & Kinebuchi, Yuki & Sugaya, Midori & Lei, Sun & Courbot, Alexandre & Zee, Andrej & Aalto, Aleksi & Duk, Kwon (2008) An Operating System Architecture for Future Information Appliances 292-303 10.1007/978-3-540-877851_26 C Corinna, V Vladimir Support-vector networks Machine Learning Vol 20, 1995, pp 273-297 [16] S.S Shai, B.D Shai Understanding Machine Learning: From Theory to Algorithms Cambridge University Press 2014 [17] JohnShawe-Taylor, ShiliangSun Kernel Methods and Support Vector Machines Academic Press Library in Signal Processing Vol 1, 2014, pp 857-881 [18] [19] LEO BREIMAN Random Forests Machine Learning vol 45, Issue 1, pp 5–32 2001 HOW TO CREATE A MALWARE DETECTION SYSTEM WITH https://www.evilsocket.net/2019/05/22/How-to-create-a-Malware-detection-system-with-MachineLearning/?fbclid=IwAR1vuaOJA3UryaQATPsqKErktLft2RtzzAB5kDvgOTo4U3dF4J-Op9teokQ [14] Tạp chí Nghiên cứu KH&CN quân sự, Số 32, 08 - 2014 chưa rõ khơng xóa MACHINE LEARNING