- Notifications
You must be signed in to change notification settings - Fork0
Binary classification of PE files using neural network
License
NotificationsYou must be signed in to change notification settings
karust/mlmc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is the app for classifying of malwares using machine learning approach. It uses trained neural network to classify given PE file as malicious or legitimate.
Currently MLMC implements approach of static analysis of files - it collects some static parameters of file, that are then fed into neural network, which was previously trained on a tousands of malicious and legitimate samples.
Note: code not fully ported to Linux.
Note: Server now only tested on Ubuntu-18.
- Clone repository:
git clone https://github.com/karust/av_back.gitcd av_back
- Create Python virtual enviournment and activate it:
virtualenv mlmcbsource ./mlmcb/bin/activate
- Install required libraries:
pip3 install -r requirements.txt
Project consists of 3 parts:
- Server - Web server for classification of PE files.
- Static - Code for classifying PE files by their static features.
- collect_data.py - collect static features of PE files;
- training.py - train neural network on collected data;
- analyzer.py - server with the trained neural network on board.
- Auxillary - Helper modules. Currently there is a script which helps to collect data in one place to further analysis.
python3 main.py
- Head on tohttp://127.0.0.1:8888/ in your favorite browser and see menu where you can select one file to analyze or even folder:
- If there is no error, after some time file should be uploaded:
- Then you can navigate to analysis menu where you can see the results and play with sorting of files:
- If you interested in more detailed information you can click by the file and see its features: