Phân loại Malware Android Sử dụng Deep Learning

Tìm hiểu về phân loại mã độc Android sử dụng học sâu. Nghiên cứu các phương pháp và kỹ thuật tiên tiến để bảo vệ thiết bị của bạn khỏi các mối đe dọa.

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

Luận án tiến sĩ

2024

140
8
0

Phí lưu trữ

35 Point

Mục lục chi tiết

DECLARATION

ACKNOWLEDGEMENT

CONTENTS

ABBREVIATIONS

LIST OF TABLES

LIST OF FIGURES

INTRODUCTION

1. CHƯƠNG 1: OVERVIEW OF ANDROID MALWARE CLASSIFICATION BASED ON MACHINE LEARNING

1.2. Overview of Android Malware

1.2.1. Android Malware Classification Methods

1.2.1.1. Signature-based Method

1.2.1.2. Anomaly-based Method

1.2.3. Android Malware Classification Evaluation Metrics

1.2.3.1. Metrics for the Binary Classification Problem

1.2.3.2. Metrics for Multi-labelled Classification Problem

1.2.4. Android Malware Dataset

1.3. Machine Learning-based Method for Android Malware Classification

1.3.1. Related Works on Feature Extraction

1.3.1.1. Features Extraction Methods
1.3.1.2. Feature Augmentation Methods
1.3.1.3. Feature Selection Methods

1.3.2. Related Works on Machine Learning-based Methods

1.3.2.1. Random Forest Algorithm
1.3.2.2. Support Vector Machine
1.3.2.3. K-Nearest Neighbor Algorithm
1.3.2.4. Deep Belief Network
1.3.2.5. Convolutional Neural Network
1.3.2.6. Some Other Models

2. CHƯƠNG 2: PROPOSED METHODS FOR FEATURE EXTRACTION

2.1. Feature Augmentation based on Co-occurrence matrix

2.2. Raw Feature Extraction

2.3. Co-occurrence Matrix Feature Computation

2.3.3. Malware Classification based on CNN Model

2.4. Summary of Experimental Results

2.2. Feature Augmentation based on Apriori Algorithm

2.2.1. Introduction to Apriori Algorithm

2.2.3. Feature Set Creation

2.2.3.1. Raw Android Feature Set
2.2.3.2. The Feature Augmentation Set
2.2.3.3. Input Feature Normalization
2.2.3.4. Feature Augmentation Set

2.2.4. Experimental Dataset and Scenario

2.2.5. Experiment based on CNN Model

2.2.6. Summary of Experimental Results

2.3. Feature Selection Based on Popularity and Contrast Value in a Multi-objective Approach

2.3.2. Popularity and Contrast Computation

2.3.3. Pareto Multi-objective Optimization Method

2.3.4. Selection Function and Implementation

2.3.5. Summary of Experimental Results

3. CHƯƠNG 3: DEEP LEARNING-BASED ANDROID MALWARE CLASSIFICATION

3.1. Applying DBN Model

3.1.2. Boltzmann Machine and Deep Belief Network

3.1.2.1. Restricted Boltzmann Machine
3.1.2.2. Deep Belief Network
3.1.2.3. Summary of Experimental Results

3.2. Applying CNN Model

3.2.1. Raw Feature Dataset

3.2.2. Malware Classification using CNN Model

3.2.3. Summary of Experimental Results

3.3. Proposed Method using WDCNN Model for Android Malware Classification

3.3.2. Building Components in the WDCNN Model

3.3.4. Summary of Experimental Results

3.4. Applying Federated Learning Model

3.4.1. Federated Learning Model

3.4.2. Implement Federated Learning Model

3.4.3. The Process of Synthesizing Weight Set

3.4.4. Summary of Experimental Results

CONCLUSIONS

PUBLICATIONS

BIBLIOGRAPHY

Tóm tắt

I. Tổng quan về Phân loại Malware Android bằng Deep Learning

