劉 磊,任俊綺,張 鵬,申 春
(1.吉林大學 計算機科學與技術學院,長春 130012;2.吉林大學 軟件學院,長春 130012)
云計算因其寬帶互聯(lián)、資源池共享、彈性配置、按需服務和按服務收費等優(yōu)勢在各行業(yè)中廣泛應用,但云安全問題限制了云計算的發(fā)展.云服務的安全問題包括云計算架構是否安全、是否存在可攻擊面、對惡意軟件的處理是否全面及訪問權限是否安全等[1].非法入侵和云服務不完整是云安全中的兩個重要問題.入侵是指利用服務器的弱點對服務器進行攻擊.入侵檢測技術主要分為兩類:異常入侵檢測和誤用入侵檢測[2].用戶越權訪問是一種較常見的入侵,是指用戶經(jīng)過了授權,但對所授權的數(shù)據(jù)和資源使用不合法或濫用授權,這可能使云服務中斷,導致服務不完整.服務不完整是指云不能按照服務流程向用戶提供完整的服務.入侵的發(fā)生可能使服務中斷,導致服務不完整;另一方面,服務不完整會引發(fā)服務異常,增加入侵的可能性.
針對上述問題,Kruegel等[3]提出建立異常入侵檢測Bayes網(wǎng)分析異常檢測結果的方法檢測入侵行為;Teng等[4]提出利用時間推理的方法產(chǎn)生用戶正常行為規(guī)則集,通過動態(tài)修改這些規(guī)則實現(xiàn)入侵行為檢測;Lane等[5]提出通過機器學習實現(xiàn)入侵檢測;Lee等[6]提出利用數(shù)據(jù)挖掘技術在數(shù)據(jù)和數(shù)據(jù)流中提取相關知識,并利用這些知識檢測入侵行為;Sailer等[7]提出利用TCG可信平臺完整性測量框架驗證服務的完整性;Clark等[8]提出使用Clark-Wilson模型保證服務的完整性.
當前檢測方法或偏重于入侵檢測,或偏重于服務完整性檢測.利用不同檢測方法對兩種問題分別檢測時,存在對異常行為的重復檢測,檢測成本較高,同時需要預測的非法行為集合可能不全面[9],檢測準確率較低.本文針對這兩個問題提出了一種安全檢測方法,運用π演算對云服務的通信過程進行建模,通過對通信原語的形式化描述,檢測出通信過程中所出現(xiàn)的用戶越權訪問問題和服務不完整問題.利用π演算的方法不需要預測非法行為集合,減少了交叉行為的檢測,可有效減少檢測計算量和檢測時間.
π演算是對通信系統(tǒng)演算的擴充與發(fā)展,它主要研究進程間移動通信的并發(fā)理論[10].π演算的研究對象是名字和進程,其中名字不僅包含CCS中的變量和值,同時也包含通道名字本身[11],使π演算對建立新通道有了描述語法.因此,π演算適合描述動態(tài)變化的云服務.本文利用π演算這種形式化描述工具對云服務進行建模描述,利用π演算的強模擬性、弱模擬性和對偶性等性質對模型中的用戶越權問題及服務過程不完整問題進行檢測.
π演算語法:假設一個無窮的名字集N,其中的元素用小寫字母x,y,z…表示,進程表達式用大寫字母P,Q,R…表示.π演算可定義為

通過對salesforce CRM,Amazon Webservices和Goole App Engine等云服務的理解與分析[12-13],本文將云服務抽象成一個三元組(S,C,A),其中:A表示邏輯服務原子;C表示服務間的關系;S表示整個服務.A是指根據(jù)要檢測的問題,將某個或某些服務組合在一起所構成的模塊,它是一個五元組(a,e,s,t,c),其中:a表示A中的服務;e表示對外發(fā)出的信息及通道;s表示接收的消息及通道;t表示服務原子在接收或發(fā)出消息后的動作;c表示兩個e或s之間的關系;c1表示順序關系;c2表示并發(fā)關系.通常情況下,對于a1發(fā)出的消息和通道e必存在a2接收相同消息的通道s,將二者合并記為es.C中有3個元素{C1,C2,C3},其中C1表示順序執(zhí)行服務,C2表示并發(fā)執(zhí)行服務,C3表示選擇執(zhí)行服務,且C2,C3優(yōu)先級相同均高于C1.從而每個服務原子可描述為

