MalwareMind is an advanced malware detection system leveraging Convolutional Neural Networks (CNNs) to identify and classify malware from binary executables. The project offers a seamless user interface for uploading files, visualizing detection results, and managing analysis pipelines. With modularity and scalability in mind, MalwareMind aims to facilitate secure and efficient malware analysis.
-
CNN-based Malware Detection: Utilize a pre-trained CNN model for accurate malware classification.
-
File Upload System: Easy drag-and-drop interface for uploading files.
-
Real-time Results Visualization: Interactive dashboard to display detection results.
-
Dockerized Deployment: Simplified setup using Docker Compose for both backend and frontend.
-
Scalability: Modular codebase supporting future enhancements.
The project consists of the following components:
-
Backend:
- FastAPI: RESTful API to handle file uploads, process data, and return detection results.
- Model Inference: The CNN model performs predictions on binary data converted into image format.
- Database: Manages uploaded files and their detection results.
-
Frontend:
- Vue.js: Provides a responsive and user-friendly interface for file uploads and result visualization.
-
Docker:
- Docker Compose: Orchestrates multi-container deployment for backend and frontend.
Ensure that you have the following installed:
- Python 3.10
- Docker (with Docker Compose)
- Recommended OS: Linux/macOS/Windows
- Clone the repository:
git clone https://github.com/your-username/MalwareMind.git cd MalwareMind
- Build and run the Docker containers:
docker-compose up --build
- Access the application:
- UI: Open your browser and navigate to http://localhost:3000
- Backend API: Accessible at http://localhost:8000
- Upload Files:
- Drag and drop your binary executable files onto the upload area.
- Alternatively, use the API endpoint for bulk uploads.
- Detection Results:
- After upload, the system processes the files and displays the classification results on the dashboard.
- Multiple File
- The system supports multiple file uploads in one go, enhancing efficiency.
- FastAPI: Update app.py to customize API endpoints. (Currently using RESTful API framework for handling file uploads and managing the CNN detection process.)
- CNN Model: Adjust the CNN model in module.py as needed. (Currently using default pre-trained Convolutional Neural Network for malware detection.)
- Update Vue components in the frontend/ directory to improve UI/UX.backend API.
MalwareMind/
├── frontend/ # Vue.js frontend source code
│ ├── src/
│ ├── public/
│ └── Dockerfile
│
├── backend/
│ ├── app.py # Main application entry point
│ ├── ...
│ └── Dockerfile
├── docker-compose.yaml # Docker compose configuration
└── README.md # Project documentation
- Enhanced Model Training: Improving the accuracy of the CNN model by incorporating more data and fine-tuning the model.
- Additional File Formats: Extending the system to support a wider range of file formats for detection.
- User Feedback System: Adding functionality for users to provide feedback on detection results, potentially improving the model through retraining.
- Dynamic Threat Analysis: Integration with real-time threat intelligence feeds.
- Enhanced Visualization: Advanced data visualization for detection patterns.
- Cloud Integration: Deploy the system on cloud platforms for scalability.
Contributions are welcome! Please follow the standard GitHub workflow:
- Fork the repository.
- Create a new branch (feature/new-feature).
- Commit changes and push to your branch.
- Submit a pull request for review.
For inquiries, please contact:
- Name: Darrius Chen
- Email: [email protected]