摘要:實驗教學是“信息安全”課程教學的核心內容。本文介紹了我系在“信息安全”實驗課的實驗內容設置、實驗平臺建設、學生能力培養(yǎng)等方面的實踐與探索。
關鍵詞:信息安全;實驗課程;實驗平臺;軟件安全
中圖分類號:G642 文獻標識碼:B
1引言
“信息安全”是信息安全本科教學的核心專業(yè)課程。我校本科“信息安全”課程自2005年開設,我們認識到:
(1) 信息安全課程的教學需要重視理論的講授,使學生掌握解決問題的基本技術,更要強調實驗教學,培養(yǎng)學生解決安全問題的能力。
(2) 信息安全一個整體概念,解決某一個安全問題常常要綜合考慮硬件、系統(tǒng)軟件、應用軟件、代碼安全、協(xié)議安全等多個問題,因此需要培養(yǎng)學生的綜合安全技能,安全實驗內容的系統(tǒng)性尤為重要。這里的系統(tǒng)一方面是指實驗內容自身的體系完整,也包括實驗內容與其他計算機或安全專業(yè)課程的有機關聯(lián)。此外,為了適應實際應用的需求,實驗類型也應多樣,可分為原理驗證型、操作配置型、編程開發(fā)型、綜合應用型。
(3) 目前的信息安全教學受到學校資金、場地等硬件條件的限制,缺乏實驗所需的軟硬件,不能開設課程所要求的全部實驗,而且在現(xiàn)實的實驗環(huán)境中,模擬網絡攻擊、惡意代碼的分析等對實驗環(huán)境具有潛在危害的實驗也不能完成。因此,建立信息安全虛擬實驗平臺也是我們實驗教學工作中的一個重點。
我們根據(jù)本校的特點,在學校“研究性教學示范課程《信息安全》”項目、“網絡信息安全實驗課程研究與實驗平臺建設”項目的支持下,作者在“信息安全”實驗課的實驗內容設置、實驗平臺建設、學生能力培養(yǎng)等方面做了有益的實踐和探索。
2“信息安全”實驗課教學內容的設置
2.17大類實驗模塊
計算機網絡環(huán)境下的信息系統(tǒng)可以用如下的層次結構來描述。

