Thanks to visit codestin.com
Credit goes to github.com

Skip to content

YashBagoria/Android-Malware-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Securing Android Apps: A Permission-Based Malware Detection System

This project aims to revolutionize Android security by employing sophisticated machine learning algorithms for advanced malware detection. Traditional signature-based approaches have proven inadequate against the ever-evolving landscape of malicious Android applications. Leveraging the power of machine learning, we develop robust classifiers, including K-Nearest Neighbors (KNN) and Decision Trees, to meticulously analyze an application's requested permissions and accurately classify it as benign or malicious.

The dataset comprises intricate details of various Android applications and their corresponding permissions, enabling the models to discern subtle patterns and identify potential security threats. The trained models undergo rigorous evaluation on a carefully curated test set, showcasing good performance metrics, including accuracy, precision, recall, and F1-score.

This helps strengthening Android app security, fortifying the Android ecosystem against previously undetectable threats.

I used a dataset from Kaggle to perform static analysis on the permissions required by an application to determine whether it is benign or malicious using machine learning algorithms such as Gaussian Naive Bayes, K-nearest neighbor classifier and Decision tree classifier It involved the following steps:

  1. Acquiring and preparing the dataset: I start by acquiring the dataset from Kaggle and preparing it for analysis. It involves cleaning and preprocessing the data to remove any missing or invalid values and ensure that it is in a suitable format for machine learning algorithms.

  2. Building and training the machine learning models: Once the dataset is prepared, I trained the machine learning models using the various algorithms. It involved splitting the dataset into training and testing sets, using the training set to train the models, and evaluating the models using the testing set to determine their accuracy.

  3. Evaluating and comparing the models: Then, I evaluated and compared the models to determine which one has the highest accuracy. Calculating metrics such as precision, recall, and F1 score, and visualizing the results using plots and graphs to better understand the performance of the models.

  4. Selecting the best model: Based on the results of the evaluation and comparison, I selected the model with the highest accuracy, which in this case was the decision tree classifier with an accuracy of more than 93%.

  5. Applying the model to classify new applications: Once the best model has been selected, I can use it to classify new applications as benign or malicious based on their required permissions.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors