admin 管理员组

文章数量: 1087139


2024年4月24日发(作者:flash播放器及浏览器官方下载)

病毒防御机制综述

摘 要 病毒的多样性,病毒入侵手段的多样性使得病毒防御已

经不是单一技术手段可以实现的目标,本文讨论了基于主机和网络

的多种病毒防御机制。

关键词 病毒 病毒防御

1 基于主机的病毒防御机制

(1)基于特征的扫描技术

基于特征扫描技术是目前最常用的病毒检测技术,首先需要建

立病毒特征库,通过分析已经发现的病毒,提取出每一种病毒有别

于正常代码或文本的病毒特征,然后根据病毒特征库在扫描的文件

中进行匹配操作,整个检测过程如图1所示。目前病毒主要分为嵌

入在可执行文件中的病毒和嵌入在文本或字处理文件中的脚本病

毒,因此,首先需要对文件进行分类,当然,如果是压缩文件,解

压后再进行分类。解压后的文件主要分为两大类:二进制代码形式

的可执行文件,包括类似dll的库函数,和用脚本语言编写的文本

文件,由于office文件中可以嵌入脚本语言编写的宏代码,因此,

将这样的office文件归入文本文件类型。对可执行文件,由二进

制检测引擎根据二进制特征库进行匹配操作,如果这些二进制代码

文件经过类似aspack、upx工具软件进行加壳处理,在匹配操作前,

必须进行脱壳处理。对文本文件,由脚本检测引擎根据脚本特征库

进行匹配操作,由于存在多种脚本语言,如vbscript、javascript、

php和perl。在匹配操作前,必须先对文本文件进行语法分析,然

后根据分析结果再进行匹配操作。同样,必须从类似字处理文件这

样的office文件中提取出宏代码,然后对宏代码进行语法分析,

再根据分析结果进行匹配操作。基于特征的扫描技术主要存在以下

问题:

由于通过特征匹配来检测病毒,因此无法检测出变形、加密和

未知病毒;

必须及时更新病毒特征库,由于病毒总是在造成危害后才被发

现,因此,它是一种事后补救措施。

(2)基于线索的扫描技术

基于特征的扫描技术由于需要精确匹配病毒特征,因此,很难

检测出变形病毒。但病毒总有一些规律性特征,如有些变形病毒通

过随机产生密钥和加密作为病毒的代码来改变自己,这样,如果检

测到某个可执行文件的入口处存在实现解密过程的代码,且解密密

钥包含在可执行文件中,这样的可执行文件可能就是感染了变形病

毒的文件。基于线索扫描技术通常不是精确匹配特定二进制位流模

式或文本模式,而是通过分析可执行文件入口处代码的功能来确定

该文件是否感染病毒。

(3)基于完整性检测的扫描技术

完整性检测是一种用于确定任意长度信息在传输和存储过程中

是否改变的技术,它的基本思想是在传输或存储任意长度信息p时,

添加附加信息c,c是对p进行报文摘要运算后的结果,具有如下

特性:

给定任意长度信息p,能够很容易地计算出固定长度的c(c=md

(p),md是报文摘要算法),且c的位数远小于p的位数;

知道c,不能反推出p;

从计算可行性讲,对于任何p,无法找出另一任意长度信息p’,

p≠p’,但md(p)=md(p’);

即使只改变p中一位二进制位,也使得重新计算后的c变化很

大。

这样,可以对系统中的所有文件计算出对应的c,将c存储在某

个列表文件中,扫描软件定期地重新计算系统中文件对应的c,并

将计算结果和列表中存储的结果进行比较,如果相等,表明文件没

有改变,如果不相等,表明文件自计算出列表中存储的c以后已经

发生改变。为了防止一些精致的病毒能够在感染文件的同时,修改

文件的原始报文摘要,可以采用图2所示的检测过程,在计算出某

个文件对应的原始报文摘要后,用扫描软件自带的密钥k对报文摘

要进行加密运算,然后将密文存储在原始检测码列表中,在定期检

测文件时,对每一个文件同样计算出加密后的报文摘要,并和存储

在原始检测码列表中的密文进行比较。

基于完整性检测的扫描技术只能检测出文件是否发生改变,并

不能确定文件是否被病毒感染,另外,必须在正常修改文件后,重

