CC攻击原理与防御 -wangfan_第1页
CC攻击原理与防御 -wangfan_第2页
CC攻击原理与防御 -wangfan_第3页
CC攻击原理与防御 -wangfan_第4页
CC攻击原理与防御 -wangfan_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CC攻击原理与防御

安全网关王番

2011.08

内容CC攻击的起源与危害CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类

历史起源

CC=ChallengeCollapsar,其前身名为Fatboy攻击,Collapsar(黑洞)是绿盟科技的一款抗DDOS产品品牌,在对抗拒绝服务攻击的领域内具有比较高的影响力和口碑。因此,此攻击更名为ChallengeCollapsar,表示要向黑洞发起挑战。CC攻击可以归为DDoS攻击的一种。

那么,DDOS攻击又分哪些类型呢?DDOS攻击类型流量型攻击

使用大量的包含伪造信息的数据包,耗尽服务器资源,使其拒绝服务

常见:SYNFlood,ACKFlood,UDPFlood,ICMPFlood,FragmentFlood,等等连接型攻击

使用大量的傀儡机,频繁的连接服务器,形成虚假的客户请求,耗尽服务器资源,使其拒绝服务

常见:CC攻击,HTTPGetFlood,ConnectionFlood,传奇假人攻击等

DDOS攻击的危害由于整个过程是自动化的,攻击者能够在5秒钟内入侵一台主机并安装攻击工具。也就是说,在短短的一小时内可以入侵数千台主机DDoS可使某一台主机可能要遭受1000MB/S数据量的猛烈攻击,这一数据量相当于1.04亿人同时拨打某公司的一部电话号码历史上很多知名企业遭受过DDOS攻击内容CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类CC攻击的起源与危害CC攻击的简介一个好的DDOS攻击必须符合两个基本条件:(1)通过自己极少的资源消耗带来对方较大的资源消耗;(2)能够很好的隐藏真实的攻击发起者。CC攻击就是这样一种能够以小搏大的DDOS攻击。CC攻击比DDOS攻击更可怕的就是,CC攻击一般是硬防很难防止住的。为什么呢?一、因为CC攻击来的IP都是真实的,分散的;二、CC攻击的数据包都是正常的数据包;三、CC攻击的请求,全都是有效的请求。内容CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类CC攻击的起源与危害CC攻击的原理

CC攻击是一种以网站页面为主要攻击目标的应用层DDoS攻击.其原理基于著名的木桶理论,即一桶水的最大容量不是由它最高的地方决定的,而是由它最低的地方决定的。CC攻击就是采用这一原理,在发起攻击时选择服务器开放的页面中需要较多资源开销的应用,例如需要占用服务器大量的CPU资源进行运算的页面或者需要大量访问数据库的应用。CC攻击的目标通常定位于网站中需要进行动态生成和数据库访问的页面,例如以.asp、.jsp、.php、.cgi、.dll等结尾的页面资源。消耗大量CPU性能的应用,往往是最容易成为攻击的目标

CC攻击过程CC攻击的过程:模拟大量客户端访问的TCP连接主机服务器开放的端口,大多为通过代理或肉鸡进行攻击。攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要消耗大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。攻击效果分为两种:低速刷脚本攻击:通过模拟合法用户访问调用查询数据,造成数据库进程占

用CPU高甚至100%,而使得WEB服务器无法获得进程/shownews.asp?id=186查询语句:Select*fromnewswhereid=186快速TCP洪水攻击:每秒内新发起的TCP超过200个,IIS或APACHE承受不

了而停止服务,进程占用CPU很高甚至100%。内容CC攻击的起源与危害CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类CC攻击又可分为:代理CC攻击。僵尸集群CC。变种CC。

