Android Malware Detection using Deep Learning
- Classification of android apps done based on pseudo-dynamic analysis of system API Call sequences.
- Developed a Deep Convolutional Neural network (CNN) and a Recurrent Neural Network (LSTM) model.
- Compared performance of these Deep Neural Network models with Naive Bayes Classifier.
- Developed an autoencoder model and fed the compressed representation to the CNN model .
File | Description |
---|---|
generate_dict.py | Generates global dictionary for storing mapping all distinct API Calls to numbers in the dataset and pickles the dictionary |
load_dict.py | Loads the dictionary of API Calls |
extract_all_features.py | Extracts all feature vectors (of size n X m X h) for 8 testcases in dataset and pickles them |
extract_all_features_compressed.py | Extracts all feature vectors (of size n X h) for 600 apps in dataset and pickles them |
data_reader.py | Loads all pickled feature vectors |
uncompress.py | Uncompresses features to one-hot form |
cnn2.py and cnn3.py | Different cnn architectures |
lstm.py | lstm model |
nb.py | Naive bayes model |
ae.py | Stacked Autoencoder |
ae_cnn.py | Training Cnn with Stacked autoencoder |
ae_cnn_test.py | Testing Cnn with Stacked autoencoder |