陳書明,陳振武,余少勇
(龍巖學(xué)院數(shù)學(xué)與信息工程學(xué)院,福建 龍巖 364012)
由于計算機系統(tǒng)不斷迅猛發(fā)展,IT 類專業(yè)的硬件類課程所用實驗室及設(shè)備存在遠遠落后現(xiàn)實的硬件發(fā)展水平,無法滿足課程的實驗教學(xué)需求,難以提高學(xué)生對硬件類課程的學(xué)習(xí)興趣,更是難以實現(xiàn)理論與實踐相結(jié)合,從而影響這些課程的教學(xué)效果。
近年來,國內(nèi)外很多學(xué)者進行硬件類虛擬仿真平臺的研究,其中白明、張健明等人采用Eclipse圖形編輯框架技術(shù)對硬件芯片結(jié)構(gòu)、功能進行硬件實驗?zāi)M仿真;陳振武等人采用Eclipse 開發(fā)組成原理部分實驗進行模擬測試,提高了教學(xué)效果;蘇坤等人采用Unity3d和3dmax的進行實驗室電路仿真研究,是仿真實驗更為生動逼真,提供學(xué)生的學(xué)習(xí)興趣;屈泳等人采用虛擬現(xiàn)實技術(shù)、多媒體技術(shù)進行計算機硬件虛擬仿真實驗平臺的設(shè)計;張晨曦等利用C#語言開發(fā)出10 個組成原理實驗?zāi)M器。這些為硬件類虛擬仿真平臺的深入研究提供了有力的依據(jù)。
本文結(jié)合計算機硬件類課程對實驗室環(huán)境的需求,課程設(shè)計實驗環(huán)節(jié)的特性,利用Web 技術(shù)、虛擬仿真軟件搭建一個硬件類虛擬仿真實驗教學(xué)平臺,學(xué)生能夠通過虛擬仿真平臺方便地理解實驗的邏輯思想、設(shè)計方法、硬件編程理念和各種電子元件的工作原理并進行實驗操作;教師可以通過平臺進行實驗教學(xué)及學(xué)生實驗評價等操作。
該虛擬仿真平臺主體包括基礎(chǔ)仿真實驗和高級仿真實驗兩大部分,虛擬仿真平臺的體系結(jié)構(gòu)如圖1所示。

圖1 虛擬仿真平臺的體系結(jié)構(gòu)圖
在虛擬仿真平臺中,用戶可以根據(jù)現(xiàn)階段所學(xué)課程進行選擇初級仿真實驗或高級仿真實驗,并且每一個實驗下面都有很多子實驗,學(xué)生可以選擇不同實驗進行實驗操作、實驗驗證、實驗重做等操作。教師可以根據(jù)學(xué)生的虛擬仿真實驗操作情況進行檢查和評分。基礎(chǔ)仿真實驗以“計算機組成原理”課程為例,高級仿真實驗以“網(wǎng)絡(luò)安全技術(shù)”課程為例,功能結(jié)構(gòu)圖如圖2所示。

圖2 基礎(chǔ)/高級虛擬仿真平臺的功能結(jié)構(gòu)圖
利用虛擬仿真實驗平臺,基礎(chǔ)仿真實驗針對“計算機組成原理”開設(shè)了十實驗項目,高級仿真實驗針對“網(wǎng)絡(luò)安全技術(shù)”課程開設(shè)了十個實驗項目,學(xué)生可以通過B/S 模式進入實驗平臺進行虛擬仿真實驗;教師通過實驗平臺開展基礎(chǔ)仿真實驗及高級仿真實驗,以基礎(chǔ)仿真實驗的匯編程序設(shè)計為例,高級仿真實驗以計算機網(wǎng)絡(luò)安全實驗為例進行闡述。
該實驗的實驗?zāi)康氖橇私庥嬎銠C指令的正確格式、指令編碼、尋址方式和每一條指令的功能。
在虛擬仿真實驗教學(xué)平臺上輸入下列指令,并查看其執(zhí)行情況:

在虛擬仿真平臺上,選擇代碼編寫區(qū),如圖3 所示,輸入以上代碼,如圖4 所示 然后點擊菜單欄的編譯按鈕,把匯編碼變成機器碼。接著點擊菜單欄的執(zhí)行按鈕,選擇按單指令單周期的執(zhí)行方式,然后觀察實驗結(jié)果如圖5所示。

圖3 軟件平臺代碼編寫區(qū)圖

圖4 代碼輸入后的狀態(tài)圖

圖5 代碼執(zhí)行區(qū)圖
網(wǎng)絡(luò)安全仿真實驗采用仿真虛擬軟件技術(shù)構(gòu)建虛擬網(wǎng)絡(luò)及虛擬主機方式,讓師生可以通過這個仿真軟件進行各種網(wǎng)絡(luò)安全實驗,而不會破壞物理主機及網(wǎng)絡(luò)安全,一旦虛擬系統(tǒng)發(fā)生癱瘓,也能在數(shù)秒內(nèi)得到恢復(fù)。如圖6所示。

圖6 VMware虛擬軟件虛擬出Win7/8主機圖
本次網(wǎng)絡(luò)安全仿真實驗以Autorun 病毒感染、分析及查殺實驗為例。
Autorun病毒是一種優(yōu)盤病毒,即“自動運行”病毒,其偽裝成Windows 操作系統(tǒng)自動執(zhí)行的文件命令,原本文件命令主要用于對移動硬件的自動運行,因其快捷性及方便性等特點被很多病毒所利用。
Autorun 病毒通過隱藏操作、復(fù)制操作、傳播操作三個方法來達到對計算機、操作系統(tǒng)、網(wǎng)絡(luò)的危害攻擊的目的。在這三個過程中,系統(tǒng)設(shè)置的autorun.inf文件運行起著關(guān)鍵作用。病毒會構(gòu)造autorun.inf 文件格式,實現(xiàn)雙擊U盤時病毒程序自動運行。
2.2.1 Autorun病毒行為特征
Autorun病毒是通過U盤傳播,只要雙擊受感染的U盤,就會激活病毒,感染到系統(tǒng),加入進程、服務(wù)或驅(qū)動,然后再復(fù)制病毒源文件(通常是兩個文件:autorun.inf 和***.exe)到各磁盤根目錄下,再修改注冊表中[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALLcheckedvalue]鍵值,將原來的dword值修改為字符串值,來達到隱藏自己的目的。同時病毒進程會不斷掃描磁盤分區(qū)根目錄下是否有病毒源文件,如果在未關(guān)閉病毒進程的情況下將根目錄中的病毒文件刪除,病毒進程則會重建這些文件。
2.2.2 Autorun病毒防治
一般情況下,大部分的U 盤病毒都是通過Windows 操作系統(tǒng)的自動播放功能及Autorun 病毒打開U 盤方式來自動運行病毒程序,以達到病毒傳播的目的,因此要有效地避免感染U 盤病毒最有效的方法就是禁用自動播放和對Autorun 病毒文件進行處理,以達到Autorun病毒最佳防范的目的。
2.2.3 Autorun病毒感染及查殺實驗
本實驗單人為一組,采用VMware 虛擬系統(tǒng)技術(shù)進行操作系統(tǒng)感染U盤Autorun、病毒分析及病毒查殺實驗,首先使用“快照X”恢復(fù)Windows系統(tǒng)環(huán)境。
本實驗需要實驗者自備U 盤,進行實驗前對U 盤文件進行異地備份,格式化U盤。
⑴Autorun病毒感染分析
MS Virus 是一個典型的Autorun 病毒樣本,出于教學(xué)考慮,在Ms Virus設(shè)計之初,對其部分功能進行了限制,但這不影響大家對Autorun 病毒的認(rèn)知與學(xué)習(xí)。“MS Virus 模擬Autorun 病毒源程序”,打開MS 的VC++工程文件,如圖7所示。

圖7 Ms Virus模擬autorun病毒代碼圖
從MS 源文件可讀出MS Virus 的運行機制,如圖8。還可設(shè)置顯示/隱藏文件,如圖9所示。

