补丁二进制比较技术

缓冲区溢出教程  时间:2021-02-19  阅读:()
Hume第2页补丁二进制比较技术补丁比较-揭示差异信息的常用方法è补丁比较的需求è开源软件Vs.
闭源软件è二进制补丁比较的难点二进制文件比较的常用方法及缺陷è二进制字节对应比较è反汇编->文本比较è其他方法第3页最新方法è基于指令相似性的图形化比较(razor)è结构化比较(halvarflake)è这些方法的一些问题理解程序本质以及补丁比较的特殊性è函数->指令è补丁比较的特殊性进行补丁比较è结构化比较、语意敏感分析第4页è设计签名è筛选(WI)è图的生成及查看补丁分析实例èMicrosoftWindowsschannel.
dllPCT1协议实现远程缓冲区溢出漏洞第5页补丁比较-揭示差异信息的常用方法v补丁比较的需求x安全防护:漏洞分析、病毒变种分析x利用其他产品未公开特性的产品x别有用心的黑客v开源软件Vs.
闭源软件x开源软件补丁>逆向工程,信息不对称è传统比较方法已经不能适应补丁比较的最新需要第7页二进制比较的常用方法及缺陷v二进制字节对应比较.
FC,只适用于极少量的变化(若干字节)的补丁比较v反汇编->文本比较.
Beyondcompare,vi,emacs…缺乏对程序逻辑的理解,只适用于小文件和少量变化v其他方法.
正则表达式结合文本比较第8页最新方法v基于指令相似性的图形化比较.
ToddSabin:《Comparingbinarieswithgraphisomorphisms》函数对比-每条指令作为流程图的一个节点-流程图化简-流程图合成-人工分捡对比第9页最新方法v结构化比较HalvarFlake:《StructuralComparisonofExecutableObjects》结构化函数签名(逻辑块数,子调用数目,链接数)配比-签名相同不能匹配函数通过函数调用树进行结构化分析对比-得到结果第10页最新方法v两种方法各自的优点结构化签名与具体平台无关,便于移植结构化签名不会受到部分编译器优化的影响指令相似性的图形化比较不会漏掉非结构化变动(尽管这种情况不多)图形化比较相当直观第11页最新方法v两种方法各自的问题à结构化签名对比不能找出非结构化变动à结构化签名相同的函数较多,完全用结构化签名+结构化配比后仍可能导致部分函数无法匹配à上层函数结构化配比错误后的瀑布效应à指令相似性对比受编译器优化困扰à相似图形的化简存在不完全的问题第12页程序v有序指令序列指令:操作码[动作]操作数[动作对象]v函数作为基本逻辑单元v软件工程:接口(其实现)作为基本的功能单元v增量链接第13页补丁比较的特殊性及目的v两个二进制文件非常相似,差异函数一般低于全部的20%v经常由同一编译器或同系列编译器编译v大部分二进制代码不变v部分被修改模块的编译器优化è目的:找出被修改函数的语意变化第14页理想中的比较技术v屏蔽底层差异->反汇编为统一的高级语言或中间语言à编译器千差万别,尚无成熟技术v有向图对比à图形相似对比-NP问题现实:速度及计算能力-理想情况的近似解决,可产生可用的结果第15页进行补丁比较ü结构化比较è整个文件视为"图"è函数作为基本逻辑单位-"子图"è找到比较起始点è开始比较è不同函数的结构化配比,标识不同函数之间的对应关系第16页进行补丁比较ü设计函数签名è平台无关签名逻辑块数-子调用数-逻辑链接数逻辑块数-子调用数-逻辑链接数-指令数逻辑块数-子调用数-逻辑链接数-其他平台无关特征设计你自己的签名平台无关签名便于移植,简单规则可对付分支优化à部分结签名是不精确的,要结合结构化分析来确定精确匹配点第17页进行补丁比较ü设计函数签名(续)è平台相关签名IDAFlirt签名指令顺序相关(不敏感)的签名指令顺序无关签名(指令-操作数)类型签名消除重定位的影响,设计你自己的签名第18页进行补丁比较ü设计函数签名(续)可进行精确匹配,适当设计的签名可对付寄存器置换等变动增加匹配函数数目,减少平台无关签名错误带来的后续瀑布效应à不便于移植,较难对付分支优化第19页进行补丁比较ü结果筛选(WI-weakinteligence)à每种签名都有其弱点和不足à各种签名结果之间的差异可揭示某些问题的所在è综合各种签名,不应漏掉差异è最终结果的分析判定只能靠人工进行è通常在人工干预下进行结果筛选(取各种签名对比结果的交集或差异集或并集,消除库函数以及其他已知无效函数的影响)可减轻比较分析的难度以及劳动量第20页进行补丁比较ü图形化比较-图的生成及查看函数流程图的生成是比较简单的(vcg)图形显示比较困难,但存在现成工具和库Win32graphAiSee人对图形差异优于对文本差异的直观感知è流程图的生成及差异染色第21页实例分析vMicrosoftWindowsschannel.
dllPCT1协议实现远程缓冲区溢出漏洞è程序对比补丁前后schannel.
DLL后大约产生20个左右的差异函数,进一步人工分析注意到_Pct1SrvHandleUniHello补丁前后发生了变化:.
text:766AE2BDmov[ebp+8],eax.
text:766AE2C0moveax,[edx+0Ch].
text:766AE2C3leaebx,[eax+eax].
text:766AE2C6cmpebx,20h.
text:766AE2C9jbeshortloc_766AE2D2è进一步分析可知该漏洞为栈溢出第22页第23页实例分析vMS04-11LSASRV.
DLL补丁前后对比对比后差异函数不到20个,部分输出如下:NegpCrackRequest-sub_742DBEB0NegpDetermineTokenPackage-sub_742FB2E0SetFlags-sub_74319CF0_LsapDbOpenTrustedDomainByName-sub_74321A80_DsRolepDebugDumpRoutine-sub_74346CC0经过分析其中两个函数分别修补了两个漏洞:其中一个就是后来被振荡波等病毒利用的DsRolepDebugDumpRoutine远程栈溢出漏洞第24页_DsRolepDebugDumpRoutine-sub_74346CC0第25页_DsRolepDebugDumpRoutine-sub_74346CC0第26页_DsRolepDebugDumpRoutine-sub_74346CC0第27页谢谢!
Thanks!
AnyQuestions

