Contrast Security, the first company to enable self-protecting software, announced findings from a security research project on web application vulnerabilities. The data, collected by Contrast Labs from the Contrast Security platform across several popular development languages, revealed sensitive data exposure, which includes missing and weak encryption, as the top vulnerability, plaguing 69 percent of web applications and accounting for 26 percent of all vulnerabilities. The research also found 80 percent of tested software applications had at least one vulnerability, with an average of 45 vulnerabilities per application.
The top 5 web application vulnerabilities according to the Contrast Labs research are as follows:
Sensitive data exposure – affects 69 percent of applications
Cross-site request forgery – affects 55 percent of applications
Broken authentication and session management – affects 41 percent of applications
Security misconfiguration – affects 37 percent of applications
Missing function level access control – affects 33 percent of applications
“The level of application vulnerability revealed by this analysis is deeply concerning,” said Jeff Williams, CTO and co-founder of Contrast Security. “All of these vulnerabilities have been documented in the OWASP Top Ten for over a decade, yet they’re obviously still a major problem. Given the level of vulnerability and increasing threat, organizations should adopt a continuous application security strategy and make sure the development and security teams are bought in.”
Top Vulnerabilities By Language: Java and .NET
Contrast Labs compared the top web application vulnerabilities across two of the most popular web application development languages: Java and .NET. In so doing, Contrast Labs revealed that Java suffers from higher prevalence of cross-site request forgery (impacting 69 percent of Java applications, as compared to 31 percent in .NET) and less security misconfiguration problems than .NET (14 percent in Java versus 73 percent in .NET). This is almost certainly because .NET relies far more on configuration than Java applications do; however, the high numbers of security misconfiguration in .NET indicate that this approach is not without its own set of problems.
Contrast Labs also found a lower number of injection flaws in .NET applications (affecting 17 percent of applications), where the use of persistence layers has helped to stamp out these flaws. However, injection flaws are still quite prevalent in Java applications at 38 percent, where there are many more database options. Injection, a common vulnerability often missed by traditional application security tools, can sometimes lead to a much more serious compromise. If attackers are able to pivot from injection to a complete host takeover, there’s no limit to the access that attackers would have to a software application’s data and capabilities.
“In today’s world, every organization has become a software company,” said Williams. “Insecure code has become the leading security risk and, increasingly, the leading business risk as well. Unfortunately, when it comes to addressing web application vulnerabilities, many businesses are relying on legacy scanners that are difficult to manage, inaccurate and do not fit in with modern software environments. To protect software applications effectively, continuous security must go along with continuous integration, delivery and deployment to provide up-to-the-minute analysis of web application vulnerabilities.”
Thanks to MVB Jeff Williams for his help with this article.