為了確保信息安全,必須考慮每一個層次可能的信息泄漏或所受到的安全威脅。因此安全實驗的內容應當注意系統(tǒng)性,從以下幾個層次研究信息安全問題:計算機硬件與環(huán)境安全、操作系統(tǒng)安全、計算機網絡安全、數(shù)據(jù)庫系統(tǒng)安全、應用系統(tǒng)安全以及安全管理。
我們遵循信息安全PDRR模型的核心思想,以及“信息安全類專業(yè)指導性專業(yè)規(guī)范”項目組提出的“信息安全類專業(yè)知識體系”,并結合我們編寫的教材,設置的“信息安全”實驗課程的內容包含7大類30多個模塊:
第1類:密碼學基礎與密碼技術應用。包括對稱、非對稱密碼系統(tǒng)、公鑰密碼系統(tǒng)、消息摘要、數(shù)字簽名、信息隱藏與數(shù)字水印等實驗模塊。
第2類:硬件與操作系統(tǒng)安全。包括常用硬件設備防護、使用微軟基準安全分析器分析系統(tǒng)漏洞、Windows用戶帳號口令破解、Windows系統(tǒng)安全配置、微軟安全小工具的使用等實驗模塊。
第3類:數(shù)據(jù)庫安全。包括SQL Server 2000的安全管理等實驗模塊。
第4類:網絡安全。包括網絡掃描工具的使用及其編程實現(xiàn)、網絡嗅探工具的使用及其編程實現(xiàn)、遠程控制原理與實踐、網絡防火墻的使用和攻防測試、Snort入侵檢測系統(tǒng)的使用、使用SSL為Web服務器配置安全通信、利用OpenSSL的C/S安全通信程序設計等實驗模塊;
第5類:惡意代碼與安全程序設計。包括Web入侵方法實驗、代碼復審與靜態(tài)分析、惡意軟件的剖析與清除等實驗模塊。
第6類:應急響應與災難恢復。包括數(shù)據(jù)恢復軟件 Easy Recovery的使用、計算機取證軟件使用等實驗模塊。
第7類:風險評估與安全管理。包括安全掃描工具使用、風險評估工具使用、整體安全方案設計等實驗模塊。
2.2實驗組織及實驗類型
全部30多個實驗共分為4種實驗類型:
第一種:驗證型實驗。學生在實驗平臺的瀏覽器端輸入實驗參數(shù),由服務器運行仿真軟件,并將實驗結果返回用戶,如實踐RSA算法原理。
第二種:操作配置型。學生從安全實驗平臺的瀏覽器端下載實驗所需的工具軟件,如網絡攻擊、防火墻、入侵檢測工具等,接著在單臺計算機上實現(xiàn)的虛擬網絡環(huán)境中完成實驗內容。
第三種:編程開發(fā)型。將核心源代碼程序以類、功能模塊或組件的形式提供給學生,學生在瀏覽器端下載程序模塊,自己動手編程實現(xiàn),如利用OpenSSL開發(fā)包進行安全通信程序設計。
第四種:綜合應用型,如為校園網設計安全方案等,需要涉及安全需求分析、安全產品的選擇與部署、安全評估、應急響應與災難恢復、安全管理等多層次上的安全問題。
每個實驗以3人小組協(xié)同來完成。一般以一周為完成時間,在這期間,教師還可以利用發(fā)送電子郵件、在線答疑等方式解答學生提出的問題。
2.3“惡意代碼與安全程序設計實驗”模塊介紹
計算機安全專業(yè)的學生一般都學習過C、C++等程序設計、軟件工程、網站開發(fā)等課程,那么“信息安全”課程的學習如何與之有機關聯(lián)呢?學生如何在已學課程的基礎上從安全的角度進一步提高知識水平呢?下面以實驗內容第5類的“惡意代碼與安全程序設計實驗”模塊為例,對實驗內容及其實施做一介紹。
模塊1:軟件安全實驗知識準備
在這個知識準備模塊中介紹:
(1) 軟件安全問題,包括軟件安全問題與信息安全的關聯(lián)、軟件安全開發(fā)生命周期等,例如介紹風險分析和代碼復審,并解釋這些行為應該發(fā)生是在軟件開發(fā)生命周期中的哪一個階段、哪種情況下。
(2) 軟件安全漏洞與攻擊,包括緩沖區(qū)溢出(buffer overflows)、跨站點腳本攻擊(cross-site scripting)、錯誤開放認證(fail open authentication)、隱式表單(hidden form fields)、編譯注入(interpreter injection)、競態(tài)條件(race conditions)等,并介紹相關的攻擊術語以及如何利用以上安全缺陷的入侵。
(3) 安全設計原則,介紹由Saltzer和Schroeder提出的八項安全機制作為軟件設計與實現(xiàn)原則,例如最少特權(least privilege)、自動防故障缺省(fail-safe defaults)和特權分離(separation of privilege)。
模塊2:Web入侵方法實驗
利用OWASP (the Open Web Applications Security Project, 開放網絡應用軟件安全計劃) 設計的WebGoat 安全學習教程。要求學生使用Web Scarab測試工具來完成WebGoat實驗。WebScarab是一個用來分析使用HTTP和HTTPS協(xié)議的應用程序框架。
模塊3:代碼復審與靜態(tài)分析實驗
代碼復審是軟件系統(tǒng)安全性檢查的一個重要部分,它可以在軟件投入運行甚至系統(tǒng)沒有集成前發(fā)現(xiàn)和修復安全漏洞。要求學生使用ITS4、PCLint、Fortify等靜態(tài)分析工具快速發(fā)現(xiàn)代碼安全漏洞,并對這些工具的優(yōu)缺點進行分析。例如,ITS4的一個明顯缺陷是,它對所有出現(xiàn)strcpy()的語句都報警。
模塊4:惡意代碼剖析與清除實驗
對惡意代碼的剖析是與操作系統(tǒng)、軟件工程、網絡等安全緊密相關的重要實驗。惡意代碼的剖析實驗要求:惡意代碼運行主機的安全性、運行主機操作系統(tǒng)的安全性、感染環(huán)境的安全性、被感染系統(tǒng)的快速恢復、對惡意代碼感染前后的操作系統(tǒng)進行分析、仿真操作系統(tǒng)的多樣性、減少成本。
虛擬機作為一種仿真技術可以完全仿真硬件平臺,這樣就可以對病毒研究提供大量的仿真PC,節(jié)省了硬件成本。而且不必擔心病毒對硬件的破壞,同時通過單獨的最簡單的病毒研究網絡來減小對于其他網絡的感染,這樣也解決了病毒研究環(huán)境的安全性。此外,一般的虛擬機系統(tǒng)管理軟件都可以保存虛擬操作系統(tǒng)的當前狀態(tài),因而可以完成“對病毒感染前后進行分析”的實驗要求,也可以解決被感染系統(tǒng)的快速恢復的問題。因此,利用虛擬機技術是完成惡意代碼剖析實驗的一個很好的解決方案。
3“信息安全”實驗課教學平臺的建設
實驗平臺的建設思想是:采用虛擬機軟件VMWare在單臺計算機上實現(xiàn)多臺虛擬機以完成信息安全相關實驗,學生通過Web訪問,完成實驗的知識準備、實驗內容及相關軟件的下載、實驗報告的提交等工作。學生在瀏覽器端按一定步驟完成實驗,最終獲得實驗結果。下面介紹該平臺的設計思想、系統(tǒng)結構及工作機制,該平臺的使用情況并提出了進一步的工作。
3.1平臺設計原則
虛擬實驗系統(tǒng)的設計遵循以下原則:
(1) 開放性原則:本實驗系統(tǒng)基于校園網,任何接入校園網的學生都能使用本系統(tǒng)。
(2) 交互性原則:給出交互信息,對學生的操作做出實時反饋。
(3) 安全性與可靠性原則:系統(tǒng)自身運行保證安全可靠,并對用戶的使用過程通過日志記載。
(4) 易于維護原則:系統(tǒng)的模塊化設計,這樣既節(jié)省維護費用,又便于實驗項目的及時更新,保證虛擬實驗教學的不斷發(fā)展和完善。
3.2虛擬實驗平臺的結構
如下圖所示,虛擬實驗系統(tǒng)包括若干實驗組,每組一般由3人組成,每組中包括:
PCm(Personal Computer, m=1,2,3),實驗室中供學生使用的PC機;
VPCn(Virtual Personal Computer, n=1,2,3),在某臺學生機PC上虛擬出的客戶機。
整個實驗室還設置:
LabS (Laboratory Server),實驗服務器,實驗內容的發(fā)布、更新等;
LabC(Laboratory Console),實驗室控制臺,實驗室PC機的管理等工作。

