SAST和DAST的区别
静态应用安全测试(SAST)
这是一种白盒测试方法,意味着它们需要访问源代码才能发挥作用。它发现所有的安全漏洞,包括软件缺陷和弱点,如SQL注入和其他,在部署前检查代码。SAST不需要一个运行中的系统来进行评估。静态应用安全测试(SAST)是一种高度可扩展的安全测试方法。它也可以自动化,这将有助于节省时间和金钱。SAST测试是在软件开发生命周期(SDLC)的早期进行的,因此很容易在早期发现潜在的安全漏洞。
动态应用安全测试(DAST)
这是一种黑匣子测试方法,意味着从正在运行的应用程序外部进行测试,而不是查看内部源代码或应用程序架构。它在运行中通过检查应用程序来发现广泛的漏洞。DAST需要一个运行的系统来进行评估。通过动态应用安全测试(DAST)可以确定与软件应用程序的运行部署有关的不同安全漏洞。在DAST中,测试人员执行类似于攻击者的动作,这样就有助于发现其他测试技术可能遗漏的不同安全漏洞。
静态应用安全测试(SAST)和动态应用安全测试(DAST)之间的区别 –
编号 | 静态应用安全测试 | 动态应用安全测试 |
---|---|---|
1 | SAST是白盒安全测试的一种类型。 | DAST是黑箱安全测试的类型。 |
2 | 在SAST中,应用程序是由内向外测试的。 | 在DAST中,应用是由外向内测试的。 |
3 | 这种类型的测试是一种开发人员的测试方法。 | 这种类型的测试是黑客的测试方法。 |
4 | 静态应用安全测试不需要部署应用程序。 | 动态应用安全测试需要一个正在运行的应用程序。 |
5 | 在SAST中寻找漏洞,识别和修复bug比较容易。 | 在SDLC的最后阶段寻找漏洞。 |
6 | 修复漏洞只需很少的费用援助。 | 它在SDLC结束时发现漏洞,因此这样做很昂贵。 |
7 | SAST不能发现与运行时间和环境有关的问题。 | DAST可以发现与运行时间和环境有关的问题。 |
8 | 通常,它支持所有类型的软件,如网络应用程序、网络服务、厚客户端。 | 通常情况下,它只扫描像网络应用程序、网络服务这样的应用程序,但不支持其他类型的软件。 |
9 | 在这种测试中,开发人员对设计、应用框架和实施有一定的了解。 | 在这种测试中,测试人员对应用程序、设计、框架和实现没有任何了解,应用程序是建立在这些方面的。 |
10 | SAST测试需要源代码来执行测试操作。 | DAST测试不需要源代码来执行测试操作。 |
11 | 由于它扫描静态代码并执行其测试操作,这就是为什么它被称为静态应用安全测试(SAST)。 | 由于它扫描动态代码并执行其测试操作,这就是为什么它被称为动态应用安全测试(DAST)。 |
12 | 这种测试是在软件开发生命周期(SDLC)的早期阶段进行的。 | 这种测试是在软件开发生命周期(SDLC)结束时进行的。 |
13 | 在SAST中,有一个昂贵的持续时间,取决于测试人员的经验。 | 在DAST中,测试人员无法进行全面的应用分析,因为这是在外部进行的。 |
14 | 在SAST中,测试人员能够进行全面的应用分析。 | 与其他类型的测试相比,DAST可以更快完成,因为范围有限。 |