国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)攻防競(jìng)賽平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2018-01-25 03:28:00黃君陽(yáng)莫永華
現(xiàn)代計(jì)算機(jī) 2017年36期
關(guān)鍵詞:靶機(jī)參賽選手管理員

黃君陽(yáng),莫永華

(桂林電子科技大學(xué)信息科技學(xué)院,桂林 541004)

0 引言

互聯(lián)網(wǎng)飛速發(fā)展的同時(shí),信息化安全與國(guó)家安全緊密相連,培養(yǎng)網(wǎng)絡(luò)安全技術(shù)優(yōu)秀人才,滿足互聯(lián)網(wǎng)發(fā)展需要。在網(wǎng)絡(luò)安全人才培養(yǎng)方面,單靠理論學(xué)習(xí)不能滿足實(shí)踐應(yīng)用的需要,一種奪旗賽的實(shí)踐形式適應(yīng)了專業(yè)培養(yǎng)網(wǎng)絡(luò)安全人才發(fā)展。CTF(Capture The Flag)網(wǎng)絡(luò)攻防競(jìng)賽在網(wǎng)絡(luò)安全領(lǐng)域中是網(wǎng)絡(luò)安全技術(shù)人員之間進(jìn)行技術(shù)競(jìng)技的一種比賽形式。其比賽大致流程是,參賽團(tuán)隊(duì)之間通過(guò)進(jìn)行攻防對(duì)抗、程序分析等形式,率先從主辦方給出的比賽環(huán)境中得到一串具有一定格式的字符串或其他內(nèi)容,并將其提交給主辦方,從而奪得分?jǐn)?shù)?,F(xiàn)在CTF比賽培養(yǎng)網(wǎng)絡(luò)安全人才的方式漸漸在國(guó)內(nèi)發(fā)展起來(lái)了,此類比賽能夠發(fā)掘網(wǎng)絡(luò)安全優(yōu)秀人才,并幫助其迅速提高安全技能。

1網(wǎng)絡(luò)攻防競(jìng)賽功能需求與技術(shù)介紹

1.1 系統(tǒng)功能需求

國(guó)外目前對(duì)于CTF競(jìng)賽平臺(tái)的主流研究采取攻防(Attack-Defense)的賽制,這種賽制已經(jīng)日漸成熟,很多國(guó)際比賽都采用這樣的賽制,在比賽日程內(nèi)讓參賽選手相互進(jìn)行漏洞挖掘及利用,采取攻擊來(lái)奪取對(duì)方靶機(jī)的Flag并贏得相應(yīng)的積分,同時(shí)還要采取不違反比賽規(guī)則的各種手段對(duì)自己的靶機(jī)進(jìn)行防御,防止對(duì)方奪取到己方的Flag。國(guó)內(nèi)許多CTF線下賽平臺(tái)被各大安全服務(wù)產(chǎn)商用于商業(yè)意義及人才儲(chǔ)備計(jì)劃所開(kāi)發(fā),雖然已有較為穩(wěn)定的技術(shù),但他們?nèi)杂胁蛔愕姆矫妫?/p>

(1)價(jià)格普遍過(guò)高;

(2)平臺(tái)復(fù)雜程度不利于后期變動(dòng)及維護(hù);

(3)漏洞靶機(jī)不便于還原及維護(hù)。

針對(duì)以上這些問(wèn)題,本文主要任務(wù)有:

(1)控制開(kāi)發(fā)成本,基于網(wǎng)頁(yè)來(lái)開(kāi)發(fā)整個(gè)平臺(tái);

(2)簡(jiǎn)化平臺(tái)復(fù)雜程度,提高平臺(tái)運(yùn)行能力且方便后期管理及維護(hù);

(3)漏洞靶機(jī)采用Docker這類虛擬化技術(shù),使得靶機(jī)在崩潰的情況下方便及時(shí)采取還原措施。根據(jù)需求設(shè)計(jì)網(wǎng)絡(luò)攻防競(jìng)賽需求具體如下圖:

