Skip to content

Atuk3/Malware-Detection-Using-Machine-Learning

Repository files navigation

Static Malware Detection in Portable Executable Files using Machine Learning

This is my final year project and all the source code is in this repository

Project Vision: Machine Learning-Based Malware Identification

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.

Installation

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.

Usage

Open and run the main.py file

Results

The tool generates a report that can be used to gain insight into the file status of an executable file.

Libraries Used

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.

Supervisor

Kimberly Tam

About

This is my final year project and I will store all my source code in this repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors