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