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