All Projects → ALFA-group → Robust Adv Malware Detection

ALFA-group / Robust Adv Malware Detection

Licence: mit
Code repository for the paper "Adversarial Deep Learning for Robust Detection of Binary Encoded Malware"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Robust Adv Malware Detection

Malware-Sample-Sources
Malware Sample Sources
Stars: ✭ 214 (+239.68%)
Mutual labels:  malware, cybersecurity
Malware-Machine-Learning
Malware Machine Learning
Stars: ✭ 26 (-58.73%)
Mutual labels:  malware, cybersecurity
Reverse-Engineering
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Stars: ✭ 7,234 (+11382.54%)
Mutual labels:  malware, cybersecurity
awesome-executable-packing
A curated list of awesome resources related to executable packing
Stars: ✭ 720 (+1042.86%)
Mutual labels:  malware, cybersecurity
Reverse Engineering Tutorial
A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Stars: ✭ 5,763 (+9047.62%)
Mutual labels:  malware, cybersecurity
ThePhish
ThePhish: an automated phishing email analysis tool
Stars: ✭ 676 (+973.02%)
Mutual labels:  malware, cybersecurity
aurora
Malware similarity platform with modularity in mind.
Stars: ✭ 70 (+11.11%)
Mutual labels:  malware, cybersecurity
The Big List Of Hacked Malware Web Sites
This repository contains a list of all web sites I come across that are either hacked with or purposefully hosting malware, ransomware, viruses or trojans.
Stars: ✭ 125 (+98.41%)
Mutual labels:  malware, cybersecurity
Ir Rescue
A Windows Batch script and a Unix Bash script to comprehensively collect host forensic data during incident response.
Stars: ✭ 311 (+393.65%)
Mutual labels:  malware, cybersecurity
Malsub
A Python RESTful API framework for online malware analysis and threat intelligence services.
Stars: ✭ 308 (+388.89%)
Mutual labels:  malware, cybersecurity
Malware-Zoo
Hashes of infamous malware
Stars: ✭ 18 (-71.43%)
Mutual labels:  malware, cybersecurity
Awesome Cybersecurity Datasets
A curated list of amazingly awesome Cybersecurity datasets
Stars: ✭ 380 (+503.17%)
Mutual labels:  malware, cybersecurity
Abused-Legitimate-Services
Cloud, CDN, and marketing services leveraged by cybercriminals and APT groups
Stars: ✭ 42 (-33.33%)
Mutual labels:  malware, cybersecurity
who and what to follow
Who and what to follow in the world of cyber security
Stars: ✭ 124 (+96.83%)
Mutual labels:  malware, cybersecurity
Owlyshield
Owlyshield is an EDR framework designed to safeguard vulnerable applications from potential exploitation (C&C, exfiltration and impact))..
Stars: ✭ 281 (+346.03%)
Mutual labels:  malware, cybersecurity
decrypticon
Java-layer Android Malware Simplifier
Stars: ✭ 17 (-73.02%)
Mutual labels:  optimization, malware
Awesome Malware
💻⚠️ A curated collection of awesome malware, botnets, and other post-exploitation tools.
Stars: ✭ 108 (+71.43%)
Mutual labels:  malware, cybersecurity
Ratel
RAT-el is an open source penetration test tool that allows you to take control of a windows machine. It works on the client-server model, the server sends commands and the client executes the commands and sends the result back to the server. The client is completely undetectable by anti-virus software.
Stars: ✭ 121 (+92.06%)
Mutual labels:  malware, cybersecurity
Open-source-tools-for-CTI
Public Repository of Open Source Tools for Cyber Threat Intelligence Analysts and Researchers
Stars: ✭ 91 (+44.44%)
Mutual labels:  malware, cybersecurity
Simplify
Android virtual machine and deobfuscator
Stars: ✭ 3,865 (+6034.92%)
Mutual labels:  malware, optimization

robust-adv-malware-detection

Code repository for the paper Adversarial Deep Learning for Robust Detection of Binary Encoded Malware, A. Al-Dujaili et al., 2018

Installation

All the required packages are specified in the yml files under helper_files. If you have conda installed, you can just cd to the main directory and execute the following with osx_environment.yml or linux_environment.yml on OSx or Linux, respectively.

conda env create —f ./helper_files/(osx|linux)_environment.yml

This will create an environment called nn_mal.

To activate this environment, execute:

source activate nn_mal

Note: If you're going to use losswise, you may run into an issue of one print line whose argument is not enclosed by brackets, just put the brackets if this error shows up and you're good to go.

Note: If you’re running the code on Mac OS with Cuda, then according to Pytorch.org “macOS Binaries dont support CUDA, install from source if CUDA is needed”

Running:

  1. Configure your experiment as desired by modifying the parameters.ini file. Among the things you may want to to specify: a - dataset filepath b - gpu device if any c - name of the experiment d - training method (inner maximizer) e - evasion method

Note In case you do not have access to the dataset, you can still run the code on a synthetic dataset with 8-dimensional binary feature vectors, whose bits are set with probability 0.2 for malicious class and 0.8 for benign class.

  1. Execute framework.py
python framework.py

Note: the experiments can be all logged and monitored using losswise. To activate logging, set losswise_api_key to your API key in parameters.in and set is_losswise to True

Reproducing Paper Results:

In order to reproduce the results in the paper, set the filepaths to the malicious and benign saved feature vectors (these can be re-generated with generate_vectors.py) and execute the run_experiments.py script

python run_experiments.py

Results (accuracy metrics, bscn measures, and evasion rates) will be populated under (to-be-generated) result_files directory. On the other hand, the trained models will be saved under helper_files.

The results can be compiled into LaTeX tables saved under result_files by runnig the function create_tex_tables() with the valid filepath to the result files under utils/script_functions.py. By default, you can do the following

cd utils/
python script_functions.py

NOTE For linux OS, you may run into the trouble of running source from within Python os.system(). A workaround is to replace the os.system() command in run_experiments.py with the following line:

system('/bin/bash -c "source activate nn_mal;python framework.py”')

Citation

If you make use of this code and you'd like to cite us, please consider the following:

@article{al2018adversarial,
  title={Adversarial Deep Learning for Robust Detection of Binary Encoded Malware},
  author={Al-Dujaili, Abdullah and Huang, Alex and Hemberg, Erik and O'Reilly, Una-May},
  journal={arXiv preprint arXiv:1801.02950},
  year={2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].