摘 要: 針對云計算與終端應用程序的互動瓶頸,提出了一種強耦合網(wǎng)絡代理模型,它可以加速云計算與應用程序的交流。還提出了一種云安全分析算法,該算法根據(jù)統(tǒng)計學原理和預先登記的網(wǎng)絡異常條件,設定其危害指數(shù),對所有經(jīng)過的網(wǎng)絡數(shù)據(jù)進行過濾,對不安全信息進行識別報警。模擬設置了云計算網(wǎng)絡環(huán)境,仿真實現(xiàn)了強耦合網(wǎng)絡代理模型和云安全分析算法,實驗表明,該模型可明顯降低云計算與終端應用程序的響應延遲時間,云安全算法識別率高達99.37%,誤報率低至0.979%。
關鍵詞: 云計算;強耦合;代理網(wǎng)絡;危害指數(shù)
隨著并行計算、分布式計算和網(wǎng)格計算的發(fā)展,一種新型的計算方式——云計算(Cloud Computing)成為IT業(yè)內(nèi)討論的焦點。云計算指的是Internet上作為服務提供的應用以及部署在數(shù)據(jù)中心的提供這些服務的軟件和硬件。這些服務被稱為SaaS(Software as Service),軟件即服務。數(shù)據(jù)中心的軟件及硬件就是所謂的“云”。
Sun、IBM、微軟、Google、Amazon等信息業(yè)巨頭都已經(jīng)參與到云計算的研究和開發(fā)中。Sun公司在2006年推出了基于云計算理論的“黑盒子”計劃,已進入發(fā)售階段[1]; IBM推出的“藍云”計劃[2-3];較為顯著的是Google公司專門針對Web應用而設計的AppEngine[4]。同時,學術界也紛紛對云計算進行深層次的研究。例如谷歌與華盛頓大學和清華大學合作,啟動云計算學術合作計劃,推動云計算的普及,加緊對云計算的研究。我國的計算機研究人員遠在“云計算”這個名詞提出之前就有透明計算[5-6]的構(gòu)思。透明計算體現(xiàn)了云計算的特征,即資源池動態(tài)的構(gòu)建、虛擬化、用戶透明等。較近的研究有探討云計算理論及其關鍵技術等[7-8]。
云計算中的許多應用需即時互動響應終端應用程序的上傳、下載數(shù)據(jù)請求,這會導致嚴重的性能瓶頸,而且云計算的安全問題亦十分嚴峻。本文提出一種強耦合網(wǎng)絡代理模型以解決云計算固有的互動模式瓶頸,同時提出一種新的基于強耦合網(wǎng)絡代理模型的云安全分析算法。
1 強耦合網(wǎng)絡代理模型
Google的實踐表明,用廉價服務器組成的大規(guī)模集群,在可靠性、穩(wěn)定性和計算能力上,均能達到大型計算機的標準。也就是說,對于Google每天需要處理的海量數(shù)據(jù)和復雜計算,在保證系統(tǒng)延展性和良好運行效率的基礎上,都可以通過架構(gòu)在廉價集群之上的云計算平臺得以實現(xiàn)。在這個由近百萬臺廉價服務器組成的集群中,就單臺機器而言,性能并不出眾,但由它們構(gòu)建起來的整個網(wǎng)絡所能提供的數(shù)據(jù)存儲能力和計算能力卻大得驚人[9-10]。
然而,這樣的云計算平臺在其面向終端應用程序的互動中所產(chǎn)生的瓶頸會嚴重影響整個系統(tǒng)的性能。尤其是高峰時段更會給整個系統(tǒng)帶來嚴重的危機。為解決此問題,本文提出了一種強耦合網(wǎng)絡代理模型。
1.1 代理網(wǎng)絡模型
代理網(wǎng)絡模型是基于云計算的服務(泛指大規(guī)模的數(shù)據(jù)、計算或服務資源,提供給最終用戶和應用程序),通過強耦合代理網(wǎng)絡連接設置,有三個重要組成部分:云服務、代理網(wǎng)絡及應用程序啟動器,其模型如圖1所示。例如云服務S1可能是一個大型國際互聯(lián)網(wǎng)的服務(如Google地圖等),云服務S2則可能是提供的數(shù)據(jù)依賴計算機的計算資源(如亞馬遜EC2[11]),云服務Sn可能是提供專業(yè)化的服務,或被其他應用程序使用的服務。節(jié)點A、B、C、D、E、F、G是代理節(jié)點,而P是一個使用云服務的應用程序啟動器。
代理網(wǎng)絡是由一組邏輯節(jié)點相連而成,圖1中的實線代表代理節(jié)點之間及代理與云服務之間的相互作用,虛線表示云服務之間的相互邏輯作用。此代理模型可以提高分布式密集型數(shù)據(jù)應用程序的性能和可靠性。其表現(xiàn)如下:(1)與云服務的互動。代理可作為客戶端訪問云服務,這可以使代理以更好的網(wǎng)絡連接去訪問一個或多個云服務。如一個代理節(jié)點能以比客戶端高得多的帶寬訪問云服務。(2)計算。代理可以通過數(shù)據(jù)處理器對數(shù)據(jù)進行過濾、壓縮、合并、采集和轉(zhuǎn)換等。(3)緩存。代理可以高效存儲傳送數(shù)據(jù)到其他節(jié)點,也可以緩存可能被云服務重用的即時數(shù)據(jù)。(4)路由。代理可以作為應用程序流程的一部分傳遞數(shù)據(jù)至另一個代理。這很重要,因為應用程序與多個廣泛分布的云之間的相互作用需要統(tǒng)一有效的管理安排。而代理的真正優(yōu)勢在于這些角色的聯(lián)合作用。如一個自瘦客戶網(wǎng)絡連接到PDA上,可利用高帶寬的代理與云服務的相互作用獲取大量輸出數(shù)據(jù),并利用其強大的計算能力來處理數(shù)據(jù)。
應用程序啟動器(圖1中的P)是代理網(wǎng)絡中的一個節(jié)點,可代表應用程序,可以是終端用戶機,或工作調(diào)度等。它決定著應用程序的控制點和最終的資源分配。值得注意的是,終端用戶不一定一直作為應用程序啟動器,也可以將代理網(wǎng)絡中的其他控制點作為啟動器。代理網(wǎng)絡中也可以有很多應用程序啟動節(jié)點,并且一個節(jié)點此時作為啟動節(jié)點,在另一時刻也可能會作為普通代理節(jié)點。
1.2 強耦合的含義
代理網(wǎng)絡模型可加速提高其上應用程序的性能。模型中的每個實體都有其特殊的作用。其中,應用程序啟動器最適合保存私有數(shù)據(jù),是用于執(zhí)行應用程序的邏輯控制點;代理網(wǎng)絡的特別優(yōu)勢在于,在不同的網(wǎng)絡位置能提供最好的網(wǎng)絡資源;云服務是提供數(shù)據(jù)支持和保持資源共享的強大性能保證。而這三者在整個模型中以強耦合方式聯(lián)系,故強耦合在此的含義是指一個處理單元的輸出會受另一個單元的影響。分布式應用程序即是應用程序啟動器、代理網(wǎng)絡和云服務這三個實體的耦合。如圖1中應用程序調(diào)用兩個云服務(S1和S2),經(jīng)由數(shù)據(jù)處理器(如下面的分析過濾器等)實現(xiàn)過濾、壓縮、合并、采集和轉(zhuǎn)換等,然后用它們的中間數(shù)據(jù)作為輸入到S3產(chǎn)生終端數(shù)據(jù)輸出。代理A和B用來加快這一過程。A平行調(diào)用S1、S2處理輸出,并發(fā)送數(shù)據(jù)給調(diào)用S3的代理B。而代理A和B是由P根據(jù)它們到S1、S2和S3的網(wǎng)絡性能而選擇的。
現(xiàn)有云服務的互動模式?jīng)Q定了如果終端用戶應用程序資源受限,瓶頸問題將更加嚴重。而該模型可提高云計算中分布式數(shù)據(jù)密集型應用的性能和可靠性:能更有效地實現(xiàn)云服務的互動,如可以使云服務到客戶端擁有更高的帶寬;代理網(wǎng)絡還兼有緩存、路由和強大的計算功能。以上這些保證了云服務與終端應用程序的交流互動高速而有效。
2 云安全分析算法
2.1 云安全分析處理器
強耦合網(wǎng)絡代理模型通過利用低延遲和高帶寬連接提供了可擴展資源,有利于云服務與終端用戶的互動,提高云服務與終端應用程序的交流速度(這些將通過后面的實驗予以驗證),同時也不免令人擔心置入這樣一個代理網(wǎng)絡,是否會給本就不令人放心的云計算的數(shù)據(jù)帶來更大的安全隱患?
云服務與終端用戶互動的加強、交流速度的加快會給云計算的安全帶來很大壓力。云計算是以數(shù)據(jù)為中心的,這意味著數(shù)據(jù)被轉(zhuǎn)移到了用戶不可控制的范圍,如何確保這些數(shù)據(jù)的安全(包括訪問控制、入侵防御、反異常部署、防止內(nèi)部數(shù)據(jù)泄密和網(wǎng)絡內(nèi)容與行為監(jiān)控等)是急需解決的問題(曾有2010年是云計算安全年的說法[12-13])。為此,本文嘗試在圖1的云服務及強耦合網(wǎng)絡代理之間加入一個如圖2所示的云安全分析器。期望給云計算的數(shù)據(jù)安全帶來一定保證,以使得代理網(wǎng)絡在帶來高性能的同時也同樣具有安全性。
事先需要把大量的非法的需過濾的條件登記在系統(tǒng)中,云安全分析處理器預先處理這些異常條件登記,當源源不斷的新數(shù)據(jù)到達時,處理器即對其進行實時處理。如果滿足先前定義的異常條件,則把這個新數(shù)據(jù)送給非法結(jié)果處理器;如果不滿足,則將合法的新數(shù)據(jù)輸出。
2.2 異常條件登記
在上面的安全分析器中,異常條件的設定很關鍵。本分析器的理論基礎是根據(jù)統(tǒng)計學原理,認為存在這樣的關鍵字集,即在異常數(shù)據(jù)和正常數(shù)據(jù)樣本中的出現(xiàn)頻率有明顯差異。關鍵字集在異常數(shù)據(jù)樣本中的出現(xiàn)頻率很高,而在正常數(shù)據(jù)樣本中的出現(xiàn)頻率相對很低,具有明顯差異。而且出現(xiàn)較多的關鍵詞大多都具有普遍意義,是異常數(shù)據(jù)行為不可缺少和不可替代的,也就是說,只要準確獲取了文本分析的關鍵字,異常文本的制造者就無法通過替代或者其他方式使異常躲過檢測。
異常條件是依據(jù)數(shù)據(jù)中關鍵字的危害指數(shù)而選取的。通過大量的實驗積累,根據(jù)關鍵字本身的破壞能力和關鍵字在異常數(shù)據(jù)樣本中出現(xiàn)的頻率給出危害指數(shù)的公式:
其中,w(i)為關鍵字自身原始具有的行為危害指數(shù),會因與其他關鍵字結(jié)合而影響;n為匹配次數(shù)。H的收斂區(qū)域為2×w(i),即任意一個關鍵字在檢測時所帶來的行為危害指數(shù)不會小于其自身原始的行為危害指數(shù),同時也不會大于其本身原始的行為危害指數(shù)的兩倍。
2.3 云安全分析算法實現(xiàn)及分析
算法描述如下:已知X個正常數(shù)據(jù)樣本,Y個異常數(shù)據(jù)樣本,通過對所有數(shù)據(jù)樣本的有效關鍵字進行統(tǒng)計學習,從而得到這些關鍵字的統(tǒng)計數(shù)值,找出在正常數(shù)據(jù)樣本與異常數(shù)據(jù)樣本中出現(xiàn)頻率差異較大的i個關鍵字,記錄其頻率和危害指數(shù)等屬性的一般規(guī)律后,對未知的待檢測數(shù)據(jù)樣本,統(tǒng)計這i個關鍵字及其屬性,將統(tǒng)計結(jié)果與事先得到的基于樣本的統(tǒng)計學習結(jié)果進行對比,由此來判別待測數(shù)據(jù)樣本是否為異常數(shù)據(jù)樣本。
假設有x個正常樣本,y個異常樣本。wx(i)表示第i個關鍵字在正常數(shù)據(jù)樣本中的出現(xiàn)次數(shù),wy(i)表示第i個關鍵字在異常數(shù)據(jù)樣本中的出現(xiàn)次數(shù),w(i)為第i個關鍵字的行為危害指數(shù),B(i)為第i個關鍵字本身具有的危害指數(shù),H為檢驗中的危害指數(shù)總和,ρ為閾值調(diào)整參數(shù),t為中間變量。算法實現(xiàn)過程如圖3所示。
而算法中的報警閾值和匹配的關鍵字個數(shù)與匹配的危害組有關??紤]到整體選定的關鍵字個數(shù)和其所在的組可以得到它的歸一化系數(shù):
其中ρ為閾值調(diào)整系數(shù),用它來確定正常數(shù)據(jù)樣本與異常的邊界范圍。
本算法是基于不同的關鍵字在正常數(shù)據(jù)樣本和異常數(shù)據(jù)樣本中出現(xiàn)的頻率差異,通過計算這些關鍵字在待測數(shù)據(jù)樣本中的出現(xiàn)頻率及其他統(tǒng)計信息,判斷待測數(shù)據(jù)樣本是否為異常數(shù)據(jù)樣本,反映了異常數(shù)據(jù)樣本與正常數(shù)據(jù)樣本在關鍵字出現(xiàn)的頻率和行為特性上的特征。該特征不僅存在于己知的異常數(shù)據(jù)樣本中,也存在于未知數(shù)據(jù)樣本中。而且該算法也可單獨用于網(wǎng)絡數(shù)據(jù)安全監(jiān)控,只是由于其統(tǒng)計信息的特點,更適合具有大量密集型分布應用程序的云計算系統(tǒng),只有在云計算中方更能顯示其優(yōu)勢。
同類的基于統(tǒng)計學的關于數(shù)據(jù)安全方向研究有RABEK J C.等對可執(zhí)行程序中的系統(tǒng)調(diào)用進行統(tǒng)計分析,來檢測動態(tài)生成的變種惡意代碼[14];BHATTACHARYYA M等則針對通過Email傳播的惡意代碼構(gòu)建了一個實驗系統(tǒng),其主要思想也是統(tǒng)計分析[15];基于統(tǒng)計的理論在入侵檢測中也有過一些應用[16]。但它們的初始應用均是普通網(wǎng)絡,適用于云計算的報道較少見,而國內(nèi)同類相關研究成果尚不多見。
首先評估網(wǎng)絡差異(如延遲、帶寬等)在多大程度上影響代理節(jié)點與現(xiàn)有云服務的部署,這將決定著云服務與客戶端之間的代理網(wǎng)絡模型是否有價值。
在具體操作時,先廣泛收集25個不同商業(yè)網(wǎng)絡服務加入云任務列表,每次代理網(wǎng)絡通過檢測獲取一個非常小的文件的時間來記錄每一個服務的響應延遲時間。隨機抽樣6個節(jié)點,并且每個節(jié)點取5次實驗的平均值,作出其最高響應時間、最低響應時間及平均響應時間曲線;針對同樣的25個云服務,獲取同樣的文件來記錄未使用代理網(wǎng)絡響應的延遲時間,作出響應時間曲線,如圖5所示。
實驗結(jié)果表明,不管網(wǎng)絡核心帶寬多么豐富,網(wǎng)絡節(jié)點仍會隨不同的云服務而顯示出差異,而具有較好連接的代理節(jié)點其響應時間有更大差異,但其響應時間的均值相對其他節(jié)點偏低。同時,使用強耦合代理網(wǎng)絡比不使用代理網(wǎng)絡有明顯較低的響應延遲時間。
通過觀察關鍵字個數(shù)、識別率、誤報率和閾值等參數(shù)來考察云安全分析算法的性能。實驗選取了40個病毒樣本作為異常樣本,這些樣本經(jīng)諾頓和360等病毒識別軟件識別,并經(jīng)實際的病毒執(zhí)行測試確定。正常樣本同樣采用之前25個商業(yè)網(wǎng)站的客戶端腳本,同樣經(jīng)病毒識別軟件識別和實際執(zhí)行測試。從以上異常、正常樣本中選取可靠特征作為關鍵字。
由圖7分析得出,在隨機選取的測試樣本中,正常腳本的誤報集中在閾值的0.6倍和1.4倍左右。特別是當閾值取0的時候,得到了32%的誤報率,這說明抽取的大多數(shù)樣本中并不存在這些關鍵字。另外,算法中的閾值最終取1.6倍,因為此時誤報與漏報都處于最小,此時漏報率為1.63%,即識別率高達98.37%。但在某些網(wǎng)絡環(huán)境中,為提高可信指數(shù)可略微增大閾值系數(shù)。
云計算日趨發(fā)展壯大,但其中存在的問題亦不容忽視,在云服務與終端應用程序的互動中所產(chǎn)生的瓶頸會嚴重影響整個系統(tǒng)的性能,尤其是高峰時段更會給整個系統(tǒng)帶來嚴重的危機。本文提出的強耦合網(wǎng)絡代理模型二者之間做了很好的緩存、調(diào)度、計算、路由等工作,仿真實驗證明了模型的多功能多角色的作用大大降低了網(wǎng)絡響應的延遲時間。而基于統(tǒng)計學原理的云安全分析算法根據(jù)正常數(shù)據(jù)中文本代碼的危害指數(shù)與異常代碼出現(xiàn)的頻率,從而過濾不安全信息,它不但能對經(jīng)過數(shù)據(jù)進行檢測,而且可以根據(jù)統(tǒng)計規(guī)律對未來數(shù)據(jù)中可能的出現(xiàn)的新的異常進行識別。實驗對異常數(shù)據(jù)的識別率高達98.37%,而誤報率雖然隨報警閾值系數(shù)ρ增大而增加,但均在合理可接受范圍內(nèi)。該算法的缺點是主要針對網(wǎng)絡內(nèi)容監(jiān)控,如病毒入侵等,而對于訪問控制及防止內(nèi)部數(shù)據(jù)泄密的效果不明顯,這有待進一步的研究。
參考文獻
[1] Sun的黑盒子—移動數(shù)據(jù)中心.http://www.biia.org.cn/a/jishushebei/20091222/821.html,2007.
[2] SIMS K. IBM introduces ready-to-use cloud computing collaboration services get clients started with cloud computing. http://www-03.ibm.com/press/us/en/pressrelease/22613.wss, 2007.
[3] IBM. IBM virtualization. http://www.ibm.com/virtualization,2009.
[4] 蔡鍵,王樹梅.基于Google的云計算實例分析[J].網(wǎng)絡通訊及安全,2009(9):7093-7095.
[5] Zhang Yaoxue, Zhou Yuezhi. 4VP+: a novel meta OS approach for streaming programs in ubiquitous computing[C]. Proceedings of IEEE the 21st Int’l Conference. on Advanced Information Networking and Applications(AINA 2007), Los Alamitos: IEEE Computer Society, 2007:394-403.
[6] Zhang Yaoxue, Zhou Yuezhi. Transparent computing: a new paradigm for pervasive computing[C]. Proceedings of the 3rd Int’l Conference. on Ubiquitous Intelligence and Computing(UIC 2006).Berlin, Heidelberg: Springer-Verlag, 2006,4159:1-11.
[7] 陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009(9):2562-2567.
[8] 陳濤.云計算理論及技術研究[J].重慶交通大學學報(社科版),2009(8):104-106.
[9] 孫健,賈曉菁.Google云計算平臺的技術架構(gòu)及對其成本的影響研究[J].電信科學,2010(1):38-43.
[10] 陳康,鄭緯民.云計算:系統(tǒng)實例與研究現(xiàn)狀[J].軟件學報,2009(5):1338-1347.
[11] Ec2/s3. http://aws.amazon.com.
[12] 陳怡樺.2010年云端安全年.http://domynews.blog.ithome.com.tw/post/1252/67523,2010.
[13] 樂天.云計算還須邁過安全關[J].計算機世界,2008(7):39.
[14] RABEK J C, KHAZAN R I,LEWANDOWSKI S M, et al. Detection of injected, dynamically generated and obfuscated malieiouso code[J]. Proceedings of the 2003 ACM Workshop on Rapid Malcode, Washington,DC,USA. 2003:76-82.
[15] BHATTAEHARYYA M. An experimental system for malieious email traeking. http://www.linkedin.com/pub/manasi bhattacharyya/4/968/A60, 2002.
[16] WAENER D, DEAN R. Intrusion detection via static analysis[C]. Proceedings of the IEEE Symposiums on Security and Privacy, 2001:156-168.