Skip to content

The Malware Detection Tool is a cybersecurity project designed to detect and analyze potential malware threats in a system. The tool provides multiple layers of malware detection using VirusTotal API scanning, YARA rule-based detection, and process monitoring to identify suspicious activities. A GUI-based interface (Tkinter) ensures ease of use.

Notifications You must be signed in to change notification settings

akashavcoewala/MalwareDetectionTool

Repository files navigation

Malware Detection Tool

Overview

The Malware Detection Tool is a cybersecurity project designed to detect and analyze potential malware threats in a system. The tool provides multiple layers of malware detection using VirusTotal API scanning, YARA rule-based detection, and process monitoring to identify suspicious activities. A GUI-based interface (Tkinter) ensures ease of use.

Features

  • VirusTotal API Scanner: Uploads files and retrieves threat intelligence from VirusTotal.
  • YARA Rule-Based Detection: Uses predefined malware detection rules to identify malicious files.
  • Process Monitoring: Detects suspicious processes running on the system.
  • Graphical User Interface (GUI): A simple, user-friendly GUI built with Tkinter.
  • Real-time Malware Analysis: Monitors file activities and system behavior in real-time.

Technologies Used

  • Python (Core programming language)
  • Tkinter (GUI development)
  • VirusTotal API (Cloud-based malware scanning)
  • YARA (Rule-based malware classification)
  • psutil (Process monitoring)
  • requests (API requests handling)
  • os, hashlib, json (File handling and hashing)

📂 Folder Structure

MalwareDetectionTool/
│── gui.py                 # GUI Interface (Tkinter)
│── virus_total.py          # VirusTotal API Scanner
│── yara_scan.py            # YARA Rule-Based Scanner
│── process_monitor.py      # Suspicious Process Detector
│── malware_rule.yara       # YARA Rules File
│── requirements.txt        # Dependencies List
│── README.md               # Documentation

🔧 Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/akashavcoewala/MalwareDetectionTool.git
cd MalwareDetectionTool

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Obtain a VirusTotal API Key

  • Go to VirusTotal
  • Create an account and get your API key
  • Add the API key to virus_total.py:
API_KEY = "your_api_key_here"

4️⃣ Run the Tool

python gui.py

🛠️ How Each Component Works

1️⃣ GUI (gui.py)

  • Provides a user-friendly interface to scan files
  • Allows file selection and displays results from all scanning modules

2️⃣ VirusTotal Scanner (virus_total.py)

  • Uploads selected files to VirusTotal
  • Fetches results on known malware signatures
  • Returns a risk assessment report

3️⃣ YARA Rule-Based Scanner (yara_scan.py)

  • Uses malware_rule.yara file to check for malware patterns
  • Scans files against predefined YARA rules

4️⃣ Process Monitor (process_monitor.py)

  • Uses psutil to monitor running processes
  • Flags suspicious activities based on behavior analysis

📝 How to Test the Malware Detection Tool

Basic Testing

  1. Run the tool (python gui.py)
  2. Upload a sample file (benign or test malware like EICAR test file)
  3. Check the detection results from:
    • VirusTotal API
    • YARA Rule Matching
    • Process Monitoring

Advanced Testing

  • Use known malware samples in a safe environment (like a sandboxed VM)
  • Modify malware_rule.yara to create custom detection rules
  • Simulate suspicious processes and observe process monitoring behavior

🔥 Interview Preparation Questions

1️⃣ General Questions

  • What are different ways to detect malware?
  • How does VirusTotal API help in malware detection?
  • How do YARA rules work?

2️⃣ Technical Questions

  • How does hashlib help in malware scanning?
  • How does psutil detect suspicious processes?
  • How does VirusTotal API interact with this tool?

3️⃣ Practical Implementation

  • How can you improve malware detection accuracy?
  • How would you integrate this tool with cloud-based security?

🔒 Security Considerations

  • Rate Limits: VirusTotal API has request limits, so avoid excessive API calls.
  • False Positives: YARA rules might detect safe files as malware.
  • Process Handling: Avoid terminating essential system processes.

🚀 Future Enhancements

  • Machine Learning Integration: Train a model for anomaly detection.
  • Auto Sandboxing: Execute and analyze malware behavior in a VM.
  • Browser Extension: Scan URLs for malware before opening them.

📜 License

This project is open-source under the MIT License.


📢 Acknowledgements

  • VirusTotal API for cloud-based malware scanning.
  • YARA for rule-based malware detection.
  • psutil for process monitoring.

For any queries, feel free to reach out via GitHub Issues. 🚀

About

The Malware Detection Tool is a cybersecurity project designed to detect and analyze potential malware threats in a system. The tool provides multiple layers of malware detection using VirusTotal API scanning, YARA rule-based detection, and process monitoring to identify suspicious activities. A GUI-based interface (Tkinter) ensures ease of use.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published