陳紅松
北京科技大學(xué)計算機(jī)與通信工程學(xué)院 北京 100083
在當(dāng)今互聯(lián)網(wǎng)普遍應(yīng)用的時代,網(wǎng)絡(luò)空間安全已經(jīng)成為國家安全的戰(zhàn)略高地,2015年,國務(wù)院學(xué)位委員會增設(shè)網(wǎng)絡(luò)空間安全為一級學(xué)科,將高校網(wǎng)絡(luò)空間安全人才培養(yǎng)提到新的高度[1]。2016年6月,國家網(wǎng)信辦、教育部等六部委聯(lián)合發(fā)布《關(guān)于加強(qiáng)網(wǎng)絡(luò)安全學(xué)科建設(shè)和人才培養(yǎng)的意見》,指出網(wǎng)絡(luò)空間的競爭歸根結(jié)底是人才競爭。我國對網(wǎng)絡(luò)空間安全人才存在重大需求,加強(qiáng)信息安全人才實(shí)踐能力培養(yǎng)是促進(jìn)網(wǎng)絡(luò)空間安全人才創(chuàng)新培養(yǎng)的關(guān)鍵。信息安全實(shí)驗(yàn)教學(xué)是連接信息安全理論知識與工程應(yīng)用的橋梁,是培養(yǎng)學(xué)生信息安全實(shí)踐和創(chuàng)新能力的重要途徑[2]。實(shí)驗(yàn)是信息安全實(shí)踐課程的主要教學(xué)形式,在實(shí)驗(yàn)的設(shè)計中要注重實(shí)驗(yàn)環(huán)境的科學(xué)性和真實(shí)性,培養(yǎng)學(xué)生的信息安全整體意識。信息安全實(shí)驗(yàn)與其他計算機(jī)類實(shí)驗(yàn)的區(qū)別在于,它需要借助更多的專用信息安全協(xié)議、網(wǎng)絡(luò)設(shè)備和軟件系統(tǒng)[3]。
美國當(dāng)代教育家本杰明·布魯姆(Benjamin Bloom)將認(rèn)知領(lǐng)域的目標(biāo)分為識記、理解、運(yùn)用、分析、綜合和評價6個層次。認(rèn)知技能層次是按照從最簡單到最復(fù)雜的順序排列的。因此,人類對知識的理解與掌握也是一個由淺入深、由易到難的認(rèn)知過程。
在信息安全實(shí)驗(yàn)教學(xué)中,需要任課教師設(shè)計信息安全實(shí)驗(yàn)場景和安全實(shí)驗(yàn)工具,在課堂上先教授學(xué)生基本的實(shí)驗(yàn)原理和知識,再依據(jù)實(shí)驗(yàn)內(nèi)容選擇相應(yīng)的安全實(shí)驗(yàn)工具,設(shè)計相應(yīng)的實(shí)驗(yàn)操作步驟。教師需要從專業(yè)角度提出思考問題,引導(dǎo)學(xué)生結(jié)合實(shí)驗(yàn)內(nèi)容積極深入思考,并回答問題,進(jìn)行實(shí)驗(yàn)擴(kuò)展,形成完整的信息安全實(shí)驗(yàn)教學(xué)案例。信息安全實(shí)驗(yàn)教學(xué)注重理論與實(shí)踐的深層次結(jié)合,如果實(shí)驗(yàn)設(shè)置過難,則容易使學(xué)生望而卻步,打擊其學(xué)習(xí)的積極性;如果實(shí)驗(yàn)設(shè)置過于簡單,則無法拉開成績,不能很好地區(qū)分不同水平的學(xué)生。需要教師根據(jù)授課進(jìn)度和學(xué)生掌握程度,設(shè)置分級的信息安全實(shí)驗(yàn)教學(xué)內(nèi)容。在吸引大多數(shù)學(xué)生完成初級實(shí)驗(yàn)的基礎(chǔ)上,通過擴(kuò)展實(shí)驗(yàn)內(nèi)容,逐步加大實(shí)驗(yàn)的難度,要求學(xué)生記錄和分析實(shí)驗(yàn)數(shù)據(jù),根據(jù)所觀察實(shí)驗(yàn)現(xiàn)象分析所涉及的知識點(diǎn),聯(lián)系所學(xué)理論知識,最后歸納出相關(guān)知識點(diǎn)之間的聯(lián)系,鼓勵學(xué)生挑戰(zhàn)高級實(shí)驗(yàn)內(nèi)容,實(shí)現(xiàn)理論與實(shí)踐的深度融合。同時培養(yǎng)學(xué)生不畏挫折與失敗,并能在實(shí)踐中不斷追求與完善真理的科學(xué)素養(yǎng)與工匠精神。
本文針對信息安全實(shí)驗(yàn)教學(xué)特點(diǎn),根據(jù)學(xué)生學(xué)習(xí)規(guī)律、按照由淺入深的教學(xué)方法設(shè)計了2個實(shí)驗(yàn)教學(xué)案例,包括實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)原理以及從初級實(shí)驗(yàn)、中級實(shí)驗(yàn)到高級實(shí)驗(yàn)的分級實(shí)驗(yàn)步驟,并設(shè)置了相應(yīng)的實(shí)驗(yàn)思考和實(shí)驗(yàn)擴(kuò)展。其中實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)原理相當(dāng)于識記、理解,實(shí)驗(yàn)步驟相當(dāng)于運(yùn)用,實(shí)驗(yàn)思考和擴(kuò)展相當(dāng)于分析、綜合,實(shí)驗(yàn)總結(jié)相當(dāng)于評價;這樣就把信息安全實(shí)驗(yàn)教學(xué)跟布魯姆的六層次認(rèn)知順序進(jìn)行了有機(jī)結(jié)合和完整實(shí)現(xiàn),從而在符合認(rèn)知規(guī)律的基礎(chǔ)上設(shè)計出適合信息安全實(shí)驗(yàn)教學(xué)的案例。
實(shí)驗(yàn)教學(xué)目的。通過運(yùn)行OpenSSL相關(guān)命令,使學(xué)生理解數(shù)據(jù)加密、解密、數(shù)字簽名與認(rèn)證的工作原理,并通過調(diào)和用相關(guān)編程接口實(shí)現(xiàn)靈活的數(shù)據(jù)安全防護(hù)。
實(shí)驗(yàn)儀器及環(huán)境。Linux操作系統(tǒng)、OpenSSL開源軟件庫。
實(shí)驗(yàn)原理。OpenSSL是一個開放源代碼的安全軟件庫包,應(yīng)用程序可以使用這個包進(jìn)行安全加密通信,避免竊聽,同時確認(rèn)另一端連接者的身份。這個安全軟件包廣泛被應(yīng)用在互聯(lián)網(wǎng)的網(wǎng)頁服務(wù)器上[4]。安裝完OpenSSL開源庫后,用戶就可以通過編程語言調(diào)用OpenSSL庫中API,實(shí)現(xiàn)對數(shù)據(jù)或文件的加密,解密以及相關(guān)的數(shù)字簽名及認(rèn)證操作。
實(shí)驗(yàn)教學(xué)步驟及內(nèi)容?;贠penSSL安全編程實(shí)驗(yàn)采用由初級實(shí)驗(yàn)到中級實(shí)驗(yàn)、再到高級實(shí)驗(yàn)的逐級實(shí)施方式,讓學(xué)生對OpenSSL的基本命令和編程接口有逐步理解和掌握過程。
初級實(shí)驗(yàn):OpenSSL基本命令
加密命令:
OpenSSL enc -e -des3 -a -salt -in testfile -out testfile.cipher
解密命令:
OpenSSL enc -d -des3 -a -salt -in testfile.cipher -out testfile
需要學(xué)生通過實(shí)驗(yàn)熟練掌握這些命令及參數(shù)的用法與功能。
中級實(shí)驗(yàn):OpenSSL進(jìn)行數(shù)字簽名和驗(yàn)證
OpenSSL dgst -sign RSA.pem -sha256 -out sign.txtfile.txt
通過選取摘要算法sha256,RSA私鑰,對file.txt進(jìn)行簽名,得到簽名文件sign.txt
OpenSSL dgst -prverify RSA.pem -sha256 -signature sign.txtfile.txt
使用RSA私鑰驗(yàn)證簽名(prverify參數(shù))的正確性
需要學(xué)生掌握這些命令的組合使用方法與功能。
高級實(shí)驗(yàn):使用OpenSSL進(jìn)行AES加密算法編程
使用ecb模式的AES算法加密數(shù)據(jù),通過C代碼實(shí)現(xiàn)openssl/aes的加密算法調(diào)用。
需要學(xué)生掌握OpenSSL的AES算法編程接口正確調(diào)用方法。
實(shí)驗(yàn)思考:OpenSSL的命令與編程接口的關(guān)系?引導(dǎo)學(xué)生理解算法抽象與算法實(shí)現(xiàn)的相互作用關(guān)系。
實(shí)驗(yàn)擴(kuò)展:安排學(xué)生課下完成其他OpenSSL的命令命令實(shí)現(xiàn),以及OpenSSL的編程接口實(shí)驗(yàn)。
實(shí)驗(yàn)總結(jié):通過OpenSSL的命令與編程接口實(shí)驗(yàn),掌握OpenSSL的體系架構(gòu),由簡入深,逐步理解加密算法的參數(shù)、功能、作用,以及編程接口的靈活調(diào)用。
實(shí)驗(yàn)教學(xué)目的:通過演示Snort網(wǎng)絡(luò)入侵檢測安全規(guī)則的設(shè)計運(yùn)用,使學(xué)生理解網(wǎng)絡(luò)入侵檢測系統(tǒng)工作原理,并能靈活運(yùn)用安全檢測規(guī)則對到某用戶計算機(jī)、其他用戶計算機(jī)通過HTTP協(xié)議訪問時發(fā)出安全報警信息。
實(shí)驗(yàn)儀器及環(huán)境:Vmware虛擬機(jī)管理軟件、Linux操作系統(tǒng)、Snort網(wǎng)絡(luò)入侵檢測軟件。
實(shí)驗(yàn)原理:Snort是一個具有多平臺、實(shí)時網(wǎng)絡(luò)流量分析、網(wǎng)絡(luò)數(shù)據(jù)包記錄等特性的網(wǎng)絡(luò)入侵檢測及防御系統(tǒng)[5]。Snort使用一種簡單的、輕量級的規(guī)則描述語言。大多數(shù)Snort入侵檢測規(guī)則都寫在一行上,或者在多行之間的行尾用/分隔。Snort規(guī)則被分成兩個邏輯部分:規(guī)則頭和規(guī)則選項(xiàng)。規(guī)則頭包含規(guī)則的動作、協(xié)議、源和目標(biāo)IP地址與網(wǎng)絡(luò)掩碼,以及源和目標(biāo)端口信息;規(guī)則選項(xiàng)部分包含報警消息內(nèi)容和要檢查包的具體內(nèi)容。規(guī)則選項(xiàng)是Snort入侵檢測引擎的核心部分,既功能強(qiáng)大又靈活使用。Snort規(guī)則選項(xiàng)用“;”隔開。規(guī)則選項(xiàng)關(guān)鍵字及其參數(shù)用“:”分開。
實(shí)驗(yàn)教學(xué)步驟及內(nèi)容。Snort網(wǎng)絡(luò)入侵檢測工具演示實(shí)驗(yàn)采用由易到難、由初級實(shí)驗(yàn)到中級實(shí)驗(yàn)、再到高級實(shí)驗(yàn)的逐級實(shí)施方式,讓學(xué)生對網(wǎng)絡(luò)入侵檢測系統(tǒng)的規(guī)則編寫有逐步理解和深入認(rèn)識的過程。
初級實(shí)驗(yàn):Snort入侵檢測系統(tǒng)基本參數(shù)的使用
./snort -dev -l snort.conf
需要學(xué)生掌握Snort規(guī)則集文件的用法,Snort規(guī)則集匹配及參數(shù)用法。
中級實(shí)驗(yàn):要求編寫一個Snort規(guī)則,當(dāng)入侵檢測系統(tǒng)檢測到某臺計算機(jī)被其他計算機(jī)通過HTTP協(xié)議訪問時,發(fā)出報警信息。
高級實(shí)驗(yàn):通過編寫網(wǎng)絡(luò)入侵檢測Snort規(guī)則檢測SQL注入攻擊,用來檢測SQL注入攻擊的正則表達(dá)式。
這部分內(nèi)容取決于特定應(yīng)用,是對目標(biāo)文件進(jìn)行安全檢查。
實(shí)驗(yàn)思考:提示學(xué)生思考如何根據(jù)案情場景合理設(shè)置Snort入侵檢測安全規(guī)則來實(shí)現(xiàn)安全目標(biāo)?引導(dǎo)學(xué)生從單條安全規(guī)則設(shè)置到多條安全規(guī)則組合設(shè)置,并通過網(wǎng)絡(luò)入侵檢測規(guī)則配置實(shí)驗(yàn),促進(jìn)學(xué)生理解網(wǎng)絡(luò)入侵檢測安全規(guī)則及組合的重要作用,提高對本課程的學(xué)習(xí)興趣。在實(shí)驗(yàn)過程中,要不斷地引導(dǎo)學(xué)生積極思考、參與設(shè)計、共同研討,激發(fā)學(xué)生創(chuàng)新思維,讓其知其然更要知其所以然,達(dá)到靈活運(yùn)用所學(xué)知識的教學(xué)目的。
實(shí)驗(yàn)擴(kuò)展:讓學(xué)生分別從網(wǎng)絡(luò)用戶、攻擊者、網(wǎng)絡(luò)管理員、網(wǎng)絡(luò)安全管理員等不同角色理解并體會網(wǎng)絡(luò)入侵檢測規(guī)則和系統(tǒng)的作用、在配置檢測規(guī)則中應(yīng)注意的問題。學(xué)生可以在宿舍構(gòu)建一個小型無線局域網(wǎng),重現(xiàn)課堂實(shí)驗(yàn)演示的內(nèi)容,通過擴(kuò)展編寫安全規(guī)則和應(yīng)用場景進(jìn)一步發(fā)現(xiàn)Snort安全規(guī)則的新用法,提升學(xué)生利用已有安全軟件工具編寫安全規(guī)則、對所學(xué)知識進(jìn)行擴(kuò)展創(chuàng)新的能力。
實(shí)驗(yàn)總結(jié):本文通過設(shè)置初級、中級、高級不同難度等級的演示實(shí)驗(yàn),學(xué)生可以由淺入深、逐步理解Snort入侵檢測安全規(guī)則的作用和配置方法,實(shí)現(xiàn)入侵檢測選項(xiàng)、規(guī)則頭、規(guī)則選項(xiàng)的編寫及綜合應(yīng)用,通過制訂入侵檢測規(guī)則實(shí)現(xiàn)對抗外部非授權(quán)訪問、SQL注入攻擊的安全目標(biāo),為學(xué)生將來從事網(wǎng)絡(luò)信息安全技術(shù)和管理工作奠定基礎(chǔ)。本文所設(shè)計實(shí)施的網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)案例取得了良好的教學(xué)效果,提高了學(xué)生的網(wǎng)絡(luò)安全實(shí)驗(yàn)技能,獲得學(xué)生的一致認(rèn)可。
本文通過信息安全實(shí)驗(yàn)案例設(shè)計培養(yǎng)學(xué)生理論聯(lián)系實(shí)際能力,在布魯姆六層次認(rèn)知理論指導(dǎo)下,通過分級設(shè)計實(shí)驗(yàn)加深學(xué)生對理論知識的充分理解與認(rèn)識,促進(jìn)學(xué)生將其所學(xué)信息安全理論與實(shí)踐相結(jié)合,逐層次促進(jìn)對相關(guān)知識點(diǎn)的掌握。本文以O(shè)penSSL安全編程和入侵檢測Snort安全規(guī)則編寫為例設(shè)計了信息安全實(shí)驗(yàn)教學(xué)案例,實(shí)驗(yàn)教案包括實(shí)驗(yàn)題目、實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)儀器及環(huán)境、實(shí)驗(yàn)原理、實(shí)驗(yàn)教學(xué)步驟及內(nèi)容、實(shí)驗(yàn)思考、實(shí)驗(yàn)擴(kuò)展、實(shí)驗(yàn)總結(jié)等。通過實(shí)際的網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)實(shí)踐表明本文提出的網(wǎng)絡(luò)安全實(shí)驗(yàn)案例教學(xué)法有利于提高學(xué)生對網(wǎng)絡(luò)安全知識的理解與認(rèn)識,取得了良好的綜合教學(xué)效果。