动态应用安全测试(DAST)

什么是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的高级手动工具来帮助你达到新的高度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于应用程序的安全性测试,可以采取以下步骤: 1. 静态代码分析:使用静态代码分析工具来检测潜在的安全漏洞,如未经验证的输入、不安全的函数使用等。 2. 动态应用程序安全测试DAST):使用自动化工具模拟攻击,测试应用程序的弱点和漏洞。这包括输入验证、身份验证、会话管理、访问控制等方面的测试。 3. 漏洞扫描:使用漏洞扫描工具对应用程序进行扫描,以发现已知的漏洞和安全弱点。这些工具可以检查操作系统、应用程序、数据库等方面的安全漏洞。 4. 安全代码审查:仔细审查应用程序的代码,查找潜在的安全风险和漏洞。这需要对应用程序的源代码进行详细分析,以确保没有存在安全问题的代码。 5. 渗透测试:雇佣安全专家模拟真实攻击来测试应用程序的安全性。他们会尝试从外部或内部入侵系统,以评估应用程序的安全性,并提供改进建议。 6. 数据加密和安全传输:确保应用程序中的敏感数据在传输和存储过程中得到适当的加密保护。使用安全的传输协议(如HTTPS)来保护数据的传输。 7. 访问控制和权限管理:实施适当的访问控制和权限管理机制,以确保只有授权用户可以访问敏感数据和功能。 8. 安全更新和漏洞修复:定期更新应用程序的组件和库,修复已知的漏洞,并监测新的安全威胁。 以上是一些常见的应用程序安全性测试方法,根据应用程序的特点和需求,可以灵活选择适合的测试方法来确保应用程序的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值