許瀚 羅亮 孫鵬 孟颯
摘 要:針對云環(huán)境缺乏安全性評估的問題,提出一種評估系統(tǒng)安全性的建模方法,并建立了云環(huán)境下的安全性性能(SP)關(guān)聯(lián)模型。首先,針對云系統(tǒng)中最重要的組成部分,即虛擬機(jī),建立了評估其安全性的模型,該模型充分反映了安全機(jī)制和惡意攻擊兩個安全因素對虛擬機(jī)的影響;隨后基于虛擬機(jī)與云系統(tǒng)之間的關(guān)系,提出評估云系統(tǒng)安全性的指標(biāo);其次,提出一種分層建模方法來建立SP關(guān)聯(lián)模型。利用隊(duì)列理論對云計(jì)算系統(tǒng)的性能進(jìn)行建模,然后基于貝葉斯理論和相關(guān)分析建立了安全性和性能之間的關(guān)聯(lián)關(guān)系,并提出評估復(fù)雜SP相關(guān)性的新指標(biāo)。實(shí)驗(yàn)結(jié)果驗(yàn)證了理論模型的正確性,并揭示了安全因素引起的性能動態(tài)變化規(guī)律。
關(guān)鍵詞:云計(jì)算;安全性建模;性能建模;馬爾可夫模型;排隊(duì)論
中圖分類號:
TP309.2文獻(xiàn)標(biāo)志碼:A
Cloud system security and performance modeling based on Markov model
XU Han*, LUO Liang, SUN Peng, MENG Sa
College of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu Sichuan 611731, China
Abstract:
Aiming at the lack of security assessment in cloud environment, a cloudbased security modeling method was proposed,and a SecurityPerformance (SP) association model in cloud environment was established. Firstly, a model was constructed for virtual machines, the most important component of the cloud system, to evaluate its security. The model fully reflected the impact of security mechanisms and malicious attacks on virtual machines. Secondly, based on the relationship between virtual machine and cloud system, an indicator was proposed for assessing the security of the cloud system. Thirdly, a hierarchical modeling method was proposed to establish an SP association model. Queuing theory was used to model the performance of cloud computing systems, and the relationship between security and performance was established based on Bayesian theory and association analysis, and a new index for evaluating the association of complex SP was proposed. Experimental results verify the correctness of the theoretical model and reveal the dynamic change rule of performance caused by safety factors.
Key words:
cloud computing; security modeling; performance modeling; Markov model; queuing theory
0?引言
在云計(jì)算系統(tǒng)(Cloud Computing System, CCS)中,服務(wù)質(zhì)量(Quality of Service, QoS)是從提供商和客戶角度來看的重要服務(wù)評估標(biāo)準(zhǔn),它直接影響云提供商的客戶體驗(yàn)和利潤。 因此,對QoS的精確評估可以幫助云提供商開發(fā)合理的資源分配策略以改善客戶端體驗(yàn)。 通常采用性能度量來量化QoS。 人們已經(jīng)廣泛研究了許多用于評估性能的方法和方法,但是,另一個重要的指標(biāo),即安全性,在評估QoS時沒有得到足夠的重視。 更重要的是,安全性還會對性能指標(biāo)產(chǎn)生嚴(yán)重影響,即復(fù)雜的SP相關(guān)性。CCS動態(tài)地組織虛擬機(jī)(Virtual Machine, VM)和服務(wù)器以運(yùn)行一系列服務(wù),其中每個服務(wù)被分離為在VM上并行執(zhí)行的一組任務(wù)。雖然動態(tài)組織和并行執(zhí)行使CCS有效地完成了服務(wù),但它也給CCS安全帶來了嚴(yán)重的問題。由于CCS的虛擬化,VM安全性成為傳統(tǒng)系統(tǒng)中不存在的新安全因素。VM的安全性具有一些相似的特征,例如,不同的VM完全隔離,并且共存的VM可能由于對其主機(jī)服務(wù)器的攻擊而同時失敗。同時,VM安全性在最近的研究中也備受關(guān)注。 文獻(xiàn)[1]的研究表明,
在基礎(chǔ)架構(gòu)即服務(wù)(Infrastructure as a Service, IaaS)級別上,
大多數(shù)特定于云的攻擊通過受到攻擊的VM威脅CCS,例如VM側(cè)通道攻擊、對虛擬機(jī)管理程序的VM攻擊、對運(yùn)行中VM進(jìn)行磁盤注入等攻擊方式。
下面簡要介紹以上列舉的攻擊行為:
1)VM側(cè)通道攻擊通?;赩M漏洞[2]。它代表了利用VM共存的一類攻擊,當(dāng)兩個或多個用戶的VM共享相同的硬件時會出現(xiàn)這種共存。
2)通過虛擬機(jī)管理程序的VM攻擊從受感染的VM開始[3]。攻擊者可以從已感染的VM獲取有效的用戶憑證(通過捕獲、監(jiān)視或使用惡意軟件)。然后,攻擊者可以獲得公共云賬戶以危害虛擬機(jī)管理程序,并從公共云中存在的相關(guān)攻擊路徑訪問目標(biāo)共同駐留機(jī)構(gòu)的其他VM。
3)對運(yùn)行中VM進(jìn)行磁盤注入這種攻擊方式,攻擊者試圖通過將惡意代碼放入目標(biāo)VM的本地連接存儲中,以此來獲取對目標(biāo)數(shù)據(jù)的訪問權(quán)[4]。很明顯,如果攻擊者愿意,他們的行為將通過受到攻擊的虛擬機(jī)對CCS的QoS產(chǎn)生巨大影響。VM安全性嚴(yán)重影響了CCS的安全性,因此,為確保云計(jì)算在現(xiàn)實(shí)環(huán)境中的應(yīng)用,如何評估CCS安全性并評估其對QoS度量的影響(如服務(wù)性能)是必須解決的關(guān)鍵問題[5]。
近年來,已有許多用于量化QoS的性能度量方法的成果。文獻(xiàn)[6]中提出了用于評估基礎(chǔ)架構(gòu)即服務(wù)(Infrastructure as a Service, IaaS)、平臺即服務(wù)(Platform as a Service, PaaS)、軟件即服務(wù)(Software as a Service, SaaS)以及混搭或混合云的通用云性能模型。作者使用現(xiàn)實(shí)生活中的基準(zhǔn)程序測試云,并提出新的性能指標(biāo)。文獻(xiàn)[7]研究了云計(jì)算環(huán)境中利潤最大化的最優(yōu)多服務(wù)器配置問題。在這種方法中,作者構(gòu)建定價(jià)模型并將多服務(wù)器系統(tǒng)視為M/M/m排隊(duì)模型,以制定和分析解決優(yōu)化問題。文獻(xiàn)[8]中開發(fā)新的性能模型并運(yùn)行HiBench基準(zhǔn)測試,以測試各種彈性計(jì)算云(Amazon Elastic Compute Cloud, EC2)
配置上的Hadoop性能,并評估三種擴(kuò)展策略,以提升彈性云(如EC2)的性能、效率和生產(chǎn)率。在這種方法中,性能模型的構(gòu)造與文獻(xiàn)[7]中的相同。但是,在這些方法中沒有考慮安全性對性能的影響。
安全性要求通常與性能要求形成對比[9]:
一方面,安全機(jī)制的操作不可避免地消耗一定量的資源,例如CPU時間和存儲器,從而增加了服務(wù)的執(zhí)行時間;另一方面,惡意攻擊可能導(dǎo)致服務(wù)器或VM故障并導(dǎo)致服務(wù)故障或超時故障。目前,現(xiàn)有的系統(tǒng)安全性研究常常把安全機(jī)制和惡意攻擊對系統(tǒng)的影響分開來考慮。文獻(xiàn)[10]中提出了一種QoS驅(qū)動的方法來研究安全機(jī)制對不同系統(tǒng)性能的開銷;但是,作者還沒有研究惡意攻擊對性能的影響,這將導(dǎo)致性能評估的不準(zhǔn)確性。在文獻(xiàn)[11]中,建模方法用于提供基于上下文的模型以平衡QoS和安全性;但是,這些研究并未系統(tǒng)地解決惡意攻擊對性能的影響。文獻(xiàn)[12]中構(gòu)建一個多排隊(duì)模型,以整體地描述三種類型的攻擊,并研究特定電子郵件安全系統(tǒng)的性能指標(biāo);但是,安全機(jī)制的資源消耗尚未得到徹底解決。
為解決以上所提問題,本文針對可用性這一安全性因素對服務(wù)性能的影響進(jìn)行研究,提出了一種分層建模方法,通過建立安全性和服務(wù)性能之間的聯(lián)系來全面地反映云系統(tǒng)中安全性對服務(wù)性能的影響。首先,給出了CCS的物理和邏輯結(jié)構(gòu);隨后,分別介紹了對CCS進(jìn)行安全性和服務(wù)性能建模的方法;最后,給出了仿真實(shí)驗(yàn)用以驗(yàn)證所提分層建模方法的正確性,并揭示不同強(qiáng)度的安全機(jī)制對服務(wù)性能的影響。
1?云計(jì)算系統(tǒng)的結(jié)構(gòu)
圖1顯示了CCS的部分系統(tǒng)結(jié)構(gòu)。CCS中最基本的層是資源層,其中包含所有硬件和軟件,包括存儲、服務(wù)器基礎(chǔ)架構(gòu)和虛擬基礎(chǔ)架構(gòu)。在資源層中,CCS以VM為單位組織資源,這些VM資源是CCS上的高度自動化的系統(tǒng)單元。 VM通??梢酝ㄟ^互聯(lián)網(wǎng)單獨(dú)訪問[13-14]。此功能使VM容易受到惡意攻擊,例如,常見漏洞和暴露(Common Vulnerabilities and Exposures, CVE)主動標(biāo)識漏洞(CVE20074593),使攻擊者經(jīng)由vstor2WS60.sys設(shè)備驅(qū)動程序在虛擬機(jī)(VMWare的)工作站6.0上進(jìn)行拒絕服務(wù)(Denial of Service, DoS)攻擊[15]。 DoS攻擊可以減慢一些關(guān)鍵進(jìn)程并導(dǎo)致失敗。顯然,VM安全性是CCS不可避免的漏洞,因此,評估VM安全性(包括從惡意攻擊中學(xué)習(xí)威脅并分析防御機(jī)制的行為)可以幫助提高云安全性甚至提高服務(wù)性能。值得注意的是,惡意攻擊是隨機(jī)的。理論建模方法可以根據(jù)抽象的特征和宏觀統(tǒng)計(jì)的觀點(diǎn)來捕捉這種隨機(jī)性。眾所周知,馬爾可夫模型理論已廣泛應(yīng)用于安全評估領(lǐng)域。例如,文獻(xiàn)[12,16-17]中使用它進(jìn)行研究。因此,本文建立了Markov模型來評估VM安全性。
在應(yīng)用層中,COS(Cloud Operating System)負(fù)責(zé)服務(wù)請求的分配和結(jié)果的收集。
從COS返回給用戶的請求數(shù)可以是用于描述CCS的服務(wù)性能的指標(biāo)。因此,在本文中,服務(wù)性能定義為每單位時間完成的請求數(shù)。如上所述,VM對服務(wù)處理有很大影響:一方面,當(dāng)虛擬機(jī)的可用性受到惡意攻擊的威脅時,虛擬機(jī)可能無法處理子任務(wù)并導(dǎo)致子任務(wù)的處理失敗。更嚴(yán)重的是,惡意攻擊可能會減少可用虛擬機(jī)的數(shù)量,并導(dǎo)致可用虛擬機(jī)太少時發(fā)生任務(wù)溢出故障。另一方面,在VM中啟用安全機(jī)制會消耗一部分CPU資源并減少用于處理子任務(wù)的CPU資源,最終,它可能會延長子任務(wù)的處理時間并導(dǎo)致超時失敗。通常,安全性通過影響VM的可用VM數(shù)量和CPU處理能力來影響服務(wù)性能,因此,這兩個參數(shù)可以成為安全性和性能之間的橋梁。
眾所周知,安全機(jī)制的CPU占用取決于其算法復(fù)雜性或安全級別,例如加密機(jī)制和分層保護(hù)域。對于加密機(jī)制,密鑰長度表示算法復(fù)雜度和加密機(jī)制的安全級別,并確定包括加密和解密在內(nèi)的動作的CPU占用時間。對于分層保護(hù)域,安全級別確定用戶狀態(tài)和內(nèi)核狀態(tài)之間切換的頻率和CPU占用時間。為了更好地描述算法的復(fù)雜性或安全級別,“強(qiáng)度”已被用于當(dāng)前可靠性和安全性研究領(lǐng)域[10]。因此,“強(qiáng)度”也用于定義本章中算法復(fù)雜度或安全機(jī)制的安全級別。安全機(jī)制被定義為三種強(qiáng)度,即“高”“中”和“低”。強(qiáng)度越高,安全級別越高,算法越復(fù)雜。如果VM應(yīng)用高強(qiáng)度安全機(jī)制,則與應(yīng)用中強(qiáng)度或低強(qiáng)度安全機(jī)制相比,子任務(wù)的完成時間增加。
2?資源層中的安全性建模
安全性通常包括可用性、保密性、完整性等內(nèi)容,本文主要針對系統(tǒng)VM受攻擊后的工作狀態(tài)來定義系統(tǒng)安全性,因此本文將從可用性的角度出發(fā)來評估系統(tǒng)的安全性。
2.1?模型建立前提條件
基于以下前提條件,Markov模型可用于對VM安全性進(jìn)行建模:
1)大多數(shù)攻擊都是無組織和自發(fā)的,因此,攻擊的到達(dá)時間是隨機(jī)的。 這種隨機(jī)性可以通過適當(dāng)?shù)牡竭_(dá)過程來描述,例如泊松分布[12,16-17]。
2)安全機(jī)制具有一系列規(guī)范化操作來抵御攻擊。 文獻(xiàn)[12,16-17]指出,
這些操作的時間服從指數(shù)分布。
注意,在馬爾可夫模型中,某些狀態(tài)的逗留時間的分布函數(shù)可能是非指數(shù)的。 因此,潛在的隨機(jī)模型需要根據(jù)半馬爾可夫過程(SemiMarkov Process, SMP)來制定[17]。
2.2?虛擬機(jī)安全性建模
圖2顯示了受攻擊的VM的狀態(tài)轉(zhuǎn)換圖。在該狀態(tài)轉(zhuǎn)換圖中有三種狀態(tài):良好狀態(tài)(G)、受攻擊狀態(tài)(A)和失敗狀態(tài)(F)。狀態(tài)G表示VM處于可以提供可靠服務(wù)的良好狀態(tài);狀態(tài)A表示VM處于受攻擊影響的狀態(tài),但此時VM仍然可以提供服務(wù);狀態(tài)F表示VM處于受攻擊影響已經(jīng)失效,無法提供服務(wù)的狀態(tài)。在圖2中,
P1、P2、P3和P4是狀態(tài)轉(zhuǎn)移概率,它們的取值取決于安全機(jī)制的強(qiáng)度和攻擊。P1表示VM處于G狀態(tài)中的概率;
P2表示在安全機(jī)制未能抵御攻擊的情況下VM的狀態(tài)從A變?yōu)镕的概率;P3=1-P1表示當(dāng)安全機(jī)制成功抵抗攻擊時,VM的狀態(tài)從A變?yōu)镚的概率; P4=1-P2表示當(dāng)攻擊影響VM時,VM的狀態(tài)從G變?yōu)锳的概率。另外,不考慮VM的狀態(tài)從G變?yōu)镕的情況。這是因?yàn)樵品?wù)提供商通常非常注重安全性,這使得攻擊者很難在不被注意的情況下使VM無效。注意F是吸收狀態(tài),這意味著不能從該狀態(tài)改變到任何其他狀態(tài)。在真實(shí)環(huán)境中,安全機(jī)制可能不夠強(qiáng)大,無法抵御攻擊。發(fā)生這種情況時,除非系統(tǒng)管理員采取緊急措施,例如重新啟動、切斷互聯(lián)網(wǎng)訪問等,否則系統(tǒng)無法恢復(fù)正常。因此,虛線用于描述在激活那些緊急動作之后VM的狀態(tài)從F變?yōu)镚的情況。
現(xiàn)在,可以通過求解此狀態(tài)轉(zhuǎn)換圖來進(jìn)行VM安全性評估。在此,定義Na(x,n)和Pa兩個安全指標(biāo),其中:Na(x,n)表示n個VM中有x個VM可用的概率;Pa表示VM可用的概率;n是VM的總數(shù);x是可用VM的數(shù)量;x≤n。
Na(x,n)和Pa分別用于評估整個系統(tǒng)和一個VM的安全性。值得注意的是,Pa是計(jì)算Na(x,n)的前提條件。
Pa的求解過程如下:
首先將VM的狀態(tài)分別定義為可用集xa和不可用集xua。
如果VM的狀態(tài)屬于xa,則此VM可用;
否則屬于xua,VM不可用。
在本文中,G和A被分類為集合xa,F(xiàn)被分類為集合xua。其次,ПG、ПA和ПF分別被定義為狀態(tài)G、A和F的穩(wěn)態(tài)概率。
因?yàn)椤苅∈(G,A,F(xiàn))πi=1,所以通過式(1)即可求解Pa:
pa=πG+πA=1-πF
(1)
本文采用文獻(xiàn)[17]方法
來求解圖2所示的SMP模型,πi{i∈(G,A,F(xiàn))}可由如下公式計(jì)算:
πi=vihi∑ivihi
(2)
其中:vi{i∈(G,A,F(xiàn))}是圖2中所示的嵌入離散時間馬爾可夫鏈中的狀態(tài)的穩(wěn)態(tài)概率,并且hi{i∈(G,A,F(xiàn))}每個狀態(tài)的平均逗留時間。
vi的計(jì)算公式如下:
=P
(3)
其中:=[vG?vA?vF];
P是轉(zhuǎn)移概率矩陣。
估算P和hi的值有兩種方法:第一種方法是使用先驗(yàn)知識和攻擊實(shí)驗(yàn);第二種方法是使用參數(shù)訓(xùn)練方法,該方法取決于預(yù)定義的Pa值和模型(本文的實(shí)驗(yàn)部分就是采用這種方法)。
在此簡單介紹一下第二種方法。在某些情況下,安全機(jī)制和攻擊的先驗(yàn)知識是有限的,因此在一段時間內(nèi),
只能從系統(tǒng)日志中獲取VM故障數(shù)和攻擊時間的數(shù)據(jù)。
然后,可以使用通過這些統(tǒng)計(jì)數(shù)據(jù),合并使用概率理論,即可求得來計(jì)算Pa。
最后,P和hi的值可以通過Pa參數(shù)訓(xùn)練方法獲得。
如前所述,Pa是計(jì)算Na(x,n)的前提條件。
如果分配了x和n,并且每個VM的Pa是已知的,則可以計(jì)算Na(x,n)。
容易理解,可用VM的數(shù)量有Cxn種組合。根據(jù)貝葉斯理論,通過對每種組合的概率求和,即可求解Na(x,n)。
以計(jì)算Na(3,5)的值作為說明。Na(3,5)表示在CCS中總共有5個VM(1號到5號),其中只有3個可用,惡意攻擊使另外兩個不可用。 在這種情況下,不知道哪三個可用。 事實(shí)上,每種組合都有可能發(fā)生。 例如:可能是1~3號可用,而4~5號不可用;也可能是2~4號可用,而1、5號不可用。 因此,應(yīng)考慮所有可能的組合來計(jì)算Na(3,5)。在對所有可能組合的概率求和并計(jì)算平均結(jié)果之后,獲得Na(3,5),計(jì)算公式如下:
N1a=p1ap2ap3a(1-p4a)(1-p5a)
其他可能組合的計(jì)算公式也可用相同的方式計(jì)算。
將這些組合的結(jié)果相加求和,并除以這些組合的數(shù)量(C35),即可得到Na(3,5),計(jì)算公式如下所示:
Na(3,5)=N1a+N2a+N3a+…+NC35aC35
該方法,即可求得Na(x,n)。
3?應(yīng)用層中的性能建模與SP關(guān)聯(lián)指標(biāo)
3.1?模模型建立前提條件
排隊(duì)理論已廣泛用于模擬真實(shí)環(huán)境中隨機(jī)事件的到達(dá)完成過程,因此選用M/M/S排隊(duì)模型來描述CCS中任務(wù)的到達(dá)完成過程。 M/M/S表示任務(wù)的到達(dá)遵循泊松分布,子任務(wù)的服務(wù)時間遵循指數(shù)分布,任務(wù)的隊(duì)列長度是有限的。
為了便于計(jì)算,本文假設(shè):
1)同一信任區(qū)域(Trust Zone, TZ)中的所有VM(構(gòu)成了一個網(wǎng)段(network segmentation)[1])采用具有相同強(qiáng)度的統(tǒng)一安全機(jī)制。在真實(shí)的云環(huán)境中,CCS由許多互連的TZ[1]組成。 TZ的設(shè)置是為了便于管理和處理不同類型的任務(wù),其中用戶請求通常會租用多臺相同類型的VM實(shí)例。因此,假設(shè)所有VM在同一TZ中應(yīng)用相同的安全機(jī)制是可行的。
2)VM和CPU遵循一對一的邏輯映射機(jī)制,這在CCS中很常見。
3)在VM中,一次只執(zhí)行一個任務(wù)。
4)任務(wù)隊(duì)列遵循先來先服務(wù)(First Come First Service, FCFS)的規(guī)則。
5)當(dāng)所有可用的VM都忙時,新到達(dá)的任務(wù)應(yīng)該在任務(wù)隊(duì)列中等待。如果任務(wù)隊(duì)列中的任務(wù)數(shù)等于任務(wù)隊(duì)列的最大長度,則放棄新到達(dá)的任務(wù)。
3.2?云計(jì)算系統(tǒng)性能建模
圖3用生滅過程展示了任務(wù)隊(duì)列的執(zhí)行過程。該任務(wù)隊(duì)列的參數(shù)定義如下。
1)f-dj是VMj中運(yùn)行的安全機(jī)制的CPU占用率。
2)λ是任務(wù)的到達(dá)率,可以定義為每單位時間到達(dá)任務(wù)的數(shù)量。例如,λ=2.1s-1。
3)fj是VMj中除安全機(jī)制占用的部分之外的可用CPU速率, fj≤1-f-dj。
4)n是VM的數(shù)量,包含所有可用和不可用VM的數(shù)量。
5)x是可用VM的數(shù)量,x≤n。
6)L是任務(wù)隊(duì)列的最大長度。
7)μ是未應(yīng)用任何安全機(jī)制的VM的最大服務(wù)速率,可以定義為每單位時間完成的任務(wù)數(shù)。例如,μ=1.1s-1。
8)μe是有i個任務(wù)同時執(zhí)行時的服務(wù)速率,i≤L。根據(jù)假設(shè)1,所有處在一個TZ中的VM應(yīng)用相同的安全機(jī)制。因此,μi的計(jì)算公式為:
μi=i×1n∑nj=1μ(fj); i≤x
(4)
μi=μx=∑xj=1μ(fj); x
(5)
其中:
1n∑nj=1μ(fj)表示TZ中每個VM的平均服務(wù)速率;μ(fj)是VMj的服務(wù)速率,它是參數(shù)fj和μ的函數(shù)。 μ(fj)表示當(dāng)運(yùn)行的安全機(jī)制占用CPU的某些部分時VMj的處理任務(wù)的能力。
9)Te是任務(wù)的最大逗留時間。如果任務(wù)的逗留時間超過Td,則發(fā)生超時故障。
可以通過分析此任務(wù)隊(duì)列模型來評估CCS的性能。 這里,性能指標(biāo)被定義為δ(x),其中:x表示可用VM的數(shù)量;δ(x)表示每單位時間完成的任務(wù)數(shù)。任務(wù)完成意味著在任務(wù)的整個執(zhí)行過程中沒有發(fā)生超時故障。根據(jù)隊(duì)列理論,δ(x)的計(jì)算公式為:
δ(x)=ηe(1-ptimeout)
(6)
其中:1-Ptimeout表示任務(wù)在整個執(zhí)行過程中未發(fā)生超時故障,且已成功完成的概率;ηe表示新任務(wù)的有效到達(dá)率。有效到達(dá)意味著任務(wù)已被放置在任務(wù)隊(duì)列中,而沒有因到達(dá)后隊(duì)列已滿而被放棄。 因此,ηe可根據(jù)式(7)計(jì)算:
ηe=λ(1-qL)
(7)
其中:λ是任務(wù)的到達(dá)率;qL表示任務(wù)隊(duì)列已滿的概率。當(dāng)隊(duì)列已滿時,將放棄新到達(dá)的任務(wù),這意味著任務(wù)隊(duì)列發(fā)生阻塞故障。為了計(jì)算qL,首先將qe定義為任務(wù)隊(duì)列中現(xiàn)有i個任務(wù)的概率。通過圖3構(gòu)建ChapmanKolmogorov方程并求解該方程,
可以很容易得到qi。因此,qi可通過如下公式計(jì)算:
q0=1 + x-1i=1(λ)i∏ir=1μr + Li=x(λ)iμi-xx∏xr=1μr-1
(8)
qi=(λ)i∏ir=1μrq0; 1≤i (9) qi=(λ)iμxi-x∏xr=1μrq0; x≤i (10) 根據(jù)式(10),可求得qL: qL=pblock=(λ)LμL-xx∏xr=1μrq0 (11) 以上是ηe的解。下面對(1-Pe)進(jìn)行求解。(1-Pe)表示任務(wù)的執(zhí)行時間超過最大逗留時間Te的概率。 根據(jù)Ptimeout的定義,可知 ptimeout=Pr{Ts>Td}=1-∫?Td0fs(t)dt (12) 其中:Ts表示任務(wù)的逗留時間,即任務(wù)的處理時間; fs(t)被定義為逗留時間Ts的概率密度函數(shù)(Probability Density Function,PDF)。 顯然,Ts是任務(wù)執(zhí)行時間Te和等待時間Tw之和。 因此, fs(t)的計(jì)算公式為: fs(t)=∑xi=0Pr(i)·fe(t)+∑L-1i=x+1Pr(i)·fi-x+1(t)fe(t) (13) 其中:“”代表兩個函數(shù)的卷積運(yùn)算符;Pr(i)是當(dāng)新任務(wù)到達(dá)時,任務(wù)隊(duì)列中有i個任務(wù)的概率。根據(jù)貝葉斯方法和式(8)~(10),Pr(i)的計(jì)算公式為: Pr(i)=Pr{i|i (14) 如前所述,任務(wù)的服務(wù)時間遵循指數(shù)分布。 fe(t)被定義為具有參數(shù)μe的執(zhí)行時間Te的PDF,因此, fe(t)的計(jì)算公式為: fe(t)=μi·e-μit (15) 等待時間Tw的PDF為fi-x+1(t)。如圖3所示, 任務(wù)i的fi-x+1(t)表示執(zhí)行完前面i-x+1個任務(wù)所花費(fèi)的時間。顯然, Tw服從Erlang分布。 fi-x+1(t)的計(jì)算公式為: fi-x+1(t)=(μxt)i-x(i-x)! μx·e-μxt; t≥0,x (16) 現(xiàn)在,已經(jīng)求得(1-Ptimeout),將ηe和(1-Ptimeout)代入式(6),即可求得δ(x)。 3.3?SP關(guān)聯(lián)指標(biāo) 依據(jù)本文對安全性的定義:一方面,安全指標(biāo)Na(x,n)反映了安全因素對可用VM數(shù)量的影響;另一方面,性能指標(biāo)δ(x)反映了可用VM數(shù)量對服務(wù)性能的影響。 因此,可以通過將Na(x,n)與δ(x)組合來評估安全因素對服務(wù)性能的影響。 因此,定義SP關(guān)聯(lián)指標(biāo)來反映這種影響。E(δ(x))被定義為SP關(guān)聯(lián)指標(biāo),它代表將安全性影響因素加入考慮的新的性能指標(biāo)。根據(jù)貝葉斯方法,E(δ(x))的計(jì)算公式為: E(δ(x))=∑nx=1Na(x,n)×δ(x) (17) 可用VM的數(shù)量(x)在CCS中是不確定的,x可以等于1和n之間的任何數(shù)字,且取值概率為Na(x,n)。因此,E(δ(x))是通過對所有這些概率求和得到的。實(shí)驗(yàn)部分給出了計(jì)算該指標(biāo)的仿真實(shí)例。 4?實(shí)驗(yàn)及分析 實(shí)驗(yàn)部分,首先采用仿真實(shí)例對建模方法進(jìn)行驗(yàn)證,仿真在矩陣實(shí)驗(yàn)室(Matlab)上進(jìn)行,其中將使用仿真程序計(jì)算的仿真結(jié)果與使用建模方法計(jì)算的理論結(jié)果進(jìn)行比較。隨后,進(jìn)行了不同強(qiáng)度的安全機(jī)制對服務(wù)性能的影響的對比實(shí)驗(yàn)。最后,根據(jù)仿真結(jié)果,提出了三個關(guān)于在保持一定程度安全性的同時如何有效提高服務(wù)性能的優(yōu)化建議。 4.1?建模方法的驗(yàn)證 表1~4顯示了安全性建模方法和性能建模方法的參數(shù)配置。 如前所述,安全建模中,選用參數(shù)訓(xùn)練方法來獲得P和hi,因此,直接在表1中指定了Pa的值。值得注意的是,有眾多參數(shù)訓(xùn)練方法已經(jīng)被大量應(yīng)用,在這里就不具體介紹參數(shù)訓(xùn)練方法的細(xì)節(jié)。在表2中,根據(jù)文獻(xiàn)[10]中的參數(shù)定義對f-dj進(jìn)行了賦值。實(shí)際上,在真實(shí)環(huán)境中獲得安全機(jī)制的CPU占用率是容易的。例如,現(xiàn)有操作系統(tǒng)都提供了檢測每個運(yùn)行的應(yīng)用程序的CPU占用率的服務(wù)。在表3中,未分配參數(shù)x的值,因?yàn)?,它的值取決于n的值。文獻(xiàn)[9]表明安全性和服務(wù)性能是成反比的。因此,定義了表4中的參數(shù)取值,以滿足安全性和服務(wù)性能之間的相關(guān)性。 下面對仿真程序的設(shè)定進(jìn)行簡要介紹: 1)仿真程序中μ以0.1為取值間隔從0.5到2.6進(jìn)行取值。 2)所有4個VM都采用高強(qiáng)度安全機(jī)制。 3)仿真程序執(zhí)行50×21次。在每次迭代中,定義循環(huán)1-000次的主循環(huán)結(jié)構(gòu)。在仿真中,一個循環(huán)意味著理論建模方法中的一個單位時間。 50×21次迭代將產(chǎn)生50×21輸出,其中:50表示μ的每個取值會產(chǎn)生50個結(jié)果;21表示μ有21個不同的值。這些輸出中的每一個表示在不同μ值的任務(wù)的完成率。 4)假設(shè)每個任務(wù)可以在一個循環(huán)(一個單位時間)內(nèi)完成。 5)如果VM處于吸收狀態(tài)F,則在hF單位時間之后它將從F變?yōu)镚。hF的取值如表1所示。 6)仿真程序運(yùn)行中記錄每項(xiàng)任務(wù)的信息,包括已到達(dá)、已完成和已放棄任務(wù)的數(shù)量。 7)設(shè)置隨機(jī)數(shù)生成器。在仿真中,已經(jīng)預(yù)定義了概率(VM的可用概率)以決定每個VM的可用性。在每個循環(huán)中,通過將預(yù)定概率與隨機(jī)數(shù)進(jìn)行比較來確定每個VM的可用性。 8)依據(jù)λ的值,設(shè)定仿真程序中確定每單位時間新到達(dá)任務(wù)的數(shù)量。 μ、 f-dj,以及可用VM的數(shù)量共同決定每單位時間完成的任務(wù)的數(shù)量。 比較結(jié)果如圖4所示。 在圖4中,理論結(jié)果與仿真結(jié)果完全匹配,服務(wù)速率增加。 該結(jié)果說明了所提出的安全性性能建模方法的正確性。 4.2?不同參數(shù)取值情況下的性能分析 選取三個主要參數(shù),包括VM的數(shù)量(n)、安全機(jī)制的CPU占用率(f-dj)和VM的服務(wù)速率(μ),通過改變它們的取值來揭示它們對服務(wù)性能的影響。為了反映安全機(jī)制(f-dj)的CPU占用率對服務(wù)性能的影響, 在此設(shè)計(jì)了組1、組2和組3三個比較組,分別采用低、中和高強(qiáng)度安全機(jī)制。 如前所述,每個組由相同數(shù)量且采用相同強(qiáng)度安全機(jī)制的VM組成。 實(shí)驗(yàn)研究μ和n兩個參數(shù)對服務(wù)性能的影響。μ值如下: 1)對于n,其取值范圍為3到8。在本實(shí)驗(yàn)中,服務(wù)速率為μ=1.0s-1。結(jié)果如圖5所示。 2)對于μ,為其設(shè)計(jì)了一組值。 μ的第一組值在0.6~1.8,到達(dá)率λ=2.1s-1。結(jié)果如圖6所示。 3)不同安全機(jī)制的CPU占用率值( f-dj),與表2中的相同。 4)其他參數(shù)的取值與表1、3~4中的相同。 實(shí)驗(yàn)的結(jié)果分析如下: 1)當(dāng)可用資源,包括VM服務(wù)速率(μ)和VM數(shù)量(n)數(shù)量受到限制時,服務(wù)性能和安全性之間存在逆相關(guān)。例如,當(dāng)圖6中的μ=0.6~1.0或圖5中的n=3~4時,低強(qiáng)度安全機(jī)制的E(δ(x))值(藍(lán)線,組1)大于對于中等強(qiáng)度安全機(jī)制(黑線,組2)和高強(qiáng)度安全機(jī)制(紅線,組3)的E(δ(x))值。這些結(jié)果表明,高安全性并不總是最佳選擇。 2)隨著可用資源的增加,服務(wù)性能與安全性之間存在正相關(guān)關(guān)系。如圖5所示,高強(qiáng)度安全機(jī)制(紅線)和中強(qiáng)度安全機(jī)制(黑線)的E(δ(x))值的增加率比大于低強(qiáng)度安全機(jī)制(藍(lán)線)的E(δ(x))值的增加率比。 3)采取冗余備份策略是提高服務(wù)性能較好的策略。在圖5中,E(δ(x))的值隨著VM數(shù)量(n)的增加而迅速增加。 總的來說,上面兩個實(shí)驗(yàn)說明了安全性對服務(wù)性能的影響,反映了惡意攻擊和安全機(jī)制這兩個安全因素是通過影響虛擬機(jī)的服務(wù)速率和可用虛擬機(jī)的數(shù)量來影響服務(wù)性能的。 因此,通過實(shí)驗(yàn)可知,安全性是服務(wù)性能評估不可或缺的因素。 5?結(jié)語 針對云環(huán)境缺乏安全性評估這一問題,本文提出了用分層建模方法和定義安全性性能關(guān)聯(lián)指標(biāo)來研究安全性(惡意攻擊和安全機(jī)制)對服務(wù)性能的影響。所提出的建模方法通過兩個關(guān)鍵因素(VM的數(shù)量和服務(wù)速率)建立了安全性和服務(wù)性能之間的連接。實(shí)驗(yàn)結(jié)果驗(yàn)證了所提出的建模方法的正確性,還獲得了如下結(jié)論:1)當(dāng)CCS面臨嚴(yán)重的安全問題時,冗余是提高服務(wù)性能最簡單、最可行的方法。 2)高安全性并不總是最佳選擇。 3)當(dāng)資源量有限時,服務(wù)性能和安全性之間是反相關(guān)的;當(dāng)資源量充足時,服務(wù)性能和安全性之間是正相關(guān)的。未來可以將該建模方法進(jìn)一步應(yīng)用到調(diào)度算法的設(shè)計(jì)中去,以提升系統(tǒng)的服務(wù)性能。 參考文獻(xiàn)(References) [1]?GONZALES D, KAPLAN J M, SALTZMAN E, et al. Cloudtrust — a security assessment model for Infrastructure as a Service (IaaS) clouds[J]. IEEE Transactions on Cloud Computing, 2017, 5(3): 523-536. [2]LIU L, WANG A, ZANG W, et al. Shuffler: mitigate crossVM sidechannel attacks via hypervisor scheduling[C]// Proceedings of the 2018 International Conference on Security and Privacy in Communication Systems, LNICST 254. Berlin: Springer, 2018: 491-511. [3]SCHWARTZ M J. New virtualization vulnerability allows escape to hypervisor attacks[J]. Information Week Security, 2012, 4(2013): 12. [4]SINGH N, SINGH A K. SQLinjection vulnerabilities resolving using valid security tool in cloud[J]. Pertanika Journal of Science & Technology, 2019, 27(1):159-174. [5]LI P, LI J, HUANG Z, et al. Privacypreserving outsourced classification in cloud computing[J]. Cluster Computing, 2018, 21(1): 277-286. [6]HWANG K, BAI X, SHI Y, et al. Cloud performance modeling with benchmark evaluation of elastic scaling strategies[J]. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(1): 130-143. [7]CAO J, HWANG K, LI K, et al. Optimal multiserver configuration for profit maximization in cloud computing[J]. IEEE Transactions On Parallel and Distributed Systems, 2013, 24(6): 1087-1096. [8]HWANG K, SHI Y, BAI X. Scaleout vs. scaleup techniques for cloud performance and productivity[C]// Proceedings of the 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. Piscataway:IEEE, 2014: 763-768. [9]ZAMAN S, ADAMS B, HASSAN A E. Security versus performance bugs: a case study on FireFox[C]// Proceedings of the 8th Working Conference on Mining Software Repositories. New York:ACM, 2011: 93-102. [10]BATISTA B G, FERREIRA C H G, SEGURA D C M, et al. A QoSdriven approach for cloud computing addressing attributes of performance and security[J]. Future Generation Computer Systems, 2017, 68: 260-274. [11]ALIA M, LACOSTE M, HE R, et al. Putting together QoS and security in autonomic pervasive systems[C]// Proceedings of the 6th ACM Workshop on QoS and Security for Wireless and Mobile Networks. New York:ACM, 2010: 19-28. [12]WANG Y, LIN C, LI Q. Performance analysis of email systems under three types of attacks[J]. Performance Evaluation, 2010, 67(6): 485-499. [13]LOMBARDI F, DI PIETRO R. Secure virtualization for cloud computing[J]. Journal of Network and Computer Applications, 2011, 34(4): 1113-1122. [14]ARSHAD J, TOWNEND P, XU J. Quantification of security for compute intensive workloads in clouds[C]// Proceedings of the 15th International Conference on Parallel and Distributed Systems. Piscstaway: IEEE, 2009: 479-486. [15]OZKAN S. CVE details: the ultimate security vulnerabiltiy data source[EB/OL]. [2018-09-10]. https://www.cvedetails.com/cve/CVE-2007-4593/ [16]KREIDL O P. Analysis of a Markov decision process model for intrusion tolerance[C]// Proceedings of the 2010 International Conference on Dependable Systems and Networks Workshops (DSNW). Piscstaway:IEEE, 2010: 156-161. [17]MADAN B B, GOGEVAPOPSTOJANOVA K, VAIDYANATHAN K, et al. Modeling and quantification of security attributes of software systems[C]// Proceedings of the 2002 International Conference on Dependable Systems and Networks. Piscstaway: IEEE, 2002: 505-514. [18]XU F, LIU F, JIN H. Heterogeneity and interferenceaware virtual machine provisioning for predictable performance in the cloud[J]. IEEE Transactions on Computers, 2016, 65(8): 2470-2483. [19]ZHU Z, DONG S, YU C. A text hybrid clustering algorithm based on HowNet semantics[J]. Key Engineering Materials, 2011,474/475/476:2071-2078. This work is partially supported by the National Natural Science Foundation of China (61602094). XU Han, born in 1990, Ph. D. candidate. His research interests include cloud computing, system modeling. LUO Liang, born in 1980, Ph. D., lecturer. Her research interests include cloud computing, energy modeling, system modeling. SUN Peng, born in 1979, Ph. D., lecturer. Her research interests include cloud computing, autonomic computing, intelligent scheduling. MENG Sa, born in 1987, Ph. D. candidate. His research interests include cloud computing, resource scheduling.