您现在正在浏览:首页 > 职教文章 > 职教论文 > 计算机病毒检测技术分析与对比

计算机病毒检测技术分析与对比

日期: 2010/3/24 浏览: 73 来源: 学海网收集整理 作者: 佚名

【文章编号】1007.9467(2007)10—0107—04



计算机病毒检测技术

分析 与对 比

■ 李果 (新 疆水利水 电勘 测设 计研 究院,乌鲁 木齐 830000)

【摘 要】介绍目前主流的计算机病毒扫描检测技术,并做 了

一 些分析对比,使我们能够对各种病毒检测技术有所认识 ,

对病毒的检测技术和发展趋势发展加以探讨

【关键词】病毒;检测;查毒引擎

【中图分 类号】TP393.08 【文 献标志码】B

提起计算机病毒检测技术 ,我们 就需要针对各

种病毒进行一个分类 ,因为现有主流病毒检测技术

都是基于对病毒分类 的把握 ,从而研制 出来 的针对

性 引擎 。

1 计 算机病毒 的分类

我 国正式颁布实施 的《中华人 民共和 国计算机

信息系统安全保护 条例》 第二十八条 中明确指 出:

“计算机病毒,是指编制者在计算机程序 中插入 的

破坏计算机功能或者 毁坏数据 ,影 响计算机使用 ,

并能 自我复制的一组计算机指令或者程序代码 。”

这是我 国对于计算机病毒 的正式定义 。但是在实际

情况 中,所有会对用户 的计算机 安全产 生威胁 的,

都被划入 了广义的病毒范畴。

病毒大致分为 以下几类 :传统病毒、宏病毒 、恶

意脚本、木马、黑客工具 、蠕虫 、其它破坏性程序。

1)传统病 毒(Virus):通 过 改变 文件 或者其他 东

西进行传播 ,通常分为感染可执行文件的文件 型病

毒和感染引导扇区的引导型病毒。

2 宏 病毒(Macro):利用 Word、Excel等 的宏 脚

本功能进行传播的病毒 。

3 恶意脚本(Script):做破坏的脚本程序 。包括

HTML脚本、批处理脚本 、VB、JS脚本等 。

4)木马程序(Trojan):当病毒程序被激活或启动

后用户无法终止其运行 。广义上说 ,所有 的网络服

务程序 都是木马 ,判 定是否是木马病毒的标 准比较

模糊 ,通常的标准是:在用户不知情 的情况下安装 ,

隐藏在后 台,服务器端 一般没有界面无法配置。

5 黑客程 序(Hack):利用 网络 来攻击 其他计 算

机 的 网络 工具 ,黑客程序 是用来攻击 、破 坏别人 的

计算机 ,对使用 者本身 的机器没有损 害 ,常配合 木

马程序 。

6)蠕虫程序(Worm):蠕 虫病毒是一种可以利用

操作 系统的漏洞 、电子 邮件 、P2P软件等 自动传 播

自身的病毒 。

7)破坏 性程序(Harm):病毒启动后 ,破坏用户计

算 机系统 ,如删 除文件 、格 式化 硬盘等 。常见 的是

bat文件 ,也有一些是可执行文件 ,有一部分和恶意

网页结合使用 。

2 计算机病毒检测技术

常见病毒检测 技术有 :特 征码过滤 技术 、智 能

广谱扫描技术 、启发扫描技术 、虚拟机技术 ,其 中特

征码过滤技术这些年来一直被使用 ,并且是 目前的

主流病毒检测 技术 。还有就是近年迅速 发展 的主动

防御技术。下面分别介绍技术细节:

2.1特征码过滤技术

商业反病毒 公司在获取病毒样本后 ,提取 出其

特 征码 (特征码 最初指病毒体 内可惟 一代表 该病 毒

107

维普资讯 http://www.cqvip.com



的字符 串作 为特征码)。这是一 串表 明病毒 自身特

征的十六进制 的字 串,特征码一般都选得较长 ,有

时可达数十字节 ,一般 也会选取多个 以保证正确判

断。然后通过该特征码对各个文件或 内存等进行扫

描。如果发现这种特征码,这说明感染 了这种病毒 ,

然后针对性地解 除病毒 。

通常选择特征码是按照 以下思路 :

1)获取一个病毒程序 的长度 ,根据长度可 以将

文件分为几份 ,一般 是 3份 ~5份 ,也可 以更多 。这

种选取 的优 点是分成几段 获取特 征码 的方 法可 以

很大程度上避 免采用单 一特 征码 误报病 毒现象 的

发生 ,也可 以避免特征码过于集 中造成的误报 。

2)从每份中选取通常为 16个或 32个字节长 的

特征 串。

