TechTarget中国网站推荐

安全知识:病毒加壳技术与脱壳技术

2008-8-4  选择字号:  | |
打印本文章

  由于大量的杀毒软件的出现,以及杀毒软件病毒库的不断壮大,病毒被查杀的几率也越来越大。所以有些病毒就开始通过加壳的方法来伪装自己,企图骗过杀毒软件,蒙混过关。为了做好病毒防御,我们就该了解什么是加壳?加壳的对立面是不是脱壳?如何脱壳等?

  一 什么是壳:

  计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务,大家就把这样的程序称为“壳”了。从功能上抽象的讲,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。

  作者编好软件后,编译成exe可执行文件。有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 加壳就需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩。而在黑客界中“壳”则被用在保护病毒,给木马等软件加壳脱壳以躲避杀毒软件,给网民带来很多的麻烦。

  二 病毒加壳:

  在好莱坞间谍电影里,那些特工们往往以神奇莫测的化妆来欺骗别人,甚至变换成另一个身份,国内对于这种伪装行为有个通俗的说法——“穿马甲”。而这种正与邪的争斗已经延伸到了病毒领域,很多病毒作者通过给病毒“穿马甲”、甚至穿多个“马甲”的方式,躲避杀毒软件的查杀,这种技术就是“加壳”。 病毒作者可以通过给老病毒加壳,大批量制造出杀毒软件无法识别的新病毒。所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。

  既然加壳后的病毒不易被发现,那么如何判断一个可执行文件是否被加了壳呢?

  有一个简单的方法(对中文软件效果较明显)。用记事本打开一个可执行文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码,则多半是被加壳的。我们还可以使用一款叫做Fileinfo的工具来查看文件具体加的是什么壳。目前,较常见到的壳有“UPX”、“ASPack”、“PePack”、“PECompact”、“UPack”、“NsPack”、“免疫007”、“木马彩衣”等等。

  病毒加壳的原理很简单,现在黑客营中提供的多数病毒中,很多都是经过处理的,而这些处理就是所谓的加壳。我们知道当一个普通的EXE程序生成好后,很轻松的就可以利用诸如资源工具和反汇编工具对它进行修改,但如果程序员给EXE程序加一个壳的话,那么至少这个加了壳的EXE程序就不是那么好修改了,如果想修改就必须先脱壳。病毒加壳后也是同样的道理,我们也必须先为病毒脱壳。

  三 脱壳方法:

  目前有很多加壳工具,既然有矛,自然就有盾,只要我们收集全常用脱壳工具,那就不怕病毒加壳了。脱壳主要是通过工具来脱壳。

  常用脱壳工具有:

  1.文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan,

  2.OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid

  3.dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE

  4.PE文件编辑工具PEditor,ProcDump32,LordPE

  5.重建Import Table工具:ImportREC,ReVirgin

  6.ASProtect脱壳专用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只对ASPr V1.1有效),loader,peid

  (1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了

  (2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。

  (3)Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数

  (4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦

  (5)Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以破解

  (6)NeoLite: 可以用自己来脱壳

  (7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳

  (8)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识

  (9)Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识。

  (10)WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳

  看过本文,相信你对“壳”已经有了一定的了解,对于可疑的.exe文件,大可用上述方法去检查他是否加壳,提高安全意识。别让“穿马甲”的病毒突破我们的防线。

原文出处:http://www.enet.com.cn/article/2008/0804/A20080804340962.shtml
来源:eNet    作者:xiaohai    
专家提醒广大电脑用户,最近一周来互联网上平均每天增加恶意网页高达5000个左右,这些恶意网页大多数是被“挂马”的,一旦用户访问,电脑将自动从网络服务器下载木马……
微软对付费反恶意软件的试验结束了。微软周二宣布放弃Windows Live OneCare将在2009年六月提供名为Morro的免费安全套件。套间中包括和OneCare现在相同的杀毒软件……
近年来,随着“病毒互联网化”的深入发展,黑客采用大量病毒洪水式攻击用户电脑的例子也越来越多,所谓“洪水战术”,就是指黑客通过对盗号木马的频繁升级……
赛门铁克的研究人员已经发现了一种新蠕虫病毒试图攻击运行ARM处理器上的Windows CE平台的智能手机。赛门铁克说这种蠕虫病毒具有多种形态,也就是说可根据它遇到的流量……
可能有些朋友认为杀毒是一件简单的事情,不就是点击杀毒软件的“杀毒”按钮就行了吗?杀毒的确要借助杀毒软件,但杀毒也要讲技巧!
在使用电脑的过程中,我们无时无刻不在与密码打交道。如果自己设置的密码被别人猜到或破译,那么则会重要资料、个人隐私被泄露。因此安全密码的管理是与每个人都相关的一件大事。本专题中将用实例介绍如何安全密码的创建、管理和破解。
最好的入侵检测系统(IDS)是免费的、开源的Snort工具。它拥有大量的用户,而且有商业公司Sourcefire的支持,使得Snort成为受到欢迎的入侵检测系统工具。这个工具本身是免费的。它所需要的是一些在上面运行的硬件以及安装、配置和维护的时间。
虽然改进的过程很艰辛,但是Microsoft SQL Server 2008比2005和2000更安全了。保护业务的关键是数据库安全。组织、企业、互联网、以及应用程序对数据库的依赖程度从来没有如此之高。毕竟,现在有什么数据不是存储在你的后端数据库中呢!
最新更新
专家答疑
技巧
Puneet Mehta
虚拟局域网(VLAN)是在OSI模式的第二层操作的。尽管如此。虚拟局域网经常配置为直接指向IP网络,或者子网,子网看起来是包含在第三层中。两种方式保证VLAN安全……
Ed Skoudis
问:威胁建模是有用的防御机制吗?真的可以和黑客一样思考吗? 答:目前,威胁建模对安全专家来说是一种难以置信的有用的工具……
Joel Dubin
问:我是高级信息安全主管。我的公司想要使用一位员工的社会安全号码的最后四位数,妈妈的小名和出生的城市作为一个程序的密码认证系统。这样的密码系统安全吗?