动态应用安全测试(DAST)

article/2025/9/8 1:16:35

什么是DAST安全测试?

动态应用程序安全测试(DAST)从web应用程序外部测试安全性。一个很好的类比是通过攻击银行保险库来测试其安全性。DAST要求安全测试人员不了解应用程序的内部。这被称为“黑盒”测试方法——因为测试人员看不到隐喻性的“盒子”内部。它的目的是模拟真实的攻击。

Burp Suite 诞生于DAST的思维模式。如今,它可以通过其他测试方法来增强和改进扫描,但它本质上仍然是一个黑盒工具。

DAST是自动化的还是人工的方法论?

答案是“都有”。例如,位于Burp Suite核心的自动扫描仪就扎根于DAST。但是手动渗透测试也是(通常)DAST式的——需要只有人类才有的横向思维。很大一部分是无法自动化的。

因此,DAST的范围很广,既包括自动化技术,也包括人工技术。它只要求您对正在测试的系统没有内部知识。

动态安全测试是如何工作的?

自动化DAST

正如我们所知,DAST背后的概念是,它模拟了一次真正的攻击。就像银行抢劫犯一样,真正的网络攻击者首先要做的就是保护场所。Burp Suite的扫描仪通过“爬行”您正在查看的网络应用程序来模拟这种情况。

爬虫是一种机器人,可以自动访问和记录网络应用程序的每个页面。有了这些知识,它就可以创建一张地图。考虑到许多现代网络应用程序的动态性和不稳定性,构建一个爬虫实际上比听起来要复杂得多。

接下来,在Burp Suite的情况下,软件将审计应用程序的漏洞。这可能包括从使用暴力代码注入技术(如“模糊化”)到搜索以不安全方式处理用户登录详细信息的情况。

Burp Suite的自动扫描仪能够检测出一长串安全漏洞——其中许多漏洞是传统DAST无法单独报告的。这些增强的功能得益于来自IAST(交互式应用安全测试)和OAST(带外应用安全测试)技术的输入。

当一个组织管理许多web应用程序时,或者当开发人员使用DevSecOps方法时,自动DAST扫描通常会持续进行。Burp Suite企业版是专为企业安全用例而设计的——与开发软件无缝集成,并提供极高的可扩展性。

手动DAST

没有一个自动漏洞扫描程序会发现所有的错误。虽然自动化软件为渗透测试人员和bug赏金猎人节省了大量时间,但在某些情况下,人类的创造力和横向思维是不可替代的。

通常,测试人员会首先使用自动化的DAST解决方案来收获“容易摘到的果子”。这种方法为他们腾出了额外的时间来研究更有趣的漏洞。这就是为什么除了Burp Scanner之外,Burp Suite Professional还包括一个强大的拦截代理,专门为手动网络安全测试人员的需求而定制。

拦截代理是一个相当简单的概念。在Burp Suite的情况下,它需要一个软件来拦截测试人员的浏览器和他们的目标web应用程序之间的所有HTTP流量。Burp Suite甚至可以为HTTPS(加密)流量做到这一点。在DAST的环境中,阅读网络应用程序和浏览器之间发送的所有信息的能力是无价的。

使用拦截代理方法,测试人员可以改变浏览器发送给服务器的响应,这为探索漏洞提供了大量机会。这是Burp Suite Pro获得道德黑客的瑞士军刀声誉并成为行业标准渗透测试软件的原因之一。

DAST方法的优势

准确

DAST的概念在许多方面都是有利的,而且通常比像SAST(静态应用程序安全测试)这样的替代“白盒”方法更实用。SAST调查一个应用程序的源代码来寻找bugs虽然这在理论上是个好主意,但在实践中它往往会报告许多误报。DAST没有这种倾向。

这并不是说DAST永远不会报告假阳性——因为这种情况确实时有发生。但是,与SAST相比,返还的金额微不足道。就假阳性而言,这对DAST来说是一个巨大的胜利。假阳性既浪费时间又浪费金钱。

适应性

就适应性而言,DAST也优于SAST。SAST在这方面受到影响,因为它依赖于能够阅读给定的编程语言才能运行。但是因为DAST在设计上是语言不可知的,它不需要像SAST那样对不同类型的代码进行多次实现。

现代网络应用程序很复杂,往往使用多个框架和抽象层。在这种情况下,不可知论方法是一个巨大的优势。这并不是说近乎持续的更新意味着编程语言经常会改变。对于DAST,你知道你的扫描仪总是为此做好准备。一种尺寸完全适合所有人。

