引言:DevSecOps是DevOps方法论的延伸,旨在向多个团队灌输安全文化,并且尽早在DevOps环境中通过一致的方式来解决安全问题。通过将安全实践集成到软件开发生命周期(SDLC)和CI管道中,DevSecOps旨在将安全性从一个独立的阶段转变为开发生命周期的一部分。
2023年Synopsys发布了全球DevSecOps现状调查报告点此下载(访问密码6277),涉及来自自全球不同国家1000+ IT专业人员,报告中的要点总结如下
1、现有AST工具不尽人意
- 工具不能根据漏洞的暴露程度、可利用性和严重程度来确定修复顺序;
- 无法合并/关联数据来帮助解决问题;
- 因速度太慢而无法适应快速的发布周期;
- 性价比低;
- 不准确、不可靠。
2、ASOC/ASPM在 DevSecOps中的应用日益增长
应用安全编排与关联ASOC(Application Security Orchestration and Correlation)技术,现在一般称为应用安全态势管理ASPM(Application Security Posture Management) ,ASPM的使用越来越普遍。Gartner指出对于使用多种开发和安全工具的任何组织而言,ASPM都应该是优先考虑的,主要有如下优点:
- 可从多个来源获取数据,然后关联并分析它们,以实现更轻松的解释、分类和补救;
- 充当安全工具的管理和编排层,支持安全策略的控制与实施;
- 拥有应用程序安全结果的综合视角,从而提供了整个应用程序或系统的安全与风险状态的完整视图。
Gartner指出ASOC/ASPM可以作为管理层来编排多个AST工具,自动对发现的问题进行关联和上下文分析,以加快和优化修复过程。
3、安全实践的实施代表更高级别的成熟度
安全风险管理”涉及在开发过程中的每个阶段整合安全考虑因素,以识别、评估和减轻与软件应用相关的潜在安全风险。在SDLC框架下,整体安全风险管理涵盖以下活动:
1、需求分析 在SDLC中尽早识别安全需求和限制,并定义安全目标;
2、设计 将安全原则纳入到系统架构和设计中,以确保应用程序的设计包含针对常见漏洞的适当防护措施;
3、开发 实施安全编码实践,并遵守解决安全问题的编码标准。使用集成的安全测试工具,如静态应用安全测试(SAST)和软件组成分析(SCA),在编写代码和引入开源或第三方代码时捕获漏洞;
4、测试 执行各种类型的安全测试来识别应用程序中的漏洞,如SAST、动态应用安全测试(DAST)、SCA和渗透测试;
5、部署 安全地配置应用程序的运行环境。实施访问控制、网络安全以及适当的身份验证和授权机制;
6、监控与评估 持续监控生产环境中的应用程序,以发现安现全事件和异常情况。实施日志记录和监控解决方案,以检测和响应潜在的违规行为;
7、响应和补救 制定事件响应计划,以快速有效地处理安全事件,修复在测试阶段检测到的问题;
8、透明度和安全性 建立明确的规范、标准和策略,并报告安全风险和风险容忍度;
9、培训 为开发团队提供安全编码实践、常见漏洞和最佳安全实践方面的培训,以使开发人员能够主动解决安全问题。
超过1/3的受访者认为开发人员培训不足或无效培训是导致其组织无法有效实施DevSecOps的主要障碍之一。
10、持续改进 定期审查和改进SDLC中的安全流程和实践
4、有效实施DevSecOps还面临很多挑战
许多组织的关键网络安全岗位都无法招聘到合格人员。一些研究显示,全球有350万个网络安全职位空缺。随着市场对训练有素的网络安全专业人士的需求日益增长,供应的稀缺将导致熟练从业人员的工资上涨,使许多政府机构和中小企业无法负担。但是,正如下图所显示的那样,开发人员/工程师的安全培训不足仍是排在首位的最大挑战,ASPM可能是有效应对这些挑战的关键。
敏捷教练(Agile coaches)、敏捷项目管理人员(scrum masters)和DevOps工程师都是非常适合的安全支持者人选。
安全工具提供的碎片化结果、不堪重负的工作团队和缓慢的漏洞修复速度是阻碍DevSecOps取得成功的根本挑战。
5、超过一半的漏洞在披露后一周内被利用
根据如下分析https://www.securityweek.com/vulnerabilities-being-exploited-faster-than-ever-analysis/表明,超过一半的漏洞在披露后一周内被利用。主要原因在于漏洞修复并没有想象的及时,从下图可以看出一周内能完成修复漏洞的组织仅占4.6%,大部分组织需要花费2~4周才能修复漏洞。
“星期二补丁,星期三利用” 是一句古老的黑客格言,指的是每月安全补丁公开后的第二天,漏洞就被武器化。通过以上漏洞修复时长分布图大家就更能理解格言背后的真实情况了。