Trong bối cảnh chuyển đổi số và ứng dụng trí tuệ nhân tạo ngày càng lan rộng, hệ điều hành Android đã trở thành mục tiêu hấp dẫn cho các phần mềm độc hại (Malware). Sự gia tăng về số lượng, chủng loại và độ tinh vi của Malware Android đòi hỏi các giải pháp an ninh Android hiệu quả hơn. Theo thống kê, năm 2021 có tới 3.36 triệu Malware được phát hiện, gây ra nhiều nguy cơ cho người dùng. Việc nghiên cứu và phát triển các phương pháp phân loại Malware tiên tiến, đặc biệt là ứng dụng Deep Learning, trở nên cấp thiết. Luận án tiến sĩ này tập trung vào giải quyết bài toán phân loại Malware Android bằng cách khai thác sức mạnh của học sâu, nhằm nâng cao khả năng phát hiện Malwarephòng chống Malware một cách hiệu quả.

1.1. Sự trỗi dậy của Malware Android và những thách thức an ninh

Sự phổ biến của hệ điều hành Android trên nhiều thiết bị thông minh đã tạo ra một môi trường màu mỡ cho Malware Android phát triển. Sự đa dạng trong kiến trúc và phiên bản hệ điều hành cũng tạo ra nhiều lỗ hổng bảo mật tiềm ẩn. Các phương pháp tấn công ngày càng tinh vi, sử dụng kỹ thuật obfuscationencryption để tránh bị phát hiện Malware. Do đó, việc phát triển các phương pháp an ninh Android hiệu quả là một thách thức lớn.

1.2. Ứng dụng Deep Learning trong bài toán phân loại Malware

Deep Learning đang chứng minh được sức mạnh vượt trội trong nhiều lĩnh vực, bao gồm cả an ninh mạng. Khả năng tự động học và trích xuất đặc trưng từ dữ liệu thô giúp Deep Learning có thể phát hiện Malware một cách chính xác và hiệu quả hơn so với các phương pháp truyền thống. Luận án này tập trung vào việc áp dụng các kỹ thuật Deep Learning như mạng nơ-ron tích chập (CNN), mạng nơ-ron hồi quy (RNN) và LSTM để xây dựng các mô hình phân loại Malware Android mạnh mẽ.

II. Các Phương pháp Tiếp cận Phân tích Malware Android Hiện tại

Hiện nay, có hai phương pháp chính được sử dụng để phân tích Malware Android: static analysis (phân tích tĩnh) và dynamic analysis (phân tích động). Static analysis tập trung vào việc phân tích cấu trúc, đặc điểm và mã nguồn của tệp thực thi mà không cần thực thi mã. Phương pháp này nhanh chóng và hiệu quả trong việc phát hiện Malware đã biết. Tuy nhiên, nó dễ bị qua mặt bởi các kỹ thuật obfuscation. Ngược lại, dynamic analysis thực thi mã trong môi trường an toàn để theo dõi hành vi của Malware. Mặc dù tốn thời gian và tài nguyên hơn, dynamic analysis có thể phát hiện Malware mới và chưa được biết đến (zero-day threats). Theo tài liệu, static analysis được sử dụng nhiều hơn để phân loại Malware do tính đơn giản của nó.

2.1. Phân tích tĩnh Static Analysis Ưu điểm và hạn chế

Static analysis là phương pháp phổ biến do tính đơn giản và khả năng phát hiện Malware nhanh chóng. Tuy nhiên, điểm yếu của phương pháp này là khả năng chống lại các kỹ thuật che giấu mã nguồn (obfuscation). Malware có thể sử dụng các kỹ thuật này để làm cho mã nguồn trở nên khó đọc và khó hiểu, khiến cho static analysis khó có thể phát hiện Malware.

2.2. Phân tích động Dynamic Analysis Khả năng phát hiện Zero day threats

