Bài viết này trình bày cấu trúc phần PE header của các tập tin PE để đề 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. Mời các bạn cùng tham khảo!
Phát malware dựa header tập tin PE sử dụng Machine learning Malware detection based on PE file header by using Machine learning Nguyễn Kim Tuấna*, Nguyễn Hoàng Hàb* Trường Đại học Duy Tân, 03 Quang Trung, Đà Nẵng, Việt Nam Trường Đại học Khoa học Huế, 77 Nguyễn Huệ, Huế, Việt Nm a, b a nguyenkimtuan@duytan.edu.vn, bnhha76@gmail.com, Tóm tắt Trong báo này, dựa vào cấu trúc phần PE header tập tin PE để đề 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 Forests; Abstract In this paper, we rely on the PE header structure of PE 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 Forsest 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 PE hệ điều hành Windows Hiện có kỹ thuật sử dụng để phát malware [6] 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 Kỹ thuật không dựa chữ ký (Nonsignature 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 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 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 Tất tập tin PE có cấu trúc số lượng trường (field) PE header, nên trích xuất field này, để làm tập đặc trưng (feature) đầu vào cho 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 field 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, Tập tin PE (Portable Executable) dạng cao tỷ lệ dương tính giả thấp với độ xác 92% 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 field PE header Vì số lượng field PE header lớn, liệu field lại có quan hệ với nhau, hầu hết field 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 tốn Machine learning đạt độ xác cao [1], [2], [4], [5], [6] 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 toán phân loại Random Forest 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 field, 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 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 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 Trong phần này, chúng tơi đ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 tố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 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 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, 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 ExportNb 0.052831 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 Subsystem 0.049870 MajorOSVersion 0.045429 10 ResourcesNb 0.037733 … … … 41 SectionsMeanVirtualsize 0.001965 42 SectionMaxRawsize 0.001697 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 43 SectionsMeanRawsize 0.001697 44 ImportsNbOrdinal 0.001600 45 LoadConfigurationSize 0.001275 46 FileAlignment 0.001175 47 SectionAlignment 0.001167 48 SizeOfHeaders 0.001088 49 SizeOfUninitializedData 0.001036 50 BaseOfCode 0.000832 Với thơng tin có từ việc khảo sát field phần PE Header tập tin này, tiến hành loại bỏ field bị tác động malware nhất, LoaderFlags, NumberOfRvaAndSizes, SizeOfHeapCommit, SizeOfHeapReserve… khỏi dataset, giữ lại 44 field Điều hoàn toà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 field, xác feature, PE header 140.297 mẫu PE header dataset Bảng sau cho thấy mức độ ảnh hưởng field theo Random Forest: 51 SizeOfHeapReserve 0.000401 52 SizeOfHeapCommit 0.000225 53 NumberOfRvaAndSizes 0.000008 54 LoaderFlags 0.000002 … … … Việc giảm bớt số field 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 Bảng 1: Mức độ ảnh hưởng field PE header tập tin PE theo thuật tốn Random Forest Phần cịn lại hướng tiếp cận thực theo trình tự thực nghiệm phần sau T T Trường PE header Mức độ ảnh hưởng Kết 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 ImageBase 0.193689 SizeOfStackReserve 0.103419 VersionInformationSize 0.075304 MinorImageVersion 0.065888 ResourcesMinSize 0.058338 Characteristics 0.052923 4.1 Thực nghiệm Bảng Độ xác thời gian huấn luyện của mơ hình Machine learning Độ xác Thời gian huấn luyện AdaBoost 99.12% 12.83 s GradientBoosting 99.30% 30.76 s DecisionTree 99.34% 0.98 s ExtraTree 99.69% 9.74 s RandomForest 99.71% 13.17s Thuật toán 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 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): 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 Hình 1a: Biểu đồ Thời gian huấn luyện mơ hình tăng số lượng Tree Bảng 3: Độ xác mơ hình machine learning theo k-fold với K = 10 Độ Độ Độ chính Thuật xác xác xác tốn trung thấp cao bình nhất AdaBoost 99.11% 99.05% 99.17% Gradient99.31% 99.24% 99.37% Boosting Decision99.34% 99.26% 99.42% Tree ExtraTree 99.71% 99.67% 99.75% Random99.72% 99.66% 99.76% Forest 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 Từ kết có thực nghiệm 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ố 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 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 tố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 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 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 chúng tơi có tỉ lệ xác trung bình thời gian huấn luyện đáng ghi nhậ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 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 Tài liệu tham khảo [1] J Bai, J Wang, G Zou, "A Malware Detection Scheme Based on Mining Format Information", The Scientific World Journal, vol.2014, Article ID 260905, p.1-11, 2014 [2] A Hellal, L B Romdhane, "Minimal Contrast Frequent Pattern Mining for Malware Detection", Computers & Security, vol.62, p.19-32, 2016 [3] Davide Anguita, Luca Ghelardoni, Alessandro Ghio, Luca Oneto and Sandro Ridella, “The ‘K’ in K-fold Cross Validation”, European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning Bruges (Belgium), p.25-27, 2012 [4] Y Liao, "Pe-Header-Based Malware Study and Detection", Security & Privacy Workshop, San Francisco, CA, U.S.A, 2012 Hình 2: So sánh độ xác đề xuất so với số công bố gần [5] Vyas, R Luo, X McFarland, N Justice, "Investigation of malicious portable executable file detection on the network using supervised learning techniques", 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 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), pp.941–946, 2017 [6] maliciousness of portable executable using integrated feature set”, Journal of King Saud University - Computer and Information Sciences, vol.31, iss.2, p.252-265, 2019 Ajit Kumara, K.S Kuppusamya, G.Aghilab, “A learning model to detect ... 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 Các nghiên... 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... Chúng tơi sử dụng thuật tố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