CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

网络安全,安全,网络安全设备,信息安全产品,网络安全新闻,信息安全市场分析,黑客攻防,防黑反黑技巧,黑客,网络安全技术,网络安全方案,病毒播报,最新病毒库,攻防技巧,入侵渗透,新闻,思科,Juniper,天融信,瑞星,金山,江民,卡巴斯基,赛门铁克, 趋势,绿盟科技,联想网御,MCAFEE,安氏,冰峰网络,网络入侵,木马,病毒,病毒分析,木马分析,样本分析,木马样本分析,病毒样本分析,杀毒软件

您现在的位置: IT专家网 > 安全子站 > 评论分析

MigBot代码补丁技术的源代码过程讲解

作者: 宇文,  出处:51cto, 责任编辑: 郭秋爽, 
2008-06-12 10:42
  MigBot是一款内核级代码补丁技术的演示代码,它向我们展示了修改运行时代码的强大技术,本文将带领读者一道,通过其源代码来领略MigBot所使用的代码补丁技术。

  MigBot是一款内核级代码补丁技术的演示代码,它向我们展示了修改运行时代码的强大技术,本文将带领读者一道,通过其源代码来领略MigBot所使用的代码补丁技术。

  一、代码补丁技术

  Rootkit为了达到隐形的目的,经常需要对现有的代码执行流程进行修改,其中最常见的手法是通过修改函数的调用表来拦截函数调用。但是,对于这种司空见惯的手法,反Rootkit软件早有防备,于是Rootkit的开发者便改辕易辙,不再在调用表上做功夫,而是直接向函数的代码自身下手——代码补丁技术便应运而生了。

  代码补丁,如名称所示,就是直接修改程序的二进制代码。当然,我们既可以给硬盘上的二进制文件打补丁,也可以对内存中的二进制代码打补丁,而本文分析的MigBot便属于后者,它通过给代码补丁来改变程序的执行流程。

  二、通过代码补丁拦截API

  对于代码补丁技术,在改变程序控制流程时最常见的办法就是用一个跳转指令来覆盖目标函数开始部分的字节内容,而这个指令将跳转到植入的Rootkit代码的起始地址。这样,只要目标函数一旦执行,控制权就会马上落入Rootkit的手里。如下图所示:

  

  图1 利用代码补丁技术拦截API示意图

  所以,即使不修改调用表,通过代码补丁技术也能达到拦截API的效果。并且,当有多个调用表指向同一个目标函数的时候,使用修改调用表的方法是比较麻烦的,因为必须修改所有相关的调用表才能保证有效的拦截目标函数,而使用代码补丁技术的话则根本不会有这种麻烦。

  下开始,我们将要具体分析MigBot的源代码。因为操作内核函数的内存空间需要内核级的权限,也就是ring0,所以MigBot作为设备驱动程序实现,这样它就能在ring0级运行了。为此,我们首先看一下驱动程序的DriverEntry例程。

  

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2007, ChinaByte
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i