在选取时,应该采取如下的原则:

首先,如果选 出来 的信息是通用信息 ,即很 多文

件 该位 置都是一样 的信 息 ,那么舍 弃 ,调整偏 移量

后重新选取 。其 次,如果选取 出来 的信息是全零 的

字节 ,那么也要调整偏移后重新选取 。当然调整 的

偏移量 多少可 以人为事先规定 ,也可 以自动随机调

节 。最后 ,将选取 出来的几段特 征码 及它们 的偏移

量存入病 毒库 ,标示 出病毒的名称 即可 。为 了方便

选取特征码 ,通 常根据 以上 的思路编 写出特征码提

取程序 ,自动提取特征码 并作 为病毒记录存入病毒

库 。

2.2 智 能广谱扫描技术

为了躲避 杀毒软件 的查杀 ,一部分 电脑病 毒开

始进化 。逐渐演变为变形的形式 ,每感染一次,就对

自身变 一次形 ,通过对 自身 的变形来躲避查杀 ,这

样对 于同一种病 毒的变种病 毒大量增加 ,甚至 可 以

到达天文数 字的量级 。大量 的变形病 毒不 同形态 之

间甚至可 以做到没有超 过三个连 续字节是相同的。

这使得上面传统的特 征码技术对抗 乏力 ,病毒库急

剧增加却没有较好的应对措施。

为 了对付这种情况 ,首先特征码 的获取不可能

再是简 单的取 出一段代 码来 ,而是分段 的 ,中间可

以包含任意的内容 (也就 是增加 了一些不参加 比较

的“掩码 字节 ”,在 出现“掩码字 节 ”的地方 ,出现 什

1f】8

么 内容都不参加 比较)。这就是商业公司宣称 的广

谱特征码的概念 。虽然病毒本身可 以组合 自己的代

码 ,但 代码必然要在 同一块堆栈 中运 作 ,只要在 第

一 个特 征码附近搜索第二个第三个 ,通过分散的特

征码小片断来提高命中率 。这样在极大程度上提高

了特征码的通用性并降低 了误判率 。

2.3 启发扫描技术

新病 毒不断出现 ,传统的特征码查毒法完全 不

可能查出新 出现的病毒 。为 了更好 的检测病毒家族

相关 的恶 意代码 ,启发式扫 描技术产 生 了,启发 式

扫描是通过分析指令 出现 的顺序 ,或特 定组合情 况

等常见病 毒 的标准特 征来决 定文件是 否感染未 知

病毒 。

因为病 毒要达到感染和破坏 的 目的,通常 的行

为都会有 一定 的特征 ,例如 非常规读 写文件 ,终 结

