微信
顶部

 您当前的位置:首页 > 专题专栏 >网络安全宣传周 >宣传手册 > 正文

CC攻击

发布时间:2020-09-10 19:24      阅读次数:

类型:CC攻击

  定义

  CC (ChallengeCoHapsar,挑战黑洞) 攻击是 DDoS 攻击的一种类型,使用代理服务器向受害服务器发送大量貌似合法的请求。CC 根据其工具命名,攻击者使用代理机制,利用众多广泛可用的免费代理服务器发动 DDoS攻击。许多免费代理服务器支持匿名模式,这使追踪变得非常困难。

  原理

  cc 攻击的原理就是攻击者控制某些主机不停的发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。cc 主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,cc 就是模拟多个用户(就是需要大量 CPU 时间)的页面,造成服务器资源的浪费,CPU 长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

  防CC攻击

  C攻击

  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 攻击效果更可观。致使服务器CPU100%,甚至死机的现象。

  攻击症状

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

  1、命令行法

  一般遭受CC 攻击时,Web 服务器会出现 80 端口对外关闭的现象, 因为这个端口已经被大量的垃圾数据堵塞了正常的连接被中止了。可以通过在命令行下输入命令 netstat -an 来查看,“SYN_RECEIVED” 是 TCP 连接状态标志,意思是 “正在处于连接的初始同步状态 ”,表明无法建立握手应答处于等待状态。这就是攻击的特征,一般情况下这样的记录一般都会有很多条,表示来自不同的代理 IP的攻击。

  2、批处理法

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

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

  3、查看系统日志

  Web 日志一般在 C:\WINDOWS\system32\LogFiles\HTTPERR 目录下,该目录下用类似 httperr1.log 的日志文件,这个文件就是记录 Web 访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否 Web 被 CC攻击了。

  默认情况下,Web 日志记录的项并不是很多,可以通过 ⅡS 进行设置,让 Web 日志记录更多的项以便进行安全分析。其操作步骤是:“开始→管理工具” 打开 “Internet 信息服务器”,展开左侧的项定位到到相应的 Web 站点,然后右键点击选择 “属性” 打开站点属性窗口,在 “网站” 选项卡下点击 “属性” 按钮,在 “日志记录属性” 窗口的 “高级” 选项卡下可以勾选相应的 “扩展属性”,以便让 Web 日志进行记录。比如其中的 “发送的字节数”、“接收的字节数”、“所用时间”这三项默认是没有选中的,但在记录判断CC 攻击中是非常有用的,可以勾选。另外,如果你对安全的要求比较高,可以在 “常规” 选项卡下对 “新日志计划” 进行设置,让其 “每小时” 或者 “每一天” 进行记录。为了便于日后进行分析时好确定时间可以勾选“文件命名和创建使用当地时间”。

  防御方法

  对于CC攻击.其防御必须采用多种方法,而这些方法本质上也是在提高服务器的并发能力。

  1、服务器垂直扩展和水平扩容

  资金允许的情况下,这是最简单的一种方法,本质上讲,这个方法并不是针对CC 攻击的,而是提升服务本身处理并发的能力,但确实提升了对 CC 攻击的承载能力。垂直扩展:是指增加每台服务器的硬件能力,如升级 CPU、增加内存、升级 SSD固态硬盘等。水平扩容:是指通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等等。

  2、数据缓存(内存级别,不要用文件)

  对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。要注意的是,缓存不要使用文件形式,可以使用redis、mem—cached 等基于内存的 nosql 缓存服务,并且与应用服务器分离,单独部署在局域网内。局域网内的网络 IO 肯定比起磁盘 IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的

  3、页面静态化

  与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html 页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及 CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。

  4、用户级别的调用频率限制

  不管服务是有登陆态还是没登陆态,基于session 等方式都可以为客户端分配唯一的识别 ID (后称作 SID),服务端可以将 SID 存到缓存中。当客户端请求服务时,如果没有带 SID (cookie 中或请求参数中等),则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配 SID 独立出业务服务。当客户端请求时带了合法 SID (即 SID 能在服务端缓存中匹配到),便可以依据 SID 对客户端进行频率限制。而对于 SID 非法的请求,则直接拒绝服务。相比根据 IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀情况。

  5、IP限制

  最后,IP 限制依然可以结合上述规则一起使用,但是可以将其前置至) JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。

济南校区
地址:亚洲·第一品牌(中国)威尼斯澳门人-标准下载版(2023)V2.41.3
联系电话:0531-89655015   传真:0531-89655012
技术支持:维网科技
鲁ICP备
日照校区
地址:日照市山东路685号
联系电话 0633-8773111

鲁公网安备