AST(Application Security Test)应用安全测试,其中在此基础上衍生的一系列名词:SAST、DAST、IAST都是什么?都有什么作用?
SAST(Static Application Security Testing)
SAST是一种白盒测试技术,通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。是在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。
SAST(静态应用程序安全测试&代码审计)方案调研 - 先知社区
静态代码扫描,也就是白盒代码审计,无需应用程序运行。SAST一般在开发任务完成的时候进行,研发完成开发,将代码打包提交测试,系统对代码进行扫描。
fortify静态扫描工具,在研发提交上线测试的时候就会进行扫描。
优缺点:不写,网上直接搜。(没什么意思)
DAST(Dynamic Application Security Testing)
DAST是动态应用程序安全测试,它跟SAST不同的是它作用在运行的应用程序,而不是源代码。DAST是一种黑盒测试技术,是目前应用最广泛、使用最简单的一种Web应用安全测试方法。在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该Web应用是否易受攻击。
IAST(Interactive Application Security Testing)
IAST相当于是DAST和SAST结合的一种互相关联运行时安全检测技术,属于灰盒测试技术。它是交互式应用程序安全测试,结合了SAST和DAST的有点,可以对源代码进行扫描,也可以对应用程序的数据流进行跟踪。
IAST的实现模式较多,常见的有代理模式、VPN、流量镜像、插桩模式。
- 代理模式,在浏览器或者APP端设置代理,通过代理获取功能测试的流量,利用功能测试时的流量模拟漏洞检测方式对被测试服务器进行安全测试