文章編號:1672-5913(2008)18-0115-03
摘要:鑒于在中國科學院軟件研究所長期從事的安勝安全操作系統的研發經驗和成果,我們從模塊化知識體系和工程實踐角度,采取了集課堂講授、討論交流、實例演示、實驗和課程項目為一體的多模式教學方法。本文介紹了我們的研究成果。
關鍵詞:操作系統安全;模塊化知識體系;多模式教學方法
中圖分類號:G642 文獻標識碼:B
1引言
作為計算機軟件基礎部分,操作系統的安全性對上層應用的安全起著至關重要的作用。隨著網絡應用的普及和移動計算的興起,操作系統所面臨的安全威脅日趨多樣化和復雜化。因此迫切需要研制能夠提供高安全等級的操作系統,以滿足在當前計算環境下不同應用系統的不同程度的安全需求。操作系統安全課程的開設,正是鑒于我們在操作系統安全領域的長期研究、技術積累與工程實踐,包括符合國標GB17859第三級的安勝安全操作系統原型的科研成果、以及符合國標GB17859第四級的安勝安全操作系統原型的科研成果,以及在中國科學院科學出版基金的支持下,于2003年初由科學出版社出版國內首部該領域專著—《操作系統安全導論》,于2004年在清華大學出版社與高等院校信息安全專業系列叢書編委會的大力推動與支持下出版的研究生教材《操作系統安全》。
2006年,北京大學軟件與微電子學院正式成立信息安全系,開始了面向軟件工程碩士的專業課程體系建設,“操作系統安全”課程作為專業選修課在本系碩士研究生中首次開設,至今已經面向2006級、2007級的統招碩士生和在職碩士生開設了四次。經過教學、科研的相互促進,以及教學方法的不斷改進和創新,我們已經逐步形成了注重學生研究能力、工程實踐能力、創新能力培養的課程內容和教學方法,取得了比較理想的教學效果。
此外,目前國內外對基礎軟件的研發非常重視,操作系統安全與可信計算、虛擬機技術等新興領域的結合和發展也成為新趨勢。本課程在現有科研成果、教學成果的基礎之上,也十分強調知識體系的可拓展性,力求為我國該領域培養出更多實踐性強和創新型人才。
2明確培養目標,模塊化課程內容,突出教學特色
2.1明確課程的培養目標
作為面向軟件工程碩士開設的專業課程,需要以培養學生的工程實踐能力為主要目標。為此,本課程的主要培養目標是:在讓學生充分了解和掌握操作系統安全的知識體系基礎之上,能夠讓學生系統地學習和實踐操作系統安全相關技術的設計與實現方法。通過本課程的學習,學生可以具備綜合運用所學知識進行操作系統安全分析、設計和實現的能力,也可以具備對相關領域研究方向和技術發展趨勢的研究、實踐和創新的能力。
2.2模塊化課程的教學內容
本課程從理論和實踐相結合的角度,依據國外和我國在該領域的研究和實踐,從“操作系統安全背景知識”、“操作系統安全理論技術”、“操作系統安全設計實踐”、“相關領域研究發展趨勢”四大模塊(如圖1所示),系統地為學生介紹該領域的知識體系、實踐技術和發展方向。各大模塊的具體教學內容建設如下:

(1) 操作系統安全背景知識模塊
本模塊在全面分析國內外相關研究現狀的基礎之上,為學生引入操作系統安全的基本概念,幫助學生了解評估一個操作系統安全等級的相關標準,以及操作系統所需提供的基本安全機制。在基本安全概念方面,界定可信與安全的區別、系統邊界與安全周界、訪問監控器、可信計算基TCB等的涵義。針對相關標準,重點分析美國TCSEC可信計算機系統評測標準(對應我國國家標準GB17859-1999)、ISO國際標準CC通用安全測評標準(對應我國國家推薦標準GB/T18336.1-3)要求與應用。在安全機制部分,針對目前主流操作系統,尤其以我們自主研發的符合國標GB17859第三級、第四級(等價于TCSEC的B1級、B2級)的安勝安全操作系統為例,介紹標識與鑒別、自主訪問控制、強制訪問控制、最小特權管理、可信路徑、安全審計、密碼服務、隱蔽通道分析等基本安全機制的工作原理。
(2) 操作系統安全理論技術模塊
本模塊的目標是讓學生掌握構建操作系統的基本理論和核心技術,主要涉及安全性建模理論和方法、安全體系結構設計和實現方法、隱蔽通道的標識與處理技術。在安全建模方面,重點分析機密性、完整性策略及其建模思想,并以經典Bell-LaPadula機密性模型,Biba、Clark Wilson完整性模型為例介紹安全建模的一般方法,而對于Chinese Wall、RBAC(Role Based Access Control)、DTE(Domain and Type Enforcement)等其他常用安全模型的介紹,是讓學生了解和掌握信息系統安全領域目前更加實用的安全建模理論和技術。針對安全體系結構的設計,重點以FLASK安全體系結構和LSM(Linux Security Module)體系框架為例,引導學生掌握支持動態多策略的安全體系結構設計思想和實現方法。隱蔽通道的標識與處理是更高安全等操作系統的要求,這部分將主要介紹隱蔽通道的判別標準與構造方法、隱蔽通道的標識技術、隱蔽通道帶寬計算方法、以及隱蔽通道的常用處理技術等。
(3) 操作系統安全設計實踐模塊
本模塊以自主研發的安勝安全操作系統原型和國外經典SELinux操作系統原型為例,系統地介紹高安全等級操作系統的需求分析、設計和實現方法,及其在安全WEB系統、高保障防火墻系統、安全數據庫系統中的應用和安全擴展方法。在設計實例分析方面,以安全系統設計原則和常用開發方法為基礎,重點對安勝安全操作系統和SELinux系統中的機密性、完整性、最小特權等安全策略、模型,安全體系結構設計,安全模塊的設計和開發方法、隱蔽通道的標識和處理技術等進行詳細剖析。在應用實例分析方面,以安全WEB系統、高保障防火墻系統、安全數據庫為例,分析各應用系統在操作系統提供的安全性基礎之上進一步擴展整個系統安全性的技術和方法。
(4) 相關領域研究發展趨勢模塊
本模塊是在學生對操作系統的安全理論、技術和實現方法有了一個比較系統的了解、掌握和實踐之后,幫助學生拓展相關領域的新技術及熱點問題,使他們能夠把握新技術的脈搏、適應未來的發展趨勢和應用。目前,該模塊涉及的主要內容包括可信計算技術、虛擬機技術,以及他們的安全研究熱點,也涉及他們對未來操作系統安全研究的改變。
2.3突出課程的教學特色
本課程的教學形成自己的特色,主要包括以下幾點:
第一,本課程的知識體系完備,模塊清晰、并具有遞進化的層次結構。
第二,本課程是從自主研發的“安勝安全操作系統”,以及國外經典“SELinux”開源項目的工程實踐角度,剖析操作系統的安全理論、技術、開發方法和應用。
第三,本課程重點培養學生基于Linux操作系統的安全增強技術和方法上的實踐。
第四,本課程既有課堂講授,也有實例演示和實驗課,并通過課程項目的驅動,注重學生分析問題、解決問題能力,以及實際動手實踐能力的培養。
第五,本課程注重拓展學生的領域知識,引導學生對最新技術和發展方向的把握。
3多模式教學方法,以培養實踐能力和創新能力為核心
過多的理論介紹,既增加學生的學習負擔,又不能突出教學重點,還會挫傷學生的學習積極性。尤其是對于軟件工程碩士的培養,一方面我們要注重理論體系的教學,另一方面我們更應該重視學生工程實踐能力和創新能力的培養。為此,在“操作系統安全”課程建設的過程中,經過不斷的改革和探索,我們采取了一種集課堂講授、技術交流討論、實例演示、實驗和課程項目為一體的多模式教學方法(如圖2所示)。這種多模式教學方法的實踐表明,能夠有利于學生發揮學習的主觀能動性和積極性,能夠在知識掌握、實踐能力、分析問題和解決問題能力、創新能力等方面得到鍛煉和提高,效果比較理想。

3.1課堂講授模式
課堂講授是課程教學的主要模式和基礎,在本課程中約占總學時的60%,以系統介紹2.2節知識模塊1-3為主。在本模式中,我們注重課件的建設,形成了層次化的知識模塊結構(如圖1所示),強調每一個模塊中關鍵知識點之間保持連貫性。如:在Biba完整性模型介紹中,從“分析主客體完整性涵義→引入安全信息傳輸路徑概念→解釋Biba模型規則”一脈相承。此外,也注重課堂講授過程中啟發性和互動性,讓學生變被動吸收為主動理解。
3.2技術交流與討論模式
在課堂講授操作系統基本知識體系的基礎之上,通過行業專家配合課程內容,介紹相關領域的前沿工程技術與實踐。例如,我們聘請中國科學院信息安全國家重點實驗室張敏博士作關于數據庫安全技術的專題報告,秦宇博士作關于可信計算平臺和虛擬機安全技術的專題報告,還聘請解放軍某部季慶光博士作關于操作系統安全設計與未來發展趨勢分析的專題報告。圍繞核心技術,我們還通過課內外分組討論指定專題方式,充分調動學生學習的主動性和積極性,鍛煉學生分析問題、解決問題的能力和勇于創新的能力。
3.3實例演示模式
實例演示是專業課程的一個重要教學環節。在操作系統安全教學過程中,抽象的理論和技術內容,僅憑講解是不夠的,實例的演示和分析可以讓抽象內容具體化,便于學生理解和掌握。為此,我們以自主研發的安勝安全操作系統原型為基礎,通過建設典型的實例演示和分析,展示操作系統的主要安全機制、技術和實現方法。例如:對于自主訪問控制機制和強制訪問控制機制的本質區別,我們擬的演示實例如圖3所示(其中安全級支配關系為SYS_ADMIN≥SYS_SECURITY≥SYS_PUBLIC,依據BLP模型,主體支配客體才能讀訪問):

