如何区分SAST、DAST和IAST

如何区分SAST、DAST和IAST,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

那么SAST,DAST和IAST到底是什么?他们之间的优劣势如何?下面小编就简而述之。

如何区分SAST、DAST和IAST

SAST

SAST(Static Application Security Testing,静态应用程序安全测试)对应用程序源代码执行直接的白盒分析。分析是在代码的静态视图上运行的,这意味着代码在审查时没有运行。如今,SAST已经完全成为主流,并且在整个软件行业中被广泛采用。

SAST的优点:

广泛的编程语言支持;

检出率较高;

可以定位到代码行。

SAST的缺点:

准确性差:优秀SAST产品的误报率也在53%以上*;

无法看到执行流;

通常需要一些定制或调参;

不适用于生产阶段的系统;

通常运行很慢。

DAST

与SAST相反,DAST(Dynamic Application Security Testing,动态应用程序安全测试)对应用程序进行黑盒分析,这意味着它们不能访问代码或实现细节。DAST只检查系统对潜在漏洞测试的请求和响应。换言之,DAST是外部的漏洞扫描程序。

DAST的优点:

独立于应用程序的技术和平台,无需代码细节;

执行相对较快;

误报率较低。

DAST的缺点:

检出率低:优秀的DAST产品检出率也只有18%*;

无法定位到代码行;

使用门槛高,报告通常需要安全专家解读。

IAST

IAST(Interactive Application Security Testing,交互式应用程序安全测试)结合了SAST和DAST的优点。IAST可以像SAST一样看到源代码,也可以像DAST一样看到应用程序运行时的执行流。

IAST的优点:

检出率较高;

误报率较低;

可以在研发测试和生产环境中使用;

实时产生结果;

可以持续检测,对DevOps支持度更高;

即插即用,无需配置或调参;

可以与CI平台集成,创建相互连接的工作流。

IAST的缺点:

需要特定的语言支持

我们可以看到,与SAST和DAST类产品相比,IAST类产品拥有明显的优势。但IAST作为近年来才诞生的热点,其发展还远没有SAST和DAST类产品成熟。因此我们认为如果预算允许,以上这三类应用安全测试产品应该在机构中同时应用。如果机构只拥有一款产品的预算,IAST是最合适的选择。因为IAST不仅拥有安全测试上的能力优势,也更容易与DevOps紧密结合,帮助机构在不降低发布效率的前提下完成安全测试。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注