如果你有大量的网络应用程序需要扫描,DAST的不可知论方法也会带来好处。由于其可扩展性,Burp Suite企业版被拥有成千上万个实时应用程序的组织所使用。这些用户可以自由地用他们选择的语言开发应用程序。

增强测试

这并不是说SAST没用:远非如此。但是在现实场景中,我们相信DAST是优越的基础方法论。而DAST的优势只有通过Burp Suite专业版和Burp Suite企业版中包含的额外测试方法才能得到增强。

关于OAST等方法如何有助于消除DAST概念中固有的一些缺陷的讨论,请参见下文。

DAST方法论有什么缺点吗?

盲和异步bug

没有一种测试方法是完美的,有些地方DAST的表现并不理想。例如,孤立使用时,它会漏掉许多盲和/或异步错误。这些情况包括应用程序容易受到攻击,但在发送攻击时没有给出明显不同的响应。

但是,通过将DAST与OAST联合部署,这个问题基本上得到了解决。OAST是PortSwigger与Burp Collaborator首创的技术,并完全集成到为Burp套件提供动力的漏洞扫描程序包中。

非暴露输入

涉及非公开的应用程序输入时,也存在类似的情况。DAST不会指出这些漏洞,因为它只看到网络应用之外的东西。当然,一个真正的攻击者在这里也会处于同样的位置。

在Burp Suite的情况下,这个缺点可以通过使用扩展得到一定程度的缓解。例如,Param Miner可以显著增强Burp Suite Professional在非公开输入方面的强力能力。但这也是一个领域,一个有经验的渗透测试人员的直觉在推断一个应用程序如何工作时是非常宝贵的。

难以执行的路径

在某些输入路径难以执行的情况下,DAST可能会遗漏一些错误。一个例子是依靠多个输入变量的组合来工作的高级漏洞利用。虽然SAST的方法应该会发现这一点,就像一个好的手动五旬节,但DAST扫描本身不会。

这里的权衡是,虽然SAST可能会报告错误,但它通常会作为一长串误报的一部分返回。这就需要测试人员手动检查代码,以便找到真正的漏洞。这远非理想。检查代码是很昂贵的,实际上你可能会发现SAST工具给出的常规警告被忽略了。

DAST对你来说是正确的方法论吗?

PortSwigger 是DAST工具 Burp Suite 的制造者。我们认为这是许多用例的最佳解决方案,其中包括世界上使用最广泛的漏洞扫描器。但这对你合适吗?

首先,我们应该指出,没有自动化的方法可以完全取代人工渗透测试。人类需要找到一些漏洞。因此,网络安全合规标准通常包括渗透测试和漏洞扫描的要求。

像Burp Suite这样的自动DAST扫描仪可以帮助您保护您的在线财产,无论您是管理许多应用程序,还是仅仅管理几个应用程序。它可以从开发阶段一直做到这一点,一直到部署及以后。如果你是渗透测试人员,你会喜欢用Burp Suite Pro的高级手动工具来帮助你达到新的高度。


http://chatgpt.dhexx.cn/article/t7Kb7llY.shtml

相关文章

安全基础--22--安全测试

一、安全漏洞评估 1、评估方式 自动化扫描:系统层漏洞大部分情况下使用自动化扫描 手工评估:耗时、不全面、技术要求高 2、评估流程 二、安全配置评估 1、安全配置评估分类 评估说明基础安全配置评估在了解现状和基本需求的情况下,定义业…

常规测试、安全测试、渗透测试的区别

安全测试是在IT软件产品的生命周期中,检查产品,检验产品符合安全需求定义和产品质量标准的过程,功能测试是检验产品各功能,根据功能测试用例,逐项测试,检查产品是否符合用户要求的功能。 安全测试是在IT软…

安全测试(初测)报告

安全测试(初测)报告 系统名称 版本号 V1.0 送测单位 送测时间 20XX年XX月XX日 复测时间 XXXX有限责任公司 20XX年XX月XX日 有效性声明 1、本测试报告封面及结论未盖章无效; 2、本测试报告需经审批和授权签字人签字,…

做好安全测试的方法

目录 摘要: 一.安全性测试 二.常见的软件安全性缺陷和漏洞 三.做好安全性测试的建议 总结 摘要: 今天主要跟大家讲一下什么是安全测试和怎么做好安全测试的几种方法。还有安全测试的优缺点及过程,最后会给大家几条建议,希望对…

AppScan 安全测试详解+实操