功能需求說(shuō)明如下:

登錄模塊:常規(guī)的登錄功能;

參賽選手操作模塊:用于參賽選手登陸之后的相關(guān)操作頁(yè)面;

管理員操作模塊:用于管理員登陸之后的相關(guān)操作頁(yè)面;

Flag提交模塊:用于參賽選手提交Flag獲取積分;

團(tuán)隊(duì)管理模塊:用于管理員對(duì)參賽團(tuán)隊(duì)進(jìn)行相關(guān)操作;

公告板板模塊:用于管理員在比賽中發(fā)表相關(guān)信息;

積分榜模塊:用于參賽選手在比賽中查看當(dāng)前積分榜;

展示模塊:用于展示頁(yè)面向大眾展示信息。

圖1 系統(tǒng)功能需求

1.2 系統(tǒng)技術(shù)介紹

(1)服務(wù)器端環(huán)境:能夠運(yùn)行VMware等虛擬化程序,且在上面安裝能夠運(yùn)行PHP解析程序及支持平臺(tái)系統(tǒng)的Web服務(wù)器軟件的相應(yīng)的服務(wù)器系統(tǒng)的計(jì)算機(jī)或服務(wù)器。

(2)靶機(jī)環(huán)境:對(duì)于靶機(jī)環(huán)境,能夠使用Docker等虛擬化程序及支持其軟件的計(jì)算機(jī)或服務(wù)器。

(3)參賽選手環(huán)境:對(duì)于參賽選手的環(huán)境沒(méi)有限制,由選手自行選擇。

在服務(wù)器端主要采用PHP語(yǔ)言及其中的Laravel框架來(lái)編寫(xiě)相應(yīng)功能模塊,結(jié)合前端HTML5+CSS3技術(shù),引用了JavaScript和其中的jQuery框架,使本系統(tǒng)實(shí)現(xiàn)了一個(gè)良好美觀的操作界面及展示界面。

2 競(jìng)賽系統(tǒng)設(shè)計(jì)

2.1 功能模塊設(shè)計(jì)

功能模塊的設(shè)計(jì)主要分為三個(gè)模塊,1.參賽選手相關(guān)操作模塊;2.管理員相關(guān)操作模塊;3.無(wú)需登錄即可使用的展示模塊。

(1)在參賽選手相關(guān)操作模塊中,包含以下功能:

a.查看當(dāng)前輪次得失積分;

b.提交Flag獲取積分;

c.查看己隊(duì)靶機(jī)信息

(2)在管理員相關(guān)操作模塊中,包含以下功能:

a.管理團(tuán)隊(duì):添加新團(tuán)隊(duì);刪除一個(gè)團(tuán)隊(duì);修改團(tuán)隊(duì)密碼;團(tuán)隊(duì)加分減分

b.發(fā)布公告:發(fā)布扣除違規(guī)團(tuán)隊(duì)相應(yīng)積分信息;發(fā)布Tips等公告信息

(3)在展示模塊中,包含以下功能:

a.實(shí)時(shí)積分榜,實(shí)時(shí)更新參賽團(tuán)隊(duì)積分變化

b.顯示當(dāng)前時(shí)間及當(dāng)前輪次

c.實(shí)時(shí)顯示攻擊信息

2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)遵循命名規(guī)范化和數(shù)據(jù)標(biāo)準(zhǔn)化的原則。

本課題中,一共有announce,users,points,check,dockers,flags六個(gè)數(shù)據(jù)庫(kù)表。下面主要介紹核心4個(gè)表。

(1)公告表(Announce)

它主要存儲(chǔ)id標(biāo)識(shí)、公告的標(biāo)題(title)、公告內(nèi)容(body)、創(chuàng)建時(shí)間(created_at)。

表1 Announce表

(2)用戶表(users)

它主要存儲(chǔ)id標(biāo)識(shí)、用戶名(name)、參賽團(tuán)隊(duì)密碼(password)、管理員標(biāo)識(shí)(isAdmin)。

表2 Users表