Vultr新用户省钱福利,最新可用优惠码/优惠券更新

如今我们无论线上还是线下选择商品的时候是不是习惯问问是不是有优惠活动,如果有的话会加速购买欲望。同样的,如果我们有准备选择Vultr商家云服务器的时候,也会问问是不是有Vultr优惠码或者优惠券这类。确实,目前Vultr商家有一些时候会有针对新注册用户赠送一定的优惠券活动。那就定期抽点时间在这篇文章中专门整理最新可用Vultr优惠码和商家促销活动。不过需要令我们老用户失望的,至少近五年我们看到Vu...

CloudCone($82/月)15-100M不限流量,洛杉矶CN2 GIA线路服务器

之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...

HostKvm:夏季优惠,香港云地/韩国vps终身7折,线路好/机器稳/适合做站

hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...

缓冲区溢出教程为你推荐
快递打印如何快递打印快递单iphone5解锁iphone5怎么解锁拂晓雅阁?英特尔和AMD有什么区别啊?依赖注入什么是侵入性?还有依赖注入?伪静态静态与伪静态的区别?arm开发板开发板是什么?如ARM开发板,DSP开发板等。。它和最终目标板有何区别?ps抠图技巧ps中怎么抠图?网店推广网站网店怎么推广?苹果5怎么越狱苹果5怎么越狱?iphone越狱后怎么恢复苹果手机越狱之后能恢复原来吗?
绍兴服务器租用 免费申请网页 cve-2014-6271 美元争夺战 20g硬盘 新世界电讯 12u机柜尺寸 patcha 国外网站代理服务器 浙江独立 个人空间申请 刀片服务器是什么 网站卫士 1g空间 东莞服务器 cloudlink 西安服务器托管 starry 广州虚拟主机 江苏徐州移动 更多