当前位置: 首页 > 科技观察

哈希泛洪攻击到底是什么?

时间:2023-03-18 01:24:30 科技观察

洪水攻击是黑客最常用的攻击方式。它以实施简单粗暴而著称,多半忽视防御。洪水攻击也是信息安全领域最值得研究的课题之一。最常见的洪水攻击是著名的DDoS。今天我们只讲一种DDoS——hashflood攻击。哈希泛洪攻击是一种拒绝服务攻击,黑客只要找到攻击面,就可以轻松瘫痪整个服务器。HashFlood攻击原理我们知道,在常用的数据结构中,有些数据结构的“平均运行时间”和“最差运行时间”相差很大,比如哈希表。如果要连续向哈希表中插入多个元素,假设这些元素的键很少有相同的哈希值,则平均运行时间较少,但如果相同的哈希值频繁出现,则需要的时间会成倍增加.基于这种现象,有人突发奇想,既然“最差运行时间”和“平均运行时间”可以有这么大的差距,我们能不能想办法让算法一直使用最差运行时间来运行,并且那么占用大量的服务器资源就能以最小的代价导致服务器瘫痪?真的有可能!2011年,有人做过一个实验。在攻击基于Java(Tomcat)的服务器时,只需要6kb/s的流量就可以瘫痪Intel。i7处理器。成本低得离谱。如果你还不理解hashflood攻击,我们可以通过一个简单的例子来进一步理解。假设A经营菜鸟邮政,当时的菜鸟邮政没有快递管理系统,A只能自己制定策略管理快递。A很快想到了一种方法,以客户手机号码的末尾为判断条件,对快件进行分类。比如手机号尾号为75的快递就放在7号货架的五楼。由于管理得当,A家菜鸟站的生意越来越好。但是,客户B不满快递员不送货上门,A和B经常为此发生非常不愉快的争吵。B决定报复。经过一段时间的观察,B发现了菜鸟站快递分类方式的规律。于是B和他的小伙伴一起申请了大量7x结尾的手机号,并用这些手机号在网上刷单,导致出现大量空包裹。很快,7号货架就塞满了这些“恶意”的快递员,那些以7x结尾的正常顾客取快递的时间越来越长,顾客满意度直线下降。情况越来越糟糕。最终,由于人手不足,无法及时处理这些快递,A的菜鸟驿站最终倒闭。以上就是hashflood攻击的过程。HashFlood攻击防御HashFlood攻击过于简单粗暴,那么有什么方法可以防御这种攻击呢?是的!通过菜鸟贴的例子,我们很容易想到两种方法。首先是限制参数的数量。每个货架上可以放置的包裹数量是固定的。只有拿走旧包,才能套上新包。二是想个策略,禁止未知用户提交数据。您的包裹包括空包裹并且可能会被计费。抱歉,它们不能放在架子上。理论上,这些方法可以有效防止hashflood攻击,但是没有办法从根本上防止这种攻击。有人想到了一个绝妙的方法。既然B很容易猜到A管理快递的规则,那么如果我们对这些规则进行加密,是不是就可以防止hashflood攻击的发生呢?只要我们每隔建立一个哈希表,就会随机生成一个新的秘密参数。这样即使相同的内容放在不同的表中,也会出现完全不同的内存分配。这个过程是黑客无法预测的,所以他们无法发起攻击。设计更安全的带有密钥的哈希算法,使黑客难以绕过并发起攻击。随着互联网的发展,攻防双方展开了激烈的斗争。Google、UIC等机构的研究人员设计了很多新的哈希函数。这些算法不断更新,现在已经形成了一套稳定的算法标准,被很多编程语言和开源项目所采用。这些编程语言和开源项目天生就免疫hashflood攻击。