精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◇网络安全◇>>安全技术>>CGI 拒绝服务攻击技术浅析(from 绿色兵团

主题:CGI 拒绝服务攻击技术浅析(from 绿色兵团
发信人: lano()
整理人: (2000-06-14 13:06:08), 站内信件
CGI 拒绝服务攻击技术浅析 
 
 
作者:曹政
2000-02-12


    拒绝服务攻击即DoS是使对方服务器承受过多的信息请求而无法处理,产生阻
塞导致正常用户的请求
被拒绝。从程序员的视角出发,就目前我们所处的网络环境而言,要想用大量的
报文使一个大网站因为
I/O阻塞而停止服务是非常困难的,但是如果能找到对方服务器上一些可能会占用
较多资源的程序并有远
程调用权限,那么通过批量调用使对方响应阻塞就并不困难。这种程序,从程序
员的视角出发,就是对
方网站可能存在的不良CGI程式。
 
    下面是我的服务器上存在的一个真实例子:
    

    
    search.cgi就是一个不良cgi程序(全文本内文检索),是那台服务器上其他
网站站长搞来的第三方程序。
    
    可以看到,仅仅存在三个并行调用,系统CPU资源就被占满,正常的http请求
产生阻塞!当然,正常情
况下这个现象比较少见,但是如果对方有恶意,找到了这种cgi程序,然后在路由
接近的网段上作一个
socket连接的守护程序,多进程不间断地循环发送伪请求,请求主机响应该cgi程
序,并携带一个范围很宽
的检索边界条件(检索条件越宽,处理响应消耗负载越大),这样就会用很少的
请求数使对方主机产生很大
的负载,从而使对方拒绝正常请求。
    
    此类攻击所需要的攻击源很少,很可能只要一个能够高速直连的主攻击源就
能使对方服务器崩溃。对于
用户可以自己建立cgi程式的虚拟主机服务商而言,这种隐患防不胜防,所以这也
是网络安全中需要考虑的
一个问题,如果宽带网顺利启动,那么这种攻击手段就可以大行其道,两三台家
用电脑就可能把一个宽带
环境内的主机搞瘫痪。
 
    所以用程序员的视角,从cgi程序的合理程度来分析,核心思想其实就是很小
的请求使对方主机消耗很
大的资源来响应,那样带宽和I/O就不是重要的影响因素了。

    最近导致美国知名网站故障的原因实际上来自于一种最简单的攻击手段,就
是虚假报文的超量投递。
关键程序非常简单,自己做也就是一个小时的工作量,无非是创建多个socket连
接进程,然后循环地把一
些恶意请求的报文利用socket连接,通过80端口塞到对方的主机上,利用无限循
环手段,使对方主机超负
载而拒绝正常访问,这也是拒绝服务攻击法的关键所在。
 
    这种报文超量报文投递的拒绝服务攻击法虽然说起来简单,但是实现起来需
要几点注意事项:
    

第一是找到合适的突破口,也就是对方主机上的不良CGI程式。
    
    一般的知名网站都有很强的主机,甚至多主机并行负载分布。如果仅仅是简
简单单地发送报文很难令
对方崩溃,所以需要作的就是找到对方主机上一些消耗系统资源较大的CGI程序。
如果自己做过大规模负
载的交互式网站,很容易找到其中的关键,通常一些复杂的搜索程序,特别是内
文检索程序是消耗系统资
源较多的,这些程序就可以成为突破口。也就是使用虚拟报文,用一个最宽的条
件来模拟请求检索,这样
你只需要传递很少的数据,对方的服务器就会产生相当大的负荷,采用多进程并
且循环调用,只要对方主
机cgi程序处理报文的时间大于其接受到你循环发送报文的间隔时间,就很容易使
对方的http请求阻塞并
拒绝正常访问。
 

第二是节省一切可以节省的步骤。

    这种攻击方式的关键是使对方造成阻塞,而阻塞的关键是本机攻击循环的间
隔小于对方处理的时间。
减小循环间隔的重要一点是,仅仅发送攻击必须发送的报文,然后不接受任何返
回信息。也就是当攻击程
序把一个虚拟的请求报文发送后,不再理会该请求而进行下一个。不用停止这个
socket连接,但是无须接
受任何返回信息,那样会耽误攻击程序的循环效率。这里的关键问题是对方的cg
i程序还在处理攻击程序
发送的请求,所以寻找不良CGI是获得最好效果的最关键因素。
  
    
第三是寻找理想的攻击源。

    这一点最难作到,如果用家用电脑和拨号实现攻击,并不是不可以,除非同
一时间找到100个志同道合
者一起攻击,否则由于网速,你的攻击可能对对方毫无影响。这就需要“攻击源
”,也就是找到可以运行
攻击程序的、路由和攻击目标接近的服务器作为攻击源,最好找到多个攻击源服
务器,然后同时运行攻击
程序,才有可能看到效果。特别是针对大型商业网站,没有一定数量的攻击源是
不可能用这种方式攻击成
功的。例如如果希望攻击yahoo,这种方式就需要在美国宽带网环境下找到1000台
左右的攻击源服务器,同
时运行攻击程序,模拟循环进行一些最常用关键字的超量检索,导致对方服务器
处理阻塞。
 
    
    需要提醒的一点是,攻击源可能在攻击过程中自身收到损害,我在宿舍局域
网测试的时候,自己的攻
击源崩溃过若干次,提醒诸位小心。
 
    根据新闻,美国最近的网站被黑大体上是这种攻击手段的一种体现,但是难
得的是对方能够用很多攻击
源来进行。另外当宽带网大幅推广和使用的时候,这种攻击手段将更容易实现,
可能几个会写VC的家伙就可
以在家里利用光纤将宽带网内部的主机搞垮。
    
    所以也不得不对网管提醒一点。消除不良CGI,并对恶意报文采用一些过滤手
段,是非常需要重视的课题!


< 完 >
 
摘自绿盟月刊<<http://magazine.isbase.com>>

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.106.48.21]

[关闭][返回]