劉智國,于增明,王 建,張 磊,黎康盛,沈 輝
(1.中國電子信息產業集團有限公司第六研究所,北京 100083;2.國網黑龍江省電力有限公司大興安嶺供電公司,黑龍江大興安嶺 165000)
網絡靶場主要用于網絡攻防演練和網絡裝備測試,以提高網絡和信息系統的安全性。雖然在網絡性能評測及仿真方面,已有眾多的評測工具,但是僅僅實現了核心網絡包傳輸及網絡操作的模擬。如思科的Cisco Packet Tracer[1]是一款網絡模擬學習工具,實現了模擬網絡操作命令、維護和網絡設備配置等。OPNET[2]產品主要面向專業人士,幫助客戶進行網絡拓撲、網絡設備和應用的設計、實施、分析和管理。Network Simulator[3]是一個由UC Berkeley開發的用于仿真各種IP網絡為主的仿真軟件,可以實現離散事件模擬、仿真網絡傳輸協議、業務源流量產生、路由隊列管理機制及路由算法模擬。然而,網絡靶場需要對網絡節點及網絡進行全量的模擬,對目標網絡進行高逼真度仿真,復現真實網絡環境行為,只模擬了核心功能的模擬器無法實現。
網絡靶場體系架構為了達到目標環境高逼真度模擬,需包含網絡拓撲設計、網絡及節點虛擬化、系統互聯、環境設置、數據采集、結果評估等功能。分別為:(1)網絡拓撲設計:設計網絡拓撲結構,并以網絡符號等方式存儲為文件;(2)網絡及節點虛擬化:讀入網絡拓撲文件,將其虛擬化為物理網絡,可分為節點虛擬化(如KVM)和鏈路虛擬化兩方面。Dummynet[4]作為鏈路虛擬化的代表,通過一個或多個管道模擬帶寬、傳播時延、丟包率等鏈路特性,具有很高的逼真度;(3)系統互聯:實現路由器、交換機等網絡設備虛擬化,并節點互聯,形成高逼真網絡;(4)環境設置:設置網絡仿真平臺、背景流量、系統網絡帶寬等參數設置,并應用于目標虛擬化生成及仿真控制過程;(5)數據采集:試驗數據采集分成物理數據采集和虛擬化數據采集;(6)結果評估:對于采集到的測試數據進行分析處理、評判攻防態勢。
現有靶場主流體系架構主要有美國的Emulab[5]、DeterLab[6],英國的BreakingPoint[7]靶場,日本的Starbed[8]靶場,美國NCR靶場[9]等,分別對其體系架構介紹如下:
Emulab是由猶他大學計算機學院Flux研究團隊開發的一個網絡測試床,其核心架構為一套分布式軟件系統及一個基礎平臺架構,并提供共享平臺用于研究、教育及開發分布式系統及網絡,可以用于系統仿真、Internet網絡模擬、無線網絡仿真、對比驗證。

圖1 Emulab網絡測試床
系統包括總線、外部分布式節點(Internet接入)、用戶集中控制節點(usershost)、服務器管理節點(masterhost)、PC節點、NSE節點。總線分為兩種:數據總線(Programmable patch panel)和控制總線(Control switch/Router)。PC節點共有168臺,每臺有5個100Mb的以太網接口:一個連接控制總線,另一個連接數據總線,其它在實驗中可任意使用。NSE節點也同時和兩種總線連接,用于創建虛擬機和實際業務仿真,可以模擬節點的鏈接和流量。服務器管理節點是許多關鍵服務的安全服務器,包括web服務、數據庫和交換機管理服務。
Web界面作為一個可訪問的門戶,實驗者通過它可以創建或終止一個實驗,查看相應的虛擬拓撲,或者配置節點屬性。在實驗創建之后,實驗者可以直接登錄到他們分配的節點,或者用戶集中控制節點,然后開始試驗過程。
DeterLab基于Emulab基礎上,由南加州大學ISI和加州大學伯克利分校聯合開發的計算機安全及工控系統安全測試床,用于網絡安全技術研究。到目前為止,基于確定性的項目包括行為分析和防御技術,包括DDoS攻擊、蠕蟲和僵尸網絡攻擊、加密、模式檢測和入侵容忍存儲協議。
DeterLab由兩組分布在ISI和UC Berkeley的300個實驗PC集群節點組成,他們擁有共同的控制平面。仿真控制軟件被配置為將兩個站點的節點放置在單獨的邏輯池中,一個實驗可以從一個或兩個集群中分配節點。

