李雙遠(yuǎn),李其昌
(1.吉林化工學(xué)院 信息化建設(shè)辦公室,吉林 吉林 132022;2.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,人工智能、云計算、大數(shù)據(jù)、移動互聯(lián)等技術(shù)深度融合[1].信息產(chǎn)業(yè)在高速發(fā)展的同時,也面臨著更加多樣化的安全隱患和攻擊威脅,像基于Web的權(quán)限設(shè)定、WEB的安全服務(wù)控制和竊取、篡改及刪除關(guān)鍵數(shù)據(jù)等[2],因此網(wǎng)絡(luò)安全已成為信息時代國家安全的戰(zhàn)略基石,習(xí)近平總書記多次指出:“沒有網(wǎng)絡(luò)安全就沒有國家安全.”網(wǎng)絡(luò)空間安全是國家安全的重要組成部分,已經(jīng)上升到與政治安全、經(jīng)濟(jì)安全、領(lǐng)土安全并駕齊驅(qū)的戰(zhàn)略高度.目前,國家、軍隊及企業(yè)都十分重視網(wǎng)絡(luò)安全人才的培養(yǎng),因此國家急需培養(yǎng)更多適應(yīng)當(dāng)前網(wǎng)絡(luò)安全形勢的網(wǎng)絡(luò)安全人才.高校作為人才培養(yǎng)基地,也正積極探索適合培養(yǎng)網(wǎng)絡(luò)安全人才的方案[3].培養(yǎng)出學(xué)生要以滿足社會需求為標(biāo)準(zhǔn),那么實踐能力是非常重要的環(huán)節(jié),網(wǎng)絡(luò)安全人才的培養(yǎng)更需要緊跟技術(shù)前沿,更需要高水平對抗實戰(zhàn)訓(xùn)練[4],然而網(wǎng)絡(luò)安全相對于其他學(xué)科具有其特殊性,它需要一個相對專業(yè)的訓(xùn)練平臺來進(jìn)行實戰(zhàn)學(xué)習(xí)研究,此平臺可以模仿真實的網(wǎng)絡(luò)環(huán)境.因此,對于網(wǎng)絡(luò)空間安全人才培養(yǎng)的需求,并且結(jié)合各CTF大賽實踐經(jīng)驗,在進(jìn)行充分調(diào)研后,迫切需要建設(shè)由學(xué)生參與動手實踐,教師負(fù)責(zé)實踐管理的基于網(wǎng)絡(luò)空間安全的大學(xué)生攻防實踐教學(xué)平臺,平臺的設(shè)計涵蓋攻防實訓(xùn)、CTF在線解題、在線攻防對抗、可視化教學(xué)和大數(shù)據(jù)分析教學(xué)情況,意在培養(yǎng)學(xué)生學(xué)習(xí)興趣和動手操作能力,同時為教師實踐教學(xué)提供創(chuàng)新的教學(xué)方法,為高校網(wǎng)絡(luò)空間安全人才培養(yǎng)提供良好的環(huán)境支撐.
本平臺采用Django架構(gòu)進(jìn)行搭建,Django是一個基于MVC構(gòu)造的框架.MVC特點是將業(yè)務(wù)邏輯聚集到一個部件中,即Model數(shù)據(jù)模塊、View視圖模塊和Controller控制器模塊,通過這3個模塊之間的相互配合,不用重復(fù)編寫業(yè)務(wù)邏輯.MVC在開發(fā)系統(tǒng)過程中具有低耦合性、高重用性和可使用性,并且可以快速部署,具有較高的可維護(hù)性等優(yōu)勢.在開發(fā)時,創(chuàng)建Django項目,根據(jù)系統(tǒng)功能創(chuàng)建相應(yīng)的3個模塊,如交流模塊的發(fā)帖功能,創(chuàng)建Model、View、Controller模塊,并進(jìn)行邏輯關(guān)系的創(chuàng)建,實現(xiàn)功能的完整性.Django框架在實現(xiàn)系統(tǒng)功能的過程中,可對模塊分別進(jìn)行創(chuàng)建,并可進(jìn)行多次調(diào)用,加強代碼的邏輯性、減少代碼的重復(fù)性、提高效率等,因此,利用Django架構(gòu)可高效實現(xiàn)系統(tǒng)的開發(fā)設(shè)計工作.
選擇適合的技術(shù)和開發(fā)工具是完成平臺設(shè)計的基礎(chǔ),基于網(wǎng)絡(luò)空間安全大學(xué)生攻防實踐教學(xué)平臺的開發(fā)采用Django框架、B/S架構(gòu)實現(xiàn)的Web程序,其功能完善、要素齊全、擁有強大的數(shù)據(jù)庫操作接口、自帶強大后臺、有豐富模板語言.前端整體采用HTML+CSS+JavaScript等網(wǎng)頁開發(fā)技術(shù),后端以Python實現(xiàn)數(shù)據(jù)的可視化.Python語言開源、可擴展、可嵌入、語法簡單、解釋性強.使用Python寫的腳本語法簡單,同時,可大大提高服務(wù)器端處理速度.并且,Python與MySQL相結(jié)合,在數(shù)據(jù)處理上更加的便捷穩(wěn)定[5].題目環(huán)境和攻防對抗采用Docker進(jìn)行部署,Docker是基于Go語言實現(xiàn)的開源容器項目,可以實現(xiàn)輕量級的操作系統(tǒng)虛擬化解決方案.容器不依賴于任何編程語言、框架或者系統(tǒng),相互之間沒有任何接口,所以性能開銷很小,可以很容易地在主機或者數(shù)據(jù)中心運行.Django是用Python創(chuàng)建的開源Web框架.它采用MVC框架模式,MVC分別為模型、視圖、控制.Django框架有4個部分:用于創(chuàng)建模型的對象關(guān)系映射,一套完整的管理界面的設(shè)計與實現(xiàn),URL設(shè)計,設(shè)計器模板語言和緩存系統(tǒng)[6].Django框架具有自主管理后臺,用戶幾乎不用寫一行代碼就能夠擁有一個完整的后臺管理界面,它的Model層自帶數(shù)據(jù)庫ORM組件,Django使用正則表達(dá)式管理URL映射,靈活性高,并且Django的App理念很好,App可插拔,對系統(tǒng)的更新升級非常友好,讓開發(fā)更加的高效,并且與MySQL數(shù)據(jù)庫兼容性較好,因此采用MySQL數(shù)據(jù)庫管理相關(guān)數(shù)據(jù).
基于網(wǎng)絡(luò)空間安全,大學(xué)生攻防實踐教學(xué)平臺主要實現(xiàn)網(wǎng)絡(luò)安全知識的在線答題考核,攻防對抗模塊可進(jìn)行兩隊之間的在線對抗,并且能夠滿足網(wǎng)絡(luò)空間安全相關(guān)資訊管理、學(xué)生的管理、題目的管理、數(shù)據(jù)的查看及導(dǎo)出.平臺的整體業(yè)務(wù)為完善用戶信息、發(fā)布資訊、發(fā)布題目、學(xué)生啟動靶場環(huán)境、進(jìn)行答題、提交答案、攻防對抗、管理員查看并導(dǎo)出成績等步驟.
網(wǎng)絡(luò)空間安全大學(xué)生攻防實踐教學(xué)平臺的用戶模塊分為管理員用戶和學(xué)生用戶,管理員和學(xué)生的所有功能權(quán)限均在前端進(jìn)行操作,管理員和用戶的具體功能如表1~2所示.
表1 管理員用戶功能表
表2 學(xué)生用戶功能表
2.3.1 系統(tǒng)實用性要求
系統(tǒng)應(yīng)具有較高的實用性,充分考慮到學(xué)生實踐能力,提升實踐教學(xué)質(zhì)量,并且具有簡潔的交互體驗,從而能夠提升用戶的使用效率.
2.3.2 系統(tǒng)安全性要求
系統(tǒng)必須能夠保證題目的完整性與機密性,并且保證系統(tǒng)的安全性和數(shù)據(jù)庫的安全性,確保平臺開發(fā)過程中編程的嚴(yán)謹(jǐn)性,平臺數(shù)據(jù)加密機制.
2.3.3 系統(tǒng)穩(wěn)定性要求
平臺必須保證在服務(wù)器和用戶客戶端穩(wěn)定運行,用戶訪問時能在多種瀏覽器中使用.
2.3.4 系統(tǒng)兼容性可擴展性要求
平臺設(shè)計過程中要充分考慮以日后的更新升級,系統(tǒng)預(yù)留API接口,方便平臺功能擴展[7].
系統(tǒng)總體包含在線解題系統(tǒng),攻防對抗系統(tǒng)和個人信息統(tǒng)計系統(tǒng)3個模塊,其中在線解題系統(tǒng)主要為教學(xué)服務(wù),CTF答題模擬練習(xí),Web平臺服務(wù)和在線答疑服務(wù);攻防對抗系統(tǒng)主要為CTF比賽練習(xí),練習(xí)時可實時展示賽況并進(jìn)行積分排名;個人信息統(tǒng)計系統(tǒng)主要為教學(xué)服務(wù),統(tǒng)計個人成績等信息.系統(tǒng)整體結(jié)構(gòu)如圖1所示.
系統(tǒng)包含兩種用戶,因此需要對不同用戶的功能分別進(jìn)行實現(xiàn).用戶分為管理員和學(xué)生用戶,管理員功能有注冊登錄、用戶管理、資訊管理、題目管理、數(shù)據(jù)統(tǒng)計及成績查看導(dǎo)出模塊,其中資訊管理模塊的功能有發(fā)布資訊、修改資訊、刪除資訊等;題目管理模塊的功能有增加題目、上傳題目、修改題目、刪除題目等;數(shù)據(jù)統(tǒng)計模塊有用戶登錄數(shù)據(jù)和用戶答題數(shù)據(jù)查看及導(dǎo)出;成績模塊有按個人或班級成績查看、按班級成績導(dǎo)出等.學(xué)生用戶功能有注冊登錄、資訊瀏覽、答題、交流平臺、攻防對抗平臺、排行榜,其中資訊瀏覽模塊的功能包括查看詳情、評論、點贊、收藏等;交流平臺模塊的功能包括發(fā)布帖子、評論、回復(fù)、刪除帖子等;攻防對抗平臺模塊功能包括組隊、邀請對手、在線對抗等.網(wǎng)絡(luò)空間安全大學(xué)生攻防實踐教學(xué)平臺具體功能如圖2~3所示.
根據(jù)總體設(shè)計,基于網(wǎng)絡(luò)空間安全的大學(xué)生攻防實踐教學(xué)平臺功能模塊較多,管理員和學(xué)生分別包含6個模塊.本文以在線答題、攻防對抗平臺和交流平臺模塊為例進(jìn)行詳細(xì)功能設(shè)計的介紹.
3.2.1 在線答題平臺設(shè)計實現(xiàn)
在線答題功能主要流程為開啟環(huán)境、進(jìn)行答題和提交答案并銷毀環(huán)境.本平臺采用Docker部署容器,實現(xiàn)快速開啟和銷毀環(huán)境,答題流程的實現(xiàn)采用Django的MVC框架,創(chuàng)建對應(yīng)的Model、View、Controller模塊,并將答題數(shù)據(jù)寫入數(shù)據(jù)庫中,提交答案后直接在數(shù)據(jù)庫中查詢正確答案與之比對,進(jìn)行判斷給出分?jǐn)?shù).
3.2.2 攻防對抗平臺設(shè)計實現(xiàn)
攻防對抗平臺主要為攻防對抗、實時展示賽況和積分排名.攻防對抗采用Docker虛擬技術(shù),為每個團(tuán)隊分配一臺服務(wù)器,所有團(tuán)隊服務(wù)器存在相同的漏洞,在服務(wù)器中通過相關(guān)技術(shù)修復(fù)自身漏洞并尋找到其他團(tuán)隊的Key,并提交為攻擊成功獲得積分.賽況展示主要利用動態(tài)效果,在得分或被攻擊時觸發(fā)相應(yīng)動畫來展示賽況.攻防對抗將打開服務(wù)器、提交Key值等功能利用Django框架分別創(chuàng)建3個模塊實現(xiàn).積分排名采用動態(tài)刷新實時進(jìn)行積分的更新,并對積分進(jìn)行由高到低的排名.
3.2.3 交流平臺模塊設(shè)計實現(xiàn)
交流平臺的功能主要有發(fā)布帖子、評論、回復(fù)和刪除帖子等功能,評論和回復(fù)可寫在一起,采用Django的MVC框架分別對發(fā)布帖子、評論和回復(fù)、刪除帖子創(chuàng)建對應(yīng)的Model、View、Controller模塊,將帖子內(nèi)容存入數(shù)據(jù)庫,并將對應(yīng)帖子的評論和對應(yīng)評論的回復(fù)寫入數(shù)據(jù)庫,利用相應(yīng)字段進(jìn)行表的關(guān)聯(lián),從而實現(xiàn)刪除帖子時可刪除此帖相關(guān)的評論回復(fù).
根據(jù)功能的設(shè)計實現(xiàn)來設(shè)計數(shù)據(jù)庫,要考慮各個功能模塊之間的聯(lián)系,明確每個模塊需要的數(shù)據(jù)類型及大小,創(chuàng)建大小合適、讀取率高的數(shù)據(jù)模型.數(shù)據(jù)庫的概念模型一般使用E-R圖進(jìn)行描述.E-R圖包含3個結(jié)構(gòu):實體、聯(lián)系和屬性,本文所描述的系統(tǒng)數(shù)據(jù)庫有管理員、學(xué)生、資訊內(nèi)容、題目信息、帖子信息、成績和登錄信息7個實體,可借助E-R圖對實體和屬性之間的關(guān)系進(jìn)行表示.實體關(guān)系E-R圖,如圖4所示.
平臺搭建完成后,為了保證平臺的設(shè)計達(dá)到了用戶的需求,可參照CTF比賽的模式,讓學(xué)習(xí)網(wǎng)絡(luò)安全的學(xué)生進(jìn)行環(huán)境及平臺的測試.測試包括靶機運行是否穩(wěn)定[8],并驗證各功能是否正常實現(xiàn),最終得到該攻防平臺能否滿足實戰(zhàn)訓(xùn)練及考核的要求.
攻防實戰(zhàn)平臺可模擬各種安全威脅的實際操作,并且能對不同的攻擊防御模式進(jìn)行針對性模擬還原,并且提供題庫,可根據(jù)不同的分類進(jìn)行在線的練習(xí),但可擴展性較差,而且練習(xí)后的總結(jié)分析和回溯推演能力較弱[9].該平臺是針對高校實踐教學(xué)特點進(jìn)行設(shè)計的,充分發(fā)揮已有攻防實戰(zhàn)平臺優(yōu)點,同時,便于高校教師管理并進(jìn)行課后的總結(jié)和數(shù)據(jù)分析,讓高校教師對其課程的管理更加方便.
本文簡述了基于網(wǎng)絡(luò)空間安全大學(xué)生攻防實踐教學(xué)平臺的設(shè)計與研究的必要性,介紹了開發(fā)本平臺所需要使用的技術(shù),并且對本平臺所需設(shè)計實現(xiàn)的功能進(jìn)行了描述.本系統(tǒng)意在為當(dāng)下國家對網(wǎng)絡(luò)安全人才培養(yǎng)的需求而設(shè)計,有利于培養(yǎng)學(xué)生的實戰(zhàn)操作能力,構(gòu)建本平臺的難點也是重點為對各題目靶場環(huán)境的搭建并進(jìn)行維護(hù),這直接影響到用戶的使用.因此,本平臺需在完成各個功能的基礎(chǔ)下,加強對靶機的維護(hù),根據(jù)高校服務(wù)器資源情況,可使用校內(nèi)物理機搭建或云服務(wù)器進(jìn)行相關(guān)搭建.通過大數(shù)據(jù)技術(shù)應(yīng)用在“攻防實踐教學(xué)平臺”中,可進(jìn)行教師和學(xué)生全程分析,例如:學(xué)生實訓(xùn)過程分析、掌握程度分析、難易程度分析、答題成績分析,并生成可視化數(shù)據(jù)報告,為教務(wù)、相關(guān)專業(yè)提供網(wǎng)絡(luò)空間人才培養(yǎng)過程中分析數(shù)據(jù).本平臺系統(tǒng)的開發(fā)與設(shè)計,能夠有效解決高校在網(wǎng)絡(luò)安全教學(xué)中缺乏實戰(zhàn)性的缺點,更加利于高校對網(wǎng)絡(luò)安全人才進(jìn)行培養(yǎng),推動高校網(wǎng)絡(luò)安全人才培養(yǎng)的快速發(fā)展,為國家輸送更多的網(wǎng)絡(luò)安全人才,從而全面提高我國網(wǎng)絡(luò)安全的保障能力.