DDoS攻击势头愈演愈烈,除了攻击手法的多样化发展之外,udp攻击是相对比如好防御,这是四层流量攻击。最麻烦的攻击手段是cc攻击。下面我祥细讲讲CC攻击之后有什么表现,如何防御,有Cc有什么攻击类型。
案例:视频直播用户,被黑客Cc攻击勒索金钱!
早些年,最早做视频直播的是在韩国,他们在中国周边,也就是延边那些地区招了一些会说韩语的女孩子陪韩国大叔聊天,韩国大叔就会给礼品。一天收入好几个亿韩币,后来知道的人多了,竞争就大了。韩国那边就要上搜索引擎打广告(类似百度竞价),只要排名第一位,就被人攻击,主要手段是Cc攻击。
这是我们用的第一款Cc攻击工具,当时就是神器呀,100个线程,1000个代理服务器,直接打刷死。
现在我们知道,有攻击就防护。兵来将挡水来土掩,可不知道韩国金主怎么想的,也许是韩国那边社团文化比较深入人心,很多站长会交赎金的。比如现在搜索引擎上面有三个网站,第一个网站主被Cc攻击瘫痪之后,就会接到中国黑客电话,网站想正常吗?给钱吧,1千万你网站就可以打开了(1千万韩币)因为网站主一天赚上亿,怕麻烦就给钱了。结果呢?
结果就搞笑了,给完赎金,网站还打不开,过了20分钟又接到另一拨黑客打电话,给钱,不给赎金你网站就打开。接着给。刚给完,又接到第三拨黑客打电话,前面都是假的,都是骗子,你网站是我攻击的。
Cc攻击是什么?
CC = Challenge Collapsar,意为“挑战黑洞”,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致使形成拒绝服务的目的。业界之所以把这种攻击称为CC(Challenge Collapsar),是因为在DDOS攻击发展前期,绝大部分的DDOS攻击都能被业界知名的“黑洞”(Collapsar)抵挡住,而CC攻击的产生就是为了挑战“黑洞”,故而称之为Challenge Collapsar。攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
怎么判断自己是在被CC攻击
CC攻击主要工作原理是耗资源,这就需要看是那种攻击方式,
看抓包分析是否是通过多IP,刷新页面,如果是这是最典型的Cc攻击。
如果cc攻击你网站打不开,指定会有一种资源耗尽,才会引发网站打不开,打开卡。
可自行判断一下,是下列四种情况中的那一种。
1,耗Cpu资源
黑客用1万台肉鸡,刷新你网站动态页面,如果你程序不够健壮,cpu直接100%
2,耗内存资源
黑客只要刷新你动态页面中搜索数据库的内容,只要搜索量一大,内存占满。网站直接打不开或者是非常卡。
3,耗I/o资源
黑客找到上传文件,或者是下载文件的页面,在不停的上传与下载,磁盘资源点满
4,耗带宽资源
下面这个带宽接10G,攻击上来2G,能看流量占用多少,如果流量占满了,服务器直接掉包,掉线。网站一点都打不开。
如果自己主机上不去,你可以问运营商要流量图,机房都有流量图的。
CC攻击目标分类
跟据我这十年的统计,在2006年之前主要是网站会被Cc攻击,2008年之后,cc攻击大概分为几类目标,
60%是网站,http,https,p2p网站,博彩网站,
35%是游戏,SF,假人攻击
5%,其它类型 Tcp CC攻击。
CC攻击工具都有什么?
1. 超强CC攻击器:只要输入攻击目标服务器的IP地址,设置好相关参数即可进行攻击。可设置攻击线程、攻击频率,利用大量代理服务器形成僵尸网络(设置代理服务器ip列表)。CC攻击工具致命攻击V2.0有大量的代理服务器。暗影DDoS压力测试系统V2016。
2. DDoSIM:可用于模拟对目标服务器的DDoS攻击,能模拟几个僵尸主机(IP地址具有随机性),这些主机与目标服务器建立完整的TCP连接。连接完成后,DDoSim启动与侦听应用程序如HTTP服务器的会话(?模拟正常用户访问的url???---仅仅是针对80端口发起正常的http请求,url就是/,多线程支持)。
3. Darkddoser:通过僵尸网络发起http攻击。
4. 使用Microsoft Web Application Stress工具模拟HTTP-DDoS 攻击,采用直接访问测试页面的方式发起攻击。三台攻击机,每台攻击机最高并发1000线程(基于频率可检测、实验设置低频。。。自写的工具),迫使服务器执行大量计算和数据库查询,每次攻击时间为5分钟。
5. Web Apple Pid DDoS攻击器:可设置目标服务器的页面(静态/动态)(单一、多个,自写的工具)、攻击频率等。
6. LOIC:是Web应用程序的Dos/DDos攻击,它可用TCP数据包、UDP数据包、HTTP请求对目标网站进行Dos/DDos测试,攻击手段主要是以无限循环方式(无僵尸网络、单一url)发送数据。是一种淹没式工具,能产生大量流量,占满目标网络或应用资源,造成拒绝服务。
7. XOIC:仅支持win7以上的Windows平台,比LOIC增加了Testmode模式,可以测试攻击主机的性能。
8. HOIC:可以配置攻击脚本,实际靠大量的HTTP请求进行DoS。其具有如下特点:高速多线程的HTTP洪水攻击;一次可同时洪水攻击高达256个网站;内置脚本系统,允许自行修改设置脚本,用来阻挠DDoS攻击的防御措施,并增加DOS输出;能够选择攻击的线程数。
9. HULK:针对Web的拒绝服务攻击工具。能够在web服务器上产生许多单一的伪造浏览,伪造常见的参数名称和参数值,绕开引擎的缓存池(单一url、GOMAXPROCS=4 HULKMAXPROCS=4096 hulk -site http://example.com/example.php 2>/tmp/errlog)。
10. WAS(web application stress tool)是微软的一款性能测试工具,可以通过有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs。每一个虚拟用户都能精确地仿效真实用户并在真实浏览器和网站服务器之间进行交互(https://www.90.vc/archives/11,压测工具,录制脚本,可以多个url,多线程)。
11. Hping是一个基于命令行,编码和解析的TCP/IP协议的开源工具。也可以用于发动DDOS攻击,常用于发动ICMP、SYN和UDP洪水攻击等(pass,无应用层ddos)。
12. 利用Httperf模拟针对Web服务器的DDoS攻击:通过设置hostname/IP address、url、请求速率、连接总数和服务器的反馈时间来模拟不同强度的分布式拒绝服务攻击。过程中需控制多台僵尸主机(httperf --client=0/1 --server=[YOUR_DOMAIN] --port=443 --uri=/a.php --rate=100 --send-buffer=4096 --recv-buffer=16384 --ssl --num-conns=50 --num-calls=1000,单一url、不排除同时多个url并发)。
采用Httperf与Autobench相结合的方式来模拟应用层DDoS攻击,访问的服务器对象为某一校园网站。首先,直接通过抓包工具libpcap捕获正常用户的访问行为及数据包情况(性能测试工具)。其次是模拟应用层DDoS攻击行为。然后,分别对一定时间段内正常访问IP及攻击用户IP的数据包进行分析处理,提取相应的指标,并对指标数据进行预处理(autobench 是一款基于httperf的Perl脚本。它会在一次测试中调用多次httperf来对web服务器进行测试,每次会按照给定的参数增加并发连接数,将 httperf的测试结果保存为CSV格式的文件)。
13. SlowHTTPTest:可配置的应用层拒绝服务攻击测试攻击。可以模拟低带宽耗费下的DoS攻击,如慢速攻击、通过并发连接池进行的慢速读攻击等(SlowHTTPTest是一款对服务器进行慢攻击的测试软件,所谓的慢攻击就是相对于cc或者DDoS的快而言的,并不是只有量大速度快才能把服务器搞挂,使用慢攻击有时候也能到达同一效果。slowhttptest包含了之前几种慢攻击的攻击方式,包括slowloris, Slow HTTP POST, Slow Read attack等。那么这些慢攻击工具的原理就是想办法让服务器等待,当服务器在保持连接等待时,自然就消耗了资源。Slowhttptest的源码托管在Github:https://github.com/shekyan/slowhttptest, pass)。
14. Slowloris:属于Perl程序,只需在对应的SDK中运行即可。其攻击分为探测、实施两个步骤。探测的主要目的是探测目标服务器连接超时时间。实施攻击时可用单台主机也可选择数台主机并发攻击,选择多台主机产生的攻击效果更大(攻击192.168.0.1路由器网关。slowloris.py -s 999 -ua 192.168.0.1 –s 999 发送999个socket包。-ua 使用随机User Agent。pass)。
15. 通过Music Machines-HTTP真实数据集搭建模拟真实网站,使用BadBoy录制攻击脚本,使用Apache Jmeter模拟傀儡主机进行模拟攻击行为。Apache Jmeter用于测试服务器功能和测量服务器性能。可用于测试静态和动态Web程序的性能。可用于模拟服务器或服务器组、网络对象的重负载请求,从而测试其强度,并分析在不同负载类型下测试对象的整体性能。(http://www.cnblogs.com/TankXiao/p/4045439.html,压测工具,可以设置多个url,多线程)
给你发怎么多工具,不让你攻击别人,自己网站上线的时候,自己先个压力测试,别上线1000人就直接拒绝服务,这样的系统,回去接着改。否则找神仙来也防护不了你的网站。
黑客是怎么发起CC攻击的
黑客攻击一般不会简单的刷新首页,而是会找你最薄弱的环节进行攻击,换句话说黑客会找到网站最占资源的页面进行分析。这是需要一定的分析能力的,一个网站一般什么地方最占资源呢?
需要分析网站使用的脚本语言,asp,asp.net,php,jsp 常用的脚本语言,找到带参数的地方,进行测试。
例 hmw.asp?id=xxx
一般带参数都是要查询数据库,
select * from Artilce where id="id"
而且如何使用cdn加速,也需要回源查询.一般的参数都不是最占资源的,黑客如果想刷新的源服务器,一般都是找搜索的地方,
Get
http://bbs.77169.com/searcher.php?kay=“搜索内容”
如果是Get搜索,是黑客Cc攻击的重要页面
Post
http://bbs.77169.com/searcher.php
有些搜索是post提交,黑客也会选择。
原理很简单
Artilce表,有1亿条数据,
一条查询语句,如果查询成功还好,如果查询失败黑客给了一个不存在的值,他需要查询完1亿条数据,查完全部数据库,
只需要提交100条,一般服务器就直接数据库卡死了。
select * from Artilce where content like '%key%'
下面黑客一般会怎么构造刷新的语句
程序可以自动生成随机字符,+表示随机字符标志+{N|U|L|C}+x N表示数字,U表示大写字母,L表示小写字母,C表示一个汉字,x是长度,规定为1-9。例子A+N1+U2+L3+C1BCD将可能生成A3BBcde%BA%CEBCD这样一个随机串攻击列表里面的添加规则{G|P}http://target.com:port/page.asp?id=+N3&name=+C3G表示Get模式 P表示POST模式,软件能够自己分辨出参数和HOST选项等等。
比如Phttp://www.77169.com/abc.php?id=3
软件将用POST模式提交id=3到www.77169.com上面去
攻击列表里面可以同时添加几个不同的服务器的URL,软件能够自动分别对待。
实例操作是这样的
分析有搜索页面
http://www.test.com/searcher.php?kay=+N3&name=+C3G
注意要选择随机攻击,随机字符。
我们在被压力测试的目标主机抓包
下面是日志分析生成的html页面,
GET /searcher.php?kay=155&name=%C8%B1%F0%E2%E7%A0G
GET /searcher.php?kay=155&name=%C8%B1%F0%E2%E7%A0G
你看到多表,都是kay=3位随机数字&name=随机字符 。
当代理主机ip主够多,刷新量最够大。黑客就达到了CC攻击的目的。
CC攻击如何解决,如何防御?
Cc攻击本质上是个什么问题?
访问量超过现有资源使用率。
比如你有一台服务器,每天正常有1万人访问,最大能支持每秒1000人同时访问。如果现在有每秒10万人访问,你服务器就会拒绝服务。
超过你正常的访问量就一定是攻击吗?
在国外idc,看来这个不是攻击。原因在于,有可能是正常访问。你还是一台服务器,今天将百度正常流量转到你的域名上,这些可能都正常用户,也没有用软件攻击,你服务器一样会拒绝服务。对吗?因为流量太大了。
大家知道微博吧,没有人攻击他,微博也拒绝服务好几次,白话就是微博挂了。
原因:赵丽颖冯绍峰亲自官宣结婚,一时间引爆微博,服务器迅速瘫痪。似乎印证了那一句,“发布结婚或者大八卦等消息的时候,能不能把微博服务器搞到崩溃,是检验明星咖位大小的重要标准之一!
微博,没有人攻击,只要突然流量大了,也会拒绝服务。
淘宝双11流量足够大吧?有一次他在春节联欢晚会上做了一个广告,
结果呢?淘宝服务器挂了,原因,淘宝技术想法,我们先给资源能支持双11流量的3倍,结果是双11的10倍流量,淘宝也挂了。
应对Cc攻击,理论只需要你的服务器数量与资源可以支持百万ip,每秒访问,服务就会正常。
比如,你的服务器同时支持1万人在线,现在同时来10万人,你加20台服务器,一台平均分配到5000人在线,这不就解决问题了吗?那怕有9万是黑客ip.你也可以正常访问。
所以不差钱,只需要加服务器加资源就可以。国外idc按流量收费,你Cc攻击大,正好收流量费,国外idc大部分不管你的。我就在美国刷爆过一张卡,买的美国丹佛机房的服务器,1T流量好像200美金,美国都是用信用卡流量超了自动扣费,有一天被人Cc攻击,5000美金被机房扣下来了,原因是流量跑超了。但是大部分客户都是投入与产出比的。每秒上千万Cc攻击的话,一天可能投入上百万。
CC攻击防护策略,主要跟据攻击量而不同。
Cc攻击量<10万/每秒
Cc攻击如果10万ip,每秒10万左右连接,软件防火墙就可以解决。只需要软件策略就可以,软件比如,安全狗,云锁,这些软件不收钱。
Cc攻击量>10万 and Cc攻击量<100万
Cc攻击如果在10~100万之间,软件防火墙解决不了,需要用到硬件防火墙。硬件,金盾,黑洞。如果有钱就买一个防火墙一般20~50万左右。一般这个攻击量,找idc机房或者是用cdn可以解决。
Cc攻击量>100万 and Cc攻击量<1000万
Cc攻击如果在100~10000万之间,1台硬件防火墙解决不问题的。需要用到集群硬防。这个买一两个硬件是解决不了问题的,需要接入CDN或者是集群防护。
CC攻击量上亿,每秒。
市面上能买到软件与硬件都不好用,必须找人定制策略,定制防护方案。上亿的你可以考虑我们华安普特公司的3.0 全栈云化,立体式云防护。你可能要笑了,这广告打的。我们提供免费试用测试,防住之后再谈费用。防不住可以给你赔钱,不要不服可以来测试。
接着我那个直播客户,怎么防住的。要防Cc先了解客户现在业务情况,没有一个防护方案是通用的,也没有一个硬件防火墙说不用调策略,直接适用所有类型的客户。
客户这个分为网站,还有直播客户端两个流量来源。
你看这个客户现在CDN节点,攻击流量每秒一个节点过百万,大概300万连接每秒。我们CDN云防节,一个节点100万并发左右。
有攻击的节点,开启Cc防护识别,立马就下来,
用anycast技术,进行分流。将超过100万每秒的流量进行分流,每个节点50万秒每秒,再用启用硬防策略。
客户端接入我们sdk云防护,自动认别黑客的客户端,不给客户那边返回任何ip,不光防住了攻击。黑客手机mi码,手机号,ip都记下来下。下一步交给警方去处理,过几个月结果我再报告各位。
BGP anycast 技术简介:
利用一个(多个) as号码在不同的地区广播相同的一个ip段。
利用bgp的寻路原则,短的as path 会选成最优路径(bgp寻路原则之n),从而优化了访问速度。
其实bgp anycast是不同服务器用了相同的ip地址。我公司已经在俄罗斯,美国,韩国,香港,四个地区机房实现了anycast技术。
sdk云防护技术简介:
可以无限防Cc,不会误封ip,可以免费试用
特点:
无需修改源码集成,百万QPS级CC防护能力,分布式节点、弹性增减,多线路接入,TCP、HTTP/S层防护,实时阻断,低时延
CC防御工具
一般每秒1万个Cc连接之内,可以用到工具
windows系统:
云锁,安全狗,Cc终结者
linux系统:
云锁,安全狗,
iptables防火墙定制策略
(1)控制单个IP的最大并发连接数
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT
#允许单个IP的最大连接数为 30
#默认iptables模块不包含connlimit,需要自己单独编译加载,编译内核加载connlimit模块
(2)控制单个IP在一定的时间(比如60秒)内允许新建立的连接数
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT
#单个IP在60秒内只允许最多新建30个连接
网站防护,你可以考虑用CDN,免费CDN
http://www.aqcdn.net
https://www.cloudflare.com/
CloudFlare算是比较大的国外免费CDN服务平台,提供免费和付费服务,一般我们使用主机的朋友都有清楚,甚至和CPANEL主机面板绑定可以给我们网站提速。如果是英文网站我们可以考虑使用,还具备防护攻击的作用,之前老左在linode的网站就被人无聊攻击,然后用CloudFlare就稍微好一些抵挡住。
Incapsula是一家新加坡的CDN服务商,我们使用他的原因就是能够提供有新加坡节点的服务,英文网站使用肯定是没有问题,而且如果需要用到中文网站,新加坡节点速度对于国内的访问还是比较快的。去年老左有使用过,这家产品有时候一个月要维护好几次,不知道现在是否还这样。
TinyCDN是依靠亚马逊网络提供的CDN服务,主要还是收费用户免费的只能提供30天的试用,如果不怕折腾每月换一次的还是可以试试的。因为他们是主做付费的,所以免费用户我认为速度应该给予的不错,毕竟想忽悠我们升级付费嘛。
CC攻击防御成功之后
这不是给韩国几个哥们解决问题了吗?黑客群直接炸锅了,有些都直接上北京来问,谁能攻击这个网站呀,给钱呀,什么的。请教攻击方法的。我看到之后没干说是我给防御的。断了一些人财路,一直低调也没敢说。当年我们跟傲盾防火墙合作做的防御中心,
这些朝鲜族人是真牛,直接给韩国的国际互联网打挂掉,中国防护好有什么用,韩国都连接不到中国的网络。怎么大的一个秘密,不是过去好多年,我都不敢说呀,这是我亲眼见到的,这边开始攻击,那个韩国互联网直接全断了,现在时间长了,互联网搜索不到韩国互联网断线的新闻了。有些做安全行业时间比较长的,应当会有印像。
后来,因为黑客打不动中国自己防护,给韩国出口节点占满了,没办法只能给中国防护机器搬到韩国去做防护,现在韩国自己也有高防,但很坑,最多18G防护,多了没,韩国那边只要有攻击,上层运营商直接屏蔽ip.2019年1月1号之前,说有20G之上防护的韩国主机,都是吹牛皮的,别上当。因为那些防护就是我们中国人去做的。
如果只有CC攻击,7层协议攻击防护不难,难度在于不影响正常客户。现在不可能只有一种攻击,黑客上来就是一套绷组合拳,ddos流量4层攻击,加Cc攻击,加syn变形攻击。攻防两端都在对抗中成长。有攻就有防,有防就会更新的攻击办法。
早期防护主要原理是
早期的方法是对源 IP 的 HTTP 请求频率设定阈值,高于既定阈值的 IP 地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是基于 JavaScript 跳转的人机识别方案。
HTTP Flood 是由程序模拟 HTTP 请求,一般来说不会解析服务端返回数据,更不会解析 JS之类代码。因此当清洗设备截获? HTTP 请求时,返回一段特殊 JavaScript 代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。 由于 HTTP/CC 攻击 的伪装方式千变万化,很少有策略或者硬件防护能做到完美清洗,所以,针对 HTTP/CC 攻击,我们大多时候需要具备一定技术的网络维护人员进行见招拆招。
可以防护,但有一个最大的问题解决了。会误封ip,各硬件防火墙都说自己误封费是10万级,100万级。就是10个连接中会误封一个。我十几年测试经验告诉你,都是都吹牛的,实测试1万个连接中就会误封一个。如果这一个正好是网站大客户,这就亏大了。游戏有一个天天充钱的客户,你给他误封了。结果会损失很大。