动态应用安全测试的未来展望
关键要点
- 动态应用安全测试(DAST)是现代网络环境中的必备工具。
- DAST工具从外部进行测试,不需要了解内部细节。
- 在软件开发生命周期(SDLC)的多个阶段进行安全测试的能力。
- DAST可以在不增加额外成本的情况下,频繁进行安全测试。
- 实现快速部署,能迅速提供有效的安全结果。
- 统一应用安全测试,简化工作流程。
随着当今多技术网络环境的快速变化,动态应用安全测试(DAST)已成为不可或缺的工具。下面是五个有力理由,说明为何DAST可能会成为应用安全的未来。
理由一:测试所有内容——即便你不知道它是什么
DAST通常指在运行的应用程序上执行的所有安全测试(与静态代码相对),在实践中,DAST通常被理解为漏洞扫描。早期的漏洞扫描工具相对简单,主要用于自动化渗透测试中更加繁琐的环节。随着技术的发展,DAST逐渐成为应用安全工具包中不可或缺的一部分,但仍然仅覆盖应用环境的有限部分。如今,领先的DAST解决方案已经取得了跨越式的发展,成为全面网络应用安全测试的可行选择。
DAST工具的本质是从外部进行测试,不需要了解内部工作。在现代网络开发的快节奏环境中,曾被视为弱点的特性现在却成为了它们的最大优势。借助高质量的DAST,你可以扫描整个网络应用环境,探测每一个潜在的攻击点,而无需了解或关心内部实现:编程语言、应用架构、部署细节、外部依赖等。实际上,从外部入手已成为覆盖整个网络攻击面最现实的方法。
理由二:在SDLC多个阶段进行测试
如今,许多网络开发使用敏捷方法论,自动化的持续集成和交付(CI/CD)管道中,应用安全测试要成为链条的一部分。传统上,在软件开发生命周期(SDLC)的每个阶段都需要一套单独的安全测试工具,因为在开发阶段只能执行静态分析,在预发阶段进行漏洞扫描,在生产环境中进行渗透测试。但随着过去十年的技术进步,自动化DAST解决方案在SDLC中的应用已经大大拓展。
虽然DAST在SDLC中仍然扮演着重要角色(在预发阶段),但最先进的DAST工具现在也在开发阶段进行测试,并在生产中扫描。在开发阶段,你可以在拥有可运行代码后立即扫描出漏洞,这意味着在大多数现代框架中从第一次提交代码时就可以触发增量扫描。在生产环境中,你可以安全地测试,以覆盖配置错误和新发现的攻击方法。
理由三:按需频繁测试,且无额外成本
理想情况下,任何代码都不应该在未通过所有安全测试的情况下投入使用。在CI/CD管道中的动态测试,需要快速、集成与精准的自动扫描,因为人工测试在这种时间安排下过于缓慢且资源密集。传统的DAST工具在此方面也面临挑战,因其整合不佳和低质量的结果,需要安全工程师手动检查,限制了全面安全测试的实际频率。但如果做得当,自动化DAST可以成为按需测试的唯一方式,而无需额外的工作或工具。
这里的关键是将DAST理论转化为实践。当你拥有的DAST平台真正能高速、精准地交付时,你可以将测试过程自动化,以你希望的方式触发全面或部分的扫描。例如,你可以在开发过程中自动触发新的提交增量扫描,同时在生产环境中定期进行日常增量扫描和每周全面扫描。这使你能够针对所有重大可利用漏洞保持持续覆盖,而没有额外成本。
(作为额外福利,任何形式的人工测试,例如定期的渗透测试或漏洞奖励计划,将会获得更大价值,因为安全专业人士可以专注于DAST未能发现的更高级的漏洞,并在内部加以处理。)
理由四:快速部署并迅速获得真实价值
现代DAST工具以其宣称的功能快速部署,从零到有用结果只需数天,甚至数小时。由于其技术无关性,优秀的DAST解决方案只需要最少的设置和配置即可开始测试,特别是在设置认证和特定