兩個服務原子之間通信過程可描述為

整個云服務可描述為

其中:A1必為啟動整個服務的服務原子;An為結束整個服務的服務原子.
上述過程中忽略了某些與越權問題和完整性檢測無關的內容,將關注點放在邏輯服務原子、服務原子間通信內容和通信通道及服務原子間的邏輯關系這3個內容上.
利用π演算對云服務進行描述,需有如下過程:1)將每個邏輯服務原子視為一個進程,該進程可根據(jù)實際要驗證或檢測的問題細化或組合;2)將進行通信的兩個進程之間順序傳遞消息的通道合并為一個,并保證這兩個進程間至少有一條通道;3)將并發(fā)的多條消息通道映射為多個通道,保證每個并發(fā)的消息通道對應一個通道.云服務與π演算的映射關系列于表1.

表1 云服務與π演算映射關系Table 1 Mappings between cloud service andπ-calculus


檢測服務是否完整需要用到π演算性質:若P強模擬Q,則表示P至少能完成Q的所有任務和動態(tài)變化;若P弱模擬Q,則表示P的外部行為至少能表達所有Q的外部行為.若用Atomicn表示每個邏輯服務原子的進程表達式,ReverceAn表示每個邏輯服務原子對偶系統(tǒng)的進程表達式,T表示服務完整,F(xiàn)表示服務不完整表示π演算中的反應符號,則有如下算法.

云中存在大量的虛擬機,虛擬機部署是云中常見的服務.虛擬機部署過程中會伴隨大量的用戶訪問和部署過程中斷.因此,本文以虛擬機部署服務為例,對所給方法進行驗證與說明.
一次虛擬機部署服務過程如圖1所示.發(fā)出部署命令的可能是用戶也可能是某個物理機,本文將其統(tǒng)稱為用戶.將用戶、應用服務器、云管理和目標宿主機作為4個邏輯服務原子進行建模,即A={Client,Service,Management,Host},且這些模塊是按順序依次發(fā)生的,即


圖1 虛擬機的部署服務Fig.1 Deployment of the virtual machine
一次部署請求發(fā)出后,應用服務器對當前環(huán)境進行衡量,確定部署請求是否可以接受,若接受則對相應的物理資源進行部署,并將部署成功的虛擬機交付使用.
部署名字集合

其中:Request(Req)表示用戶向應用服務器發(fā)出虛擬機部署請求;Refuse(Ref)表示應用服務器根據(jù)當前環(huán)境判斷不滿足部署要求,向用戶發(fā)出拒絕請求的回應消息;AskInfo(Ask)表示應用服務器根據(jù)當前環(huán)境判斷可以部署服務,則向用戶發(fā)出詢問部署虛擬機所需的具體信息;ProInfo(Pro)表示用戶回應應用服務器,提供部署虛擬機所需的信息;GetResInfo(Get)表示應用服務器根據(jù)用戶所提出的請求,向云管理系統(tǒng)發(fā)出請求部署信息;ResInfo(Res)表示云管理系統(tǒng)向應用服務器發(fā)送相應部署信息;DeploymentCommand(DeC)表示應用服務器根據(jù)云管理系統(tǒng)提供信息向目標宿主機發(fā)布部署命令,并傳遞部署請求;DeploymentSuccess(Des)表示部署成功并啟動虛擬機,通知用戶部署結果并交付使用.

圖2 虛擬機部署映射成π演算的過程Fig.2 Virtual machine deployment mapping intoπ-calculus
根據(jù)云服務與π演算的映射關系,可以將圖1映射成圖2,其中x,y,z,v分別表示用戶與應用服務器、應用服務器與云管理服務器、應用服務器與目標宿主機、用戶與目標宿主機間的通道.
在對虛擬機部署過程進行映射后,即可利用π演算對每個邏輯服務原子和整個服務過程進行建模,建模過程如下.


