TCP/IP协议栈遭遇攻击?!

简介:  我们的网络游戏采用tcp进行通信,服务端程序绑定8300端口,为游戏客户端提供服务,游戏已经上线稳定运行两年多,从今年9月份开始至今碰到了3次攻击,3次攻击所导致的情况一样,描述如下: (1)从应用层上来看,攻击者每次攻击时,与8300端口都有建立最多两、三百个tcp连接。

 我们的网络游戏采用tcp进行通信,服务端程序绑定8300端口,为游戏客户端提供服务,游戏已经上线稳定运行两年多,从今年9月份开始至今碰到了3次攻击,3次攻击所导致的情况一样,描述如下:

(1)从应用层上来看,攻击者每次攻击时,与8300端口都有建立最多两、三百个tcp连接。

(2)从防火墙监控来看,攻击的流量非常微小,以至于防火墙的流量报警都未触发。

(3)每次攻击产生时,原先的玩家的tcp连接并未断开(应用程序未抛出TCP连接断开的异常),但服务端的再也接收不到来自客户端的任何消息。服务端进程的CPU飙到100%,而内存使用未发现异常。

(4)而且服务端也从未接收到来自攻击者的tcp连接的任何消息。

(5)重启服务端程序后,一切恢复正常。

 

我们的动作以及思考:

(1)第一次攻击发生时,我们的第一反应是程序的问题,于是详细检查程序代码,并使用文本日志定时记录程序每个线程的状态(每5秒钟一次),排除了这一可能性。也就是说,在攻击的过程中,服务端内的各个线程的运行都是正常的。(后来,我们进一步确认了这一点 -- 我们在游戏服务器前加了一个简单的tcp代理服务器,游戏服务器不再对外暴露,所有客户端都与代理服务器连接,由代理服务器在游戏服务器和客户端之间转发所有的数据,结果代理服务器被攻击,代理服务器的代理程序进程的cpu达到100%(也是重启代理程序即恢复正常),而游戏服务器进程一直正常)。

 

                              参考:实现TCP透明代理(附下载) 

 

(2)后来我们对tcp半连接进行了监控,排除了基于tcp的半连接攻击。 根据防火墙正常的流量日志,也排除了流量攻击。 

(3)接下来,我们开始怀疑攻击者攻击的是TCP/IP协议栈(也许是根据TCP/IP的一些漏洞进行攻击),而导致操作系统在处理底层的TCP/IP数据报时,陷入忙碌的状态,而导致CPU 100%,而当底层陷入忙碌的时候,来自客户端的正常消息就来不及接收或者来不及提交到应用层(即我们的服务端程序)了。 

  我们还未确定,攻击的方式究竟是什么?以前我们碰到的大多是流量攻击,而针对这种低带宽的攻击或TCP/IP漏洞攻击,没有任何经验。不知哪位大侠碰到过类似的情况,能够指点一二,感激不尽了,呵呵 

附:我在网上找到了一些可能与我们的攻击有关系的TCP/IP攻击相关的资料,与大家共享一下:

(1)TCP协议堵塞窗口算法攻击技术 : http://sec.chinabyte.com/207/8816207.shtml

(2)TCP RST攻击 :http://baike.baidu.com/view/1044719.htm

(3)低速率拒绝服务攻击原理 : http://blog.chinaunix.com/u/12592/showart_2058363.html

(4)TCP漏洞可导致致命DoS攻击 :http://sec.chinabyte.com/279/8339279.shtml

(5)泪滴攻击 : http://baike.soso.com/v4492311.htm

(6)Land攻击http://baike.soso.com/v4194619.htm?pid=baike.box

 

目录
相关文章
|
4月前
|
网络协议 Java 程序员
java网络编程什么是TCP/IP协议栈?
java网络编程什么是TCP/IP协议栈?
32 2
|
5月前
|
存储 网络协议 安全
深入解析TCP/IP协议栈:了解网络通信的核心
深入解析TCP/IP协议栈:了解网络通信的核心
|
5月前
|
存储 网络协议 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(下)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)
|
5月前
|
网络协议 算法 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(上)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)
|
5月前
|
缓存 网络协议 Unix
最详细的Linux TCP/IP 协议栈源码分析
最详细的Linux TCP/IP 协议栈源码分析
|
网络协议
TCP/IP 协议栈是干什么的?底层原理是什么?
TCP/IP 协议栈是干什么的?底层原理是什么?
171 0
|
网络协议
TCP/IP协议的介绍
TCP/IP协议是众多协议的统称,通过分层结构来管理。可分为七层模型或四层结构
|
网络协议 网络架构
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
|
域名解析 网络协议
IP协议, TCP协议 和DNS 服务分别是干什么的?
大家好,我是阿萨。昨天讲解了网络四层协议[TCP/IP协议族分为哪4层?]今天我们学习下IP 协议, TCP 协议和DNS 协议分别是干什么的。
210 0
IP协议, TCP协议 和DNS 服务分别是干什么的?
|
网络协议
TCP/IP协议族有哪些?
大家好,我是阿萨。昨天我们学习了[URI 和URL 的区别是什么?]了解了URI 和URL的区别。 学习HTTP, 绕不开TCP/IP,那么TCP/IP 协议族分为哪4层?
253 0
TCP/IP协议族有哪些?