在之前的文章中,我们了解了 SAST 和 DAST,本文将介绍将两者优势相结合的安全测试技术——IAST。
交互式应用安全测试(IAST)是一个自动识别和诊断应用程序和 API 漏洞的技术,它结合了 SAST 和 DAST 的优势,可以从应用内部持续监测漏洞。在整个开发生命周期中,IAST通过你在开发和测试中使用的工具实时提供告警。
IAST 的显著特性是它借助插桩(Instrumentation)直接从运行的代码中收集安全信息和遥测,以识别和诊断应用程序和 API 中的漏洞。但这并不意味着你需要等到生产阶段才开始进行 IAST,而是在你写下第一行代码的时候就开始在 IDE 中使用它。
由于 IAST 可以直接访问代码本身,它可以对每一行代码执行 SAST。此外,因为 IAST 可以访问 HTTP 流量,它可以对每个请求和响应进行类似 DAST 的分析。因此,IAST 结合了 SAST 和 DAST 工具的安全功能。
IAST 包含以下两个主要功能:
- 自有代码安全测试: IAST 可以自动分析应用程序和 API 的自有代码,找出之前没被发现的漏洞。IAST 能够识别各种各样类型的漏洞,不仅包含十大安全漏洞列表(OWASP Top 10)中的漏洞,还能识别出其他更复杂的漏洞。
- 开源安全测试: IAST 还可以通过两种方式来测试开源代码库和框架的安全性。首先,IAST 可以识别困扰开源软件的已知漏洞(通常以 CVE 的形式发布)。其次,IAST 还可以识别开源软件中未知的(“新的”或者“潜在的”)漏洞。