周五(美国东部时间2016年10月21日),互联网服务供应商Dyn公司遭受到大规模分布式拒绝服务(distributed denial-of-service,简称DDoS)攻击。这次网络攻击阻止了美国东海岸的大量用户登陆Twitter、Reddit和 Netflix等使用Dyn服务的网站。
Dyn公司在美国东部时间周五上午七点十分检测到了第一次攻击,并且在约两小时后恢复了日常服务。然而在东部时间上午十一点五十二分,Dyn检测到了第二次攻击,下午两点,公司声明他们仍在抓紧时间解决目前受到的多次攻击。
这次网络中给许多用户造成了不便,也对娱乐、电子商务以及社交媒体等领域的巨头公司造成了不利影响。关于这次DDoS攻击还没有太多可靠的细节,Dyn公司也没有立即接受记者的采访。但是从Dyn公司发表的声明中可以确信的一点是,前两次攻击都是DDoS攻击。自2000年以来,这种黑客攻击模式就一直困扰着互联网的正常运行,这次用户访问网站中断又再一次表明,各大互联网公司在这种常见的黑客攻击模式前仍旧非常脆弱。
分布式拒绝访问 (DistributedDenial-of-Service)这个词可以分成两部分来解释,拒绝访问攻击(denial-of-service)的意思是:通过阻碍互联网或服务器响应用户请求的方式,达到减慢或阻止用户访问互联网内容和接受互联网服务的目的。“分布式”(distributed)的意思则是:黑客不是通过单一计算机,而是感染并控制一大批联网计算机,进而形成僵尸网络(botnet)来攻击Dyn公司。
黑客们可以通过散播恶意软件来组建僵尸网络,而这一过程通常是因为不知情的用户会在一些提示下,点开一个链接或者下载一个文件从而感染上病毒。这些恶意软件具有定期与黑客主机通信的功能,他们会长期潜伏在你的设备中等待黑客的进一步指示。在发起攻击时,黑客(或者称他们为“僵尸病毒的散播者”)通过僵尸网络这个“命令控制”通道发送信息,操作感染病毒的计算机向特定网络和服务器同时发送大量请求。历史上最严重的一次病毒传播感染了两百万台计算机,一天发送了740亿垃圾邮件。
互联网的带宽、磁盘空间以及处理能力被大量的无意义请求占用,整个系统都忙于响应这些请求而无暇顾及真正的用户。在最糟糕的情况下,DDOS甚至还能使系统崩溃,并完全丧失网络能力。
周五的两次攻击目标都是Dyn的管理域名服务系统(Managed Domain Name System)。Dyn公司通过这一系统向用户提供转换网址的路由服务,例如用户在浏览器中输入spectrum.ieee.org,输入的内容首先被送到Dyn服务器去寻址,服务器找到用户想要访问的内容的IP地址,将该IP地址返回给用户浏览器,浏览器就会显示用户想要访问的内容。
纽约州立大学奥尔巴尼分校(New York’s University at Albany, SUNY)信息技术学教授Sanjay Goel说,通过聚集大批“僵尸”查看目标网站的服务器地址,黑客可以破坏服务商向其他用户提供路由的过程。另外,他们也可以简单地将大批“僵尸”集中起来,一起访问amazon.com和twitter.com等网站,以造成相似的破坏效果。黑客还可以直接攻击域名系统(DNS),通过攻击Dyn和Akamai等内容分发提供商(content delivery provider)的服务器,能使更多的企业网站无法访问,因为这些企业都同时依赖于Dyn等公司的域名解析服务。
事实上,Dyn公司建立的DNS服务管理系统采用任播(Anycast)路由策略,这一系统的作用是使任意特定IP地址的服务器都可以通过路由器连接其他十几个数据中心的服务器。因此,当一个服务器的IP地址成为被攻击对象时,就算这个被攻击的服务器接收到僵尸网络发送的大量无意义请求,其他的服务器仍能保证响应正常请求所需的流量。卡耐基梅隆大学软件工程研究院(Carnegie Mellon University’s Software Engineering Institute)技术主任Art Manion称这个系统使Dyn能更有效地应对DDoS攻击。当然,Dyn公司本身也宣称这一系统是高度安全的。 Dyn公司周五在其网站上更新声明称,受到的第一次攻击主要影响了美国东部的服务。采用任播(Anycast)路由策略的网络系统包括位于华盛顿特区、迈阿密、纽瓦克市和新泽西的数据中心,还包括达拉斯和芝加哥这样的南部和中部地区的数据中心,但我们仍不清楚具体哪些数据中心成为了这次攻击的特定目标。
在被攻击地区只有部分用户受到影响。原因可能是其他用户的浏览器事先已经使用Dyn服务来寻址他们需要访问网站的服务器。比如用户的浏览器已经缓存了twitter.com的IP地址,在Dyn公司受到攻击时,只要此时存储Twitter网站的服务器仍在运行,用户可以通过Dyn公司之前提供的域名解析服务直接访问。
另一个原因可能是,在应对DDoS攻击的常用机制中,系统会自动释放每个请求队列的第五个请求来减轻流量负担。但是这样就会导致一部分合法用户的请求被僵尸网络发送的无意义请求挤掉。
攻击一旦开始,受攻击公司能启动备用服务器在线管理海量请求。受到攻击的公司可以和网络服务提供商一起屏蔽掉通信量大的IP地址,也就是说,这些流量很大的IP地址很有可能是僵尸网络的一部分。Albanys Goel说:“要屏蔽来自不同地址的攻击,这所花费的时间取决于僵尸网络的规模。”
越来越多的黑客通过物联网设备传播僵尸病毒,这些设备通常安全性低。(当前,物联网设备的安全性通常很低,越来越多的黑客利用这些设备传播僵尸病毒)。再加上,物联网设备数量众多,便于黑客们发起大规模攻击。在记录的两起最大的DDoS攻击发生在过去两个月:一起是独立安全记者Brian Krebs的个人网站KrebsonSecurity.com遭到每秒620G比特的攻击。另一起是法国网络托管服务商OVH遭到每秒1100G比特的攻击。
在面对突发攻击时,就算这些公司使用了目前最好的保护以及应对措施,他们还得受到带宽的限制。卡耐基梅隆大学的Manion 说“假设Akamai公司拥有x单位的带宽,黑客只要超过一点点就能取胜了。这就是一场带宽与流量之间的数字的较量,目前,黑客们拥有的流量更大,因而也就能攻击成功。”
Dyn公司在全球部署的网络每月要处理超过5000亿条请求,因此发起攻击的黑客们必须同时发送上百万甚至几十亿的请求才能使之瘫痪。Manion说,为了避免DDoS攻击,与其每次受到攻击之后再去解决,企业应当先解决影响网络安全的根本问题,例如物联网(IoT)的安全性。
翻译:贾文铎
审校:王舟