DAST

什么是 DAST?

动态分析测试 (DAST) 这种 AppSec 测试方法无需了解应用在系统级别的内部交互或设计,也无需访问或查看源程序,即可检查正在运行的应用。这种“黑盒”测试从外到内查看应用,检查其运行状态,并观察其对工具模拟攻击的响应。观察应用对这些模拟的响应有助于确定应用是否易受攻击,且易受真正的恶意攻击。

DAST 的工作原理是什么?

DAST 通过模仿恶意攻击者,模拟自动攻击应用来发挥作用。目标是发现可能被攻击者用于损害应用的预期之外的后果或结果。DAST 工具没有关于应用或源代码的内部信息,因此会像外部黑客一样发起攻击——掌握的应用知识和信息也同样有限。

有多种不同类型的 DAST 解决方案可供选择。从较为传统的 DAST 工具(提供运行时 Web 应用的动态扫描和分析),到现代 DAST 解决方案(结合 Web 和 API 扫描、渗透测试模糊测试),均有提供。还有下一代技术工具,如交互式应用安全测试 (IAST)。

DAST 和 SAST 有何区别?

静态应用安全测试 (SAST) 使用与 DAST 相反的方法:它在全面了解内部工作(源代码、二进制等)的情况下,从内到外查看应用。这种“白盒”测试的目标是识别代码问题。在 SAST 期间,应用不会运行,因为 SAST 检查的是应用的源代码,而不是它在运行时的表现。SAST 审查应用的数据和控制路径是否存在安全弱点。

在应用运行时执行 DAST,从攻击者的视角对其进行分析,从而识别潜在的漏洞。DAST 在正在运行的应用中寻找可利用的缺陷。

SAST 在现代 DevOps 模型中的软件开发生命周期 (SDLC) 的早期使用,可迭代提供结果,同时开发人员为应用创建代码段,以组成持续集成/持续部署 (CI/CD) 方案。SAST 分析结果可以识别确切的薄弱代码行,便于开发人员在编码过程中解决软件问题。

可以在 SDLC 的构建集成阶段及早使用 DAST,但通常都是在稍后的测试和生产阶段才使用。在这些后期阶段,应用已经构建完成,因此可以在运行时进行分析。DAST 可以识别潜在的漏洞,但无法像 SAST 一样识别薄弱代码所在的行。

DAST 和 IAST 有何区别?

交互式应用安全测试 (IAST) 这种 AppSec 方法可在开发人员运行自动或手动测试期间,检查运行中的应用是否存在代码漏洞。IAST 不同于 DAST 和 SAST,它在应用内部进行测试;DAST 则从外部进行测试,并从外到内分析应用。SAST 通过分析源代码来了解应用内部情况。IAST 实际上是在应用内部发挥作用。

IAST 不需要整个代码库或整个应用的访问权限。IAST 只需获取在功能测试期间使用的应用元件。IAST 执行实时报告,且通常在能够运行功能测试的 Q&A 环境中实施。

Seeker IAST、Tinfoil DAST 和 Defensics 模糊测试在 SDLC 中发挥的作用。| Synopsys

什么是 RASP?

运行时应用自我保护 (RASP) 这种 AppSec 解决方案,可在服务器上针对运行中的应用执行保护。用于实时检测攻击并保护应用。RASP 通过分析应用的行为来识别攻击,并可及时进行补救。应用中发生安全活动时,RASP 工具会接受应用的命令,并努力缓解问题。

DAST 和渗透测试有何区别?

渗透测试针对应用模拟网络攻击,旨在识别漏洞。渗透测试与 DAST 类似,两者均执行揭示潜在漏洞的活动,但区别在于测试目标和能力。DAST 可自动识别和报告注意到的漏洞,而渗透测试则涉及人类测试者(使用渗透测试工具和/或 DAST 工具)进行实际尝试,以利用发现的漏洞并确定其是否会真正构成威胁。

每种应用安全测试工具有什么优点?

DAST 的一个关键优势在于,它可以识别运行时问题,即在应用未运行时无法发现的弱点。此外,DAST 还会分析应用如何对攻击作出实际响应,从而提供有用的见解,说明该漏洞被操纵的可能性。

SAST 很擅长在编写代码时识别漏洞;如果没有 SAST,开发团队只有在 SDLC 后期才有可能发现问题。SAST 还有助于查找编码问题的确切位置,使开发人员能够轻松找到并修复漏洞。

IAST 支持 DevSecOps 以及进行持续的实时测试、监控、评估和验证。IAST 有助于根据业务目标和应用安全需求,确定关键风险的优先级并发出警报。它还会利用在测试阶段完成的现有测试,并可以主动验证已识别的漏洞是否会被利用,从而减少误报。IAST 解决方案还可识别薄弱的代码行,并提供有用的补救建议,便于开发人员更加轻松地修复代码安全问题。

SAST、DAST、IAST、渗透测试可以全都一起使用吗?

使用多个 AppSec 解决方案是一种应用安全最佳实践。通过采用涉及不同活动和 SDLC 阶段的多种方法,AppSec 专家能够确保拥有最完善的安全状态。由于每种解决方案都使用不同方法以专业方式识别潜在的漏洞,组合测试方法可实现最全面的应用安全。如需了解有关这种现代方法的更多信息,请阅读 Synopsys 的博客文章应该选择哪种应用安全工具?

Synopsys 提供涵盖整个 SDLC 的产品/服务 | Synopsys

Synopsys 产品/服务

托管 DAST 服务

Synopsys 托管 DAST 是一款经济高效的托管安全测试解决方案,适用于需要专业动态安全测试以解决复杂应用、广泛产品组合和/或内部资源/技能挑战的团队。

Tinfoil API 扫描器和 Tinfoil Web 扫描器

Synopsys Tinfoil™ 提供 DAST 功能,并将 API 安全测试功能集成到开发和 DevOps 工作流中。

Tinfoil Web 扫描器将其行业领先的功能集成到 DevOps 工作流中,使开发人员能够参与应用安全。

Tinfoil API 扫描器是旨在满足 API 测试的复杂和特定需求而构建的工具,而传统 AppSec 工具无法满足这些需求。这款独一无二的扫描器可以充分了解 API 的使用和攻击方式。它解决了 API 身份验证和可发现性带来的安全测试挑战,其全新的扫描引擎专为解决 API 特有挑战而定制,使其在市场上脱颖而出。

Seeker 交互式应用安全测试

Seeker® 是业界首款针对基于 Web 的应用进行主动验证和敏感数据跟踪的 IAST 解决方案。专利型主动验证技术:

  • 自动重新测试已识别的漏洞,并验证它们是否真实,是否会被利用
  • 取得比传统动态测试更加准确的结果
  • 提供首要安全漏洞的实时视图

Defensics 模糊测试

Defensics® 可提高软件的稳定性,确保系统互操作性,并识别您为业务运营采购或构建软件时产生的漏洞。

Coverity 静态应用安全测试

加速开发并提高安全和质量。Coverity® 是一款快速、准确且高度可扩展的 SAST 解决方案,可帮助开发和安全团队在软件开发生命周期 (SDLC) 的早期解决安全和质量缺陷,跟踪和管理整个应用组合的风险,并确保符合安全和编码标准