长亭百川云 - 文章详情

讲清 DAST,还有开源免费工具推荐!

imBobby

210

2024-06-24

欢迎啊各位观众,帮忙点点关注、点点赞、点点在看,抱拳了!

1

背景

什么是DAST

DAST(动态应用安全测试)是通过在应用程序运行时分析其行为(或者说反应 or 反馈)来发现安全漏洞。与SAST(静态应用安全测试)不同,DAST 不需要应用程序的源码,一般做 DAST 的方式都是通过模拟攻击者的行为,并在应用程序的实际运行环境中测试为主。

DAST 的重要性

为什么说 DAST 对应用程序安全很重要呢?我先列举几个吧:

DAST 能找出运行时才能发生的漏洞:DAST 是在应用程序运行时测试,因此它可以发现一些只有在运行时满足特定情况下才会出现的安全问题,而这些问题靠静态不太好发现。

模拟小型渗透测试:DAST 的很多测试方式都是通过模拟入侵者行为对应用程序进行测试,这不就是小型的自动化渗透测试嘛!

无需源码:DAST 不需要源代码,因此无论是对乙方还是模糊测试等场景,它特别有用。

覆盖比较全:DAST 不仅能测试应用的前端(网页、App等)部分,还能检查后台服务和API接口,因为 DAST 的核心是动态分析和生成恶意请求,并且与应用程序实时交互,因此 DAST 可不管你什么前后端,它可以全量爬取 + 自动化 + 行为分析 + 第三方组件检测...

DAST的工作原理

我在这里说一下 DAST 的工作原理吧,它其实就是黑盒测试嘛,只不过是针对安全的黑盒测试咯,分步看的话,DAST 所做的事儿基本上包括:

模拟用户操作:例如说访问网页、提交表单、点击按钮等操作;

扫描和全量爬取:自动扫描和爬取应用程序的所有页面和功能,收集应用的结构和内容,构建一个比较完整的应用程序地图;

发请求:在扫描过程中,DAST 工具会尝试注入 SQL 啊、发送跨站脚本(XSS)等;

响应分析:DAST 工具会分析应用程序对恶意请求的响应,以检测是否存在安全漏洞或者某些信息暴露,例如说报错时暴露 Nginx 版本等;

生成报告:一般情况下,DAST 工具会生成一份比较详细的缺陷 or 漏洞报告,列出它发现的安全漏洞、位置和类型等,有些工具还会给出可能的修复建议;

DAST vs. SAST

一般 SAST DAST IAST 都是配套使用的,SAST 负责在写代码时预先测试,通过分析静态代码、分析二进制文件或字节码、配置文件等来确定是否有什么安全问题,不过 SAST 由于需要程序源码,可能对闭源或者第三方代码的覆盖能力比较有限;而由于 DAST 是在应用程序运行时做安全测试,几乎能覆盖整个运行过程时需要前后端、API 等,但是 DAST 可能会漏掉一部分,因为有些代码没运行呀...

我们能看出,SAST 和 DAST 有一些互补性的,毕竟都是为了应用程序安全性而生嘛,SAST 和 DAST 结合在一起使用,再加上 IAST,就基本能覆盖应用程序早期、 部署、运行时等阶段,很大程度上能保障应用程序的安全性。

2

DAST 的优劣

优点

优点很多,实时分析、模拟真实攻击、适用性比较广(毕竟无需源码)、可以全面覆盖前端、中台和后端、能够方便集成到 CI/CD 中实现自动化和持续监控、动态行为分析发现特定操作下的漏洞,能检测第三方组件和库的安全性等等。

缺点

误报和漏报我就不说了,因为几乎所有的安全产品都会有...

资源相关:DAST 测试会对应用程序的性能和稳定性产生一定影响,特别是在进行深度扫描和模拟复杂攻击时,肯定会导致系统响应变慢或不稳定;

消耗时间长:对于比较复杂的 Web 应用,DAST 测试时间比较长;

环境依赖:DAST 需要在实际运行环境中进行测试,这就要求我们搞一套与生产环境基本一致的测试环境,我知道大部分公司都有生产网、测试网和 QA,不过对于 DAST 而言还是要单独配置一套环境比较稳,毕竟就算是把 QA 搞挂了也挺闹心的对不...

代码覆盖略差:由于 DAST 不分析源码,只能在运行时检测,因此无法发现代码中的一些潜在安全问题,例如说逻辑错误、未被调用代码中的漏洞等

3

开源免费DAST工具推荐

其实 DAST 工具真的超级多,我之前的文章有写过 OWSAP 给出的列表,大家可以去那里看,本文只推荐一部分我喜欢用的工具咯。

ZAP

OWASP ZAP是由 OWASP 维护的一个开源项目,它基本是目前最受欢迎的 DAST 工具之一了,也是我最喜欢的工具哈哈:

https://www.zaproxy.org/

ZAP 的主要功能包括自动化漏洞扫描和手动测试,它能深入爬 Web 应用,发现很多隐藏的页面和接口,还支持各种插件扩展,它用起来真的很简单、而且功能比较全,插件形形色色一大堆;缺点是对大型复杂应用的扫描速度较慢,可能需要手动配置和调优。

OpenVAS

OpenVAS(Open Vulnerability Assessment System)是一套用于漏洞扫描和管理的开源工具,这东西一般用于安全测试和漏洞评估,不过呢 OpenVAS 更常用于网络和系统级别的漏洞扫描,但它也可以用于 Web 应用的安全测试:

https://github.com/greenbone/openvas-scanner

除此之外,我常用的还有 w3af 和 Arachni,这俩工具也还可以,我放一下链接吧:

https://github.com/andresriancho/w3af
https://github.com/Arachni/arachni

往期推荐

你的账号够安全吗?防盗号小技巧大揭秘!

体系化安全基建:从攻防对抗到安全运营角度

显示IP属地的意义在哪呢?

抛砖引玉!toC 业务做业务安全的思路!

寻找零成本安全工具真有那么难吗?OWSAP 帮你收集好了!

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2