CC攻击的分类代理CC攻击代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DOS,和伪装就叫:cc(ChallengeCollapsar)。僵尸CC攻击僵尸CC攻击,俗称肉鸡攻击,它是黑客使用CC攻击软件,控制大量肉鸡,发动攻击。相比来后者比前者更难防御。因为肉鸡可以模拟正常用户访问网站的请求。伪造成合法数据包变种CC攻击变种CC攻击,它是黑客使用CC攻击软件,模拟正常用户发动攻击。访问网站的请求。伪造成合法数据包。与典型的分布式拒绝服务攻击不同,攻击者不需要去寻找大量的傀儡机,代理服务器充当了这个角色。变种CC攻击其基本原理是:攻击发起主机(attackerhost)多次通过网络中的HTTP代理服务器(HTTPproxy)向目标主机(targethost)上开销比较大的CGI页面发起HTTP请求造成目标主机拒绝服务(DenialofService)。这是一种很聪明的分布式拒绝服务攻击(DistributedDenialofService)变种CC攻击(cont)特点:大量的HTTP请求,使得服务器CPU过载,数据库阻塞,外出带宽占用大攻击机制:由攻击器直接生成HTTP请求高攻击负载:连接频率高,带宽占用大易于防护:攻击器无法解析WEB脚本由攻击器调用浏览器形成HTTP请求需要调用浏览器,攻击频率相对较低难于防护:完整的客户端请求内容CC攻击的起源与危害CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类CC攻击的特征(一)IIS或Apache进程占用CPU超高甚至到100%数据库进程占用CPU超高甚至到100%轻度攻击下Ping可通,也可以远程登录,重度情况下会Ping丢包甚至不通,远程登录困难或无法登录,但停止掉Web服务则恢复正常。攻击现象:

服务器的流量瞬间可达到几十M以上,网站打不开。重启iis会发现流量马上就降下来。查看IIS日志会发现非常多不同的IP都反复访问一个相同的文件。查看C:\WINDOWS\system32\LogFiles\HTTPERR会发现非常多出错的IIS日志,如下: 2007-08-2206:05:2806619056

80

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

2007-08-2206:05:2893916680

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

2007-08-2206:05:288340596

80

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

2007-08-2206:05:283117916

80

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

2007-08-2206:05:28230306

80

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

2007-08-2206:05:283212246

80

HTTP/1.1GET/list.asp?ProdId=096150330ConnLimitpool21

能看出非常多不同的IP都在访问list.asp这个文件。以上现象就是CC攻击的特征。

CC攻击的特征(二)内容CC攻击的起源与危害CC攻击的简介CC攻击的特征CC攻击原理如何防御CC攻击CC攻击的分类绿盟方案解决方案:1.采用IP+cookie的认证2.利用session,拥有方法1的优点,可以防止刷新(利用刷新符号)3.通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理攻击机器的真实IP,这招完全可以找到发动攻击的人,不是所有的代理服务器都发送.4.需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去H3C专利申请专利号

200710090294.1本发明公开了一种防范CC攻击的方法,包括以下步骤:安全设备接收到向被保护设备发送的请求报文时,向请求报文的发送方设备发送重定向报文;安全设备接收发送方设备根据重定向报文发送的响应报文,并根据响应报文确定请求报文是否为攻击报文。专利号:200710177720本发明提供了一种CC攻击防范方法,该方法包括:计算目标主机发出的响应报文数与目标主机收到的请求报文数间的比值;根据计算得到的比值与预先设定的比值阈值之间的大小关系确定目标主机是否受到CC攻击。方案一(1)基于访问Session数变化的建立统计学模型检测方法

