网络安全 频道

DDOS反击浅谈

大家可能都知道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的网络
按此在新窗口打开图片javascript:DrawImage(this); border=0>
图1
  ISP可以用网络下水道技术,向别的BGP的邻居发布这个子网这个子网的攻击转移到了下水道路由。
按此在新窗口打开图片javascript:DrawImage(this); border=0>
图 2
  张大民对ISP的这些伎俩都很了解,但让张大民不满意的是,这些技术都需要ISP的帮助。如果真的出了事情,打电话的时间就要几分钟,和现在网站要求的几秒中的反应时间还是有相当的差距。而且如果碰上不负责任的ISP的网络管理员,或者人家不上班,这个办法还是不行。“独立自主,自力更生”。张大民暗自想,“一定有办法可以不用麻烦ISP的网络管理员,又可以在几秒钟之内对DDOS进行反击”。“到底如何才能达到几秒钟的反应速度呢”?,张大民心里很清楚,这不是一个很容易回答的问题,“看样子我又要进入闭关状态了”,张大民想。
  作为一个酷爱钻研网络技术黑客,张大民在遇到了技术难题时,最喜欢的办法就是要闭关,要排除一切干扰,一天24小时什么也不想,就是要把难题解决出来。有点象一休要挠脑袋打坐一样。
  这次张大民也不例外,他上网订了一个酒店房间,要在这个周末全心全意考虑这个问题。入住酒店后,张大民关掉手机,切断电话,只叫服务生来送饭,开自己对于DDOS的思考。
  正常与异常网络流量建模
  如果需要在几秒钟内作出反应,不但要预警,还要对DDOS进行反击,任何有人工参与的过程都是不可能的了。张大民想。整个过程需要自动化。需要能自动探测到被保护的网站是否受到了DDOS攻击。需要但能自动化的对DDOS进行反击。而整个过程要在几秒钟的范围内完成。
  作为一个网络安全工程师,张大民也知道任何问题都需要把它分解成几个模块,然后每个模块各个击破。那首先就看看如何能自动探测到DDOS的攻击吧,张大民想。
  很快,张大民就意识到,自动探测DDOS攻击的本质就是对正常与异常网络流量的建模过程。如果系统能够对正常的网络流量建立模型,找到平均值。那么如何高过这个平均值的网络流量都可以认为是异常网络流量。当然,到底高过多高才算作是异常的网络流量,那就要看每个网站管理员的定义了。但如果一个网站日常访问的网络流量是每秒钟100次,突然上升到了每秒钟一万次,那基本上肯定就是拒绝服务的攻击了。
  而且张大民还意识到,这种探测方式对分布式拒绝服务攻击还是原始的拒绝服务攻击都是适用的。因为对不管是那种攻击,所有的网络流量最终都要汇总到网站本身。   如果能够对正常网络流量进行建模,然后一直监视随后的网络流量,那么如果发现异常,就能够实现自动预警了。张大民想。但这个建模的过程也应该是一个很费时间的过程,至少需要几个星期的时间吧。而且还要保证这几个星期内不受到DOS的攻击,否则建立的模型就不会精确的反应网站正常的访问流量。
  对于网站访问流量进行建模的方法应该有很多种,这里面应该也有很多学问可以做,也包涵了一些数学问题。统计学,概率论和神经网络什么的。从这里面出来一个博士论文也不会稀奇。张大民想。但作为工程师的他来说,张大民觉得并不需要对网站的访问流量进行精确的建模,因为据他所知,所有的DDOS洪水攻击的网络流量都差不多是正常网站访问流量的十几倍,甚至几十倍。探测起来并不是很困难。
  DDOS网络流量源地址校验
  而真正困难的是,当探测到了DDOS的洪水攻击后该怎么办呢?张大民也开始挠脑袋了。因为当有了分布式的洪水攻击后,网站的网络流量内容就变得非常复杂。张大民想了一下,大概包涵一下几种网络流量
  1 正常的客户来访问网站的访问流量
  2 DDOS网络流量,IP源地址是真实IP地址
  3 DDOS网络流量,IP源地址是伪装(假冒)IP公有地址
  4 DDOS网络流量,IP源地址是假冒的IP私有地址
  对于DDOS正确的反击应该是让正常的客户来访问网站的访问流量还能正常访问网站,而让DDOS网络流量2,3,4在到达网站之前就被拒绝掉。张大民想。但说的容易,到底如何才能实现呢?问题是这样的,虽然大家都是在讲网络流量,但每一个到达网站的其实都是离散的报文。通过分析这些离散报文的内容,是无法知道这个报文是是来自DDOS的源头,还是由正常访问网站的客户发过来的。必须要把离散的报文集合成网络流量。但是如果为每一个源地址都建立一个网络流量的概念,那就要使用很多系统的内存资源来跟踪这些状态,那实际上就很网站处理TCP连接的方法一样了,根本不能应付大流量的DDOS攻击。而且根据网络流量来分析,不能解决的问题是,如果真的是一个网站很流行,象一个时装网站要网络实时直播泳装模特的表演,而几百万人同时登录网站,网站的流量还是很大,几乎可以和DDOS时的网络流量相比,但这些访问都是正常的访问。根据网络流量的分析如何能把它们和DDOS的网络流量区别开来?

0
相关文章