Trong bài báo này, dựa vào cấu trúc phần Portable Executable header của các tập tin Portable Executable để đề xuất một hướng tiếp cận khác trong việc sử dụng Machine learning để phân loại các tập tin này, là tập tin mã độc hay tập tin lành tính. Kết quả thực nghiệm cho thấy, tiếp cận đề xuất vẫn sử dụng thuật toán Random Forest cho bài toán phân loại nhưng độ chính xác và thời gian thực thi được cải thiện so với một số công bố gần đây (độ chính xác đạt 99.71%).
N.K.Tuấn, N.H.Hà, T.T.T.Ngun / Tạp chí Khoa học Cơng nghệ Đại học Duy Tân 5(48) (2021) 8-13 5(48) (2021) 8-13 Phát malware dựa header tập tin Portable Executable sử dụng Machine Learning Malware detection based on Portable Executable file header using Machine Learning Nguyễn Kim Tuấna,b*, Nguyễn Hoàng Hàc, Trần Trương Thiện Nguyêna,b Nguyen Kim Tuana,b*, Nguyen Hoang Hac, Tran Truong Thien Nguyena,b Khoa Công nghệ thơng tin, Trường Khoa học máy tính, Đại học Duy Tân, Đà Nẵng, Việt Nam Faculty of Information Technology, School of Computer Sciences, Duy Tan University, 55000, Da Nang, Vietnam b Viện Nghiên cứu Phát triển Công nghệ Cao, Ðại học Duy Tân, Ðà Nẵng, Việt Nam b Institute of Research and Development, Duy Tan University, Da Nang, 550000, Vietnam c Trường Đại học Khoa học, Đại học Huế, Việt Nam c University Sciences, Hue University, Vietnam a a (Ngày nhận bài: 18/5/2021, ngày phản biện xong: 02/6/2021, ngày chấp nhận đăng: 30/9/2021) Tóm tắt Trong báo này, dựa vào cấu trúc phần Portable Executable header tập tin Portable Executable để đề xuất hướng tiếp cận khác việc sử dụng Machine learning để phân loại tập tin này, tập tin mã độc hay tập tin lành tính Kết thực nghiệm cho thấy, tiếp cận đề xuất sử dụng thuật toán Random Forest cho toán phân loại độ xác thời gian thực thi cải thiện so với số công bố gần (độ xác đạt 99.71%) Từ khóa: Tập tin PE; Trường; Đặc trưng; Mã độc; Thuật toán Random Forest; Abstract In this paper, we rely on the Portable Executable header structure of Portable Executable files to propose another approach in using Machine learning to classify these files, as malware files or benign files Experimental results show that the proposed approach still uses Random Forest algorithm for the classification problem but the accuracy and execution time are improved compared to some recent publications (accuracy reaches 99.71%) Keywords: PE header, Field; Feature, Malware, Random Forest Algorithm Giới thiệu Trong năm trở lại đây, mã độc (malware) trở thành mối đe dọa đáng kể vấn đề bảo mật khơng gian mạng * Malware tồn thiết bị đầu cuối, truyền đường truyền mạng đính kèm/ẩn tập tin thực thi, đặc biệt tập tin Portable Corresponding Author: Nguyen Kim Tuan; Faculty of Information Technology, School of Computer Sciences, Duy Tan University, 55000, Da Nang; Institute of Research and Development, Duy Tan University, Da Nang, 550000, Vietnam Email: nguyenkimtuan@duytan.edu.vn N.K.Tuấn, N.H.Hà, T.T.T.Ngun / Tạp chí Khoa học Cơng nghệ Đại học Duy Tân 5(48) (2021) 8-13 Executable (PE) hệ điều hành Windows Hiện có kỹ thuật sử dụng để phát malware [6]: i) Kỹ thuật dựa chữ ký (Signature based detection) cho độ xác cao gặp nhiều khó khăn trước đa dạng khả biến hình loại malware nay; ii) Kỹ thuật không dựa chữ ký (Non-signature based detection) giải khó khăn này, thường sử dụng để phát loại malware “chưa biết đến” (unknown), loại malware có khả biến dạng cao xuất gần đây… Kỹ thuật (ii) giúp việc phân loại, phát malware đạt hiệu cao triển khai theo hướng tiếp cận Machine learning Tập tin PE tập tin hoạt động môi trường hệ điều hành Windows, tập tin thực thi (executable files) tập tin chứa mã nhị phân sử dụng tập tin thực thi khác Vùng thông tin định dạng (format information) tập tin PE [1] chứa thông tin cần thiết mà hệ điều hành sử dụng để điều khiển việc thực thi tập tin chúng nạp vào main memory (bộ nhớ chính) Tất tập tin PE có cấu trúc số lượng field (trường) PE header, nên trích xuất trường này, để làm tập đặc trưng (feature) đầu vào cho q trình xây dựng mơ hình phân loại malware tập tin theo cách sử dụng thuật toán Machine learning Chúng ta biết, thông tin chứa PE header tập tin PE lành tính (benign) dạng chuẩn hóa hệ điều hành Windows Nếu tập tin PE mà liệu chứa trường PE header có “sai khác” so với tập tin PE lành tính nhiều khả tập tin malware Như vậy, phân loại tập tin PE, tập tin malware hay tập tin lành tính, cách xem xét liệu chứa trường PE header Vì số lượng trường PE header lớn, liệu trường lại có quan hệ với nhau, hầu hết trường bị làm “sai khác”, mức độ khác nhau, nên toán phát malware cần tiếp cận theo hướng sử dụng thuật toán Machine learning đạt độ xác cao [1], [2], [4], [5], [6] Chúng ta thu thập lượng lớn mẫu PE header tập tin lành tính tập tin malware, sau trích xuất đặc trưng trường, so sánh để tìm khác biệt đáng kể tập tin lành tính tập tin malware, làm sở cho việc phân loại sau Đây hướng tiếp cận mà thực nghiệm đề xuất bào Các nghiên cứu liên quan Hiện có nhiều hướng tiếp cận cho toán phân loại malware sử dụng kỹ thuật Machine learning [7-9] Trong phần này, điểm lại kết quả, độ xác, tỉ lệ phát tốc độ huấn luyện, mà số tiếp cận công bố gần đạt Trong [5], Rushabh Vyah cộng đề xuất quy trình phát malware tập tin PE mơi trường mạng Họ áp dụng thuật tốn học có giám sát khác nhau, Decision Tree, K-NN, SVMs Random Forest, tập liệu, với 28 đặc trưng (feature) tĩnh Random Forest mô hình mà Vyas chọn, đạt tỉ lệ phát malware backdoor, virus, trojan worn - trung bình 98.7%, tỷ lệ phát dương tính 1.8% Tiếp cận đề xuất Hellal Lotfi Ben Romdhane [2] kết hợp kỹ thuật, phân tích tĩnh khai phá đồ thị (static analysis – graph mining) Họ đề xuất thuật toán tự động trích xuất mẫu hành vi malware có tính phổ biến khác biệt, lặp lại, từ tập tin nghi ngờ Đề xuất quan tâm đến việc tiết kiệm dung lượng 10 N.K.Tuấn, N.H.Hà, T.T.T.Ngun / Tạp chí Khoa học Cơng nghệ Đại học Duy Tân 5(48) (2021) 8-13 nhớ giảm thời gian quét cách tạo lượng chữ ký (signature) hạn chế, điều không phương pháp có Tiếp cận [2] đạt tỷ lệ nhận dạng cao tỷ lệ dương tính giả thấp với độ xác 92% Jinrong Bai cộng đề xuất hướng tiếp cận cho việc phát malware tập tin PE cách khai phá thông tin định dạng tập tin [1] Kỹ thuật “in-depth analysis” nhóm tác giả chọn để phân tích vùng thơng tin định dạng tập tin PE Đầu tiên, họ cho trích xuất 197 đặc trưng từ vùng thông tin định dạng này, sau thực việc chọn đặc trưng để giảm số lượng xuống 19 20 đặc trưng Tập đặc trưng chọn training thuật toán phân lớp J48, Random Forest, Bagging Adaboost Kết thực nghiệm cho thấy, tiếp cận đạt độ xác cao nhất, 99.1%, thuật tốn phân loại Random Forest Yibin Liao khai thác cấu trúc tập tin PE theo hướng tiếp cận khác [4] Ơng trích xuất đặc trưng trường header, so sánh để tìm khác biệt có ý nghĩa tập tin malware tập tin lành tính Và trích xuất icon tập tin PE để tìm icon phổ biến (prevalent) nhất, có tính lừa bịp (misleading) từ tập tin malware Yibin Liao thực nghiệm tiếp cận đề xuất tập liệu có 6875 mẫu, gồm 5598 mẫu header tệp tin độc hại 1237 mẫu header tệp tin thực thi lành tính Kết cho thấy tiếp cận đạt tỷ lệ phát 99% với 0,2% dương tính giả vịng chưa đầy 20 phút Theo tác giả, phát malware cách xem xét vài đặc trưng/trường PE header tập tin PE xem xét prevalent icon, misleading icon nhúng tập tin Điều giúp rút ngắn thời gian phát malware tập tin PE Hiện chưa tìm thấy phương pháp, cách tiếp cận hay mơ hình cho chung nhất, tối ưu để phát phân loại malware sử dụng Machine learning đạt độ xác cao Vì thế, chúng tơi đề xuất cách tiếp cận khác, là, tập trung vào trường có ảnh hưởng cao phần PE header tập tin PE, đóng góp nhỏ cho hướng nghiên cứu Tiếp cận đề xuất Tiếp cận thực nghiệm tập liệu (dataset) lớn, gồm 140.297 mẫu PE header tập tin PE, có 44.214 mẫu malware 96.083 mẫu lành tính Dataset chúng tơi thu thập từ website virusshare.com tập tin PE lành tính môi trường hệ điều hành Windows Chúng sử dụng thuật toán Machine learning như: AdaBoost, Gradient Boosting, Decision Tree, Extra Tree, Random Forest, để xây dựng mơ hình phân loại tập tin PE - tập tin malware hay tập tin lành tính - từ dataset theo hướng dựa vào đa số trường phần PE header tập tin Mục tiêu thực nghiệm để chọn mơ hình phân loại Machine learning cho có độ xác cao với thời gian huấn luyện chấp nhận Với thơng tin có từ việc khảo sát trường phần PE Header tập tin này, chúng tơi tiến hành loại bỏ trường bị tác động malware nhất, LoaderFlags, NumberOfRvaAndSizes, SizeOfHeapCommit, SizeOfHeapReserve… khỏi dataset, giữ lại 44 trường Điều hoàn tồn trùng hợp với kết mà chúng tơi có sử dụng thuật toán Random Forest Extra Tree để đánh giá mức độ ảnh hưởng trường, xác feature, PE header 140.297 mẫu PE header dataset Bảng sau cho thấy mức độ ảnh hưởng trường theo Random Forest: N.K.Tuấn, N.H.Hà, T.T.T.Nguyên / Tạp chí Khoa học Công nghệ Đại học Duy Tân 5(48) (2021) 8-13 Bảng 1: Mức độ ảnh hưởng trường PE header tập tin PE theo thuật toán Random Forest TT Trường PE header 10 … 41 42 43 44 45 46 47 48 49 50 51 52 53 54 … ImageBase SizeOfStackReserve VersionInformationSize MinorImageVersion ResourcesMinSize Characteristics ExportNb Subsystem MajorOSVersion ResourcesNb … SectionsMeanVirtualsize SectionMaxRawsize SectionsMeanRawsize ImportsNbOrdinal LoadConfigurationSize FileAlignment SectionAlignment SizeOfHeaders SizeOfUninitializedData BaseOfCode SizeOfHeapReserve SizeOfHeapCommit NumberOfRvaAndSizes LoaderFlags … Mức độ ảnh hưởng 0.193689 0.103419 0.075304 0.065888 0.058338 0.052923 0.052831 0.049870 0.045429 0.037733 … 0.001965 0.001697 0.001697 0.001600 0.001275 0.001175 0.001167 0.001088 0.001036 0.000832 0.000401 0.000225 0.000008 0.000002 … Việc giảm bớt số trường mẫu PE header không giúp làm giảm kích thước dataset, dẫn đến giảm tài nguyên hệ thống dùng trình thực chương trình xây dựng mơ hình phân loại, mà cịn giảm thời gian huấn luyện mơ hình, với 54 feature 13.04s, với 44 feature 12.52s Phần cịn lại hướng tiếp cận chúng tơi thực theo trình tự thực nghiệm phần sau 11 Kết thực nghiệm 4.1 Thực nghiệm Chúng chia ngẫu nhiên dataset thành phần, 80% tập huấn luyện (Training set) 20% tập kiểm thử (Test set) Hai tập liệu sử dụng để đánh giá độ xác (accuracy) thời gian huấn luyện (training time) mơ hình Machine learning theo thuật tốn khác Kết nhận cho Bảng Bảng Độ xác thời gian huấn luyện của mơ hình Machine learning Thuật tốn AdaBoost GradientBoosting DecisionTree ExtraTree RandomForest Độ xác 99.12% 99.30% 99.34% 99.69% 99.71% Thời gian huấn luyện 12.83s 30.76s 0.98s 9.74s 13.17s Thực nghiệm cho thấy, mơ hình xây dựng thuật tốn Random Forest cho độ xác cao nhất, lên đến 99.71%, với thời gian huấn luyện đạt mức trung bình, so sánh với thuật tốn cịn lại Mơ hình theo Extra Trees có thời gian huấn luyện nhanh hơn, độ xác thấp so với Random Forest Thuật toán Decision Tree cho mơ hình có tốc độ huấn luyện cao, độ xác khơng mong muốn 4.2 Thực nghiệm Cách chia tập liệu thành phần cách ngẫu nhiên thực nghiệm 1, đơn giản độ xác mơ hình bị ảnh hưởng xảy tượng overfit Trong thực nghiệm này, chúng tơi sử dụng thuật tốn k-fold [3], với K= 10, để giải vấn đề overfit/unoverfit Kết nhận cho Bảng Bảng 3: Độ xác mơ hình machine learning theo k-fold với K = 10 12 N.K.Tuấn, N.H.Hà, T.T.T.Nguyên / Tạp chí Khoa học Cơng nghệ Đại học Duy Tân 5(48) (2021) 8-13 Thuật toán AdaBoost GradientBoosting DecisionTree ExtraTree RandomForest Độ xác trung bình 99.11% Độ xác thấp 99.05% 99.31% 99.24% 99.37% 99.34% 99.26% 99.42% 99.71% 99.67% 99.75% 99.72% 99.66% 99.76% Độ xác cao 99.17% Từ kết có thực nghiệm thực nghiệm 2, chúng tơi chọn thuật tốn Random Forest để xây dựng mơ hình phân loại cho đề xuất mình, độ xác mà cung cấp cao (99.71% 99.72%) với thời gian huấn luyện hợp lý 4.3 Thực nghiệm Trong thực nghiệm này, chúng tơi tìm hiểu xem liệu tăng số lượng Tree mơ hình theo Random Forest có làm cho độ xác tăng hay khơng, từ tìm số lượng Tree vừa đủ để mơ hình làm việc nhanh với độ xác cao Đầu tiên chúng tơi thử tạo 10 mơ hình Random Forest có tree sau tăng dần lên đến 500 tree, lần tăng chúng tơi tính trung bình độ xác thời gian huấn luyện 10 mơ hình Kết cho biểu đồ hình bên (H.1a H.1b): Hình 1a: Biểu đồ Thời gian huấn luyện mơ hình tăng số lượng Tree Hình 1b: Biểu đồ Độ xác mơ hình tăng số lượng Tree Độ xác số Tree 20 thấp, sau 50 bắt đầu tăng dần độ xác bắt đầu đạt ngưỡng mức 100 Tree trở đi, thời gian huấn luyện tăng dần theo số lượng Tree Điều cho thấy, cần số lượng tree vừa đủ (trong trường hợp 100) mơ hình đạt độ xác cao Giảm số lượng Tree giúp làm giảm thời gian huấn luyện tiết kiệm tài nguyên hệ thống Đây điều cần ghi nhận 4.4 Thực nghiệm Với việc chọn 44 đặc trưng, tương đương 44 trường PE header tập tin PE, mơ hình phân loại Machine learning theo Ramdom Forest có tỉ lệ xác trung bình thời gian huấn luyện 99.72% 13.17s Chúng thực nghiệm việc tiếp tục giảm số lượng đặc trưng chọn, để xem tỉ lệ xác thời gian huấn luyện mơ hình có bị thay đổi hay không Kết sau, số đặc trưng chọn khoảng từ 13 đến 15 tỉ lệ xác trung bình đạt 99.63% thời gian huấn luyện 3.88s Thực nghiệm cho thấy, giảm số lượng đặc trưng đến mức tỉ lệ xác trung bình giảm lượng không đáng kể, 0.09%, độ giảm thời gian huấn luyện giảm đáng ghi nhận, 9.29s (70%), so với ban đầu Việc giảm số lượng đặc trưng cịn N.K.Tuấn, N.H.Hà, T.T.T.Ngun / Tạp chí Khoa học Công nghệ Đại học Duy Tân 5(48) (2021) 8-13 giúp giảm kích thước tập liệu, giảm thời gian cho việc phân tách trường từ PE header tập tin PE, giúp tăng tốc độ phát malware tăng hiệu suất hệ thống 13 tốt; Việc giảm số lượng Tree việc loại bỏ trường quan trọng cải thiện tốc độ huấn luyện mơ hình - giảm 70%, cải thiện tốc độ phát malware giảm tài nguyên hệ thống Tài liệu tham khảo [1] J Bai, J Wang, G Zou, (2014) "A Malware Detection Scheme Based on Mining Format Information", The Scientific World Journal, vol 14, Article ID 260905, p 1-11 [2] A Hellal, L B Romdhane, (2016) "Minimal Contrast Frequent Pattern Mining for Malware Detection", Computers & Security, vol 62, p 1932 Hình 2: So sánh độ xác đề xuất so với số công bố gần Như vậy, mơ hình phân loại malware dựa vào E header tập tin PE theo hướng tiếp cận chúng tơi đạt độ xác ghi nhận so với số công bố gần (H.2) Kết luận Qua báo này, đề xuất hướng tiếp cận khác cho việc phát malware tập tin PE Đề xuất thực nghiệm dataset lớn, gồm header 149.297 tập tin PE, có 44.214 tập tin malware 96.083 tập tin lành tính Kết thực nghiệm cho thấy: Không cần xem xét tất trường header, loại bỏ trường ảnh hưởng nhất, thuật toán Random Forest cho độ xác cao, lên đến 99,71%, với thời gian huấn luyện đạt mức trung bình, 13.17s, so với thuật tốn khác; Độ xác Random Forest phụ thuộc vào việc chọn số lượng Tree cho phù hợp không cần phải chọn nhiều Tree [3] Davide Anguita, Luca Ghelardoni, Alessandro Ghio, Luca Oneto and Sandro Ridella, (2012)“The ‘K’ in K-fold Cross Validation”, European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning Bruges (Belgium), p 25-27 [4] Y Liao, (2012) "Pe-Header-Based Malware Study and Detection", Security & Privacy Workshop, San Francisco, CA, U.S.A [5] Vyas, R Luo, X McFarland, N Justice, (2017) "Investigation of malicious portable executable file detection on the network using supervised learning techniques", IFIP/IEEE Symposium on Integrated Network and Service Management (IM), pp 941– 946 [6] Ajit Kumara, K S Kuppusamya, G.Aghilab, (2019) “A learning model to detect maliciousness of portable executable using integrated feature set”, Journal of King Saud University - Computer and Information Sciences, vol 31, iss 2, p 252-265 [7] Puranik P A., (2019)“Static malware detection using deep neural networks on portable executables”, UNLV Theses, Dissertations, Professional Papers, and Capstones 3744 [8] Kim, S., (2018) “PE header analysis for malware detection”, Master's Projects, San Jose State University [9] Azeez, N A., Odufuwa, O E., Misra, S., Oluranti, J., & Damaševičius R, (2012)“Windows PE Malware Detection Using Ensemble Learning”, In: Informatics, vol 8, no 1, p 10 Multidisciplinary Digital Publishing Institute ... phân loại, phát malware đạt hiệu cao triển khai theo hướng tiếp cận Machine learning Tập tin PE tập tin hoạt động môi trường hệ điều hành Windows, tập tin thực thi (executable files) tập tin chứa... với tập tin PE lành tính nhiều khả tập tin malware Như vậy, phân loại tập tin PE, tập tin malware hay tập tin lành tính, cách xem xét liệu chứa trường PE header Vì số lượng trường PE header lớn,... nhị phân sử dụng tập tin thực thi khác Vùng thông tin định dạng (format information) tập tin PE [1] chứa thông tin cần thiết mà hệ điều hành sử dụng để điều khiển việc thực thi tập tin chúng