免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > 程序动态分析与软件漏洞利用(6)

程序动态分析与软件漏洞利用(6)

时间:2012-02-14 18:10来源:未知 整理:寂涯网络 点击:


參帮助读者创建61口10^代码。
?10杜8&1^8公布了一篇关于构造同类分析的文章,它提供了一个叫3口136印18【20】的 项目。3口136印丨8项目并非用于测试,而是用于创建一个合理的对比。在?丨0杜的文章中,他 解释了丫化1此1 Code Integration (或者 Dynamic Binary Rewriting)的方法。在‘中间 语言表示法’中所使用的技术,也被笔者的工具以不同的方式而采用了(这不是中间语言, 但它是执行追踪中的一种正常输出)。3口1如^^8能够在部分可控数据的情况下解决一些特 定的冲突问题,并创建一个可疑对象。在这些对象中,父对象也可用于分析。重审文中所提 供的算法,可以发现30丨如^^8冒似比笔者所提供的工具更高级些,但老实说,这并非如此。 污点检测【21】 依赖于DynamicRIO (译注:DynamicRIO是一款动态二进制分析平台)或#Valgrind (译注:7&4!^1^是一款基于模拟1化似下的程序调试器和剖析器的软件套件), 可用于进行污点分析,以检测软件的溢出状况。它并不能帮助你创建^口10^代码,也不能 检测漏洞的可利用性。它主要分为1&丨的-866山taint-trackerfHtaint-assert,以定位原 始污染值为目的,用于追踪传播以及警示安全漏洞。为了提供安全测试的解决方案,笔者在 本文中也提到了一款堆管理工具。这一工具主要用于管理^!^^八咖架构下的堆块(比 Valgrind Memcheck插件更低端些,目前作者仅让其支持八咖平台)。
这一解决方案是笔者在面对一个复杂的客户端漏洞利用时想到的,这一漏洞包含着复杂 的文件格式。而后面在涉及到恥^!【1】攻击场景后又开始对其功能进行扩充,思考着如何 让其自动分析漏洞的可利用性。该方案的最初版本是与一个化^虹工具整合在一块的,以提 供内在信息,并反馈给化^虹以便给出针对软件的关键信息【22】。它是基于而11的解决方 案,后来又支持了301&^8,为的是利用36(^1^&【23】公布的两个漏洞,在其前数月前^3£ 安全组织也在相同软件上发现了另一个漏洞。
笔者一个要好的朋友也在同一领域进行研究工作,对組^080代0613叫86『有过很好的 使用经验,因此我们决定整合我们的一些实现产品,以打造出最终版本,但笔者一直都在更 新此版本,因为它在我的工作和个人项目中一直都在使用着。本文提及的版本与以往最大的 不同的是,我们提供了污点回溯分析,它主要检测从崩溃到输入数据里面有哪些内容可被攻 击者所控制,以便更好地利用程序漏洞。
未来与其它用途的项目中来,以进一步完善它, 让其更趋于成熟。当前代码需要支持186指令的扩展,提升速度,启发式检测用户输入(因 此你需要手工指定内存范围进行观察)。笔者不确定它是否有其它用途,但我确实期望它能 有更多用途。关于这些的最初想法是来源于734!^1«1和肥\中间语言,而有效版本是基于 Microsoft soft实现的(但可用于实现此项目的时间还是相当有限的)。
这些方法的一个局限性就是你需要先用PoC来跟踪执行流程直到崩溃,然后再回溯分析。如果你并没有按你控制的执行流程来执行,那就说明你无法控制这一内存区域。  

本页地址 http://www.jybase.net/biancheng/20120214772.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com