新计算该文件对应的原始检测码,并将其存储在原始检测码列表

中,否则,在定期检测过程中扫描软件会对该文件示警。由于系统

中文件经常发生改变(复制和删除),而且有的文件经常修改,需

要用户经常干预,以此保持原始检测码列表中内容的完整性和一致

性,这可能使用户感到不便。如果文件在计算初始检测码前已经感

染病毒,这种检测技术是无法检测出的,但如果该病毒在系统内感

染其他文件,则可以检测出被感染的其他文件。

(4)基于行为的检测技术

病毒为了激活、感染其他文件、对系统实施破坏操作,需要对

系统中的文件、注册表、引导扇区及内存等系统资源进行操作,这

些操作通常由操作系统内核中的服务模块完成,因此,当某个用户

进程发出修改注册表中自动启动项列表、格式化文件系统、删除某

个系统文件的操作请求时,可以认为该用户进程在实施病毒代码要

求完成的操作。为了检测某个用户进程是否正在执行病毒代码,可

以为不同安全等级的用户配置资源访问权限,用权限规定每一个用

户允许发出的请求类型、访问的资源种类及访问方式,病毒检测程

序常驻内存,截获所有对操作系统内核发出的资源访问请求,确定

发出请求的用户及安全等级,要求访问的资源及访问模式,然后根

据为该安全等级用户配置的资源访问权限检测请求中要求的操作

的合法性,如果请求中要求的资源访问操作违背为发出请求的用户

规定的访问权限,表明该用户进程可能包含病毒代码,病毒检测程

序可以对该用户进程进行干预并以某种方式示警。基于行为的检测

技术可以检测出变形病毒和未知病毒,但一是在执行过程中检测病

毒,有可能因为已经执行部分病毒代码,已经对系统造成危害。二

是由于很难区分正常和非正常的资源访问操作,无法为用户精确配

置资源访问权限,常常发生漏报和误报病毒的情况。

(5)基于模拟运行环境的检测技术

模拟运行环境是一个软件仿真系统,用软件仿真处理器、文件

系统、网络连接系统等,该环境与其他软件系统隔离,其仿真运行

结果不会对实际物理环境和其他软件运行环境造成影响。当基于线

索的检测技术怀疑某个可执行文件或文本文件感染病毒时,为了确

定该可执行文件或文本文件是否包含病毒,需要事先建立已知病毒

的操作特征库和资源访问原则,病毒的操作特征是指病毒实施感

染、和破坏时需要完成的操作序列,如修改注册表中自动启动项列

表所需要的操作序列,变形病毒感染可执行文件需要的操作序列

(读可执行文件、修改可执行文件、加密可执行文件、写可执行文

件)等,然后,在模拟运行环境中运行该可执行文件或文本文件,

并对每一条指令的执行结果进行分析,如果发生某种病毒的操作特

征时,如修改注册表某个特定键的值,或者发生违背资源访问原则

的资源访问操作时,确定该可执行文件或文本文件感染病毒,如果

直到整个代码仿真执行完成都没有发生和操作特征库匹配的操作,

或违背资源访问原则的资源访问操作,断定该文件没有感染病毒,

由于整个代码的执行过程都在模拟运行环境下进行,执行过程不会

对系统的实际物理环境和其他软件的运行环境产生影响。

2 基于网络的病毒防御机制

基于网络的病毒防御机制主要用于隔断病毒的网络传播途径,

终止蠕虫病毒的自我复制过程,防止感染病毒的主机发起dos(拒

绝服务)攻击。

(1)防火墙

防火墙的功能就是实施网络资源的访问控制策略,监控内部网

络与外部网络之间的分组交换过程,可以通过配置有效的访问控制

策略隔断病毒的网络传播途径和木马客户端与服务器端的通信过

程。

图3给出了利用防火墙阻止木马客户端与服务器端通信的机制,

假定防火墙配置的访问控制策略只允许内网终端发起访问外网web

服务器,防火墙只允许图3(b)所示的分组类型和分组交换过程进

行,即首先由内网终端发起建立与外网终端目的端口号为80的tcp

连接,然后,由内网终端经过tcp连接发送http请求报文,由外

网终端经过tcp连接发送对应的http响应报文。这种情况下,木

