OWASP 类别: MASVS-NETWORK:网络通信
概览
不安全的 DNS 配置可能在开发者自定义应用的 DNS 传输行为、绕过设备默认设置或用户在 Android 9 及更高版本中指定私有 DNS 服务器时发生。偏离已知良好 DNS 配置可能使用户容易受到 DNS 欺骗或 DNS 缓存污染等攻击,从而使攻击者将用户流量重定向到恶意网站。
影响
如果恶意网络攻击者能够欺骗 DNS,他们可以在不引起用户怀疑的情况下,隐秘地将用户重定向到他们控制的网站。例如,这个恶意网站可能会网络钓鱼用户的个人身份信息,对用户造成拒绝服务,或者在用户不知情的情况下将用户重定向到其他网站。
风险:易受攻击的 DNS 传输安全性
自定义 DNS 配置可能允许应用绕过 Android 9 及更高版本中 Android 内置的 DNS 传输安全性。
缓解措施
使用 Android 操作系统处理 DNS 流量
允许 Android 操作系统处理 DNS。自 SDK level 28 起,Android 通过 DNS over TLS 增强了 DNS 传输的安全性,并在 SDK level 30 中增加了 DNS over HTTP/3。
使用 SDK level >=28
将 SDK level 更新到至少 28。需要注意的是,这种缓解措施需要与已知且安全的公共 DNS 服务器通信,这些服务器可在此处找到:此处。
资源
- 解析 DNS 查询
- DnsResolver Class 的 Java 参考
- 关于 DNS-over-HTTP/3 的 Android 安全博客文章
- DNS 安全传输概览
- 关于 DNS over TLS 的 Android 开发者博客文章