1引言
Open Source技術(shù)[7]已經(jīng)成為國際上最受矚目的技術(shù)潮流之一,從開放源代碼的Linux操作系統(tǒng)到基于Linux操作系統(tǒng)的開放源代碼項目,為技術(shù)人員提供了協(xié)作與溝通的平臺。國外許多大學教師和學生積極參與了Open Source技術(shù)方面的活動,開發(fā)了一些著名的開放源代碼項目。我國高校在Open Source技術(shù)方面起步較晚、差距較大。但是,包括貴州大學在內(nèi)的一些大學也開始開展Open Source技術(shù)方面的工作。
當前,無論是教育行業(yè)還是商業(yè)領(lǐng)域,均對Open Source技術(shù)表示關(guān)注,國際上的跨國IT企業(yè),比如IBM、SUN公司,均積極參與Open Source技術(shù)方面的工作。教育領(lǐng)域?qū)pen Source技術(shù)高度重視,利用Open Source技術(shù)解決教學過程中的實踐教學問題。Open Source技術(shù)在人才培養(yǎng)過程中發(fā)揮了重要作用[1]。
當前信息安全領(lǐng)域的人才培養(yǎng)得到了空前的重視,但是信息安全專業(yè)的教學計劃普遍偏重理論知識的講授,而忽視了實踐教學,不利于“網(wǎng)絡安全”等理論與技術(shù)并重的課程教學工作的開展。本科“網(wǎng)絡安全”課程教學中的問題主要體現(xiàn)在以下幾個方面:
(1) 與理論知識相配套的實踐技能的培養(yǎng)不成體系,開設(shè)的實驗內(nèi)容偏少,影響學生對所學理論知識的理解,實踐創(chuàng)新能力的培養(yǎng)力度不夠;
(2) 高校普遍擴招,實驗室資源短缺,學校不能為學生提供很好的實驗環(huán)境。
為了提高學生應用所學理論知識解決實際問題的能力,強化課程的實驗教學環(huán)節(jié),在理論與實踐相結(jié)合的原則指導下我們利用Open Source技術(shù)輔助教師在“網(wǎng)絡安全”課程中的教學工作,加強教學過程中的技術(shù)專題實驗,增強教學效果。
本文第二節(jié)介紹網(wǎng)絡安全實驗的硬件環(huán)境;第三節(jié)介紹在搭建的實現(xiàn)平臺上設(shè)計的實驗內(nèi)容。第四節(jié)是本文的重點,詳細描述了實現(xiàn)的設(shè)計過程。最后給出本文的總結(jié)。
2實驗平臺環(huán)境
本實驗在由三臺計算機組成的小型局域網(wǎng)平臺上進行。利用少量的計算機搭建網(wǎng)絡平臺進行實驗,目的在于讓學生能夠按照本文介紹的方法在宿舍等環(huán)境中簡單、容易地搭建實驗環(huán)境。在大型局域網(wǎng)內(nèi)搭建網(wǎng)絡安全實驗環(huán)境的缺點是,環(huán)境搭建復雜,需要大量的軟件/硬件支持,不能充分利用Open Source技術(shù)開展實驗教學的優(yōu)勢[2][3]。
本實驗的硬件平臺都是一樣的,三臺計算機的硬件配置是相同的,主要的系統(tǒng)配置是:CPU:Intelreg; Pentiumreg; 4 CPU 3.00GHz;內(nèi)存:512MB。本實驗的操作系統(tǒng)平臺也是一樣的,三臺計算機都安裝的是雙系統(tǒng):Windows XP Professional;Fedora 5。在一臺計算機上裝兩個操作系統(tǒng)的目的在于,可以根據(jù)不同實驗要求,在兩個操作系統(tǒng)中方便地切換。
3實驗內(nèi)容
我們設(shè)計的網(wǎng)絡安全實驗由8個實驗專題組成,實驗內(nèi)容以及所需要的開源軟件如表1所示。
4實驗設(shè)計
我們按照教學大綱,結(jié)合“網(wǎng)絡安全”的課程內(nèi)容確定實驗題目和目標,然后從Open Source技術(shù)領(lǐng)域中選取實驗題材,搭建實驗環(huán)境。根據(jù)不同的實驗題材的原理和方法,設(shè)計實驗專題。下面我們對幾個典型的實驗原理和方法進行討論,其他實驗題材和實驗過程的詳細內(nèi)容將在有關(guān)實驗指導書中給出。
4.1端口掃描
第一個要詳細討論的實驗專題是“端口掃描”。我們通過采用模擬黑客攻擊的方法對目標進行檢測。端口掃描是探測本地和遠程系統(tǒng)端口開放情況的方法,端口掃描是網(wǎng)絡安全的起步。
端口掃描的分類[4]如圖1所示。在我們搭建的實驗平臺上,執(zhí)行了如下幾個端口掃描的實驗:
*TCP connect 掃描,通過TCP協(xié)議的三次握手與目標主機的指定端口建立一次完整連接。如圖2所示:
*TCP SYN 掃描,利用三次握手的弱點,掃描主機向目標主機的選擇端口發(fā)送SYN數(shù)據(jù)段。如果應答是RST,那么說明端口是關(guān)閉的,按照設(shè)定就探聽其他端口;如果應答中包含SYN和ACK,說明目標端口處于監(jiān)聽狀態(tài)。
*TCP FIN 掃描,掃描主機向目標主機發(fā)送FIN數(shù)據(jù)包來探聽端口,若FIN到達的是一個打開的端口,數(shù)據(jù)包則被簡單地丟棄,并不返回任何信息。當FIN數(shù)據(jù)包到達一個關(guān)閉的端口,TCP會把它判斷成是錯誤,數(shù)據(jù)包會被丟棄,并且返回一個RST數(shù)據(jù)包。
*TCP ACK 掃描,掃描主機向目標主機發(fā)送ACK數(shù)據(jù)包。根據(jù)返回的RST數(shù)據(jù)包有兩種方法可以得到端口信息。一種方法是:若返回的RST數(shù)據(jù)包的TTL值小于或等于64,則端口打開,反之端口關(guān)閉。另一種方法:若返回的RST數(shù)據(jù)包的Window值非零,則端口打開,反之端口關(guān)閉。
*NULL 掃描,掃描主機將TCP數(shù)據(jù)包中的ACK,F(xiàn)IN,RST(重新設(shè)定連接),SYN, URG, PSH標志位置空后(保留的RES1和RES2對掃描的結(jié)果沒有任何影響)發(fā)給目標主機。若目標端口開發(fā),目標主機將不返回任何信息。若目標主機返回RST信息,則表示端口關(guān)閉。
*XMAS 掃描,XMAS掃描原理和NULL掃描的類似,將TCP數(shù)據(jù)包中的ACK, FIN, RST, SYN, URG, PSH標志位置1后發(fā)送給目標主機。在目標端口開放的情況下,目標主機將不返回任何信息。
*SYN/ACK 掃描,掃描主機故意打亂TCP連接的3次握手協(xié)議,先發(fā)送SYN/ACK數(shù)據(jù)包。若目標端口開放,目標主機將返回RST信息。若目標端口關(guān)閉,目標主機將不返回任何信息,數(shù)據(jù)包會被丟棄。
*UDP ICMP端口不可到達掃描,掃描主機發(fā)送UDP數(shù)據(jù)包給目標主機的UDP端口,等待目標端口的端口不可到達(ICMP_PORT_UNREACH)的ICMP信息。若超時也沒有收到端口不可到達的ICMP信息,則表明目標端口可能處于監(jiān)聽的狀態(tài)。若這個ICMP信息及時接受到,則表明目標端口處于關(guān)閉狀態(tài)。
通過這個實驗,可以讓學生了解端口掃描的原理??梢岳肨CP/IP不同的端口服務,采用不同的方式向目標主機服務端口發(fā)送探測數(shù)據(jù)包,并記錄目標主機的響應。通過分析響應來判斷服務端口是否打開,就可得知端口所提供的服務或者信息。通過這些信息,就可以判斷哪些端口開放是安全的;哪些端口開放是有安全隱患的,需要關(guān)閉;哪些端口開放是未經(jīng)允許的。這樣就能讓學生知道,端口掃描是檢測網(wǎng)絡安全性的一種重要的方法。
4.2NAT分析實驗
NAT分析實驗是為了讓學生理解地址轉(zhuǎn)換的機制與原理。網(wǎng)絡地址轉(zhuǎn)換(NAT)是一個很流行的代理服務。防火墻的重要功能之一是對外部網(wǎng)絡隱藏內(nèi)部網(wǎng)絡的信息。這些信息包括TCP/IP地址和網(wǎng)絡工作站和服務器之間的確認數(shù)據(jù)。為了隱藏主機信息,當NAT代表內(nèi)部網(wǎng)絡的客戶在因特網(wǎng)上建立連接時,它使用自己的IP地址(或者某個IP地址范圍)。在受保護的網(wǎng)絡里,客戶之間使用分配的真實IP地址進行通信。
我們的實驗平臺搭建如圖3所示:把Linux主機設(shè)置成NAT代理服務,內(nèi)部網(wǎng)絡的計算機通過代理訪問外部網(wǎng)絡。
如圖4所示,我們以一個具體的例子來描述NAT時[5],先發(fā)送給服務器,NAT服務器改變了IP包的源地址和端口,把私有地址轉(zhuǎn)換成可以訪問外網(wǎng)的授權(quán)地址,然后再向外網(wǎng)發(fā)送。傳回來的數(shù)據(jù)包,也是如此。
(1) 從192.168.0.1:1234發(fā)送到64.233.189.104的http請求。
(2) 把192.168.0.1:1234翻譯成172.30.0.119:1546。
(3) 從172.30.0.119:1546到64.233.189.104:80發(fā)送http請求。
(4) 從64.233.189.104:80到172.30.0.119:1546發(fā)送信息。
(5) 從172.30.0.119到192.168.0.1:1234發(fā)送回復消息。
(6) 192.168.0.1:1234到172.30.0.119發(fā)送中斷連接請求。
(7) 172.30.0.119:1546到64.233.189.104:80發(fā)送中斷連接請求。
使用NAT隱藏NAN信息。NAT能夠用來隱藏內(nèi)部網(wǎng)絡的信息。因為客戶的真實IP地址從沒有在因特網(wǎng)上使用。所以外部網(wǎng)絡的主機想找到它是很困難的,也幾乎是不能的。這個實驗讓學生了解到,可以通過NAT地址轉(zhuǎn)換,增加網(wǎng)絡安全性。
5總結(jié)
針對信息安全實驗教學過程中的問題[6][8],結(jié)合“網(wǎng)絡安全”課程教學過程,利用Open Source技術(shù),本文設(shè)計了一系列的實驗專題,有助于強化網(wǎng)絡安全方面的實驗教學。所設(shè)計的實驗專題對于“計算機網(wǎng)絡”、“計算機通信”和“計算機安全”等課程的實驗教學也具有重要的借鑒價值。本文工作的價值不僅體現(xiàn)在設(shè)計了若干基于Open Source技術(shù)的網(wǎng)絡安全實驗,同時對于利用Open Source技術(shù)解決實驗資源緊缺的問題、因地制宜地設(shè)計一些有效的實驗方案具有實際意義,可進一步強化實驗教學工作,增強學生技術(shù)創(chuàng)新能力。因此,本文的工作具有重要意義,未來的工作重點在于,結(jié)合課堂教學內(nèi)容設(shè)計系列實驗,形成“實驗指導書”。
參考文獻
[1] Fred Gutierrez. “Stingray: A Hands-On Approach to Learning Information Security” [C]. Proceedings of the 7th conference on Information technology education, Minneapolis, Minnesota, USA. 2006.
[2] Mike O’Leary. “A Laboratory Based Capstone Course in Computer Security for Undergraduates” ACM SIGCSE Bulletin, 38(1), 2006.
[3] Bradley Bogolea, Kay Wijekumar.“Information Security Curriculum Creation: A Case Study”[C]. Proceedings of the 1st annual conference on Information security curriculum development, Kennesaw, Georgia, 2004.
[4] 張玉清. “安全掃描技術(shù)”[M]. 北京:清華大學出版社,2004.
[5] Jose Carlos Brustoloni. “Laboratory experiments for network security instruction”[J]. ACM Journal on Educational Resources in Computing, 6(4), 2006.
[6] 馬建峰,李鳳華. “信息安全學科建設(shè)與人才培養(yǎng)現(xiàn)狀、問題與對策”[J]. 計算機教育, 2005,1(1).
[7] Joseph Feller, Karim Lakhani, et al. “Open source application spaces”, the 5th workshop on open source software engineering”[C], USA, 2005.
[8] 李鳳華,馬建峰. 關(guān)于國內(nèi)計算機學科本科生教學的幾點思考[C]. 第七屆全國計算機系主任/院長論壇論文集, 北京:清華大學出版社,2004.