圖2 Deterlab網絡測試床
這些節點是由高速以太網交換機的“可編程背板”連接的,它被截斷形成一個邏輯開關。每個實驗PC有四個實驗接口和一個控制接口連到這個開關。為了創建由實驗人員指定的拓撲,“Boss”服務器上的仿真控制軟件將PC節點分配給實驗,并通過在交換機中設置Vlan來將它們連接起來,高容量開關硬件用于避免Vlan之間的干擾。
BreakingPoint是英國Ixia公司的網絡靶場系統。它支持流量生成和仿真,以創建一個互聯網規模的網絡靶場環境。BreakingPoint中對互聯網環境仿真包括目標仿真、漏洞仿真、逃避仿真和流量仿真。BreakingPoint支持網絡安全測試,它能測量硬件設備的吞吐量,發送惡意流量進行測試,并將流量發送到設備,以模擬攻擊行為。

圖3 BreakingPoint網絡測試床
Starbed由日本情報通信研究機構(NICT)于2002 年主導研制,主要提供大規模的網絡試驗環境用于評估真實場景下的新技術。結構如圖所示,Starbed測試網絡分為實驗網及管理網。實驗網主要提供L2拓撲。管理網主要對試驗進行全生命周期管理、并連接到全局網絡。系統通過Internet和JGN2plus提供兩個外部線路,將其他站點的連接或將實際的流量引入到實驗網絡環境中。

圖4 Starbed網絡測試床
美國“國家網絡靶場”(National Cyber Range,NCR)項目是“曼哈頓計劃”的五個組成部分之一,由美國國防高級研究計劃局(DARPA)負責組建,國防部測試資源管理中心(TRMC)負責運營,包括測試、培訓和實驗社區使用的功能。通過構建可伸縮的互聯網模型, 進行網絡戰爭推演,測試涉密與非涉密網絡項目的安全設備,維護美國的網絡安全。

圖5 美國NCR網絡測試床
測試過程主要分為三個階段。首先,在測試開始之前,NCR工作人員將使用CSTL測試規范工具構建測試平臺,構建過程包括對測試平臺進行分區,為測試分配系統資源,以及集成和配置共同的硬件/軟件資源和網絡工具,作為測試的資產描述。其次,通過NCR的數據傳感器、資源管理器、范圍存儲庫和可視化工具進行收集客戶指定的事件數據。在這個過程中,范圍配置以及驗證工具會自動將硬件連接到適當的配置并且自動配置所需要運行的軟件。最后,使用測試執行工具、流量生成工具以及特定系統執行測試隊列,進行數據收集以及分析[10-11]。
美國國家SCADA測試床(NSTB)創建于2003年,是美國能源部匯集阿貢、愛達荷、勞倫斯伯克利、洛斯阿拉莫斯、橡樹嶺、西太平洋和桑迪亞國家實驗室,結合國家實驗室先進的操作系統測試設施和專家的研究能力,以此來發現和解決關鍵安全漏洞和應對能源行業所面臨的安全威脅。NSTB項目主要任務為:提高工業控制系統網絡安全漏洞問題的認知能力,與企事業單位合作來識別、評估和解決當前的SCADA系統漏洞;利用測試床資源,針對現有控制系統的安全問題,測試研究與開發出短期應對方案和風險緩解策略;設計下一代工控系統安全架構,建設智能、安全、可靠的控制系統和基礎設施系統;研究制定國家標準和指導方針。

圖6 基于IaaS的網絡靶場
南京信息系統工程重點實驗室結合基礎設施即服務(IaaS)云計算技術,從系統頂層設計、物理結構、邏輯組成、運行架構和優化部署等方面,提出了基于IaaS的網絡靶場試驗系統。根據IaaS云計算理念進行網絡靶場試驗系統頂層設計,通過基礎設施服務化整合,提高了靶場試驗環境構建的靈活性和可擴展性;提出了基于軟件定義網絡(SDN)技術的靶場試驗網絡基礎設施服務化構建方法,實現了試驗資源的網絡一體化集成;建立了虛擬與物理資源的最優映射和調度模型,提高了硬件資源的利用率和試驗環境的構建效率。

