企业安全 | SAST白盒扫描实践

2024-03-14 1,045 0

前言

在企业内安全有一项很重要的工作,那就是应用安全测试AST(Application Security Test)。AST根据所用技术和场景的不同,一般分为SAST,DAST和IAST。

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

DAST:DAST(Dynamic Application Security Testing,动态应用程序安全测试)对应用程序进行黑盒分析,这意味着它们不能访问代码或实现细节。DAST只检查系统对潜在漏洞测试的请求和响应。如我们最常使用的AWVS,Appscan等工具

IAST:IAST(Interactive Application Security Testing,交互式应用程序安全测试)结合了SAST和DAST的优点。IAST可以像SAST一样看到源代码,也可以像DAST一样看到应用程序运行时的执行流。如开源的洞态,以及其它的商业产品。

企业安全 | SAST白盒扫描实践插图

本篇文章主要来看看SAST技术的发展过程,以及在企业实践过程中遇到的问题。

SAST技术的发展

SAST的技术发展大概经历了下面的四个阶段,从最初的基于关键字匹配,到最后的基于语法树,IR/CFG的检测方式,后面还有codeql这种方式。

每种新的技术的出现都是为了提高工具的使用效率。

技术发展阶段

代表工具

优点

缺点

备注

基于正则-关键字匹配的方案

Seay:高覆盖,通过简单的关键字匹配更多的目标,后续通过人工审计进行确认;

Rips免费版:高可用性,通过更多的正则约束、更多的规则覆盖多种情况。

方案简单,实现起来难度不大

1. 无法保证开发人员的开发习惯及代码编写,误报率及漏报率非常高;

2. 无法保证高覆盖及高可用性;3. 维护成本太大。

基于AST(抽象语法树)的方案

Cobra:侧重甲方的静态自动化代码扫描,侧重低漏报率;

Kunlun-M:侧重于白帽子自用,只有准确的流才会认可,否则标记为疑似漏洞,侧重低误报率。

在编译处分析代码,无需关注开发人员的开发习惯(编译器是相同)。

1. 无法保证完美处理所有的AS


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论