自身,非 常规切入系统底层空 间(RingO:零环1等 等。

所 以可 以根 据扫描特定 的行为或 多种行 为的组合

来判断一个程序是否是病毒 。由于一个病毒总存在

其 与普通程序 不一般 的地 方 ,譬如 他会格式 化硬

盘 、重定 位 、改回文件 时间、修 改文件大 小、能够传

染等等 。这样 ,我们就可 以对每一类病毒特征进行

加权 评估 ,譬 如重定位 3分 ,格式 化硬盘 15分 ,传

染 10分 。这样 ,如 果一个程序拥有这 3个功能 ,他

就得到 了 28分 。如果我们 设定判断一个病毒 的标

准是 20分 ,那么这个程序 在遇 到采用 了启发式扫

描技术 的杀毒软件时 ,杀毒软件就会报警发现新病

毒 ,这就是启发式扫描技术的核心 。

2.4 虚拟机技术

随着病 毒技术 的发展 ,加密技术渐 渐成 熟起

来 ,很 多病 毒 的特征 都不再那么容 易提 取 ,而 且许

多新 生代的木马 、后 门、蠕 虫病毒都开 始使用加 密

技术来躲避检测和查杀。虚拟机查毒技术就是为对

抗此类病毒 出现 。

所谓虚拟机技术 ,就是用软件先虚拟一套运行

环 境 ,让病毒先在 该虚拟环 境下运行 ,这 样可 以分

析病毒的执行行为 。并且 由于加 密的病毒在执行 时

最终还是要解 密的,这样在其解密之后我们可 以通

过特征码查毒法对其进行查杀 。虽然病毒通 过各种

维普资讯 http://www.cqvip.com



方式来 躲避杀毒软件 ,但 是当它运行 在虚拟机 中

时,它 并不知道 自己的一切行为都在被虚拟机所监

控 ,所 以当它在虚拟机 中脱去伪装进行传染 时,就

会被虚拟机所发现。如此一来,利用虚拟机技术就可

以发现大部分的变形、加密病毒和大量的未知病毒 。

2.5 主动防御技术

主动防御技术是这一两年才 出现 的新技术 ,同

样 ,它的 目的是为 了对抗 日益增加 的未知恶意代码

的威胁 。目前单纯依靠“特征码技术”已经不能适应

反病毒需求 。所谓“主动防御 ”,就是全程监视进程

的行为 ,一旦发现“违规 ”行为,就通知用户 ,或者直

接终止进程。它类似 于警察判断潜在罪犯 的技术 ,

在成为一个罪犯之前 ,大多数的人都有一些异常行

为,比如“性格孤僻 ,有暴力倾 向,自私 自利 ,对现实

不满 ”等 先兆 ,但 是并不 是说有这些先 兆 的人 就都

会发展为罪犯 ,或者罪犯都有这些先兆 。因此“主动

防御 ”并不能 100%发现病毒 ,它 的成功率大概在

60%~80%之间。如果再加上传统的“特征码技术 ”,

几乎可 以发现近 100%的恶意程序 了。

目前 在 国外 ,Norton、Kaspersky、McAfee等 杀

毒 巨头 ,都 已经 向“主动 防御 ’'+“特 征码技术 ”过渡

了,这是杀毒软件 的必然发展趋 势 。目前主动 式防

火墙是一个运用“主动 防御 ”技术的典型例 子,有经

验的用户应 该对于防火 墙经常询 问用户 是否放行

一 个进程访 问网络,或者有不 明连接进入本机而发

出警 告印象深刻 。其实,防火墙就是在全程监视进

程 的网络行为,一 旦发现违反规则 的行为就发 出警

告,或者直接根据用户设定拒绝进程访问网络 。

当然 ,现 在的防火墙一般 都把系统 网络进 程

(比如 services.exe,svchost.exe,lsass.exe等)记在“收

信名单”里,这些进程是默认允许访问网络的,如果

禁止 的话,操 作系统就 不正常 了,这也 是现在很 多

病毒和木 马都喜欢使 用远线程注 入这些 系统进程

以突破 防火墙而访 问网络的原因。

主动防御 技术实现方法 的理论依据如下:

有过程序编写经验人知道 ,在一个程序里 如果

要实现 自己的功能就 必须要通过接 口调 用操作系

统提供的功能函数,在 DOS里几乎所有 的系统功

能或第三方插件 都是通过 中断提供 的,在 Windows

里一般是通过 DLL里的 WindowsAPI提供,也有少

数通过 INT2E或 SYSENTER提供 。一个进程有怎

样 的行为 ,通过看它调用 了什么样的 API就大概清

楚了。例 如,国际知名 的杀毒软件卡 巴斯基 ,大家可

以在它 的安装 目录里和系 统 目录下 发现它 的相关

驱 动文件 ,这些驱动 挂接 了ntoskrn1.exe,ndis.sys等

系 统关键模 块里 的 API,从而对进程 的普通行 为、

网络行为 、注册表行为进行监视 的。

主动防御技术 的一般流程 :通过挂接系统建立

进程 的 API,杀毒软件就在一个进程建立前对进程

的代码进 行扫描 ,如果发现 SGDT,SIDT,自定位指

令(一般正 常软件不会有这些指令),就提示给用户 ,

将选择权力交付给用户 。如 果用户放行 ,就让进程

继续运行 。然 后监视进程调用 API的情况 ,如果发

现 以读写方式打开一个 PE格式 的 EXE文件 ,这说

明该进程 的线 程有 可 能是感 染 PE文件 的操作 行

为 ,就发 出警告。同样 ,如果网络监视器发现收发数

据 违 反 了规 则 ,也发 出提 示 。如果 进 程 调 用 了

CreateRemoteThread0函数在其它进程 中创建线程 ,

也会发出警告 。并且可 以根据这些多方面结合来直

接侦测确认一个木马程序。偌 :CreateRemoteThread0

是一个非常危险的 API,正常进程很少用到 ,但 却

被病毒木马频繁使用)。

3 技 术 比较

以下简单 总结对 比各种病毒检 测技术 的优缺

点 : ·

3.1 特征码技术

在病毒发展的早期,特征码技术在对抗病毒方

面发挥 了巨大的作用 ,它今天依然是整个反病毒体

制的最基本支撑技术 。但现在变形技术 已经被病毒

广泛采 用 ,它只能跟 在病 毒 的后面 ,对 未知病毒 即

病毒库 中没有特征的病毒几乎不能检测。同时也对

象 GhosffOne—Half病 毒 与 Casper病毒 /Natas病 毒

这种可将 自身变化千亿种 ,甚至无穷种变 化的变 形

病毒无 能为力。在这类病毒面前 ,单纯的特 征码 技

术 已完全失去作用 。