圖7 系統架構

圖8 試驗物理環境架構
基于我們在靶場方面的技術積累以及相關研究,我們基于云計算技術提出了xCloudbed體系架構,并在分析、評估等方面基于AI技術,實現對資源智能分配及攻防效果動態評估。對系統架構描述如下:系統整體邏輯架構方面,整個系統由物理平臺層、操作系統層、Hypervisor層、云資源虛擬化層、應用層、目標網絡環境層組成。其中,物理平臺主要包括網絡通信設備、計算設備及接口設備等,作為云平臺的基礎硬件層;操作系統層主要在宿主機上安裝相應的操作系統、還要實現時間同步、消息分發等功能;Hypervisor層主要實現對容器及虛擬機的管理;云資源虛擬化管理層主要是指云管理操作系統及微服務管理操作系統;應用層主要實現虛擬化網絡管理、應用模擬、監測評估、系統調度管理及數據管理等功能;系統目標網絡環境是針對不同場景進行設計,產出相應的目標仿真環境。
網絡靶場試驗環境在物理上由計算服務器、存儲服務器和網絡服務器(虛擬化云內部網絡)等設備,與物理網絡設備、物理安全防護設備通過網絡互連,實現各類資源的互連互通、端口映射和流量重定向。系統的物理網絡分為管理網和數據網2種,管理網實現環境配置及控制命令傳輸,數據網實現目標系統網絡數據傳輸功能,管理網和數據網之間相互隔離。物理網絡上部署防火墻、IPS、IDS、安全認證及審計、數據庫安全防護、數據防泄漏等物理安全設備,虛擬網絡內部部署虛擬防火墻、虛擬防病毒、虛擬IPS等虛擬安全設備,并連接到統一的安全管理中心,實現整體的安全運維管理。物理網絡與外部網絡之間邊界隔離,對外提供試驗接入服務。
在系統流程方面,實驗開始階段相關試驗員通過Web管理界面實現網絡拓撲結構、任務設置、資源配置等信息,調用系統調度分系統的資源,將配置信息及運控信息傳遞到虛擬網絡分系統、計算分系統、應用模擬分析圖進行目標網絡環境的生成。搭建完畢后,啟動仿真過程,信息采集與處理子系統對目標網絡的網絡流、虛擬機內部的進程等事件進行監控,并及時通知監測評估分系統。試驗結束后,由監測評估分系統進行整體攻防過程的評估,結果評判等。

圖9 系統交互關系圖
從技術實現角度,運維保障分系統中主要完成的是配置管理下發,而采用的是XML進行配置描述;基礎設施分系統中的總線采用的是Kafka,可以確保其具備高吞吐、高可用和可擴展的特性;數據資源存儲管理分系統主要包括了采用libvmi和libvirt的帶外采集技
術、基于SNMP的實物采集技術、BPF的實物網絡設備采集技術和針對大小規模的關系型和非關系型數據庫的存儲技術;應用模擬分系統主要采用了一些套件和開源技術完成了高并發式的大規模應用模擬部署功能;虛擬網絡分系統主要基于KVM、Docker等技術來實現底層環境生成的虛擬化和仿真;監測評估分系統中采用的關鍵技術是SVG、HighCharts等圖形繪制技術,以及采用通用的JSON格式完成數據交互以便減少數據傳輸量節省帶寬。
將目前主流的靶場系統與基于云的靶場架構xCloudbed進行了綜合對比,如表1所示。從執行效率角度來看,基于集群的靶場架構由于采用交換機開關切換的方式生成網絡,并基于物理PC機快速構建目標環境,執行效率較高,但會受限于現有物理節點的數量及節點的系統環境,支持場景有限,動態擴展能力差。基于集群+虛擬化方式構建的靶場系統,雖然從一定程度上解決了動態擴展,但系統采用混合架構,結構比較復雜,帶來了兼容性的問題。基于云及虛擬化架構的靶場環境,采用統一的虛擬化平臺資源,很好地解決了動態擴展及兼容性的問題。