定义:AppScan是IBM的一款web安全扫描工具,主要适用于Windows系统。该软件内置强大的扫描引擎,可以测试和评估Web服务和应用程序的风险检查,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等…

Android安全测试

目录 1、客户端APP安全 2、服务端安全 3、通信安全(通信保密性) 1、客户端APP安全 (1)反编译-APP加密或者代码混淆或者加壳处理 (2)防二次打包-验证APP签名-获取二次打包后APP的签名与正确的AP签名进行…

软件测试之安全测试

一、什么是安全测试? 安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。 二、安全测试的目的? 1、提升IT产品的安全质量; 2、尽…

软件安全测试

安全测试 文章目录 安全测试安全测试类型安全性测试工具分类 安全测试 安全测试一般围绕被保护的资产,通过代码和程序的分析来确定威胁或漏洞的严重程度,以及被利用的可能性和影响,来评估特定威胁或漏洞对企业造成负面影响的风险。除了综合的…

安全测试入门介绍

目录 1、安全测试定义 2、安全测试目的 3、安全测试与常规测试区别 4、安全测试类型 5、安全测试工具 1、安全测试定义 安全测试是建立在功能测试基础上进行的测试,安全测试提供证据表明,在面对恶意攻击时,应用仍能充分满足它的需求&…

什么是安全测试

一、安全测试概述 1.1.定义 安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程 1.2.概念 安全测试是检查系统对非法侵入渗透的防范能力 1.3.准则 理论上来讲,只要有足够的时间和资源,没有无法进入的系…

如何从0到1做一次完整的安全测试

大家好,我是馨馨,一个混过大厂,待过创业公司,有着6年工作经验的软件测试妹纸一枚。近期针对公司项目做了一次完整的安全测试,扫描出来了不少漏洞,价值还挺大的。回顾整个流程,并没有特别复杂的点…

机器学习之向量空间的基本概念

向量空间:如果在一个空间中,任取若干个向量进行相加或数乘,其计算结果仍然在该空间中,则称这个空间为向量空间。换句话说,向量空间对于相加和数乘运算是封闭的(closed)。 当然,基于向量的广义定义&#xff…

什么是向量空间

向量 AB(AB上面有→)的大小(或长度)叫做向量的模,记作|AB|(AB上有→)或|a|(a上有→)。 向量空间又称线性空间,是线性代数的中心内容和基本概念之一。在解析几何里引入向量概念后,使许多问题的处…

向量空间中的:线性相关与线性无关

生成空间:以二维空间为例,给定两个非零向量。 其中两个非零向量系数a,b任意取值组合,就可以得到整个二维空间,除非两向量共线。 一个向量固定,另一个向量自由变化,其线性组合可得到一条直线。 …

关于向量空间和线性空间的认识

Reason 这两天学习张贤达的《矩阵分析和应用》,1.3.2节对向量空间的定义扩展,然后突然扩展到线性空间让我很不适应,并不能理解二者的关系。上网一查更迷惑了,很多的线性代数教材倾向于将二者等价,大家对向量空间和线性…

线性代数学习之向量空间,维度,和四大子空间

空间: 在上一次https://www.cnblogs.com/webor2006/p/14306046.html学习了诸多在线性代数中非常核心的概念(线性组合、线性相关、线性无关、生成空间,空间的基...),这次则继续学习重要的核心概念(空间、维度、四大子空间)。在之前的学习中用到…

大数据入门10:向量空间模型(Vector Space Model)

文章目录 向量空间模型(Vector Space Model)0. 概述1. TF(Term frequency ,TF)2. IDF(Inverse document frequency,IDF)3. TF-IDF(Term Frequency-Inverse Document Frequency)4. Similarity Function 相似性函数5. 举…

05转置和向量空间

进入了向量空间才算开始了线性代数的大门。几个重要的概念: 列空间包含所有列向量的线性组合,记作 C ( A ) C(A) C(A);当且仅当 b b b在 A A A的列空间时, A X b AXb AXb才有解; 一个 m n m\times n mn的系数矩阵 …

向量空间模型算法(Vector Space Model)

概念介绍 向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功地应用于文本检索系统。 VSM概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语…

向量空间搜索引擎理论

简述 向量空间搜索引擎使用了一个非常简单的计数对于矩阵代数去比较基于词频的文档。 向量空间搜索引擎的第一个主要组成部分是概念术语空间。简单地说,术语空间由每个唯一的单词组成出现在文档集合中。 向量空间搜索引擎的第二个主要组成部分是项目计数。项目计…