陳昕++王鵬++吳平++楊超新+++徐翌豪
摘 要:利用最新的Openstack云平臺搭建技術(shù),采用虛擬化技術(shù)和模塊化設(shè)計,設(shè)計并實現(xiàn)了一個可對虛擬靶機進行管理的信息安全實驗平臺。該平臺不僅建立了基于各種漏洞類型的網(wǎng)絡(luò)靶機,為每個靶機配置了相應(yīng)的知識庫和工具庫,而且提出了內(nèi)外分離的攻防網(wǎng)絡(luò)結(jié)構(gòu),有效仿真企業(yè)網(wǎng)絡(luò)架構(gòu)。論文首先概述了基于Openstack的基礎(chǔ)實驗平臺搭建,然后介紹了平臺整體功能與架構(gòu)以及靶機的配置,最后通過對靶機入侵過程的演練,驗證了實驗平臺的有效性。
關(guān)鍵詞:云計算;靶機;Openstack;漏洞;信息安全
中圖分類號: TN393.08 文獻標識碼:A
1 引言
隨著網(wǎng)絡(luò)信息安全問題日益嚴重,網(wǎng)絡(luò)攻防演練已經(jīng)成為各個企業(yè)、高校信息安全專業(yè)人才培養(yǎng)的重要環(huán)節(jié)[1,2]。搭建相應(yīng)的網(wǎng)絡(luò)攻防系統(tǒng)是開展攻防演練的基礎(chǔ),但基于真實的網(wǎng)絡(luò)和物理設(shè)備建立攻防系統(tǒng)不僅費用高昂,而且網(wǎng)絡(luò)攻防演練很可能會對真實網(wǎng)絡(luò)設(shè)備和主機造成一定危害,所以研究如何實現(xiàn)有效的搭建和管理網(wǎng)絡(luò)攻防演練的訓練平臺成為培育信息安全人才的重要課題。
本平臺通過對Openstack技術(shù)的研究運用[3-6],搭建基于云的網(wǎng)絡(luò)虛擬靶機管理平臺實現(xiàn)對多樣化靶機系統(tǒng)的高效管理,并提供網(wǎng)絡(luò)攻防實驗網(wǎng)站,方便教師對靶機的管理和同學們進行網(wǎng)絡(luò)攻防實驗使用,避免了攻防演練對實際網(wǎng)絡(luò)環(huán)境的干擾和破壞,可廣泛運用于高校信息安全教學和培訓中。
2 基于云技術(shù)網(wǎng)絡(luò)攻防實驗平臺總體功能
本文設(shè)計的網(wǎng)絡(luò)攻防實驗平臺主要由網(wǎng)絡(luò)攻防實驗平臺網(wǎng)站和云平臺靶機管理系統(tǒng)兩部分組成。云平臺靶機管理系統(tǒng)為網(wǎng)絡(luò)攻防實驗提供虛擬靶機[7],每個靶機上有精心設(shè)計的各種安全漏洞,為進行網(wǎng)絡(luò)攻防實驗提供了有效的攻防環(huán)境,同時可以實現(xiàn)對這些靶機的高效管理,包括靶機的創(chuàng)建刪除與恢復(fù)快照等,以及內(nèi)部網(wǎng)絡(luò)的快速配置。網(wǎng)絡(luò)攻防實驗平臺網(wǎng)站則搭建在真實的網(wǎng)絡(luò)環(huán)境中,該網(wǎng)站分為管理員界面和用戶界面兩部分,管理員可實現(xiàn)對靶機信息和漏洞信息的增刪改等操作,同時對網(wǎng)站的用戶進行管理即是否激活該用戶。用戶登錄即可進行知識庫與網(wǎng)絡(luò)安全法的查看,攻防工具的下載與運用,并根據(jù)所提供靶機的相應(yīng)漏洞進行各種網(wǎng)絡(luò)攻防實驗。
2.1 Openstack技術(shù)的選用
Openstack 是一個美國國家航空航天局和Rack Space 合作研發(fā)的,以Apache許可證授權(quán)的自由軟件和開放源代碼項目,旨在為公共及私有云的建設(shè)與管理提供軟件的開源項目[8-10]。Openstack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺。利用Openstack平臺自主構(gòu)建網(wǎng)絡(luò)環(huán)境[11]的功能,本系統(tǒng)真實地模擬現(xiàn)實中復(fù)雜的網(wǎng)絡(luò),滿足了攻防演練的要求。其次,Openstack平臺提供了鏡像上傳、云主機創(chuàng)建刪除,虛擬路由創(chuàng)建等便利操作,有利于訓練環(huán)境的恢復(fù)和資源的循環(huán)利用。
2.2 基礎(chǔ)實驗云平臺的部署
基于Openstack的云平臺的部署十分靈活,可以根據(jù)自身需要進行搭建[12],既可以搭建在單節(jié)點服務(wù)器,也可以搭建在大型集群服務(wù)器上,為了實現(xiàn)一種低成本可快速化部署且不對計算機網(wǎng)絡(luò)產(chǎn)生影響的網(wǎng)絡(luò)攻防實驗靶機管理平臺,我們根據(jù)自身有限的計算資源,將云平臺搭建在兩個節(jié)點上,其中一個節(jié)點為控制節(jié)點,負責收集計算節(jié)點的計算資源信息、計算節(jié)點的資源調(diào)度和對該網(wǎng)段的網(wǎng)絡(luò)進行管理,控制虛擬機實例的生命周期[17];存儲攻防實驗主機模板的鏡像文件,以及快照備份文件;承載 Horizen 組件,通過Dashboard儀表盤方式,實現(xiàn)虛擬攻防實驗主機的管理,包括啟動、重啟和終止提供總控服務(wù);另一個節(jié)點為計算節(jié)點,用于運行虛擬攻防實驗主機,提供計算的服務(wù)。
2.3 云平臺系統(tǒng)架構(gòu)
構(gòu)件云平臺主要用到Openstack模塊的服務(wù):(1)Nova調(diào)派資源實例化虛擬[15];(2)Glance提供虛擬機實例化時需要的鏡像;(3)Network提供網(wǎng)絡(luò)連接;(4)Cinder提供外接的塊存儲服務(wù);(5)Horizon提供Web界面交互平臺;(6)keystone提供用戶認證服務(wù)[16]。
3 網(wǎng)絡(luò)攻防環(huán)境的配置
3.1 基于Openstack的攻防網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
除了Openstack基本的控制節(jié)點和計算節(jié)點外,系統(tǒng)還添加了網(wǎng)絡(luò)節(jié)點和存儲節(jié)點[13]。根據(jù)實驗要求,系統(tǒng)建立了靶機鏡像庫和防守機鏡像庫,分別用于虛擬靶機和攻擊機的創(chuàng)建,為了更好地開展攻防演練,更貼合實際的企業(yè)網(wǎng)絡(luò)環(huán)境,設(shè)計了內(nèi)外分離的攻防網(wǎng)絡(luò)結(jié)構(gòu)。靶機部署在計算節(jié)點的私網(wǎng)內(nèi),管理員接在控制節(jié)點的私網(wǎng)內(nèi),攻擊機則直接由校園網(wǎng)接入如圖3所示。三個不同的網(wǎng)絡(luò)通過路由器連接,實現(xiàn)網(wǎng)絡(luò)之間的通信,使部署在校園網(wǎng)內(nèi)用戶的攻擊機可以對私網(wǎng)內(nèi)的靶機進行相關(guān)操作。在靶機接入網(wǎng)絡(luò)的那端添加防火墻,通過設(shè)置防火墻規(guī)則來限制用戶的操作行為。
同時管理員在控制節(jié)點可以直接對鏡像、靶機進行操作,Web管理界面實現(xiàn)上傳鏡像,部署靶機等操作,方便管理靶機。
3.2 靶機鏡像收集制作
Openstack云計算管理平臺部署完畢后,根據(jù)實驗需要上傳相應(yīng)靶機鏡像,首先收集了目前主流的脆弱操作系統(tǒng),包括Linux Metasploitable、Windows Metasploitable等,其次包括了包含Top10web應(yīng)用漏洞的OWASP,最后還搭載有目前熱門的CTF奪旗賽系統(tǒng)。使用主流的虛擬機軟件VMware完成了最新Struct2等漏洞的鏡像定制。制作過程如圖4所示。
由于Windows默認不支持Virtio驅(qū)動,而通過Openstack管理虛擬機是需要Virtio驅(qū)動的。需要兩個Virtio驅(qū)動,一個是硬盤的,一個是網(wǎng)卡的。所以,制作Windows鏡像需要把這兩個驅(qū)動加上并更新網(wǎng)卡和硬盤驅(qū)動。
4 網(wǎng)絡(luò)攻防實驗平臺網(wǎng)站搭建
網(wǎng)站的開發(fā)采用PHP+MySQL +Apache的架構(gòu),以Zend Studio作為開發(fā)平臺。通過在Windows系統(tǒng)上安裝程序集成包Phpstudy,而該程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安裝,無須配置即可使用,成功搭建一個方便好用的PHP調(diào)試環(huán)境。
PHP+Mysql+Apache是目前成熟、穩(wěn)定、安全的Web開發(fā)技術(shù),其成熟的架構(gòu),穩(wěn)定的性能,嵌入式開發(fā)方式和簡潔的語法為本網(wǎng)站的開發(fā)提供了很大的可行性和便利性。網(wǎng)站的開發(fā)主要包括前端頁面的開發(fā)和后臺數(shù)據(jù)庫的建立(以及維護)兩個方面,定義了管理和用戶的兩個功能模塊,為此實現(xiàn)不同的功能需求。
4.1 用戶界面功能設(shè)計
4.1.1 工具欄
工具欄主要是在網(wǎng)站中提供相關(guān)信息安全滲透測試工具的下載,其中包括各種掃描工具、嗅探工具、加解密工具、遠程滲透攻擊測試工具、動態(tài)調(diào)試工具、靜態(tài)反編譯工具等等,包括Metasploit開源安全漏洞測試工具、Nmap 掃描器、Wireshark嗅探器、Burpsuite集成Web滲透測試工具集、Sqlmap注入工具、Ollydbg動態(tài)調(diào)試器、IDA 反編譯工具等。
4.1.2 知識庫
知識庫是對本平臺中所涉及到漏洞知識從概念原理和簡單應(yīng)用兩方面對知識進行詳細全面的描述和講解,同時對沒有涉及到的知識進行補充。當用戶在平臺訓練中遇到不熟悉的問題,或是對靶機漏洞不太了解時,能夠填補知識的空白。主要涉及SQL注入、XSS原理及應(yīng)用、暴力破解、權(quán)限繞過、漏洞掃描、Webshell上傳、密碼破解等方面。
4.1.3 進行實驗
進行實驗頁面,通過查看相應(yīng)靶機的指定漏洞信息,下載相應(yīng)操作指南文檔,從而實現(xiàn)對特定靶機IP進行攻防操作。
4.2 管理員界面(后臺管理)
網(wǎng)站后臺管理主要是對用戶,靶機和漏洞信息進行相應(yīng)管理,是否對用戶進行激活操作,并能夠?qū)Π袡C和漏洞信息進行增刪改等各種操作。
5 實驗平臺維護及實驗過程
5.1 實驗平臺維護
關(guān)于HoneyWall:采用了The Honey Project開源發(fā)布的ROO v1.4版本來構(gòu)建HoneyWall蜜網(wǎng)網(wǎng)關(guān)虛擬機鏡像[14],HoneyWall蜜網(wǎng)網(wǎng)關(guān)以橋接模式部署,擁有三個網(wǎng)絡(luò)接口,其中eth0連接外網(wǎng),eth1連接蜜網(wǎng)。這兩個接口以網(wǎng)橋模式連接,不許設(shè)置IP地址,同時也不對轉(zhuǎn)發(fā)的網(wǎng)絡(luò)數(shù)據(jù)包進行路由和TTL遞減;eth2作為管理接口,連接內(nèi)部管理監(jiān)控網(wǎng)絡(luò),使得實驗管理者可以遠程對蜜網(wǎng)進行控制,并對捕獲的數(shù)據(jù)進行進一步的分析。
在以ROO v1.4版本構(gòu)建的HoneyWall蜜網(wǎng)網(wǎng)關(guān)中,集成了IPTables防火墻,Snort網(wǎng)絡(luò)入侵檢測系統(tǒng)和Tcpdump網(wǎng)絡(luò)嗅探工具對網(wǎng)絡(luò)攻擊數(shù)據(jù)進行捕獲,并通過Sebekd接受蜜罐主機上由Sebek捕獲的系統(tǒng)行為數(shù)據(jù);基于IPTables防火墻和Snort_inline對外攻擊進行限制;通過Hflowd數(shù)據(jù)融合工具和基于瀏覽器的數(shù)據(jù)分析及系統(tǒng)管理工具Walleye,可根據(jù)捕獲的數(shù)據(jù)查看網(wǎng)絡(luò)流視圖、進程樹視圖和進程詳細視圖。
為了更好地詮釋攻擊原理,從兩方面優(yōu)化了實驗。
(1)對于一種漏洞,為實驗使用者留下多種攻破思路。如SQL注入,可以使用盲注,也可以手動測試加工具,也可以直接上Web漏洞掃描。攻擊方式從原始到自動化,讓實驗者使用者體會更深刻。
(2)在攻擊機和靶機之間添加了HoneyWall,提供對網(wǎng)絡(luò)攻擊的行為監(jiān)控、檢測和分析的平臺,不論是實驗使用者對攻擊的原理分析,還是實驗管理者了解目前實驗進展都十分有利。
5.2 實驗過程
管理員先在云平臺部署靶機,配置靶機安全規(guī)則為Allow All Icmp、Allow All Tcp。 綁定浮動IP172.16.0.6,方便用戶對靶機進行操作。
使用內(nèi)網(wǎng)的個人主機連上靶機上的服務(wù)器,這是爆破后臺拿到密碼,登錄以后上傳了一句話木馬Shell。然后確定腳本所在目錄為http://172.16.0.140/uploads/shell.php,使用菜刀添加連接,密碼為一句話木馬的寫的值。
6 結(jié)束語
隨著網(wǎng)絡(luò)安全形式日益嚴峻,單一的課本教學所培養(yǎng)出的學生已經(jīng)不能應(yīng)對當前復(fù)雜的網(wǎng)絡(luò)環(huán)境。每個開設(shè)網(wǎng)絡(luò)信息安全的學校都需要有一個能夠貼合實戰(zhàn),對學生所學知識進行實踐和檢驗的平臺。但是,網(wǎng)絡(luò)攻防環(huán)境難以構(gòu)建和管理是一個普遍性的難題。本文利用云計算技術(shù),參考目前國內(nèi)外流行的CTF競賽,搭建成網(wǎng)絡(luò)攻防實驗平臺,為學生提供了有效的實踐平臺,極大地激發(fā)了學生的學習興趣,為社會培養(yǎng)高質(zhì)量的信息安全人才。
基金項目:
大學生創(chuàng)新創(chuàng)業(yè)訓練項目(項目編號:201610059063)。
參考文獻
[1] Amin Anjomshoaa, Min Tjoa.How the cloud computing paradigm could shape the future of enterprise information processing[C]. Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services,2011.
[2] 李西予.云計算平臺的訪問控制模型的設(shè)計與實現(xiàn)[D].北京郵電大學,2015.
[3] Lucian Popa, Gautam Kumar, Mosharaf Chowdhury.sharing the network in cloud computing[C]. ACM SIGCOMM Computer Communication Review,2012,42-4.
[4] 李磊,李小寧,金連文.基于Openstack的科研教學云計算平臺的構(gòu)建與運用[J].實驗技術(shù)與管理,2014,(06):127-133+174.
[5] 王霄飛.基于Openstack構(gòu)建私有云計算平臺[D].華南理工大學,2012.
[6] 蔣茜. 基于OpenFlow的虛擬化組網(wǎng)設(shè)計與實現(xiàn)[D].南京郵電大學,2016.
[7] 陳欣,成靜靜.基于Vmware虛擬化技術(shù)的OpenStack方案對IT系統(tǒng)成效分析[J].數(shù)據(jù)通信,2015,(05):10-14.
[8] 張容齊.基于云計算平臺的服務(wù)自動化部署機制研究[D].北京郵電大學,2015.
[9] 賈志杰.基于OpenStack開放云管理平臺研究[D].吉林大學,2014.
[10] Saleem Karmoshi.基于OpenStack云計算平臺的虛擬網(wǎng)絡(luò)映射系統(tǒng)的研究與搭建[D].中國科學技術(shù)大學,2014.
[11] 周敏.網(wǎng)絡(luò)攻防實戰(zhàn)教學系統(tǒng)的設(shè)計與實現(xiàn)[J].實驗技術(shù)與管理,2016,(06):154-156+171.
[12] 底曉強,張宇昕,趙建平.基于云計算和虛擬化的計算機網(wǎng)絡(luò)攻防實驗教學平臺建設(shè)探索[J].實驗技術(shù)與管理,2015,(04):147-151.
[13] 李祥池. 基于SDN的網(wǎng)絡(luò)攻防平臺的研究與實現(xiàn)[D].山東大學,2015.
[14] 楊曉雪.基于云計算技術(shù)的網(wǎng)絡(luò)攻防實驗平臺的探討[J]. 無線互聯(lián)科技,2015,(05):51-52.
[15] 劉洋.基于虛擬蜜網(wǎng)技術(shù)的網(wǎng)絡(luò)攻防實驗平臺構(gòu)建[J].南通職業(yè)大學學報,2013,(01):83-88.
[16] 孔軼艷.網(wǎng)絡(luò)攻防模擬實驗平臺的設(shè)計與實現(xiàn)[J].通信技術(shù),2012,(11):37-39+43.
[17] 向陽霞,向校萱.基于虛擬靶機的方法在網(wǎng)絡(luò)攻防實驗教學中的應(yīng)用[J].計算機工程與設(shè)計,2009,(04):855-857.
[18] 趙北庚.用虛擬機搭建復(fù)雜網(wǎng)絡(luò)拓撲結(jié)構(gòu)的滲透測試環(huán)境[J].信息系統(tǒng)工程,2015,(05):102+105.