维普资讯 http://www.cqvip.com



1设计信息化

.毗i0n si

3.2 智能广谱扫描技术

广谱特征码技术在一段 时间内,对于处理某些

变形 的病毒提供 了一种方法 ,曾是对 抗变形病 毒的

利器 。但其缺点是使误报率大大增加 ,所 以采 用的

这个技术 目前 已不能有效的对新病毒进行查杀 ,并

且还可能把正规程序当作病毒误报给用户 。

3.3启发扫描技术

启发查 毒技术是现在 对付 未知威胁 的主要手

段 ,通 常伴随其 它检测技术一 起工作 ,比如主动 防

御 。启发分析技术可 以分析程序编码 ,来判 定程序

是否具有恶意 。启发杀毒技术 中最先进 的动态启发

分析技 术会将应 用程序 的编码 复制到杀毒 软件 的

模 拟缓冲区 中 ,并使用特别 的“技巧 ”模拟其执行 。

启发式扫描 比起 静态的特征码扫描要先进得多 ,可

以达到一定的未知病 毒处理能力 ,但缺 点是会有不

准确(虚警)的时候 。特别是 因为无法确定是否一定

是病毒,而不可能做未知病 毒杀毒 。

3.4 虚拟机技术

虚拟机技术能够对未知病毒进行判别 ,对标准

病毒准确率高,在对反虚拟机 的变形病毒或加密病

毒上 ,效果不理想且误报率高 。尽管虚拟机技术在

杀毒软件 中应用很 多。不过现在 由于效率 问题 ,只

能解决部分问题 ,并且简化的虚拟机完整程 度还远

远不能和我 们一般理解 的 VMWare的那 种虚拟 机

相比。同时也因为效率 问题 ,行 为判 断不能做得 非

常复杂 。 目前一些设计先进的病毒 ,能够识 别出这

种简化虚拟机环境和真实环境的差别 ,在这种环境

下不发作或破坏虚拟机 。

3.5主动防御技术

主动 防御系统可 以控制 、限制进 程行 为,能够

禁止更改或者添加注册表 ,能否拦截对文件 的有害

操作 。当未知程序试 图偷偷运行和修改系统关键数

据 时,它 的行 为就会被主 动防御系统检 测到 ,然 后

弹出警告 ,询 问用户是否允许相关操作 。

如果用户拥有 足够 的软件和 系统进程 方面 知

识的情况下,利用主动防御系统软件能非常有效的

防止木马或者病毒对系统 的危害 。运用得好甚 至可

以摆脱对传统杀毒软件 的依赖 。目前流行的行为杀

毒其实就是主动 防御系统功能的智能化 ,不过 由于

智能判断算法和行为数据库还需要完善 。目前 的主

动防御技术很难 100%的拦截恶意行为。

表 1对 抗 病 毒 效 能 参 数 对 比

注 :该表格为各类 主流 技术 的对 比,部分 以差 、良、优三

个分值标 识。部分 以低 、中、高三个分 值标识 。

4 展望

以上介绍 了各 种商业公 司使 用 的主流 反病毒

技术 ,这些技 术各有千秋 ,目前商用公 司均 以多种

技术配合在其产 品中实施 ,用 以达到最高的保 护效

果。启发扫描技术和虚拟机技术成熟安全 ,但 是受

制于现在 的软件硬件 能力 ,不能做到细致完善。主

动 防御技术可 以接近完美的控 制系统 ,但是智 能化

程度 尚无法令人满意,其操作烦琐对用户要求也高。目

前看来,单一的技术无法应对各种未知威胁 ,技术 的

融合 和并用将 是未来几 年 内的趋 势 。而从 长远看

来 ,基于人工智 能和神经 网络 的更智 能的多模式检

测技术,将势必会走入我们 的视野 ,期待那一天 。

【参 考文献】

【l】(美 )PeterSzor.计 算机病毒 防范艺 术[M】.段海 新,等译 .北

京 :机械 工业 出版社 ,2007.

[2]killer.反病 毒理念、历史、现状 与未来 [EB/OL].http://blog.

xfocus.net/,2007.

[3]killerSymbian.平 台 反 病 毒 技 术 [EB/OL].http://www.

unnoo.corn/research/article/,2007.

【4】李辉 .黑 客攻 防 与计 算机病 毒分析检 测及安全解 决方案

[M】.北京 :电子信 息技术 出版 社,2006.

【收稿 13期 12007.06.17

李果 (1972~),女 ,江 苏宜兴 人,工程师 ,从事计 算机

管理 与应 用 ,(电子信箱)wlmqlee@126.tom。

维普资讯 http://www.cqvip.com




计算机病毒检测技术分析与对比.pdf

返回顶部