服务器处理
假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么使用CC模拟120个用户并发连接,那么经过 1分钟,服务器的被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理.有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列, 然后服务器开始120个/秒的丢连接,发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了,新的连接也处理不了,这样服务器达到了超级繁忙状态.
假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),使用的线程也只有120,很多服务器的丢连接时间远比60S长,使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大.
名称起源
CC = Challenge Collapsar,意为”挑战黑洞”,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致使形成拒绝服务的目的。业界赋予这种攻击名称为CC(Challenge Collapsar,挑战黑洞),是由于在DDOS攻击发展前期,绝大部分都能被业界知名的”黑洞”(Collapsar)抗拒绝服务攻击系统所防护,于是在黑客们研究出一种新型的针对http的DDOS攻击后,即命名Challenge Collapsar,声称黑洞设备无法防御,后来大家就延用CC这个名称至今。有趣的是,黑洞(现改名为ADS)后来也能全面防御CC攻击,但这个段子中的攻防较量仍然被传为一段佳话。
CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到真实源IP,见不到特别大的异常流量,但造成服务器无法进行正常连接。最让站长们忧虑的是这种攻击技术含量低,利用更换IP代理工具和一些IP代理一个初、中级的电脑水平的用户就能够实施攻击。因此,大家有必要了解CC攻击的原理及如果发现CC攻击和对其的防范措施。
CC攻击的原理
CC攻击可以归为DDoS攻击的一种。他们之间的原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击。CC攻击又可分为代理CC攻击,和肉鸡CC攻击。代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DDoS,和伪装就叫:cc(Challenge Collapsar)。而肉鸡CC攻击是黑客使用CC攻击软件,控制大量肉鸡,发动攻击,相比来后者比前者更难防御。因为肉鸡可以模拟正常用户访问网站的请求。伪造成合法数据包。
一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛之类的动态网站就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读帖子的权限,如果有,就读出帖子里面的内容,显示出来–这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。
CC攻击就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面,比如asp/php/jsp/cgi)。很多朋友问到,为什么要使用代理呢?因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。当然也可以使用肉鸡发动CC攻击。肉鸡的CC攻击效果更可观。致使服务器CPU%100,甚至死机的现象。
使用代理攻击还能很好的保持连接,这里发送了数据,代理转发给对方服务器,就可以马上断开,代理还会继续保持着和对方连接(我知道的记录是有人利用2000个代理产生了35万并发连接)。
当然,CC也可以利用这里方法对FTP、游戏端口、聊天房间等进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的。
防御CC攻击可以通过多种方法,禁止网站代理访问,尽量将网站做成静态页面,限制连接数量,修改最大超时时间等。
流传误区
网络流传一种说法,就是把被攻击的域名解析到127.0.0.1这个地址上,造成攻击者本地回环IP,从而实现攻击者攻击自己的目的,其实这是不正确的说法,说起CC攻击,其实更确切的说是对数据库的攻击,排除对IIS连接数、带宽的限制,危害最大的就是不断通过页面造成对数据库堵塞,从而导致服务器假死,而这一系列都是建立在服务之上,作为攻击者的PC,本身没有开启IIS服务,所以即使将域名解析到127.0.0.1也不能对攻击者造成影响,更何况没有SQL server的影响,而上述解决方法是早期一些WEB程序员单层次的想法,并非权威的实际考证;另外将域名解析到政府或网警网站也是不可行,因为凭借权威部门的技术分析,不难判断攻击源所针对的网站。
总结
总体说来CC攻击属于技术技巧强的攻击,防护手段足以解决诸如此类的攻击,然而带给我们巨大的挑战的是巨型流量的攻击,在带宽资源紧缺的情况下任何的防护措施都会消耗很大的成本,我们期待不久的云概念被炒作的沸沸扬扬,至于能否起到实实在在的作用就不可而知了。希望上述资料能给您帮助。
暂无评论内容