cc攻击与防御

  • A+
所属分类:安全文章

cc攻击与防御

cc攻击与防御

cc攻击与ddos区别

二者的攻击方式主要分为四种:直接攻击、代理攻击、僵尸网络攻击、肉鸡攻击。

1、直接攻击

主要针对有重要缺陷的Web应用程序,一般来说是程序写的有问题的时候才会出现这种情况,比较少见。

 2、代理攻击

代理攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DOS和伪装。

 3、僵尸网络攻击

 有点类似于DDOS攻击,从Web应用程序层面上已经无法防御。

 4、肉鸡攻击

黑客使用CC攻击软件,控制大量肉鸡发动攻击,相比代理攻击更难防御,因为肉鸡可以模拟正常用户访问网站的请求,伪造成合法数据包。


CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,一条ADSL的普通用户足以挂掉一台高性能的Web服务器。由此可见其危害性,称其为"Web杀手"毫不为过。

CC攻击:利用大量代理服务器对目标计算机发起大量连接,导致目标服务器资源枯竭造成拒绝服务。

CC攻击模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).这一点用一个一般的性能测试软件就可以做到大量模拟用户并发。

CC攻击,一般是针对数据库的,CC攻击者常常用某个页面,这个页面很特别,在使用这个页面的时候,会调用大量数据库资源,例如搜索,当用户在进行搜索的时候,搜索数据往往都会经过数据库对所有的数据进行检索,例如一个网站的数据库是500m,当用户在网站上面进行搜索的时候,就会调用整个网站的资源,这时候就需要数据库进行一一的比对,如果说这时候有大量的搜索命令,使得数据库无法处理,往往会导致服务器宕机

CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。

DDOS是主要针对IP的攻击,而CC攻击的主要是网页。CC攻击相对来说,攻击的危害不是毁灭性的,但是持续时间长;而DDOS攻击就是流量攻击,这种攻击的危害性较大,通过向目标服务器发送大量数据包,耗尽其带宽,需要足够的带宽和硬件防火墙才能防御。

cc攻击与防御

CC攻击有哪些特点?

HTTP Flood 俗称CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,前身名为Fatboy攻击,也是一种常见的网站攻击方法。是针对 Web 服务在第七层协议发起的攻击。攻击者相较其他三层和四层,并不需要控制大量的肉鸡,取而代之的是通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理,攻击者通过匿名代理对攻击目标发起HTTP 请求。匿名代理服务器在互联网上广泛存在。因此攻击容易发起而且可以保持长期高强度的持续攻击,同样可以隐藏攻击者来源避免被追查。

1.CC攻击的请求都是模拟真实的有效请求,所以不能被拒绝;

2.用来发起CC攻击的IP都是真实而分散的,所以很难溯源;

3.CC攻击的数据包都是模拟真实用户的正常数据包;

4.CC攻击一般是针对网页攻击,服务器可以连接,ping没问题,但网页无法访问。

 

那如何造成更大的杀伤呢。Web服务与 DNS 服务类似,也存在缓存机制。如果攻击者的大量请求命中了服务器缓存,那么这种攻击的主要作用仅体现在消耗网络带宽资源上,对于计算和 IO 资源的消耗是非常有限的。因此,高效的 HTTP/CC 攻击应不断发出针对不同资源和页面的 HTTP 请求,并尽可能请求无法被缓存的资源(如关键词搜索结果、用户相关资料等),这样才能更好的加重服务器的负担,达到理想的攻击效果。当然 HTTP/CC 攻击也会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的 Java 等业务层逻辑以及更后端的数据库服务,增大它们的压力,HTTP/CC 攻击产生的海量日志数据甚至会对日志存储服务器都带来影响。

 

如果 Web 服务器支持 HTTPS,那么进行 HTTPS 洪水攻击是更为有效的一种攻击方式。原因有二:

其一,在进行 HTTPS 通信时,Web 服务器需要消耗更多的资源用来认证和加解密。

其二,目前一部分防护设备无法对 HTTPS 通信数据流进行处理,会导致攻击流量绕过防护设备,直接对 Web 服务器造成攻击。

 

cc攻击与防御

CC攻击常见类型:

1SYN-CC攻击;这种比较常见,黑客直接使用高并发来请求目标导致目标网站或应用无法提供正常服务。防护无非就是常规的并发限制,一般的硬防都可以过滤这些常规的CC攻击。

