打印

[分享] 一篇好文,虽然比较旧了

一篇好文,虽然比较旧了

计算机存储体系防病毒结构

吴成峰 卢小林

  【提要】 本文提出了一种计算机存储体系的防病毒结构,分析了在存储体系中防病毒的具体方法,为从计算机存储体系上防止病毒提供了新的途径.
  关键词:存储器,系统控制,病毒

The Storage Architecture for Anti-Virus

Wu Chengfeng,Lu Xiaolin
(Information Department,Zhejiang Institute of Finance & Economics,Hangzhou 310012)


  Abstract: A new concept of the storage architecture for anti-virus application is presented.The anti-virus method is discussed in detail.It is a new way for anti-virus application in fundamental storage architecture.
  Key words: Storage architecture,System control,Virus

一、引 言

  近年来,计算机病毒的肆虐,严重地妨害了计算机领域许多成果的推广、应用和普及,广大用户为此付出巨大的代价.同时,计算机病毒还被作为计算机犯罪的一种方式和手段,通过将病毒注入计算机系统,篡改和破坏重要数据、程序,甚至造成整个系统崩溃,后果不堪设想.在某些场合,出于报复和竞争的需要,计算机病毒被用作窃取情报机密的重要工具,致使对方在经济、政治、军事等方面失密,损失惨重.事实表明,计算机病毒已经成为社会一大公害.
  另一方面,计算机病毒的制作技术日趋工程化.现有的计算机病毒对抗技术一直滞后于新病毒的产生.往往是新病毒出现,造成危害并被人们发觉后,才对其进行剖析,将新病毒的特征码或新病毒代码添入病毒谱库中.这就要求这种反病毒技术必须不断地升级和更新,无休止地被新病毒所牵制.
  目前,对抗计算机病毒普遍采用的技术方法有:第一种是纯软件方法.该方法是将具有一定辨识功能的程序装入内存,使之常驻,以监视是否有病毒入侵系统.另一种纯软件方法是使用消毒程序,由人工不定时地运行此程序,以期检测和消除磁盘引导区和磁盘文件中的病毒.上述纯软件方法有以下缺陷:(1)系统控制权低;(2)滞后于新病毒的出现;(3)占用系统资源多;(4)消毒困难.
  第二种是防病毒卡方法.此法是将防病毒程序和若干病毒代码或病毒特征码固化在卡上.由此可以避免病毒对防病毒程序的传染,并具有较高的优先级.但此方法的缺陷除了与第一种方法的缺陷基本相同外,还会与系统发生资源冲突,无端地导致死机和误报.
  本文旨在通过对计算机病毒入侵机制的研究,提出一种能够对抗病毒传染的计算机存储体系结构,使当前的反病毒技术从被动地位解脱出来,不再为病毒泛滥所困扰,为从根本上排除计算机病毒的侵害,探索一条途径.

二、复制行为和病毒传染

  计算机系统中的复制是一种代码的复制,并不发生物理实体的转移.一个复制行为必须具备复制源(简称源)、通路和复制目标(简称目标)三个客体及一个操纵这四个要素.示意图1. 

图1 复制行为要素示意图

  源(原来)代码经过操纵(复制程序)的读操作并在其控制下,该代码信号经过通路,操纵通过写操作,在目标的物理宿主产生复制目标(副本).上述读/写操作和代码信号传送,不论是以中断方式还是以DMA方式的复制行为,都是必需的.对于一个有意义的复制,源和目标通常并不占用同一物理宿主部分.源和目标的物理宿主应是具有记忆功能的部件,如计算机中的内存、磁盘等.通路是连接源和目标的物理桥梁,而操纵则是CPU可执行的复制程序.整个复制行为的完成,上述四个要素及其功能不能缺一.在单机中,代码从源(如磁盘文件)向目标(如内存)的复制是在操纵(读/写指令构成的程序)的控制下,代码信号经过数据总线(DBUS)传送来完成.而网络节点间的复制,则还要通过网络链路才能完成.
  已经知道,计算机病毒有若干基本特征,但其中的如下两个特征是同时必有的,否则便不能成为计算机病毒:
  (1)可执行性.计算机病毒必然包含至少一段可执行代码,该代码的逻辑功能由病毒制作者设计.
  (2)传染性.即计算机病毒的自我复制功能.
  由于计算机病毒是纯软件产物,病毒代码的执行必借助于宿主机CPU进行,其具体内容我们难以料定.病毒的传染,同样必须借助宿主机才能完成,但其传染的目标却是已知的.本文即是基于病毒传染性这一必备的基本特征,研究防病毒计算机存储体系结构.
  计算机病毒的传染属于复制行为,病毒的传染完全具备上述复制行为特点.因而只要事先控制上述任一要素,就可阻断计算机病毒的传染.