在云服務中,越權檢測與服務完整性檢測密不可分,越權的發(fā)生可能使服務中斷,導致服務不完整;而服務不完整會引發(fā)服務異常,增加越權的可能性.因此,需要對這兩種安全問題同時檢測.
表2通過對多種檢測方法的研究,給出了各種檢測方法的能力范圍.由表2可見,Bayes網(wǎng)檢測方法利用先驗知識對可能入侵事件基于概率值分類,只能針對預測出的服務過程入侵事件進行檢測,未對系統(tǒng)提供的服務進行預測,忽略了云服務過程不完整性帶來的安全問題;預測規(guī)則集和時間序列學習方法都是基于已定義好的正常行為集合,分別利用時間推理和機器學習方法檢測試圖訓練系統(tǒng)的入侵者,這兩種檢測方法雖然可保證用戶行為的合法性,但并未對系統(tǒng)行為進行檢測,無法保證用戶請求得到響應;TCG檢測方法通過一種平臺服務完整性檢測架構,對平臺服務完整性進行檢測,但該方法的檢測只是針對服務流程,忽略了用戶越權行為對服務過程的影響.而本文方法可同時檢測兩種安全問題,相對于傳統(tǒng)方法有效減少了檢測計算量.

表2 檢測能力對比Table 2 Contrast of detection capability
[1]Ryan M D.Cloud Computing Seurity:The Scientific Challenge,and a Survey of Solutions[J].Journal of Systems and Software,2013,86(9):2263-2268.
[2]楊智君,田地,馬駿驍,等.入侵檢測技術研究綜述 [J].計算機工程與設計,2006,27(12):2119-2123.(YANG Zhijun,TIAN Di,MA Junrao,et al.Survey of Intrusion Detection Technology [J].Computer Engineering and Design,2006,27(12):2119-2123.)
[3]Kruegel C,Mutz D,Robertson W,et al.Bayesian Event Classification for Intrusion Detection[C]//Proc of the 19th Annual Computer Security Applications Conference(ACSAC).Washington DC:IEEE Computer Society,2003:14-23.
[4]Teng H S,Chen K,Lu S C Y.Security Audit Trail Analysis Using Inductively Generated Predictive Rules[C]//Proceeding of the Sixth Conference on Artificial Intelligence Applications.Washington DC:IEEE Computer Society,1990:24-29.
[5]Lane T,Brodley C E.Temporal Sequence Learning and Data Reduction for Anomaly Detection [J].ACM Transactions on Information and System Security,1999,2(3):295-331.
[6]Lee W,Stolfo S J,Chan P K,et al.Real Time Data Mining-Based Intrusion Detection[C]//Proceedings of 2nd DARPA Information Survivability Conference and Exposition(DIsCEX).Washington DC:IEEE Computer Society,2001:89-100.
[7]Sailer R,Zhang X,Jaeger T,et al.Design and lmplementation of a TCG-Based Integrity Measurement Architeclure[C]//Proc of the 13rd USENIX Security Symposium.Berkeley:USENIX Association,2004:223-238.
[8]Clark D D,Wilson D R.A Comparison of Commercial and Military Computer Security Policies[C]//Proc of the l987IEEE Symp on Security and Privacy.Washington DC:IEEE Computer Society,1987:184-194.
[9]蔣建春,馬恒太,任黨恩,等.網(wǎng)絡安全入侵檢測:研究綜述 [J].軟件學報,2000,11(11):1460-1466.(JIANG Jianchun,MA Hengtai,REN Dang’en,et al.Network Security Intrusion Detection:The Review of the Research[J].Journal of Software,2000,11(11):1460-1466.)
[10]Milner R.Communicating and Mobile Systems:The Pi-Calculus[M].Cambridge:Cambridge University Press,1999:77-159.
[11]廖軍,譚浩,劉錦德.基于Pi-演算的 Web服務組合的描述和驗證 [J].計算機學報,2005,28(4):635-643.(LIAO Jun,TAN Hao,LIU Jinde.Describing and Verifying Web Service Using Pi-Calculus[J].Chinese Journal of Computers,2005,28(4):635-643.)
[12]吳朱華.云計算核心技術剖析 [M].北京:人民郵電出版社,2011:2-30.(WU Zhuhua.Analysis of the Cloud Computing Core Technology[M].Beijing:Post & Telecom Press,2011:2-30.)
[13]郭小群,郝克剛.Web服務的 Pi演算描述 [J].計算機科學,2006,33(3):261-262.(GUO Xiaoqun,HAO Kegang.Pi Calculi-Based Model for Web Services[J].Computerscience,2006,33(3):261-262.)