1. SAST(静态应用安全测试)、DAST(动态应用安全测试)、IAST(交互式应用安全测试)三者的原理差异和覆盖盲区?
请说明 SAST、DAST、IAST 三种安全测试技术的原理差异与各自的覆盖盲区?
- SAST 静态分析原理与盲区
- DAST 动态黑盒原理与盲区
- IAST 交互式代理原理与盲区
SAST(静态应用安全测试)在源码层面分析,不运行程序,通过数据流、污点传播与控制流分析发现漏洞,如 SQL 注入、XSS、硬编码密钥;优势是覆盖全、可定位代码行、左移,缺点是误报高、难发现运行时与环境类问题、对复杂业务逻辑判断弱。DAST(动态应用安全测试)运行系统从外部黑盒发起请求,模拟真实攻击,能发现运行时配置、认证、会话等真实可达漏洞,误报低;缺点是需运行环境、覆盖依赖功能可达性、扫描慢、无法覆盖未部署或深层代码。IAST(交互式应用安全测试)在运行时部署 Agent 并实时分析请求与代码执行,兼顾 SAST 的代码定位与 DAST 的真实性,误报低、覆盖广;缺点是需资测环境、Agent 有性能开销、平台依赖。三者的盲区互补:SAST 补逻辑与源码、DAST 补运行时与配置、IAST 补真实执行下的数据流,工程上常组合使用。
三种技术"静态/动态/交互"构成不同视角,无单一技术全覆盖。测试者应理解各自盲区,组合选型以覆盖源码、运行时与环境各层。