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