马服务器端只能发起与木马客户端目的端口号为80的tcp连接,

而且木马服务器端发送给木马客户端的数据必须封装成http请求

报文格式,且符合http请求报文要求的语法和语义规范,同样,

木马客户端发送给木马服务器端的数据必须封装成http响应报文

格式,且符合http响应报文要求的语法和语义规范,这将给木马

的编写造成很大困难。因此,只要精心配置防火墙的访问控制策略,

几乎很少有木马可以通过防火墙实现客户端与服务器端的通信过

程。

另外,防火墙可以对外网web服务器传输给内网终端的文本文

件进行检测,一旦发现嵌入脚本病毒的文本文件,通过丢弃该文本

文件隔断病毒的传播途径。由于不允许由外网终端发起建立与内网

终端的tcp连接,因此,外网终端很难通过利用内网web服务器的

漏洞向内网中的web服务器传播蠕虫病毒。

(2)入侵防御系统

入侵防御系统通过检测流经关键网段的信息流,发现可能存在

的病毒传播过程,并予以制止。如图4所示,两个探测器可以检测

到所有跨交换机传输的信息流,通过对流经探测器的信息流进行实

时监控,鉴别出和病毒传播有关的分组,并予以丢弃。鉴别和病毒

传播有关的分组的机制主要有两种:一是通过分析已有的病毒传播

机制,提取出病毒传播的操作特征,即传播病毒过程需要且有别于

正常信息交换过程的操作序列,如传播某个蠕虫病毒,需要主机扫

描(产生大量原ip地址相同、目的端口号为80的建立tcp连接请

求报文)、发送特殊http请求报文(超长,且包含特定引导程序代

码),建立反向连接(源和目的ip地址互换的建立tcp连接请求报

文)等操作。二是建立正常情况下特定流量的阈值,如电子邮件平

均流量。如果流经探测器的信息流模式和某种病毒的操作特征匹

配,如通过检测信息流,发现某个终端进行了符合主机扫描、发送

特殊http请求报文、建立反向连接等操作模式的一系列分组交换

过程,确定该终端正在实施蠕虫病毒传播过程,可以通过在一段时

间内丢弃由该终端发送的全部ip分组,来隔断蠕虫病毒的传播途

径。如果探测器在某段时间内检测到的电子邮件流量超过正常情况

下建立的流量阈值很多(如达到两倍流量阈值),表明网络中正在

扩散电子邮件病毒,通过在一段时间内丢弃所有电子邮件来阻止电

子邮件病毒的传播。

3 数字免疫系统

(1)系统组成

数字免疫系统组成如图5所示,由客户机、管理机和病毒分析

机组成。

客户机是安装病毒检测软件的终端,该病毒检测软件需要具有

基于特征扫描和基于线索扫描的能力;

管理机负责某个子网的管理工作,并负责和病毒分析机之间的

通信;

病毒分析机是数字免疫系统的核心,在模拟运行环境中逐条解

释可能感染病毒的可执行文件或文本文件,监控每一条指令的操作

结果,确定该可执行文件或文本文件是否存在病毒,分析病毒的感

染和破坏机理,形成检测该病毒的行为特征和代码特征。

(2)工作原理

客户机通过自身的病毒检测软件发现可疑文件,将可疑文件发

送给管理机,管理机和客户机位于同一子网内,传输的安全性有所

保证,但管理机和病毒分析机可能通过公共传输网络互连,因此,

将可疑文件传输给病毒分析机时需要进行加密处理,以确保传输的

安全性。

病毒分析机在模拟运行环境中逐条仿真可疑文件代码,并监控

每一条指令的执行结果,分析病毒的感染和破坏机理,形成检测该

病毒的行为特征和代码特征,以及基于多种特定扫描技术的检测规

则,将这些信息加密处理后发送给各个子网的管理机,管理机解密

后,传输给子网内的所有客户机,客户机病毒检测软件根据这些信

息及时更新病毒特征库,如行为特征库、代码特征库,添加对应的

检测规则。完成更新后的客户机病毒检测软件将有能力发现并处理

被该病毒感染的文件,阻止该病毒进行的感染和破坏操作。


本文标签: 病毒 检测 文件 操作 访问