2POST流量耗用型;这种是利用目的地址不限制动态请求,恶意提交数据交互导致服务中断,常规的这种带宽耗用都很高,如果不是弹性带宽还真会长时间被耗用完cpu、内存、带宽资源。还有更恐怖让用户看傻眼的是,网站注册短信接口被post恶意请求导致几秒钟消耗完几千元的短信费用,目前在这个攻击中这种受影响的网站占比非常大,曾经有几个朋友都是因为这个事情找我帮他们彻底解决了。

“他们官网短信接口余额2000多在几秒内直接消耗完,开始他们购买了XX云的waf防火墙,最后发现还是屏蔽不完,重新充值的费用又在几分钟内消耗完,最后找到MM安全,通过MM技术人员分析后发现waf过滤只过滤了60%左右的恶意请求,效果一般,即刻就给他上了MM新开发的指纹识别防护就稳定下来了,连续几天恶意请求都非常多直接进黑名单,让黑客再无法消耗接口费用了。”

3、模拟UA以及常规的百度伪装;这种攻击也算常规伪装了,非常多,毕竟国内百度爬虫多。目测只要有网站攻击,就一定会出现伪装百度的CC攻击。

4、浏览器漏洞CC请求攻击;利用浏览器漏洞控制浏览器来发动攻击,请求真实的地址,这种可以说是目前最难防护的攻击,目前没有人能百分百说能搞定这个攻击,不过有这个实力的人非常少,所以目前还不用担心。

5、疯狂代理型超多肉鸡IP请求型;网上好多代理网站,黑客购买这些代理IP来发动恶意的请求。

6、路由盒子劫持攻击;这种攻击也比较难预防,请求也是合法的请求,而且路由盒子量非常庞大,曾经网上遇到有人说能控制几百万路由盒子,那恐怖,我听了都怕。

7、其他变态类;其他综合起来一起来评价,一般都是网上很多版本各式各样的攻击器模拟出来的,世界无限大,什么都有。

当我们发现网站遭到CC攻击的时候不要过度惊慌失措,先查看一下网站服务器是不是被黑了,找出网站存在的黑链,然后做好网站的安全防御,开启IPPING,可以防止被扫描,关闭不需要的端口。通过安全产品等对访问者的URL,频率、行为等多重画像访问特征进行分析,智能识别CC攻击并进行拦截,保障网站正常稳定运行。

 

cc攻击与防御

攻击症状

CC攻击有一定的隐蔽性,那如何确定服务器正在遭受或者曾经遭受CC攻击呢?我们可以通过以下三个方法来确定。

(1).命令行法

一般遭受CC攻击时,Web服务器会出现80端口对外关闭的现象,因为这个端口已经被大量的垃圾数据堵塞了正常的连接被中止了。我们可以通过在命令行下输入命令netstat-an来查看,如果看到类似如下有大量显示雷同的连接记录基本就可以被CC攻击了:

……TCP 192.168.1.3:80192.168.1.6:2205 SYN_RECEIVED 4TCP 192.168.1.3:80192.168.1.6: 2205 SYN_RECEIVED 4TCP 192.168.1.3:80192.168.1.6: 2205 SYN_RECEIVED 4TCP 192.168.1.3:80192.168.1.6: 2205 SYN_RECEIVED 4TCP 192.168.1.3:80192.168.1.6: 2205 SYN_RECEIVED 4……


其中”192.168.1.6″就是被用来代理攻击的主机的IP,”SYN_RECEIVED”是TCP连接状态标志,意思是”正在处于连接的初始同步状态”,表明无法建立握手应答处于等待状态。这就是攻击的特征,一般情况下这样的记录一般都会有很多条,表示来自不同的代理IP的攻击。

(2).批处理法

上述方法需要手工输入命令且如果Web服务器IP连接太多看起来比较费劲,我们可以建立一个批处理文件,通过该脚本代码确定是否存在CC攻击。打开记事本键入如下代码保存为CC.bat

@echoofftime /t>>log.lognetstat -n -p tcp|find “:80”>>Log.lognotepad log.logexit


上面的脚本的含义是筛选出当前所有的到80端口的连接。当我们感觉服务器异常是就可以双击运行该批处理文件,然后在打开的log.log文件中查看所有的连接。如果同一个IP有比较多的到服务器的连接,那就基本可以确定该IP正在对服务器进行CC攻击。

(3).查看系统日志

