不安全的 DNS 设置

OWASP 类别:MASVS-NETWORK:网络通信

概览

当开发者自定义应用的 DNS 传输行为、绕过设备默认设置,或者当用户在 Android 9 及更高版本中指定专用 DNS 服务器时,可能会出现不安全的 DNS 配置。偏离已知的良好 DNS 配置可能会导致用户容易受到 DNS 欺骗或 DNS 缓存中毒等攻击,从而使攻击者能够将用户流量重定向到恶意网站。

影响

如果恶意网络攻击者能够欺骗 DNS,他们就可以在不引起用户怀疑的情况下,悄悄将用户重定向到他们控制的网站。例如,此恶意网站可能会通过网络钓鱼窃取用户的个人身份信息、导致用户遭受拒绝服务攻击,或者在不通知用户的情况下将用户重定向到其他网站。

风险:DNS 传输安全性存在漏洞

自定义 DNS 配置可能会允许应用绕过 Android 9 及更高版本中针对 DNS 的内置传输安全性。

缓解措施

使用 Android OS 处理 DNS 流量

允许 Android 操作系统处理 DNS。自 SDK 级别 28 以来,Android 通过 DNS over TLS 为 DNS 传输添加了安全性,然后在 SDK 级别 30 中添加了 DNS over HTTP/3。

使用 SDK 级别 >=28

将 SDK 级别更新为至少 28。请注意,此缓解措施需要与知名且安全的公共 DNS 服务器(例如此处所示的服务器)进行通信。

资源