由于一个网站在正常情况下(没有受到CC攻击时)通常都有一个比较固定的访问流量.这个访问流量对应到网络层面的参数就是TCP协议的访问连接Session数。正常情况下这个Session数是一个根据时间变化的周期性曲线.在发生CC攻击时即使访问网站的数据流量变化不大,访问的Session总数也将会大量增加.利用这个可以检测CC攻击行为。这种检测方法在实际应用中需要预先对网站的访问Session数进行统计学习,生成Session数与时间的关系曲线,这一过程通常是将访问网站的数据引流到DPI检测设备,利用DPI设备对数据流进行逐包分析,统计出每一时间段访问网站的Session总数来完成的。当建立这一曲线后,可以根据曲线的基本形状确定几个时间段,在这些时问段内可以设定一个Session数的阀值(这个阀值可以设为这段时间内正常情况Session数最大值的1.5倍),当DPI设备实际测得的Session数大于这个值时,就可以认为发生了CC攻击。为了提高这一方法的准确性,还可以将Session参数与网站内具体的页面对应起来,得出某个页面的访问Session数与时间的关系曲线,这样得出的模型就可以用来精确地判定网站内的哪个页面受到攻击。同时,由于与模型相关的页面对象只有一个,因此可以排除其他页面被访问次数的波动带来的影响,提高判断的准确率.(2)基于访问数据库查询或需要复杂计算的检测方法某IP使用某SQL语句数量或者经过复杂计算需要动态生成的访问频繁操作,暂时锁定一段时间甚至防火墙会拒绝该IP的访问。

方案二Web页面及数据库防御优化WEB应用代码,如:增加ip+cookie认证进行合法性检查(后面重点介绍)当在一定时间内某IP使用某SQL语句数量超过某一阀值或者经过复杂计算需要动态生成的访问频繁操作超过某一阈值时,需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去。这样不影响正常用户使用。另外,重要涉密的数据库可以考虑认证机制。需要用户名和密码认证通过才可访问。这类数据库攻击者很难实施攻击。对HTTP应用解码,通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理进行攻击机器的真实IP,

发现有明显攻击行为的含代理标志的请求包,那么就直接丢弃数据包或将页面转向至静态页面。(对于代理标志,并不是所有的代理服务器都会将客户端的真实IP地址以变量方式发送给WEB服务器,否则代理就不会分什么普通代理,高匿代理了)

只能识别含有代理标志的攻击机器。但是有很多代理都发送这个参数.不带有此代理标志的合法的代理用户和使用代理的攻击者,用该方法无法区分

ifRequest.ServerVariables("HTTP_X_FORWARDED_FOR")=""then

response.write”无代理访问”

response.end

endif

利用session,

可以防止页面刷新(利用刷新符号)针对CC攻击非HTTP端口的时候可以通过过滤HTTP请求特有的“GET”特征进行过滤。方案二(cont)TCP连接防御对于大量的连接,cavium硬件本身支持端口的RED算法,可以减轻攻击压力。限制同一来源IP的并发联接数和联接频率,可以在一定范围内减轻攻击压力,但不可能完全阻止。在5秒内未向本程序发送任何数据包的连接均被视为空连接攻击TCP带宽限制,利用滑动窗口调整TCP传输转发设备采用负载均衡机制分散攻击压力。Cookie认证防御原理:CC有效性在于攻击方不接受服务器回应的数据,发送完请求后就主动断开连接,因此要确认连接是否是CC,服务器端不立即执行URL请求命令,而是简单的返回一个页面转向的回应

,回应中包含新的URL请求地址,如果是正常访问,客户端会主动再次连接到转向页面,对用户来说是透明的;而对于CC攻击者,由于不接收回应数据,因此就不会重新连接,服务器也就不需要进行查询操作。

防御CC攻击:具体实现的关键在于转向的URL如何构造,比较实用是增加CCcookie,即在原URL请求的最后面添加一个独一无二的cookie,文本形式,作为URL的一部分;当包含该cookie的URL重新返回时,先检查该cookie是否合法,如果合法,则说明该URL是合法的再次连接,将URL中的cookie部分抹去,恢复为原始的URL请求再发给服务器进行正常访问;否则拒绝该URL。正常的用户怎么处理呢?也访问一个URL重定向吗?不需要,正常用户访问数据库不会像攻击者不停地访问。统计出一定时间内访问的频度来识别CC攻击行为。但是设定这个频率阈值很关键。cookie值的选择:要对每个URL请求都不同,即使URL是相同的,也不同。有两种方式,

