陳雅琳,劉 薇,徐 安,李巧平,何 進,陳雷霆,4,5
1(電子科技大學 計算機科學與工程學院,成都 611731)
2(東莞迪賽軟件技術有限公司,東莞 523808)
3(成都工業職業技術學院,成都 610218)
4(電子科技大學 廣東電子信息工程研究院,東莞 523808)
5(廣東省衛生廳政務服務中心,廣州 510060))
基于云模式的健康服務是居民健康服務發展的必然趨勢.這種服務模式增加了數據和業務的共享利用,同時節約了成本,但也引入了新的安全威脅,這些年來受到越來越多的關注和研究.除了隱私安全保護[1,2],云計算中的網絡安全威脅也是重要研究方向,如云平臺自身的安全[3]、底層虛擬資源和系統的安全[4]、云服務商不可信[5]、鏈路攻擊導致用戶敏感信息的泄露[6]、共享安全漏洞等[7,8]等。
近年來,這些問題得到了研究者們的大量關注[9–12],然而,在傳統的云計算網絡安全模式中,由于云服務商對云用戶的服務安全需求不了解,無法按需提供安全服務,如圖1所示.云計算提供成千上萬種類型的服務,即使相同類型的服務,其安全需求也有差異.傳統的云模式缺乏自動安全規則配置[13,14],服務商無法掌握每類服務的安全需求,只能根據用戶需求針對每個服務進行手工配置,后期進行人工維護和管理,這是幾乎不可能完成的任務,使得居民健康服務平臺無法得到可信可控的云安全服務,最終導致居民、醫院醫療機構、政府衛生機構及第三方相關機構的網絡安全仍面臨很大的網絡安全威脅.針對這個問題,本文結合文獻[15]的思想,提出一種定制化的健康云網絡安全服務方案.

圖1 傳統的云計算網絡安全模式
健康云的用戶主要有居民、醫院醫療機構、政府衛生機構以及第三方機構等.健康云應用如圖2所示,
在健康云上實現移動終端和健康檔案管理系統之間的數據傳輸服務;健康檔案管理,包括健康檔案查詢服務、預約掛號服務、健康知識推送服務、居家健康服務、健康咨詢服務、大數據智能分析等.
面向健康云的網絡安全定制化服務主要由5個部件組成:SMG,SMD,Dom0,服務域(service domains),虛擬交換機(vSwitch).為了保證服務域的網絡安全,無論何時訪問服務域,外部流量或內部流量需要通過所需的過濾域;若網絡受到攻擊,則將攻擊日志存放在日志管理域(ELMD)中,如圖3所示.
SMG由反垃圾郵件(AS)組,防火墻(FW)組,防病毒(AV)組等安全組構成,負責將檢測和過濾產生的攻擊日志和統計信息等保存到SMD中的事件和ELMD里.
SMD主要由管理域(MD)和ELMD組成.其中,ELMD存儲和管理來源于SMG的事件和日志.MD主要負責的功能為:創建/刪除SMG中的任何域;下發轉發規則到vSwitch,讓訪問服務域流通過對應的安全檢測鏈路(FMC),進行安全檢測過濾;收集SMG中每一個組的狀態信息(如負載,失效)和接受來自vSwitch的轉發信息(如流量).
Dom0縮減了權限,不能創建/啟動和停止/刪除SMG中的任何域(domain),但仍然保持權限去處理并管理服務器域中任何虛擬機,包括按照時間片進行調度、I/O分配等.
Service domains承載多類型的基于網絡的健康云用戶服務,如FTP服務,Web服務等.
vSwtich負責接受MD下發的轉發規則,并且轉發內外流通過安全域進行檢測和過濾.

圖2 面向健康云的定制化網絡安全服務應用

圖3 面向健康云的網絡安全定制化服務應用
MD主要由SPEC分析器和RouteGen轉化器組成.SPEC分析器通過云用戶SPEC、網絡設備(Mbox)狀態信息、Mbox拓撲和vSwitch信息進行分析,生成FMC安全路徑和安全過濾規則.RouteGen轉化器將FMC安全路徑轉化為轉發規則,通過轉發流到FMC鏈進行安全檢測和過濾.最終MD將轉發規則下發到vSwitch中,將安全過濾規則轉發到對應的Mbox中.
為了便于虛擬Mbox日志的識別和標準化管理,虛擬Mbox應該具備統一日志格式.包括:日志類型、Mbox唯一標識、事件標示、某個特定服務唯一標示、源IP、源端口、目的IP、目的端口、Protocol以及日志事件的詳細描述.當ELMD接受日志后,ELMD的日志分類器將這些日志進行分類便于基于用戶權限訪問.面向健康云的定制化網絡安全整體設計如圖4所示.

