Skip to content

sbhag3/malware_detection_classifier

Repository files navigation

Malware Description Classifier (MDC)

What is MDC?

The Malware Description Classifier (MDC) is an LLM-like tool that people can use to understand and identify potential threats on their systems. Our MDC uses an online API and the use of a machine learning model to analyze threats with only a simple description of the problems on the system. For more detailed information about our planning and project timeline, here is our project proposal

Developers

  • Agilan Gunashankar: Machine learning model and calling VirusTotal API
  • Gana Visank Ventrapragada: Parsing raw data via SQL to use for ML model
  • Ismail Mohammad: Front-end implementation and assistance for back-end components
  • Saishashank Bhagavatula: Connecting front-end and back-end components

Technical Architecture

image

Environment Setup

1. Prerequisites

Ensure that you have the following prerequisites installed on your system:

  • Python (version 3.6 or higher)
  • Pip (Python package installer)
  • Git
  • MySQL server

2. Clone the Repository

git clone https://github.com/CS222-UIUC-FA23/group-project-team93.git
cd group-project-team93

3. Set Up Python Environment

pip install virtualenv
virtualenv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

4. Install Required Libraries

pip install -r requirements.txt

This will install the necessary Python libraries, including TensorFlow, PyTorch, scikit-learn, and others.

5. Database Setup

Ensure that you have a MySQL server running and update the database connection details in the 'config.py' file.

# config.py
DB_HOST = 'your_mysql_host'
DB_USER = 'your_mysql_user'
DB_PASSWORD = 'your_mysql_password'
DB_NAME = 'mdc_database'

6. Run Backend

python backend.py

This will start the backend server with machine learning models, connecting to the MySQL database.

7. Run Frontend

python frontend.py

Access the MDC website by navigating to http://localhost:your_port in your web browser.

8. Explore the MDC Website

  • Use the provided input fields to simulate malware descriptions and observe the classification results.
  • Explore the various features, including the integration with the VirusTotal API, user feedback, and database interactions.

9. Testing

For testing the backend components:

python -m unittest discover -s tests

For frontend user interface testing with Selenium:

# Ensure that you have the latest version of ChromeDriver installed
python -m unittest discover -s tests_ui

10. Contribute and Collaborate

Feel free to contribute to the project by opening issues, proposing enhancements, or submitting pull requests on GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published