Demo: Youtube
Try at: Streamlit
- This is a Python program to train Malware Detection ML Model and check if a given file is a probable MALWARE or not!
- It uses Random Forest algorithm for training the ML model.
- I have implemented it in 2 ways:
- CLI app
- Streamlit app
NOTE: Don't run any files inside malwares folder, as these are actual malwares taken from GitHub.
- For running CLI app:
- For running Streamlit app:
- streamlit
- joblib
- pefile
- For training your own model:
- numpy
- pandas
- scikit-learn
- joblib
- pefile
- Scikit-learn - Scikit-learn (formerly scikits.learn and also known as sklearn) is a free software machine learning library for the Python programming language.
- RandomForestClassifier
- ExtraTreesClassifier
- Malware Dataset - The raw data here was obtained from the malware security partner of Meraz'18 - Annual Techno Cultural festival of IIT Bhilai, the said raw data constituted malware and legitimate files.
- Streamlit - for GUI - Streamlit is an open-source app framework for Machine Learning and Data Science teams.
- Flask - for distributed system - Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions.
-
Download this GitHub repository
- Either Clone the repository
git clone https://github.com/Kunal-Attri/Malware-Detection-ML-Model.git
- Or download and extract the zip archive of the repository.
- Either Clone the repository
-
Download & Install requirements
- Ensure that you have Python 3 installed.
- Open terminal in the Repository folder on your local machine.
- Run the following command to install requirements.
pip3 install -r requirements.txt
-
Run CLI app
-
Run Streamlit app
- Try on web app here.
- or run locally by:
streamlit run streamlit_app.py
- Expected Interface