2020年软件安全现状报告:DevSecOps效果显著
星期三, 十月 28, 2020
全球最大的应用程序安全测试(AST)解决方案提供商Veracode近日发布了第十一版软件安全状态报告(SOSS)。
报告显示,大多数应用程序至少包含一个安全缺陷,并且修复这些缺陷通常需要几个月的时间。今年对130,000个应用程序的分析发现,开发团队需要大约六个月的时间来解决50%的已发现安全漏洞。
该报告还发现了一些可显著提高漏洞修补效率的最佳实践,例如DevSecOps。
解决软件安全漏洞:天生还是后天?
报告显示,使用现代DevSecOps实践解决问题可以提高漏洞修复率。例如,使用多种应用程序安全性扫描类型,在较小或更现代的应用程序中工作以及通过API将安全性测试嵌入到管道中,都可以减少修复安全性缺陷的时间,即使在“自然”程度不理想的应用程序中也是如此。
Veracode首席研究官Chris Eng表示:“软件安全的目标不是一开始就完美编写应用程序,而是全面,及时地发现和修复漏洞。”“即使面对最具挑战性的环境,开发人员也可以采取适当的措施,通过正确的培训和工具来提高应用程序的整体安全性。”
报告的其他主要发现包括:
应用程序漏洞成为常态:76%的应用程序至少具有一个安全漏洞,但只有24%的应用程序有高危漏洞。这是一个很好的信号,表明大多数应用程序没有严重的问题。频繁扫描可以将处理观察结果的时间减少三周以上。
开源漏洞的数量在增加:尽管70%的应用程序从其开源库中继承了至少一个安全漏洞,但报告还发现,有30%的应用程序的开源库中的漏洞比内部编写的代码多。关键的教训是,软件安全遵循木桶原则,其中包括识别和跟踪应用程序中使用的第三方代码。
多种扫描分析表明DevSecOps的功效:结合使用多种扫描类型(包括静态分析(SAST)、动态分析(DAST)和软件组成分析(SCA))的团队可以提高修复率。那些同时使用SAST和DAST的人可以把漏洞修复工作缩短24天。
自动化很重要:在SDLC中进行自动化安全测试比非自动化测试发现半数漏洞的速度要快17.5天。
偿还安全债务至关重要:今年的报告还发现,减少安全债(修补积压的已知漏洞)可降低总体风险。报告发现,具有较高漏洞密度的老旧应用程序的修复时间要慢得多,平均需要63天才能修补一半漏洞。