0% found this document useful (0 votes)
10 views10 pages

Chapter 3

This document outlines the design and methodology for a Vulnerability Assessment System (VAS) using a Mixed Methods Approach that combines quantitative and qualitative research. It details the Agile Software Development Methodology for iterative development, emphasizing continuous feedback and improvement, and describes system modeling techniques such as Use Case, Activity, and Sequence Diagrams to illustrate system interactions and workflows. The document also highlights the importance of automated tools and contextual insights in effectively assessing and addressing vulnerabilities.

Uploaded by

okpebishopdavid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views10 pages

Chapter 3

This document outlines the design and methodology for a Vulnerability Assessment System (VAS) using a Mixed Methods Approach that combines quantitative and qualitative research. It details the Agile Software Development Methodology for iterative development, emphasizing continuous feedback and improvement, and describes system modeling techniques such as Use Case, Activity, and Sequence Diagrams to illustrate system interactions and workflows. The document also highlights the importance of automated tools and contextual insights in effectively assessing and addressing vulnerabilities.

Uploaded by

okpebishopdavid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

CHAPTER THREE

SYSTEM DESIGN AND METHODOLOGY/RESEARCH METHODOLOGY

3.1 RESEARCH APPROACH

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

qualitative methods to ensure a comprehensive evaluation of vulnerabilities and the effectiveness

of the system.

Quantitative Research Methods

Quantitative methods are frequently employed to analyze numerical data, measure vulnerability

risks, and assess system performance. These methods often involve automated tools,

frameworks, and experimental setups to gather and evaluate data.

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

comparability across different systems. Quantitative methods allow researchers to replicate

results under similar conditions for validation.

Qualitative Research Methods

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,

Adaptable to diverse environments, technologies, and threat landscapes.

3.3 Research Design

Given the objectives of this research, the Descriptive and Exploratory Research Design will be

applied:

Descriptive Approach:

Focuses on identifying existing security vulnerabilities in a software system. Documents findings

with detailed reports on detected vulnerabilities. Analyzes trends in detected vulnerabilities (e.g.,

most common types).

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.

Tests the integration of machine learning models for advanced classification.

This research design aligns with the goal of understanding the efficiency of automated

vulnerability assessment tools and exploring potential enhancements.

3.4 Software Development Methodology

The Agile Software Development Methodology will be used for the development of the

Vulnerability Assessment System. Agile is chosen because:


It allows for iterative development, where new features can be added and tested quickly. It

supports continuous feedback from cybersecurity experts and testers. It enables flexibility to

adjust the system based on emerging security threats.

Adapting Agile to the Project:

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

as network scanning, and web vulnerability detection.

3. Testing & Evaluation: Each feature will be tested using real-world datasets and industry-

standard security benchmarks.

4. Feedback & Improvement: Security experts will review the findings and suggest

improvements for the next iteration.

5. Final Deployment: After several iterations, a stable version will be released and evaluated

against existing security tools.

This Agile approach ensures that the VAS is continuously improved to provide better security

assessments with minimal errors.

3.5 System Modeling

System modeling is the process of developing abstract representations of a system, focusing on

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

various components and artifacts of a software-intensive system.

3.5.1 USE CASE DIAGRAM

Figure 3.1 Use Case Diagram.

A Use Case Diagram helps visualize the system's interaction with users and how it performs

specific tasks.

Actor

1. User (e.g., Security Analyst):


i. Initiates system scans for vulnerabilities.

ii. Views scan results and risk assessments.

iii. Generates detailed vulnerability reports.

iv. Saves and retrieves past scan reports.

2. System (Python-based Vulnerability Scanner):

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

i. Initiate Scan: The user starts a security scan on a specific IP or network.

ii. Perform Port Scanning: The system uses nmap to check open ports and running services.

iii. Check Firewall Status: The system determines if a firewall is active.

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

I Start Vulnerability Scan.


N

P Check Open Ports.


U Analysis Results. P

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

An Activity Diagram illustrates the step-by-step workflow of the system.

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,

outdated software, or misconfigurations.

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

is outdated. System Misconfigurations, Detecting insecure configurations, such as weak

passwords or unpatched software.

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

Figure 3.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

scanning tools (OpenVAS, Nmap, Scapy), and defining test parameters.

2. Facility Characterization & Target Prioritization


Identifying critical assets, systems, or networks that need to be assessed. The VAS should allow

users to specify targets for scanning (e.g., IP ranges, domains, OS types) and prioritize them

based on risk levels.

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

insights on potential threats.

4. PPS (Physical Protection System) Characterization

This can be mapped to system security configuration analysis in your VAS. This tool should

assess firewall status (UFW/Windows Firewall), OS versions, and misconfigurations

5. System Effectiveness Analysis

This evaluates whether security measures are sufficient. The system should analyze scan results

and provide risk ratings.

6. System Effectiveness Decision

If security is sufficient, a Vulnerability Assessment Report (VA Report) is generated. If

vulnerabilities exist, the system moves to identify and recommend solutions

7. Identify Vulnerabilities & Propose Upgrades

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.

You might also like