Dynamic analysis cung cấp khả năng phát hiện Malware mới và chưa biết đến (zero-day threats) bằng cách theo dõi hành vi của Malware trong môi trường thực thi. Tuy nhiên, phương pháp này đòi hỏi nhiều thời gian và tài nguyên hơn, đồng thời không thể bao phủ hết tất cả các đường dẫn thực thi của Malware. Do đó, việc lựa chọn phương pháp phân tích Malware phù hợp phụ thuộc vào mục tiêu và nguồn lực của tổ chức.

III. Đột phá Kỹ thuật Tăng cường Đặc trưng Malware Android

Để nâng cao hiệu quả phân loại Malware Android, luận án này đề xuất các phương pháp tăng cường đặc trưng, khai thác mối quan hệ giữa các đặc trưng thô (raw features) như permission Android, API Android và các tài nguyên khác. Ý tưởng chính là quan sát sự đồng xuất hiện (co-occurrence) của các đặc trưng để tìm ra mối liên hệ tiềm ẩn giữa chúng. Hai phương pháp được đề xuất bao gồm: tăng cường đặc trưng dựa trên ma trận đồng xuất hiện và tăng cường đặc trưng dựa trên thuật toán Apriori. Theo luận án, bằng cách khai thác mối liên hệ giữa các đặc trưng, mô hình Deep Learning có thể học được các đặc trưng quan trọng hơn và cải thiện khả năng phân loại Malware.

3.1. Tăng cường đặc trưng dựa trên ma trận đồng xuất hiện

Phương pháp này xây dựng một ma trận thể hiện tần suất đồng xuất hiện của các cặp đặc trưng (permission, API calls). Bằng cách phân tích ma trận này, chúng ta có thể xác định các mối quan hệ mạnh mẽ giữa các đặc trưng và sử dụng thông tin này để tạo ra các đặc trưng mới. Điều này giúp mô hình Deep Learning học được các đặc trưng quan trọng hơn và cải thiện khả năng phân loại Malware.

3.2. Tăng cường đặc trưng dựa trên thuật toán Apriori

Thuật toán Apriori được sử dụng để tìm kiếm các tập hợp đặc trưng xuất hiện thường xuyên cùng nhau. Các tập hợp này được sử dụng để tạo ra các đặc trưng mới, phản ánh mối quan hệ giữa các đặc trưng. Phương pháp này giúp mô hình Deep Learning học được các quy tắc kết hợp giữa các đặc trưng và cải thiện khả năng phân loại Malware.

3.3. Lựa chọn đặc trưng dựa trên độ phổ biến và giá trị tương phản

Phương pháp này kết hợp độ phổ biến (popularity) và giá trị tương phản (contrast value) của các đặc trưng trong một tiếp cận đa mục tiêu. Bằng cách tối ưu hóa cả hai tiêu chí này, chúng ta có thể lựa chọn ra các đặc trưng quan trọng nhất cho việc phân loại Malware. Điều này giúp giảm kích thước dữ liệu và cải thiện hiệu suất của mô hình Deep Learning.

IV. Ứng dụng Mạng WDCNN Wide Deep CNN Phân loại Malware

Luận án đề xuất sử dụng mô hình WDCNN (Wide and Deep CNN) để cải thiện độ chính xác trong việc phân loại Malware Android. Mô hình này kết hợp khả năng học đặc trưng tự động của CNN với khả năng học các quy tắc kết hợp giữa các đặc trưng của mô hình Wide. Bằng cách kết hợp hai loại mô hình này, WDCNN có thể tận dụng tối đa thông tin từ dữ liệu đầu vào và đạt được hiệu suất phân loại Malware tốt hơn. Kết quả thực nghiệm cho thấy tính khả thi của ý tưởng này.

4.1. Kiến trúc và hoạt động của mô hình WDCNN

