Chapter 3
Chapter 3
For this research on designing and implementing a Vulnerability Assessment System (VAS)
using Python, a Mixed Methods Approach will be used. This combines both quantitative and
of the system.
Quantitative methods are frequently employed to analyze numerical data, measure vulnerability
risks, and assess system performance. These methods often involve automated tools,
This method is efficient and allows Automated tools can quickly scan and identify vulnerabilities
in extensive systems. Results are standardized using metrics, ensuring consistency and
Qualitative methods focus on understanding the context, system-specific challenges, and human
factors influencing vulnerabilities. These methods involve interviews, case studies, and expert
evaluations.
This method allows Contextual Relevance Which Provides insights into unique threats and
organizational priorities that automated methods might overlook. Also provides Flexibility,
Given the objectives of this research, the Descriptive and Exploratory Research Design will be
applied:
Descriptive Approach:
with detailed reports on detected vulnerabilities. Analyzes trends in detected vulnerabilities (e.g.,
Exploratory Approach:
Investigates novel techniques for improving vulnerability detection accuracy. Explores the
effectiveness of using Python libraries such as OpenVAS, PyNmap, and Scapy for scanning.
This research design aligns with the goal of understanding the efficiency of automated
The Agile Software Development Methodology will be used for the development of the
supports continuous feedback from cybersecurity experts and testers. It enables flexibility to
1. Sprint Planning: Define the key functionalities (e.g., scanning modules, reporting features).
2. Development in Iterations: Each sprint will focus on adding and testing specific modules, such
3. Testing & Evaluation: Each feature will be tested using real-world datasets and industry-
4. Feedback & Improvement: Security experts will review the findings and suggest
5. Final Deployment: After several iterations, a stable version will be released and evaluated
This Agile approach ensures that the VAS is continuously improved to provide better security
its structure, behavior, and functionality. These representations serve as tools to aid in the
analysis, design, and overall understanding of the system being developed or studied. A
commonly used standard for this purpose is UML (Unified Modeling Language), which provides
a comprehensive framework for specifying, visualizing, constructing, and documenting the
A Use Case Diagram helps visualize the system's interaction with users and how it performs
specific tasks.
Actor
Performs security scans using tools like nmap, Scapy, and API services (Shodan, Have I Been
Pwned). Analyzes collected data to detect open ports, firewall status, outdated OS versions, and
misconfigurations. Generates vulnerability reports and allows users to save them for future
reference.
Use Cases
ii. Perform Port Scanning: The system uses nmap to check open ports and running services.
iv. Analyze OS Security: The system checks for outdated software or missing security patches.
v. Generate Reports: The system compiles scan results into readable CSV or PDF reports.
vi. Retrieve Reports: Users can access past vulnerability reports from storage.
3.5.2 ACTIVITY DIAGRAM
USER
T R
Check Active and
O
Inactive Firewalls.
C
P E
Check for the
H S
Operating System.
A
Generate Reports. S
S I
E N
Checking for Weak
G
Password and others.
Save Report.
Figure 3.2 Activity Diagram
Workflow Breakdown
Input Phase: The user enters scan details such as IP address range, open ports to check, and
specific vulnerabilities to look for. The user selects scanning options like firewall status,
Processing Phase:
The system executes various scanning techniques which is Network Scanning, using nmap to
detect active hosts, open ports, and services. Firewall Detection, checking if UFW (Linux) or
Windows Firewall is active. Operating System Security Check, verifying if the operating system
The system fetches known vulnerabilities from the NVD (National Vulnerability Database) API
based on detected ports/services. The results are analyzed and stored in the Vulnerabilities Table
for reporting.
3.5.3 SEQUENCE DIAGRAM
The image represents a structured approach to vulnerability assessment, specifically for security
systems, and can be adapted to the design and implementation of a Vulnerability Assessment
System (VAS). Here’s a breakdown of its key elements and how they relate to my project:
1. Planning
This is the initial stage where objectives, scope, and methodologies for vulnerability assessment
are defined. In your system, this phase would involve setting up configurations, selecting
users to specify targets for scanning (e.g., IP ranges, domains, OS types) and prioritize them
3. Threat Assessment
Evaluating potential threats that could exploit vulnerabilities. The system can use threat
intelligence from Shodan API, Have I Been Pwned API, and port scanning (Nmap) to gather
This can be mapped to system security configuration analysis in your VAS. This tool should
This evaluates whether security measures are sufficient. The system should analyze scan results
Your VAS should highlight vulnerabilities found (e.g., open ports, weak passwords, outdated
software) and suggest mitigation steps. Integrating ReportLab for PDF/CSV reports can be
useful here.