谈谈SAST/IDAST/IAST
in 安全思考 with 0 comment

谈谈SAST/IDAST/IAST

in 安全思考 with 0 comment

1.工具概述

2.功能对比

2.1 功能对比详情

红色为三种检测方式对比中的最差
绿色为三种检测方式对比中的最佳
QQ20180910-210935@2x.png

2.2 功能对比总结

通过上述表格对比分析

2.2.1 SAST 功能优劣总结

SAST的优势:

SAST的劣势:

2.2.2 IDAST 功能优劣总结

IDAST的优势:

IDAST的劣势:

2.2.3 IAST 功能优劣总结

IAST的优势:

IAST的劣势:

3.效果对比

3.1 效果对比依据

效果对比采用OWASP的benchmark为标准,是比较权威的安全效果评分

列举常见漏洞效果对比,重点需要关注TPR(漏洞检出率),FPR(漏洞误报率)

OWASP benchmark将当前最好的6款商业SAST(白盒工具)做了评估,但未具体说明每个工具的评分,匿名评价

未将IAST工具纳入对比,黑盒工具中只采用的ZED这款传统扫描器,该扫描器在黑盒工具中属于检测效果中等的,不及AWVS和APPSCAN

3.2 效果对比详情

SAST与IDAST

XSS跨站脚本
QQ20180910-211906@2x.png

SQL注入
QQ20180910-211935@2x.png

命令执行
QQ20180910-212104@2x.png

关注TPR(漏洞检出率),FPR(漏洞误报率)

我们可以发现SAST(白盒工具),普遍TRP漏洞检出率较高,但是FPR漏洞误报率,也非常高,在XSS,SQL注入,命令执行,三种漏洞的评估中,白盒审计工具误报率基本都超过了50%,最高的甚至达到102%,误报高于检出,这意味着白盒工具的落地,一定需要有经验的代码审计人员,针对扫描结果排除误报,再将漏洞报告交付给研发,漏洞流程才可以比较好的落地。

我们看到ZED这款黑盒工具的,误报率极低,基本无误报,误报最高也仅仅1.29%,但是在检出率上,仅仅只有40%左右,也符合我们在功能对比时候的结果,由于ZED这款工具是基于爬虫的黑盒工具,而且漏洞检测效果在商业级产品中,属于中等偏下,不及APPSCAN和AWVS,更不及IDAST,所以实际灰盒工具的检测分数,应该远高于ZED的检测分数,按照分数评分,应该是高于白盒工具的。

再来看市面上的IAST工具在benchmark中的检测结果
vulhunter
QQ20180910-212215@2x.png

Hdiv detection
QQ20180910-212256@2x.png

在IAST公司对外宣传上来看,基本都是误报率0,检出率100%,不过这个是对着benchmark这个靶场测试的,覆盖度可以保证100%,但是正常情况下,覆盖度会低一些

3.3 效果对比总结

单从测试综合效果上来说,IAST>IDAST>SAST,分开来看
覆盖度:SAST>IDAST>IAST
检出率:SAST>=IAST>IDAST
正确率:IAST>=IDAST>SAST

4 总结

如果单从效果来看,IAST效果最佳,误报率几乎为0,检出率较高,漏洞信息多,但是受限于支持的语言和框架,目前仅java的技术IAST技术比较成熟,同时测试覆盖度也跟人工测试的覆盖度有极大关系,由于agent与真实webserver集成,稳定性额外重要,每次更新需要重启webserver,部署成本较大。

目前成熟的SAST产品支持的语言和框架都比较丰富了,已经不受限于语言和框架,SAST的部署,维护,侵入性,风险度都非常优秀,部署成本最小,维护成本最小,检测效果上由于是扫描源码,覆盖度和检出率可达到最好,但是SAST产品最大的痛点就在于误报问题,误报多导致SAST产品难以落地,太需要人工成本。如果解决了误报问题,SAST产品可完全取代IAST和IDAST产品。

IDAST产品从本质上来说还是属于DAST,只是使用方式采用交互式,漏洞检出率,误报率,部署成本都属于中等级别,第三方组件检测效果较差,由于脏数据和扫挂服务的问题,导致维护成本较大,用户容易产生抵触心理。但业务逻辑漏洞是IDAST类产品最独特的一点,SAST和IAST都几乎不可能解决业务逻辑问题,只有IDAST可以有办法解决。

SAST属于编码阶段,IAST和IDAST都属于测试阶段,IAST的出现,冲击最大的是同属于测试阶段的IDAST类产品,但仅限于通用漏洞。不过大家慢慢应该也感觉到一个趋势,通用漏洞越来越少,框架越来越成熟,在框架中就帮助解决了大部分通用漏洞,业务逻辑漏洞慢慢成为主流,IDAST类产品要不被IAST类产品取代,只能发力在业务逻辑漏洞上。同时,DAST类产品的最大作用,还是在对大量目标扫描的时候,不分语言不分框架,无需在业务上部署东西,直接接入流量,开始扫描即可发现漏洞。

Comments are closed.