• 一月

    27

    脆弱的 DNS 还有没有救

    1月21日的时候,国内互联网所有.com域名的根域出现大规模解析异常,具体表现在域名访问请求被跳转到几个没有响应的美国IP上,一时间,谣言满天飞,网民广泛相信是墙或者黑客的问题,但近些年来,除了物理硬件原因和不可抗力外,大规模的网络瘫痪事件几乎都跟DNS域名服务有关。一攻即破的DNS,已经成为网络安全链条中最薄弱的环节。 然而,因为技术的路径依赖和社会历史原因,支撑全球网络的DNS系统不可能完全颠覆重来。在未来,人们不得不接受这么一个现实:脆弱的DNS将继续脆弱。

    DNS

    国内互联网根域现重大故障,大量网站无法打开

    2014年1月21日,对中国网络来说是不平静的一天。继上午腾讯16项服务出现故障后,下午众多网站也出现无法访问的现象。多家DNS服务商透露,全国所有通用顶级域的根出现异常,导致部分国内网民无法访问.com域名网站。

    下午15:10左右,部分地区网友称百度、虎嗅、易迅、京东、优酷等众多网站无法访问。辽宁大连网通用户表示打不开朋友网和部分视频网站,稍微复杂网站也不行;厦门电信网友反映,百度,京东,知乎全都打不开.

    据分析,网站无法访问的原因是网站域名解析错误。DNSPOD创始人吴洪声表示,此次情况严重,国内三分之二DNS处于瘫痪状态,很多网站被解析到65.49.2.178这一IP地址,用户无法访问。

    安全专家认为,大量中国知名IT公司的域名被解析到美国某公司,极可能是人为的黑客攻击行为。

    不过,此次故障未对国家顶级域名.CN造成影响,所有运行服务正常。一位DNS技术专家表示,这次的问题仅出现在中国,说明全球根服务器并未出现问题.

    截至当天18点左右,国内访问根服务器恢复正常。但据@DNSPod介绍,后续可能还会存在返回错误IP地址的问题,因为各地有缓存,所以部分地区可能会持续12小时。

    1月22日下午,国家互联网应急中心发布公告称:“经对已掌握的数据进行分析,初步判断此次事件是由于网络攻击导致我国境内互联网用户通过国际顶级域名服务解析时出现异常,攻击来源正在进一步调查中。”

    DNS已经成为互联网安全链条上最薄弱的环节

    域名系统(Domain Name System,简称DNS)是整个互联网服务的底层基础之一。这一服务将人们访问的互联网域名转换为IP地址,相当于网络访问的指路牌。

    举例来说,wangyueblog.com是一个域名地址,方便人们记忆与输入。但其实每个域名都必须要与一个服务器的IP地址相对应,才能被网络正确识别和访问到,如http://121.199.24.171。

    域名系统就负责将好记的域名地址转换为真实的IP地址,这一转换的过程,有一个术语叫做“域名解析”。

    域名系统由DNS服务器来运行,DNS服务器是一个树状的分布式的大型网络。其中最顶级的服务器叫做根服务器(Root Server),存储了全球所有通用域名的信息。在根服务器之下,有大量的一层一层的次级服务器,面向用户提供服务。

    ROOT-SERVER

    一般的用户安装好网络之后,会使用宽带运营商提供的本地DNS服务器。这是离用户最近的DNS服务器,位于整个DNS网络的最末端。

    DNS服务器采用缓存机制,当用户在本地DNS服务器找到域名解析结果的时候,就直接返回IP地址。如果找不到,则最近的服务器将依次向上查询,查询更上层的服务器,层层循环,一直查询到最高等级的根服务器。同时,查询到后,本地服务器就会缓存下来,其它用户再次访问该域名时,可以直接在本地服务器拿到结果,不用再次层层查询。

    这一域名网络具有严格的等级制度,底层服务器严格遵循上层服务器的更新结果。这一层层向上查询并缓存的机制,保证了整个域名系统的高效。但也为安全带来了隐患:即一旦上层的DNS服务器受到攻击时,所有底层的服务器都将受到牵连,从而导致大规模的网络瘫痪。

    以1月21日的这次DNS故障为例,位于中国的高级别的域名服务器出现故障,导致中国大部分的域名服务器解析出现错误,从而导致了接近2/3的中国互联网瘫痪。

    据金山毒霸网络专家的数据,近年来中国大规模的网络瘫痪事故有五起。包括2006年台湾地震震断海底光缆事故、2009年暴风DNS受攻击导致大范围断网、2010年百度域名被劫持事件、2011年中国电信宽带维修导致大规模网络故障、以及昨日2014年DNS域名根服务器故障。

    从近年来的五起网络瘫痪大事故看来,除了不可抗力的地震和维修导致物理故障之外,其余的三起事故都是由DNS系统引起的。

    事实上,作为互联网最基础的服务之一,随着互联网应用的不断发展,互联网安全链条上最薄弱的环节就是DNS域名系统了。

    脆弱的DNS不会大修 将继续脆弱

    跟互联网最底层的通信协议TCP/IP技术一样,DNS系统是互联网诞生的基石,历史悠久。DNS最早于1983年由保罗·莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案中发布。1987年发布的第1034和1035号草案修正了DNS技术规范。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。

    也就是说,2014年已经突飞猛进的互联网,跟1987年的互联网使用的是一样的DNS标准!

    上述提到的域名系统中最高等级的根服务器,全世界一共只有13台,这13台中的10台设置在美国,另外各有一台设置于英国、瑞典和日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理。

    毫不夸张的说,只要黑掉这13台服务器,就可以瘫痪整个地球的民用互联网。 著名黑客组织匿名者(Anonymous)在2012年就曾对外宣称,将攻击13个DNS根服务器,已达到让全球互联网瘫痪的目的。

    HACK-DNS

     

    当然,根服务器采用了最高级别的安全保护,不是那么容易攻陷的。同时,这13台服务器,不是普通意义上的“一台”的概念,每台服务器都有多组备份,以随时保障运行正常。13台根服务器其实是13组服务器集群。

    这种顶级树状的域名架构体系,除了要应对来自黑客攻击的影响之外,还会受到来自政治、战争等社会因素的影响。2004年4月,利比亚国家域名“ly”域名瘫痪,导致利比亚从互联网上消失了3天,随后据报道,原因是有两人对顶级域名管理权问题发生分歧而导致。在阿富汗的塔利班政权统治时期,ICANN将.af结尾的域名管理权授予了前流亡政府,后来又于2003年转交给由美国支持的阿富汗过渡政府。在2003年伊拉克战争期间,ICANN以伊拉克局势动荡为由,冻结了其国家代码“.iq”的申请。

    域名管理权分歧、战争和政治分歧、黑客攻击,都会导致域名系统问题,从而引发大规模网络故障。DNS系统的脆弱性会因为这些社会因素而继续脆弱下去。

    即使抛却政治和社会因素不谈,单独从技术角度去考虑。薄弱的DNS环节能否在未来有所改观?恐怕答案也是否定的。从1987年到现在,作为互联网基石存在的DNS系统,从未大修过,说明其已经成为一个经典的技术路径依赖问题:网络越发达,修改DNS系统的代价就越大。

    这一路径依赖的另外一个案例是,美国航天飞机助推器燃料桶的宽度其实是由2000多年前的2匹马的屁股所决定的。航空飞机想要更大的推力,需要更宽的燃料桶,然后想要改版,几乎是不可能的。因为燃料桶的运输需要借助铁路,而铁路的宽度最早是由英国人根据马车的宽度决定的,而马车的宽度最早是由2000多年前的罗马人当时两匹马屁股的宽度决定的。

    dns

     

    技术的路径依赖就是这么一个看似可笑,但是真实存在并且影响着现代社会的现象,DNS和互联网也不例外。

    也就是说,因为技术的路径依赖和特殊的社会历史原因,对DNS系统的重新设计和大修几乎是不可能的,支撑全球网络的DNS系统不可能完全颠覆重来。

    那么,在未来,人们不得不接受这么一个现实,脆弱的DNS依然脆弱,DNS网络大规模故障依然会发生。人们所能做的,就是尽量将发生的频率降低到可以接受的范围;以及建立良好的机制,以便在故障发生时尽快恢复网络,别无他法。

    技术路径依赖,无法避免,但人们也不能悲观。在技术不断演进的今天,有历史限制的人们终会找到聪明的方法,减缓历史的影响。无论是探索宇宙,还是解决互联网的DNS安全问题,带着枷锁跳舞,人类依然可以跳的很美。

    本文来源于凤凰网科技频道



    文档信息