|
Usman Azhar Project Lead & Lead Developer @Usman-Azhar |
Reyan Kashif Core Developer & Algorithm Specialist @Reyan-kashif |
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.
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.
- Showcase DSA applications in cybersecurity.
- Develop a functional antivirus prototype.
- Optimize threat detection efficiency.
| 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. |
- SignatureDB: Manages virus definitions using linked lists for optimal memory utilization.
- Scanner: Efficiently reads input files and matches against virus signatures.
- Report Generator: Sorts and formats detection results by severity for clear insights.
- Queue Template: Ensures FIFO storage for threat results.
- LinkedList Template: Allows dynamic handling of virus signatures.
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.
- C++11-compatible compiler (g++, clang).
- Command-line access.
- Clone the repository:
git clone https://github.com/Usman-Azhar/SentinelAV-DSA-Based-Antivirus.git cd SentinelAV-DSA-Based-Antivirus - Navigate to the source directory:
cd Deliverable_4/src - Compile and run the antivirus:
g++ -std=c++11 main.cpp signatureDB.cpp scanner.cpp report.cpp -o sentinelAV ./sentinelAV
- 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.
- 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.