廖建博 張韜 唐紅英 賈亞茹
[摘要]針對大多本科院校沒有配備相應的網(wǎng)絡安全競賽環(huán)境,文章提出搭建一套網(wǎng)絡安全競賽平臺的設計思路。它以體積小、易部署、易管理為目標進行模塊化設計,以賽促學,通過競賽提高學生對網(wǎng)絡安全知識的運用能力和實踐能力。平臺適用于大多數(shù)安全類競賽,對推進安全類課程教學和提高學生動手實踐能力具有重要意義。
[關鍵詞]網(wǎng)絡安全;平臺設計;實戰(zhàn)環(huán)境
1 引言
2013年6月美國前中情局職員愛德華·斯諾登將美國國家安全局的“棱鏡”項目曝光之后,信息安全、網(wǎng)絡安全被推上了前所未有的高度。隨著互聯(lián)網(wǎng)、專用網(wǎng)絡化信息系統(tǒng)和各種網(wǎng)絡應用的普及和推廣,信息安全已經(jīng)不再僅僅是個人的利益,更是關系到國防、政策等國家層面,它對培養(yǎng)具有信息安全知識和應用技能的專業(yè)技術人才提出了更高的要求。我國近年來相當重視信息安全研究,相繼完成一系列的重大工程。政策上大力支持,在維護國家信息安全,網(wǎng)絡安全方面發(fā)揮了重要作用。但在人才培養(yǎng)方面,和對手相比,還有很大差距。主要問題在于大多本科院校沒有配備相應的實戰(zhàn)環(huán)境,主要以理論為主,大學生缺少相應的練習。針對存在的問題,設計基于B/S架構(gòu)的網(wǎng)絡安全競賽平臺,有利于學生對所學知識進行練習或競賽,平臺具有簡單,易部署的特點,適用于大多數(shù)高校。
2 網(wǎng)絡安全競賽平臺架構(gòu)
競賽平臺需要完成題目推送,統(tǒng)計所有隊伍分數(shù)及排名等功能。為了將系統(tǒng)功能的核心部分集中到服務器上。同時為了讓參賽用戶在任何地方能進行操作而不需要安裝任何軟件。平臺采用“三層B/S分布式”架構(gòu)模式。此模式也為日后競賽平臺的開發(fā)、維護和使用提供了便利。三層B/S分布式計算結(jié)構(gòu)是互聯(lián)網(wǎng)時代的產(chǎn)物,它分為三部分:客戶瀏覽、應用服務器(或稱反應服務器)和數(shù)據(jù)庫服務器。
競賽平臺結(jié)構(gòu)分為演練平臺服務器和靶機服務器。演練平臺服務搭建在真實的服務器上,用于參賽人員答題及瀏覽排名和比賽事項。競賽題目存放于靶機服務器當中,并做好相應的備份,平臺能夠?qū)W(wǎng)絡內(nèi)所有虛擬服務器進行有效的管理,并對所有的題目站點進行合理的分配資源。
競賽平臺基礎架構(gòu)如圖1所示。
3 網(wǎng)絡安全競賽平臺設計
3.1 參賽用戶模塊設計
參賽用戶模塊作為用戶操作的接口。要滿足用戶能夠自主選擇答題類型及題目,解題后可快速驗證,并能實時查看比賽事項及所有隊伍解題進度和分數(shù)等功能。參賽人員通過注冊成為正式用戶后,才能登錄平臺。注冊時需要提供用戶名、密碼、電子郵箱等信息。成功登錄平臺后,直接跳轉(zhuǎn)到題目界面,點擊已經(jīng)公布的題目會彈出題目信息、相關提示、題目入口及答案提交驗證欄。
題目flag采用MD5加密的形式存儲在數(shù)據(jù)庫中,用戶在驗證欄輸入對應題目的flag,后臺進行MD5加密驗證。驗證成功則會得到對應的分數(shù)。所有參賽用戶通過計分板能查看其他參賽用戶的比賽進度和得分。計分板對所有隊伍的得分進行由高到低進行排名。
3.2 平臺管理模塊設計
管理模塊主要功能是便于管理員對所有競賽題目資源進行統(tǒng)一的控制。通過一些圖形化可操作界面實現(xiàn)對平臺的管理。
管理模塊主要分為四個功能:參賽人員管理、題目信息管理、開放注冊和啟動競賽。參賽人員管理主要針對參賽用戶,對違反規(guī)則的參賽者進行取消資格并刪除操作。題目信息管理包括題目管理和題目類型管理兩塊。管理員通過模塊可對競賽題目進行查看、修改、添加、刪除等一系列操作,題目類型管理模塊實現(xiàn)了管理員對題目類型進行及時的增添和發(fā)布,題目類型也不僅僅局限于傳統(tǒng)安全類型,鼓勵競賽主辦方對知識點的創(chuàng)新應用。開放注冊和啟動競賽便于管理員按照規(guī)定,在—個時間段內(nèi)開放注冊或開始競賽,有利于維護比賽的公平,公正。
管理模塊是平臺的核心模塊之一,關系著競賽是否能正常進行,只允許具有管理權限的人員登錄使用。為了提高系統(tǒng)安全性,管理人員用戶密碼采用MD5加密的形式在數(shù)據(jù)庫中進行存儲,驗證時同樣采用MD5進行驗證。后臺驗證成功后,設置session,每一個界面都會進行session檢查,根據(jù)session判斷是否已經(jīng)登錄,放在使用URL跳過登錄直接訪問管理模塊。
參賽用戶模塊與平臺管理模塊作為一整個應用進行設計,實際上參賽用戶模塊相當于前臺,平臺管理模塊相當于后臺。前臺和后臺鏈接至同一個數(shù)據(jù)庫當中。統(tǒng)一查看,管理數(shù)據(jù)庫中的信息內(nèi)容。
3.3 競賽平臺數(shù)據(jù)庫設計
數(shù)據(jù)庫是整個競賽平臺的基礎及核心,前期對平臺建設進行需求分析,閱讀大量相關書籍并對類似平臺進行調(diào)研,選擇了MySQL關系型數(shù)據(jù)庫。MySQL數(shù)據(jù)庫具有體積小,速度快,易部署,總體擁有成本低,源碼開放等特點,適合應用與中小型競賽平臺。
數(shù)據(jù)庫中設計了系統(tǒng)管理員表、用戶表、題目類型表、題目信息表、用戶一解題關系表等共五個表。
(1)系統(tǒng)管理員表:包括管理員編號、管理員用戶名稱、管理員用戶密碼、平臺是否開啟、是否允許注冊等信息。如表1所示。
(2)用戶表:包括用戶編號、用戶名稱、用戶密碼、用戶郵箱、用戶頭像、是否激活、得分、注冊時間、最后提交時間等信息。如表2所示。
(3)題目類型表:包括類型編號、類型名稱等信息。如表3所示。
(4)題目信息表:包括題目編號、題目名稱、題目分值、flag、題目類型、題目信息、提示等信息。如表4所示。
(5)用戶一解題關系表:包括事件主鍵、用戶編號、類型編號、題目編號、解題時間等信息。如表5所示。
創(chuàng)建完所有表之后,向系統(tǒng)管理員表和用戶表插入數(shù)據(jù),作為系統(tǒng)默認的管理員和測試用戶。SQL語句如下:
3.4 競賽主題開放性設計
傳統(tǒng)安全題目有幾類:Web安全題目、加解密題目、WiFi破解及數(shù)據(jù)分析題目、取證分析題目和虛擬靶機。
根據(jù)競賽的主題,競賽主辦方可以在管理模塊中對題目及題目類型進行任意的添加或修改,提高競賽對學習的針對性。如競賽主題偏重于Android網(wǎng)絡安全,管理員只需在管理模塊中添加題目類型并發(fā)布對應題目即可。
4 結(jié)束語
隨著國家對信息安全,網(wǎng)絡安全的重視,相信越來越多的人將會投身于安全領域的學習中。信息安全領域的特點是技術更新?lián)Q代速度快,同時實踐性要求很強,強調(diào)人與人之間的智慧對抗。如果高校不與時俱進。增加補充符合時代的發(fā)展內(nèi)容,和實踐脫節(jié),那么培養(yǎng)的學生不被社會認可也是預料之中,我國信息安全人才培養(yǎng)需要新思路:以賽促學。網(wǎng)絡安全競賽的設計便是以此為初衷,此平臺設計在于提高學生對安全知識的學習熱情,提高實踐操作能力,同時通過比賽能更好的選拔網(wǎng)絡人才,對安全人才的培養(yǎng)有著重大的意義。對于競賽而言,此平臺還有些不足:Flag對于所有隊伍來說都是一樣的,直接體現(xiàn)在隊伍之間進行交換Flag來獲得更高的成績。
在今后的工作中,需要加強對如何防止隊伍間交換Flag的研究,保證比賽更加公平,公正。