为ISO 27001合规性,在您的软件开发生命周期中测试应用安全性
攻击者们不断设计新的、更加狡猾的手段,以获取系统访问权限,窃取机密信息、获取经济利益,或破坏组织的声誉和利润。因此,在每个 DevOps 项目中,强大的安全性应该与实现预期功能一起被视为终极目标。强大的安全性意味着应用程序没有安全漏洞,不会受到恶意用户输入或入侵攻击的影响。
实现这个目标是一项挑战,这就是为什么国际标准化组织 (ISO) 的 27001/27002 文档强调在软件开发生命周期 (SDLC) 中开展安全测试。实际上,ISO 27001 信息安全标准 和其相关文档 ISO 27002 都于 2022年10月进行了更新,明确要求在 SDLC 中进行安全测试,并声明:“安全测试过程应在开发生命周期中定义和实施”。
这些 ISO 文档为开发和部署应用程序过程中管理安全风险制定了一项策略。ISO 27001 文档描述了信息安全管理系统所需的特征,而 ISO 27002 文档则定义了开发人员应实施的具体指令和政策,以维护信息的机密性、完整性和可用性。
幸运的是,已有众多工具可供 在整个 SDLC 中测试应用安全。某些工具查找代码中的弱点,其他工具则测试正在运行的程序的用户输入,还有一些工具监控正在运行的程序以寻找潜在的入侵。这些工具没有任何一款能够单独满足所有需求。每类安全测试工具在组织的安全测试工具组合中都有其位置。正如 Matthew Sciberras 所说:“全面的、多层次和多方法的策略才是提升 SDLC 安全性的唯一途径。”
为了在编码周期早期及应用程序运行之前发现漏洞,静态应用安全测试 (SAST) 和 软件组成分析 (SCA) 工具是两个选项,这两者通常被归类为白盒测试,因为 SAST 和 SCA 都能够访问代码。
SAST 工具扫描源代码以寻找已知的弱点。例如,它们查找常见弱点枚举 (CWE) 列表中列出的缺陷、SANS Institute 识别的 25 种最危险软件错误,以及 OWASP 十大关键编码错误。这些工具可以在 SDLC 的早期阶段检测到漏洞,即使是在已部署但尚未激活的代码中。许多此类工具可以直接集成到构建系统和问题跟踪系统中。这使得测试成为 SDLC 的一个组成部分,而不是开发人员在时间紧迫时可能被忽视的额外步骤。然而,其中一些 SAST 工具可能运行缓慢,并且可能产生误报。
SCA 工具旨在检查易受攻击的开源软件组件。开源软件作为现代应用程序的重要组成部分,平均占已部署应用程序代码库的 78。SCA 工具通常运行速度快,且误报率低,但其检查范围有限。SAST 和 SCA 工具不仅适合初次编码,也适合在持续集成/持续交付 (CI/CD) 环境中验证软件更新。
一旦应用程序开始运行,无论是在测试环境还是已部署到生产系统中,您将有更多的安全测试选项可供选择。交互式应用安全测试 (IAST) 工具与运行中的 Web 应用程序进行互动,以提供运行时的见解。动态应用安全测试 (DAST) 工具对
安易加速器下载正版