表1 網絡靶場體系架構對比
基于云及虛擬化架構的靶場應在未來重點對以下技術展開研究:
(1)復雜網絡環境仿真的支持
實現對復雜網絡環境仿真的支持,如智能制造工業場景、5G無線通信,面向未來的網絡、特殊網絡協議的支持,擴充平臺的適應性。
(2)高效數據采集
針對中心采集程序和植入虛擬機的代理程序方式受到虛擬機自身運行狀況影響的問題,實現虛擬化帶外數據采集技術,從虛擬機外部進行數據采集,獲取虛擬機內部的運行狀態。
(3)背景流量模擬
針對測試環境中網絡流量行為模擬及背景流量生成的問題,實現海量用戶并發訪問互聯網應用的用戶行為模擬,并能定制化生成含有特定內容、地址等的網絡應用流量。
(4)網絡靶場自身安全與隔離
目前云環境中由于共享物理及資源,特別是Docker技術提供的微服務,由于和操作系統共享,存在很多的安全問題。保障網絡空間安全試驗訓練系統與互聯網隔離、測試任務與任務之間隔離、運行數據與對外服務隔離是未來一個研究方向。
(5)與人工智能結合的分析及預測技術
主要實現對靶場采集數據進行大數據深度分析,自動生成攻防態勢預測圖、攻防手法分析、靶場網絡自優化等。利用深度學習及蜜罐技術、威脅情報感知技術,預測網絡攻擊發展趨勢,自動擴充測試工具,完善攻防手段。
總之,隨著云計算、虛擬化、人工智能技術的不斷成熟,基于云的靶場體系架構將成為一個新的熱點研究方向。
[1] JANITOR J, JAKAB F, KNIEWALD K. Visual learning tools for teaching/learning computer networks: Cisco Networking Academy and Packet Tracer[C]// Sixth International Conference on NETWORKING and Services, IEEE Computer Society, 2010:351-355.
[2] CHCANG X. Network simulations with OPNET[C]// Simulation Conference Proceedings. IEEE, 2002:307-314 vol.1.
[3] LIU N, CAROTHERS C, COPE J, et al. Model and simulation of exascale communication networks[J]. Journal of Simulation, 2012, 6(4):227-236.
[4] CARBONE M, RIZZO L. Dummynet revisited[J]. Acm Sigcomm Computer Communication Review, 2010, 40(2):12-20.
[5] HIBLER M, RICCI R, STOLLER L, et al. Large-scale virtualization in the emulab network testbed[C]//USENIX Annual Technical Conference.2008: 113-128.
[6] MIRKOVIC J, BENZEL T. Teaching cybersecurity with DeterLab[J].Security & Privacy, IEEE, 2012, 10(1): 73-76.
[7] WINTER H. System security assessment using a cyber range[C]//System Safety, incorporating the Cyber Security Conference 2012,7th IET International Conference on. IET, 2012: 1-5.
[8] MIYACHI T, MIWA S, HASEGAWA S, et al. Hands-on environments for network technologies on StarBED[J]. Educational technology research, 2011, 34(1): 107-118.
[9] PRIDMORE L, LARDIERI P, HOLLISTER R. National Cyber Range (NCR) automated test tools: Implications and application to network-centric support tools[C]//AUTOTESTCON, IEEE, 2010: 1-4.
[10] 方濱興, 賈焰, 李愛平,等. 網絡空間靶場技術研究[J]. 信息安全學報, 2016, 1(3):1-9.
[11] 韓衛國, 徐明迪. 面向賽博空間的網絡靶場建設思路[J]. 計算機與數字工程, 2015(8):1465-1470.
[12] Department of Energy,National SCADA Tested[Z/OL].(2012-07-01),https://www.energy.gov/oe/technology-development/energy-delivery-systems-cybersecurity/national-scada-test-bed
[13] 李大偉. 基于IaaS的網絡靶場試驗系統設計與實現[J]. 指揮信息系統與技術, 2015, 6(5):1-6.