三、计算机存储体系的防病毒结构

  当前计算机硬件系统中主要的和使用最多的存储部件是内存和磁盘,因而它们可以作为计算机病毒传染的源.如果上述部件具有可写属性(如内存中的RAM,未加写保护的磁盘等),则可作为病毒传染的目标.据二中分析,只要设法对上述四个复制要素中的一个施加控制,使内存和磁盘不具备可写属性,就可达到防止计算机病毒传染的目的.据此,可以构造一个防病毒计算机存储体系,它包括硬盘防病毒传染和内存防病毒传染两个部分.
  1.硬盘防病毒传染
  (1)整盘物理写保护.目前的硬盘是开放性结构,不具有物理级写保护功能.应用参考文献[4]提出的方法,简单地将写保护柱面号设至硬盘的最大柱面号,即可对整个硬盘实施写保护,从而能够防止任何计算机病毒对该硬盘的传染.但对仅有一个硬盘的计算机,用户程序和需要以硬盘作为虚拟存储器的某些系统软件无法适用.
  (2)硬盘分区物理写保护.这是指将一个物理硬盘至少分成两个分区,使之对应两个逻辑盘,如C盘和D盘,将写保护柱面号设定为C盘的末柱面积,则实现了逻辑盘C写保护.这种分区写保护能够有效地防止任何计算机病毒对C盘的传染和破坏.而逻辑盘D则可正常读/写,用户程序的数据和系统软件的虚拟存储区及临时文件的建立和访问应指定在D盘上进行.这种方法能保障由C盘加载的操作系统和其它程序无任何病毒,因而最初引导的系统是干净的.这种方式能适应当前的多数应用,只是对要求必需在C盘进行写操作的个别软件不能适用.
  (3)磁盘文件物理写保护.这是一种理想的磁盘文件防病毒传染机制.以DOS文件结构为例说明其基本原理,参见图2. 

图2 DOS文件物理写保护示意图


  设硬盘上的A文件已被写保护,这就意味着:
  (1)文件在硬盘上占据的盘簇已被物理写保护(具体方法参见文献[4]);
  (2)在硬盘指定一个专用的物理写保护区域(设取名LOGON区).有关A文件的FDT和FAT数据已在干净的环境下,通过运行一个写保护程序被登录其中,如图2中“保存”线所指.然后使LOGON区进入写保护状态.这样,在LOGON区便保存着A文件的FDT和FAT数据副本.
  为了适应新建文件或修改其它文件时对系统FDT和FAT进行写操作的需求,硬盘系统FDT和FAT所在扇区不许实施物理写保护.但要使A文件的系统FDT和FAT数据不被改写,可采用如下一简明的算法:在计算机通常运行的情况下,每当对硬盘有任何写操作时,如果涉及到A文件的系统FDT和FAT数据所在的硬盘物理扇区,例如,当建立一个新文件而这个新文件的系统FDT或FAT数据恰被OS安排在A文件的系统FDT或FAT数据同一扇区中时,则能通过文献[4]给出的方法所感知,从而确定LOGON区域中的哪些FDT或FAT数据要重新写入系统FDT和FAT中的原处.本体系中的附加逻辑随即通过:
  (1)读盘,也即将A文件的系统FDT或FAT数据所在扇区读入内存;
  (2)覆盖,也即将LOGON区中A文件的FDT或FAT数据副本读入内存,并用它在内存覆盖掉上述(1)中有关A文件的FDT或FAT数据;
  (3)写盘,即是将(2)处理好的FDT或FAT数据回写至对应的系统FDT和FAT原处.这样,A文件的系统FDT和FAT数据以及由FAT指向的属于A文件的物理扇区内容均不能被修改,也即A文件处于写保护.
  对于FDT和FAT常驻内存的OS,应用以下2所述方法,将更加容易实现系统FDT和FAT物理写保护.
  2.内存系统区防病毒传染
  计算机病毒引入内存并被CPU执行后,往往修改系统常驻内存部分.以取得系统的某些控制权,达到传染或破坏的目的.最常见的是修改中断向量表、BIOS数据区和系统常驻内存的某些驱动程序.为了研究方便,我们把系统常驻内存部分分成两类,一是禁止修改类,二是条件允许修改类.如中断向量表中的INT 13h及其在RAM中的程序段归于禁止修改类.有的软件加载时要求修改系统常驻的某些部分,以便创造一个适于自身运行的环境.对于这类情形,应允许修改,但须取得操作者的认可,这就是条件允许修改.为了达到上述目的,在CPU和内存之间附加一个电路,如图3所示.其中包括控制逻辑、按位寻址的高速RAM及其周围电路(图3中的M)和内存控制电路.  

