Have a Question About the BreachLock Cloud Platform? Enter it below.
10 July, 2019
Web Application Security Testing Basics
If you pick up any periodical report on cyber attacks published by an organization or consortium, you will find that web applications are at the center stage of data breaches. With more businesses, either setting up their online presence or increasing it, the attack surface area for the perpetrators to exploit is increasing exponentially. On the other hand, it takes a significant amount of time for the businesses to first detect that their technical infrastructure has been infiltrated. Implementing security testing procedures ensures that the chances of a successful attack are minimized.
As the organizations are investing in strengthening the security of their technical infrastructure, the attackers are refining and fine-tuning their attack methods while increasing their sophistication. Many times, the attackers are supported by well-organized criminal groups and nation-states, which makes it hard for an organization to combat alone as the attackers have an adequate resource for launching highly intensive attacks. Implementation of relevant standards or frameworks and following the best security practices only ensures a minimum level of security, which may fail on a D-day.
Web application security testing can be broadly classified into three heads – static application security testing (SAST), dynamic application security testing (DAST), and penetration testing.
SAST is an inside-out approach wherein the developers’ lookout for vulnerabilities in the source code itself. On the other hand, the DAST approach seeks to find vulnerabilities when the application is in run time environment. As DAST does not need access to the source code, it can be done quickly and frequently than SAST. There is often a debate so to which one of these two is better, but it must be noted that one cannot replace another. Both must be performed in consonance with each other to get the best possible results. We have written multiple articles on DAST and SAST. You can read them here.
Given the sophistication and number of attacks, penetration testing has become a must for organizations due to various reasons such as –
- It assists an organization in finding unfamiliar vulnerabilities.
- The penetration testers check the effectiveness of overall security policies.
- It simulates a real-life attack on the organization.
- It focuses on the loopholes which are most likely to be exploited by the attackers.
Some of the most common tools used in penetration testing are Metasploit, Wireshark, Netsparker, Nessus, Nmap, etc. You can read more about penetration testing here.
- Business-critical Systems
Systems that store customer data, confidential information, intellectual property, trade secrets, etc. are business-critical systems, and they must be checked rigorously for security vulnerabilities. As a matter of practice, testing such systems is also prescribed in various standards and regulations such as the HIPAA Security Rule, PCI DSS, etc. We highly recommend that an organization should conduct penetration tests for these assets more frequently than others.
Gone are the times when security used to be an after-development activity. With organizations attempting to reduce the time-to-market of the application by implementing the DevOps principles, security must be incorporated right from step 1. The internal security team and the DevOps teams must work together to ensure that while an application is developed in a CI/CD environment, it is being tested simultaneously so that vulnerabilities and loopholes are identified and addressed immediately. This has led to the emergence of a new practice called DevSecOps, a combination of DevOps and Security. DevSecOps ensures that security remains a prominent consideration during the development of an application, while at the same time, the application is not delayed.
- Remediation & Bug Management
The outcome of web application security testing activities will be a list of points that need to be addressed by the development team. For the internal security team, these points are vulnerabilities while for the development team, they are bugs. The idea here is not to directly burden the development team with all the issues. Instead, they must be prioritized and integrated with a bug tracking system so that they are remediated efficiently.
Web applications have become a norm for client-server communications over the Internet. They are an important part of an organization’s business strategy, and hence, web application security testing becomes relevant. By implementing best security practices for developing and maintaining web applications, organizations can significantly reduce risks possessed by the threat actors.