博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Detours信息泄漏漏洞
阅读量:4326 次
发布时间:2019-06-06

本文共 852 字,大约阅读时间需要 2 分钟。

Detours信息泄漏漏洞

 

受影响的软件及系统

Detours3.0和之前版本号

 

简单介绍

与该漏洞相关的最早描写叙述可见于tk教主发现的“微软EMET破坏系统ASLR安全机制漏洞”(參考[1]),事实上原理是一样的。都是由于使用了Detours库的原因。

 

漏洞危害

非常多安全软件出于安全考虑,会把非常多模块注入到IEOffice等软件里面。而非常多注入模块里面使用Detours库对系统API进行Hook操作,Detours库里面存放系统API原始地址的内存有信息泄漏漏洞,这样就会破坏这些软件的ASLR安全机制,继而进行漏洞利用。

 

漏洞原理

Detours进行Inline Hook操作时。在一些固定的地址(譬如0x6FFF00000x80010000不同的Detours版本号有差异)处分配了(除非已经被占用而不能分配)一块固定大小的具有可运行属性的内存。在这个内存上面存放着规则的结构体数组。里面有非常多被Hook函数的真实地址。

能够通过Review Detours的源代码来一窥端倪。

同一时候,我们能够自己写代码调试一下,看看是否在0x6FFF0000固定地址能够看到这个结构呢。例如以下图。

 

 

眼下可下载的Detours个人最高版本号是3.0。该版本号还没有解决问题,可是从源代码实现上面来看,做了一些小修改,把分配部分封装成了两个函数来处理。可是依旧使用了固定地址,假设使用了Detours3.0,也须要堵上这个问题。

 

漏洞修复

这边的工程师zeno已经提了一种简单有用的方法。通过直接修改Detours的源代码,在使用VirtualAlloc分配内存时,对指定的基址,增加一个随机值。这样就把这块内存的地址一定程度上的随机化了。能够抵抗通过硬编码这块地址来进行ROP,继而减少漏洞利用的难度。

 

參考文档

[1] 微软EMET破坏系统ASLR安全机制漏洞

[2] Detours

 

转载于:https://www.cnblogs.com/blfshiye/p/5055117.html

你可能感兴趣的文章
07 js自定义函数
查看>>
jQueru中数据交换格式XML和JSON对比
查看>>
form表单序列化后的数据转json对象
查看>>
[PYTHON]一个简单的单元測试框架
查看>>
iOS开发网络篇—XML数据的解析
查看>>
[BZOJ4303]数列
查看>>
一般处理程序在VS2012中打开问题
查看>>
C语言中的++和--
查看>>
thinkphp3.2.3入口文件详解
查看>>
POJ 1141 Brackets Sequence
查看>>
Ubuntu 18.04 root 使用ssh密钥远程登陆
查看>>
Servlet和JSP的异同。
查看>>
虚拟机centOs Linux与Windows之间的文件传输
查看>>
ethereum(以太坊)(二)--合约中属性和行为的访问权限
查看>>
IOS内存管理
查看>>
middle
查看>>
[Bzoj1009][HNOI2008]GT考试(动态规划)
查看>>
Blob(二进制)、byte[]、long、date之间的类型转换
查看>>
OO第一次总结博客
查看>>
day7
查看>>