您当前的位置:首页 > 电脑百科 > 安全防护 > DDOS

一种高级的DoS攻击-Hash碰撞攻击

时间:2020-10-13 10:14:25  来源:  作者:

什么是Hash碰撞攻击

就是通过精心构造数据,使得所有数据全部碰撞,人为将哈希表变成一个退化的单链表,此时哈希表各种操作的时间均提升了一个数量级,因此会消耗大量CPU资源,导致系统无法快速响应请求,从而达到拒绝服务攻击(DoS)的目的。

随着RESTful风格的接口普及,程序员默认都会使用json作为数据传递的方式。json格式的数据冗余少,兼容性高,从提出到现在已被广泛的使用,可以说成为了Web的一种标准。无论我们服务端使用什么语言,我们拿到json格式的数据之后都需要做jsonDecode(),将json串转换为json对象,而对象默认会存储于Hash Table,而Hash Table很容易被碰撞攻击。我只要将攻击数据放在json中,服务端程序在做jsonDecode()时必定中招,中招后CPU会立刻飙升至100%。16核的CPU,16个请求就能达到DoS的目的。

 

哈希表碰撞攻击的基本原理

哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。php中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信息(执行上下文的变量及函数均使用哈希表结构存储)。

理想情况下哈希表插入和查找操作的时间复杂度均为O(1),任何一个数据项可以在一个与哈希表长度无关的时间内计算出一个哈希值(key),然后在常量时间内定位到一个桶(术语bucket,表示哈希表中的一个位置)。当然这是理想情况下,因为任何哈希表的长度都是有限的,所以一定存在不同的数据项具有相同哈希值的情况,此时不同数据项被定为到同一个桶,称为碰撞(collision)。哈希表的实现需要解决碰撞问题,碰撞解决大体有两种思路,第一种是根据某种原则将被碰撞数据定为到其它桶,例如线性探测——如果数据在插入时发生了碰撞,则顺序查找这个桶后面的桶,将其放入第一个没有被使用的桶;第二种策略是每个桶不是一个只能容纳单个数据项的位置,而是一个可容纳多个数据的数据结构(例如链表或红黑树),所有碰撞的数据以某种数据结构的形式组织起来。

不论使用了哪种碰撞解决策略,都导致插入和查找操作的时间复杂度不再是O(1)。以查找为例,不能通过key定位到桶就结束,必须还要比较原始key(即未做哈希之前的key)是否相等,如果不相等,则要使用与插入相同的算法继续查找,直到找到匹配的值或确认数据不在哈希表中。

PHP是使用单链表存储碰撞的数据,因此实际上PHP哈希表的平均查找复杂度为O(L),其中L为桶链表的平均长度;而最坏复杂度为O(N),此时所有数据全部碰撞,哈希表退化成单链表。下图PHP中正常哈希表和退化哈希表的示意图。

一种高级的DoS攻击-Hash碰撞攻击

 

图中可以看到,当退出后的哈希表,所有数据都会碰撞,导致服务端CPU100。

如何防御

  • 打补丁,修改hash算法。
  • 限制POST的参数个数,限制POST的请求长度。
  • 使用防火墙检测异常请求
  • 增加权限验证,最大可能的在jsonDecode()之前把非法用户拒绝
  • 重写jsonDecode()方法

 

备注:

这篇文章摘抄来自网络。我打算总结一些列架构师需要的优秀文章,由于自己写会花太多时间,我决定做一个搬运工,为大家筛选优秀的文章,最后我会做成索引方便大家查找。



Tags:DoS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
详细说明及例子 :对一组文件中的每一个文件执行某个特定命令普通格式:FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 ...【详细内容】
2021-12-27  Tags: DoS  点击:(3)  评论:(0)  加入收藏
前言传统的 DDOS 防御通常使用“硬抗”的方式,导致开销很大,而且有时效果并不好。例如使用 DNS 切换故障 IP 的方案,由于域名会受到缓存等因素的影响通常有分钟级延时,前端难以...【详细内容】
2021-12-21  Tags: DoS  点击:(19)  评论:(0)  加入收藏
#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为dir 浏览 创建文件 echo 文件内容 > 文件名字.扩展名 浏览文件内容 type 文件名 分页浏...【详细内容】
2021-12-07  Tags: DoS  点击:(22)  评论:(0)  加入收藏
以往每年 iPhone 都是苹果秋季发布会上最受关注的产品,今年似乎有些例外,抢先出场的 iPad mini 第六代(以下简称 iPad mini 6)风头正盛,人们对它的关注隐隐有超越 iPhone 13 的趋...【详细内容】
2021-09-23  Tags: DoS  点击:(61)  评论:(0)  加入收藏
DDOS简介DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。就如酒店里...【详细内容】
2021-08-20  Tags: DoS  点击:(69)  评论:(0)  加入收藏
IT之家 8 月 12 日消 苹果今日发布了一款新的开发者工具,旨在强制那些运行 iOS 15 和 iPadOS 15 的设备在使用不安全的 WiFi 网络或 WiFi 速度较慢时优先使用 5G 连接而不是...【详细内容】
2021-08-12  Tags: DoS  点击:(151)  评论:(0)  加入收藏
工具https://github.com/poornigga/tfn2k.githttps://github.com/cxueqin/falcon.git //tfn2k web版本https://github.com/GinjaChris/pentmenu.githttps://github.com/Of...【详细内容】
2021-08-04  Tags: DoS  点击:(69)  评论:(0)  加入收藏
相信最近有很多小伙伴对于Windows 11新系统的更新有所耳闻,也有很多小伙伴已经收到Windows的正版推送,也已经体验到了Windows 11的魅力。那么,你是否还在质疑:为什么我没有收到W...【详细内容】
2021-07-16  Tags: DoS  点击:(5967)  评论:(0)  加入收藏
它看起来像复古计算,但它是一个现代的操作系统,你可以用它来完成任务。在整个 1980 年代和 1990 年代,我主要是一个 DOS 用户。我喜欢 DOS 提供的命令行环境,它随着每一个连续的...【详细内容】
2021-06-17  Tags: DoS  点击:(170)  评论:(0)  加入收藏
摘要: 发送大量的数据包消耗目标主机资源,使其无法正常工作。1.前言:DOS攻击原理:发送大量的数据包消耗目标主机资源,使其无法正常工作。DNS放大攻击的原理:伪造DNS数据包,向DNS服...【详细内容】
2021-04-15  Tags: DoS  点击:(219)  评论:(0)  加入收藏
▌简易百科推荐
前言传统的 DDOS 防御通常使用“硬抗”的方式,导致开销很大,而且有时效果并不好。例如使用 DNS 切换故障 IP 的方案,由于域名会受到缓存等因素的影响通常有分钟级延时,前端难以...【详细内容】
2021-12-21  网盾科技    Tags:DDOS   点击:(19)  评论:(0)  加入收藏
DDOS简介DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。就如酒店里...【详细内容】
2021-08-20  KaliMa    Tags:DDOS攻击   点击:(69)  评论:(0)  加入收藏
工具https://github.com/poornigga/tfn2k.githttps://github.com/cxueqin/falcon.git //tfn2k web版本https://github.com/GinjaChris/pentmenu.githttps://github.com/Of...【详细内容】
2021-08-04  安全客小安    Tags:DDoS   点击:(69)  评论:(0)  加入收藏
死亡之 Ping 攻击是一种拒绝服务 (DoS) 攻击,攻击者旨在通过发送大于最大允许大小的数据包来破坏目标计算机,从而导致目标计算机冻结或崩溃。原始的死亡之 Ping 攻击如今并不...【详细内容】
2021-04-15  埃文  今日头条  Tags:Ping 攻击   点击:(183)  评论:(0)  加入收藏
摘要: 发送大量的数据包消耗目标主机资源,使其无法正常工作。1.前言:DOS攻击原理:发送大量的数据包消耗目标主机资源,使其无法正常工作。DNS放大攻击的原理:伪造DNS数据包,向DNS服...【详细内容】
2021-04-15  安界  今日头条  Tags:DDoS   点击:(219)  评论:(0)  加入收藏
国内外有很多网站会遇到CC攻击这种说简单也简单说不简单也不简单的攻击类型,CC攻击很不利于一个网站服务器的运行,因此很多技术人员针对这种攻击手段来研发应对手段。不过,目前...【详细内容】
2021-03-19      Tags:CC攻击   点击:(157)  评论:(0)  加入收藏
根据Google最新公布的“Chrome中的HTTPS加密情况”统计数据表明,2015年至2020年通过HTTPS加载的业务占比逐步升高,截至2020年7月,在Chrome上加密的比例已达到96%,越来越多Web业...【详细内容】
2021-01-22      Tags:恶意流量   点击:(159)  评论:(0)  加入收藏
随着如今DDoS攻击技术的不断成熟,关于防DDoS攻击的安全防护措施你知道多少?只有清楚的了解DDoS攻击的定义和原理和你有可能或者将会面临什么样的攻击,才更好的不断加强防护,才能...【详细内容】
2021-01-22      Tags:DDoS攻击   点击:(201)  评论:(0)  加入收藏
上网的时候,我们总能或多或少地听到一些新闻,某某网站又遭遇DDoS攻击了,十几二十个小时,网站都没办法打开。似乎每一次DDoS的出现,都有大新闻。...【详细内容】
2021-01-19      Tags:DDoS攻击   点击:(141)  评论:(0)  加入收藏
当我在 Heroku 管理安全团队时,我经常做一个噩梦:我的 PagerDuty 警报响了,提醒我发生了安全事故。在梦中,我盯着手机并意识到“不,大事不好”——接着,我就被惊醒了。...【详细内容】
2020-12-07      Tags:DoS攻击   点击:(143)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条