圖4 面向健康云的定制化網絡安全服務總體設計
針對健康云的網絡安全服務要求,定制化安全分析算法偽代碼如下:

算法1.定制化安全分析算法1)根據不同角色的健康云用戶的網絡安全需求填寫提供的SPEC.2)對SPEC進行加密并提交給CNS.3)MD根據SPEC,自動生成FMC及其路徑上對應的安全規則,分別下發到vSwitch和對應Mbox中,對訪問流進行檢測和過濾.4)CNS將Mbox生成的日志發送給ELMD,經分析后處理后,存放在日志數據庫中.5)ELMD根據角色權限的不同,分別為云服務商管理者和健康云用戶提供不同的GUI管理界面,不同角色的用戶擁有不同的查詢權限,例如健康云用戶只能查詢自己相關服務的攻擊日志,而管理者可查詢所有的攻擊日志.
SPEC安全模板的主要參數包括需要保護的IP和端口;網絡層、AV、AS、Web檢查和安全傳輸,每一項都對應相應的虛擬Mbox;網絡層和安全檢查,其結構如圖5所示.
CNS系統對接收到的加密安全模板SPEC首先進行解密并分析它,自動分析過程實現算法偽代碼如下:

?
上述算法不但可以檢測出光流擾動效應,還可以判斷是否檢測到運動目標,如果判斷為檢測到了運動目標,就發出提示信息并且把當前幀圖像保存下來,如果僅僅檢測光流擾動效應,則可以把該算法簡化,省略第4)步.
本實驗采用6核超線程2.8 GHz Intel處理器、16 G內存DELL服務器作為云計算硬件服務器;IXIA和iperf作為性能測試工具;使用3.4.2版本的XEN Hypervisor,內核為2.6.31的Fedora16系統的Dom0;使用2.6.27內核64位Fedora系統作為虛擬客戶機,vSwitch帶寬為1 G網絡;安全軟件使用開源的IPFire、ModSecurity、OpenSSL、PacketFence作為實驗軟件.

圖5 面向健康云的定制化網絡用戶安全模板
實驗以網絡延遲、網絡吞吐量、丟包率三個性能參數作為評價指標進行分析,以Web服務為例,檢測該系統面對攻擊的防護能力.
本文對3種安全服務算法(UTM、CNS-unbindcore、CNS-bind-core)的網絡安全系統性能進行實驗對比.實驗基于UDP的數據包轉發和基于TCP的網絡訪問兩種服務類型對3種算法相對于無網絡安全服務情況的網絡延遲、吞吐量、以及丟包率的增大或減小程度進行對比,延遲和丟包率增大的程度越低且吞吐量減少的程度越低,說明性能越好.
第一組實驗對比UTM和CNS-unbind-core的系統性能,以此說明本文所提方法的有效性.CNS-unbind-core是使用本文所提出的CNS方法,與UTM將所有安全軟件移植到一個VM中不同,它是將每個安全軟件放在不同的VM中,由多核系統自由調度.表1、2、3顯示了UDP在3種算法下相對無網絡安全服務的網絡延遲增大程度、吞吐量減小程度以及丟包率的增大程度比較.表1的第一和、二行表明UTM相對于CNS-unbind-core的平均延遲增加了0.8%;表2的第一、二行表明UTM相對于CNS-unbind-core平均吞吐量減少了0.9%;表3的第一、二行表明UTM相對于CNS-unbind-core平均丟包率增加了0.8%.基于TCP的網絡訪問,除了數據包大小從1024 bit到65 536 bit之外,實驗方法類似于UDP轉發.表4、5、6顯示了基于TCP的網絡訪問在三種算法下相對無網絡安全服務的網絡延遲增大程度、吞吐量減小程度以及丟包率的增大程度比較.表4的第一、二行表明CNS-unbind-core相對于UTM的平均延遲降低了42.3%;表5的第一、二行表明CNS-unbind-core相對于UTM的平均吞吐量增加了6.4%;表6的第一、二行表明CNS-unbind-core相對于UTM的平均丟包率降低了6.4%.實驗數據表明,TCP數據包大小與性能之間的關系類似于UDP轉發,但CNS-unbind-core的三個性能指標都高于UTM,尤其是大幅度降低了平均延遲.無論是UDP轉發,還是基于TCP的網絡訪問,CNS-unbindcore實現的系統性能都高于UTM.因此,采用CNS-unbind-core而不是UTM,可以實現更好的系統性能.

表1 UDP在三種算法下的網絡延遲增大程度比較(%)

表2 UDP在三種算法下的網絡吞吐量減少程度比較(%)

