Vulnerability Testing also called Vulnerability Assessment is a process of evaluating security risks in software systems to reduce the probability of threats. The purpose of vulnerability testing is reducing the possibility for intruders/hackers to get unauthorized access of systems. It depends on the mechanism named Vulnerability Assessment and Penetration Testing(VAPT) or VAPT testing.
A vulnerability is any mistake or weakness in the system’s security procedures, design, implementation or any internal control that may result in the violation of the system's security policy.
In this tutorial, you will learn-
Why do Vulnerability Assessment
- It is important for the security of the organization.
- The process of locating and reporting the vulnerabilities, which provide a way to detect and resolve security problems by ranking the vulnerabilities before someone or something can exploit them.
- In this process Operating systems, Application Software and Network are scanned in order to identify the occurrence of vulnerabilities, which include inappropriate software design, insecure authentication, etc.
Vulnerability Assessment Process
Here is the step by step Vulnerability Assessment Process to identify the system vulnerabilities.
Step 1) Goals & Objectives : - Define goals and objectives of Vulnerability Analysis.
Step 2) Scope : - While performing the Assessment and Test, Scope of the Assignment needs to be clearly defined.
The following are the three possible scopes that exist:
- Black Box Testing : - Testing from an external network with no prior knowledge of the internal network and systems.
- Grey Box Testing : - Testing from either external or internal networks with the knowledge of the internal network and system. It's the combination of both Black Box Testing and White Box Testing.
- White Box Testing : - Testing within the internal network with the knowledge of the internal network and system. Also known as Internal Testing.
Step 3) Information Gathering : - Obtaining as much information about IT environment such as Networks, IP Address, Operating System Version, etc. It's applicable to all the three types of Scopes such as Black Box Testing, Grey Box Testing and White Box Testing.
Step 4) Vulnerability Detection : - In this process, vulnerability scanners are used to scan the IT environment and identify the vulnerabilities.
Step 5) Information Analysis and Planning : - It will analyze the identified vulnerabilities to devise a plan for penetrating into the network and systems.
How to do Vulnerability Assessment
Following is the step by step process on How to do Vulnerability Assessment :
Step 1) Setup:
- Begin Documentation
- Secure Permissions
- Update Tools
- Configure Tools
Step 2) Test Execution:
- Run the Tools
- Run the captured data packet (A packet is the unit of data that is routed between an origin and the destination. When any file, for example, e-mail message, HTML file, Uniform Resource Locator(URL) request, etc. is sent from one place to another on the internet, the TCP layer of TCP/IP divides the file into a number of "chunks" for efficient routing, and each of these chunks will be uniquely numbered and will include the Internet address of the destination. These chunks are called packets. When all the packets are arrived, they will be reassembled into the original file by the TCP layer at the receiving end while running the assessment tools
Step 3) Vulnerability Analysis:
- Defining and classifying network or System resources.
- Assigning priority to the resources( Ex: - High, Medium, Low)
- Identifying potential threats to each resource.
- Developing a strategy to deal with the most prioritized problems first.
- Defining and implementing ways to minimize the consequences if an attack occurs.
Step 4) Reporting
Step 5) Remediation:
- The process of fixing the vulnerabilities.
- Performed for every vulnerability
Types of a vulnerability scanner
- Host Based
- Identifies the issues in the host or the system.
- The process is carried out by using host-based scanners and diagnose the vulnerabilities.
- The host-based tools will load a mediator software onto the target system; it will trace the event and report it to the security analyst.
- It will detect the open port, and identify the unknown services running on these ports. Then it will disclose possible vulnerabilities associated with these services.
- This process is done by using Network-based Scanners.
- It will identify the security exposure in the database systems using tools and techniques to prevent from SQL Injections. (SQL Injections: - Injecting SQL statements into the database by the malicious users, which can read the sensitive data's from a database and can update the data in the Database.)
Tools for Vulnerability Scanning
Intruder is a powerful online vulnerability scanner that discovers security weaknesses across your IT environment. Offering industry-leading security checks, continuous monitoring and an easy-to-use platform, Intruder keeps businesses of all sizes safe from hackers.
- Best-in-class threat coverage with over 10,000 security checks
- Checks for configuration weaknesses, missing patches, application weaknesses (such as SQL injection & cross-site scripting) and more
- Automatic analysis and prioritisation of scan results
- Intuitive interface, quick to set-up and run your first scans
- Proactive security monitoring for the latest vulnerabilities
- AWS, Azure and Google Cloud connectors
- API integration with your CI/CD pipeline
|Category ||Tool ||Description |
|Host Based ||STAT ||Scan multiple systems in the network. |
| ||TARA ||Tiger Analytical Research Assistant. |
| ||Cain & Abel ||Recover password by sniffing network, cracking HTTP password. |
| ||Metasploit ||Open source platform for developing, testing and exploit code. |
|Network-Based ||Cisco Secure Scanner ||Diagnose and Repair Security Problems. |
| ||Wireshark ||Open Source Network Protocol Analyzer for Linux and Windows. |
| ||Nmap ||Free Open Source utility for security auditing. |
| ||Nessus ||Agentless auditing, Reporting and patch management integration. |
|Database-Based ||SQL diet ||Dictionary Attack tool door for SQL server. |
| ||Secure Auditor ||Enable user to perform enumeration, scanning, auditing, and penetration testing and forensic on OS. |
| ||DB-scan ||Detection of Trojan of a database, detecting hidden Trojan by baseline scanning. |
Advantages of Vulnerability Assessment
- Open Source tools are available.
- Identifies almost all vulnerabilities
- Automated for Scanning.
- Easy to run on a regular basis.
Disadvantages of Vulnerability Assessment
- High false positive rate
- Can easily detect by Intrusion Detection System Firewall.
- Often fail to notice the latest vulnerabilities.
Comparison of Vulnerability Assessment and Penetration Testing
| ||Vulnerability Assessment ||Penetration Testing |
|Working ||Discover Vulnerabilities ||Identify and Exploit Vulnerabilities |
|Mechanism ||Discovery & Scanning ||Simulation |
|Focus ||Breadth over Depth ||Depth over Breadth |
|Coverage of Completeness ||High ||Low |
|Cost ||Low- Moderate ||High |
|Performed By ||In-house Staff ||An attacker or Pen Tester |
|Tester Knowledge ||High ||Low |
|How often to Run ||After each equipment is loaded ||Once in a year |
|Result ||Provide Partial Details about Vulnerabilities ||Provide Complete Details of Vulnerabilities |
Vulnerability Testing Methods
- Inactive Testing, a tester introduces new test data and analyzes the results.
- During the testing process, the testers create a mental model of the process, and it will grow further during the interaction with the software under test.
- While doing the test, the tester will actively involve in the process of finding out the new test cases and new ideas. That's why it is called Active Testing.
- Passive testing, monitoring the result of running software under test without introducing new test cases or data
- Network Testing is the process of measuring and recording the current state of network operation over a period of time.
- Testing is mainly done for predicting the network operating under load or to find out the problems created by new services.
- We need to Test the following Network Characteristics:-
- Utilization levels
- Number of Users
- Application Utilization
- Distributed Tests are applied for testing distributed applications, which means, the applications that are working with multiple clients simultaneously. Basically, testing a distributed application means testing its client and server parts separately, but by using a distributed testing method, we can test them all together.
- The test parts will interact with each other during the Test Run. This makes them synchronized in an appropriate manner. Synchronization is one of the most crucial points in distributed testing.
In Software Engineering, Vulnerability Testing depends upon two mechanisms namely Vulnerability Assessment and Penetration Testing. Both these tests differ from each other in strength and tasks that they perform. However, to achieve a comprehensive report on Vulnerability Testing, the combination of both procedures is recommended.
This article is contributed by Syamini Sreedharan