圖8 MS Virus的運行機制圖

圖9 設(shè)置顯示隱藏文件圖
點擊工具欄“MS Virus”按鈕,執(zhí)行病毒程序,等待十秒鐘,觀察病毒發(fā)作現(xiàn)象,將欲先準(zhǔn)備好的“干凈”U 盤插入到實驗主機USB 接口,并映射到Exp.Windows虛擬機中。
監(jiān)控器工具停止監(jiān)控,查看文件監(jiān)控視圖,確認(rèn)是否有類似圖10中所示信息出現(xiàn)。
圖10 中信息說明病毒程序MS.exe 執(zhí)行時在C:WINDOWSsystem32 目錄中創(chuàng)建了snss.exe 文件,并接下來對snss.exe 進行了數(shù)次的文件屬性修改。查看進程監(jiān)控視圖,確認(rèn)是否有類似圖10中所示信息出現(xiàn)。圖11 表明通過設(shè)置注冊表項實現(xiàn)了snss 開機自啟動。

圖10 任務(wù)管理器查看病毒感染圖

圖11 注冊表查看病毒感染情況圖
綜合U盤中毒文件狀態(tài)、文件監(jiān)控信息、進程監(jiān)控信息、啟動組信息,可得出如下結(jié)論:在單擊“MS Virus”按鈕啟動MS 病毒后,MS 首先自我復(fù)制到C:WINDOWSsystem32 文件下,并偽裝成名為snss.exe的文件(與系統(tǒng)smss.exe 文件混淆),MS 對副本snss.exe 進行了文件隱藏屬性設(shè)置、注冊表開機自啟設(shè)置,隨后執(zhí)行了snss.exe,并在最后實現(xiàn)MS自我銷毀。
⑵Autorun病毒防治
Autorun 病毒可以通過三種方式進行防治,分別為:手動殺毒方式、殺毒軟件方式及病毒方式來查殺病毒,詳細(xì)信息如下。
通過刪除病毒程序手動查殺病毒,刪除C:WINDOWSsystem32snss.exe。通過修改注冊表信息來刪除鍵值ctfmonn HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion un,如圖12所示。

圖12 注冊表刪除鍵值圖
通過刪除U盤autorun.inf、ms.exe兩個文件。
目前各殺毒軟件生產(chǎn)廠商都推出了各自的USB專殺工具,如USBKiller,用戶可以從網(wǎng)上下載USBKiller軟件,進行U盤病毒查殺。如圖13所示。

圖13 USBKiller查殺圖
在準(zhǔn)備好的優(yōu)盤上創(chuàng)建一個名為autorun.inf 的文件夾,并設(shè)置為不可被刪除屬性,因為Windows 操作系統(tǒng)規(guī)定在同一個文件夾目錄下,相同文件名的文件或文件夾不能同時存在,因此Autorun 病毒無法自我創(chuàng)建autorun.inf 文件,新建Immune.txt 文本文件,編輯代碼如下:

其中,F(xiàn)是U盤映射到虛擬機中的盤符。
通過這些硬件類虛擬仿真平臺的研究可以有效地開展組成原理實驗教學(xué)及網(wǎng)絡(luò)安全實驗教學(xué)活動,也為深入研究硬件虛擬仿真平臺提供有力的依據(jù),在一定的程度上擺脫陳舊硬件的束縛,避免硬件設(shè)備的破壞,可以調(diào)動學(xué)生學(xué)習(xí)硬件類實驗課程的積極性,很好地提高硬件類實驗的教學(xué)質(zhì)量和教學(xué)效果。
應(yīng)用Unity3D 技術(shù),為每個硬件設(shè)備設(shè)計一個模型,在模型中增加控制腳本來實現(xiàn)實驗交互操作功能,在不久的未來,真正的虛擬仿真實驗還需用到VR 設(shè)備,讓學(xué)生完全脫離鼠標(biāo)和鍵盤的束縛,使整個虛擬仿真設(shè)備呈現(xiàn)在眼前,可以更好的親身體驗實驗中的樂趣。