简介
定义
域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应,其效果就是对特定的网址不能访问或访问的是假网址。
域名劫持一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。
准确认识“非法控制”行为的内涵和外延是明确非法控制计算机信息系统罪和破坏计算机信息系统罪关系和适用原则的关键。接着对于“域名劫持”行为进行了定性分析,并讨论了作为“域名劫持”后续的“贩卖被劫持流量”行为处罚问题,认为其可以作为计算机网络犯罪的一种情节进行评价,不必另罪处罚。
原理
域名解析(DNS)的基本原理是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址,比如216.239.53.99这样的形式),以便计算机能够进一步通信,传递网址和内容等。
由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。
如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问谷歌,可以把访问改为http://216.239.53.99/,从而绕开域名劫持。
过程
由于域名劫持只能在特定的网络范围内进行,所以范围外的域名服务器(DNS)能返回正常IP地址。攻击者正是利用此点在范围内封锁正常DNS的IP地址,使用域名劫持技术,通过冒充原域名以E-MAIL方式修改公司的注册域名记录,或将域名转让到其他组织,通过修改注册信息后在所指定的DNS服务器加进该域名记录,让原域名指向另一IP的服务器,让多数网民无法正确访问,从而使得某些用户直接访问到了恶意用户所指定的域名地址,其实施步骤如下:
一、获取劫持域名注册信息:首先攻击者会访问域名查询站点,通过MAKE CHANGES功能,输入要查询的域名以取得该域名注册信息。
二、控制该域名的E-MAIL帐号:此时攻击者会利用社会工程学或暴力破解学进行该E-MAIL密码破解,有能力的攻击者将直接对该E-MAIL进行入侵行为,以获取所需信息。
三、修改注册信息:当攻击者破获了E-MAIL后,会利用相关的MAKE CHANGES功能修改该域名的注册信息,包括拥有者信息,DNS服务器信息等。
四、使用E-MAIL收发确认函:此时的攻击者会在信件帐号的真正拥有者之前,截获网络公司回馈的网络确认注册信息更改件,并进行回件确认,随后网络公司将再次回馈成功修改信件,此时攻击者成功劫持域名。
缺点
它不是很稳定,在某些网络速度快的地方,真实的IP地址返回得比窃持软件提供的假地址要快,因为监测和返回这么巨大的数据流量也是要花费一定时间的。
在网上查询域名的正确IP非常容易。一个是利用海外的一些在线IP地址查询服务,可以查找到网站的真实IP地址。在Google上搜索"nslookup",会找到更多类似的服务。
参考资料:全球互联网的13台DNS根服务器分布
美国VeriSign公司2台
网络管理组织IANA(Internet Assigned Number Authority)1台
欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre)1台
美国PSINet公司1台
美国ISI(Information Sciences Institute)1台
美国ISC(Internet Software Consortium)1台
美国马里兰大学(University of Maryland)1台
美国太空总署(NASA)1台
美国国防部1台
美国陆军研究所1台
挪威NORDUnet1台
日本WIDE(Widely Integrated Distributed Environments)研究计划1台
破解困境
问题根源
DNS安全问题的根源在于Berkeley Internet Domain (BIND)。BIND充斥着过去5年广泛报道的各种安全问题。VeriSign公司首席安全官Ken Silva说,如果您使用基于BIND的DNS服务器,那么请按照DNS管理的最佳惯例去做。
应对措施分析
SANS首席研究官Johannes认为:“目前的DNS存在一些根本的问题,最主要的一点措施就是坚持不懈地修补DNS服务器,使它保持最新状态。”
Nominum公司首席科学家、DNS协议原作者Paul Mockapetris说,升级到BIND9.2.5或实现DNSSec,将消除缓存投毒的风险。不过,如果没有来自BlueCat Networks、Cisco、F5 Networks、Lucent和Nortel等厂商的DNS管理设备中提供的接口,完成这类迁移非常困难和耗费时间。一些公司,如Hushmail,选择了用开放源代码TinyDNS代替BIND。替代DNS的软件选择包括来自Microsoft、PowerDNS、JH Software以及其他厂商的产品。
建议
不管您使用哪种DNS,请遵循以下最佳惯例:
1.在不同的网络上运行分离的域名服务器来取得冗余性。
2.将外部和内部域名服务器分开(物理上分开或运行BINDViews)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。
3.可能时,限制动态DNS更新。
4.将区域传送仅限制在授权的设备上。
5.利用事务签名对区域传送和区域更新进行数字签名。
6.隐藏运行在服务器上的BIND版本。
7.删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。
8.在网络外围和DNS服务器上使用防火墙服务。将访问限制在那些DNS功能需要的端口/服务上。
让注册商承担责任
域名劫持的问题从组织上着手解决也是重要的一环。不久前,有黑客诈骗客户服务代表修改了Hushmail的主域名服务器的IP地址。对于此时,Hushmail公司的CTO Brian Smith一直忿忿不已,黑客那么容易就欺骗了其域名注册商的客户服务代表,这的确令人恼火。
Smith说:“这件事对于我们来说真正糟透了。我希望看到注册商制定和公布更好的安全政策。但是,我找不出一家注册商这样做,自这件事发生后,我一直在寻找这样的注册商。”
Panix总裁Alex Resin在因注册商方面的问题,导致1月Panix域名遭劫持时,也感受到了同样强烈的不满。首先,他的注册商在没有事先通知的情况下,将他的域名注册卖给了一家转销商。然后,这家转销商又把域名转移给了一个社会工程人员――同样也没有通知Resin。
Resin说:“域名系统需要系统的、根本的改革。现在有很多的建议,但事情进展的不够快。”
等待市场需求和ICANN领导阶层迫使注册商实行安全的转移政策,还将需要长时间。因此,Resin,Smith和ICANN首席注册商联络官Tim Cole提出了以下减少风险的建议:
1.要求您的注册商拿出书面的、可执行的政策声明。将如果需要转移域名的话,要求他们及时与您联系的条款写在书面文件中。
2.锁定域名。这要求注册商在得到解锁的口令或其它身份信息后才允许转移。
3.使您保存在注册商那里的正式联系信息保持最新状态。
4.选择提供24/7服务的注册商,这样他们可以在发生违规事件时迅速采取行动。
5.如果发生未经授权的转移,立即与有关注册商联系。
6.如果您的问题没有得到解决,去找您的域名注册机构(例如,VeriSign负责.com和.net的注册)。
7.如果您在拿回自己的域名时仍遇到问题,与ICANN联系(transfers
8.如果拥有一个大型域,那就像Google那样,成为自己的注册商或者自己的转销商,利用TuCows。com的开放API,OpenSRS,来控制您的所有域名。
针对DNS系统自身漏洞PacketScout GenieProDNS系统应对DNS劫持和DNS缓存中毒攻击解决方法
一致性检查
每个Geniepro节点将自身的DNS记录发送给工作组内其他节点请求一致性检查
每个Geniepro节点将自身的记录与收到的记录进行比较
每个Geniepro工作组的通信协调节点将获得的DNS记录更新发送给其他组的通信协调节点请求一致性检查
每个Genipro工作组的通信协调节点向上一级DNS服务器请求更新记录并与收到的其他通信协调节点的记录进行比较
一致性仲裁
如果一致性检查发现记录不一致情况,则根据策略(少数服从多数、一票否决等)决定是否接受记录的变化
根据结果,各Geniepro节点将自身记录进行统一
通信协调节点选举
选举出的通信协调节点在任期内具有更新组内节点的权限
选举过程满足不可预测性和不可重复性
优势与不足
DNS的全称是Domain Name Server,一种程序,它保存了一张域名(domain name)和与之相对应的IP地址(IPaddress)的表,以解析消息的域名。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
之所以域名解析不需要很长时间,是因为上网接入商,比如北京电信,河南电信等,为了要加速用户打开网页的速度,通常在他们的DNS服务器中缓存了很多域名的DNS记录。这样这个接入商的用户要打开某个网页时,接入商的服务器不需要去查询域名数据库,而是把自己缓存中的DNS记录直接使用,从而加快用户访问网站的速度。这是优点。
缺点是上网接入商ISP的缓存会存储一段时间,只在需要的时候才更新,而更新的频率没有什么标准。有的ISP可能1小时更新一次,有的可能长达一两天才更新一次。
所以新注册的域名一般来说解析反倒比较快。因为所有的ISP都没有缓存,用户访问时ISP都是要查询域名数据库,得到最新的DNS数据。
而老域名如果更改了DNS记录,但世界各地的ISP缓存数据却并不是立即更新的。这样不同ISP下的不同用户,有的可以比较快的获取新的DNS记录,有的就要等ISP缓存的下一次更新。