陳書明,陳振武,余少勇
(龍巖學院數學與信息工程學院,福建 龍巖 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 設備,讓學生完全脫離鼠標和鍵盤的束縛,使整個虛擬仿真設備呈現在眼前,可以更好的親身體驗實驗中的樂趣。