什么是 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
- 应用安全测试