【51CTO.com快译】收集与分析被动DNS(Passive DNS)数据能够帮助我们识别恶意站点并对抗钓鱼及恶意软件;在今天的文章中,我们将一同了解如何完成起步工作。
在过去几年当中,我们已经亲身经历了愈发高企的DNS基础设施攻击威胁:针对验证域名服务器的DDoS攻击、利用域名服务器作为DDoS攻击的放大机制、顶替注册账户以修改授权信息、缓存投毒攻击以及由恶意软件实现的域名服务器滥用等等。值得庆幸的是,如今我们也拥有了更多能够抵御这些威胁的强大新型安全机制,包括DNS安全扩展、响应策略区以及响应速率限制等手段。
而就目前而言,DNS安全乃至互联网整体安全强化领域最具前景的实施方案还没有得到充分发挥——也就是被动DNS数据。
被动DNS(Passive DNS)概念介绍
被动DNS最初于2004年由Florian Weimer发明,旨在对抗恶意软件。基本上讲,递归域名服务器会响应其接收到的来自其它域名服务器的请求,对响应进行记录并将日志数据复制到中央数据库当中。
那么这部分日志数据包含有哪些内容呢?宏观地讲,也就是遵照域名服务器的整个运作流程。当收到查询请求时,域名服务器会首先检查自身缓存及权威数据以获取答案。如果答案尚不存在,则进一步查询root域名服务器之一作为参考直到找出了解相关答案的验证域名服务器,最后查询其中的验证域名服务器之一进行答案检索。整个流程如下图所示:
大部分被动DNS数据会在“高于”检索域名服务器的位置被立即捕获,如下图所示:
这意味着被动DNS数据大多由来自互联网上验证域名服务器的参考与答案构成(当然,其中也包含部分错误信息)。这部分数据拥有时间戳、经过重复数据删除与压缩,而后被复制到中央数据库内以备归档与分析。
需要注意的是,整个流程捕捉到的是服务器到服务器之间的通信内容,而非来自存根解析器并指向递归域名服务器的查询内容。(存根解析器在以上示意图中处于递归域名服务器的‘下方’位置。)这种方式拥有两大重要作用:其一,相较于在存根解析器与递归域名服务器间进行通信,服务器到服务器的通信内容量明显更少,即只包含缓存内不存在的内容。其二,服务器到服务器通信不会被轻易关联到某个特定存根解析器处,因此涉及的隐私内容也就相对较少。
被动DNS数据的具体收集方式多种多样。一部分递归域名服务器,例如Knot以及Unbound,当中包含有软件钩子,旨在更为轻松地捕捉被动DNS数据。管理员可以利用dnstap这款免费程序从此类域名服务器当中直接读取被动DNS数据。
而使用其它域名服务器的管理员则可以在域名服务器上运行其它不同工具,从而达到同样的域名服务器流量监控效果——或者在其它主机上制作该域名服务器的端口镜像以实现数据记录。
被动DNS的价值所在
各类企业都会采用不同的数据库来容纳被动DNS“传感器”发来的上传数据。目前人气最高且最为知名的当数Farsight Security打造的被动DNS数据库——DNSDB。DNSDB中包含有多年以来由世界范围内所有传感器收集而来的数据。当然也有一些机构会采用其它被动DNS数据库方案,例如由谷歌公司提供的VirusTotal网站、德国咨询厂商BFK发布的方案、卢森堡计算机事件响应中心(简称CIRCL)的方案以及爱沙尼亚计算机应急响应小组(简称CERT-EE)的技术成果等等。
对被动DNS数据库进行查询能够提供大量极具实用价值的信息。举例来说,大家可以通过查询被动DNS数据库来2012年4月与www.infoblox.com网站相关联的DNS查询记录,或者自那时开始该网站曾经使用过哪些域名服务器,又或者另有哪些其它区域在使用同一套域名服务器。更进一步来讲,大家也可以选择某个已知的恶意恶意IP地址,并查询各被动DNS传感器最近映射至该IP地址的全部相关域名服务器。
接下来我们一同了解被动DNS的各类实际用途:
·被动DNS数据库允许企业以近实时方式检测缓存投毒以及欺诈变更行为。企业能够定期查询被动DNS数据库,从而根据被动DNS传感器了解其关键域名当前被映射至哪个具体地址。权威区域数据映射关系中的任何变化都可能意味着企业已经开始遭受恶意攻击。
·Farsight Security方面会定期从DNSDB中整理出最新域名,这些域名是由传感器过去15分钟、1小时或者其它预设时间周期内所获取。该公司随后会在全新域名同恶意活动之间进行关联比对。网络钓鱼或者其它类似恶意活动往往会选择新域名,并在使用后的短时间内直接丢弃。而对过去15分钟内才刚刚出现的新域名进行屏蔽只需要很低的实现成本。Farsight公司能够帮助企业用户定期获取这些最新域名,进而由管理员阻止其进一步解析。
·如果当前被动DNS数据库支持模糊或者模糊匹配功能,那么企业用户就能够定期查询该数据库所使用或者看起来与其处理名称相似的域名,并从其中揪出潜在的恶意行为。
·一旦某个IP地址或者域名服务器被标记为恶意,企业用户能够利用被动DNS数据库轻松找到其它与该IP地址相映射的域名,或者其它被托管至同一域名服务器的区域,这些都属于潜在的恶意活动载体。
·通过监控由A到AAAA记录变更以及随时间推移的区域域名服务器记录,我们能够轻松找到那些利用特定技术实施恶意行为的域名,例如通过快速流量帮助钓鱼及恶意站点躲避检测。合法的域名(除了那些用于负载平衡与分发的域名)不会非常频繁地改变自身地址,而且大多数合法的区域域名也很少变更自身域名服务器。
利用响应策略区关闭回路
响应策略区(简称RPZ)提供了一套宝贵的机制,能够在恶意域名被从被动DNS数据中识别出来后关闭其传输回路。RPZ属于DNS区域,其内容会以规则的形式进行解释。这些规则通常包括,“如果任何人尝试查看该域名中的A记录,则返回错误提示并注明该域名并不存在。”由于RPZ属于简单区域,因此它们能够在互联网之上实现快速与高效传输,而其中所包含的策略则会得到立即执行。通过分析被动DNS数据进行恶意域名检测的企业能够利用这些规则来阻断已确定恶意域名的解析行为,并禁止其被分发到互联网上的订阅用户处。
如果大家希望了解如何在自己的递归域名服务器上实现被动DNS数据分发,不妨点击此处查看由Farsight公司提供的相关信息(英文原文),其中包括如何分步骤设置一套被动DNS传感器。大家也可以立足于被动DNS数据分析进行RPZ供应,从而在企业内部环境下有效阻断对恶意域名的解析。
原文链接:http://www.infoworld.com/article/2994016/network-security/strengthen-your-network-security-with-passive-dns.html
原文标题:Strengthen your network security with Passive DNS
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】