哈希洪水攻击是一种拒绝服务攻击,只要黑客找到攻击面,就可以轻松得让整个服务器陷入瘫痪。
哈希洪水攻击原理
我们知道,在常用的数据结构里,有些数据结构的“平均运行时间”和“最差运行时间”差得很多,比如哈希表。
如果想连续插入多个元素到哈希表中,假定这些元素的键很少出现相同的哈希值,平均运行时间较少,但如果频繁出现相同的哈希值,所需要的时间就会成倍的增加。
哈希洪水攻击原理
我们知道,在常用的数据结构里,有些数据结构的“平均运行时间”和“最差运行时间”差得很多,比如哈希表。
如果想连续插入多个元素到哈希表中,假定这些元素的键很少出现相同的哈希值,平均运行时间较少,但如果频繁出现相同的哈希值,所需要的时间就会成倍的增加。
基于这一现象,有人突发奇想,既然“最差运行时间”和“平均运行时间”可以差距那么大,我们是不是可以找到一种方法,使该算法一直使用最差运行时间运行,进而占用大量服务器资源,以最小的代价促使服务器瘫痪?
还真可以实现!
2011年有人曾经做过一次实验,攻击一台基于Java(Tomcat)的服务器时,只需要6kb/s的流量,就可以