intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:6

51
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

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

  1. Phát hiện malware dựa trên header của 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 a, Trường Đại học Khoa học Huế, 77 Nguyễn Huệ, Huế, Việt Nm b a nguyenkimtuan@duytan.edu.vn, bnhha76@gmail.com, __________________________________________________________________________________________ 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 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. 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 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. 1. Giới thiệu Trong những năm trở lại đây, mã độc tập tin hoạt động trên môi trường hệ điều (malware) đã trở thành mối đe dọa đáng kể hành Windows, nó có thể là các tập tin thực đối với vấn đề bảo mật trên không gian mạng. thi (executable files) hoặc là các tập tin chứa Malware có thể tồn tại trong các thiết bị đầu mã nhị phân được sử dụng bởi các tập tin thực cuối, có thể truyền đi trên đường truyền mạng thi khác. Vùng thông tin định dạng (format và có thể đính kèm/ẩn trong các tập tin có thể information) của tập tin PE [1] chứa những thực thi, đặc biệt là trong các tập tin PE của thông tin cần thiết mà hệ điều hành sử dụng hệ điều hành Windows. Hiện có 2 kỹ thuật để điều khiển việc thực thi của tập tin khi được sử dụng để phát hiện malware [6]. Kỹ chúng được nạp vào main memory. Tất cả các thuật dựa trên chữ ký (Signature based tập tin PE đều có cùng cấu trúc và cùng số detection) tuy cho độ chính xác cao nhưng lượng trường (field) trong PE header, nên gặp nhiều khó khăn trước sự đa dạng và khả chúng ta có thể trích xuất các field này, để làm năng biến hình của các loại malware hiện nay. tập đặc trưng (feature) đầu vào cho quá trình Kỹ thuật không dựa trên chữ ký (Non- xây dựng mô hình phân loại malware của các signature based detection) có thể giải quyết tập tin này theo cách sử dụng các thuật toán khó khăn này, nó thường được sử dụng để Machine learning. phát hiện được các loại malware “chưa được Chúng ta đều biết, thông tin chứa trong biết đến” (unknown), các loại malware có khả PE header của các tập tin PE lành tính năng biến dạng cao xuất hiện gần đây… Kỹ (benign) đều ở dạng đã được chuẩn hóa bởi thuật này giúp việc phân loại, phát hiện hệ điều hành Windows. Nếu một tập tin PE malware hiện nay đạt hiệu quả cao khi được nào đó mà dữ liệu chứa trong các field trong triển khai theo hướng tiếp cận Machine PE header của nó có sự “sai khác” so với các learning. tập tin PE lành tính thì nhiều khả năng đó là Tập tin PE (Portable Executable) là các tập tin malware. Như vậy, chúng ta có thể 1
  2. phân loại một tập tin PE, là tập tin malware dạng cao và tỷ lệ dương tính giả thấp với độ hay tập tin lành tính, bằng cách xem xét dữ chính xác 92%. liệu chứa trong các field của PE header của  Jinrong Bai và cộng sự đề xuất một nó. Vì số lượng field trong PE header là lớn, hướng tiếp cận cho việc phát hiện malware dữ liệu tại các field lại có quan hệ với nhau, trong các tập tin PE bằng cách khai phá thông hầu hết các field đều có thể bị làm “sai khác”, tin định dạng của các tập tin này [1]. Kỹ thuật ở những mức độ khác nhau… nên bài toán “in-depth analysis” được nhóm tác giả chọn phát hiện malware ở đây cần tiếp cận theo để phân tích vùng thông tin định dạng của các hướng sử dụng các thuật toán Machine tập tin PE. Đầu tiên, họ cho trích xuất ra 197 learning thì mới đạt được độ chính xác cao đặc trưng từ vùng thông tin định dạng này, nhất có thể [1], [2], [4], [5], [6]. sau đó thực hiện việc chọn đặc trưng để giảm Chúng ta có thể thu thập một lượng lớn số lượng xuống còn 19 hoặc 20 đặc trưng. các mẫu PE header của các tập tin lành tính Tập đặc trưng được chọn sẽ được training bởi và tập tin malware, sau đó trích xuất các đặc 4 thuật toán phân lớp J48, Random Forest, trưng của mỗi field, rồi so sánh để tìm ra sự Bagging và Adaboost. Kết quả thực nghiệm khác biệt đáng kể nhất giữa tập tin lành tính cho thấy, tiếp cận này đạt độ chính xác cao và tập tin malware, làm cơ sở cho việc phân nhất, 99.1%, ở thuật toán phân loại Random loại về sau. Đây là hướng tiếp cận mà chúng Forest. tôi thực nghiệm và đề xuất trong bài bào này.  Yibin Liao khai thác cấu trúc của các 2. Các nghiên cứu liên quan tập tin PE theo một hướng tiếp cận khác [4]. Ông trích xuất đặc trưng của mỗi trường trong Hiện có khá nhiều hướng tiếp cận cho bài header, rồi so sánh để tìm ra sự khác biệt có ý toán phân loại malware sử dụng kỹ thuật nghĩa nhất giữa các tập tin malware và tập tin Machine learning. Trong phần này, chúng tôi lành tính. Và trích xuất các icon trong tập tin điểm lại những kết quả, về độ chính xác, về tỉ PE để tìm ra các icon phổ biến (prevalent) lệ phát hiện và tốc độ huấn luyện, mà một số nhất, có tính lừa bịp nhất (misleading) từ các tiếp cận được công bố gần đây đạt được. tập tin malware. Yibin Liao thực nghiệm tiếp  Trong [5], Rushabh Vyah và cộng sự cận đề xuất trên một tập dữ liệu có 6875 mẫu, đã đề xuất một quy trình phát hiện malware trong đó gồm 5598 mẫu header của tệp tin trong tập tin PE trên môi trường mạng. Họ áp độc hại và 1237 mẫu header của tệp tin thực dụng 4 thuật toán học có giám sát khác nhau, thi lành tính. Kết quả cho thấy tiếp cận này Decision Tree, K-NN, SVMs và Random đạt tỷ lệ phát hiện hơn 99% với ít hơn 0,2% Forest, trên cùng một tập dữ liệu, chỉ với 28 dương tính giả trong vòng chưa đầy 20 phút. đặc trưng (feature) tĩnh. Random Forest là mô Theo tác giả, có thể phát hiện malware bằng hình mà Vyas chọn, nó đạt tỉ lệ phát hiện cách chỉ xem xét một vài đặc trưng/trường malware - backdoor, virus, trojan và worn - chính trong PE header của các tập tin PE hoặc trung bình là 98.7%, tỷ lệ phát hiện dương xem xét các prevalent icon, các misleading tính là 1.8%. icon được nhúng trong các tập tin này. Điều này giúp rút ngắn được thời gian phát hiện  Tiếp cận được đề xuất bởi Hellal và malware trên các tập tin PE. Lotfi Ben Romdhane [2] là sự kết hợp giữa 2 kỹ thuật, phân tích tĩnh và khai phá đồ thị Hiện chúng tôi chưa tìm thấy một (static analysis – graph mining). Họ đề xuất phương pháp, một cách tiếp cận hay một mô một thuật toán mới có thể tự động trích xuất hình được nào cho là chung nhất, là tối ưu các mẫu hành vi malware có tính phổ biến và nhất để phát hiện và phân loại malware sử khác biệt, nhưng lặp lại, từ các tập tin nghi dụng Machine learning đạt độ chính xác cao ngờ. Đề xuất này quan tâm đến việc tiết kiệm nhất. Vì thế, chúng tôi đề xuất một cách tiếp dung lượng bộ nhớ và giảm thời gian quét cận khác, tập trung vào các trường có ảnh bằng cách tạo ra một lượng chữ ký (signature) hưởng cao trong phần PE header của các tập hạn chế, điều này không như các phương tin PE, như là sự đóng góp nhỏ cho hướng pháp hiện có. Tiếp cận trong [2] đạt tỷ lệ nhận nghiên cứu này. 2
  3. 3. Tiếp cận đề xuất 7 ExportNb 0.052831 Tiếp cận của chúng tôi được thực nghiệm 8 Subsystem 0.049870 trên tập dữ liệu (dataset) khá lớn, gồm 9 MajorOSVersion 0.045429 140.297 mẫu PE header của tập tin PE, trong đó có 44.214 mẫu malware và 96.083 mẫu 10 ResourcesNb 0.037733 lành tính. Dataset này được chúng tôi thu thập … … … từ website virusshare.com và các tập tin PE 41 SectionsMeanVirtualsize 0.001965 lành tính trên môi trường hệ điều hành Windows. 42 SectionMaxRawsize 0.001697 Chúng tôi sử dụng các thuật toán 43 SectionsMeanRawsize 0.001697 Machine learning như: AdaBoost, Gradient 44 ImportsNbOrdinal 0.001600 Boosting, Decision Tree, Extra Tree, Random Forest, để xây dựng các mô hình 45 LoadConfigurationSize 0.001275 phân loại tập tin PE - tập tin malware hay tập 46 FileAlignment 0.001175 tin lành tính - từ dataset này theo hướng chỉ 47 SectionAlignment 0.001167 dựa vào đa số các trường trong phần PE header của các tập tin này. Mục tiêu thực 48 SizeOfHeaders 0.001088 nghiệm là để chọn ra một mô hình phân loại 49 SizeOfUninitializedData 0.001036 Machine learning sao cho có độ chính xác cao với thời gian huấn luyện chấp nhận được. 50 BaseOfCode 0.000832 51 SizeOfHeapReserve 0.000401 Với những thông tin có được từ việc khảo sát các field trong phần PE Header của các tập 52 SizeOfHeapCommit 0.000225 tin này, chúng tôi tiến hành loại bỏ các field 53 NumberOfRvaAndSizes 0.000008 ít bị tác động bởi malware nhất, như LoaderFlags, NumberOfRvaAndSizes, 54 LoaderFlags 0.000002 SizeOfHeapCommit, SizeOfHeapReserve… … … … ra khỏi dataset, chỉ giữ lại 44 field. Điều này hoàn toàn trùng hợp với kết quả mà chúng tôi Việc giảm bớt một số field của mỗi mẫu có được khi sử dụng lần lượt thuật toán PE header không chỉ giúp làm giảm kích Random Forest và Extra Tree để đánh giá thước của dataset, dẫn đến giảm được tài mức độ ảnh hưởng của các field, chính xác là nguyên của hệ thống dùng trong quá trình các feature, trong PE header của 140.297 mẫu thực hiện chương trình xây dựng mô hình PE header trong dataset. Bảng sau cho thấy phân loại, mà còn giảm thời gian huấn luyện mức độ ảnh hưởng của các field theo Random mô hình, với 54 feature là 13.04s , với 44 Forest: feature là 12.52s. Bảng 1: Mức độ ảnh hưởng các field trong Phần còn lại trong hướng tiếp cận của PE header của các tập tin PE theo thuật toán chúng tôi được thực hiện theo đúng trình tự 4 Random Forest thực nghiệm ở phần sau đây. Mức độ 4. Kết quả thực nghiệm T Trường trong PE ảnh T header 4.1. Thực nghiệm 1 hưởng 1 ImageBase 0.193689 Chúng tôi chia ngẫu nhiên dataset thành 2 phần, 80% là tập huấn luyện (Training set) 2 SizeOfStackReserve 0.103419 và 20% là tập kiểm thử (Test set). Hai tập dữ 3 VersionInformationSize 0.075304 liệu này được sử dụng để đánh giá độ chính 4 MinorImageVersion 0.065888 xác (accuracy) và thời gian huấn luyện (training time) của các mô hình Machine 5 ResourcesMinSize 0.058338 learning theo 5 thuật toán khác nhau. Kết quả 6 Characteristics 0.052923 nhận được cho ở Bảng 2. 3
  4. Bảng 2. Độ chính xác và thời gian huấn thực nghiệm 2, chúng tôi chọn thuật toán luyện của của các mô hình Machine learning Random Forest để xây dựng mô hình phân Thời loại cho đề xuất của mình, vì độ chính xác mà Độ nó cung cấp là cao nhất (99.71% và 99.72%) gian Thuật toán chính huấn và với thời gian huấn luyện hợp lý. xác luyện 4.3. Thực nghiệm 3 AdaBoost 99.12% 12.83 s Trong thực nghiệm này, chúng tôi sẽ tìm GradientBoosting 99.30% 30.76 s hiểu xem liệu tăng số lượng Tree trong mô hình theo Random Forest có làm cho độ chính DecisionTree 99.34% 0.98 s xác tăng hay không, từ đó tìm ra số lượng ExtraTree 99.69% 9.74 s Tree vừa đủ để mô hình có thể làm việc nhanh RandomForest 99.71% 13.17s hơn với độ chính xác cao hơn. Thực nghiệm này cho thấy, mô hình Đầu tiên chúng tôi thử tạo ra 10 mô hình được xây dựng bởi thuật toán Random Forest Random Forest chỉ có một tree sau đó tăng cho độ chính xác cao nhất, lên đến hơn dần lên đến 500 tree, cứ mỗi lần tăng chúng 99.71%, với thời gian huấn luyện đạt mức tôi sẽ tính trung bình độ chính xác và thời gian trung bình, so sánh với 4 thuật toán còn lại. huấn luyện của 10 mô hình. Kết quả cho ở 2 Mô hình theo Extra Trees thì có thời gian biểu đồ như hình bên dưới (H.1a và H.1b): huấn luyện nhanh hơn, nhưng độ chính xác thấp hơn so với Random Forest. Thuật toán Decision Tree cho mô hình có tốc độ huấn luyện rất cao, nhưng độ chính xác không như mong muốn. 4.2. Thực nghiệm 2 Cách chia tập dữ liệu thành 2 phần một cách ngẫu nhiên như ở thực nghiệm 1, tuy đơn giản nhưng độ chính xác của mô hình có thể bị ảnh hưởng nếu xảy ra hiện tượng overfit. Trong thực nghiệm này, chúng tôi sử dụng thuật toán k-fold [3], với K= 10, để giải Hình 1a: Biểu đồ Thời gian huấn luyện của quyết vấn đề overfit/unoverfit. Kết quả nhận mô hình khi tăng số lượng Tree được cho ở Bảng 3. Bảng 3: Độ chính xác của các mô hình machine learning theo k-fold với K = 10 Độ Độ Độ chính chính chính Thuật xác xác xác toán trung thấp cao bình nhất 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ấp, sau 50 bắt đầu tăng dần và độ chính xác 4
  5. bắt đầu đạt ngưỡng ở mức 100 Tree trở đi, ghi nhận so với một số công bố gần đây (H.2). thời gian huấn luyện tăng dần theo số lượng Tree. Điều này cho thấy, chúng ta chỉ cần một 5. Kết luận số lượng tree vừa đủ (trong trường hợp này là Qua bài báo này, chúng tôi đề xuất một 100) thì mô hình cũng đã có thể đạt được độ hướng tiếp cận khác cho việc phát hiện chính xác cao. Giảm số số lượng tree giúp làm malware trên các tập tin PE. Đề xuất của giảm thời gian huấn luyện và tiết kiểm được chúng tôi được thực nghiệm trên dataset rất tài nguyên hệ thống. Đây là điều cần ghi lớn, gồm header của 149.297 tập tin PE, trong nhận. đó có 44.214 tập tin malware và 96.083 tập 4.4. Thực nghiệm 4 tin lành tính. Kết quả thực nghiệm cho thấy: Không cần xem xét tất cả các trường trong Với việc chỉ chọn 44 đặc trưng, tương header, loại bỏ các trường ít ảnh hưởng nhất, đương 44 trường trong PE header của các tập thuật toán Random Forest vẫn cho độ chính tin PE, mô hình phân loại Machine learning xác khá cao, lên đến 99,71%, với thời gian theo Ramdom Forest của chúng tôi có được tỉ huấn luyện đạt mức trung bình, 13.17s, so với lệ chính xác trung bình và thời gian huấn 4 thuật toán khác; Độ chính xác của Random luyện đáng ghi nhận, lần lượt là 99.72% và Forest phụ thuộc vào việc chọn số lượng Tree 13.17s. Chúng tôi thực nghiệm việc tiếp tục sao cho phù hợp chứ không cần phải chọn giảm số lượng đặc trưng được chọn, để xem càng nhiều Tree càng tốt; Việc giảm số lượng tỉ lệ chính xác và thời gian huấn luyện mô Tree và việc loại bỏ các trường ít quan trọng hình có bị thay đổi hay không. Kết quả như đã cải thiện được tốc độ huấn luyện mô hình sau, khi số đặc trưng được chọn trong khoảng - giảm 70%, cải thiện tốc độ phát hiện từ 13 đến 15 thì tỉ lệ chính xác trung bình đạt malware và giảm tài nguyên hệ thống. 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ố Tài liệu tham khảo lượng đặc trưng đến mức có thể thì tỉ lệ chính [1] J. Bai, J. Wang, G. Zou, "A Malware xác trung bình chỉ giảm một lượng không Detection Scheme Based on Mining đáng kể, 0.09%, nhưng độ giảm của thời gian Format Information", The Scientific huấn luyện giảm là đáng ghi nhận, 9.29s World Journal, vol.2014, Article ID (70%), so với ban đầu. Việc giảm số lượng 260905, p.1-11, 2014. đặc trưng còn giúp giảm kích thước tập dữ liệu, giảm thời gian cho việc phân tách các [2] A. Hellal, L. B. Romdhane, "Minimal trường từ PE header của các tập tin PE, giúp Contrast Frequent Pattern Mining for tăng tốc độ phát hiện malware và tăng hiệu Malware Detection", Computers & suất của hệ thống. 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, Hình 2: So sánh độ chính xác của đề xuất này U.S.A, 2012. so với một số công bố gần đây. [5] Vyas, R. Luo, X. McFarland, N. Justice, Như vậy, mô hình phân loại malware dựa "Investigation of malicious portable vào E header của các tập tin PE theo hướng executable file detection on the network tiếp cận của chúng tôi đạt độ chính xác được using supervised learning techniques", 5
  6. IFIP/IEEE Symposium on Integrated maliciousness of portable executable Network and Service Management (IM), using integrated feature set”, Journal of pp.941–946, 2017. King Saud University - Computer and Information Sciences, vol.31, [6] Ajit Kumara, K.S. Kuppusamya, iss.2, p.252-265, 2019. G.Aghilab, “A learning model to detect 6
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2