專利名稱:一種云計算環(huán)境下的隱蔽通信方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全技術(shù)領(lǐng)域,尤其涉及一種云計算環(huán)境下的隱蔽通信方法,實現(xiàn)了機密信息的隱蔽傳輸。
背景技術(shù):
云計算是一種全新的互聯(lián)網(wǎng)服務(wù)模式,為云客戶提供安全可靠、可動態(tài)調(diào)整的計算資源服務(wù)。典型的云架構(gòu)分為基礎(chǔ)設(shè)施層、平臺層和應(yīng)用層,虛擬化技術(shù)為其提供了計算資源的可伸縮性、可用性和基于數(shù)據(jù)隔離保障的安全性。數(shù)據(jù)保護是云計算面臨的首要安全問題。如何保障客戶數(shù)據(jù)不被泄漏,是云計算以及虛擬化技術(shù)的關(guān)鍵。虛擬化技術(shù)固有的隔離性為客戶數(shù)據(jù)提供了一定程度的保護;同時安全研究人員也提出多種安全策略技術(shù)以實現(xiàn)更高強度的訪問控制保障。例如,在Xen(Paul Barham,Boris Dragovic,Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. Xen and the art of virtualization. SOSP' 03, Bolton Landing, New York, USA. 2003 164-177.)虛擬平臺中,sHype實現(xiàn)了 Chinese Wall和Type Enforcement等強制訪問控制策略來保證數(shù)據(jù)的機密性;Lares、HyperSentry、HyperSafe等機制實現(xiàn)了基于虛擬機監(jiān)控器的完整性保護。在安全策略的保障下,同一硬件平臺上的多個虛擬機之間可以通過共享硬件資源進行授權(quán)通信。然而,機密信息能夠以授權(quán)通信為載體,實現(xiàn)隱蔽傳輸,在無法察覺的情況下,實現(xiàn)對系統(tǒng)的安全審計和電子取證。2009 年,Thomas 等石if究人員(Thomas Ristenpart,Eran Tromer,Hovav Shacham, Stefan Savage. Hey, you, get off of my cloud-exploring information leakage in third-party compute clouds. CCS,09,Chicago, Illinois, USA. 2009 :199_212.)指出云計算環(huán)境下不同虛擬機之間的進程只要存在硬件資源共享就可能導(dǎo)致隱蔽通信??赡鼙焕玫墓蚕碣Y源包括網(wǎng)絡(luò)接口、CPU分支預(yù)測表、指令Cache、內(nèi)存總線、CPU調(diào)度器、CPU時間片、硬盤接口等。Thomas等人在Amazon EC2平臺上實現(xiàn)了基于內(nèi)存總線和硬盤訪問沖突的隱蔽通信方式。對于入侵者來說,通過隱蔽通信方式能夠判定多個虛擬機客戶系統(tǒng)是否運行在同一硬件平臺上,從而為下一步的攻擊做準備。對于系統(tǒng)管理者來說,隱蔽通信能夠用作安全審計和電子取證。2010 年,Okamura 禾口 Oyama(Keisuke Okamura, Yoshihiro Oyama. Load-based covert channels between Xen virtual machines. SAC’ 10.Sierre,Switzerland. 2010 173-180.)深入研究了 Thomas等人提到的基于CPU負載的隱蔽通信方式。入侵者用不同的操作響應(yīng)時間表示不同的信息,通過控制CPU負載影響進程執(zhí)行操作的響應(yīng)時間,從而實現(xiàn)機密信息的隱蔽傳輸。他們的研究側(cè)重于定量地分析該傳輸方式的威脅,當(dāng)云計算平臺存在一個或多個物理CPU時,虛擬CPU對操作的分配會影響信息傳輸?shù)臏蚀_率;以及在存在干擾的情況下,隱蔽通信的效果會降低。2011 ip, (Yinqian Zhang, Ari Juels, Alina Oprea, Michael K. Reiter. HomeAlone Co-Residency Detection in the Cloud via Side-Channel Analysis. IEEES&P 2011. Oakland, USA. 2011 :313_328·)等人深入分析了基于Cache緩存的隱蔽通信方式,類似于基于CPU負載的信息傳輸方式,通過分析Cache緩存的響應(yīng)時間能夠判斷同一硬件平臺上是否有其他的虛擬機存在。對于在云計算平臺存儲關(guān)鍵業(yè)務(wù)數(shù)據(jù)的云客戶,如果其系統(tǒng)部署方案被同一硬件平臺的競爭客戶發(fā)現(xiàn),后果將會非常嚴重。云計算平臺不同于傳統(tǒng)的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)和服務(wù)器平臺,云客戶數(shù)據(jù)部署和存儲在客戶不具有完全控制權(quán)力的動態(tài)平臺中,安全問題成為限制云計算發(fā)展和普及的關(guān)鍵問題。雖然通過部署安全策略,配置私有云、公有云、混合云可以創(chuàng)建靈活實用的云平臺, 但是只要存在硬件資源共享,就不可避免地產(chǎn)生隱蔽通信。隱蔽通信是一柄雙刃劍,入侵者能夠利用它實現(xiàn)針對云計算虛擬化平臺的攻擊;系統(tǒng)管理者能夠利用它進行安全審計和電子取證。因此,云環(huán)境下的隱蔽通信方法對于全面保護系統(tǒng)具有舉足輕重的作用。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有云計算虛擬化平臺,提出一種難以察覺的隱蔽通信方法。使用這種新的通信方法,可以實現(xiàn)同一硬件平臺上,不同虛擬機之間的機密信息傳輸。 該方法可用于云計算平臺安全審計和電子取證,從而保障云計算平臺安全。云計算虛擬化平臺的隱蔽通信包括以下兩個方面。1)云計算環(huán)境下虛擬化平臺的隱蔽通信云計算虛擬化平臺涉及到虛擬機監(jiān)控器、虛擬機、以及虛擬機中獨立的操作系統(tǒng), 其安全特征主要表現(xiàn)為虛擬機的隔離性。隱蔽通信打破虛擬機系統(tǒng)的隔離性,實現(xiàn)了跨虛擬機的機密信息傳輸。針對虛擬機的隱蔽通信本質(zhì)上屬于信息流傳輸,因此需要首先定義虛擬機的信息流模型和隔離屬性。參考Derming信息流的定義方法,云計算虛擬機(以Xen為例)信息流模型定義為XFM =〈N,P,VM,θ,一 >其中,N= {a, b, ···}是包含用于隱蔽通信的共享邏輯資源的集合;oa= Ia1, a2, ···}表示共享資源對象a的狀態(tài)值集合。在云計算平臺的基于CPU負載和Cache緩存的隱蔽通信途徑中,邏輯資源集合N中的元素分別表示vCPU、Cache緩存等共享資源。在XFM = <N,P,VM,Θ,一 > 中,P 是進程的集合,表示為 P = {ΡΠΡ2,...} ,Dom(Pi), Dom(Pj) e VM,其中VM = (VM1, VM2,…}表示進程所在的虛擬機系統(tǒng)巧和Pj處在同一個虛擬機,表示為Dom(Pi), Dom(P》e VMk, i、j、k分別表示進程序號和虛擬機序號。二元操作符Θ表示進程Pi能夠修改/訪問邏輯對象a,且修改后其值仍滿足其值域,即PiQae oa0 二元關(guān)系操作符一表示信息流自左向右流動,Pi a —PjQb表示進程 Pi通過操作邏輯對象a發(fā)送信息,Pj通過操作邏輯對象b接收信息。通過對虛擬機系統(tǒng)信息流模型的描述,可定義虛擬機的隔離屬性,其形式化模型為 Va e Ν,Ρβα = Ρ^(Ρβα)該模型表示對于任意的邏輯對象a,共享資源操作進程P」無法通過共享資源a的屬性或狀態(tài)推測進程Pi的任何操作,即沒有信息流從Pi到Pp表示為P,H。在云計算環(huán)境中,隱蔽通信方法違反了系統(tǒng)的隔離性。因此,云計算虛擬機的隱蔽通信模型定義為3a e Ν,Ρβα Sec >Pj b其中表示云計算虛擬機系統(tǒng)中部署了安全策略,在該策略下Pi和P」相互隔離(巧/^),操作對象a和b邏輯獨立(在實際系統(tǒng)中,可以是相同的物理資源,例如CPU資源)。Pi和Pj通過修改和訪問邏輯對象a和b的值實現(xiàn)違反隔離性的信息通信,Pi和Pj之間的通信方式即稱為隱蔽通信。2)信息泄露的發(fā)送方和接收方所處的位置虛擬化技術(shù)允許在同一硬件平臺上創(chuàng)建多個獨立虛擬域,分別向用戶提供服務(wù)。 云計算以虛擬化技術(shù)為基礎(chǔ),管理同一硬件平臺和跨硬件平臺的虛擬機邏輯資源。隱蔽通信的潛在途徑包括域內(nèi)隱蔽通信(CCl)、跨平臺隱蔽通信(CC2)和域間隱蔽通信(CC3),隱蔽通信的信息流示意圖如圖1所示。域內(nèi)隱蔽通信CCl屬于進程級通信方式。進程PJPPj處在同一虛擬域(DomU)中, 由于虛擬機提供的強隔離性機制,通信的范圍局限在該虛擬域內(nèi)。DomU中運行獨立的操作系統(tǒng),Pi和P」是處于不同安全級的操作進程,機密信息從高等級進程Pi泄漏到低等級進程 Pj,從而實現(xiàn)進程間的隱蔽通信??缙脚_的隱蔽通信CC2屬于網(wǎng)絡(luò)級通信方式。惡意進程Pk在虛擬機平臺DomU中, Pc是其他硬件平臺上虛擬機或者獨立操作系統(tǒng)中的進程。進程Pk和Px只能通過網(wǎng)絡(luò)連接通信,因此CC2被視為基于網(wǎng)絡(luò)的隱蔽通信。域間信息隱蔽通信CC3屬于系統(tǒng)級通信方式。收發(fā)雙方進程分處同一硬件平臺上不同的虛擬域(DomU)中,機密信息伴隨著操作系統(tǒng)級的授權(quán)操作進行傳輸。CC3類型的隱蔽通信是云計算環(huán)境中特有的新類型,由硬件資源共享導(dǎo)致,如基于CPU負載和Cache緩存的隱蔽通信方式。本發(fā)明的一種云計算環(huán)境下的隱蔽通信方法,其技術(shù)方案如下。典型的信息通信過程包括發(fā)送方和接收方的同步階段、傳輸階段和信息傳輸反饋階段。在同步階段發(fā)送方通知接收端同步傳輸時的相關(guān)信息,包括傳輸周期、編碼方式等; 在傳輸階段,發(fā)送方按照約定的編碼方式將信息有序發(fā)送;在接收方反饋之后,發(fā)送方開啟一個新的傳輸周期;收發(fā)雙方循環(huán)執(zhí)行,直到所有的信息發(fā)送完畢。因此,一種云計算環(huán)境下的隱蔽通信方法包括如下步驟,如圖2所示1)隱蔽通信的收發(fā)雙方約定機密信息發(fā)送編碼及同步機制。信息發(fā)送方進程Pi 與信息接收方進程Pj約定機密信息的編解碼方法,該方法將機密信息編碼為正常數(shù)據(jù)傳輸中的間隔時間特征;2)Pi建立環(huán)形共享內(nèi)存數(shù)據(jù)結(jié)構(gòu)并在授權(quán)表(Xen系統(tǒng)的共享內(nèi)存機制建立在 Domain之間的授權(quán)機制上,即對共享內(nèi)存的訪問需要預(yù)先通過授權(quán),這種授權(quán)機制稱為授權(quán)表機制)中添加授權(quán)項,將授權(quán)引用發(fā)送給信息接收方進程Pp雙方以內(nèi)核模塊的形式將環(huán)形共享內(nèi)存控制驅(qū)動加載到客戶虛擬機內(nèi)核中;3) Pj將共享內(nèi)存映射到自己的內(nèi)存地址空間;4)收發(fā)雙方以生產(chǎn)者/消費者模式在共享內(nèi)存中寫入和讀取包含機密信息的正常數(shù)據(jù);發(fā)送方寫入數(shù)據(jù),而接收方讀取數(shù)據(jù)。5)接收方&根據(jù)讀取的正常數(shù)據(jù)獲得代表機密信息的間隔時間序列,將其解碼為機密信息;6)P」解除共享內(nèi)存映射A回收授權(quán)引用。所述機密信息的約定編解碼方法為A)發(fā)送方Pi將機密信息編碼為二進制字符串;B)用間隔時間Ttl和T1表示二進制編碼中的符號0和1 ;C)發(fā)送方PiS送正常數(shù)據(jù)時,按照機密信息的二進制字符串順序用間隔時間Ttl和 T1控制數(shù)據(jù)的發(fā)送時間;D)接收方P」將發(fā)送間隔時間逆向解析為二進制字符串;E)接收方P」將二進制字符串解碼為機密信息。上述步驟1)約定了收發(fā)雙方的信息泄露編解碼及同步機制,該機制采用了傳輸過程中的時間特征。時間間隔按照長短劃分為兩種類型,分別表示二進制的編碼中的符號 0和1。在更復(fù)雜的信息傳輸,收發(fā)雙方可以采用基于密碼表的多元編碼機制,將要傳輸?shù)臋C密信息編碼成多元字符串。進一步的,發(fā)送方Pi通過前端驅(qū)動向共享內(nèi)存發(fā)送操作請求,接收方Pj通過后端驅(qū)動向共享內(nèi)存發(fā)送操作請求形成環(huán)形共享內(nèi)存結(jié)構(gòu)。所述發(fā)送方Pi將前端驅(qū)動以動態(tài)加載模塊的方式加載到發(fā)送方客戶操作系統(tǒng)內(nèi)核中;接收方P」將后端驅(qū)動以動態(tài)加載模塊的方式加載到接收方客戶操作系統(tǒng)內(nèi)核中。上述步驟3)接收方將共享內(nèi)存映射到內(nèi)核空間。發(fā)送方對于共享內(nèi)存的操作,相當(dāng)于在接收方的內(nèi)核空間直接操作。收發(fā)雙方以生產(chǎn)者/消費者模式共享系統(tǒng)內(nèi)存的方法為3a)發(fā)送方判斷有信息需要寫入到共享內(nèi)存中;3b)發(fā)送方按照發(fā)送隊列和時間向共享內(nèi)存中寫入數(shù)據(jù);3c)接收方讀取共享內(nèi)存數(shù)據(jù),發(fā)送讀取響應(yīng);3d)發(fā)送方處理接收方發(fā)送過來的讀取響應(yīng)。接收方在每個硬件中斷周期(中斷是指計算機在執(zhí)行程序的過程中,當(dāng)出現(xiàn)異常情況或特殊請求時,計算機停止現(xiàn)行程序的運行,轉(zhuǎn)向?qū)@些異常情況或特殊請求的處理, 處理結(jié)束后再返回現(xiàn)行程序的間斷處,繼續(xù)執(zhí)行原程序。)讀取共享內(nèi)存信息,發(fā)送讀取響應(yīng);發(fā)送方向共享內(nèi)存寫入數(shù)據(jù)時需要與步驟4)相配合,將機密信息編碼成二進制字符串后,在發(fā)送過程中,根據(jù)相應(yīng)的發(fā)送隊列和時間間隔向內(nèi)存中寫入數(shù)據(jù)。
上述步驟5)中根據(jù)正常數(shù)據(jù)的發(fā)送時間獲得間隔時間特征的方法為接收方讀取正常數(shù)據(jù)寫入內(nèi)存的時間戳;接收方計算兩次寫入的時間間隔;按發(fā)送時間順序形成時間間隔序列,該序列作為解碼源。計算發(fā)送方向內(nèi)存寫入的時間戳,計算兩次寫入之間的時間間隔,并保存作為解碼源。所述發(fā)送方P」和接收方P」位于同一云計算虛擬化硬件平臺的不同虛擬機中。所述機密信息包含有雙方約定好的起始和截止標(biāo)志。上述步驟6)接收方接收完所有的信息之后。對于得到的所有的時間間隔,接收方根據(jù)事先約定好的起始和截止標(biāo)志,截取表示機密信息內(nèi)容編碼的時間間隔序列進行解碼。起始和截止標(biāo)志內(nèi)的時間間隔序列按照TcZT1和符號0/1的對應(yīng)性,還原成用0/1 表示的二進制字符串,從而進一步轉(zhuǎn)換成發(fā)送方發(fā)送的機密信息字符。上述步驟7)接收方解除共享內(nèi)存映射,發(fā)送方傳輸數(shù)據(jù)結(jié)束后,回收授權(quán)引用。 表示經(jīng)過前面六個步驟,整個隱蔽通信過程結(jié)束。本發(fā)明中設(shè)計的隱蔽通信方法就是利用CC3類型的信息流傳輸方式在同一硬件平臺上不同虛擬機之間的傳輸信息。本發(fā)明針對基于云計算虛擬化平臺,以Xen虛擬機架構(gòu)為例,提出一種隱蔽通信方法。該方法以虛擬機共享內(nèi)存機制為基礎(chǔ),最終能實現(xiàn)信息的隱蔽傳輸。該方法中的信息傳輸雙方處在同一硬件平臺的不同虛擬機之間,在信息傳輸起始階段,首先約定隱蔽傳輸?shù)南嚓P(guān)信息,包括機密信息的編解碼機制等;然后信息發(fā)送方創(chuàng)建環(huán)形內(nèi)存數(shù)據(jù)結(jié)構(gòu)并向接收方發(fā)送授權(quán)引用,允許接收方使用該共享內(nèi)存;接收方將該共享內(nèi)存映射到自己的內(nèi)核空間;發(fā)送方按照機密信息編碼后的時間序列控制發(fā)送正常數(shù)據(jù)的時間,接收方接受數(shù)據(jù)并記錄內(nèi)存寫入時間,收發(fā)雙方以生產(chǎn)者/消費者模式生產(chǎn)和消費共享內(nèi)存的請求和響應(yīng);當(dāng)所有的正常數(shù)據(jù)發(fā)送完成之后,接收方解除映射,發(fā)送方回收授權(quán);發(fā)送方按照事先的同步約定獲取代表機密信息二進制編碼的時間間隔序列,并解碼成相應(yīng)的機密信息字符串。在整個信息傳輸過程中,機密信息在沒有修改內(nèi)存數(shù)據(jù)和無法察覺的情況下從一個虛擬機傳輸?shù)搅硪粋€虛擬機中。使用該隱蔽傳輸方法,能夠突破虛擬機系統(tǒng)現(xiàn)有的完整性及其相關(guān)的安全機制,實現(xiàn)跨虛擬機的信息隱蔽傳輸,可以用于安全審計和電子取證,對于全面保護云計算平臺具有舉足輕重的作用。
圖1是云計算環(huán)境中典型的隱蔽通信途徑圖;圖2是本發(fā)明的云計算環(huán)境下的隱蔽通信方法的流程示意圖;圖3是基于生產(chǎn)者/消費者的共享系統(tǒng)內(nèi)存模式的方法流程圖;圖4是基于共享內(nèi)存的隱蔽通信的示例圖。
具體實施例方式下面結(jié)合附圖,通過實施例對本發(fā)明作進一步說明,但不以任何方式限制本發(fā)明的范圍。本發(fā)明是一種針對云計算虛擬化平臺的隱蔽通信方法,總體流程如圖2所示,以對Xen虛擬機的攻擊為例,具體包括1)發(fā)送方Pi和接收方P」約定機密信息傳輸?shù)木幋a機制和同步機制。約定信息包括機密信息發(fā)送起始/終止標(biāo)識符Sstmt和Smd,以及機密信息的二進制編碼方式,并用Ttl 和T1分別表示二進制符號0和1且Ttl < T1,如圖4所示。在本示例中,Sstot和Smd分別用 ‘11110000 ’表示,即當(dāng)首次出現(xiàn)‘ 11110000 ’時,傳輸過程開始,再次出現(xiàn)‘ 11110000 ’時,傳輸過程結(jié)束。2)Pi建立環(huán)形共享內(nèi)存數(shù)據(jù)結(jié)構(gòu)并在授權(quán)表中添加授權(quán)項,將授權(quán)引用發(fā)送給信
8息接收方進程IV如下代碼中,1-12行分別定義了請求和響應(yīng)的數(shù)據(jù)結(jié)構(gòu),第14行將該數(shù)據(jù)結(jié)構(gòu)封裝成請求環(huán)和響應(yīng)環(huán),15-21行定義了頁面信息頁,其中包括授權(quán)符gref和環(huán)形共享內(nèi)存ring,發(fā)送方Pi可向內(nèi)寫入數(shù)據(jù)。在Xen的共享內(nèi)存機制中,發(fā)送方將共享內(nèi)存驅(qū)動加載到內(nèi)核中并將授權(quán)符傳遞給接收方,等待接收方響應(yīng)。1.struct as—request{
2.unsigned int id ;/水private guest value, echoed in resp水/
3.unsigned int status ;
4.unsigned int operation ;
5.char data ;
6.ι ;
7.struct as—response{
8.unsigned int id ;/水copied from request水/
9.unsigned int status ;
10.unsigned int operation ;/水copied from request水/
11.char data ;
12·};
13.//The following makesthe as_sring, as_back_ring, as_back_ring"types"
14 DEFINE_RING—TYPES(as, struct as—request, struct as—response);
15.struct info_t{
16.int irq ;
17.int gref ;
18.int remoteDomain ;
19.int evtchn ;
20.struct as—back—ring ring ;
21.}info ;
3)接收方將共享內(nèi)存驅(qū)動加載到內(nèi)核中,并將共享內(nèi)存映射到自己的內(nèi)存地址空
間。如下代碼中1-14行創(chuàng)建環(huán)形內(nèi)存數(shù)據(jù)結(jié)構(gòu),15-20行中創(chuàng)建內(nèi)存信息頁,其中g(shù)ref為頁面授權(quán)引用取值由發(fā)送方指定,第16行的ring結(jié)構(gòu)為環(huán)形共享內(nèi)存,接收方Pj可以讀取共享內(nèi)存中的數(shù)據(jù)。收發(fā)雙方以生產(chǎn)者/消費者模式操作共享系統(tǒng)內(nèi)存。1. struct as—request {2. unsigned int id;/氺 private guest value, echoed in resp 氺 /3. unsigned int status ;4. unsigned int operation ;5. char data ;6·};7. struct as—response {8. unsigned int id;/氺 copied from request 氺 /9. unsigned int status ;
10.unsigned int operation ;/氺copied from request氺/11. char data ;12. };13. //The following makesthe as_sring, as_back_ring, as_back_
ring" types14. DEFINE_RING_TYPES(as, struct as_request, struct as_response);15. struct info_t {16.struct as_front_ring ring ;17. grant_ref_t gref ;18. int irq ;19. int port ;20. } info ;4)發(fā)送方Pi將機密信息編碼成二進制字符串表示,然后根據(jù)得到的發(fā)送時間間隔序列填充共享內(nèi)存,發(fā)送正常數(shù)據(jù)。本示例中,假設(shè)待發(fā)送的信息內(nèi)容為“sensitive message”,首先對其進行二進制編碼,編碼后的結(jié)果表示如下‘011100110110010101101110 01110011011010010111010001101001011101100110010100100000011011010110010101110 01101110011011000010110011101100101,,對應(yīng)的時間序列為 iTciT1T1T1TciTciT1T1TJ1T1TJtlT1T OT1T0T1T1T0T1T1T1T0T0T1T1T1T0T0T1T1T0T1T1T0T1T0T0T1T0T1T1T1T0T1T0T0T0T1T1T0T1T0T0T1T0T1T1T1T0T1T1T J0T1T1T0T0T1T0T1T0T0T1T0T0T0T0T0T0T J1T0T1T1T0T1T0T1T1T0T0T1T0T1T0T1T1T1T0T0T1T1T0T1T1T1T0T0T1T1 T0T1T1T0T0T0T0T1T0T1T1T0T0T1T1T1T0T1T1T0T0T1T0T1 ’ 0 每次Pi 向共享內(nèi)存寫入數(shù)據(jù)時,根據(jù)該時間序列,停頓T1或者Ttl時間,從而控制發(fā)送時間間隔。5)在每個中斷周期,Pj處理發(fā)送方請求,得到原始數(shù)據(jù)及其到達時間信息,并計算相應(yīng)的時間間隔序列。6)當(dāng)所有的機密信息發(fā)送完后,Pi繼續(xù)發(fā)送正常數(shù)據(jù)直到所有數(shù)據(jù)發(fā)送過程完成。7) Pd導(dǎo)到所有的原始信息,將時間間隔序列逆向解析為二進制字符串,然后將其解碼成Pi發(fā)送的機密信息。P」計算Satart和Smd之間的所有的時間間隔,并其轉(zhuǎn)換成iTtlT1T
JJoToTJJoTJJoToTJoTJoTJJoTJJJoToTJJJoToTJJoTJJoTJoToTJoTJJJoTJoToToTJJ
OT1T0T0T1T0T1T1T1T0T1T1T0T0T1T1T0T0T1T0T1T0T0T1T0T0T0T0T0T0T J1T0T1T1T0T1T0T1T1T0T0T1T0T1T0T1T1T J0T0T1T1T0T1T1T1T0T0T1T1T0T1T1T0T0T0T0T1T0T1T1T0T0T1T1T1T0T1T1T0T0T1T0T/ ,由于 T0 和 T1 表示符號0和1,因此該時間序列可轉(zhuǎn)換成二進制'011100110110010101101110011100110110100 10111010001101001011101100110010100100000011011010110010101110011011100110110 00010110011101100101,,最終該二進制串可以解碼成發(fā)送方傳遞的機密信息“sensitive message,,。在通信周期完成之后,接收方Pj解除共享內(nèi)存映射。8)發(fā)送方Pi回收授權(quán)引用。9)整個通信過程結(jié)束,信息“sensitive message”附帶在正常的共享內(nèi)存操作中從發(fā)送方虛擬機傳輸?shù)浇邮辗教摂M機。信息泄漏過程中沒有修改共享內(nèi)存的正常數(shù)據(jù),只對時間做了相應(yīng)的控制,因此難以察覺。
//
10
在上述傳輸過程中,為了度量信道容量,定義AT = T1-Ttl為時間間隔差,根據(jù)ΔΤ 的不同取值,隱蔽通信的速度也發(fā)生相應(yīng)的變化,如表1所示。同時由于Xen中存在其他的共享操作,導(dǎo)致解碼過程中會存在一定的錯誤,但是錯誤程度仍在可以接受的范圍內(nèi)。表1.息傳輸速度與解碼錯誤率
權(quán)利要求
1.一種云計算環(huán)境下的隱蔽通信方法,包括如下步驟1)隱蔽通信的發(fā)送方進程Pi與信息接收方進程h約定機密信息的編解碼方法,所述方法將機密信息編碼為正常數(shù)據(jù)傳輸中的間隔時間;2)發(fā)送方Pi建立環(huán)形共享內(nèi)存數(shù)據(jù)結(jié)構(gòu)并在授權(quán)表中添加授權(quán)項,將授權(quán)引用發(fā)送給信息接收方進程IV雙方以內(nèi)核模塊的形式將環(huán)形共享內(nèi)存控制驅(qū)動加載到客戶虛擬機內(nèi)核中;3)接收方P」將共享內(nèi)存映射到發(fā)送方Pi的內(nèi)存地址空間;4)發(fā)送方Pi和接收方P」以生產(chǎn)者/消費者模式在共享內(nèi)存中寫入和讀取包含機密信息的正常數(shù)據(jù);5)接收方h獲得代表機密信息的間隔時間序列,將其解碼為機密信息;6)P」解除共享內(nèi)存映射A回收授權(quán)引用。
2.根據(jù)權(quán)利要求1所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,所述機密信息的約定編解碼方法為A)發(fā)送方Pi將機密信息編碼為二進制字符串;B)用間隔時間T0和T1表示二進制編碼中的符號0和1;C)發(fā)送方Pi發(fā)送正常數(shù)據(jù)時,按照機密信息的二進制字符串順序用間隔時間Ttl和T1 控制數(shù)據(jù)的發(fā)送時間;D)接收方Pj接收正常數(shù)據(jù)后,將正常數(shù)據(jù)的發(fā)送間隔時間逆向解析為二進制字符串;E)接收方h將二進制字符串解碼為機密信息。
3.根據(jù)權(quán)利要求1所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,發(fā)送方Pi通過前端驅(qū)動向共享內(nèi)存發(fā)送操作請求,接收方Pj通過后端驅(qū)動向共享內(nèi)存發(fā)送操作請求形成環(huán)形共享內(nèi)存數(shù)據(jù)結(jié)構(gòu)。
4.根據(jù)權(quán)利要求1所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,發(fā)送方Pi將前端驅(qū)動以動態(tài)加載模塊的方式加載到發(fā)送方客戶操作系統(tǒng)內(nèi)核中;接收方Pj將后端驅(qū)動以動態(tài)加載模塊的方式加載到接收方客戶操作系統(tǒng)內(nèi)核中。
5.根據(jù)權(quán)利要求1所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,收發(fā)雙方以生產(chǎn)者/消費者模式在共享內(nèi)存中寫入和讀取數(shù)據(jù)的方法為a)發(fā)送方判斷有信息需要寫入到共享內(nèi)存中;b)發(fā)送方按照發(fā)送隊列和時間向共享內(nèi)存中寫入數(shù)據(jù);c)接收方讀取共享內(nèi)存數(shù)據(jù),發(fā)送讀取響應(yīng);d)發(fā)送方處理接收方發(fā)送過來的讀取響應(yīng)。
6.根據(jù)權(quán)利要求5所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,接收方在每個硬件中斷周期讀取共享內(nèi)存信息,發(fā)送讀取響應(yīng)。
7.根據(jù)權(quán)利要求1所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,所述獲得間隔時間序列的方法為a)接收方讀取正常數(shù)據(jù)寫入內(nèi)存的時間戳;b)接收方計算兩次寫入的時間間隔;c)按發(fā)送時間順序形成時間間隔序列。
8.根據(jù)權(quán)利要求1-7任一項所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,所述機密信息中包含發(fā)送方和接收方約定的起始和截止標(biāo)志。
9.根據(jù)權(quán)利要求8所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,接收方P」截取起始和截止標(biāo)志內(nèi)的時間間隔序列進行解碼。
10.根據(jù)權(quán)利要求ι所述的云計算環(huán)境下的隱蔽通信方法,其特征在于,所述發(fā)送SPi 和接收方P^立于同一云計算虛擬化硬件平臺的不同虛擬機中。
全文摘要
本發(fā)明公開了一種云計算環(huán)境下的隱蔽通信方法,包括1)發(fā)送方與接收方約定機密信息的編解碼方法,即將機密信息編碼為正常數(shù)據(jù)傳輸中的間隔時間;2)發(fā)送方建立環(huán)形共享內(nèi)存數(shù)據(jù)結(jié)構(gòu),將授權(quán)引用發(fā)送給接收方,雙方以內(nèi)核模塊的形式將環(huán)形共享內(nèi)存控制驅(qū)動加載到客戶虛擬機內(nèi)核中;3)接收方將共享內(nèi)存映射到發(fā)送方的內(nèi)存地址空間;4)發(fā)送方和接收方以生產(chǎn)者/消費者模式向共享內(nèi)存寫入和讀取包含機密信息的正常數(shù)據(jù);5)接收方獲得代表機密信息的間隔時間序列,將其解碼為機密信息;6)接收方解除共享內(nèi)存映射;發(fā)送方回收授權(quán)引用。通過本發(fā)明的方法,能夠突破虛擬機系統(tǒng)現(xiàn)有的完整性及其相關(guān)的安全機制,實現(xiàn)跨虛擬機的信息隱蔽傳輸。
文檔編號H04L29/06GK102244682SQ201110202708
公開日2011年11月16日 申請日期2011年7月19日 優(yōu)先權(quán)日2011年7月19日
發(fā)明者丁麗萍, 吳敬征, 王永吉 申請人:中國科學(xué)院軟件研究所