Phát hiện malware dựa trên header của tập tin Portable Executable sử dụng Machine Learning

pdf 6 trang Gia Huy 17/05/2022 3210
Bạn đang xem tài liệu "Phát hiện malware dựa trên header của tập tin Portable Executable sử dụng Machine Learning", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfphat_hien_malware_dua_tren_header_cua_tap_tin_portable_execu.pdf

Nội dung text: Phát hiện malware dựa trên header của tập tin Portable Executable sử dụng Machine Learning

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