定义
“策略即代码”是一种通过代码来定义和管理安全规则、标准和条件的方法。它是一种在持续集成/持续交付/持续部署 (CI/CD) 管道中以编程方式执行安全和风险策略的方法。在应用程序安全测试环境中,它会对策略评估、响应和通知的规则进行编码,使安全团队能够自动执行测试工作流程。
“策略即代码”是一种通过代码来定义和管理安全规则、标准和条件的方法。它是一种在持续集成/持续交付/持续部署 (CI/CD) 管道中以编程方式执行安全和风险策略的方法。在应用程序安全测试环境中,它会对策略评估、响应和通知的规则进行编码,使安全团队能够自动执行测试工作流程。
策略采用高级语言编写,代码被输入到使用查询的策略引擎中。策略引擎将这些策略用作输入,对其进行处理,然后交付查询结果。此结果会生成一个与现有策略一致的决策,以确定哪种类型的应用程序安全测试 (AST) 是合适的、何时应该使用以及在何处使用。
“策略即代码”是一个脚本化可读文件,为测试给定的应用程序提供先决条件。这些文件以支持的编程语言(例如 YAML 或 Python)编写,与组织使用的工具兼容。策略是通过API 调用 CI 管道来执行的,因此可以在不破坏当前构建的情况下运行安全测试。
编写“策略即代码”的关键考虑因素包括
在应用安全测试的环境下,组织可以利用“策略即代码”来定义何时测试、应使用什么测试工具以及是否需要测试的条件。通过对这些参数进行编码,安全团队可以简化多个 AST 工具的协调,并在其测试工作流程中实现精确性。这使得安全策略能够一致、自动地执行,并最终能够在不影响开发速度的情况下实现更好的软件质量。
更具体地说,执行“策略即代码”在这些重要方面都会有所帮助。
如今的组织使用各种 AST 工具,有些工具可能需要几天才能提供安全扫描结果。不断提高的开发速度需要能够与其进度匹配的应用程序安全测试工具和实践。
此外,确保软件合规和安全意味着在软件开发生命周期 (SDLC) 的早期阶段了解开发级别的软件风险。但是,如果没有实施统一的测试策略,组织最终将面临手动扫描和代码审查,以及总体上不一致的安全结果。
此外,在现有管道中集成众多工具可能是一项复杂且耗时的工程,并且可能增加破坏现有构建和发布管道的风险。如果组织无法将其 AST 工具与现有的软件交付跟踪系统轻松集成,或无法根据风险确定安全活动的优先顺序,则安全和开发资源很容易变得捉襟见肘。
这些工具挑战通常会导致不必要的测试,给开发人员生产力带来障碍和时间延迟。安全分析师将难以跟上孤立工具和手动审查的进度,并且由于缺乏测试以及对流程、决策和关键发现的广泛可视性,可能无法检测到代价高昂且可能被利用的软件缺陷。
“策略即代码”有助于克服 DevSecOps 的这些障碍,方法是
Synopsys 软件风险管理器是一个全面的 ASPM 解决方案,使团队能够