Mô hình WDCNN bao gồm hai phần chính: phần Wide và phần Deep. Phần Wide sử dụng các đặc trưng được chọn thủ công hoặc tự động để học các quy tắc kết hợp giữa các đặc trưng. Phần Deep sử dụng CNN để học các đặc trưng tự động từ dữ liệu thô. Hai phần này được kết hợp lại để tạo ra một mô hình phân loại Malware mạnh mẽ.

4.2. Ưu điểm vượt trội của WDCNN so với các mô hình khác

WDCNN có nhiều ưu điểm so với các mô hình Deep Learning khác. Thứ nhất, nó có thể tận dụng cả thông tin từ các đặc trưng được chọn thủ công và các đặc trưng được học tự động. Thứ hai, nó có thể học các quy tắc kết hợp giữa các đặc trưng. Thứ ba, nó có thể xử lý dữ liệu có kích thước lớn và độ phức tạp cao. Do đó, WDCNN là một lựa chọn tốt cho bài toán phân loại Malware Android.

V. Kết quả Đánh giá Hiệu quả của Deep Learning trong Phân loại

Luận án này đã tiến hành thực nghiệm trên nhiều dataset Malware Android khác nhau để đánh giá hiệu quả của các phương pháp đề xuất. Kết quả cho thấy rằng các phương pháp tăng cường đặc trưng và mô hình WDCNN có thể cải thiện đáng kể độ chính xác của việc phân loại Malware Android. Các phương pháp này cũng có thể giúp phát hiện Malware mới và chưa biết đến (zero-day threats).

5.1. So sánh hiệu năng giữa các mô hình Deep Learning khác nhau

Luận án so sánh hiệu năng của WDCNN với các mô hình Deep Learning khác như CNN, RNN, LSTM. Kết quả cho thấy rằng WDCNN đạt được độ chính xác cao hơn so với các mô hình khác trên nhiều dataset Malware Android khác nhau.

5.2. Đánh giá khả năng phát hiện Zero day Malware của mô hình

Luận án đánh giá khả năng phát hiện Malware mới và chưa biết đến (zero-day threats) của các phương pháp đề xuất. Kết quả cho thấy rằng các phương pháp này có thể giúp phát hiện Malware mới một cách hiệu quả hơn so với các phương pháp truyền thống.

VI. Tương lai Nghiên cứu Hướng phát triển Phân loại Malware Android

Nghiên cứu về phân loại Malware Android bằng Deep Learning vẫn còn nhiều hướng phát triển tiềm năng. Các hướng nghiên cứu trong tương lai có thể tập trung vào việc khám phá các kiến trúc Deep Learning mới, phát triển các phương pháp tăng cường đặc trưng tiên tiến hơn, và ứng dụng các kỹ thuật học liên kết (Federated Learning) để cải thiện khả năng phân loại Malware trên các thiết bị di động.

6.1. Ứng dụng Federated Learning trong phân loại Malware trên thiết bị di động

Federated Learning cho phép huấn luyện mô hình Deep Learning trên nhiều thiết bị di động mà không cần thu thập dữ liệu của người dùng. Điều này giúp bảo vệ quyền riêng tư của người dùng và cải thiện khả năng phân loại Malware trên các thiết bị di động.

6.2. Phát triển các kỹ thuật chống lại Adversarial Attacks

Adversarial Attacks là các cuộc tấn công mà kẻ tấn công cố gắng thay đổi dữ liệu đầu vào để khiến mô hình Deep Learning đưa ra kết quả sai. Việc phát triển các kỹ thuật chống lại Adversarial Attacks là rất quan trọng để đảm bảo tính an toàn và tin cậy của các mô hình phân loại Malware.

17/05/2025

Trích đoạn nội dung tài liệu

MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY LE DUC THUAN ANDROID MALWARE CLASSIFICATION USING DEEP LEARNING DOCTORAL DISSERTATION OF COMPUTER ENGINEERING Hanoi−2024 MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY LE DUC THUAN ANDROID MALWARE CLASSIFICATION USING DEEP LEARNING Major: Computer Engineering Code: 9480106 DOCTORAL DISSERTATION OF COMPUTER ENGINEERING SUPERVISORS Dr. Nguyen Kim Khanh Dr. Hoang Van Hiep Hanoi−2024 DECLARATION I certify that this is my research work under the guidance of my supervisor and scientists. References used in the Dissertation have been fully cited.

The data and results in the Dissertation are truthful and have never been published by other authors. Hanoi, July, 2024 Supervisors Dissertation Author Dr. Nguyen Kim Khanh Le Duc Thuan Dr. Hoang Van Hiep HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY ON BEHALF OF THE PRESIDENT P.

DIRECTOR OF DEPARTMENT OF ACADEMIC AFFAIRS ASSOCIATE DIRECTOR OF DEPARTMENT OF ACADEMIC AFFAIRS Assoc. Duong Ngoc Khanh ACKNOWLEDGEMENT My dissertation was realized during my doctoral course at the School of Information and Communications Technology (SoICT), Hanoi University of Science and Technology (HUST). HUST is a special place where I accumulated immense knowledge in my Ph. process is not a one-man process.

Therefore, I am heartily thankful to my supervisors, Dr. Nguyen Kim Khanh and Dr. Hoang Van Hiep, whose encouragement, guidance, and support from start to finish enabled me to develop my research skills and understanding of the subject. I have learned countless things from them.

This dissertation would not have been possible without their precious support. I would like to thank the Executive Board and all members of the Computer Engi- neering Department, SoICT, and HUST for their frequent support in my Ph. I thank my colleagues at the Academy of Cryptography Techniques for their help. Last but not least, I would like to thank my family: my parents, my wife, and my friends, who have supported me spiritually throughout my life.

They were always there to cheer me up and stand by me through good and bad times. Hanoi, July, 2024 Dissertation Author LE DUC THUAN CONTENTS CONTENTS i ABBREVIATIONS v LIST OF TABLES vi LIST OF FIGURES viii INTRODUCTION 1 1 OVERVIEW OF ANDROID MALWARE CLASSIFICATION BASED ON MACHINE LEARNING 6 1.2 Overview of Android Malware .2 Android Malware Classification Methods .1 Signature-based Method .2 Anomaly-based Method .3 Android Malware Classification Evaluation Metrics .1 Metrics for the Binary Classification Problem .2 Metrics for Multi-labelled Classification Problem .4 Android Malware Dataset .3 Machine Learning-based Method for Android Malware Classification .1 Related Works on Feature Extraction .1 Features Extraction Methods .2 Feature Augmentation Methods .3 Feature Selection Methods .2 Related Works on Machine Learning-based Methods .1 Random Forest Algorithm .2 Support Vector Machine .3 K-Nearest Neighbor Algorithm .4 Deep Belief Network .5 Convolutional Neural Network .6 Some Other Models. 47 2 PROPOSED METHODS FOR FEATURE EXTRACTION 49 2.1 Feature Augmentation based on Co-occurrence matrix .2 Raw Feature Extraction .3 Co-occurrence Matrix Feature Computation .3 Malware Classification based on CNN Model .4 Summary of Experimental Results .2 Feature Augmentation based on Apriori Algorithm .1 Introduction to Apriori Algorithm .3 Feature Set Creation .1 Raw Android Feature Set .2 The Feature Augmentation Set .3 Input Feature Normalization .4 Feature Augmentation Set .1 Experimental Dataset and Scenario .2 Experiment based on CNN Model .3 Summary of Experimental Results .3 Feature Selection Based on Popularity and Contrast Value in a Multi- objective Approach .2 Popularity and Contrast Computation .3 Pareto Multi-objective Optimization Method .4 Selection Function and Implementation .3 Summary of Experimental Results. 72 ii 3 DEEP LEARNING-BASED ANDROID MALWARE CLASSIFICA- TION 75 3.1 Applying DBN Model .2 Boltzmann Machine and Deep Belief Network .1 Restricted Boltzmann Machine .2 Deep Belief Network .3 Summary of Experimental Results .2 Applying CNN Model .2 Raw Feature Dataset .3 Malware Classification using CNN Model .4 Summary of Experimental Results .3 Proposed Method using WDCNN Model for Android Malware Classifi- cation .2 Building Components in the WDCNN Model .4 Summary of Experimental Results .4 Applying Federated Learning Model .1 Federated Learning Model .2 Implement Federated Learning Model .2 The Process of Synthesizing Weight Set .3 Summary of Experimental Results.