表3 UDP在三種算法下的丟包率增大程度比較(%)
由UTM和CNS-unbind-core基于TCP的網絡訪問這組對比實驗可以得出,UTM的上下文切換和爭用單個虛擬機上的共享資源(尤其是CPU資源)帶統開銷高于CNS-unbind-core中VM間通信和緩存無效帶來的系統開銷.如果在多核虛擬平臺上使用CNS執行并行檢查,則可以克服資源爭用競爭,能顯著提高系統性能.
第二組實驗對比了CNS-unbind-core與CNS-bindcore的系統性能,CNS-bind-core在CNS-unbindcore的基礎上將每個VM綁定一個core.表1至表6的第二、三行實驗數據表明,CNS-bind-core在UDP轉發和網絡訪問的延遲、吞吐量和丟包率上明顯優于CNS-unbind-core.在綁定多核時,定制化網絡安全服務充分利用系統資源是有利因素,克服了單個虛擬機上共享資源的上下文切換;但是增加了interVM之間的通信開銷,并導致VM間切換之間的緩存無效.CNS-bind-core可以充分利用硬件輔助的I/O虛擬化技術;另外,多核調度不斷地在多個VM之間切換,導致相應的緩存無效,從而導致系統性能下降.每個FD被綁定到CPU內核以克服緩存無效,從而克服了緩存無效的缺點.

表4 TCP在三種算法下的網絡延遲增大程度比較(%)

表5 TCP在三種算法下的網絡吞吐量減少程度比較(%)

表6 TCP在三種算法下的丟包率增大程度比較(%)
第三組實驗對比了在健康云中使用CNS-bindcore保護網絡安全和不采取任何措施保護健康云的網絡安全的系統性能.表1至表6的第三行實驗數據表明,不采用任何措施保護網絡安全相比于CNS-bindcore而言,表現出更好的系統性能,但是如果不采取保護措施來保護云計算安全性,可能導致無法估量的損失.因此,只要采用保護措施的性能開銷在可接受范圍內即可.仍然用UDP轉發、網絡訪問兩組實驗來評估CNS-bind-core的性能影響.
對于UDP轉發,表1、表2、表3的第三行實驗數據顯示,在健康云中使用CNS比沒有使用網絡安全服務的平均延遲增加了7.11%,平均吞吐量下降5.1%.丟包率受到安全檢查和過濾的影響,這些性能開銷是不可避免的檢查和過濾UDP流量.由于UDP流量必須經過FW檢測和過濾,才能轉發到服務域中的UDP服務器.在此過程中,流量需要匹配FW中數百個過濾規則,導致延遲增加和吞吐量下降.與UTM相比,CNS-bind-core的性能已經有了很大的提升.
基于TCP的網絡訪問,在健康云中使用CNS-bind-core與無網絡安全服務情況比較,延遲受影響較大,吞吐量幾乎不受影響.表4、表5、表6的第三行實驗數據進一步說明,使用CNS-bind-core保證健康云網絡安全后平均延遲增加4.6%,平均吞吐量下降1.7%,平均丟包率增加了0.34%.其主要原因是:Web流量必須通過FW和WAF進行檢查和過濾,才能轉發到服務域中的網站服務器.在這個過程中,流量需要匹配FW中的數百個過濾規則和WAF中的數千個簽名,從而導致增加的延遲和減少的吞吐量.在沒有網絡安全服務的情況下,Web流量直接訪問網站服務器,以避免在系統開銷方面進行檢查.因此,與沒有網絡安全服務的情況相比,CNS的延遲變長,吞吐量受到延遲的影響,但是增加網絡安全服務后的整體系統性能在可接受的范圍內.
以Web服務為例.檢測該系統的防攻擊能力,針對Web的網絡層進行了IP攻擊、DDOS攻擊以及使用了掃描器,表7的實驗結果表明該系統均能檢測出攻擊且成功進行防護.針對Web的應用層進行了遠程登錄攻擊、cookies欺騙和SQL注入,表7的實驗結果表明,該系統均能檢測出攻擊且成功進行防護,驗證了本文方法在安全防護上的效果.

表7 Web服務攻擊防護驗證
在云計算服務中,如果不采取保護措施來保護網絡安全,可能導致無法估量的損失,然而傳統的安全模式無法提供個性化的安全服務,不能滿足醫療健康云用戶安全需求的多樣性,本文提出面向健康云的定制化網絡安全服務可以自動根據云用戶安全需求提供相應的安全服務,同時也提供了攻擊日志和統一管理功能,保證安全的同時也能減少人力財力的開銷.延遲增加、吞吐量降低、丟包率增加等網絡安全服務帶來的負面因素,因此未來可以進一步探索的工作是如何把網絡安全服務在性能上的開銷控制接受范圍內即可.