This is my final year project and all the source code is in this repository
The project aims to develop a system that can accurately identify malicious portable executable (PE) files using machine learning techniques. The system will analyze various features of the PE files, including file size, header information, and code sections, to distinguish between legitimate and malicious files.
The system will use a supervised learning approach to train a machine learning model on a large dataset of PE files. The dataset will be labeled with information about the malware family, allowing the model to learn patterns and characteristics that distinguish between different types of malware. The system will continually update its model to adapt to new malware variants and ensure accurate detection.
Clone the repository: git clone https://github.com/Atuke/Malware-Detection-Using-Machine-Learning.git
Install the required packages: pip install -r requirements.txt .
If that doesnt work then you need to install the packages individually from terminal.
pip install keras
pip install flask
pip install pandas
pip install scikit-learn
pip install pefile
pip install tensorflow
pip install opencv-python
pip install flask-wtf
pip install Pillow
pip install flask_sqlalchemy
pip install flask_login
If there is an error that doesnt let you install tensorflow. You need to enable Long paths from your Registry File in Windows.
The steps are Open Registry Editor>HKEY_LOCAL_MACHINE>SYSTEM>ControlSet001>Control>FileSystem. From File System select LongPathsEnabled and change the value data from 0 to 1.
Restart your computer.
Open and run the main.py file
The tool generates a report that can be used to gain insight into the file status of an executable file.
This project utilizes the following libraries:
- Flask: Python web framework.
- SQLAlchemy: Python SQL toolkit and ORM library.
- scikit-learn: Machine learning library for Python.
- pandas: Data manipulation and analysis library for Python.
- NumPy: Numerical computing library for Python.
- pefile: Python library for parsing PE file format.
- Bootstrap: HTML, CSS, and JavaScript framework.
- Flask-Login: Flask extension for user session management and authentication.
Kimberly Tam