图3 内存系统区写保护逻辑图

  工作原理如下:
  (1)主机从硬盘上处于写保护的系统文件装入干净的OS(如DOS)至RAM中.
  (2)接着自动执行一个初始化程序,经按位寻址存储器读/写控制,控制逻辑将M的-MEMW/MEMR与系统的-MEMW接通,使之有效.于是可将一个具有物理写保护属性的硬盘数据文件的内容写入按位寻址的高速RAM中(在M中).
  (3)随后,经控制逻辑将M的-MEMW/MEMR与系统的-MEMW断开,使M处于只读状态,初始化完毕.
  (4)当某程序(非法的或合法的)要写内存时,ABUS信号同时进入M中,M输出对应于该地址的控制位.设该位为“1”时表示禁止写,该位为“0”时表示允许写.
  (5)这样,即可保护内存中的若干指定地址单元不被改写,其控制精度为地址线分辨精度,在微机中可达字节级.
  (6)对于合法程序需要改写内存中条件允许修改类的写保护区域时,其控制权由操纵者决断,通过图3中的“内存写控制”加以控制.为此,一个正版的软件应予以配合,将其要求改写的内存系统区告诉用户.
  (7)此外,还可以附加音响报警电路和常驻内存或固化在ROM中的显示子程序,以提醒操作者将要修改内存写保护区以及哪些地址单元将被修改,或者是否有非法程序企图修改内存写保护区.
  (8)上述程序被固化在一块ROM中.
  综合上述,防病毒计算机存储体系要求具有以下结构特征:
  (1)硬盘文件级物理写保护.
  (2)内存地址单元物理写保护.
  它们的控制密钥可以是硬件的、可变软件的或二者结合的.对于目前正在研制的具有良好应用前景的半导体盘(或称固体盘),由于该盘自身具有独立的CPU以及按字节寻址能力,因而在这种半导体盘上实现文件级物理写保护会变得更加容易和有效.

四、实验结果

  作者制作的硬盘写保护卡和对内存RAM指定空间区域写保护的实验表明,上述观点是正确的,可行的.本文的创新之处在于,对目前广泛使用的原本开放式结构的硬盘和主机RAM加以改进,使其若干指定空间区域具有物理级写保护甚至读保护属性.这种新颖结构的硬盘和RAM系统不仅适用于单机,使具有防计算机病毒功能,而且更适用于大型网络中的服务器,由于可使其中的机密数据库处于不定期地解除读保护状态,因而能够有效地防止网上黑客非法读取此类数据库,对于保障机密数据的安全具有重要意义.
  计算机病毒的蔓延和危害,以及Herschberg和Paans的计算机病毒将长期存在于应用领域中的结论,唤起我们警觉到,必须改变现有被动的技术路线和方法,更深层地思考和寻求对付计算机病毒的积极方略.由于计算机病毒是纯软件产物,其一切能力均囿于主机指令集,无法改变特定的或独立的硬件结构和功能.而反病毒方却可以运用硬件这个有力手段,采用硬、软件结合的方法主动预防病毒对计算机系统的传染和破坏.这是一个新的观念.本研究则是基于这一观念,构造防病毒计算机存储体系,阻止病毒传染磁盘文件和进入系统禁区,保障系统的纯洁和完整.切入点则是抓住计算机病毒的传染性这一基本特征,增加某些新硬件和改动局部硬件结构,结合相应软件方法,实现主动防止计算机病毒传染系统的目标,以期推动反计算机病毒技术步入一个新途径.

浙江省自然科学基金资助项目
作者简介
  吴成峰 
副教授,1939年生,1962年中国纺织大学毕业.长期在航空工业部某单位从事科研工作.1979年至今在郑州航空学院、浙江财经学院信息系担任计算机教学和研究工作.获得有关硬磁盘技术的专利多项.
  卢小林 1963年生,1988年获南京航空航天大学工学硕士学位,1995年获浙江大学计算机专业博士学位.现任浙江财经学院信息系副教授.主要从事CAD、CAGD、数据通讯及数据库应用等领域的研究.已发表论文10余篇.
作者单位浙江财经学院信息系,杭州 310012)

参 考 文 献

1 李向宇等.计算机反病毒实用指南.北京:国防工业出版社,1992
2 刘乃琦等.计算机病毒对抗技术CVCM.电子科技大学学报,1997,3:33~38
3 钱培德等.试析Microsoft文件系统的关键数据结构.计算机研究与发展,1997(1):23~26
4 吴成峰等.硬磁盘物理级读/写控制方法及其应用.计算机工程与设计,1998,5:59~62
5 吴成峰.DRAM半导体盘的逻辑结构.抗恶劣环境计算机,1997,2:12~16

TOP