(3)團(tuán)隊(duì)積分表(points)

它主要存儲(chǔ) id標(biāo)識(shí)、團(tuán)隊(duì) id(team_id)、分?jǐn)?shù)(points)信息。

表3 Points表

(4)flags表

它主要存儲(chǔ) id標(biāo)識(shí),靶機(jī) id(docker_id)、flag信息。

表4 Flags表

3 系統(tǒng)實(shí)現(xiàn)與測(cè)試

系統(tǒng)有兩大部分組成:前臺(tái)部分用戶操作模塊和后臺(tái)部分管理模塊。

3.1 前臺(tái)部分

(1)登錄模塊

團(tuán)隊(duì)賬號(hào)由管理員添加,在平臺(tái)主界面右上角可以看到Login登錄按鈕。管理員與團(tuán)隊(duì)使用同一個(gè)登錄模塊,在用戶登錄之后,用戶表(users)中有isAdmin標(biāo)識(shí),若isAdmin為1,此用戶為管理員,可進(jìn)入后臺(tái)管理頁(yè)面進(jìn)行管理的相關(guān)操作;反之,參賽團(tuán)隊(duì)用戶只能進(jìn)行查看隊(duì)伍信息、公告板、積分板及提交flag操作。

(2)參賽選手登陸后信息模塊

參賽選手用戶登陸后,頁(yè)面將跳轉(zhuǎn)到信息頁(yè)面,此頁(yè)面將輸出己方團(tuán)隊(duì)的總分,包括加分及減分;還有在當(dāng)前輪次中,己方團(tuán)隊(duì)的總分,包括加分及減分;還輸出己方團(tuán)隊(duì)所擁有的靶機(jī)ip、用戶名、密碼信息;最后此頁(yè)面還有提交flag的功能。

(3)公告板頁(yè)面

競(jìng)賽進(jìn)行過(guò)程中,若出現(xiàn)參賽團(tuán)隊(duì)進(jìn)行了違規(guī)的相關(guān)操作,或是遇到需要比賽主辦方發(fā)表相應(yīng)提示或其他相關(guān)信息的情況,則管理員將會(huì)通過(guò)公告板,向參賽選手發(fā)布通知等信息。

管理員輸入公告標(biāo)題(title),內(nèi)容(body),點(diǎn)擊確認(rèn)發(fā)送后,后端獲取當(dāng)前服務(wù)器時(shí)間信息與公告標(biāo)題、公告內(nèi)容一起寫(xiě)入數(shù)據(jù)庫(kù)Announcement表中,最后在公告板頁(yè)面按最新更新時(shí)間排序后輸出。

(4)積分板模塊

積分板模塊是讓參賽選手在比賽進(jìn)行過(guò)程中方便在本機(jī)查看所有參賽團(tuán)隊(duì)積分的同時(shí),還能夠進(jìn)行別的操作。

積分板將取出當(dāng)前數(shù)據(jù)庫(kù)中分?jǐn)?shù)(points)表的數(shù)據(jù),并在后端進(jìn)行排序后輸出給前端與用戶交互。

圖2 參賽選手登錄頁(yè)面

圖3 選手登錄后信息頁(yè)面

圖4 參賽團(tuán)隊(duì)積分展示

3.2 后臺(tái)模塊

由于整個(gè)PHP后端使用了Laravel框架,雖然使得開(kāi)發(fā)效率大大提高,難度降低,但同時(shí)也使得一些模塊的功能代碼嵌入在框架中,較難去閱讀或是修改。

后臺(tái)模塊包括:團(tuán)隊(duì)管理模塊、提交Flag系統(tǒng)自動(dòng)統(tǒng)計(jì)模塊、公告發(fā)布模塊。下面主要介紹團(tuán)隊(duì)管理模塊。

