开机型病毒检测方法技术

技术编号:2884326 阅读:276 留言:0更新日期:2012-04-11 18:40
开机型病毒检测方法,在计算机系统的相关寄存器中设定预定数值数据,含设定除错扩展位、设定硬盘装置的硬盘状态/命令寄存器的地址、设定中央处理器在执行输出入界面动作时产生中断功能、设定位长度值。发生除错时,判断中央处理器的除错状态寄存器中的断点条件是否被设定,再判断中央处理器目前执行的指令是否执行数据转移的输出指令、判断输出入端地址直接定址或寄存器间接定址的地址数据是否为定入数据至硬盘装置的地址、判断输出入端地址是否为硬盘装置引导区的地址,若是,发出警示。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种计算机病毒的检测方法,特别涉及一种检测开机型计算机病毒的方法。在各种类型的计算机病毒中,都有其特有的病毒型态、传播途径,这些计算机病毒对一计算机系统而言,都会造成不同程度的破坏。典型的开机型计算机病毒型态一般都是感染一计算机系统中硬盘装置的引导区(BootSector),并利用这些区域作为传布的媒介。为了要检测计算机病毒,有许多种检测方法被提出。例如当一待执行的程序要在计算机中执行时,首先会执行一自我测试,以判断该程序是否已被修改过,若该程序码已被修改过,则即表示该程序可能已受到计算机病毒的感染。另一种方法是以检查和(Check Sum)的方式,在执行程序之前,会首先进行检查和的核对,如此以判别该程序是否已被修改过。虽然上述的病毒检测方法,皆能达到某一程度的效果,但其前提要件是计算机系统必需完成正常的启动程序之后,才有可能执行该病毒检测的功能。亦即,这些病毒检测方法并无法适用于某些开机型的病毒检测。在开机型的病毒方面,其病毒程序是存在于可执行启动的数据存储装置(例如一硬盘装置)的引导区中。当利用感染有开机型病毒的硬盘执行计算机系统的启动时,该病毒程序即会被载入至计算机系统存储器中,并执行其病毒功能。在大部分的开机型计算机病毒中,一旦该病毒程序取代正常的启动程序之后,首先会拦截中断向量INT 13h,该中断向量的功能是控制硬盘/软盘的存取功能。当拦截到该中断向量INT 13h时,该病毒程序会改变该中断向量的向量地址,并以一新的辅程序取代该中断向量的功能,并以该新的辅程序作为病毒传布的途径。一般而言,该开机型病毒会在计算机电源开启状态中,一直存在计算机系统中,并在每一次计算机重新启动时,都会重复执行前述病毒的感染。因此,若无法在计算机系统启动初期即有效检测该开机型病毒的话,则对于计算机的使用及数据的安全性将会有极大的威胁。本专利技术的主要目的是提供一种检测开机型病毒的方法,当本专利技术的方法检测到任何企图写入到计算机系统的硬盘引导区的动作时,即可发出一警告,以适时警告使用者该计算机可能已感染到开机型病毒。本专利技术的另一目的是提供一种早期检测开机型病毒的方法,该方法直接利用中央处理单元中相关的控制寄存器、断点寄存器、除错控制寄存器、除错状态寄存器等来执行病毒的检测。为达到本专利技术的上述目的,首先是在该中央处理器的一控制寄存器中设定除错扩展位;在该中央处理器的断点寄存器中设定该计算机系统所连接硬盘装置的硬盘状态/命令寄存器的地址;在除错控制寄存器中,设定该中央处理器在执行输出入界面动作时,产生中断功能、以及设定位长度值;判断是否发生除错状况;判断中央处理器的除错状态寄存器中的对应的断点条件是否被设定;判断中央处理器目前所执行的指令是否为执行数据转移的输出指令;判断中央处理器中,输出入端地址直接定址或寄存器间接定址的位数据是否为写入数据至硬盘装置的地址;判断输出入端的地址是否恰为硬盘装置引导区的地址,若是的话即发出警示,以警告使用者该计算机可能已感染到开机型病毒。本专利技术的其它目的及其进一步的病毒检测方法,将由以下的较佳实施例说明并结合附图,作进一步的说明,其中附图说明图1是显示一典型个人计算机系统中,中央处理单元、输出入界面、硬盘装置、存储器间的简略连接示意图;图2是显示一Pentium级中央处理器内部相关寄存器的示意图;图3是显示本专利技术病毒检测方法的流程图。图1是显示一典型个人计算机系统中,中央处理单元1、输出入界面3、硬盘装置4、存储器5间的简略连接示意图,其中该中央处理单元1经由系统总线及输出入界面3而与硬盘装置4连接,而中央处理单元1则经由该系统总线而与一存储器5相连接。其中该系统总线包括有地址总线21、数据总线22、及控制总线23。在以下的实施例中,是以Intel公司Pentium级中央处理器作一较佳实施例说明,且该硬盘装置4是经一IDE界面而与中央处理器1相连接。参照图2所示,在一典型的Pentium级中央处理器内部依其功能约略可分为通用目的寄存器10(General Purpose Register)、段寄存器11(SegmentRegister)、状态及指令寄存器12(Status and Instruction Register)。其中该通用目的寄存器10一般是用来处理字节数据,段寄存器11是用来决定存储器地址段的基底地址,状态及指令寄存器12是用来指定欲执行指令、以及指示在执行指令后的结果状态。此外,在Pentium级中央处理器内部尚包括有其它系统寄存器,这些系统寄存器中,与本专利技术的病毒检测方法有关的寄存器包括有控制寄存器组13及除错寄存器组14。控制寄存器组13中包括有数个控制寄存器CR0~CR4,其中控制寄存器CR4的位定义中,共有位0至位6,其中的位3乃为除错扩展功能的设定位,当该位设定为1时,乃启动输出入界面断点除错扩展功能,当该位设定为0时,乃解除输出入界面断点除错扩展功能。除错寄存器组14中包括有数个寄存器DR0~DR7,其中的DR0~DR3是作为断点寄存器,每一个断点寄存器中含32位的断点线性地址。DR6是作为除错状态寄存器,其可用来暂存该断点寄存器DR0~DR3的状态。DR7是作为一除错控制寄存器(Debug Control Register),其是用来控制该断点寄存器DR0~DR3的动作。每一个断点寄存器DR0~DR3都有一些各自的控制位(在除错控制寄存器DR7中),例如LEN的值决定在断点地址的存取长度,当LEN=00时,字节;LEN=01语句LEN=11双语句。R/W的值决定在断点地址上发生断点的原因,R/W=00,指令码存取;R/W=01,数据写入R/W=11,数据读取与写入。以下将同时参照图2所示的中央处理器内部寄存器组结构及图3所示的控制流程图,对本专利技术的病毒检测方法作一详细说明如后。在系统启始后,本专利技术首先在步骤101中,在中央处理器的控制寄存器CR4中设定除错扩展位(Debug Extention)。此一步骤中即是将中央处理器中的控制寄存器CR4的第三位设定为1,以启动输出入断点除错扩展功能。然后在中央处理器的断点寄存器(DR0-DR3)中的任两个寄存器中设定十六进位数值数据1F7h及177h,步骤102。其中该数值1F7h是表示计算机系统中所连接的第一个硬盘状态/命令寄存器的地址,而数值177h乃为第二个硬盘状态/命令寄存器的地址。在步骤103中,在中央处理器的除错控制寄存器DR7对应的R/W位(读取/写入控制位)中设定数值10,其意为当中央处理器在执行输出入时,会执行中断功能。此外,在此一步骤中,也在该除错控制寄存器DR7对应的LEN位(长度位)中设定数值00(其数值是代表位长度值是1位)。在完成上述的相关寄存器数据设定之后,即执行步骤104,此一步骤是判断是否有除错状况(Debug Exception)产生,若无,则继续重复测试,若有,则执行下一步骤105,进一步判断中央处理器中除错状态寄存器DR6的状态,该除错状态寄存器DR6中是用来暂存断点寄存器DR0-DR3的状态。在步骤105中,判断中央处理器的除错状态暂存器DR6中的对应中断点条件(Breakpoint Condition)是否被设定。若无,则回到步骤104,若有,则进本文档来自技高网...

【技术保护点】
一种开机型病毒检测方法,用以检测一开机型病毒码是否写入至一计算机系统的硬盘装置的引导区,该计算机系统中包括有一中央处理器,经一输出入界面与该硬盘装置连接,该中央处理器内部配置有控制寄存器、断点寄存器、除错控制寄存器、除错状态寄存器,该检测方法包括下列步骤: a.在该中央处理器之一控制寄存器中设定除错扩展位,以启动输出入断点除错扩展功能; b.在该中央处理器的断点寄存器中设定该计算机系统所连接硬盘装置的硬盘状态/命令寄存器的地址; c.在除错控制寄存器中,设定该中央处理器在执行输出入界面动作时,产生中断功能、以及设定位长度值; d.判断是否发生除错状况; e.判断中央处理器的除错状态寄存器中的对应的断点条件是否被设定; f.判断中央处理器目前所执行的指令是否为执行数据转移的输出指令; g.判断中央处理器中,输出入端地址直接定址或寄存器间接定位的地址数据是否为写入数据至硬盘装置的地址; h.判断输出入端的地址是否恰为硬盘装置引导区的地址; i.发出警示。

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡俊男
申请(专利权)人:神达电脑股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1