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

Synopsys API 扫描器和 Synopsys Web 扫描器

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

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

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

Seeker 交互式应用安全测试

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

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

Defensics 模糊测试

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

Coverity 静态应用安全测试

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