计算机病毒是软考信息安全工程师、软件设计师、网络工程师乃至系统集成项目管理工程师等多个科目都反复出现的必考考点。表面上看,它不过是让考生在四个选项里挑一个"这属于什么病毒",但真正把这道题做对的人并不多,原因在于大多数人只是背下了几个病毒名词,却没有真正理解病毒的分类维度、传播机制和破坏机理之间的内在联系。命题人恰恰抓住了这种"知其名不知其理"的状态,在选项里埋下大量表面相似、本质迥异的干扰项,让考生一选就错。本文从计算机病毒的规范定义出发,深挖其结构组成与感染机理,系统拆解宏病毒、蠕虫、木马、CIH病毒等主要类型的本质差异,并结合历年真题剖析命题人的挖坑套路,帮助考生把这一类本可以稳稳拿下的送分题真正拿到手。
要谈分类,必须先回到定义本身。按照我国《计算机信息系统安全保护条例》第二十八条的表述,计算机病毒是指"编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码"。这一定义虽然写于二十世纪九十年代,但它精准抓住了计算机病毒的三个核心属性:一是人为编制的恶意代码,二是能够破坏功能或毁坏数据,三是具备自我复制能力。这三个属性是判断一段代码是否属于计算机病毒的根本依据,也是后续所有分类讨论的逻辑起点。考生在考场上遇到任何一道病毒题,都可以先回到这个定义,用三个属性去逐条核对题干描述,往往就能排除掉大半干扰项。
考生最容易犯的第一个错误,就是把"病毒"当作所有恶意软件的总称。实际上,病毒只是恶意软件的一个子集。恶意软件泛指一切以损害用户利益为目的的软件,包括病毒、蠕虫、木马、间谍软件、广告软件、勒索软件等,而计算机病毒特指具备自我复制与传播能力的恶意程序。这个边界非常关键,因为木马程序本身并不具备自我复制能力,它主要依靠伪装成正常软件诱导用户主动运行,从严格意义上讲木马并不属于传统定义的计算机病毒,但在软考命题中,两者常常被放在同一道题里让考生区分。理解这条边界,等于掌握了解题的第一把钥匙,也是后续区分蠕虫、木马、宏病毒的前提。
软考教材通常把计算机病毒的特性归纳为五个方面,这五个特性是选择题的高频考察对象。其一是传染性,这是病毒区别于普通程序最本质的特征,病毒能够把自身或其变体复制到其他程序、文件或存储介质中,实现扩散。其二是隐蔽性,病毒在潜伏期内不表现出明显异常,常常附着在正常程序或文件上,难以被用户察觉。其三是潜伏性,病毒进入系统后并不立即发作,而是等待特定条件满足后才触发破坏行为,潜伏期可长可短,长的可达数月甚至数年。其四是破坏性,病毒发作后轻则占用系统资源、干扰正常运行,重则删除文件、格式化硬盘、窃取数据。其五是可触发性,病毒的发作往往由特定条件触发,比如某个日期、某个操作、某个文件被打开等。这五大特性在选择题中经常以"下列哪项不属于病毒特性"的形式出现,其中"传染性"最常被当作最本质的特征来考察,属于基础送分内容,考生务必做到不丢分。需要强调的是,这五个特性之间不是孤立并列的关系,传染性是核心,隐蔽性和潜伏性是手段,破坏性和可触发性是结果,理解了这个层次关系,遇到"病毒最本质的特征"这类问法时就不会在传染性和破坏性之间犹豫。
只记住定义远远不够,软考的命题越来越偏向考察病毒的运行机理。要真正理解分类,必须先搞清楚一个病毒从进入到发作,内部经历了怎样的过程,它又是通过什么途径把自己扩散出去的。这一部分理解透了,后面的分类辨析就会水到渠成。
一个典型的文件型病毒在程序结构上通常由四个模块组成。引导模块负责在程序执行时率先获得控制权,把病毒主体加载到内存中并完成初始化,同时将控制权交还给原程序,让用户察觉不到异常。传染模块负责寻找可感染的目标文件,判断目标是否已被感染,若未感染则把病毒代码写入目标文件的适当位置。触发模块负责监控系统状态,检查预先设定的触发条件是否满足,一旦满足便激活破坏模块。破坏模块是病毒的核心,它执行删除文件、篡改数据、占用资源等破坏性操作。这套模块化结构解释了病毒为何能够"寄生"在正常程序中而不被立刻发现,也为后续理解引导型、文件型、混合型等分类提供了底层依据。考生理解了这四个模块的分工,就能明白病毒的生命周期并不是简单的"进入即发作",而是一个引导、传染、触发、破坏层层递进的过程。
从感染机制看,病毒要把自己嵌入到宿主程序中,常见的手法有三种。第一种是在宿主程序头部追加病毒代码,程序执行时先执行病毒部分。第二种是修改程序入口地址,使程序运行后跳转到病毒代码处。第三种是采用伴随体方式,生成一个与目标文件同名的可执行文件,利用操作系统优先执行特定扩展名的特性抢先运行。从传播途径看,早期的病毒主要依靠软盘、光盘等物理介质传播,随着网络普及,电子邮件附件、网页脚本、即时通讯工具、可移动存储设备、网络共享目录等成为主流传播渠道。理解传播途径的意义在于,软考常考"下列哪种方式最容易传播病毒"或"哪种介质不会传播病毒"这类判断,只有把握了传播机制才能准确作答。特别需要注意的是,传播途径与是否连接互联网并没有必然的对应关系,物理介质和局域网同样可以传播病毒,这是命题人偏爱的一个认知陷阱。
宏病毒是一个极具迷惑性的类别,它的技术本质是寄生在文档中的宏代码。宏是办公软件为了自动化重复操作而提供的一种脚本功能,本身是中性的,但宏病毒利用了这一机制,把恶意代码嵌入文档的宏中。当用户打开带有宏病毒的文档时,宏被自动或半自动执行,病毒随之激活,并感染此后新建或打开的同类文档。这种寄生在数据文件而非可执行文件中的特性,是宏病毒区别于传统文件型病毒的根本标志,也正是这一点让它成为软考命题的高频挖坑点。很多考生潜意识里认为"病毒一定寄生在程序里",遇到寄生在文档中的宏病毒就判断失误,因此必须把"宏病毒寄生在文档数据文件中"这个反直觉的事实单独刻进记忆。
计算机病毒的分类维度有很多,按寄生方式、按传播方式、按破坏程度、按链接方式等,不同维度会得到不同结果。软考考察的主要是按寄生方式和传播方式这两个维度划分出的几种典型类型,考生必须逐一吃透。分类的难点不在于记住名字,而在于同一段病毒代码在不同维度下可能被归入不同类别,考生要学会根据题目问的是哪个维度来作答。
按寄生方式,病毒可以划分为引导型、文件型、混合型和宏病毒四大类。引导型病毒寄生在磁盘的引导扇区或主引导记录中,在系统启动、尚未加载操作系统之前就获得控制权,隐蔽性强、清除难度大。文件型病毒寄生在可执行文件中,常见扩展名包括可执行文件与动态链接库等,当宿主程序运行时病毒被激活。混合型病毒则兼具引导型与文件型两者的特点,既能感染引导区又能感染文件,清除最为麻烦。宏病毒寄生在文档中,通过宏代码传播,前面已经详细分析。这四种寄生方式对应了不同的清除策略,软考常考"下列病毒中清除后需要重写引导记录的是"这类题目,考察的就是考生对寄生位置的理解。引导型病毒因为寄生在引导扇区,清除后往往需要重建引导记录,这个细节正是命题人反复考察的点。
在软考的实际命题中,考生接触最多的是几类有明确名字的病毒类型。宏病毒以文档为载体,通过打开或复制文档传播,典型代表是曾经肆虐的Word宏病毒。蠕虫病毒是一种特殊的病毒形态,它不需要寄生在宿主程序上,而是作为一个独立的程序通过网络主动传播,能够自我复制并通过电子邮件、系统漏洞等方式迅速扩散,典型特点是占用网络带宽和系统资源,甚至造成网络拥塞。木马程序表面上伪装成正常软件,暗中窃取信息、控制计算机,它一般不具备自我复制能力,传播主要依靠社会工程手段诱导用户下载运行。CIH病毒是一个具有里程碑意义的文件型病毒,它不仅破坏硬盘数据,还能改写主板的BIOS固件,导致硬件层面的损坏,破坏力极强。这几类病毒的名称在选择题选项中反复出现,考生必须能准确说出各自的寄生方式、传播途径和典型危害,才能在这些名称的排列组合中选出正
本篇完!