第一种是根据所请求的URL

和客户端的信息(如五元组)和一些随机信息

(当前时间等随机数)计算出一

个cookie值,检验时按相同的方式计算cookie是否符合;

第二种是直接随机生成cookie,然后将cookie保存到一个库中,检验时就是检查客户端提交的cookie是

否在库中。

结论:无论哪种方法,cookie的选择必须足够随机,不能被猜出计算规律或猜出当前cookie库中有哪些

cookie

;第二种需要库一一进行比对会产生效率问题。除非一次映射就可以知道是否存在。

第一种,与客户信息相关联,增加唯一性的几率,减少冲突。CookieDOS

:这个标志格式

应该经常变换;以防止CookieDOS攻击.cookie的有效时间:cookie只在一定时间内有效,超时将删除,时间选择必须合适,不要太长或太短;

提高效率方法:应该可以指定只对某些类型的URL进行cookie处理,如

cgi、php、asp、jsp的请求,而普通静态文本或图片、媒体等URL不用进行cookie处理。方案选择:方案一:优点:这个检测方法适合应用比较固定的网站,比如网上银行、普通购物网站等,这

些网站经过一个时期的运作一般访问流量比较同定或增长缓慢,很少有突发的

大流量访问使Session数大幅增加.采用此方法可以对CC攻击进行有效的检测。缺点:此检测方法对于新闻、门户等可能存在热点访问的网站存在误判的可能性.

例如某些热点页面发生访问流量突增、Session连接大量增加时会有误判的情况另外,对于数据库等复杂计算的应用,暂时锁定或拒绝某一IP的访问,会影响正常用户的访问。

方案二:优点:

cookie认证的使用,是建立于识别出CC攻击行为的防御策略,对于正常用户不影响。cookie的选择足够随机。cookie标志也要经常变换以防止DOS; cookie只在一定时间内有效,超时将删除。cookie超时时间选择必须合适,不要太长或太短;

另外:对于数据库等复杂计算的应用,可以结合数据库访问的统计结果。识别出属于攻击行为,先让对方必须先访问URL重定向地址,用户通过认证后,再允许查询数据库,可以有效地降低对数据库等应用的频繁访问。缺点:

对于一定时间内,访问频率超过某一阈值,认为是CC攻击,是否容易产生误判?这个阈值的设定很关键。

结论:经过对比,方案二比较好。WAG产品实现总体思路:识别出属于CC攻击行为,网关设备(或服务端)发送需要URL重定向的回应包(其中http状态码为307),客户端需要进行httpcookie认证和URLcookie认证,两者认证同时满足才认为是合法的正常用户请求httpcookie,指的是http头中cookie字段,可以通过php脚本生成,php调用set_cookie函数设置cookie值,这个值会在http协议头中。下次客户端请求访问,必须携带指定的cookie值,方可通过校验。也就是怀疑属于CC攻击行为,会强制用户必须携带httpcookie。一些门户网站也都是这么做的,如卓越亚马逊,如果禁止cookie,用户连登陆都上不去了。Cookie:brmidyrvj=00000008de243bf397d8d88c8e;该值由md5加密得到URLcookie,在WAG也叫URLtoken,

也就是他们自己命名为URL

cookie,本身协议标准应该是没有这个概念的,但是httpcookie是标准里面有的。举例说明

假如用户在浏览器上输入:.uk/~sgtatham/putty/download.html,多次请求该页面,怀疑属于CC攻击行为 WAG会重定向新的URL:.uk/~sgtatham/putty/download.html?wagsessionid=123456

加上了自己的参数,要求用户再次连接请求时,必须携带wagsessionid=123456字段,经过解析不含有或不匹配的,不能通过验证。

实现方式

透明重定向,也就是返回的http状态码为307,要求必须携带cookie信息,wagsessionid=123456

,当然123456是随便举例说明,真正是一个加密组合的值。通过验证后,用户将会进入到要访问的页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论