Web开发

首页 » 常识 » 预防 » 网络安全通识全解第18期Web应用安全测
TUhjnbcbe - 2025/6/9 18:43:00

在互联网高度发达的当下,智能化的软件成为商业决策、推广等不可缺少的利器,很多软件涉及了客户商业上重要的信息资料,一个细小的安全漏洞,将有可能对客户造成巨大影响。因此,软件安全测试的重要性不言而喻。

Web应用安全测试技术经过多年的发展,目前业界常用的技术主要分为以下3大类别。

DAST(动态应用程序安全测试)

DAST是一种黑盒测试技术,是目前应用最广泛,使用最简单的一种Web应用安全测试方法。

技术原理

1、通过爬虫发现整个Web应用结构,爬虫会发现被测Web程序有多少个目录,多少个页面,页面中有哪些参数。

2、根据爬虫的分析结果,对发现的页面和参数发送修改的HTTPRequest进行攻击尝试(扫描规则库)。

3、通过对于Response的分析验证是都存在安全漏洞。

SAST(静态应用程序安全测试)

SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。

技术原理

1、通过调用语言的编译器或解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间代码,将其源代码之间的调用关系、执行环境、上下文等分析清楚。

2、语义分析:分析程序中不安全的函数、方法使用问题。

3、数据流分析:跟踪、记录并分析程序中的数据传递过程所产生的安全问题。

4、控制流分析:分析程序特定时间、状态下执行操作指令的安全问题。

5、配置分析:分析项目配置文件中的敏感信息和配置缺失的安全问题。

6、结构分析:分析程序上下文环境、结构中的安全问题。

7、结合多种分析结果,匹配所有规则库中的漏洞特征,一旦发现漏洞就抓取出来。

8、形成包含详细漏洞信息的漏洞检测报告,包括漏洞的具体代码行数以及漏洞修复的建议。

IAST(交互式应用程序安全测试)

IAST是一种新的应用程序安全测试方案,通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。

IAST原理

IAST是DAST和SAST结合的一种互相关联运行时安全检测技术,它融合了DAST和SAST技术的优点,无需源码,支持对字节码的检测。IAST是在软件生命周期中的QA/Testing阶段进行的,通过把安全测试从生产阶段分离,使得团队可以提前捕获动态漏洞,进而降低漏洞修复成本、消除延迟、降低应用程序被破坏的风险。

IAST分为主动式IAST和被动式IAST。主动式IAST通过在被测试应用程序中部署探针,然后使用外部扫描器触发流量由探针进行捕获、检测是否存在漏洞;被动式IAST通过在被测试应用程序中部署探针,然后获取程序执行的代码上下文信息及数据流向,根据数据流向及程序执行的代码上下文信息梳理污点链路,判断是否存在漏洞。

1
查看完整版本: 网络安全通识全解第18期Web应用安全测