管理員登錄之后,可以在管理頁(yè)面對(duì)參賽團(tuán)隊(duì)進(jìn)行管理操作。管理頁(yè)面首先將讀取數(shù)據(jù)庫(kù)分?jǐn)?shù)表中參賽團(tuán)隊(duì)的分?jǐn)?shù),并定義了一個(gè)teamIndex()函數(shù),用來(lái)顯示所有參賽團(tuán)隊(duì)當(dāng)前的總分。以及給每個(gè)參賽隊(duì)設(shè)立了更改密碼及刪除團(tuán)隊(duì)的按鈕。更改團(tuán)隊(duì)賬號(hào)密碼,定義了一個(gè) teamChpw(Request$request)函數(shù),并且由于基本的安全性考慮,限定方法只能為POST方法。同樣,添加新團(tuán)隊(duì),刪除某個(gè)團(tuán)隊(duì)也是限定POST方法。點(diǎn)擊某支團(tuán)隊(duì)的更改密碼按鈕,將會(huì)直接要求輸入新密碼,函數(shù)先將新密碼Hash后對(duì)數(shù)據(jù)庫(kù)用戶表里的password字段進(jìn)行update更新操作,最后將在管理頁(yè)面輸出修改成功的信息。添加一支新團(tuán)隊(duì),管理頁(yè)面將彈出輸入界面,要求輸入團(tuán)隊(duì)用戶名及密碼,輸入之后,函數(shù)teamAdd(Request$request)將團(tuán)隊(duì)名及密碼寫(xiě)入數(shù)據(jù)庫(kù)users表中存儲(chǔ),最后在管理頁(yè)面同樣會(huì)顯示添加成功的信息。以下給出添加團(tuán)隊(duì)功能核心代碼:

4 結(jié)語(yǔ)

漏洞靶機(jī)采用Docker虛擬化技術(shù),使得靶機(jī)在崩潰的情況下方便及時(shí)采取還原措施。網(wǎng)絡(luò)攻防競(jìng)賽系統(tǒng)開(kāi)發(fā)基于網(wǎng)頁(yè)實(shí)現(xiàn)整個(gè)平臺(tái)功能,簡(jiǎn)化平臺(tái)復(fù)雜程度,提高平臺(tái)運(yùn)行能力且方便后期管理及維護(hù),這樣的輕型網(wǎng)絡(luò)安全技術(shù)人才培養(yǎng)平臺(tái),滿足網(wǎng)絡(luò)安全技術(shù)訓(xùn)練與比賽。

[1]李秋香.國(guó)外網(wǎng)絡(luò)靶場(chǎng)技術(shù)現(xiàn)狀及啟示[A].第29次全國(guó)計(jì)算機(jī)安全學(xué)術(shù)交流會(huì)論文集[C],2014.

[2]曾金龍等著.Docker開(kāi)發(fā)實(shí)踐[M].人民郵電出版社,2015-07-01.

[3]Bartosz Porebski等著.PHP框架高級(jí)編程[M].清華大學(xué)出版社,2012-2.

猜你喜歡
靶機(jī)參賽選手管理員
我是小小午餐管理員
哈哈哈哈……你丑得真別致
我是圖書(shū)管理員
我是圖書(shū)管理員
可疑的管理員
靶機(jī)系統(tǒng)的發(fā)展趨勢(shì)
“鳥(niǎo)人”
美國(guó)克雷托斯公司擴(kuò)大靶機(jī)研發(fā)和制造
誰(shuí)有“洪荒之力”里約奧運(yùn)會(huì)收入最高的參賽選手
海外星云(2016年17期)2016-12-01 04:18:41
靶機(jī)
丹棱县| 登封市| 蓝田县| 镇巴县| 耒阳市| 广昌县| 土默特左旗| 仙游县| 行唐县| 应城市| 民乐县| 青田县| 治县。| 大悟县| 吉隆县| 台东县| 彰化县| 台中县| 西乡县| 香格里拉县| 科尔| 开远市| 津南区| 西青区| 昭苏县| 扎囊县| 神农架林区| 英德市| 张北县| 新疆| 芷江| 清水县| 清流县| 鄂温| 太和县| 乃东县| 二连浩特市| 西华县| 鹤庆县| 电白县| 吉林省|