什么是 DAST(动态应用安全测试)?
动态应用安全测试,或称 DAST,是一种在应用程序运行时检查其安全性的方法。与查看源代码的 SAST 不同,DAST 通过在实际环境中模拟 SQL 注入和跨站脚本等真实攻击来测试安全性。
DAST 通常被称为黑盒测试,因为它从外部运行安全测试。
为什么 DAST 在网络安全中很重要
一些安全问题只有在应用程序上线时才会出现,特别是与运行时、行为或用户验证相关的问题。DAST 帮助组织:
- 发现 SAST 工具 未能发现的安全问题。
- 在真实世界环境中评估应用程序,包括前端和 API。
- 增强应用程序安全性以抵御网络应用攻击。
DAST 如何工作
- 在测试或暂存环境中运行应用程序。
- 发送恶意或意外输入(如精心构造的URL或负载)
- 分析应用程序响应以检测漏洞。
- 生成包含修复建议的报告(在Plexicus中,甚至更好,它自动化修复)
DAST检测到的常见漏洞
- SQL注入:攻击者将恶意SQL代码插入数据库查询中
- 跨站脚本攻击(XSS):恶意脚本被注入到网站中,在用户的浏览器中执行。
- 不安全的服务器配置
- 认证或会话管理破损
- 在错误消息中暴露敏感数据
DAST的好处
- 覆盖SAST工具遗漏的安全漏洞
- 模拟真实的攻击场景。
- 无需访问源代码即可工作
- 支持PCI DSS、HIPAA和其他框架的合规性。
示例
在一次动态应用安全测试(DAST)扫描中,该工具发现了一个登录表单中的安全问题,该表单没有正确检查用户输入。当工具输入一个特别设计的SQL命令时,显示该网站可以通过SQL注入进行攻击。这一发现使开发人员能够在应用程序投入生产之前修复漏洞。
相关术语
- 静态应用安全测试(SAST)
- 交互式应用安全测试(IAST)
- 软件组成分析(SCA)
- OWASP Top 10
- 应用安全测试