3.3系統(tǒng)中的軟硬件部署
以一個實驗組的軟硬件部署為例介紹。
(1) 架設硬件。這個過程很簡單,將實驗室中的PC同時接到一個交換機上。
(2) 在PC1上創(chuàng)建虛擬機。安裝VMWare Workstation軟件,虛擬出3臺主機,VPC1-3的IP地址為192.168.2.1-192.168.2.3。在虛擬實驗環(huán)境的操作系統(tǒng)選擇上應當注意多樣化,我們選擇安裝兩個主流操作系統(tǒng)Windows 2003 Server和RedHat Linux,它們分別代表了Windows系列商業(yè)操作系統(tǒng)和開放源代碼系列的類UNIX操作系統(tǒng);配置上采用單主機雙啟動的方式選擇啟動Windows 2003 Server或RedHat Linux;身份認證采用網絡統(tǒng)一認證:Windows 2003 Server采用Windows的活動目錄認證,RedHat Linux通過pam-smb在Windows的活動目錄服務器上進行身份認證。
整個系統(tǒng)采用虛擬主機的方案,即虛擬主機是在物理計算機(稱為宿主機)的操作系統(tǒng)上(稱為宿主操作系統(tǒng))通過軟件模擬出來的“計算機”(稱為客戶機,其上安裝的操作系統(tǒng)稱為客戶操作系統(tǒng)),客戶操作系統(tǒng)僅僅是宿主操作系統(tǒng)上的某個特定的數(shù)據(jù)文件。客戶機上的任何操作只會影響宿主操作系統(tǒng)上的這個數(shù)據(jù)文件,提供虛擬主機的軟件還能在客戶機上虛擬出計算機設備(如網卡、磁盤等),其中,虛擬的網卡可以與宿主機通信,或與宿主機所連接的物理網絡通信,或者,一個宿主機的多個客戶操作系統(tǒng)還可以通過虛擬的網卡組成網絡,該網絡可以與物理網絡連接也可以不連接。
這個技術對于網絡安全實驗是非常有意義的。例如,可以在客戶操作系統(tǒng)上測試病毒的特性,在客戶操作系統(tǒng)組成的網絡中測試網絡配置,或者安裝、配置某個操作系統(tǒng)而不用擔心會弄壞宿主操作系統(tǒng)導致重新安裝,也可以通過拷貝客戶操作系統(tǒng)的數(shù)據(jù)文件來統(tǒng)一實驗環(huán)境。
3.4系統(tǒng)角色分工
虛擬實驗系統(tǒng)采用登錄機制,用戶進入虛擬實驗室,首先必須以某種身份登錄。例如:教師用戶可以將自己創(chuàng)建的新的虛擬實驗上傳到數(shù)據(jù)庫,以充實實驗內容。而學生用戶則無此權限。
3.5系統(tǒng)運行情況分析
本虛擬實驗系統(tǒng)具有以下一些顯著的優(yōu)點:
(1) 利于實驗的實施。通過虛擬機軟件的基本功能,可以保證信息安全實驗的安全性。例如在模擬的網絡攻擊中,虛擬機一旦崩潰,可以把整個虛擬機刪除,就像刪除普通文件一樣,保證了原計算機操作系統(tǒng)環(huán)境的穩(wěn)定性;
(2) 實驗成本低,易于實驗規(guī)模的擴展。利用虛擬機技術,在單機中模擬多個系統(tǒng)環(huán)境、模擬規(guī)模不等的網絡環(huán)境,提高了設備利用率,降低了實驗成本,按照圖2中1:3的比例就可以節(jié)省2/3的硬件資源。使得信息安全的實驗的普及、推廣成為了可能。
(3) 便于實驗內容的擴展。由于許多儀器或部件都是“虛擬”的,其功能是由開發(fā)者定義的,可隨著新設備的推出重新“生成”新的儀器設備,使之能跟上網絡技術的不斷更新;
(4) 虛擬實驗系統(tǒng)將使教學不再局限于有形的實驗室中,教學和動手操作實踐的空間和時間得到無形的擴展。
通過一段時間的實際應用,本系統(tǒng)在使用中還存在以下一些問題:
(1) 系統(tǒng)額外開銷增大。x86虛擬化技術的最大不足就是虛擬化本身會帶來系統(tǒng)開銷,同時也要消耗部分資源。這個開銷主要集中在CPU資源消耗、內存資源消耗和硬盤存儲資源消耗上。幸好硬件資源的過剩,可以緩解這一問題。
(2) 平臺系統(tǒng)維護復雜度提高。采用虛擬化技術后,由于涉及CPU內核管理和虛擬化軟件與操作系統(tǒng)間兼容性等問題,無論是宿主操作系統(tǒng)的升級,還是虛擬操作系統(tǒng)的升級,都需要慎重處理,即存在維護難度。
(3) 硬件配置需要適度提高。虛擬化技術是要在一臺計算機上運行盡可能多的系統(tǒng)和應用,因而高配置的單臺機器要比低配置的單臺機器更適于部署虛擬化系統(tǒng),不過這樣的硬件成本投入也能獲得更顯著的效益。
本系統(tǒng)的進一步工作,將實驗成績的管理納入系統(tǒng),實驗考核成績的查詢打印等,進一步提高實驗系統(tǒng)的服務質量。
4學生能力的培養(yǎng)
實驗教學的設備建設是搞好實驗教學的重要環(huán)節(jié),而教師對設備的使用、對實驗內容的把握、對學生學習過程的跟蹤和指導更加重要。我們在實驗教學中,要求各組學生的實驗報告中包括以下欄目:實驗目的、實驗原理、實驗詳細步驟、實驗小結與思考、參考文獻。其中實驗思考題由教師事先提出若干,要求學生在實驗中解決這些問題,并鼓勵學生在實驗中發(fā)現(xiàn)新的問題并努力解決。參考文獻也做了數(shù)量的要求,這樣一方面是為了督促學生廣泛閱讀相關文獻,另一方面教師也可從學生所列的參考文獻對學生實驗的完成質量有所了解。
對于各組學生提交的實驗報告還會利用上課時間進行討論,取長補短,歸納整理。課后,教師還對完成得較好的實驗報告加以進一步地指導,進行提煉和升華,形成論文。目前,我們這種:實驗——匯報討論——提煉升華的三階段實驗指導經驗已取得了一些成果,如學生已經完成了“高性能的文件加密系統(tǒng)”、“OpenSSL的C/S安全通信程序”、“U盤病毒及免疫程序”、“基于系統(tǒng)調用截獲技術的軟件行為分析系統(tǒng)”等安全軟件,并已在《電腦編程技巧與維護》等雜志上發(fā)表。此外,“軟件可信驗證”實驗作為我校“本科生科研訓練計劃”項目立項,學生以團隊形式參與完成。學生的資料搜集以及整理分析能力、編程能力、安全整體意識、寫作能力、團隊協(xié)作能力都得到了培養(yǎng)和提高。
5結束語
信息安全的理論和技術還在不斷的發(fā)展和更新中,這就要求教師不斷更新信息安全實驗課的實驗內容,加強與其他課程的關聯(lián),不斷完善實驗平臺,進一步培養(yǎng)學生安全能力,使得“信息安全”的教學真正做到使學生學以致用。
參考文獻:
[1] 陳波,于泠,肖軍模. 計算機系統(tǒng)安全原理與技術[M]. 北京:機械工業(yè)出版社,2006.
[2] 陳波,于泠. 計算機系統(tǒng)安全實驗教程[M]. 北京:機械工業(yè)出版社,2008.
[3] Michael Howard, Steve Lipner著. 李兆星,原浩,張鉞 譯. 軟件安全開發(fā)生命周期[M]. 北京:電子工業(yè)出版社,2008.
[4] 魯松. 計算機虛擬化技術及其應用[M]. 北京:機械工業(yè)出版社,2007.