DNS全称Domain Name System(域名系统),用户输入的域名通过DNS解析到对应的IP地址,域名会最先被本地DNS服务器解析,如果解析不到,就返回上层服务器,直到查询到最高级的根服务器,查询到结果后本地服务器会将这一IP缓存,用户再次访问该域名就会返回到这一被缓存的IP。
1月21日下午全国范围出现了互联网访问故障,包括百度、新浪、腾讯在内的多家大型网站域名被劫持,事故时间持续数个小时,成为了一场全国性的互联网灾难。类似规模的事故并不多见,为何此次影响范围如此之广?为何无法在短时间内恢复?为何中国互联网轻易被劫持?
此次受到影响就是根DNS服务器,指的是全球一共13台的根DNS服务器,负责记录各后缀所对应的顶级域名根服务器。在DNS受到污染的情况下,域名可被解析到非网站对应的IP上,如此次被劫持到的65.49.2.178。据了解,DNS上一次更新技术规范是在1987年,之后几乎再无改动,也就是说,目前的DNS标准是27年前的,尽管根服务器受到了最高级别的保护,但是仍然可能因为政治、域名管理权分歧等原因引发大规模故障,这样的瘫痪不会就此终结。
既然从本地DNS读取,为何还会被劫持?如上所述,当用户访问一个域名时,电信运营商的递归DNS会对其进行处理,从而缓解根DNS的压力。递归DNS会对一个域名指向的IP地址进行缓存,并默认认为这一对应关系在一段时间内不会改变,不过这一缓存会有时限,通常是一个小时,每过一个小时递归DNS就会向上级DNS重新请求一次IP,所以最终根DNS被攻击的影响会波及到递归DNS,从而影响到每个用户。
当用户在电脑上把网络连接的DNS设置为8.8.8.8(国外DNS)时,访问网站后就不会从递归DNS进行解析,所以可以规避污染问题。一名安全行业人士表示,黑客要黑掉递归DNS服务器几乎不可能,此次事故肯定是人为造成的,但是元凶很难追溯。myip.cn的查询结果显示65.49.2.178的IP位于美国北卡罗莱纳州卡里镇,属于Dynamic Internet Technology公司。
而whatismyipaddress的查询结果显示该IP指向一个叫Sophidea的组织。对普通的域名劫持,电信运营商可以通过刷新DNS缓存的方式来快速解决,从而将影响控制在较短的时间内,不过此次被劫持的是根服务器,从上到下污染到本地服务器,一方面被劫持的域名量非常大,难以逐一回复,另一方面即使清理了本地服务器缓存,上一级的服务器如果没有恢复仍然是徒劳。
各级DNS服务器缓存的刷新时间在1小时左右,对电信运营商来说,除了手工恢复部分网站的DNS解析外,只能被动等待。此次域名劫持影响持续了数个小时,但是真正的故障时间并没有那么长。一名IDC运维人员表示,这次劫持的影响大约只有15分钟,但是由于各层服务器缓存受到根服务器影响,在电信运营商没有对递归DNS手动刷新的情况下,影响可持续数个小时。
有网友称此次劫持或造成用户隐私泄露。对此360安全专家表示此次被劫持的是域名,存储网站数据的服务器并未受到影响,虽然黑客可以将域名劫持至钓鱼网站,但是目前看来对方并没有这么做,也尚未发现用户受此影响造成损失。对于此次故障的罪魁祸首,目前尚不能确认,有业内人士称,在没有发生地震等不可抗力的前提下,有能力造成这种事故的组织并不多。