上面的两种方法有个弊端,只可以查看当前的CC攻击,对于确定Web服务器之前是否遭受CC攻击就无能为力了,此时我们可以通过Web日志来查,因为Web日志忠实地记录了所有IP访问Web资源的情况。通过查看日志我们可以Web服务器之前是否遭受CC攻击,并确定攻击者的IP然后采取进一步的措施。

Web日志一般在C:WINDOWSsystem32LogFilesHTTPERR目录下,该目录下用类似httperr1.log的日志文件,这个文件就是记录Web访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否WebCC攻击了。默认情况下,Web日志记录的项并不是很多,我们可以通过IIS进行设置,让Web日志记录更多的项以便进行安全分析。cc攻击与防御

面对CC攻击的防御策略

1.取消域名绑定

取消域名绑定后Web服务器的CPU能够马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IPCC攻击它是无效的,就算更换域名攻击者发现之后,攻击者也会对新域名实施攻击。

2.更改Web端口

一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,可以修改Web端口达到防CC攻击的目的。

3.IIS屏蔽IP

我们通过命令或在查看日志发现了CC攻击的源IP,就可以在IIS中设置屏蔽该IPWeb站点的访问,从而达到防范IIS攻击的目的。

4.域名欺骗解析

如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让其自作自受。

 cc攻击与防御

CC攻击如何防御?

HTTP/CC 攻击防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。当高级攻击者穿透缓存时,清洗设备会截获 HTTP 请求做特殊处理。因为CC攻击通过工具软件发起,而普通用户通过浏览器访问,这其中就会有某些区别。想办法对这二者作出判断,选择性的屏蔽来自机器的流量即可。

 

1.使用Session 来执行访问计数器:

使用Session为每个IP创建页面访问计数器或文件下载计数器,防止用户频繁刷新页面,导致频繁读取数据库或频繁下载文件以生成大量流量。(文件下载不应直接使用下载地址,以便在服务器代码中过滤CC攻击)

2.限制手段

对一些负载较高的程序增加前置条件判断,可行的判断方法如下:必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求);必须具有正确的referer(可有效防止嵌入式代码的攻击);禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征);同一session多少秒内只能执行一次。

3.将网站生成静态页面:

大量事实证明,尽可能使网站静态不仅可以大大提高防攻击能力,还会给黑客入侵带来很多麻烦。例如新浪,搜狐,网易等门户网站主要是静态页面。如果您不需要动态脚本,则可以将其发送到另一台单独的主机,以便在受到攻击时避开主服务器。

4.增强操作系统的TCP/IP

作为服务器操作系统,Win2000Win2003具有一定的抵御DDOS攻击的能力。一般默认情况下没有启用。如果启用它们,它们可以承受大约10,000SYN攻击数据包,具体如何操作可以去微软官方看一下操作方法。

5.部署高防CDN防御

防御CC攻击最简单便捷的方法就是通过接入墨者高防CDN来隐藏服务器源IP,高防CDN可以自动识别恶意攻击流量,对这些虚假流量进行智能清洗,将正常访客流量回源到源服务器IP上,保障源服务器的正常稳定运行。

6.优化代码

尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。减少复杂框架的调用,减少不必要的数据请求和处理逻辑。程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。

7.完善日志

尽可能完整保留访问日志。日志分析程序,能够尽快判断出异常访问,比如单一ip密集访问;比如特定url同比请求激增。

 

面对来势汹汹的CC攻击,其实最好的方式还是选择第三方的云安全厂商(就像我们)来解决问题。

cc攻击与防御






CC攻击分析

以下分析来源于大佬文章:

https://www.williamlong.info/archives/3181.html

通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。

一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。

cc攻击与防御

从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。

不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被CC攻击,因为这个网站卫士并不能过滤掉CC攻击,攻击的IP经过其加速后,更换成为这个网站卫士的IP,在网站服务器端显示的IP都是相同的,导致服务器端无法过滤这些IP

实际上,不使用网站卫士类的服务,直接通过分析网站日志,还是很容易分辨出哪个IPCC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需要批量将这些IP屏蔽,即可达到防范CC攻击的目的。

最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。

 






链接:

https://www.williamlong.info/archives/3181.html

https://blog.csdn.net/qq_34777600/article/details/81978262

https://www.zhihu.com/question/19742963

https://baijiahao.baidu.com/s?id=1635934231674930881&wfr=spider&for=pc

https://www.jianshu.com/p/cdd508d79a28

https://www.cnblogs.com/wjoyxt/p/8529418.html


cc攻击与防御


本文始发于微信公众号(LemonSec):cc攻击与防御

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: