SYN拒绝服务攻击



这可能是一个微不足道的问题。这是关于Syn Cookie。为什么只有半打开的连接才被认为是DOS攻击。客户端可能完成握手(SYN、SYN-ACK、ACK),之后再也没有回复。这也会占用系统资源。

因此,如果客户端充斥(SYN, SYN-ACK, ACK)序列,为什么不认为是DOS攻击?

我们所描述的SYN flood攻击是一种特定形式的拒绝服务攻击。DOS可以有多种形式,通常与SYN请求无关。

SYN flood攻击之所以有效,是因为可以伪造客户端IP地址。这允许来自同一客户机的大量SYN请求,但由于SYN-ACK永远不会被接收,因此无法发送ACK,服务器将等待响应,因此使用服务器上的可用连接。发送SYN和ACK的客户端不会耗尽可用的连接。大量无用的(SYN, SYN-ACK, ACK)仍然是DOS攻击,只是没有那么有效。

在SYN洪水中,客户端不必跟踪状态或完成连接。客户机生成许多带有欺骗IP的SYN数据包,这可以非常快地完成。服务器(在不使用SYN cookie的情况下)消耗等待每次连接尝试超时或完成的资源。因此,这是一种非常有效的DoS,利用(DoS-ing)客户机与受攻击服务器消耗的资源在1:10000范围内。

如果客户端完成了每个连接,那么杠杆就消失了——服务器不再需要等待,客户端必须开始跟踪状态。因此我们得到1:1而不是1:10000。这里还有一个次要问题——与已建立的连接相比,半打开连接的缓冲区很小(或者当这种攻击最初被发明时),并且更容易耗尽。

SYN cookie允许服务器在回复SYN包后立即忘记连接,直到它接收到具有正确序列号的ACK。这里资源使用又变为1:1

是的,Sockstress是一种老的攻击,从2008年开始,完成TCP握手然后将窗口大小降低到零(或其他一些小值),在第4层捆绑连接,有点类似于SlowLoris第7层攻击。点击这里了解更多关于Sockstress

最新更新