什么是动态应用安全测试(DAST)

545 阅读4分钟

互联网上有4亿个活跃的网站,所有这些网站都很容易受到这种或那种漏洞的影响。即使是微观上的错误配置,如不适当的验证、服务器版本的披露和使用有漏洞的软件库,也会导致严重的安全问题。为了避免这些后果,有了应用安全测试。



什么是DAST。动态应用安全测试?


动态应用程序安全测试(DAST)是在应用程序运行时检查其漏洞的做法。这是一种黑箱测试,测试人员无法看到内部代码、结构或设计,但他检查模拟攻击的输出(由DAST工具进行)。DAST的输出决定了应用程序是否容易受到任何恶意攻击。

DAST通过模拟对应用程序的自动攻击来模仿恶意攻击。这使测试团队能够发现意想不到的情况,否则攻击者就会利用这些情况来破坏应用程序。

有不同的方式可以进行应用测试。这涉及到在静态和动态环境中测试一个应用程序。SAST和DAST是测试一个应用程序的两种常见方法。让我们了解它们是什么以及它们之间有什么不同。

SAST与DAST

由于安全漏洞的增加,应用程序的安全测试已经越来越受到重视。在早期阶段,有一个持续的斗争来确定应用程序的缺陷。为此,SAST和DAST已经突出地采用了一些方法。

静态应用安全测试(SAST)是一种白盒测试方法,涉及在代码层面上分析一个应用程序。它检查源代码并验证软件的功能--与第三方系统、基础设施等的集成。

DAST是一种动态扫描,实时运行,即当应用程序在生产环境中时。与SAST相反,这种方法不需要访问源代码或二进制文件来测试应用程序。

虽然这两种测试方法的目标相似,但两者之间有以下区别:

SASTDAST
漏洞在开发的早期阶段就被检查和发现。因此,早期修复它们是可能的。漏洞通常在开发周期的后期被发现。这可能会延迟修复的时间。
SAST只能发现静态问题。它不能发现运行时或环境相关的问题。
DAST工具对应用程序进行动态分析,因此,可以检查运行时的漏洞。

SAST适用于几乎所有类型的软件。DAST适用于解决方案,如网络应用程序、网络服务等。

手动DAST与自动DAST

动态应用安全测试(DAST)可以手动或通过自动化执行。质量分析团队可以在现场环境中手动运行测试案例,以查看应用程序的功能或性能是否受到任何攻击的影响。

在自动化的DAST循环中,使用脚本进行扫描,以执行网络应用的功能测试。从自动化框架到网络应用的请求是通过代理服务器发送的。为了实现DAST扫描的自动化,我们有一些工具,我们将在本文的后面部分讨论。

DAST扫描,当自动化时,可以包括在CI/CD管道中,对应用程序的安全方面进行持续反馈。

另请阅读: 了解持续交付的软件测试自动化

用于高覆盖率DAST的工具

有几个工具可以对Web应用程序进行DAST安全扫描。以下是3个顶级DAST工具的列表:

Invicti

Invicti将安全任务自动化,并提供漏洞和修复工作的完整可见性。该应用程序为测试团队提供HIPAA、PCI和OWASP报告的全面报告,以确保应用程序遵循安全合规性。

Astra

Astra是另一个基于云的DAST工具,它促进了智能扫描,并在一个CXO和开发者友好的仪表板上提供安全更新。测试人员可以将Astra与CI/CD工具集成,以管理漏洞,而不对企业的常规工作流程带来任何改变。

Port Swigger

PortSwigger有各种工具用于网络应用程序测试、安全和扫描。它可以帮助测试团队发现最新的漏洞并进行处理。该应用程序有不同的版本,并提供对漏洞的自动保护。

结论

动态应用安全测试(DAST)是一个强大的工具,用于检测网站/网络应用的安全威胁。无论是传统的SDLC周期还是CI/CD管道,DAST都适合在两种情况下进行漏洞测试。