106 CONCLUSIONS 110 PUBLICATIONS 112 BIBLIOGRAPHY 114 iv ABBREVIATIONS No. Abbreviation Meaning 1 Acc Accuracy 2 API Application Programming Interface 3 CNN Convolutional Neural Network 4 DBN Deep Belief Network 5 DNN Deep Neural Network 6 FN False Negative 7 FP False Positive 8 GA Genetic Algorithm 9 GAN Generative Adversarial Network 10 GRB Red-Green-Blue 11 IG Information Gain 12 KNN K-Nearest Neighbors 13 LSTM Long Short-Term Memory 14 PSO Particle Swarm Optimization 15 RF Random Forest 16 RNN Recurrent Neural Network 17 SVM Support Vector Machine 18 TF-IDF Term Frequency – Inverse Document Frequency 19 TN True Negative 20 TP True Positive 21 RBM Restricted Boltzmann Machine 22 WDCNN Wide and Deep CNN 23 XML Androidmanifest.xml 24 DEX Classes.dex v LIST OF TABLES 1.1 Types of malware .2 Summary of Android malware datasets .4 Common API packages .5 Common suspicious API call .6 Some typical traffic flows .1 Details of parameters set in the CNN model .2 Classification with CNN model using accuracy measure (%) .3 Measurements evaluate effectiveness (%) .4 Details of parameters set in the CNN model .5 Classification results by CNN .6 Results of using CNN with measurements (%) .7 Details of parameters set in the CNN model for selection feature .8 Summary of feature evaluation measures selectivity functions (top (10)) – with API set .9 Summary of results with datasets and feature sets .10 Summary of results of proposed feature augmentation methods .1 Result with Acc measure (%) in scenario 1 .2 Result with Acc measure (%) in scenario 2 .3 Results with measures in scenario 3 (%) .4 Experimental results using CNN model .5 The datasets used for the experiment .6 Experimental results of Simple dataset .7 Experimental results of Complex dataset .8 Experimental results when comparing models .9 Accuracy comparison of models Features: Images 128x128 + permission + API .10 Experimental results with scenario 3 (%) .11 Average set of weights (accuracy - %) .12 Set of Weights according to the number of samples (accuracy - %) .13 Our proposed set of weights (accuracy - %) .14 Summary of results of proposed deep learning models and comparison. 107 vi LIST OF FIGURES 1.1 Architecture of Android OS system [37] .2 The increase of malware on Android OS .3 Types of malware on Android OS .4 Anomaly-Based Detection/Classification Technique .5 Overview of the problem of detecting malware on the Android .6 General model of feature extraction methods .7 Statistics of papers using traditional machine learning and deep learning from 2019-2022 on dblp .8 Architecture of the CNN model [118] .1 Evaluation model for Android malware classification using co-occurrence matrix .2 Output matrix with different size .3 Top (10) malware families in Drebin dataset .4 CNN having multi-convolutional networks .5 The process of research and experiment using Apriori .6 Apply the Apriori algorithm to the feature set .7 Architecture of CNN model used in the experiment with Apriori .8 Learning method implementation results .9 Proposing a feature selection model .10 Top (20) family of malware with the most samples in the AMD dataset 67 2.11 Experimental model when applying feature selection algorithm .12 Experimental results when applying feature selection algorithm .1 System development and evaluation process using the DBN .2 Architectural diagram of DBN application in Android malware detection 78 3.3 The overall model of the training and classification of malware using the CNN model .4 Test rate according to the 10-fold .5 WDCNN model operation diagram .6 Structure and parameters of the WDCNN model .7 Top 20 malware family AMD and Drebin .9 Classification of malware depending on the number of labels .10 DEX file size by size in the Drebin dataset .11 Overall model using federated learning .12 Compare the results of the weighted aggregation methods .13 Classification results with influence factor. 106 viii INTRODUCTION In the present day, there is a growing inclination towards the adoption of digital transformation and artificial intelligence in smart device applications across diverse operating systems.

