AI智能总结
影响软件安全的策略、工具和实践 大多数受访者表示,他们对自己使用的AST工具普遍感到不满 概述 的人员 概述 关于Synopsys《2023年DevSecOps现状调查》报告关于DevOps和DevSecOps自动化的好处ASOC/ASPM在DevSecOps中的应用日益增长Synopsys《2023年DevSecOps现状调查》的主要发现2023年DevSecOps现状调查经验教训受访者特征附录 关于DevOps和DevSecOps 关于Synopsys《2023年DevSecOps现状调查》报告 加速开发、持续交付、管道弹性、可扩展性和端到端透明度是实现DevOps的关键原则。满足这些标准需要开发、安全和运维人员共同努力。 2023年初,Synopsys网络安全研究中心(CyRC)联合国际市场研究咨询公司Censuswide,对负责安全事务的1,000名IT专业人士开展了一项调查。受访者包括开发人员、AppSec专业人员、DevOps工程师、CISO以及在技术、网络安全和应用/软件开发领域担任各种职务的专家。受访者来自美国、英国、法国、芬兰、德国、中国、新加坡和日本。 DevSecOps是DevOps方法论的延伸,旨在向多个团队灌输安全文化,并且尽早在DevOps环境中通过一致的方式来解决安全问题。通过将安全实践集成到软件开发生命周期(SDLC)和CI管道中,DevSecOps旨在将安全性从一个独立的阶段转变为开发生命周期的一部分。 所有的受访者都有资格参与调查,与其所属行业和公司规模无关。开发本次调查面临的挑战之一是“DevSecOps”一词涵盖了多个学科,其中许多学科都有自己独特的角色。本次调查希望覆盖不同专业背景的人士,既包括“直接”编写代码的开发者,也包括从事软件安全相关工作的CISO级别 DevSecOps在涉及软件开发的各个组织中都广受欢迎。SANS《2023年DevSecOps现状调查》显示,DevSecOps已经成为一种重要的业务实践和风险管理方法。但在过去,当安全团队和开发团队试图把安全性纳入他们的流程时,经常会有不同意见,这很大程度上是因为这种做法会把传统的应用安全测试(AST)工具引入软件开发生命周期(SDLC)。开发者经常抱怨AST工具太复杂、难以学习、性能低下以及产生大量“噪音”,这些都会给DevOps带来“摩擦”⸺也就是,那些在软件开发过程中阻止开发人员轻松快速构建代码的各种东西。 概述 自动化的好处 一致性 自动测试可确保对每一次的构建和部署一致地进行安全检查。手动测试可能会导致测试过程和覆盖范围不一致。 关于Synopsys《2023年DevSecOps现状调查》报告关于DevOps和DevSecOps自动化的好处ASOC/ASPM在DevSecOps中的应用日益增长Synopsys《2023年DevSecOps现状调查》的主要发现2023年DevSecOps现状调查经验教训受访者特征附录 DevOps的核心原则是在SDLC的每个阶段都自动执行手动流程。对任何组织而言,自动化都是通过持续集成或持续部署来加速开发和交付代码的基本前提。 可扩展性 成功的DevSecOps需要集成和自动化的相互作用,以及标准和策略的指导。这样,既能让安全团队相信安全利益得到了保障,又能让DevOps团队保持工作状态,相信不会发生管道中断的情况。 随着软件复杂性的增长,手工测试将变得不切实际。自动测试容易扩展,以便跨越不同组件进行大量测试。 持续集成和持续部署(CI/CD) 自动测试在CI/CD管道中至关重要,因为这些管道中会发生快速而频繁的代码变更。自动测试可以快速验证变更,防止错误代码进入生产环境。 与手动测试不同,自动安全测试可以快速一致地执行,使开发人员能够在开发过程的早期阶段发现问题,不会影响到交付进度或工作效率。 持续改进 自动测试提供数据和洞察,可以帮助开发和安全团队随时间的推移改进安全实践,允许他们系统地分析和处理漏洞模式。 记录 自动测试可以记录整个测试过程,从而更容易跟踪和审计安全措施与合规要求。 减少人为错误 由于疲劳或疏忽,手动测试容易出错。自动测试遵循预定义的脚本,能够降低人为错误的风险。 节省时间和成本 改进开发者体验 自动的应用安全测试允许开发者采取主动的、全面的、有助于学习和提高安全知识和技能的方式来解决安全问题,从而增强开发者体验,最终提高软件安全性并提升整个开发过程的效率。. 从开发到部署,ASPM解决方案能够持续管理各种应用风险,包括安全问题的检测、关联和优先级排序。ASPM工 ASOC/ASPM在DevSecOps中的应用日益增长 概述 关于Synopsys《2023年DevSecOps现状调查》报告关于DevOps和DevSecOps自动化的好处ASOC/ASPM在DevSecOps中的应用日益增长Synopsys《2023年DevSecOps现状调查》的主要发现2023年DevSecOps现状调查经验教训受访者特征附录 具可以从多个来源获取数据,然后关联并分析它们,以实现更轻松的解释、分类和补救。 本报告对处于DevSecOps不同成熟阶段的组织进行了考察,包括他们的特征,以及他们采用的安全工具/实践。我们将根据调查结果为其提供指导性建议,帮助他们进一步提高软件安全的成熟度。 ASPM还充当安全工具的管理和编排层,支持安全策略的控制与实施。ASPM拥有应用程序安全结果的综合视角,从而提供了整个应用程序或系统的安全与风险状态的完整视图。 有趣的是,从调查结果中可以看出,应用安全编排与关联(ASOC)—现在一般称为“应用安全态势管理”(ASPM)—的使用越来越普遍。根据Gartner的说法,对于使用多种开发和安全工具的任何组织而言,ASPM都应该是优先考虑的重要事项。 鉴于这1,000名受访者中的大多数人都对其正在使用的AST工具普遍感到不满—抱怨这些工具无法根据业务需求确定修复的优先级(35%),也无法合并/关联数据来帮助解决问题(29%)—因此,ASOC/ASPM的使用呈现快速增长趋势也在情理之中。 超过70%的受访者表示,通过自动扫描代码来查找漏洞或编码缺陷是一种有用的安全措施,34%的受访者认为自动AST“非常有用” 超过三分之一的受访者表示,将自动安全测试集成到构建/部署工作流中是安全计划取得成功的关键 Synopsys《2023年DevSecOps现状调查》的主要发现 概述 其他的主要成功因素还包括通过基础架构即代码来执行安全/合规策略,在开发和运维团队中培养安全支持者(security champions),以及加强开发、运维和安全团队之间的沟通等。 大多数DevOps团队都在某种程度上采用了DevSecOps 对代码进行安全漏洞和其他缺陷的自动化扫描,在“工具/流程的有用性”类别中排名第一,紧随其后的是“在SDLC的需求挖掘阶段明确安全需求”以及“通过BSIMM和SAMM等模型对软件安全计划进行正式评估”。 共有91%的受访者表示,他们已将开展DevSecOps活动的某些安全措施纳入到了软件开发管道中。可以肯定地说,采用DevSecOps方法论现已成为软件开发的一部分。 在SDLC后期处理重大漏洞,会极大地削弱收益 几乎所有的受访者都认为AST工具与其业务需求不符 超过80%的受访者表示,2022-2023年间,已部署软件中的重大漏洞/安全问题以某种形式影响了他们的工作进度。 拥有更成熟的安全计划的组织有专人负责安全事务 在1,000名受访者中,大多数人都认为AST工具存在各种各样的问题是他们面临的主要挑战,包括这些工具无法根据业务需求对修复措施进行优先级排序(35%),也无法合并/关联数据来帮助解决问题(29%)。 29%的受访者表示,他们拥有跨职能部门的DevSecOps团队—由开发、安全和运维部门成员构成的协作团队,这是安全计划取得成功的重要因素。专注于安全、与开发人员/软件工程师和/或QA和测试合作的人员可能处于拥有成熟安全计划的组织中安全测试的第一线。 28%的受访者表示,他们的组织需要长达三周的时间来修补已部署应用程序中的重大安全风险/漏洞;另有20%的受访者表示,这可能需要一个月的时间 考虑到现在的漏洞利用速度比以往任何时候都要快,这些数字尤其令人感到不安。最新研究表明超过一半的漏洞在披露后的一周内即被利用。 52%的安全专业人员已经开始在DevSecOps活动中积极使用AI,但超过四分之三的人担心AI的使用问题 有效实施DevSecOps存在许多障碍 超过33%的受访者指出,缺乏安全培训是主要障碍。紧随其后的是安全人员短缺(31%)、开发/运维工作缺乏透明性(31%)以及优先事项的不断变化(30%)。 调查结果表明,安全团队正在积极使用AI、机器学习、自然语言处理和神经网络。然而,随着生成式AI工具(如AI驱动的编码建议)的使用日益增多,引发了围绕AI所生成代码的一系列知识产权、版权和许可问题,某些情况下甚至引起了诉讼。 图A您认为贵组织当前的软件安全项目/计划的成熟度处于哪一级? 2023年DevSecOps现状调查 概述 Synopsys《2023年DevSecOps现状调查》的主要发现 DevSecOps部署 在1,000名受访者中,超过三分之一的受访者认为其安全计划已经达到了成熟度的第三级,即整个组织的安全流程都是文档化的、可重复的和标准化的。另有25%的受访者认为其安全计划已经达到了第四级,即安全流程也被记录,同时还被监控和评估。 2023年DevSecOps现状调查 DevSecOps部署安全实践的实施代表更高级别的成熟度评估安全计划跨职能团队对DevSecOps取得成功的重要性手动和自动测试相结合,以取得最佳结果关键绩效指标您正在使用哪些AST工具?它们有用吗?何时进行测试?何时打补丁?这对我们的工作进度有何影响?有效DevSecOps面临的挑战AI的承诺和陷阱 共有91%的受访者表示,他们已将某种类型的DevSecOps活动应用到软件开发管道中,采用DevSecOps似乎已成为DevOps的既定组成部分。 经验教训 受访者特征 •测试。执行各种类型的安全测试来识别应用程序中的漏洞,如SAST、动态应用安全测试(DAST)、SCA和渗透测试。 安全实践的实施代表更高级别的成熟度 概述 Synopsys《2023年DevSecOps现状调查》的主要发现 DevSecOps成熟度的另一个衡量标准如图B所示,表明受访者已经采用了广泛的安全实践,从持续监控和评估(30%)到自动测试(28%)。 •部署。安全地配置应用程序的运行环境。实施访问控制、网络安全以及适当的身份验证和授权机制。 2023年DevSecOps现状调查 作为被358名受访者(35.1%)提及的最佳实践,“安全风险管理”涉及在开发过程中的每个阶段整合安全考虑因素,以识别、评估和减轻与软件应用相关的潜在安全风险。在SDLC的框架下,整体安全风险管理涵盖以下活动: DevSecOps部署安全实践的实施代表更高级别的成熟度评估安全计划跨职能团队对DevSecOps取得成功的重要性手动和自动测试相结合,以取得最佳结果关键绩效指标您正在使用哪些AST工具?它们有用吗?何时进行测试?何时打补丁?这对我们的工作进度有何影响?有效DevSecOps面临的挑战AI的承诺和陷阱 •监控与评估。持续监控生产环境中的应用程序,以发现安全事件和异常情况。实施日志记录和监控解决方案,以检测和响应潜在的违规行为。30%的受访者表示,这是其组织采用的主要安全实践。 •需求分析。在SDLC中尽早识别安全需求和限制,并定义安全目标。•设计。将安全原则纳入到系统架构和设计中,以确保应用程序的设计包含针对常见漏洞的适当防护措施。•开发。实施安全编码实践,并遵守解决安全问题的编码标准。使用集成的安全测试工具,如静态应用安全测试(S