《计算机病毒原理与防治技术》的实践课教学之我见

(整期优先)网络出版时间:2001-06-16
/ 2

《计算机病毒原理与防治技术》的实践课教学之我见

相成

(黑龙江司法警官职业学院,黑龙江哈尔滨150060)

摘要:计算机病毒成为威胁信息安全的主要因素,《计算机病毒原理与防治技术》成为信息安全专业学生的专业课程之一。在实践课教学过程中应选取有代表性的病毒样本,重点训练学生分析病毒代码、了解病毒执行过程、检测病毒位置的能力。

关键词:实践课;教学;计算机病毒;检测

随着计算机在各行各业中的广泛应用,使生产生活变得越来越高效和便利。人们在享受计算机技术带来的各种好处的同时对计算机依赖程度也变得越来越高,人们需要更多的去考虑如何保证计算机信息的安全。在威胁计算机信息安全性的多种因素中,计算机病毒是最不安全的因素之一。

目前全社会需要大量的了解计算机病毒原理掌握计算机病毒防治技术的专业人才,许多高校信息安全专业培养这方面的专业人才。《计算机病毒原理与防治技术》是信息安全专业开设的课程之一。《计算机病毒原理与防治技术》课程的实践教学是增强学生对理论知识的理解,提高学生动手能力的重要环节。

1理论基础知识

计算机病毒大多是那些对计算机软硬件系统极为熟悉和精通的人编写的。这些人对计算机的硬件系统中的每个寄存器的作用,磁盘引导区的数据结构,计算机操作系统的启动过程,中段向量表都十分熟悉,对各种编程语言的使用都十分精通。所以学生要想掌握计算机病毒的原理与防治技术必须要先掌握计算机硬件结构,汇编语言与高级编程语言,操作系统的运行过程,计算机系统指令等基础知识。只有这样才能看懂病毒的源代码,了解病毒的工作原理,找到防治病毒的方法,不掌握这些理论基础的实践是没有意义的。

2实践的软硬件设备

在上机实践过程中,既然是要掌握计算机病毒的防治技术,就必然要用到有一定破坏力的病毒样本,这就有可能对正常使用的计算机产生一定的影响。为了减少这种影响我们可以在系统中安装VMwareWorkstation,它允许操作系统和应用程序在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离散环境,不会影响主机操作和任何操作系统或者它正在运行的应用程序。还要在系统中安装MSDOS系统和MASM。我个人认为如果是进行传统的引导型病毒的实验,则可以利用已经淘汰的486、奔腾Ⅱ等机器,可以大胆进行实验,不用担心破坏计算机系统,大不了恢复一下引导区或是重新格式化硬盘。

3病毒的检测与清除

一个没有病毒制造技术的人是不可能成为反病毒的专家的。我们在教学中可以利用一些较为简单的病毒分析病毒的结构、功能,仿效这些病毒编写程序上机实验。下面列举几种有代表性的病毒加以说明。

3.1引导型病毒

虽然现在广泛使用的Windows系统中,引导型病毒已基本绝迹,但它还是很有代表性的,有必要让学生对这种病毒的检测、清除加以练习。首先使用Debug工具同通过汇编语言编程备份引导区,用有代表性的病毒或用C语言编写模拟病毒程序修改引导区的内容,比较当前引导区的内容与备份是否有区别。用Debug工具汇编语言编程,将备份的内容覆盖引导区即可清除病毒。

3.2宏病毒

宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。在实践教学中可以以WORD为例。

在实践课中应该首先训练学生编写宏的能力,在熟练使用宏之后,可以研究宏病毒的源代码,仿制编写宏病毒。新建一个word文件,使之感染这个宏病毒观察执行结果。此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行宏病毒的源代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open)。此时所有的word文档打开和关闭时,都将运行以上的病毒代码。之后可以让学生想办法清除这个宏病毒。也可以练习其他比较有代表性的宏病毒的清除过程。

3.3脚本病毒

由于脚本病毒的制作是非常容易的,一个对编程一窍不通的人,只要对windows系统和注册表有一些的了解,再到网络上下载几个病毒代码仔细看看,就能在短时间内写出一个病毒的变种体来,没有多少编程技巧可言。现在由于脚本语言的流行,以及Micrsoft推出的WSH更让这些脚本语言可以在计算机上兴风作浪。由于脚本病毒编写语言为脚本,因而它不会像PE文件那样方便灵活,它的运行是需要条件的,脚本病毒大多具有相同的弱点,如:需要用到FileSystemObject对象,运行时需要其关联程序Wscript.exe的支持,通过网页传播的病毒需要ActiveX的支持等。预防和清除脚本病毒也可以根据脚本病毒的弱点加以清除。如:禁用文件系统对象FileSystemObject,卸载WindowsScriptingHost,删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射等。因此脚本病毒容易写,也容易被清除和防范,针对怎样防范脚本病毒的文章也非常多,所以在上机实践的时候学习重点应该放在对病毒程序的分析和仿制上,彻底搞清楚脚本病毒的运行原理,训练如何从样本提取脚本病毒。最好能让学生写出病毒的变种或是写出新的脚本病毒,这样才能达到训练目的。

3.4木马病毒

“木马”程序会想尽一切办法隐藏自己,以免被用户发现,“木马”会在每次用户启动时自动装载。Windows系统启动时各种自动加载应用程序的方法“木马”都会用上,如:启动组、Win.ini、System.ini、注册表等都是“木马”藏身的好地方。在实践过程中重点首先要让学生搞清楚“木马”是如何自动加载的,搞清楚“木马”在Win.ini中System.ini中如何修改键值。了解“木马”在WindowsXP注册表中如何修改文件关联,在WindowsXP系统中如何捆绑木马文件,如何利用WindowsXP注册表加载运行,搞清楚“木马”如何在Autoexec.bat、Winstart.bat和Config.sys中加载运行。在掌握木马的藏身之处以后,查杀木马自然就容易了,可以让学生上机实践比较著名的冰河木马的清除方法。介绍查杀各种“木马”的文章方法有很多,这里就不再赘述了。

结束语

计算机病毒原理与防治技术课程的上机实践是巩固理论知识的重要手段,重点应放在对病毒程序的分析和理解上,不应该只是简单的对已有的病毒清除方法的应用。

参考文献

[1]秦志光,张凤荔.计算机病毒原理与防范[M].北京:人民邮电出版社,2007.

[2]卓建新.计算机病毒原理及防治[M].北京:北京邮电大学出版社,2004.

[3]刘功申.计算机病毒及其防范技术[M].北京:清华大学出版社,2008.

本文是2006年黑龙江省职教学会“十一五”重点课题“高职院校实践性教学的研究”(编号:Z0047)的阶段性成果。