This trend aligns with the advancements of the fourth industrial revolution and is being observed in numerous domains of social and economic activity. According to the statistics [1] in June 2023, Android dominated the market for mobile operating systems with 70. Furthermore, the Android operating system is utilized in a diverse range of smart devices, including but not limited to mobile phones, televi- sions, watches, automobiles, vending machines, and network routers. The rapid growth and variety of devices that use the Android operating system (OS) have contributed to the significant increase in the number, style, and appearance of malware.

Accord- ing to the statistics [2], in 2021, there were a total of 3.36 million malware found in the Android OS market. This situation leads to danger for users of mobile operating systems. Solving the problems of malware detection/classification is, therefore, urgent and necessary. As reported in the DBLP database [3] from 2013 to 2022, there were 1,081 researches on this issue.

Two main approaches are commonly applied to detect Android malware: static and dynamic analysis [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]. Static analysis involves inspecting a program’s executable file structure, characteristics, and source code. The advantage of static analysis is that it does not require that the code be executed (of course, it is pretty dangerous to run a malware file on a natural system). By examining the decompiled code, the static analysis can determine the flows and actions of the execution file and thus identify it as either malware or benign.

The disadvantage, however, is that some sophisticated malware can include malicious runtime behavior that can go undetected. On the other hand, dynamic analysis involves executing potentially malicious code in a real or sandbox environment to monitor its behavior. The sandbox environment helps analysts examine potential threats without putting the system at risk of infection. Although dynamic analysis could detect threats that might be ignored by static analy- sis, this approach requires more time and resources than static analysis.

It may not be able to cover all the possible execution paths of the malware. In summary, static analy- sis is said to help find known threats and vulnerabilities. In contrast, dynamic analysis is suitable for finding new types and uncovering threats not previously documented (i., zero-day threats). For the problem of malware detection/classification, dynamic analysis seems recommended for organizations that need a deeper understanding of malware behavior or impact and have the necessary tools and expertise to perform it.

For the problem of malware classification, static analysis is more popular due to 1 its more straightforward implementation. This dissertation uses static analysis as the main method for feature extraction. Malware classification assigns malware samples into specific malware families, in- cluding benign ones. Signature-based and machine learning-based methods have usu- ally been used for this problem.

Signature-based methods have been traditional and widely used [15, 16, 17]. They rely on matching the "signature" of known malware sam- ples with unknown ones. As mentioned in the previous paragraph, static or dynamic analysis can extract the "signature" from samples. Several limitations of signature- based methods exist as follows: (i) they cannot detect new or unknown malware; (ii) they are vulnerable to obfuscation and encryption techniques used by malware authors to evade detection; and (iii) they require constant updates of the signature database.

Machine-learning-based methods are emerging and promising techniques for malware classification. They use various machine learning algorithms to learn from a large set of labeled malware samples and then classify new ones based on their features. Conversely, machine-learning-based methods can overcome some of the challenges of signature-based methods, such as detecting new or unknown malware, handling com- plex or dynamic code features, and reducing human intervention and manual analysis.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