Developers' Approach to App Testing Could Cut Flaw Fix Times by 80 Days
An analysis of more than 130,000 active applications found more with at least one high-severity flaw compared with 2019.
October 27, 2020
Large codebases that have a high density of existing software vulnerabilities — two factors often not under an individual developer's control — increase the time to fix an average flaw by 120 days, according to Veracode's latest analysis of security scans.
The application-security company cast differences between existing factors affecting application security and factors that individual developers can control as "nature" — the attributes of an app a developer inherits — versus "nurture," what a developer can control. On the nurture side, combining static and dynamic testing can improve fix times by more than 24 days, while frequent scanning can also speed remediation by more than 22 days. In Veracode's analysis, six testing behaviors helped reduce the time to fix vulnerabilities, while three environmental factors increased remediation times.
If you do it all right, vulnerabilities can be fixed 80-plus days faster than otherwise, says Chris Eng, chief research officer at Veracode.
"The analysis shows that, even if you are dropped into a bad environment, there are actions that you can take that can reduce that time-to-fix half-life significantly," he says. "Of course, it is better if you are dropped into a good environment ... with a young application with no security debt using a modern language in an industry the fixes vulnerabilities quickly ... but even if you are in one of these poor environments, you can significantly impact the outcomes."
Overall, the analysis of more than 130,000 active applications, conducted in collaboration with data scientists at the Cyentia Institute, found fewer applications with vulnerabilities but more with at least one high-severity flaw. The share of applications with at least one flaw decreased to 76%, down from 83% last year, but the share of applications with high-severity flaws increased to 24%, from 20% a year earlier.
The most common issues across all applications were information leakage, CRLF (carriage return-line feed) injection vulnerabilities, and cryptographic issues. SQL injection issues and cross-site scripting both remained in the top 10, according to Veracode.
The types of flaws affecting applications relied significantly on the programming language used, according to the analysis. PHP programs had significant levels of vulnerabilities, with cross-site scripting affecting 75% of applications, cryptographic issues affecting 72%, and directory traversal, information leakage, and untrusted initialization each affecting more than 60% of PHP applications. Python and JavaScript had the fewest flaws, with cryptographic issues affecting the most Python applications at 35%, and cross-site scripting affecting the most JavaScript applications at 32%.
Veracode had previously warned that developers need to be better aware of their security characteristics, Languages such as PHP have significant vulnerabilities due to indirect importing of third-party code, while JavaScript applications import a significant number of dependencies, raising its attack surface.
The company warned these differences need to be taken into account.
"While the language breakdown is useful, there is a significant risk with this kind of analysis as it can artificially elevate certain flaw types," the company stated. "Cross-Site Scripting is also the most common flaw in JavaScript applications, but that applies to less than a third of applications scanned. So it is a little problematic to put it on the same level of severity as PHP, where XSS is found in three-quarters of the scanned applications."
Reducing the volume of known flaws in an application, referred to as "security debt" in the industry, continues to be a focus of many vulnerability-management programs. Every six months, the average company fails to patch more than a quarter (28%) of its vulnerabilities, according to an August 2020 study by the Ponemon Institute. This security debt has a real-world impact, with 42% of breaches blamed on known, but unpatched, vulnerabilities, according to the study.
The latest study found about a third of companies could not manage the volume of vulnerabilities in their software. About two-thirds of applications were either making headway in reducing the number of flaws or at least were treading water.
While Veracode focused on the factors that had a significant impact on the time to fix a vulnerability, some development characteristics were notable because they did not appreciably affect the remediation time, Eng says. Surprisingly, the criticality of the application and the severity of the flaw did not have an appreciable impact on time-to-fix, he says.
"When we have customers that assign a criticality to the application depending on its importance to the business, that really didn't cause them to fix it faster," he says.
About the Author
You May Also Like
Cybersecurity Day: How to Automate Security Analytics with AI and ML
Dec 17, 2024The Dirt on ROT Data
Dec 18, 2024