張鵬騫
(河北省兒童醫(yī)院,河北 石家莊 050031)
云計算的新范式在研究業(yè)界和學(xué)術(shù)界獲得普及。它有著經(jīng)濟、可擴展、便捷、無處不在以及按需訪問共享資源的特征,促使眾多傳統(tǒng)業(yè)務(wù)流程紛紛向云平臺轉(zhuǎn)移[1]。
安全性是阻礙云計算廣泛應(yīng)用的障礙之一。某些企業(yè)和研究機構(gòu)不完全信任云計算,不愿意將寶貴的數(shù)據(jù)轉(zhuǎn)移給第三方提供商。傳統(tǒng)的信息技術(shù)設(shè)施將數(shù)據(jù)保存在組織管理域,使得數(shù)據(jù)/應(yīng)用程序的所有處理、移動以及管理都是在組織管理域內(nèi)執(zhí)行,組織不享有對云服務(wù)和基礎(chǔ)設(shè)施的管理控制權(quán)。因此,客戶擔(dān)心云中數(shù)據(jù)資產(chǎn)的安全性,不愿意采用云計算。本文對云計算應(yīng)用的數(shù)據(jù)安全問題進行總結(jié),并提出相應(yīng)的解決思路[2]。
資源池實現(xiàn)計算和存儲資源共享的同時,允許網(wǎng)絡(luò)設(shè)施組件的共享。網(wǎng)絡(luò)組件的共享為攻擊者提供了跨租戶攻擊的機會,影響了云的基礎(chǔ)結(jié)構(gòu)即服務(wù)(Infrastructure-as-a-Service,IaaS),如圖1所示[3]。合法的網(wǎng)絡(luò)漏洞掃描和攻擊者活動很難區(qū)分,因此服務(wù)提供商通常不允許這種掃描。網(wǎng)絡(luò)資源是動態(tài)供應(yīng)和釋放的,不能與特定用戶組相關(guān)聯(lián),因此網(wǎng)絡(luò)部分基于網(wǎng)際協(xié)議(Internet Protocol,IP)的隔離也不適用。
圖1 云的IaaS服務(wù)模型
云計算模型與傳統(tǒng)計算模型不同,用戶不能完全控制數(shù)據(jù),允許服務(wù)提供商控制管理服務(wù)器和數(shù)據(jù)。用戶對虛擬機享有控制權(quán),但缺乏對數(shù)據(jù)的控制,導(dǎo)致數(shù)據(jù)安全風(fēng)險比傳統(tǒng)計算模型高。云計算的多租戶和虛擬化等特性,為用戶帶來了不同于傳統(tǒng)計算模型的攻擊可能性[4]。
云計算可確保成本經(jīng)濟性,將用戶從基礎(chǔ)設(shè)施管理活動中解放出來。但是,云中數(shù)據(jù)更容易受到安全威脅,用戶應(yīng)用程序數(shù)量的增加導(dǎo)致安全風(fēng)險增加。在共享環(huán)境中,云的安全強度等于惡意實體的安全強度。惡意實體和非惡意但不安全的實體都可能導(dǎo)致數(shù)據(jù)泄露[5]。單個實體的成功攻擊,將導(dǎo)致所有用戶數(shù)據(jù)未授權(quán)訪問。云的多租戶特性可能違反完整性,導(dǎo)致軟件即服務(wù)(Software-as-a-Service,SaaS)提供商的員工訪問信息也可能存在潛在風(fēng)險。
靜態(tài)數(shù)據(jù)和處理中的數(shù)據(jù)存在安全隱患。云計算的物理資源在多個租戶之間共享,在處理階段(共享計算資源)可能出現(xiàn)惡意用戶對其他用戶數(shù)據(jù)發(fā)起攻擊的情況。如果云服務(wù)提供商將數(shù)據(jù)備份流程外包給第三方,則會進一步擴大風(fēng)險范圍。
云計算的資源池可以確保向用戶提供資源。提供給特定用戶的資源,可以在之后某個時間點分配給其他用戶。惡意用戶可以采用數(shù)據(jù)恢復(fù)技術(shù)獲取之前用戶的數(shù)據(jù)。
云計算中的數(shù)據(jù)備份很重要。云服務(wù)提供商需要定期進行數(shù)據(jù)備份,確保發(fā)生意外時可以恢復(fù)數(shù)據(jù)。因此,數(shù)據(jù)應(yīng)及時備份存儲,以免未經(jīng)授權(quán)的惡意用戶訪問和篡改[6]。
持監(jiān)控主機平臺的虛擬機防止跨租戶攻擊,確保用戶和云服務(wù)提供商數(shù)據(jù)的安全性。
監(jiān)控模塊的部署可提高虛擬機的可操作性。攔截器模塊負責(zé)檢測主機上的可疑活動。記錄器模塊將檢測到的可疑活動進行記錄,并存儲于告警池。評估員評估活動并進行記錄。告警記錄的增加被視為安全威脅的增加,可安全激活執(zhí)行器模塊進行相應(yīng)的操作。如果出現(xiàn)異常,那么系統(tǒng)會給評估者發(fā)送告警提醒。攔截器模塊在任何系統(tǒng)都可以被調(diào)用,防止自身被檢測。如果攻擊活動得到確認(rèn),應(yīng)立刻采取行動,允許調(diào)用執(zhí)行初始系統(tǒng)來抵擋攻擊活動對監(jiān)控系統(tǒng)的攻擊。基于虛擬化技術(shù)的安全監(jiān)控如圖2所示,基于虛擬化技術(shù),采用行為監(jiān)控的側(cè)通道攻擊識別方法和基于虛擬機監(jiān)控器(Virtual Machine Monitor,VMM)的共享物理資源隔離算法,可以達到安全監(jiān)控的目的。流程分為5步。第1步,通過虛擬機管理器采集虛擬機(Virtual Machine,VM)行為信息和物理資源使用信息,將得到的信息傳遞給監(jiān)控模塊。第2步,監(jiān)控模塊分析行為監(jiān)控和資源監(jiān)控獲取的信息,得到攻擊的行為特征。第3步,基于已有的特征庫,對攻擊行為特征進行識別策略。第4步,識別并阻斷側(cè)通道攻擊。第5步,通過共享實現(xiàn)資源隔離和側(cè)通道信息的模糊化。
圖2 基于虛擬化技術(shù)的安全監(jiān)控
虛擬網(wǎng)絡(luò)設(shè)備的部署可以保障虛擬網(wǎng)絡(luò)的安全[7]。虛擬網(wǎng)橋之間的第2層隧道虛擬專用網(wǎng)絡(luò)(Virtual Private Network,VPN)的利用,可實現(xiàn)虛擬網(wǎng)絡(luò)的隔離。數(shù)據(jù)以點對點(Peer to Peer,P2P)的方式在虛擬機之間傳輸。元數(shù)據(jù)存儲在中央節(jié)點上,優(yōu)化了虛擬機之間的流量。軟件端口用于網(wǎng)絡(luò)流量的監(jiān)控。傳統(tǒng)的網(wǎng)絡(luò)安全系統(tǒng)如入侵檢測系統(tǒng)(Intrusion Detection Systems,IDS)自適應(yīng)地部署到虛擬網(wǎng)絡(luò),保護應(yīng)用程序在虛擬網(wǎng)絡(luò)運行的安全。
虛擬網(wǎng)絡(luò)模型可以保護虛擬網(wǎng)絡(luò)免受嗅探和欺騙攻擊[8]。虛擬網(wǎng)絡(luò)的連接可利用虛擬機管理程序的橋接和路由模式。虛擬機管理程序在橋接模式下可以連接到虛擬以太網(wǎng)橋,通過網(wǎng)橋連接到物理網(wǎng)絡(luò)。路由模式在虛擬機和域0(虛擬機管理域)之間創(chuàng)建P2P鏈接。虛擬網(wǎng)絡(luò)模型設(shè)為路由層、防火墻層以及共享網(wǎng)絡(luò)層3層。路由層在虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)之間建立專用的邏輯通道。每個信道分配唯一的邏輯身份標(biāo)識(IDentity,ID),用于監(jiān)控共享網(wǎng)絡(luò)數(shù)據(jù)包的來源。防火墻層負責(zé)阻止共享網(wǎng)絡(luò)的欺騙攻擊。該層保證連接到共享虛擬網(wǎng)絡(luò)的任何接口不與其他虛擬共享網(wǎng)絡(luò)通信。監(jiān)控基于路由層分配的邏輯ID執(zhí)行。防火墻層不允許數(shù)據(jù)包更新路由表。共享網(wǎng)絡(luò)層禁止不同虛擬網(wǎng)絡(luò)通道的虛擬機通信。
利用軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)實現(xiàn)隔離虛擬機的虛擬網(wǎng)絡(luò)。通過插件與開放堆棧進行交互,獲得虛擬網(wǎng)絡(luò)信息用于構(gòu)建自己的數(shù)據(jù),實現(xiàn)網(wǎng)絡(luò)映射到租戶和租戶映射到網(wǎng)絡(luò)的目的。每個虛擬機分配唯一標(biāo)識符。網(wǎng)絡(luò)隔離使用數(shù)據(jù)包重寫的概念,即打開原始數(shù)據(jù)包并從數(shù)據(jù)包提取源地址和目的地址,發(fā)往同一網(wǎng)絡(luò)的數(shù)據(jù)包被進一步處理,而其他數(shù)據(jù)包被丟棄。有效傳輸時消息被發(fā)送到虛擬交換機,用標(biāo)識符替換目標(biāo)或者源IP地址重寫數(shù)據(jù)包,媒體訪問控制(Media Access Control,MAC)地址被替換為物理主機的MAC地址,避免虛擬網(wǎng)絡(luò)的跨租戶攻擊和跨虛擬機拒絕服務(wù)(Denial of Service,DoS)攻擊[9]。
建立云環(huán)境入侵防御系統(tǒng)。云上構(gòu)建流量分析處理組件、警報解釋器以及規(guī)則生成器,組件用來收集流量[10]。警報解釋器可分析生成的警報并調(diào)用規(guī)則生成器。規(guī)則生成器為可疑流量生成規(guī)則,并將其轉(zhuǎn)發(fā)到相應(yīng)設(shè)備。該設(shè)備根據(jù)制定的規(guī)則重新配置網(wǎng)絡(luò)。它們共同構(gòu)建云環(huán)境入侵防御系統(tǒng),實現(xiàn)流量分析和入侵防御。
關(guān)于數(shù)據(jù)安全和密鑰管理,提出了以下5條建議:使用可靠來源的密鑰管理和加密產(chǎn)品;盡可能使用現(xiàn)有技術(shù);范圍盡量在個人或小組級別;使用標(biāo)準(zhǔn)算法而不鼓勵使用專有加密算法;密鑰管理應(yīng)由組織、用戶或者可信來源的加密服務(wù)執(zhí)行。
具體的解決思路有2個。一是,建立密鑰管理和數(shù)據(jù)保密性的文件,保證協(xié)議的刪除[11]。協(xié)議使用對稱加密和非對稱加密,與受信的第三方密鑰管理器(Key Management,KM)一起工作。數(shù)據(jù)密鑰K用于加密F,密鑰S用于加密K。為上傳數(shù)據(jù),用戶通過發(fā)送P請求KM生成密鑰對。KM生成與P相關(guān)聯(lián)的公鑰對或私鑰對,將公鑰部分發(fā)送給用戶。用戶使用生成的K加密F,用S加密K,最后用KM對生成的公鑰進一步加密。整個加密包與P一起存儲在云中。解密時,所有數(shù)據(jù)從云中下載,S發(fā)送到KM,通過非對稱加密算法進行解密。解密S后,F(xiàn)也被解密。策略到期時,KM通過安全覆蓋刪除相應(yīng)的密鑰和P,數(shù)據(jù)無法訪問,確保刪除。二是,使用更改的密鑰對數(shù)據(jù)重新加密,避免數(shù)據(jù)泄露給被撤銷的用戶。采用時間代理重加密和屬性加密相結(jié)合的方案,支持組內(nèi)安全的數(shù)據(jù)共享和細粒度的訪問控制,確保數(shù)據(jù)安全轉(zhuǎn)發(fā)給組用戶,處理用戶撤銷。這里不要求數(shù)據(jù)所有者進行用戶撤銷和生成新密鑰。時間段與用戶相關(guān)聯(lián),到期時云服務(wù)提供商會自動撤銷該用戶。數(shù)據(jù)所有者和云服務(wù)提供商之間預(yù)共享主密鑰,允許云服務(wù)提供商生成新的加密密鑰,確保了組內(nèi)數(shù)據(jù)的私密性和可用性。
云計算提供優(yōu)勢的同時也引發(fā)了安全問題,阻礙了云計算的普及。無論是組織還是個人都清楚云中通信的數(shù)據(jù)安全問題,因此理解云計算的安全威脅,積極采取防范措施,才能更好地發(fā)揮云計算在互聯(lián)網(wǎng)中的應(yīng)用優(yōu)勢。