汪世義
(巢湖學(xué)院計算機(jī)與信息工程學(xué)院,安徽 巢湖 238000)
代碼解析在信息安全類課程教學(xué)中的應(yīng)用
汪世義
(巢湖學(xué)院計算機(jī)與信息工程學(xué)院,安徽 巢湖 238000)
通過近幾年對信息安全類課程的教學(xué)實踐,總結(jié)了本科應(yīng)用型高校信息安全類課程教學(xué)中普遍存在的問題,提出把開源軟件的代碼解析過程引入到實驗教學(xué)中,是一種教學(xué)內(nèi)容和教學(xué)方法上的創(chuàng)新,在技術(shù)上也是切實可行的.
開源軟件;網(wǎng)絡(luò)安全類課程;教學(xué)改革
網(wǎng)絡(luò)信息安全是高校信息類專業(yè)本科生較為重要的一門專業(yè)選修課,它涉及到計算機(jī)網(wǎng)絡(luò)和操作系統(tǒng)以及密碼學(xué)等理論知識,涵蓋數(shù)字加密與簽名、防火墻、入侵監(jiān)測、病毒防治、VPN等主要的安全技術(shù)[1].本文作者通過調(diào)查與研究,針對目前本科應(yīng)用型高校信息安全類課程教學(xué)存在的共性問題,提出教改方法設(shè)想,申請并獲得省級教研立項,對此作一點有益的探索.為使學(xué)生能夠更好的理解網(wǎng)絡(luò)安全相關(guān)的理論課程知識體系,本文主要就獲得立項項目在教學(xué)內(nèi)容和教學(xué)方法中的改革進(jìn)行探討,主要體現(xiàn)在實踐教學(xué)中對相關(guān)的開源軟件進(jìn)行深入的剖析,使實驗教學(xué)內(nèi)容更好的和理論課內(nèi)容做到有機(jī)統(tǒng)一,為全面提高該類學(xué)校的網(wǎng)絡(luò)安全類課程教學(xué)質(zhì)量提供參考.
計算機(jī)網(wǎng)絡(luò)安全是網(wǎng)絡(luò)工程專業(yè)的專業(yè)必修課,是一門涉及操作系統(tǒng)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)等多學(xué)科和技術(shù)的綜合性學(xué)科,課程的理論性強(qiáng),涉及的知識面寬,對學(xué)生的理論與實踐兩方面均有較高的要求.相對于在本科應(yīng)用型高校而言,由于培養(yǎng)目標(biāo)與專業(yè)課程的限制,學(xué)生的相關(guān)專業(yè)課理論基礎(chǔ)不夠扎實,目前大部分二本院校操作系統(tǒng)相關(guān)的理論課程只是對學(xué)生進(jìn)行傳統(tǒng)的理論教學(xué),實驗開展很難有針對性;而網(wǎng)絡(luò)信息安全這門專業(yè)課中尤其是學(xué)習(xí)到目前最先進(jìn)的網(wǎng)絡(luò)安全入侵檢測技術(shù)又是以操作系統(tǒng)相關(guān)的功能模塊作為前期基礎(chǔ),因此,如何聯(lián)系操作系統(tǒng)的教學(xué)實際,改進(jìn)網(wǎng)絡(luò)信息安全類課程的教學(xué)內(nèi)容與教學(xué)方法是當(dāng)前教學(xué)過程中需要迫切解決的問題.傳統(tǒng)的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議教學(xué)理論內(nèi)容抽象,讓學(xué)生感覺這些內(nèi)容看不見摸不著,沒有機(jī)會認(rèn)知一下這些系統(tǒng)程序到底是如何實現(xiàn)的.因此,如何在現(xiàn)有的條件下盡可能在教學(xué)過程中加強(qiáng)學(xué)生的操作系統(tǒng)的實踐教學(xué),并對操作系統(tǒng)相關(guān)的數(shù)據(jù)包捕獲模塊進(jìn)行裁減和利用,并把這些模塊應(yīng)用到網(wǎng)絡(luò)入侵檢測技術(shù)的實驗中成為主要研究的課題.在這個教學(xué)過程中,通過開放源代碼的軟件的學(xué)習(xí)和利用,對學(xué)生綜合編程能力、操作系統(tǒng)的理論模塊的深入理解能力、網(wǎng)絡(luò)安全入侵檢測技術(shù)的實現(xiàn)能力都會有很大的提高.
另外,目前高校網(wǎng)絡(luò)信息安全類課程教學(xué)內(nèi)容和實踐嚴(yán)重脫節(jié).傳統(tǒng)的課堂教學(xué)方法過于抽象,難于理解,于是眾多的教研課題組提出了實例教學(xué)法、任務(wù)驅(qū)動教學(xué)法等教學(xué)改革方法.這些方法看上去似乎解決了一些問題,例如可以根據(jù)教學(xué)需要,適當(dāng)選擇若干個實例穿插在理論講授過程中進(jìn)行分析,組織案例教學(xué)與分析.但這些方法忽略了一個基本的事實,網(wǎng)絡(luò)安全的基礎(chǔ)是和操作系統(tǒng)原理知識緊密相關(guān)的,而僅僅通過簡單的幾個小例子,讓學(xué)生誤以為學(xué)習(xí)網(wǎng)絡(luò)安全就是裝一些網(wǎng)絡(luò)安全軟件這些簡單的操作.作為本科應(yīng)用型高校,學(xué)習(xí)的對象是本科生,為了使學(xué)生對整個網(wǎng)絡(luò)安全體系有比較全面,透徹的了解,必須在課程教學(xué)中重點剖析一個現(xiàn)成的網(wǎng)絡(luò)安全體系結(jié)構(gòu),就是本文中提到的開放源代碼軟件入侵檢測系統(tǒng).根據(jù)教學(xué)中不同層次的要求,而要真正深入網(wǎng)絡(luò)安全本質(zhì)內(nèi)容則是和另一種開源軟件Linux操作系統(tǒng)是分不開的.所以把這兩種開源軟件的代碼解析過程引入到實驗教學(xué)中,是一種教學(xué)內(nèi)容和方法上的創(chuàng)新,在技術(shù)上也是切實可行的.
Snort是一個用C語言編寫的符合GPL規(guī)范的開放源碼軟件.Snort是一個功能強(qiáng)大、跨平臺、輕量級的網(wǎng)絡(luò)入侵檢測工具.所謂的輕量級是指在檢測時盡可能低的影響網(wǎng)絡(luò)的正常操作.它具有實時數(shù)據(jù)流量分析和日志IP網(wǎng)絡(luò)數(shù)據(jù)包的能力,對內(nèi)容進(jìn)行搜索/匹配.它能夠檢測各種不同的攻擊方式,對攻擊進(jìn)行實時報警.此外,Snort具有很好的擴(kuò)展性和可移植性[2-3].由于這種開源代碼是C語言寫的,本科生對這種計算機(jī)語言都有較好的基礎(chǔ),這樣在教學(xué)過程中,用Snort開放源代碼軟件作為網(wǎng)絡(luò)安全類課程剖析用例系統(tǒng)是最好的選擇.
本教改方案在網(wǎng)絡(luò)安全類課程教學(xué)中討論的基于Snort網(wǎng)絡(luò)入侵檢測系統(tǒng)是基于Linux操作系統(tǒng)平臺的,捕獲數(shù)據(jù)包的工作是借助Libpcap由Linux操作系統(tǒng)內(nèi)核完成的.Linux是開放源碼的操作系統(tǒng),它具有強(qiáng)大的網(wǎng)絡(luò)功能.Linux的網(wǎng)絡(luò)實現(xiàn)是以4.4 BSD為模型的,它支持BSD Sockets(及一些擴(kuò)展)和所有的TCP/IP網(wǎng)絡(luò).為了理解網(wǎng)絡(luò)安全中數(shù)據(jù)包采集和處理,必須對常規(guī)情況下Linux系統(tǒng)捕獲數(shù)據(jù)包方式及其網(wǎng)絡(luò)協(xié)議有所了解.通過對開放源代碼的解析,讓同學(xué)們在學(xué)習(xí)這些專業(yè)課的過程中深入體會開放源碼的具體實現(xiàn)過程,并對它們進(jìn)行適當(dāng)?shù)牟眉艉透倪M(jìn),實現(xiàn)相應(yīng)的實驗?zāi)繕?biāo),加深同學(xué)們對網(wǎng)絡(luò)原理、操作系統(tǒng)、網(wǎng)絡(luò)信息安全等課程中抽象的理論知識的理解能力,同時強(qiáng)化了同學(xué)們對大型的C語言程序的閱讀理解能力,這個過程對提高同學(xué)們的實踐能力有很大幫助.
libpcap源代碼由20多個C程序源文件構(gòu)成,但在Linux系統(tǒng)下并不是所有文件都用到.實際所用到的文件可以通過查看命令make的輸出.下面的應(yīng)用程序框架及分析所對應(yīng)的libpcap版本號為0.8.3,網(wǎng)絡(luò)類型為常規(guī)以太網(wǎng).下面給出一個簡單的應(yīng)用程序框架,并給出初步模塊代碼分析.
網(wǎng)絡(luò)信息安全類課程傳統(tǒng)的課堂教學(xué)方法過于抽象,難于理解.在網(wǎng)絡(luò)安全類課程教學(xué)中剖析開放源代碼的基于Snort網(wǎng)絡(luò)入侵檢測系統(tǒng)是一種有益的嘗試.其中框架原代碼是用C語言實現(xiàn)的,是基于Linux操作系統(tǒng)平臺的,通過代碼解析學(xué)習(xí)捕獲網(wǎng)絡(luò)數(shù)據(jù)包具體過程和實現(xiàn)方法,把相關(guān)開源軟件代碼解析內(nèi)容引入到教學(xué)過程和實驗項目以及畢業(yè)設(shè)計選題中.
通過對開源軟件和應(yīng)用型本科高校信息安全類課程的研究與分析,得出使用開源軟件開展信息安全技術(shù)類課程教學(xué)是完全可行的,并在此基礎(chǔ)上對基于開源軟件的信息安全類課程的教學(xué)方法進(jìn)行嘗試,對其該方法的優(yōu)缺點進(jìn)行了總結(jié)和分析.
通過對開放源代碼的解析,讓同學(xué)們在學(xué)習(xí)這些專業(yè)課的過程中深入體會開放源碼的具體實現(xiàn)過程,并對它們進(jìn)行適當(dāng)?shù)牟眉簦缭陂_源代碼中模式匹配實驗中加上協(xié)議分析內(nèi)容,實現(xiàn)相應(yīng)的實驗?zāi)繕?biāo),加深同學(xué)們對抽象的理論知識的理解能力.
操作系統(tǒng)原理傳統(tǒng)的教學(xué)方法在應(yīng)用型本科高校絕大部分是照本宣科,教學(xué)內(nèi)容和應(yīng)用完全脫節(jié),設(shè)計實驗閉門造車,從而從學(xué)生感到操作系統(tǒng)原理課是高深莫測,難以學(xué)習(xí)領(lǐng)會其核心內(nèi)容.通過改進(jìn)教學(xué)方法,在操作系統(tǒng)教學(xué)過程中解析Linux內(nèi)核的網(wǎng)絡(luò)實現(xiàn)開放源代碼.讓同學(xué)們在實踐中掌握開源代碼Linux系統(tǒng)中數(shù)據(jù)流捕獲流程及具體實現(xiàn),為下一步在網(wǎng)絡(luò)入侵檢測領(lǐng)域中網(wǎng)絡(luò)數(shù)據(jù)的獲取打下堅實的基礎(chǔ).
信息類專業(yè)網(wǎng)絡(luò)信息安全類課程教學(xué)的重要地位在應(yīng)用型本科高校顯得更為突出,其應(yīng)用性和實踐性在該專業(yè)課程設(shè)置中占有很重要的地位,直接關(guān)系到應(yīng)用型高素質(zhì)人才綜合素質(zhì)的培養(yǎng).網(wǎng)絡(luò)信息安全類課程教學(xué)改革既和辦學(xué)條件相關(guān),又和教學(xué)內(nèi)容、教學(xué)方法、教學(xué)理念、實習(xí)壞境、師資培養(yǎng)多方面有著密切的聯(lián)系,是一項系統(tǒng)工程,這就要求當(dāng)前承當(dāng)教學(xué)任務(wù)的教學(xué)單位和主講教師要面對實際教學(xué)中存在的問題,努力探索提高教學(xué)效果的新途徑[4].文中提出的把開源軟件代碼解析引入到應(yīng)用型本科高校教學(xué)中為該類課程的教學(xué)改革方案提供了一種全新的思路,在此基礎(chǔ)上構(gòu)建適合該類學(xué)校相關(guān)專業(yè)的特色課程體系,以適應(yīng)應(yīng)用型本科院校的科學(xué)定位的人才培養(yǎng)目標(biāo).
[1]段立娟,周藝華.網(wǎng)絡(luò)安全課程教學(xué)研究與探討[J],計算機(jī)教育,2008,(10):74-75.
[2]宋連濤,莊衛(wèi)華.基于異常的入侵檢測技術(shù)在Snort系統(tǒng)中的應(yīng)用[J],計算機(jī)技術(shù)與發(fā)展,2006,16(6):137-139.
[3]魏德志,王奇光,林麗娜.一種基于數(shù)據(jù)挖掘的Snort系統(tǒng)的設(shè)計與應(yīng)用[J],集美大學(xué)學(xué)報,2011,16(5):397-340.
[4]汪世義.新建本科應(yīng)用型高校計算機(jī)基礎(chǔ)教學(xué)改革的思考[J],巢湖學(xué)院學(xué)報,2009,(3).
OPEN SOURCE SOFTWARE CODE ANALYTICAL IN INFORMATION SECURITY COURSE TEACHING
WANG Shi-yi
(Computer Department of Chaohu College,Chaohu Anhui 238000)
The paper first summarizes the prevalent problem of the computer Information security course teaching in undergraduate colleges through several years teaching practice.Secondly,the open source software code analytical process is introduced into the experiment teaching,it is a kind of teaching content and teaching method innovation.
Open source software;Network security course;Teaching reform
G642.0
A
1672-2868(2011)06-0137-03
2011-10-11
安徽省省級教學(xué)研究項目(項目編號:20100970)
汪世義(1974-),男,安徽桐城人。副教授,研究方向:模式識別、網(wǎng)絡(luò)安全
責(zé)任編輯:陳 鳳