TCP连接攻击

1. 伪造协议,导致服务器crash. 比如说某条命令的字段长度,协议最大规定是1024,伪造个4096的。
2. 伪造大的报文,比如说一个包有1024M这么大。
3. 消耗服务器资源。开大量的连接, 以龟速发送报文,比如说每分钟一个字节。
4. DDOS攻击,从不同的IP发起大量的连接, 大流量淹没服务器。
5. 攻击集群的授权体系,all or nothing。
6. 报文发送顺序逻辑错误,导致服务器crash. 比如说逻辑上应该先发A,再发B, 攻击者调了顺序。
7. 不停的连接断开,消耗服务器对资源的申请和释放,这个通常很耗。
8. 篡改协议中关键时间事件,造成时间混乱。
9. 利用协议中需要大量计算和资源的事件攻击。
10. 利用协议的安全漏洞或者实现系统的漏洞,比如说erlang的atom个数的限制,对系统造成威胁。
11. Hash Collision DoS 等攻击。
12. term_to_binary数据深度太大,底层VM实现用的是c的递归,很容易导致stack overflow。
13. Mnesia 数据库 各role对等, 很容易在其中一个节点发起数据破坏操作。
14. 大量的请求涌入,导致大量消息产生,消息队列爆了。
15. 利用inets底层实现的漏洞,构造些畸形数据导致inet drv工作异常。
16. 攻击系统的RPC通道,节点间的RPC通道只有一条容易饱和。

17. 攻击系统的NIF实现漏洞,导致VM crash。

TCP连接耗尽攻击与防御原理

攻击原理

连接耗尽攻击是指攻击者通过僵尸网络,向服务器发起大量的TCP连接,耗尽服务器的TCP连接资源。连接耗尽一般有以下几种攻击类型:

  • 完成三次握手后,不发送任何报文,一直维持这些TCP连接。
  • 完成三次握手后,立刻发送FIN或RST报文,释放本端连接,同时快速发起新的连接。
  • 连接过程中呈现给服务器端很小的TCP windows size,导致服务器TCP协议栈资源耗尽。
  • 发送大量TCP重传请求,以很小的流量即可导致被攻击网络上行链路拥塞。

防御原理

针对此攻击会耗尽服务器的TCP连接资源的特点,Anti-DDoS设备对目的IP地址的新建连接速率和并发连接数分布进行统计,当新建连接速率或并发连接数大于阈值时,则触发对源IP地址的相应检查,当检查发现异常时,将异常源IP地址加入黑名单,切断其TCP流量。

  • 源IP地址新建连接速率检查:启动源IP地址新建连接速率检查后,如果某个源IP地址在检查周期内发起的TCP新建连接数大于阈值,则将该源IP地址判定为攻击源。
  • 源IP地址并发连接数检查:启动源IP地址并发连接数检查后,如果某个源IP地址的TCP并发连接数大于阈值,则将该源IP地址判定为攻击源。
  • 慢速连接速率检查:启动慢速连接速率检查后,统计同一源IP地址对同一目的IP地址的连接次数,在各统计时间间隔内,如果连续多次连接数相同并超过阈值,则判定为TCP慢速连接攻击。
  • 异常会话检查:如果在检查周期内,某个源IP地址发起的TCP异常会话的连接数大于阈值时,则将该源IP地址判定为攻击源。判定TCP异常会话依据如下:

    • 空连接检查:如果在检查周期内,在某条TCP连接上通过的报文数小于阈值,则判定该连接为异常连接。
    • 重传会话检查:当某条TCP连接上重传报文数量大于阈值时,则判定该连接为异常连接。
    • 慢启动连接检查:当某条TCP连接上通过的报文窗口小于阈值时,则判定该连接为异常连接。

    当异常会话数超过一定数量时,将此源加入黑名单。异常会话数量可配置。


猜你喜欢

转载自blog.csdn.net/m0_37541228/article/details/77653454