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