网站:http://www.cyberwarface.com/
博客:http://www.cyberwarface.com/index.php/2017/07/592
音频:http://m.ximalaya.com/22885296/sound/44346516
微信号:cyberwarface
本期内容:
大家好,本期节目为将大家继续介绍DDOS。在DDOS系列节目第一期中,我们介绍了DDOS攻击的基本概念,并大致聊了下当今DDOS攻击的特点及主要防御手段。从当今DDoS攻击的特点来看,其攻击形式在飞速进化。它们更加难以应对,攻击手法也在经常出现一些让人意外的方式;其攻击规模与破坏能力飞快增长, DDOS的危害越来越大。未来,DDOS将何去何从呢?我们需要从历史中需求答案。
本期节目,我将沿着历史的轨迹,为大家详细介绍一下DDOS攻击的发展过程,讲述几个主要的历史事件及背后的技术原理。
1、早期的DDOS攻击
大家经常会听到“黑客”、“骇客”、“红客”、“极客”、“白帽子”、“黑帽子”,这些词其实都是特指了这样一群人,他们酷爱钻研技术,具备聪明的头脑及敏锐的直觉。他们充满好奇心,而又执着坚韧,为追求事情背后的真相而不惜一切。他们洞悉系统的本质,找到了系统的缺陷与不足,具备了常人难以企及的技术能力。在这个阵营里,无论男女,不分老幼,坚信达者为先。他们是世界的破坏者,也是技术的推动者,他们可能是可怕的敌人,也可能是强大的保护神。想给这群人做个准确的定义真的很难,勉强统称他们为“黑客”,而根据其行为方式、危害程度,用不同的名字加以区分。
而早期的互联网,不想现在这样深入我们的生活。网络攻击的经济利益远远没有达到让人疯狂的地步。这个时期的“黑客”活动主要以炫耀技术为主要目的。这个时期的DDOS攻击往往没有特定的目标,攻击与被攻击的随机性很强,很有可能只是黑客为了验证某种新发明的攻击方法而随意挑选的受害者。而那时的网络又是那么的脆弱,一种新型的攻击方法,往往能引发轰动性的效果,虽然对受害者来讲往往不会造成实质性的损失,但却可以极大的满足“黑客”们的虚荣心,成为“黑客”证明自身能力的途径,也是向朋友炫耀的主要方式。
1.1、1988年Morris(莫里斯)蠕虫
早在当今的互联网还没有正式诞生的ARPANET时代,造成了人类网络史上第一次DDoS攻击事件。罗伯特·莫里斯(Robert Tappan Morris)还在康乃尔大学读研究生一年级的时候,单纯的为了“想测量互联网的大小”,在当时的ARPANET网上发布了一个小程序,但代码出现了很明显的错误,导致这个程序无法独立确定系统是’干净’还是受感染。原本是针对远程计算机的一次性攻击,变成了蠕虫不断在相同的系统内自我复制,一旦开始就没办法停下来。结果造成整个网络所有6万个网络节点无一幸免,全部陷入瘫痪。这个事件,造就了人类第一个病毒,也造就了第一次大规模的DDoS攻击!1990 年,法官 Howard Munson 判处 Morris 三年监外缓刑,400 小时社区服务,以及 1 万美元的罚款。
Robert Tappan Morris–互联网首个计算机蠕虫病毒的作者
被保存在计算机历史博物馆的Morris蠕虫源代码
1.2、1996年第一次DoS攻击
1996年9月6日下午5点半左右,纽约历史最悠久、规模最大的互联网服务提供商Panix遭受了人类史上第一次的DoS定点攻击。整个公司的邮件、新闻、WEB及域名服务同时被攻击,导致至少6000名用户无法收邮件。
攻击者采用的方法非常简单,不断向服务器发送连接请求(TCPSYN请求),速度高达每秒150次。而服务器忙于应对这些请求,从而无法回应正常的用户。这种方法被称为“SYNFlood”(SYN洪水)攻击。
要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:
大家都知道,TCP与UDP不同,它是基于连接的,也就是说:为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟链路,也就是TCP连接,建立TCP连接的标准过程是这样的:
首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgment)。
第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
以上的连接过程在TCP协议中被称为三次握手(Three-way Handshake)。
问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYNFlood攻击(SYN洪水攻击)。
1.4、1999年Melissa(梅丽莎)病毒
David Smith(大卫·L·史密斯),Melissa病毒的作者,大量发送邮件致使微软和互联网邮件服务系统瘫痪
1999年3月,一款名为“梅丽莎”的病毒在全球爆发,是一个影响了MS Office文档的简单电邮宏病毒。它伪装成一封来自朋友或同事的“重要信息”电子邮件,一旦用户打开后,病毒会让受感染的电脑向外发送50封携毒邮件。这里你可能会问,这和DDoS攻击又有什么关系呢…?
尽管这种病毒不会删除电脑系统文件,但它引发的大量电子邮件会阻塞电子邮件服务器,使之瘫痪。这发自各个受害人的50封邮件,完全不亚于一场大规模的传染病,然后雪球越滚越大到了难以控制的地步:这一分布式攻击迅速在全球范围传播。某种程度而言,该攻击本来并没有什么特定的目标,但最终却将全球邮件系统作为了攻击目标!该宏病毒让全球邮件流量短时间内疯狂激增,也让许多公司被迫关闭了自己的邮件服务器。
1999年4月1日,在MG在线的协助下,MG政府将史密斯捉拿归案。在2002年5月1日的联邦法庭上,控辩双方均认定“梅丽莎”病毒造成的损失超过8000万美元,编制这个病毒史密斯也承认,设计电脑病毒是一个“巨大的错误”,自己的行为“不道德 ”。2002年5月7日美国联邦法院日前判决这个病毒的制造者入狱20个月和附加处罚,这是美国第一次对重要的电脑病毒制造者进行严厉惩罚。时年34岁的史密斯原本有可能在狱中待5年,但因为他帮助政府发现其它病毒制造者,从而得以从轻发落。对他的惩罚措施包括5000美元罚款、参加社区服务、禁止使用电脑和互联网等。网络安全专家认为,对史密斯的处罚向潜在的病毒制造者敲了警钟,让他们明白,在互联网网上制造散布病毒是要付出代价的。
1.3、1999年第一次分布式拒绝服务(DDoS)攻击——Trinoo
真正意义上的第一次分布式拒绝服务攻击应该是在1999年8月17日,美国明尼苏达大学的一台服务器遭到攻击,造成了连续两天的服务终止。在接下来的几天中,又至少有16台主机遭到同样的攻击,其中有一些主机并不在美国境内。
Trinoo也因此成为了已知最早的DDoS攻击工具,它主要攻击Solaris2.X系统,通过远程调用服务(RPC)中存在的一个缓冲区溢出漏洞进行传播。它和之前说到的Panix攻击最大不同在于,它采用了“分布式”的攻击方式。攻击者至少采用了227台主机 ,而他们的所有者并不知道,他们的设备居然成为了黑客手中的工具。攻击的数据包都是UDP格式的,并未隐藏源地址。所以,根据这些IP地址,明尼苏达大学联系了这些主机的所有者,停止了攻击进程。但这样的方法,显然不能奏效,攻击者只需加入更多的被控制主机就可以了。
攻击者先入侵一些主机,并在其上安装扫描工具、攻击工具以及Trinoo控制程序,形成了初期的僵尸网络。在僵尸网络中,通常会将黑客发布命令的主机称作控制主机(Master),被安装受控软件的主机称为受控主机或攻击主机(Slave)。“黑客”只需通过控制主机发布命令,攻击主机即可自动发动攻击。Trinoo也成为了第一个使用控制网络进行攻击的DDoS工具。
关于僵尸网络的话题,在第四期暗云来袭的节目中已经做过详尽介绍,在这里就不再重复了。
4、总结
DDOS系列节目的第二期就到这里了,本期节目为大家介绍了DDOS的早期发展,并为大家介绍了Morris蠕虫、SYN洪水攻击、Melissa病毒及Trinoo分布式拒绝服务攻击。在这个时期,攻击方式相对简单,但大大开拓了“黑客”们的思路,在2000年之后,更大规模的DDoS攻击陆续登上历史舞台,下期我将继续为大家介绍。
还没有评论,快来发表第一个评论!