2024年3月24日发(作者:)

安全咖啡屋 

一^■一硼硪■啊删nllllll'.]Pll 瑚 哺I.疆Ⅵ一 星 制L:l 州拍r I 和 +-t- j亡 

/ 

: 

在计算机的世界里,病毒就是一种 

纛耪磊撵籀豢鬻 

能为力,但由于其技术门槛较低,仍然 壳程序是如何运行的。一般情况下,加 

死亡的力量,因此杀毒软件是一种不可 

或缺的东西。笔者用过一些杀毒软件, 

也给求助的朋友安装或者卸载过,有自 

己的一点感受。写出来,给大家提供一 

些思路,怎样选择一个适合自己用的杀 

毒软件。 

在介绍之前,先简单结合自己的理 

解和引用一些文章,来说点技术性的知 

壳程序和未加壳程序的运行结果是一 

样的。如何判断一个可执行文件是否被 

加了壳呢?有一个简单的方法(对中文软 

件效果较明显):用记事本打开一个可执 

行文件,如果能看到软件的提示信息则 

一般是未加壳的,如果完全是乱码,则 

多半是被加壳的。我们还可以使用一款 

叫做Fileinfo的工具来查看文件具体加 

被一些杀毒软件所使用。 

第二种,是动态脱壳。由于加壳的 

程序运行时必须还原成原始形态,即加 

壳程序会在运行时自行脱掉“马甲”。目 

前,有一种脱壳方式是抓取(D啪p)内存 

中的镜像,再重构成标准的执行文件。 

相比硬脱壳方法,这种脱壳方法对自行 

加密、变形的壳处理效果更好。 

识: 

的是什么壳。目前,较常见到的壳有 