這樣,如果要授權user2可讀file1,只需file1屬主user1執行A1授權(自主訪問控制允許);但是,如果要授權user3可讀file1,必須經過兩個授權:(1)由file1屬主user1 執行B1授權(自主訪問控制允許);(2)由管理員 root 執行B2授權(強制訪問控制允許)。通過這樣的典型實例,可以讓學生清晰地了解這兩種機制的工作原理和本質區別。
3.4實驗課模式
實驗課是讓學生掌握操作系統安全核心技術和方法必不可少的環節,通過實驗課的設置我們還可以培養學生的實際編程能力、動手實踐的能力,并通過嚴格的實驗報告要求培養學生規范的文檔組織和寫作能力,以及對實驗結果的總結分析能力。以我們開設的實驗--“隱蔽存儲通道場景的構造實現”為例,一方面,讓大家熟悉安勝OS的基本安全機制和操作、清楚隱蔽存儲通道的工作機理,另一方面,讓大家練習Linux環境下的C程序設計,在安勝OS實際環境中編寫隱蔽存儲通道的發送程序、接收程序,并實際運行和測試。實驗結果表明,學生在鍛煉動手實踐能力的同時,可以更加深入地掌握相關理論和技術。
3.5課程項目模式
本課程項目是在學生對操作系統安全理論和技術具有一定了解的基礎之上,通過老師指導選題,主要以課外分組討論、設計和實現的方式完成一個實踐性項目或研究性項目,并要求進行選題陳述、結題陳述、實例演示和完成課程項目技術報告。重點培養學生中英文獻檢索能力、閱讀和理解能力,綜合運用所學操作系統安全理論、技術與方法分析問題和解決問題的能力,以及對相關技術和新技術的研究、分析、設計實踐和創新的能力。以下是目前本課程項目涉及的六個主要方向,但可以不限于這些方向。
(1)windows(比如windows vista)系統安全機制分析、設計及實踐技術
(2)Linux/UNIX(比如Linux 2.6, SELinux, Solaris 10)安全機制分析、設計及實現技術
(3) 操作系統安全實用理論模型設計、分析、驗證和模擬演示技術
(4) 面向操作系統安全的滲透測試經典方法、實例分析和實踐技術
(5) 可信計算平臺安全問題研究、分析、設計與實現技術
(6) 虛擬機安全問題研究、分析、設計與實現技術
4結束語
模塊化知識體系和多模式教學方法的應用,使“操作系統安全”課程在教學設計上實現了理論教學和實踐教學的有機結合、構成了“講授 + 交流 + 實例 + 實驗 + 項目”體系的教學新思路。在教學過程中始終貫徹“教學、科研、實踐”互動的原則,使學生在學習課程知識時,依托真實、具體的自主研發成果-安勝安全操作系統,以及NSA經典開源項目SELinux系統,在實例、實驗、項目、新技術交流的引導之下,強調對學生實踐能力和創新能力的培養,避免了停留在抽象枯燥的理論層面。兩年來的教學實踐證明,這種教學方法的應用極大地激發了學生學習的積極性和興趣,提高了學生的專業素質和綜合能力。
參 考 文 獻
[1] 卿斯漢,劉文清,劉海峰. 操作系統安全導論[M]. 北京:科學出版社,2003.
[2] 卿斯漢,劉文清,溫紅子. 操作系統安全[M]. 北京:清華大學出版社,2004.
[3] 柳翔. 嵌入式軟件工程人才培養模式的探索與實踐[J]. 計算機教育,2005,(11).
[4] 李文新. 加強基礎,提供平臺,營造氛圍,全方位培養創新能力[J]. 計算機教育,2008,(1):20-22.
[5] 王文. 項目驅動的”Linux操作系統\"課程教學改革[J]. 計算機研究,2007,(9):77-79.
[6] 肖競華,陳建勛. ”計算機操作系統\"教學改革探索與實踐[J]. 高等理科教育,2007,(3):68-70.