恶意代码的映象劫持技术分析

来源 :硅谷 | 被引量 : 0次 | 上传用户:zhang123gang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 着重阐述映象劫持技术的基本原理,并从病毒免疫等方面论述映象劫持的应用,同时,从限制用户的权限等方面介绍对恶意代码的映象劫持进行预防的方法。
  关键词: 恶意代码;映象劫持
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2010)0610167-01
  
  近年来,随着计算机安全技术的进步,病毒等恶意程序常用的自启动技术已被人们熟知,为躲避安全软件的查杀,病毒编制者找到了一种早已有之的系统调试功能,并应用到病毒技术上,致使许多安全软件不能够运行,处于瘫痪状态。致使许多用户的计算机处于不设防的状态。是什么技术会造成如此的危害呢?其实病毒只是利用了windows系统早已有的技术IFEO,实现了对安全软件的映像劫持。
  1 映像劫持的定义
  所谓的映像劫持(Image Hijack)即,恶意代码利用注册表项[HKEY_
  LOCAL MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options]将某一应用程序重定向到恶意代码本身或或其他应用程序上,从而实现病毒体的自动加载或通过IFEO使安全软件或其他应用程序不能正常运行的技术。
  2 映像劫持的基本原理
  在WindowsNT架构里,IFEO是为了兼容windows早期版本下的可执行文件而设计的一个补救措施。一些在windows早期版本下的可执行文件,在新的环境中运行时,可能会引发错误,为此,微软公司提供了一种保全措施,为程序执行体提供一个特殊的环境设定,如今却被恶意代码的编制者用来加载恶意代码,实现恶意代码的自动加载。
  IFEO的设计是为了兼顾因内存管理机制的变化,导致的应用程序运行故障,而设计的一种解决方案。在IFEO中设定了一些堆栈分配的参数,当被控制的程序在运行时,其内存由IFEO设定的参数进行分配。
  在Windows NT架构中为用户预留了一个交互接口,即注册表项[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrent VersionImage File Execution Options],IFEO 对需要进行管理的可执行文件在其下建立一个与该文件同名的项目,并设定该文件的堆栈管理机制以及一些辅助的机制。
  在IFEO中定义了许多参数。常见的有Debugger、PageHeapFlags、DisableHeapLookAside、DebugProcessHeapOnly和PageHeapSizeRangeStart
  等。“映像劫持”就是通过IFEO项中的debugger参数实现的。参数Debugger是IFEO中被第一个被处理的参数,Debugger参数,直接翻译为“调试器”,如系统运行某可执行文件时,首先检查其是否在IFEO列表中,如发现其在IFEO列表中,就会读取其Debugger参数,如果该参数不为空,则把其Debugger参数里指定的程序文件名作为启动的程序执行,把用户欲启动的程序作为Debugger参数发送给Debugger参数里指定的程序文件名。Debugger参数的这种特殊功能,被称为“重定向”,而利用“重定向”技术进行的攻击,我们习惯上称为“映像劫持”(Image Hijack)。
  “映像劫持”技术,经常被恶意代码用来阻止安全软件的正常运行,从而达到保护其本身不被查杀的目的。其表现多为,当运行杀毒软件、防火墙、安全检测工具等时,系统提示“找不到文件”或执行后没有反应。其原因就是,IFEO的Debugger参数中,可执行文件列表里设置了这些软件的主文件名,而且被Debugger的参数指向了不存在的文件或恶意代码本身。
  3 映像劫持的应用
  映像劫持技术,可以被恶意代码利用,同时,我们也可以利用该技术实现对病毒的免疫等功能。
  3.1 利用映像劫持技术禁止某些程序运行
  如在某台计算机上为了限制运行QQ软件,我们可以使用记事本,输入如下代码
  [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsqq.exe]
  "Debugger"="aaa.exe"
  另存为 qq.reg,并将其导入注册表,当我们在该机器上打开QQ时,系统将提示找不到该文件,原因就是QQ被重定向到了一个并不存在的文件上。
  3.2 利用映像劫持技术实现病毒免疫
  按着病毒劫持安全软件的原理,我们可以对把病毒程序进行重定向,使病毒程序不能运行。使用记事本,输入如下代码:
   [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options spoclsv.exe]
  "Debugger"="abc.exe"
  另存为 abc.reg,并将其导入注册表,这样这些病毒虽然在系统启动项里面,但是由于被我们进行了重定向,因此,在病毒文件被加载时,系统就会提示无法找到病毒文件(spoclsv.exe 为熊猫烧香病毒)。
  4 映像劫持的预防
  4.1 限制用户权限
  通过限制用户对IFEO的写入权限,可预防映像劫持的发生,运行regedit,找到[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCur
  rentVersionImage File Execution Options],选中该项,在编辑菜单中,选中权限,将administrator 和 system 两个用户写入权限取消。这样做后,恶意代码就无法对IFEO项进行修改,从而防止映象劫持。
  4.2 删除IFEO项
  在注册表编辑器中,把注册表项[HKEY_LOCAL_MACHINESOFTWAREMic
  rosoftWindows NTCurrentVersion]下的,Image File Execution Options 项删掉。该方法虽然可以避免映像劫持,但是也同时取消了IFEO的功能,一般不推荐该方式。
  5 总结
  “映像劫持”技术,是恶意代码在windows可利用的自动加载方式都被用户熟知以后,新挖掘出来的一个恶意代码的自动加载途径。随着时间的推移,逐渐得到人们熟悉了解,越来越多的应用软件以及大多数的安全软件都已经设置了自身的抗劫持技术,其对系统的威胁将越来越小。
  
  参考文献:
  [1]颜廷法、曲广平、郭迎娣,映像劫持型病毒原理分析及应对方法[J].烟台职业学院学报,2008.1:76-78.
  [2]李翠梅、张椿昱,试论计算机病毒的启动方式及其防治[J].内蒙古科技与经济,2009.10:113-114.
  [3]陈金莲,揭密病毒的映像劫持技术[J].黄冈职业技术学院学报,2009.4:8-9.
其他文献
摘要: 虚拟仪器是测试技术和计算机技术相结合的产物,是当代测控技术发展的一个重要方向。虚拟仪器的优点及虚拟仪器技术的快速发展,为职业院校实验室建设与发展提供了一种新的模式。在介绍虚拟仪器的基础上,论述职业院校电工电子虚拟仪器实验室的建设情况。  关键词: 虚拟仪器;实验室;教学  中图分类号:G71文献标识码:A文章编号:1671-7597(2010)0610154-01
1月10日,科技部为北京市海淀区等20个国家创新型试点城市(区)授牌。据介绍,此举是增强自主创新能力、建设创新型国家战略的重要一步。参与该政策论证的专家指出:创新型城市是近30年来国际上的热点课题;国内各中心城市未来的转型,值得参考各国在此领域的经验。    创新之创意源于20多年前的美国    参与创新型城市政策制订的专家之一,原北京市科委主任邹祖烨介绍说,创新型城市对于国内外经济、社会和区域发
2009年,中国数字出版的产值接近800多亿元,已经超过了传统出版业的产值,增幅达到50%。这一数字充分证明了数字出版在如今国内出版市场的迅猛发展。而就在近日,国家新闻出版总署在不到一周时间内先后批准成立了两家国家级数字出版基地。有人预测,中国的数字出版已到扬帆远航之时。     一星期内两家数字出版基地获批    就在不久前,中国国际动漫节宣布永久落户杭州数日后,国家新闻出版总署科技与数字出版管