三、虚拟机脱壳引擎(VU E】技术 

对于病毒,如果让其运行,则用户 

计算机就会被病毒感染。因此,一种新 

的思路被提出,即给病毒构造一个仿真 

的环境,诱骗病毒自己脱掉“马甲”。并 

且“虚拟环境”和用户的计算机隔离,病 

毒在虚拟机的操作不会对用户计算机 

有任何的影响。 

“虚拟机脱壳”技术已经成为近年 

杀毒软件引擎与病毒库的关系 “UPX”、“ASPack”、“PePack”、“PECom一 

pact”、“UPack”、“NsPack”、“免疫007”、 

“木马彩衣”等等。 

为什么黑客能够利用加壳技术来 

对抗反病毒软件呢?众所周知,目前杀 

毒软件主要依靠特征码技术查杀病毒。 

由于加壳软件会对源文件进行压缩、变 

形,使加密前后的特征码完全不同。 

其实病毒库与杀毒引擎没有直接

的关系,杀毒引擎的任务和功能非常简 

单,就是对指定的文件或者程序进行判 

断其是否合法。而病毒库,只不过是对 

杀毒引擎的一种补充,也就是说:“我们 

没有足够聪明的杀毒引擎来完成这个 

过程”,那个过程,就是杀毒引擎对文件 

或者程序的判断。明白这一点,就应该 

知道,好的杀毒软件,重要在引擎的优 

秀,病毒库只不过是补充,而且病毒库 

越大,杀毒速度肯定会降低。因为病毒 

库杀毒的过程,是引擎把判断能力交给 

病毒库,用病毒库与指定的文件进行对 

脱壳能力不强的杀毒软件,对付 

“加壳”后病毒就需要添加两条不同的 

特征记录。如果黑客换--gbD ̄壳工具加 

壳,则对于这些杀毒软件来说又是一种 

新的病毒,必须添加新的特征记录才能 

够查杀。如果杀毒软件的脱壳能力较 

来全球安全业界公认的、解决这一问题 

的最有效利器。但由于编写虚拟机系统 

需要解决虚拟CPU、虚拟周边硬件设 

备、虚拟驱动程序等多个方面的困难, 

即使有雄厚的研发实力。也未必能在短 

时间内达到实用的程度。 

比判断。 

二、加壳、脱壳 

1.什么是加壳 

所谓加壳,是--,ee通过一系列数学 

运算,将可执行程序文件或动态链接库 

文件的编码进行改变(目前还有一些加 

壳软件可以压缩、加密驱动程序),以达 

强,则可以先将病毒文件脱壳,再进行 

查杀,这样只需要一条记录就可以对这 

些病毒通杀,不仅减小杀毒软件对系统 

资源的占用,同时大大提升了其查杀病 

毒的能力。 

2.脱壳 

“马甲”能穿也能脱。相应的,有加 

四、启发式杀毒(启发式代码扫描技 

术) 

病毒和正常程序的区别可以体现 

在许多方面,比较常见的如:通常一个 

应用程序在最初的指令,是检查命令行 

输入有无参数项、清屏和保存原来屏幕 

显示等,而病毒程序则没有会这样做 

到缩小文件体积或加密程序编码的目 

的。 

当被加壳的程序运行时,外壳程序 

壳也一定会有解壳(也叫脱壳)。脱壳主 

要有两种方法:硬脱壳和动态脱壳。 

第一种,是硬脱壳,这是指找出加 

的,通常它最初的指令是直接写盘操 

作、解码指令,或搜索某路径下的可执 

行程序等相关操作指令序列。这些显著 、 

先被执行,然后由这个外壳程序负责将 

用户原有的程序在内存中解压缩,并把 

控制权交还给脱壳后的真正程序。一切 

壳软件的加壳算法,写出逆向算法,就 

像压缩和解压缩一样。由于目前很多 

“壳”均带有加密、变形的特点,每次加 

的不同之处,一个熟练的程序员在调试 

状态下只需一瞥便可一目了然。启发式 

代码扫描技术实际上就是把这种经验 

操作自动完成,用户不知道也无需知道 壳生成的代码都不一样。硬脱壳对此无 和知识移植到一个查病毒软件中的具 

《计算机与厨络》2000年第22期 

安全咖啡屋 

计算机与网络创新生活 

41 

点飘要留 蕊 鸦瞳 藏薅 番 

对于个人用户来说,除了病毒和木 件。这样只要你一打开附件,屏幕上就 

名解析的DNS服务器,然后把DNS—IP 

马,网页中的隐形代码也开始严重地威 会出现无数个新开的浏览器窗口。最后 地址复位到一台他已经拿下超级用户 

胁着我们的安全,但大多数人却缺乏自 

让你不得不重新启动计算机。 

权限的主机。 

我保护意识,对隐形代码的危害认识不 

防范方法:对于这类问题,只能是不 

这类攻击目前在国内很少出现,但 

够,甚至在自己不知情的情况下被别人 要随便打开陌生人寄来的邮件的附件,特 

如果成功的话危害却非常大,而且可能 

窃取了重要资料。因为隐形代码具有比 

别是扩展名是.vbs、.htm、.doc、.axe的附件。 会损失惨重。其攻击方法是:在他已经 

较大的隐蔽性.到目前为止,还没有什 

隐形杀手2:非法读取本地文件 

拿下超级用户权限的那台主机上伪造 

么病毒防火墙能很好地阻止隐形代码 

这类代码典型的作法是在网页中 

个和目标机完全一样的环境。来诱骗 

的攻击,大多数甚至根本就不能发现。 

通过对Activex,JavaScript和WebBrows— 

你交出你的用户名和密码。比如说我 

所以我们更应该高度警惕网页代码中 er control的调用来读本地文件。 

们的邮件甚至网上的银行账号和密码。 

的隐形杀手。 

“隐形杀手2”的代码较之“隐形杀 

因为你面对的是一个和昨天一样的环 

般来说网页代码中的“隐形杀 手1”的特点就是表现方式较隐蔽,一般 

境,在你熟练地敲入用户名和密码的时 

手”大致分为以下几类: 

的人不容易发现隐形代码正在读取自 

候,根本没有想到这不是真正的主机。 

隐形杀手1:占用CPU 

己硬盘上的文件。“隐形杀手2”还能利 

防范方法:上网时,最好关掉浏览 

通过不断地消耗本机的系统资源, 

用浏览器自身漏洞来实现其杀招,如 

器的JavaScript,使攻击者不能隐藏攻击 

最终导致CPU占用率高达100%,使计 

IE5.0的IFrame漏洞。很简单的几行代 的迹象,只有当访问熟悉的网站时才打 

算机不能再处理其他用户的进程。 

码就可以读取你本地硬盘上的任何IE 开它,虽然这会减少浏览器的功能,但 

“隐形杀手1”代码的典型恶作剧是 

可以打开的文件。 

这样做还是值得的。还有就是不要从自 

通过lavaSc邱t产生一个死循环。这类代 

防范方法:可以通过关闭 

己不熟悉的网站上链接到其他网站,特 

码可以是在有恶意的网站中出现,也可 

TavaScript并随时注意微软的安全补丁 

别是链接那些需要输入个人账户名和 

以以邮件附件的形式发给你。现在大多 来解决。 密码的网站。 

数的邮件客户端程序都可以自动调用 

隐形杀手3:Web欺骗 

浏览器来打开HTM/I-ITML类型的文 攻击者通过先攻入负责目标机域 

体程序体现。 启发式杀毒代表着未来反病毒技 

研究而抽取“特征字串”的特征扫描技 

启发式指的是“自我发现的能力” 

术发展的必然趋势,具备某种人T智能 术的查毒软件来说,是不可想象的,是 

或“运用某种方式或方法去判定事物的 特点的反毒技术,向我们展示了一种通 

次质的飞跃。在新病毒、新变种层出 

知识和技能。”一个运用启发式扫描技 

用的、不需升级(较少需要升级或不依 

不穷,病毒数量不断激增的今天,这种 

术的病毒检测软件,实际上就是以特定 赖于升级)的病毒检测技术和产品的可 

技术的产生和应用更具有特殊的重要 

方式实现的动态高度器或反编译器,通 能性。由于诸多传统技术无法企及的强 

意义。 

过对有关指令序列的反编译逐步理解 

大优势,必将得到普遍的应用和迅速的 对于杀毒软件的选择,许多人总是 

和确定其蕴藏的真正动机。例如,如果 

发展。资料显示,目前国际上最著名的 

问别人该用那一个。其实大多数情况 

段程序以如下序列开始:MovAH,5/ 

排名在前五名的反病毒软件产品均声 

下,如果你有一个很干净的的上网习惯 

lINT,13h。即调用格式化盘操作的BIOS 

称应用了这项技术。从来自不同机构和 

(正常的网站被挂马毕竟是少数),不随 

指令功能.那么这段程序就高度可疑值 出处的评测结果来看,纯粹的启发式代 

意打开未知邮件中的附件和链接等等, 

得引起警觉,尤其是假如这段指令之前 码分析技术的应用(不借助任何事先的 

绝大多数的杀软都可以保证你的安全 

不存在取得命令行关于执行的参数选 对于被测目标病毒样本的研究和了 

了!剩下的选择条件就要看你的硬件配 

项,又没有要求用户交互性输入继续进 解),已能达到80%以上的病毒检出率, 置、是否与其他重要软件冲突、使用习 

行的操作指令时,就可以有把握地认为 

而其误报率极易控制在0.1%之下,这对 惯等方面了。 

这是一个病毒或恶意破坏的程序。 

于仅仅使用传统的基于对已知病毒的 

2009年第22期《计算机与厨络》