Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AntiVirus Machine Learning Project

A machine learning-based antivirus solution developed by Yashraj Jangra. This project leverages data-driven techniques to distinguish between legitimate and malicious executable files, aiming to enhance malware detection accuracy and efficiency.


Table of Contents

  • Overview
  • Dataset
  • Features
  • Getting Started
  • Usage
  • Results
  • Contributing
  • License
  • Author

Overview

This project implements a machine learning pipeline to classify Windows executable files as either legitimate or malicious. Using a rich dataset with a variety of executable file features, the model is trained to identify patterns commonly associated with malware. The goal is to provide an effective, automated approach to antivirus detection using data science techniques.


Dataset

  • The dataset consists of 138,047 samples, each representing a Windows executable file.
  • Each sample contains 57 features, including:
    • File metadata (e.g., Name, md5 hash, Machine type)
    • PE header information (e.g., SizeOfOptionalHeader, Characteristics)
    • Code and data segment sizes (e.g., SizeOfCode, SizeOfInitializedData)
    • Resource statistics (e.g., ResourcesNb, ResourcesMeanEntropy)
    • Entropy and size metrics for embedded resources
    • Labels indicating whether the file is legitimate (1) or malicious (0)[1].

Features

  • Comprehensive Feature Set: 57 features per executable, including entropy, resource size, and PE header values.
  • Large-Scale Data: Over 138,000 samples for robust model training and evaluation.
  • Binary Classification: Predicts whether a file is legitimate or malware.
  • Data Analysis: Exploratory data analysis and summary statistics included for transparency and reproducibility.

Getting Started

Prerequisites

  • Python 3.x
  • pandas
  • (Other libraries as required by the notebook, e.g., scikit-learn, numpy, matplotlib)

Setup

  1. Clone the repository:
    git clone https://github.com/Yashraj-Jangra/AntiVirus-ML.git
    cd AntiVirus-ML
  2. Install dependencies:
    pip install -r requirements.txt
  3. Download or ensure data.csv is present in the project directory.

Usage

  • Open the AntiVirus.ipynb Jupyter notebook.
  • Run the notebook cells sequentially to:
    • Import and explore the dataset
    • Preprocess the data
    • Train and evaluate the machine learning model
    • View results and performance metrics

Results

  • The notebook provides summary statistics for all features, including mean, standard deviation, min, max, and quartiles[1].
  • Sample rows from both legitimate and malware files are displayed for transparency.
  • Model performance metrics (accuracy, precision, recall, etc.) are reported at the end of the notebook.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request. For major changes, open an issue first to discuss your ideas.


License

This project is licensed under the MIT License.


Author

Yashraj Jangra
GitHub Profile


For any questions or issues, please open an issue in the repository or contact the author via GitHub.


About

Its a college project using ML that detects if a file is malicious or not

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages