网络安全防御:堆喷射攻击与跨站请求伪造的应对策略
1. 堆喷射攻击防御措施
1.1 Nozzle 防御机制
Nozzle 是专门针对浏览器堆喷射攻击设计的首个对策。它运用仿真技术,通过分析浏览器分配的对象内容来检测恶意对象的存在,该对策在内存分配器层面实现,能保护浏览器免受任何支持的脚本语言发起的堆喷射攻击。
- 工作原理 :对堆上的每个块进行反汇编,并构建解码指令的控制流图。由于控制流图中的一个基本块可从多个方向(其他基本块)到达,因此 NOP - shellcode 对象很容易被检测到。同时,会为堆上的每个对象计算其内部着陆的可能性度量,即攻击表面积,整个堆的表面积是各个块表面积的累加,该指标反映了堆的整体健康状况。
- 优点 :比数据执行保护(DEP)更具兼容性,能通过处理异常来检测和报告堆喷射攻击,避免浏览器直接崩溃。
- 局限性 :
- TOCTOU 漏洞 :Nozzle 仅在特定时间检查对象,攻击者可先分配良性对象,等 Nozzle 检查后再将其改为恶意内容并发起攻击。
- 检查范围有限 :出于性能考虑,Nozzle 仅检查堆的一部分,导致安全级别降低,而检查整个堆的性能开销不可接受。
- 设计假设缺陷 :假设堆喷射攻击分配相对少量的大对象,无法防御分配大量小对象的堆喷射攻击。
1.2 Shellcode 检测
该对策基于两个假设:一是堆喷射攻击可通过精心制
超级会员免费看
订阅专栏 解锁全文
5725

被折叠的 条评论
为什么被折叠?



