IAST是一种灰盒漏洞检测工具,它结合了SAST和DAST,利用动态污点跟踪的方法梳理出污点的数据流图,然后判断是否存在漏洞。更多细节请关注【灵芝IAST-社区版】(https://huoxianclub.github.io/LingZhi/)
IAST分类
- 流量式IAST
- 主动式IAST
- 被动式IAST
流量式IAST
1.通过代理、流量镜像等手段捕获测试人员触发的HTTP/HTTPS流量;
2.插入payload,重放流量,根据触发的payload判断是否存在漏洞;
优点:
- 漏洞准确,误报率低
缺点:
- 产生脏数据(某些甲方不允许脏数据)
- 覆盖率依赖于测试触发的流量,漏报率较高
- 无法在url签名、验证码等无法重放的场景下使用
主动式IAST
1.通过动态插桩方式将处理逻辑插入应用代码(安装Agent)
2.Agent捕获流量,将触发sink点的流量发送至主动式IAST重放模块
3.IAST重放模块组合payload,重放数据包,检查是否可触发sink及sink点是否存在插入的payload
4.拦截带脏数据的sink点处理流程
优点:
- 漏洞准确,误报率低
- 可拦截脏数据,减少脏数据的数量
- 覆盖率可通过技术手段进行提高
缺点:
- 无法覆盖放重放场景下的漏洞检测
参考链接
进击的DevSecOps,持续分享SAST/IAST/RASP的技术原理及甲方落地实践。如果你对 SAST、IAST、RASP方向感兴趣,可以扫描下方二维码关注公众号,获得更及时的内容推送。