科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道浅谈针对DDOS攻击的反击

浅谈针对DDOS攻击的反击

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

前言:这篇文章是“黑客张大民在IPv6里的幸福与烦恼”与“黑客张大民江南小城奇遇记”的姐妹篇,如果想了解一下黑客张大民的来龙去脉和背景,可以参考这两篇文章。

来源:比特网 2009年5月30日

关键字: 攻击防范 网络攻击 DDos

  • 评论
  • 分享微博
  • 分享邮件

  前言:这篇文章是“黑客张大民在IPv6里的幸福与烦恼”与“黑客张大民江南小城奇遇记”的姐妹篇,如果想了解一下黑客张大民的来龙去脉和背景,可以参考这两篇文章。

  本文借他的生活和研究来传播一些比较乏味的网络安全的知识。

  序

  凌晨两点,黑客张大民的手机开始狂响起来。张大民睡眼惺忪,翻起身看了一下手机号码,知道他必须得接这个电话。最近张大民换了个工作,新公司给一些主要的网站做安全咨询和安全管理。几个主要的技术人员每一个人负责一些客户,这个电话就是一个主要客户的网站管理员打来的。“这么晚了,小子还在上班?”,张大民心里嘀咕着。

  “喂,小李”,张大民很不情愿的接了电话。

  “大民兄弟,网站出事了!”,在电话的那边,小李的声音已经有点变形了。

  “怎么出事了?”,张大民问?

  “不知道啊,流量特别大,已经死机两回了!客户的电话都快把线打爆了”,小李说。

  “深更半夜的,谁还打你们的客服电话啊?”,张大民觉得小李有可能在蒙他。

  “大民兄弟,你不知道啊,我们的网站海外客户很多,大概时差是十几个小时,现在是他们哪里下午,正是用得时候!”。小李说。

  “好,好,那我去看看”,张大民无可奈何,只好匆匆忙用冷水洗了把脸,尽快的赶到机房。

  到了机房,张大民才知道问题的严重性,通过分析网络流量日志,张大民查出这是最普通的TCP的SYN洪水攻击,也就是攻击网站WEB服务器HTTP的TCP端口80,流量很大,基本上每秒钟收到50万个TCP的SYN报文。每一个SYN报文都要浪费WEB服务器的一定资源,几乎WEB服务器的所有资源都被这个洪水攻击所占据了,正常的网页访问更本进不来。而且由于WEB服务器长时间超负荷运转,性能很不稳定,已经崩溃两次了。

  张大民不是没有见过类似的情况。这种洪水攻击大部分时候都是伪造IP报文的源地址,有的时候挑RFCl918里面的私有IP地址,就是不让你发现攻击的源头。因为这些攻击的源头一旦被发现了,网络管理员们会彼此通告,这些问题主机很快会被管理员弄下线,这样黑客就少了一个可以控制的网上资源。

  张大民希望这次攻击也是类似情况,因为这样的洪水攻击使反击的方法很简单,私有地址只能在私有空间使用,不应该在公用的互联网上出现,他只要在这个网站的网关路由器上配置一些访问控制列表,把IP报文中IP源地址是RFCl918的私有地址报文过滤掉就行了,因为这些报文肯定不会是有效报文。

  但再进一步分析网络流量日志,张大民发现这个攻击是分部式的洪水攻击。大部分IP报文的源地址都是互联网上的真实地址。张大民试了几个地址,都是可以PING的通的。用NMAP扫描了一下,发现大部分是

  [url=http://www.microsoft.com/china/]

  微软

  [/url]

  的主机,看样子都是被OWN的了“肉鸡”。张大民估计了一下,攻击源大概有四五万个不同的IP地址。日志里面也搀杂了很多伪造的IP源地址报文,一时之间,张大民也无法判断哪些是真实的IP地址,哪些是伪造的IP地址。估计真实的地址会在几百到一千台左右“很牛X啊”,张大民暗自想。“摆明了是不怕暴露被控制的主机(攻击源)的真实身份,估计被控制的主机的数目比目前发动DDOS估计的数目还要多的多,所以这个家伙也不在乎损失几千台肉鸡”。   “别光看日志啊”,小李等不急了,“有没有办法啊

  “给你上游的ISP打电话了么?”,张大民问。

  “打了,跟本就没人接”,小李的声音里已经带了点哭腔。

  “唉”,张大民叹了口气。发生这种情况,最好的办法就是同上游的ISP联系,让ISP在他们的网络中找到DDOS网络进入ISP网络的入口,在ISP网络的入口出将其掐断。虽然DDOS估计来自四面八方,但大多数情况下会汇集到一起,进入上游ISP网络的入口点还是有限的。但如果紧急时刻找不到ISP的网络管理员,那就基本上没有什么办法了。

  “如果找不到他们,我也没什么折”,张大民一摊手。“除非你想在你的网关路由器上配置上万个访问控制列表,把这些DDOS攻击的源头一个一个的掐掉”。

  “今晚我是没有了”,张大民说,看着自己客户一脸绝望的样子,张大民心里也不是滋味,心中暗想,“道高一尺,魔高一丈,一定会有好方法来反击这些DDOS的家伙,也不一定非要向ISP的网管告急,我一定要好好研究一下怎么样能好好的反击DDOS。

  DDOS网络攻击定义

  虽然张大民一向不太看得起这些DDOS的人的所作所为,但易攻难守的特点,让张大民还是觉得有一定的挑战性,千台“肉鸡”,发网络流量就是了,张大民不是没做过,现在已经懒得做了。但防守起来可就难了。

  IPv4网络设计上的一个特点(缺点)就是任何人在互联网上都可以向任何人发报文,哪怕你不想让别人向你的主机发送报文,但只要你的IP地址是公用的IP地址,你也没办法阻止他。而且TCP在设计的时候,设计的思想之一就是所有的在互联网上的主机都要做个好人,大家都是互联网上规规矩矩的老实人,如果哪里有网络的塞车,TCP会自动的降低网络的发送流量,等网络的情况好点了,TCP再试着一点一点的增加网络流量,目的是尽量不给网络增加负担。当全世界的主机上的TCP都按照这样的方式运作时,就有了我们今天的互联网。大家都可以浏澜任何一个想浏澜的网站。就像在一个高速公路上,所有的司机都礼让三先,保证不要让高速公路塞车的情况出现。

  但黑客们可就不管这么多了,他们就像哪些在高速公路上飙车的小年轻一样,在互联网的高速公路上横冲直撞。主机是我的,我想让它做什么都行,用不着礼让三先,也用不着遵守TCP的协议规定,不按照TCP状态机规定的状态行事。

  拒绝服务的攻击(DOS)就是这么发展而来的。在学校里学过网络基本原理的人都知道TCP的三方握手协议,就是TCP客户要发一个SYN的报文,服务器回一个SYNACK的报文,客户再回一个ACK的报文,两方面就建立起了TCP的连接。

  在这个过程中,服务器要为每一个TCP连接分部一定的内存来跟踪TCP复杂的状态,以便更好的保证TCP连接的正常工作。而拒绝服务的攻击不按照TCP的状态转换图来工作,只象服务器发布TCP的SYN报文,服务器以为是一个将要建立的TCP连接,因为它以为对面一定是一个遵纪守法的互联网公民,会为这个TCP连接建立状态,分配内存。而网络那一端的客户可不按照规矩办事,它只向服务器发布大量高速的TCP SYN报文。但服务器还是善良的相信每一个TCP SYN报文后面都是一个遵纪守法的互联网公民,继续为他们分配内存,导致了大量的浪费。更遭的是,由于这个不守法的主机的行为,导致其它守法的主机无法访问这台服务器,因为几乎所有的资源都被这台不守法的主机所占用了,其它守法的主机已经享受不到这台服务器提供的服务。这也是为什么这样的服务叫作拒绝服务的攻击。等人们意识到了这个问题,发现最简单的解决办法就是把这些不负责任的主机屏蔽掉。而能屏蔽这些主机的唯一方法就是根据这些主机的IP源地址,在IPv4的世界里,这是决定一台主机的唯一标识。

  黑客们也有办法,好,你不是要根据我的IP源地址来屏蔽我吗?那我就伪造我的IP源地址,让你猜不出我是哪里来的,而且我的源地址是随机的,每一个报文都在变,这样你就不知道我是哪里来的了。他们这么一弄,网站管理员就没有办法了,到底如何屏蔽呢?网站管理员就找到系统管理员和网络管理员,他们一看,说这个很好解决,黑客可以伪造IP源地址,但这些机器可都是在网络管理员和系统管理员管理之下的,不管IP地址怎么变,攻击源只有一个,把攻击源屏蔽掉了就可以了。但道高一尺,魔高一丈,黑客们又说,好,你是想屏蔽我的攻击源是吧,那我就弄它几百几千个攻击源,每个攻击源还在不同的网络。每一个攻击源再用随机的IP源地址,这下看你怎么办。这样,不管是网站管理员,系统管理员还是网络管理员都在挠脑袋了。

  而且他们挠脑袋一直挠到今天。到今天,分部式拒绝服务攻击(DDOS)是让网络工程界最为头疼的问题,因为攻击源分部在世界不同的角落,无法一一和他们的网络管理员和系统管理员联系,你这边是下午,那边可能就是凌晨。而且现在的商务网站,现金流量很大,每小时下线的损失可以到上百万美元。反应时间需要在几秒钟的范围之内,和网络管理员和系统管理员联系,找到问题主机,再切断攻击源需要至少几个小时,根本行不通。

  正是因为没有可行的解决办法,一些恶意的黑客开始越来越肆无忌惮的使用这种攻击方法,逐渐发展到使用这种攻击方法来敲诈勒索大型商业网站,不给钱,就让你的网站下线,损失更大。给钱,那就更遭了,所有的黑客都知道你好欺负,敲诈你能拿钱,你就成了所有人的目标。

  DDOS的反击方法

  作为在网络安全界黑白两道都有很多朋友的张大民来说,他对这些情况是再熟悉不过了。

  让张大民感慨的是,建设容易破坏难,这个规律对网络协议的研发也适用。TCP最大的特点就是它的可扩展性。在任何时候,全世界使用TCP的人不下几百万,说上千万也不过分(考虑到那么多网站)。而这么多TCP连接在互联网上同时存在,每个连接还可以保证一定的传输性能,不是一件很容易做到的事。

  上大学的时候,看到TCP的状态图,觉得复杂的不得了,现在才知道复杂的状态是必须的,是保证TCP要表现为互联网上的谦谦君子,避免网络的塞车,让每一个想用互联网的人都可以随时随地使用。想当年调试TCP的时候,导致了整个互联网全部下网几次,才把TCP调试成功,其中所有人付出的努力可想而知。而这么大的一个努力,居然就让一个不讲道理的TCPSYN洪水攻击给弄得不知如何是好,真是让人感慨。

  利用ISP来反击DDOS

  有一个,把攻击源屏蔽掉了就可以了。但道高一尺魔高一丈和很多网络管理员对DDOS的理解一样,张大民也认为,对DDOS的反击,使用ISP的网络是有效的方法之一。ISP们在和DDOS进行斗争的同时,也摸索出了一些实用的方法。其中最常用的就是黑洞路由了。

  越来越多的网络攻击开始从攻击终端系统(PC)向攻击网络本身发展。如何预警,分析,反击针对网络本身的攻击,是互联网供应商(ISP)们要解决的。

  防火墙,IDS,AV软件,主要都是针对企业网的用户,对於企业用户来说,最重要的是如何让PC不染毒。但对於互联网供应商来说,网络设备就是他们的要保护的对象,而对於互联网供应商的网络具有的网际网的性质,防火墙和IDS的deploy几乎很困难,对网络的传输性能也会有影响。但是,现在针对ISP的网络的攻击越来越多,现在的数据是,今天大概90%的针对ISP网络的攻击是“脚本小子”script kiddie所为,25%到27%的攻击针对路由的routing协议,但威胁性还不大。有5%-3%的攻击,是非常复杂的攻击,这5%-3%是ISP最担心的。现在ISP的防范技术还重要依赖于网络运行人员对网络网络流量的分析,毕竟,于企业网的网络运行人员不同,ISP的网络运行人员是ISP的核心雇员,是可以为ISP产生利润的员工,他们有相对来说好的经验和好的设备来防备他们的网络。

  张大民知道一个北美网络运营商们常用的一个技术,

  网络下水道技术。

  大家可能都知道Honey Pot,也叫蜜罐技术,就是将一台PC机设置成陷阱,引诱黑客来,让黑客误以为是有缺陷的系统,然后监视黑客的行为。网络下水道技术是应用在网络上的Honey Pot是用来收集发向ISP网络的垃圾网络流量,然后加以分析,对这些网络垃圾的分析,可以知道是否有人在扫描网络,或者在进行攻击,可以用来预警,和防备。如果有黑客正在对ISP的网络展开攻击,网络下水道技术也可以把攻击的网络流量导向下水道,使ISP的网络能正常工作,免受攻击。

  ISP的网络是用BGP来交流的,下水道技术就是用一台路由,向ISP的网络advertise一个route,可以的缺省的route,也可以是一个特定的子网。如果是一个特定的route,那么所以送到ISP网络的网络流量,如果ISP不知道如何route它,都会送到这个下水道的路由,对ISP来说,这些就是垃圾网络流量,但这些垃圾网络流量中可以有很多有用的信息,可以在下水道路由后面加一个网络分析器,可以就是一个最简单的PC,装个免费的IDS:Snort,再加个tcpdump。也可以是复杂的IDS。如果ISP检测到有黑客正在攻击一个子网的网段,这个下水道路由可以用BGP通知其它路由,让它们把指向这个子网的网络流量都送到下水道路由,等於是把攻击改变了方向。下面是一些图形演示:

  这个为一个黑客正在对一个子网进行攻击,网络流量经过ISP的网络

  

  图1

  ISP可以用网络下水道技术,向别的BGP的邻居发布这个子网这个子网的攻击转移到了下水道路由。

  

  图 2

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章