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

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

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

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

当前程序分析一直是一个热门话题,许多人都在讨论^^^^有的一些fuzzer 也找到了许多程序崩溃漏洞【1】【2】。而在本文中所使用到程序分@法,是通过打造一款 计算系统以自动分析程序行为(或者起码可减少手工^^^),并从中得到一些有价 值的信息。
在世界上,你可以从一大堆的软件里面找到^上#个崩溃漏洞,它们在一些非常重要 的软件中被轻易发现,而这类bug的可利用等>#我们首要考虑的问题。众所周知,fuzzer 们所发现的各类化8是不可能全部补上^^^^在,或因无人愿意修补,又或者其它借 口而不愿修补软件),但至少有些公,1愿意去修补(或者利用)这些存在可利用漏洞的 软件的。 Y ^///
对于分析这些崩溃问题,@^^/一种解决方案(该工具被命名为!拉!或者bang exploitable)【3】【4】,事实上它对于创建61?10忧或者更好地理解问题本质, 并没有多大的帮助,因为它只11合出一个静态的评定等级(exploitable,probably exploitable, not ^$_0^&1^6或者仙匕0*10。但遗撼的是,连一些手握源码的人有时也依靠这些工具来¥8^_@利用等级(有时对于代码结构清晰的情况,这类漏洞还是很容 易分析的)。
污点分析(Ta^it'Analysis)的概念和质疑正被人们所提出,为的就是希望能够测定出 可行的解决方案,并提供更好的长远计划和提升空间。
内容导读
第2章主要讨论一些关于解决方案的想法,比如程序执行流分析,污点分析,污染源 (taint source),以及如何将汇编代码与污点(漏洞)位置相对应,以便于理解漏洞成因。 在本章中笔者还讨论了从执行起始点开始污染时,一些可视数据的激增情况,并解释为什么 污点回溯分析是此类问题最佳解决方案。
第3章将本文提供的解决方案与Microsoft !exploitable软件进行比较。
第4章讨论此领域在未来的发展方向以及可提高的地方。
第5章感谢直接或者间接为本文作出贡献的每一个人。
第6章提供了一些参考资料及其它附加的学习资料。
第7章是最有趣的部分,它包括了两个不同项目(Microsoft Debugger extenion和 1化狀~^^下的 HeapMonitor)
思路与扩充
这部分是本文的核心内容,它讨论了在软件漏洞利用过程中,我们所使用的程序分析技 巧中最为艺术的部分。为帮助大家理解附件中的代码,笔者将会在此讨论本文涉及到各类问 题和概念。理解这部分内容并不需要你具备漏洞利用的经验,你只需义务性地使用笔者所提 供的解决方法,因为它能够辅助分析进程,并自动检测攻击者是否可控制此崩溃漏洞,同时 追踪引起此漏洞的崩溃点。
污点分析
污点分析属于程序流分析的一种,上下文中所提及的程序流分析,其背后的主要思想就 是外部数据的影响超过了分析程序本身。用通常的说法来讲,由于信息流复制或影响了其它 数据,所以可通过跟踪这类影响结果来检测特定数据(寄存器,内存地址)的可控程度,这 也是后面检测漏洞可利用性的必备条件。为了跟踪信息流,我们需要追踪所有的污染源,以 及被影响到的其它相关数据。这意味着当一个污染地址被其它污染数据中的某值所使用时, 我们也需要标记其它也被污染的位置。这种情况被称为污点传播,它存在着下列的过渡关系: 參如果所使用的信息八来源于信息& A_>t(B) -> Direct flow 參如果所使用的信息8来源于信息匕B->t(C) ->Direc 參因此:A_>t (C) -> Indirect flow 上面两操作者之间的过渡关系被称为” Hows”,可被用来一个个分析或者一块块(例如上 面的八->1(0)分析。八位置被定义为:
參A内存地址和大小 參八寄存器名称(需整体考虑一个寄存器,例如%6狀和%31不要区别对待)。也就是 说,去确定一个寄存器是否被污染时,如果已设置高位,那么低位将会被污染到 (例如当%&1被污染后,它也将污染到%6&1)。同时也应该注意,当%&1被确定污 染后,%&11是没有被设置的。
追踪寄存器的位操作,这对于分析污染控制流图表上的代码块相当重要【5】。但这添加 了额外的复杂度,因为这是控制流图表(flowgraph),并且是数据流依赖图表(dataflow dependencies graph)。这种依赖图表可显示出流数据被执行后的效果。
在本文所提供的方法中,仍将正常使用町汕80插件,并通过^1程序保存最后检测到 的使用值,以便于查看6 污染源
污染源就是一些被污染的不可信信息,本文所指的不可信信息是指可被攻击者控制的信 息。这也是处理污染数据时的一种传输关系,这些不可信信息会接收来自污染源的数值,跟 着也变成污染数据了。这类信息包括来自网络,或者从磁盘读取的数据(例如客户端利用)。

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

百度搜索更多

谷歌搜索更多

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

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


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

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