可执行文件的比较(2004)
Halvar 基于 2004 年演讲的改进版本.
基于图像的可执行文件比较(2005)
Halvar 改进了他 2004 的理论,基本方法是一致的. 问题是该算法严重依赖于二进制文 件的 CFG 生成,就如他所说的,从二进制文件生成 CFG 不是件容易的事.生成 CFG 本身就是 一个富有挑战性的工作.任何矛盾的 CFG 都会导致整个分析失败. 你可以忽略 CFG 识别错误,但是这就意味着许多错误的结果.而且你可能会错过非常重 要的部分.而且这种算法无法分析没有结构性变化的补丁,例如仅仅是改变了某个常量或者换 了寄存器.
工具
我们将要回顾一下至今为止所有的二进制比较工具(包括商业和免费的)我们同样会比较 他们所使用的算法以及效率.
Sabre Security bindiff(2004) Halvar 基于他的图像和指纹理论所开发的商业二进制比较工具. IDACompare(2005) 根据这个工具的描述,它应该是基于签名扫描的.我们并没有测试过这个工具,它主要 是用于恶意软件分析的.根据网站页面的描述,它使用了 mdb 并且适用于 500k 左右的文件. 所以不太适合安全补丁分析,因为补丁很容易超过这个数值.
eEye Binary Diffing Suite(2006) Jeong Wook Oh 在 2006 年夏天开发了一套开源的二进制比较工具.它主要用户微软的补 丁分析.那个时候,微软还不给其它厂商提供补丁的相关信息.所以通过工具分析补丁是唯一 的途径. "DarunGrim" 是当时包括在内的一个主要工具.这个工具使用 sqlite 数据库来存储分析结 果.该工具的算法经过逐步改进也成为了 DarunGrim2 的算法.这个工具是用 python 写的,所 以性能和兼容性上存在一定问题.不过这些都在 DarunGrim2 上得到了解决. Patchdiff2(2008) 从工具描述看来,它主要是用于安全补丁分析和恶意软件研究.这是 Tenable Security 免 费发布的工具,不开源.根据相关文档,它应该使用了基于 CG 的算法,和 Halvar 的方法类 似.
DarunGrim2 这是 eEye Binary Diffing Suite 的 C++改进版本. 主要的区别在于用 C++完全重写了并且修 正了很多性能问题.
DarunGrim2
算法
我们将结合目前所有被用于二进制比较的算法和技巧.每种算法都有各自的优缺点,简单 的算法在验证某些漏洞时也会有非常好的效果.该引擎基于指纹哈希对比来快速稳定地匹配过 程.之前主要的二进制比较工具都集中于图形结构分析和同构比较.但是基于两个图像的精确 比较也是有缺点的,例如过分依赖于反编译器生成的 CFG.如果 CFG 不完整,那么整个过程 都会成为未匹配的.所以类似间接调用是不能使用同构分析的.名称匹配也是被广泛使用的, 但是如果没有符号文件,那就完全无法匹配. 指纹哈希能够克服这些局限性并很好地改进分析结果.与此同时,它还有很不错的性能. 我们在程序中使用了这种方式,你可以在后面的例子中看到区别. 但是指纹哈希匹配并不是我们所使用的唯一方式.我们也采用了其他算法作为辅助,例如
同构分析和符号名称匹配.
符号名称匹配
DarunGrim2 也像其他程序一样使用符号名称匹配,这是二进制过程匹配的最基本的方法.符 号名称可能是导出的名称也可能是符号文件提供的名称.一般来说符号文件是不公开提供的, 但是微软一直为所有补丁提供符号文件.这对于二进制比较和漏洞挖掘有非常重要的作用.
指纹哈希映射
什么是指纹
我们采用指纹哈希的方法作为 DarunGrim2 的主要算法. 这种方法非常简单,不需要对二进制 文件非常精确地分析就可以实现.指纹哈希采用指令序列作为特征值. 一般说来,指纹可能存在多重含义.这里指纹是用于表示一个基本块的数据.对于每一个基本 块,DarunGrim2 都从中读取所有的字节并作为 key 存储在哈希表中.我们可以称之为块的指 纹.指纹的大小随着字节的不同而不同.有很多其他方法也可以生成指纹. 指纹匹配可以非常有效地匹配基本块.基本块是二进制比较的最基本的分析元素,一个基本块 可能含有多个引用.DarunGrim2 为比较的两个二进制文件分别建立指纹哈希表,然后将每一项 都进行匹配.不像 flirt 那种传统的函数指纹,DarunGrim2 用得是抽象的字节作为基本块的指 纹.所以即使函数中有些基本块被修改了,根据其它匹配的块依然可以正确地将函数匹配.为 了快速地匹配海量的指纹哈希,我们把生成的指纹串存在哈希表中然后进行匹配.有很多方式 可以生成基本块的指纹,你也可以尝试其他的指纹生成方式,匹配的时候略有不同.
- sullime2day > 二进制比较与反二进制比较对抗1day和0day
-
二进制比较与反二进制比较对抗1day和0day
下载该文档 文档格式:PDF 更新时间:2009-08-02 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: pdf 文档作者: li 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:Panoutsakopoulou
下一篇:weekday周间 - 音乐之声节目调整前后
点击查看更多关于sullime2day的相关文档
- 您可能感兴趣的
- me2day 宋茜me2day me2day中文版 me2day注册 尼坤me2day 权志龙me2day me2day下载 me2day是什么 shinee的me2day amberme2day
- 大家在找
-
- · 魔兽dota随机英雄指令
- · 色彩构成课件
- · 平安世纪天骄停售了吗
- · 胡莱三国伴侣
- · 剖面图怎么看
- · 深圳华强北国美电器
- · 期末考试成绩
- · 安徽可控硅模块
- · plastic mould
- · 成都羊西线改造效果图
- · 婆婆遇上娘优酷
- · 农田水利学试题及答案
- · 山寨版手机qq下载
- · 百威啤酒广告歌曲
- · 360手机杀毒软件java
- · 试音碟下载
- · 上海自学考试报名时间
- · cad制图教学视频01
- · 济南历下区教育局网站
- · q飞车刷永久a车外挂7
- · 原版长征组歌下载
- · 暗黑2图文攻略
- · 七年级主题班会教案
- · 眉山电子技术学校
- · 厦门大学人文学院贺威
- · 永不磨灭的番号14集
- · 八年级上册语文教案
- · 继续教育专业课作业
- · 仪器仪表机箱
- · 怎么减肥不反弹
- 赞助商链接