├── Data ├── Oversampled │ ├── Class Distribution.png │ └── dt.png ├── Undersampled │ ├── Class Distribution.png │ └── dt.png └── Unsampled │ ├── Class Distribution.png │ ├── dt.png │ └── pca_dt.png ├── Dataset └── Android_Permission.csv ├── Group_7_Presentation.pdf ├── Group_7_Report.pdf ├── Plots ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── c1.png ├── c2.png ├── c3.png ├── c4.png ├── e1.png ├── e2.png ├── e3.png ├── e4.png ├── e5.png ├── o1.png ├── o2.png ├── o3.png ├── p2.png └── t1.png ├── README.md ├── Results ├── t2.png ├── t3.png ├── t4.png └── t5.png └── code.ipynb /Data/Oversampled/Class Distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Oversampled/Class Distribution.png -------------------------------------------------------------------------------- /Data/Oversampled/dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Oversampled/dt.png -------------------------------------------------------------------------------- /Data/Undersampled/Class Distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Undersampled/Class Distribution.png -------------------------------------------------------------------------------- /Data/Undersampled/dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Undersampled/dt.png -------------------------------------------------------------------------------- /Data/Unsampled/Class Distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Unsampled/Class Distribution.png -------------------------------------------------------------------------------- /Data/Unsampled/dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Unsampled/dt.png -------------------------------------------------------------------------------- /Data/Unsampled/pca_dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Data/Unsampled/pca_dt.png -------------------------------------------------------------------------------- /Group_7_Presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Group_7_Presentation.pdf -------------------------------------------------------------------------------- /Group_7_Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Group_7_Report.pdf -------------------------------------------------------------------------------- /Plots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/2.png -------------------------------------------------------------------------------- /Plots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/3.png -------------------------------------------------------------------------------- /Plots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/4.png -------------------------------------------------------------------------------- /Plots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/5.png -------------------------------------------------------------------------------- /Plots/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/c1.png -------------------------------------------------------------------------------- /Plots/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/c2.png -------------------------------------------------------------------------------- /Plots/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/c3.png -------------------------------------------------------------------------------- /Plots/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/c4.png -------------------------------------------------------------------------------- /Plots/e1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/e1.png -------------------------------------------------------------------------------- /Plots/e2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/e2.png -------------------------------------------------------------------------------- /Plots/e3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/e3.png -------------------------------------------------------------------------------- /Plots/e4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/e4.png -------------------------------------------------------------------------------- /Plots/e5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/e5.png -------------------------------------------------------------------------------- /Plots/o1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/o1.png -------------------------------------------------------------------------------- /Plots/o2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/o2.png -------------------------------------------------------------------------------- /Plots/o3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/o3.png -------------------------------------------------------------------------------- /Plots/p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/p2.png -------------------------------------------------------------------------------- /Plots/t1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Findcoding/Android-Malware-Detection-System-Using-Machine-Learning/d802d3f6ab04c287afe747c94c2d890a757c934d/Plots/t1.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Android Malware Detection System Using Machine Learning 2 | 3 | > ## Purpose: 4 | Project at [IIITD](https://www.iiitd.ac.in/) 5 | under the course [CSE343 : Machine Learning](http://techtree.iiitd.edu.in/viewDescription/filename?=ECE363 "Course Description") under the guidance of Professor [Anubha Gupta](https://www.iiitd.ac.in/anubha "Profile") 6 | 7 | > ## Contributors: 8 | - [Bijendar Prasad](https://Findcoding "GitHub Profile") 9 | 10 | > ## Motivation: 11 | 12 | As the android market continues to expand, so does the prevalence of malicious apps. According to [ZDNet](https://www.zdnet.com/article/play-store-identified-as-main-distribution-vector-for-most-android-malware), as many as 10%-24% of apps available on the Play store could be malicious in nature. These apps may appear innocuous at first glance, but they can wreak havoc on a user’s system in a variety of harmful ways. Unfortunately, current methods for detecting malware are both resource-intensive and exhaustive, and they struggle to keep up with the rapid pace at which new malware is being developed. 13 | 14 | **What can help us to overcome these challenges ?** 15 | - Developing a comprehensive strategy to assess and analyze data from confirmed malicious applications. 16 | - Creating a model that can accurately predict the presence of malicious applications based on their permissions. 17 | - Introducing a machine learning-based malware detection model that utilizes publicly available metadata information. This model will be evaluated to determine its effectiveness as a first-stage filter for detecting Android malware. 18 | 19 | 20 | > ## Introduction: 21 | 22 | Despite the growing threat of malware, there is still no reliable and robust method for detecting malicious applications. However, 23 | with the increasing use of machine learning in various fields, we believe that this issue can be addressed through the application 24 | of machine learning techniques. Our project aims to conduct a thorough and systematic investigation into the use of machine 25 | learning for malware detection, with the ultimate goal of developing an efficient ML model capable of accurately classifying 26 | apps as either **benign (0)** or **malware (1)** based on their requested permissions. 27 | This study Proposes: 28 | - Conducting an in-depth examination and evaluation of Android metadata and permissions as predictors of malware. 29 | - Introducing a machine learning-based malware detection strategy that utilizes publicly available metadata information. 30 | - Analyzing the effectiveness of this model and assessing its potential as a first-stage filter for detecting Android malware. 31 | 32 | 33 | 34 | > ## Dataset Description: 35 | - Dataset has been taken from [kaggle](https://www.kaggle.com/saurabhshahane/android-permission-dataset/) 36 | - Data contains the details of the permission of almost 30k app 37 | - There are 183 features in the dataset like Dangerous Permissions Count, Default : Access DRM content, Default : Move application resource, etc. 38 | - There is one target class (binary- 0/1) named - ‘Class’, indicating Benign(0) and Malware(1) applications. 39 | - There are 29,999 records with 20,000 malwares and 9,999 benign apps. 40 | 41 | **Prerocessing, Visualization and Analysis:** 42 | The data is first imported from a CSV file and loaded into a dataframe for ease of 43 | use. The necessary attributes are then extracted from the dataset. To gain a better understanding of the data, several plots are 44 | generated. The data is checked for null or missing values, and any such values are replaced with the mean of the corresponding 45 | column. The distribution of malware and benign applications across various settings is then analyzed, and the results are 46 | visualized through a series of plots created using **Matplotlib** and **Seaborn**. 47 | 48 | 49 | > ## Plots: 50 | 51 |