Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

72 Commits

Folders and files

Repository files navigation

SentinelAV: DSA-Based Antivirus Engine

C++

👥 Team Members

Usman Azhar
Usman Azhar

Project Lead & Lead Developer
@Usman-Azhar
Reyan Kashif
Reyan Kashif

Core Developer & Algorithm Specialist
@Reyan-kashif
Malik Abdullah
Malik Abdullah

Data Structures & Testing Lead
@Abdullah-Malik

A robust antivirus engine prototype that leverages practical applications of Data Structures and Algorithms (DSA) for real-time threat detection and file scanning. Built entirely in C++, SentinelAV exemplifies the fusion of theoretical computer science concepts and cybersecurity practices.


📋 Project Overview

SentinelAV serves as a learning-driven exploration of how real-world antivirus engines operate, emphasizing modular design, efficient data handling, and scalable architecture. It features a comprehensive virus signature database, efficient file scanning mechanisms, and thorough threat ranking and reporting.

Core Objectives:

  • Showcase DSA applications in cybersecurity.
  • Develop a functional antivirus prototype.
  • Optimize threat detection efficiency.

🌟 Key Features

Feature Highlights
Dynamic Storage Linked lists for adaptive virus signature management.
Order Preservation Queue-based discovery to prioritize relevant threats.
Severity Ranking Organized threat display based on criticality.
Scalable Design Modular components ensuring code reusability.
Robust Validation Secure file I/O and edge-case handling.
Custom Templates Reusable data structure implementations for scalability.

🔧 Core Components

  1. SignatureDB: Manages virus definitions using linked lists for optimal memory utilization.
  2. Scanner: Efficiently reads input files and matches against virus signatures.
  3. Report Generator: Sorts and formats detection results by severity for clear insights.
  4. Queue Template: Ensures FIFO storage for threat results.
  5. LinkedList Template: Allows dynamic handling of virus signatures.

⚙️ How It Works

1. Load Signatures  → 2. Scan Files  → 3. Store Detections  → 4. Generate Reports
  • Load virus patterns from the signature database.
  • Scan input files line-by-line and store matches in a queue.
  • Rank stored detections by severity and generate formatted reports.

🚀 Getting Started

Prerequisites:

  • C++11-compatible compiler (g++, clang).
  • Command-line access.

Installation & Execution:

  1. Clone the repository:
    git clone https://github.com/Usman-Azhar/SentinelAV-DSA-Based-Antivirus.git
    cd SentinelAV-DSA-Based-Antivirus
  2. Navigate to the source directory:
    cd Deliverable_4/src
  3. Compile and run the antivirus:
    g++ -std=c++11 main.cpp signatureDB.cpp scanner.cpp report.cpp -o sentinelAV
    ./sentinelAV

📚 Learning Outcomes

  • Practical insights into DSA applications like linked lists and queues.
  • Understanding pattern-matching algorithms in file scanning.
  • Building scalable applications with modular design and template classes.

📈 Performance Metrics

  • Best-case scanning speed: O(n)
  • Dynamic detection storage: O(k) space complexity for queue usage.

For project details, visit the repository. Contribute, explore, and learn—a project dedicated to making cybersecurity education accessible and impactful.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages