CC = Challenge Collapsar,其前身名为Fatboy攻击,Collapsar(黑洞) 是绿盟科技的一款抗DDOS产品品牌,在对抗拒绝服务攻击的领域内具有比较高的影响力和口碑。 因此,存在这样一种拒绝攻击行为,可以将受到Collapsar (黑洞)防火墙保护的网站击溃,因此攻击发起者挑衅式的将其更名为Challenge Collapsar 攻击,简称CC攻击。
攻击原理:
CC攻击的原理并不复杂,其主要思路是基于应用层的弱点进行攻击;传统的拒绝服务攻击,如Syn flood 主要是基于协议层和服务层的弱点开展攻击,早期的抗拒绝服务攻击产品也是基于此进行防护。而应用层的弱点,取决于各自应用平台的开发能力,因此难以具有通用性的防护方案,这也是CC攻击没有很好的防护产品,非常容易得手的原因。
简单举例,一个论坛系统,如果存在较多的分页,当一个蜘蛛程序,多并发高频次的进行大量翻页抓取时,已经产生了一种CC攻击。
应用层常见SQL代码范例如下(以php为例)
$sql="select * from post where tagid='$tagid' order by postid desc limit $start ,30";
当post表数据庞大,翻页频繁,$start数字急剧增加时,查询影响结果集=$start+30; 该查询效率呈现明显下降趋势,而多并发频繁调用,因查询无法立即完成,资源无法立即释放,会导致数据库请求连接过多,导致数据库阻塞,网站无法正常打开。
性能不够优良的数据查询,不良的程序执行结构,比较消耗资源的功能,都可能成为CC攻击的目标,而执行方法可能是单机发起,也可能是通过肉鸡发起,还有可能通过高流量站点嵌入脚本(iframe嵌入或js嵌入)发起,基于高流量网站嵌入攻击代码的CC攻击,在目前互联网环境上来讲,更加无解。
防CC攻击软件:
CC攻击可以归为DDoS攻击的一种。他们之间都原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击。CC攻击又可分为代理CC攻击,和肉鸡CC攻击。代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DOS,和伪装就叫:cc(ChallengeCollapsar)。而肉鸡CC攻击是黑客使用CC攻击软件,控制大量肉鸡,发动攻击,相比来后者比前者更难防御。因为肉鸡可以模拟正常用户访问网站的请求。伪造成合法数据包。防御CC攻击可以通过多种方法,禁止网站代理访问,尽量将网站做成静态页面,限制连接数量等。这里就不一一介绍了,推荐使用金盾抗DDoS防火墙,%100防御CC攻击!金盾抗DDoS防火墙是目前国内效率最高的软件抗DDO防火墙,其自主研发的独特抗攻击算法,高效的主动防御系统可有效防御DoS/DDoS、SuperDDoS、DrDoS、代理CC、变异CC、僵尸集群CC、UDPFlood、变异UDP、随机UDP、ICMP、IGMP、SYN、SYNFLOOD、ARP攻击,传奇假人攻击、论坛假人攻击、非TCP/IP协议层攻击、等多种未知攻击。各种常见的攻击行为均可有效识别,并通过集成的机制实时对这些攻击流量进行处理及阻断,具备远处网络监控和数据包分析功能,能够迅速获取、分析最新的攻击特征,防御最新的攻击手段。同时,金盾DDoS防火墙又是一款服务器安全卫士,具有多种服务器入侵防护功能,防止黑客嗅探,入侵篡改,真正做到了外防内保,为您打造一台安全省心免维护的服务器。
CC攻击可谓是较为常见的攻击手段,也是需要网站抵挡的攻击之一。那么,高防服务器防御CC攻击需要注意什么?安全性如何保证?下面一起来了解一下。
1.TCP洪水攻击:
由于TCP协议连接三次握手的需要,在每个TCP建立连接时,都要发送一个带SYN标记的数据报,如果在服务器端发送应答包后,客户端不发出确认,服务器会等待到数据超时,如果大量的受控制客户发出大量的带SYN标记的TCP请求数据包到服务器端后都没有应答,会使服务器端的TCP资源迅速枯竭,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。
2.UDP洪水攻击:
UDP是一个无连接协议,发送UDP数据报时接受方必须处理该数据报。在UDP洪流攻击订时,报文发往受害系统的随机或指定的端口,通常是目标主机的随机端口,这使得受害系统必须对流入的数据进行分析以确定那个应用服务请求了数据,若受害系统的某个攻击端口没有运行服务,它将用ICMP报文回应一个“目标端口不可达”消息。当控制了大量的代理主机发送这种数据报时,使得受害主机应接不暇,造成拒绝服务,同时也会拥塞受害主机周围的网络带宽。
3.ICMP洪流攻击:
就是通过代理向受害主机发送大量ICMPECHoREQUEST报文。这些报文涌向目标并使其回应报文,两者和起来的流量将使受害者主机网络带宽饱和,造成拒绝服务。
4.发送异常数据报攻击:
发送IP碎片,或超过主机能够处理的数据报使得受害主机崩溃。着名的TeardroD攻击工具就利用了某些系统IP协议栈中有关分片重组的程序漏洞,当数据报在不同的网络中传输时。可能需要根据网络的最大传输单元(MTU),将数据报分割成多个分片。各个网络段都有不同的能够处理的最大数据单元,当主机收到超过网络主机能够处理的网络数据数据报时,就不知道该怎么处理这种数据报,从而引发系统崩溃。
5.对邮件系统的攻击:
向一个邮件地址或邮件服务器发送大量的相同或不同的邮件,使得该地址或者服务器的存储空间塞满而不能提供正常的服务。电子邮件炸弹是最古老的匿名攻击之一,它的原理就是利用旧的SMTP协议不要求对发信人进行身份认证,黑客以受害者的Email地址订阅大量的邮件列表,从而导致受害者的邮箱空间被占满。而且在攻击的发展下,新的SMTP协议增加了2个命令,对发信人进行身份认证,在一定程度上降低了电子邮件炸弹的风险。
6.僵尸网络攻击:
通常是指可以自动地执行预定义的功能、可以被预定义的命令控制、具有一定人工智能的程序。Bot可以通过溢出漏洞攻击、蠕虫邮件、网络共享、口令猜测、P2P软件、IRc文件传递等多种途径进入被害者的主机,被害主机被植入Bot后,就主动和互联网上的一台或多台控制节点(例如IRC服务器)取得联系,进而自动接收黑客通过这些控制节点发送的控制指令,这些被害主机和控制服务器就组成了BotNet(僵尸网络)。黑客可以控制这些“僵尸网络”集中发动对目标主机的拒绝服务攻击。
防范手段:
1、优化代码
尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。
减少复杂框架的调用,减少不必要的数据请求和处理逻辑。
程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。
2、限制手段
对一些负载较高的程序增加前置条件判断,可行的判断方法如下
必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求)
必须具有正确的referer(可有效防止嵌入式代码的攻击)
禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征)
同一session多少秒内只能执行一次
3、完善日志
尽可能完整保留访问日志。