80 percent of web apps have security flaws
Tuesday, February 14, 2017
Richard Harris |
Which web app programming language is the most secure? New research finds that JAVA and .NET are the most vulnerable.
Data collected by Contrast Labs has revealed that sensitive data exposures, which include missing and weak encryption, are the top vulnerability plaguing 69 percent of web applications and accounting for 26 percent of all vulnerabilities. Their research has also found that 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.”
Contrast Labs compared the top web application vulnerabilities across two of the most popular web application development languages: Java and .NET. In so doing, they have 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.
- 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 loses
Contrast Labs compared the top web application vulnerabilities across two of the most popular web application development languages: Java and .NET. In so doing, they have 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.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more
Subscribe here