陈书明,陈振武,余少勇
(龙岩学院数学与信息工程学院,福建 龙岩 364012)
由于计算机系统不断迅猛发展,IT 类专业的硬件类课程所用实验室及设备存在远远落后现实的硬件发展水平,无法满足课程的实验教学需求,难以提高学生对硬件类课程的学习兴趣,更是难以实现理论与实践相结合,从而影响这些课程的教学效果。
近年来,国内外很多学者进行硬件类虚拟仿真平台的研究,其中白明、张健明等人采用Eclipse图形编辑框架技术对硬件芯片结构、功能进行硬件实验模拟仿真;陈振武等人采用Eclipse 开发组成原理部分实验进行模拟测试,提高了教学效果;苏坤等人采用Unity3d和3dmax的进行实验室电路仿真研究,是仿真实验更为生动逼真,提供学生的学习兴趣;屈泳等人采用虚拟现实技术、多媒体技术进行计算机硬件虚拟仿真实验平台的设计;张晨曦等利用C#语言开发出10 个组成原理实验模拟器。这些为硬件类虚拟仿真平台的深入研究提供了有力的依据。
本文结合计算机硬件类课程对实验室环境的需求,课程设计实验环节的特性,利用Web 技术、虚拟仿真软件搭建一个硬件类虚拟仿真实验教学平台,学生能够通过虚拟仿真平台方便地理解实验的逻辑思想、设计方法、硬件编程理念和各种电子元件的工作原理并进行实验操作;教师可以通过平台进行实验教学及学生实验评价等操作。
该虚拟仿真平台主体包括基础仿真实验和高级仿真实验两大部分,虚拟仿真平台的体系结构如图1所示。
图1 虚拟仿真平台的体系结构图
在虚拟仿真平台中,用户可以根据现阶段所学课程进行选择初级仿真实验或高级仿真实验,并且每一个实验下面都有很多子实验,学生可以选择不同实验进行实验操作、实验验证、实验重做等操作。教师可以根据学生的虚拟仿真实验操作情况进行检查和评分。基础仿真实验以“计算机组成原理”课程为例,高级仿真实验以“网络安全技术”课程为例,功能结构图如图2所示。
图2 基础/高级虚拟仿真平台的功能结构图
利用虚拟仿真实验平台,基础仿真实验针对“计算机组成原理”开设了十实验项目,高级仿真实验针对“网络安全技术”课程开设了十个实验项目,学生可以通过B/S 模式进入实验平台进行虚拟仿真实验;教师通过实验平台开展基础仿真实验及高级仿真实验,以基础仿真实验的汇编程序设计为例,高级仿真实验以计算机网络安全实验为例进行阐述。
该实验的实验目的是了解计算机指令的正确格式、指令编码、寻址方式和每一条指令的功能。
在虚拟仿真实验教学平台上输入下列指令,并查看其执行情况:
在虚拟仿真平台上,选择代码编写区,如图3 所示,输入以上代码,如图4 所示 然后点击菜单栏的编译按钮,把汇编码变成机器码。接着点击菜单栏的执行按钮,选择按单指令单周期的执行方式,然后观察实验结果如图5所示。
图3 软件平台代码编写区图
图4 代码输入后的状态图
图5 代码执行区图
网络安全仿真实验采用仿真虚拟软件技术构建虚拟网络及虚拟主机方式,让师生可以通过这个仿真软件进行各种网络安全实验,而不会破坏物理主机及网络安全,一旦虚拟系统发生瘫痪,也能在数秒内得到恢复。如图6所示。
图6 VMware虚拟软件虚拟出Win7/8主机图
本次网络安全仿真实验以Autorun 病毒感染、分析及查杀实验为例。
Autorun病毒是一种优盘病毒,即“自动运行”病毒,其伪装成Windows 操作系统自动执行的文件命令,原本文件命令主要用于对移动硬件的自动运行,因其快捷性及方便性等特点被很多病毒所利用。
Autorun 病毒通过隐藏操作、复制操作、传播操作三个方法来达到对计算机、操作系统、网络的危害攻击的目的。在这三个过程中,系统设置的autorun.inf文件运行起着关键作用。病毒会构造autorun.inf 文件格式,实现双击U盘时病毒程序自动运行。
2.2.1 Autorun病毒行为特征
Autorun病毒是通过U盘传播,只要双击受感染的U盘,就会激活病毒,感染到系统,加入进程、服务或驱动,然后再复制病毒源文件(通常是两个文件:autorun.inf 和***.exe)到各磁盘根目录下,再修改注册表中[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALLcheckedvalue]键值,将原来的dword值修改为字符串值,来达到隐藏自己的目的。同时病毒进程会不断扫描磁盘分区根目录下是否有病毒源文件,如果在未关闭病毒进程的情况下将根目录中的病毒文件删除,病毒进程则会重建这些文件。
2.2.2 Autorun病毒防治
一般情况下,大部分的U 盘病毒都是通过Windows 操作系统的自动播放功能及Autorun 病毒打开U 盘方式来自动运行病毒程序,以达到病毒传播的目的,因此要有效地避免感染U 盘病毒最有效的方法就是禁用自动播放和对Autorun 病毒文件进行处理,以达到Autorun病毒最佳防范的目的。
2.2.3 Autorun病毒感染及查杀实验
本实验单人为一组,采用VMware 虚拟系统技术进行操作系统感染U盘Autorun、病毒分析及病毒查杀实验,首先使用“快照X”恢复Windows系统环境。
本实验需要实验者自备U 盘,进行实验前对U 盘文件进行异地备份,格式化U盘。
⑴Autorun病毒感染分析
MS Virus 是一个典型的Autorun 病毒样本,出于教学考虑,在Ms Virus设计之初,对其部分功能进行了限制,但这不影响大家对Autorun 病毒的认知与学习。“MS Virus 模拟Autorun 病毒源程序”,打开MS 的VC++工程文件,如图7所示。
图7 Ms Virus模拟autorun病毒代码图
从MS 源文件可读出MS Virus 的运行机制,如图8。还可设置显示/隐藏文件,如图9所示。
图8 MS Virus的运行机制图
图9 设置显示隐藏文件图
点击工具栏“MS Virus”按钮,执行病毒程序,等待十秒钟,观察病毒发作现象,将欲先准备好的“干净”U 盘插入到实验主机USB 接口,并映射到Exp.Windows虚拟机中。
监控器工具停止监控,查看文件监控视图,确认是否有类似图10中所示信息出现。
图10 中信息说明病毒程序MS.exe 执行时在C:WINDOWSsystem32 目录中创建了snss.exe 文件,并接下来对snss.exe 进行了数次的文件属性修改。查看进程监控视图,确认是否有类似图10中所示信息出现。图11 表明通过设置注册表项实现了snss 开机自启动。
图10 任务管理器查看病毒感染图
图11 注册表查看病毒感染情况图
综合U盘中毒文件状态、文件监控信息、进程监控信息、启动组信息,可得出如下结论:在单击“MS Virus”按钮启动MS 病毒后,MS 首先自我复制到C:WINDOWSsystem32 文件下,并伪装成名为snss.exe的文件(与系统smss.exe 文件混淆),MS 对副本snss.exe 进行了文件隐藏属性设置、注册表开机自启设置,随后执行了snss.exe,并在最后实现MS自我销毁。
⑵Autorun病毒防治
Autorun 病毒可以通过三种方式进行防治,分别为:手动杀毒方式、杀毒软件方式及病毒方式来查杀病毒,详细信息如下。
通过删除病毒程序手动查杀病毒,删除C:WINDOWSsystem32snss.exe。通过修改注册表信息来删除键值ctfmonn HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion un,如图12所示。
图12 注册表删除键值图
通过删除U盘autorun.inf、ms.exe两个文件。
目前各杀毒软件生产厂商都推出了各自的USB专杀工具,如USBKiller,用户可以从网上下载USBKiller软件,进行U盘病毒查杀。如图13所示。
图13 USBKiller查杀图
在准备好的优盘上创建一个名为autorun.inf 的文件夹,并设置为不可被删除属性,因为Windows 操作系统规定在同一个文件夹目录下,相同文件名的文件或文件夹不能同时存在,因此Autorun 病毒无法自我创建autorun.inf 文件,新建Immune.txt 文本文件,编辑代码如下:
其中,F是U盘映射到虚拟机中的盘符。
通过这些硬件类虚拟仿真平台的研究可以有效地开展组成原理实验教学及网络安全实验教学活动,也为深入研究硬件虚拟仿真平台提供有力的依据,在一定的程度上摆脱陈旧硬件的束缚,避免硬件设备的破坏,可以调动学生学习硬件类实验课程的积极性,很好地提高硬件类实验的教学质量和教学效果。
应用Unity3D 技术,为每个硬件设备设计一个模型,在模型中增加控制脚本来实现实验交互操作功能,在不久的未来,真正的虚拟仿真实验还需用到VR 设备,让学生完全脱离鼠标和键盘的束缚,使整个虚拟仿真设备呈现在眼前,可以更好的亲身体验实验中的乐趣。