在互联网高度发达的当下,智能化的软件成为商业决策、推广等不可缺少的利器,很多软件涉及了客户商业上重要的信息资料,一个细小的安全漏洞,将有可能对客户造成巨大影响。因此,软件安全测试的重要性不言而喻。
Web应用安全测试技术经过多年的发展,目前业界常用的技术主要分为以下3大类别。
DAST(动态应用程序安全测试)
DAST是一种黑盒测试技术,是目前应用最广泛,使用最简单的一种Web应用安全测试方法。
技术原理
1、通过爬虫发现整个Web应用结构,爬虫会发现被测Web程序有多少个目录,多少个页面,页面中有哪些参数。
2、根据爬虫的分析结果,对发现的页面和参数发送修改的HTTP Request进行攻击尝试(扫描规则库)。
3、通过对于Response的分析验证是都存在安全漏洞。
SAST(静态应用程序安全测试)
SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。
技术原理
1、通过调用语言的编译器或解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间代码,将其源代码之间的调用关系、执行环境、上下文等分析清楚。
2、语义分析:分析程序中不安全的函数、方法使用问题。
3、数据流分析:跟踪、记录并分析程序中的数据传递过程所产生的安全问题。
4、控制流分析:分析程序特定时间、状态下执行操作指令的安全问题。
5、配置分析:分析项目配置文件中的敏感信息和配置缺失的安全问题。
6、结构分析:分析程序上下文环境、结构中的安