什么是 DNS 沉洞(sinkhole)?

DNS 沉洞是把恶意域名的解析指向一个受控地址的做法,让被感染的设备连不上攻击者的服务器。它既切断通信,也能反过来统计出有多少设备中招,是应对僵尸网络的常用手段。

第 86 期介绍过域名生成算法(DGA),恶意软件每天算出大量候选域名去找控制服务器;第 65 期介绍过 DNS 缓存投毒,那是攻击者污染解析结果。DNS 沉洞方向相反,是防御方接管解析。

做法是:安全机构或执法部门把已知的恶意域名抢先注册下来,或者在解析层面把它指向一个受控地址。被感染的设备按恶意软件的指示去连接这些域名时,得到的不是攻击者的服务器,而是这个"黑洞"——连接自然失败,通信被切断。同时,所有打过来的请求都被记录,研究人员据此可以数出有多少设备在尝试连接,从而摸清僵尸网络的规模。

沉洞常用在两处。一是配合 DGA:防御方推演出算法、抢注未来会被用到的域名,把整批都指向沉洞,让恶意软件找不到真正的服务器。二是在拿下攻击者的基础设施后把域名接管过来,观察还有哪些设备在回连。它对已经中招的设备只能切断通信,不能清除恶意软件本身。