What is Web Application Security Testing?
From web-based email to online shopping and banking, organizations are bringing their businesses directly to customers’ web browsers every day, circumventing the need for complex installations or update rollouts. Additionally, organizations are rolling out internal web applications for finance, marketing automation, and even internal communication that are often homegrown, or at least fine-tuned for their particular needs.
While web applications offer convenience to businesses and customers alike, their ubiquity makes them a popular attack target for cybercriminals. As a result, web application security testing, or scanning and testing web applications for risk, is essential.
Types of Security Testing:
There are seven main types of security testing as per Open Source Security Testing methodology manual. They are explained as follows:
- Vulnerability Scanning: This is done through automated software to scan a system against known vulnerability signatures.
- Security Scanning: It involves identifying network and system weaknesses, and later provides solutions for reducing these risks. This scanning can be performed for both Manual and Automated scanning.
- Penetration testing: This kind of testing simulates an attack from a malicious hacker. This testing involves analysis of a particular system to check for potential vulnerabilities to an external hacking attempt.
- Risk Assessment: This testing involves analysis of security risks observed in the organization. Risks are classified as Low, Medium and High. This testing recommends controls and measures to reduce the risk.
- Security Auditing: This is an internal inspection of Applications and Operating systems for security flaws. An audit can also be done via line by line inspection of code
- Ethical hacking: It’s hacking an Organization Software systems. Unlike malicious hackers, who steal for their own gains, the intent is to expose security flaws in the system.
- Posture Assessment: This combines Security scanning, Ethical Hacking and Risk Assessments to show an overall security posture of an organization.
It is always agreed, that cost will be more if we postpone security testing after software implementation phase or after deployment. So, it is necessary to involve security testing in the SDLC life cycle in the earlier phases.
Let’s look into the corresponding Security processes to be adopted for every phase in SDLC
|SDLC Phases||Security Processes|
|Requirements||Security analysis for requirements and check abuse/misuse cases|
|Design||Security risks analysis for designing. Development of Test Plan including security tests|
|Coding and Unit Testing||Static and Dynamic Testing and Security White Box Testing|
|Integration Testing||Black Box Testing|
|System Testing||Black Box Testing and Vulnerability scanning|
|Implementation||Penetration Testing, Vulnerability Scanning|
|Support||Impact analysis of Patches|
The test plan should include
- Security-related test cases or scenarios
- Test Data related to security testing
- Test Tools required for security testing
- Analysis of various tests outputs from different security tools