石 磊 張 輝 劉毅楓
(山東乾云啟創(chuàng)信息科技股份有限公司 濟(jì)南 250101)(shi_lei@massclouds.com)
?
基于安全標(biāo)簽的云平臺(tái)問責(zé)和追溯技術(shù)研究
石 磊 張 輝 劉毅楓
(山東乾云啟創(chuàng)信息科技股份有限公司 濟(jì)南 250101)(shi_lei@massclouds.com)
對(duì)于云平臺(tái)問責(zé)與追溯,問責(zé)是要達(dá)成的目的,追溯是技術(shù)手段.為達(dá)到針對(duì)云環(huán)境下惡意行為問責(zé)的目的,要求追溯技術(shù)能夠逆向還原從事件發(fā)生點(diǎn)到事件發(fā)起源頭的完整路徑,并記錄這期間的操作行為.針對(duì)業(yè)務(wù)透明性、追溯機(jī)制精度和范圍、追溯機(jī)制效率和成本等方面面臨的挑戰(zhàn),提出一種基于安全標(biāo)簽的通用追溯技術(shù),建立精確高效的追溯技術(shù)原型.
云平臺(tái);云計(jì)算;安全標(biāo)簽;問責(zé);追溯
國(guó)內(nèi)云計(jì)算應(yīng)用不斷擴(kuò)大,云數(shù)據(jù)中心、大寬帶戰(zhàn)略、軟件服務(wù)及智能終端等組成的云計(jì)算產(chǎn)業(yè)鏈條已經(jīng)逐步形成.不過,國(guó)內(nèi)云計(jì)算產(chǎn)業(yè)仍然面臨一系列問題和挑戰(zhàn),其中包括基礎(chǔ)設(shè)施支撐不足、寬帶不寬、服務(wù)種類有限、服務(wù)規(guī)模不大、產(chǎn)業(yè)鏈不全、商業(yè)模式不成熟、政策法規(guī)環(huán)境不完善、用戶對(duì)云計(jì)算安全擔(dān)心等等.
網(wǎng)絡(luò)安全已晉升為我國(guó)國(guó)家戰(zhàn)略部署的一部分,云計(jì)算的落地向信息安全提出了新的挑戰(zhàn).云計(jì)算的推廣應(yīng)用需要確保云服務(wù)的安全,營(yíng)造云服務(wù)的安全環(huán)境,為此,需要加強(qiáng)云計(jì)算安全技術(shù)的攻關(guān)和研發(fā),制定和完善云計(jì)算安全的制度和法律,明確信息所有者和服務(wù)者的權(quán)益和責(zé)任,依法保護(hù)知識(shí)產(chǎn)權(quán),依法維護(hù)個(gè)人信息的隱私權(quán)益,建立和完善云計(jì)算安全防護(hù)和評(píng)價(jià)體系,讓所有使用云計(jì)算的人放心,讓存放在云端信息的信息所有者放心[1].
當(dāng)前國(guó)內(nèi)外已經(jīng)開展了一些與云平臺(tái)問責(zé)與追溯技術(shù)相關(guān)的研究工作,但是大多數(shù)都處于原型階段,距離實(shí)用還存在一定差距.主要包括以下幾類[2]:
基于信息流跟蹤(information flow tracking, IFT)的方法是一類比較通用的防止信息泄露的方法.1)通過擴(kuò)展Java和PHP語(yǔ)言虛擬機(jī)的方法實(shí)現(xiàn)信息流監(jiān)控,能夠針對(duì)用戶的隱私數(shù)據(jù)進(jìn)行保護(hù),阻止信息泄露,但是該模型只支持特定的語(yǔ)言,并且需要重寫應(yīng)用.2)針對(duì)分布式系統(tǒng)的信息流監(jiān)控方法,該技術(shù)原型在追溯方面的粒度很大,不能具體到針對(duì)文件、內(nèi)存區(qū)域、Socket這一級(jí)對(duì)象的跟蹤,同時(shí)該原型必須修改被監(jiān)控應(yīng)用.3)監(jiān)控和保護(hù)結(jié)合起來(lái)的辦法,即確保所有敏感數(shù)據(jù)對(duì)授權(quán)進(jìn)程以外只讀,發(fā)現(xiàn)和阻止非法企圖;但是該原型側(cè)重于預(yù)防,對(duì)于異常行為追溯功能的支持能力很弱.
另一大類技術(shù)方法所采用的策略為,從綜合安全體系的角度,充分利用傳統(tǒng)計(jì)算領(lǐng)域的各種審計(jì)技術(shù)和工具,與云環(huán)境下的跟蹤技術(shù)相結(jié)合,建立完整的信息審計(jì)和行為追溯體系.但是該模型是針對(duì)Web應(yīng)用提出的惡意行為追溯方法,局限性太強(qiáng),不能適用于云環(huán)境下廣泛的業(yè)務(wù)類型.
另外,從可信計(jì)算角度入手,也是一類實(shí)現(xiàn)方法.引入一個(gè)受信任的第三方云服務(wù)提供者,為最終用戶提供相應(yīng)的數(shù)據(jù)追溯和審計(jì)服務(wù);但是該模型僅是針對(duì)Paas模式提出的方法.同時(shí),該模型的實(shí)現(xiàn)通常要受到TCM信任鏈的約束[2].
1.1 追溯技術(shù)簡(jiǎn)介
對(duì)于云平臺(tái)問責(zé)與追溯這一研究領(lǐng)域,問責(zé)是要達(dá)成的目的,追溯是技術(shù)手段.為達(dá)到針對(duì)云環(huán)境下惡意行為問責(zé)的目的,要求追溯技術(shù)能夠逆向還原從事件發(fā)生點(diǎn)到事件發(fā)起源頭的完整路徑,并記錄這期間的操作行為.考慮到云環(huán)境本身的特點(diǎn),云平臺(tái)下的追溯技術(shù)既要服從于云計(jì)算環(huán)境的特殊性和限制,又要充分利用虛擬化技術(shù)帶來(lái)的一些便利條件,建立精確高效的追溯技術(shù)原型.
1.2 技術(shù)難點(diǎn)分析
目前,在云平臺(tái)下實(shí)現(xiàn)問責(zé)與追溯技術(shù),主要面臨以下幾類主要的挑戰(zhàn):
1) 追溯機(jī)制對(duì)業(yè)務(wù)的透明性
在云平臺(tái)環(huán)境下的問責(zé)和追溯作為一種安全技術(shù),在實(shí)現(xiàn)方面的要求是既要增強(qiáng)對(duì)云平臺(tái)業(yè)務(wù)的安全可控能力,又要嚴(yán)格控制實(shí)現(xiàn)代價(jià).同時(shí),云平臺(tái)的特點(diǎn)決定了業(yè)務(wù)通常由大量單一功能的應(yīng)用協(xié)同完成,云平臺(tái)的一個(gè)重要優(yōu)勢(shì)就是允許這些應(yīng)用的快速升級(jí)更新.因此,如果在業(yè)務(wù)應(yīng)用的層面注入或擴(kuò)展追溯機(jī)制,就會(huì)給原有的業(yè)務(wù)應(yīng)用開發(fā)增加額外的限制,將會(huì)大大提高維護(hù)難度和成本,對(duì)云平臺(tái)的推廣應(yīng)用造成不利影響.
追溯機(jī)制的透明性是指,在不影響原有云平臺(tái)業(yè)務(wù)的開發(fā)、升級(jí)、維護(hù)的前提下,為安全管理人員或安全工具提供針對(duì)惡意行為的有效的追溯能力.這個(gè)目標(biāo)對(duì)追溯機(jī)制的設(shè)計(jì)提出了很高的要求,需要慎重考慮技術(shù)實(shí)現(xiàn)所在的層次和方式.
2) 追溯機(jī)制的精度和范圍
通常情況下,追溯對(duì)相關(guān)信息的精度和粒度的要求很高,這是追溯有效性的主要保障.在數(shù)據(jù)粒度方面,如果不能達(dá)到字節(jié)級(jí)的水平,許多追溯線索就可能斷掉.在路徑精度方面,數(shù)據(jù)在進(jìn)程中內(nèi)存地址間的轉(zhuǎn)移,進(jìn)程間通過網(wǎng)絡(luò)、管道、IPC等方式的傳遞,數(shù)據(jù)與文件的交換等等過程,都應(yīng)當(dāng)是追溯需要識(shí)別的環(huán)節(jié)和途徑,否則也難以實(shí)現(xiàn)有效的追溯.
在云平臺(tái)下,業(yè)務(wù)流在各種類型的軟硬件節(jié)點(diǎn)之間處理和傳遞,追溯需要跨進(jìn)程、跨虛擬機(jī)、跨宿主機(jī)的傳遞,需要跟蹤數(shù)據(jù)在各種形式上的轉(zhuǎn)變,這種大范圍的追溯要求對(duì)技術(shù)原型的機(jī)制設(shè)計(jì)提出了極大的挑戰(zhàn)[3].
3) 追溯機(jī)制的效率和成本
·對(duì)追溯過程中處理精度和范圍的高要求,必然會(huì)在效率上付出一定代價(jià),因此如何設(shè)計(jì)一個(gè)完善的機(jī)制,以降低在這些方面對(duì)效率的負(fù)面影響,是技術(shù)上的一個(gè)巨大挑戰(zhàn).
·追溯的一個(gè)主要目標(biāo)是發(fā)現(xiàn)攻擊源或攻擊者,但是對(duì)于云平臺(tái)來(lái)說,用戶規(guī)模通常是巨大的,追溯機(jī)制必須能夠支持對(duì)大量主體標(biāo)志的產(chǎn)生、處理和識(shí)別,這樣才能從大量的用戶中標(biāo)記出潛在的攻擊者.現(xiàn)有的某些實(shí)現(xiàn)在主體標(biāo)志的范圍和擴(kuò)展性上準(zhǔn)備不足,導(dǎo)致其在實(shí)際的云環(huán)境應(yīng)用中受到極大限制.
·追溯機(jī)制對(duì)效率的另一個(gè)主要影響來(lái)自常規(guī)運(yùn)行的記錄信息的過程,幾乎所有可能被追溯機(jī)制引用的信息都要經(jīng)過這一過程的處理,如何降低該過程的日常開銷也是需要克服的一個(gè)關(guān)鍵問題.
針對(duì)云平臺(tái)在問責(zé)與追溯所面臨的挑戰(zhàn),本文提出一種通用的追溯技術(shù)原型MC-Track.該原型的基本原理是,為進(jìn)入云平臺(tái)的數(shù)據(jù)創(chuàng)建對(duì)應(yīng)標(biāo)簽,標(biāo)簽標(biāo)記了數(shù)據(jù)來(lái)源信息;在云平臺(tái)中維持標(biāo)簽與數(shù)據(jù)的同步,標(biāo)記數(shù)據(jù)在云平臺(tái)內(nèi)移動(dòng)的路徑線索;各關(guān)鍵節(jié)點(diǎn)依據(jù)標(biāo)簽向統(tǒng)一的審計(jì)數(shù)據(jù)中心報(bào)告數(shù)據(jù)流經(jīng)的路徑;追溯過程觸發(fā)時(shí),根據(jù)當(dāng)時(shí)現(xiàn)場(chǎng)環(huán)境和審計(jì)數(shù)據(jù)中心的歷史記錄做關(guān)聯(lián)分析,產(chǎn)生追溯結(jié)果.
2.1 追溯原型的構(gòu)成
追溯原型的構(gòu)成主要包括追溯過程的觸發(fā)和追溯信息的獲取,具體如圖1所示:
圖1 追溯原型MC-Track的技術(shù)構(gòu)成
1) 追溯過程的觸發(fā)
追溯技術(shù)與監(jiān)控技術(shù)不同,單就追溯本身來(lái)看,它不是常規(guī)持續(xù)運(yùn)行的過程,而是待調(diào)用的任務(wù)型過程,啟動(dòng)時(shí)機(jī)是在異常發(fā)生后.追溯過程需要在一定條件下,由安全人員或其他安全工具觸發(fā)啟動(dòng),外部的輸入指明了追溯的線索依據(jù)、發(fā)生位置等信息.例如,防篡改軟件可以檢測(cè)到敏感數(shù)據(jù)內(nèi)容的非法修改,之后可以自動(dòng)觸發(fā)追溯過程,防篡改軟件必須提供篡改發(fā)生的位置(如設(shè)備ID、數(shù)據(jù)路徑等)、精確時(shí)間以及現(xiàn)場(chǎng)的其他線索信息,追溯機(jī)制依據(jù)這些輸入信息進(jìn)行關(guān)聯(lián)分析后得出結(jié)果,最后向管理人員提供該惡意行為從攻擊源到篡改點(diǎn)的完整路徑,同時(shí)定位攻擊者和記錄非法行為過程.
因此在追溯原型的設(shè)計(jì)上,MC-Track遵循這樣的約束:原型本身不包含檢測(cè)、防御和識(shí)別威脅的功能,其職責(zé)是在事件發(fā)生后,輔助分析識(shí)別事件原因、觸發(fā)源頭和經(jīng)歷過程,其作用和目的是輔助安全管理者追究責(zé)任和完善安全體系.
2) 追溯依賴信息的獲得
追溯機(jī)制的運(yùn)行和完成需要一些必備的基礎(chǔ)信息作為支持.但是在通常情況下,由于追溯技術(shù)基本上是一種事后機(jī)制,當(dāng)追溯啟動(dòng)時(shí),惡意行為的大部分過程都已經(jīng)結(jié)束.追溯機(jī)制僅僅依靠當(dāng)前時(shí)刻能采集到的信息和運(yùn)行場(chǎng)景,去還原事件發(fā)生的完整歷史過程幾乎是不可能的.因此,MC-Track原型除了包括在異常發(fā)生后才出發(fā)的核心的追溯過程,還必須引入一個(gè)常規(guī)情況下持續(xù)運(yùn)行的過程,稱為常規(guī)跟蹤過程.常規(guī)跟蹤過程負(fù)責(zé)跟蹤記錄數(shù)據(jù)在云平臺(tái)中的轉(zhuǎn)移過程,并將信息集中存儲(chǔ)到信息跟蹤數(shù)據(jù)庫(kù)中.追溯過程可以依托這個(gè)庫(kù)的支持完成追溯分析.
綜上,根據(jù)追溯技術(shù)的特點(diǎn)和運(yùn)行條件,追溯技術(shù)原型MC-Track由以下4部分組成:1)常規(guī)記錄信息過程,隨時(shí)準(zhǔn)備為追溯過程提供分析的歷史信息依據(jù);2)觸發(fā)條件信息,觸發(fā)追溯過程并提供初始信息;3)追溯的核心過程,根據(jù)觸發(fā)的輸入信息和常規(guī)記錄過程提供的基礎(chǔ)信息,執(zhí)行基于領(lǐng)域知識(shí)的關(guān)聯(lián)分析,得出確定的結(jié)果;4)追溯結(jié)果輸出,向使用者提供完整的追溯路徑和這期間的行為過程記錄[4].
2.2 云計(jì)算環(huán)境下基于標(biāo)簽的數(shù)據(jù)跟蹤技術(shù)
透明性是MC-Track原型實(shí)現(xiàn)的一個(gè)主要目標(biāo),即在云平臺(tái)下增加追溯功能不影響業(yè)務(wù)層的運(yùn)行和維護(hù).在MC-Track包含的2個(gè)過程中,核心追溯過程執(zhí)行邏輯關(guān)聯(lián)分析方面的運(yùn)算,獨(dú)立性強(qiáng),不會(huì)影響透明性的實(shí)現(xiàn);而常規(guī)跟蹤過程需要截獲和記錄業(yè)務(wù)數(shù)據(jù)流,與業(yè)務(wù)耦合度高,所以需要重點(diǎn)研究,盡量避免對(duì)業(yè)務(wù)層的影響.
常規(guī)跟蹤過程通過2個(gè)步驟實(shí)現(xiàn)對(duì)數(shù)據(jù)的跟蹤:首先給業(yè)務(wù)數(shù)據(jù)建立標(biāo)簽并保持標(biāo)簽與數(shù)據(jù)的同步傳遞;然后在各關(guān)鍵節(jié)點(diǎn)檢查標(biāo)簽并產(chǎn)生審計(jì)數(shù)據(jù).通過上述方法,可以記錄業(yè)務(wù)數(shù)據(jù)的來(lái)源(用戶或其他系統(tǒng))、在云平臺(tái)內(nèi)部的轉(zhuǎn)移過程、流出云平臺(tái)的出口位置或者在內(nèi)部的銷毀位置.MC-Track設(shè)計(jì)和實(shí)現(xiàn)過程應(yīng)當(dāng)確保對(duì)業(yè)務(wù)透明性的原則.
1) 標(biāo)簽的意義和處理原語(yǔ)
標(biāo)簽與特定的數(shù)據(jù)對(duì)應(yīng),在系統(tǒng)中由唯一的數(shù)值表示,該數(shù)值由2部分組成:一是數(shù)據(jù)的屬主或來(lái)源的唯一ID;二是數(shù)據(jù)本身的唯一ID.當(dāng)數(shù)據(jù)在云平臺(tái)中傳遞時(shí)標(biāo)簽也隨之移動(dòng).以標(biāo)簽為線索,就可以把數(shù)據(jù)在云平臺(tái)中各節(jié)點(diǎn)各階段上的傳遞過程串聯(lián)起來(lái),從任意一個(gè)點(diǎn)上可以反向追溯數(shù)據(jù)經(jīng)歷的路徑;同時(shí),由于標(biāo)簽含有來(lái)源信息,還可以確定數(shù)據(jù)的來(lái)源.
標(biāo)簽處理包括3種原語(yǔ):add_tag用于針對(duì)數(shù)據(jù)產(chǎn)生標(biāo)簽;delte_tag用于在數(shù)據(jù)銷毀時(shí)刪除標(biāo)簽;copy_tag用于傳遞標(biāo)簽.這3種原語(yǔ)處理的數(shù)據(jù)對(duì)象形式是[start,end)的1組連續(xù)字節(jié),最小粒度是1 B.
2) 標(biāo)簽的維護(hù)及傳遞方法
標(biāo)簽根據(jù)其對(duì)應(yīng)的數(shù)據(jù)形式的不同,分為3種情況:內(nèi)存標(biāo)簽、文件標(biāo)簽和網(wǎng)絡(luò)標(biāo)簽.其中,內(nèi)存標(biāo)簽和文件標(biāo)簽都在標(biāo)簽緩存中以KeyValue的形式進(jìn)行維護(hù),與標(biāo)記的數(shù)據(jù)相對(duì)應(yīng);網(wǎng)絡(luò)標(biāo)簽則直接嵌入在網(wǎng)絡(luò)數(shù)據(jù)包中.
內(nèi)存標(biāo)簽:內(nèi)存標(biāo)簽對(duì)應(yīng)內(nèi)存中的數(shù)據(jù),Key由進(jìn)程ID、數(shù)據(jù)的起始地址(虛擬內(nèi)存地址)以及數(shù)據(jù)長(zhǎng)度3部分構(gòu)成,Value就是標(biāo)簽值,用于識(shí)別數(shù)據(jù)身份.
文件標(biāo)簽:文件標(biāo)簽對(duì)應(yīng)文件中的數(shù)據(jù),Key由文件路徑、數(shù)據(jù)在文件中的偏移地址以及數(shù)據(jù)長(zhǎng)度3部分構(gòu)成,Value就是唯一標(biāo)簽值,用于識(shí)別數(shù)據(jù)身份.
3) 標(biāo)簽的創(chuàng)建和銷毀
云平臺(tái)通常包含一個(gè)入口網(wǎng)關(guān),如果不存在網(wǎng)關(guān)或者網(wǎng)關(guān)邏輯不可修改則可以增加一個(gè)透明網(wǎng)關(guān).透明網(wǎng)關(guān)不影響云平臺(tái)的原有網(wǎng)絡(luò)拓?fù)浜蜆I(yè)務(wù)邏輯,其主要的功能就是根據(jù)來(lái)自用戶的輸入數(shù)據(jù)創(chuàng)建標(biāo)簽.
產(chǎn)生標(biāo)簽可以單獨(dú)依據(jù)用戶ID、用戶IP、終端ID這幾種信息產(chǎn)生,也可以依據(jù)它們的聯(lián)合產(chǎn)生,具體實(shí)現(xiàn)由策略決定.透明網(wǎng)關(guān)是云平臺(tái)的入口,也是追溯過程在云平臺(tái)內(nèi)到達(dá)的終點(diǎn),通過檢查標(biāo)簽與上述信息的對(duì)應(yīng)關(guān)系可以識(shí)別出攻擊或異常的源頭.
云平臺(tái)中銷毀標(biāo)簽只有一種情況,就是標(biāo)簽對(duì)應(yīng)的數(shù)據(jù)時(shí)被釋放.銷毀標(biāo)簽在云平臺(tái)的任何位置、任何階段都可能發(fā)生.
4) 標(biāo)簽在云平臺(tái)的傳遞和檢查
云平臺(tái)中的各種業(yè)務(wù)大多依托于虛擬機(jī)運(yùn)行,這些虛擬化設(shè)施處于業(yè)務(wù)應(yīng)用和客戶操作系統(tǒng)的底層,可以監(jiān)視或截獲標(biāo)簽,為數(shù)據(jù)跟蹤的實(shí)現(xiàn)提供了便利性.這包括進(jìn)程內(nèi)部數(shù)據(jù)跟蹤、同虛擬機(jī)進(jìn)程間的數(shù)據(jù)傳遞跟蹤、同宿主機(jī)跨虛擬機(jī)間的數(shù)據(jù)傳遞跟蹤、跨宿主機(jī)間的數(shù)據(jù)傳遞跟蹤.
以下分別說明MC-Track原型針對(duì)這些情況的實(shí)現(xiàn)方式.
1) 進(jìn)程內(nèi)的數(shù)據(jù)跟蹤
進(jìn)程執(zhí)行的指令大致包括2類:計(jì)算類和轉(zhuǎn)移類.轉(zhuǎn)移類指令可能會(huì)對(duì)標(biāo)簽關(guān)聯(lián)的數(shù)據(jù)執(zhí)行相關(guān)處理操作,因此MC-Track原型需要截獲此類指令,同步處理數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽,以保證標(biāo)簽跟隨對(duì)應(yīng)數(shù)據(jù).
由于云平臺(tái)中應(yīng)用基本上都運(yùn)行在虛擬機(jī)中,對(duì)于虛擬機(jī)中的進(jìn)程,其執(zhí)行的所有指令必然經(jīng)過虛擬機(jī)監(jiān)控器(VMM),因此MC-Track的處理機(jī)制是:首先,在虛擬機(jī)監(jiān)控器中嵌入模塊截獲二進(jìn)制指令流并反匯編;然后,檢查涉及數(shù)據(jù)是否擁有標(biāo)簽,無(wú)標(biāo)簽時(shí)不用處理,直接放行;最后,根據(jù)指令對(duì)數(shù)據(jù)的操作,調(diào)用copy_tag或delete_tag原語(yǔ)同步標(biāo)簽.
進(jìn)程對(duì)數(shù)據(jù)的處理可能包含以下幾種情況,因此對(duì)于標(biāo)簽也需要執(zhí)行相應(yīng)的處理.①數(shù)據(jù)拷貝,直接調(diào)用copy_tag原語(yǔ),拷貝1份標(biāo)簽關(guān)聯(lián)到副本數(shù)據(jù)上.②數(shù)據(jù)轉(zhuǎn)移,與拷貝類似,區(qū)別是隨后應(yīng)當(dāng)刪除原始數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽.③數(shù)據(jù)抽取,即原始數(shù)據(jù)僅有一部分被抽取出來(lái),則修改標(biāo)簽對(duì)應(yīng)的數(shù)據(jù)長(zhǎng)度.④數(shù)據(jù)合并,即發(fā)現(xiàn)數(shù)據(jù)與相鄰位置的數(shù)據(jù)擁有相同的標(biāo)簽,則修改標(biāo)簽對(duì)應(yīng)的起始地址和總長(zhǎng)度,以對(duì)應(yīng)合并后的數(shù)據(jù).
對(duì)于云平臺(tái)中不依賴于虛擬機(jī)運(yùn)行的進(jìn)程,可以借助運(yùn)行時(shí)解釋器來(lái)執(zhí)行,例如Intel的PIN工具.由于PIN一類的運(yùn)行時(shí)解釋器其本質(zhì)就是一個(gè)微型的用戶級(jí)虛擬機(jī)監(jiān)視器,因而上面討論的方法同樣適用.
如圖2所示,在進(jìn)程內(nèi)標(biāo)簽會(huì)隨著數(shù)據(jù)同步轉(zhuǎn)移,這包括內(nèi)存到內(nèi)存的傳遞、內(nèi)存與文件間的傳遞,因此跟蹤標(biāo)簽即可實(shí)現(xiàn)對(duì)進(jìn)程內(nèi)數(shù)據(jù)的跟蹤.
圖2 進(jìn)程內(nèi)數(shù)據(jù)標(biāo)簽轉(zhuǎn)移
2) 進(jìn)程間通信的數(shù)據(jù)跟蹤
進(jìn)程間通信的幾種主要方式為共享內(nèi)存、管道、信號(hào)等機(jī)制都是基于內(nèi)核來(lái)實(shí)現(xiàn)數(shù)據(jù)在進(jìn)程間的交換,基本過程為進(jìn)程A用戶空間的內(nèi)存數(shù)據(jù),轉(zhuǎn)移到內(nèi)核空間的內(nèi)存,再轉(zhuǎn)移到進(jìn)程B用戶空間內(nèi)存.
對(duì)于進(jìn)程間通信數(shù)據(jù)的跟蹤,MC-Track原型采取與進(jìn)程內(nèi)跟蹤類似的方法,截獲指令流處理轉(zhuǎn)移類指令和中斷指令,但是處理數(shù)據(jù)的范圍要涵蓋內(nèi)核的內(nèi)存.具體方法為:發(fā)現(xiàn)數(shù)據(jù)在用戶內(nèi)存與內(nèi)核內(nèi)存之間轉(zhuǎn)移時(shí),對(duì)相應(yīng)標(biāo)簽作同步轉(zhuǎn)移處理.內(nèi)核內(nèi)存在進(jìn)程間的數(shù)據(jù)傳遞過程中可視為傳輸?shù)耐ǖ?
與上述討論相同,對(duì)于虛擬機(jī)中的進(jìn)程間通信,可以在虛擬機(jī)監(jiān)控器中處理標(biāo)簽;對(duì)于不依賴于虛擬機(jī)運(yùn)行的進(jìn)程借助運(yùn)行時(shí)解釋器來(lái)執(zhí)行.
圖3展示了進(jìn)程間通信的標(biāo)簽同步轉(zhuǎn)移過程:
圖3 進(jìn)程間數(shù)據(jù)標(biāo)簽轉(zhuǎn)移
3) 基于Socket通信的數(shù)據(jù)跟蹤
在虛擬化平臺(tái)中,虛擬機(jī)的虛擬網(wǎng)卡可以獲得完整的數(shù)據(jù)協(xié)議棧,虛擬機(jī)監(jiān)控器具備對(duì)網(wǎng)絡(luò)數(shù)據(jù)流干預(yù)處理的能力,因而MC-Track可以在虛擬機(jī)監(jiān)控器中擴(kuò)展模塊實(shí)現(xiàn)基于標(biāo)簽的數(shù)據(jù)跟蹤功能.根據(jù)進(jìn)程間相互部署關(guān)系,可分為兩大類情況:同宿主機(jī)通信和跨宿主機(jī)通信.
同宿主機(jī)通信又包括2種情況:虛擬機(jī)內(nèi)部通信,虛擬機(jī)間通信.對(duì)于這2種情況,由于沒有超出同一宿主機(jī)的范圍,因而MC-Track原型在虛擬機(jī)監(jiān)控器中實(shí)現(xiàn)標(biāo)簽的同步處理,不需要通過實(shí)際的網(wǎng)絡(luò)同步標(biāo)簽.
跨宿主機(jī)通信則需要增加標(biāo)簽在網(wǎng)絡(luò)上同步的步驟:源端的虛擬機(jī)監(jiān)控器模塊負(fù)責(zé)把標(biāo)簽嵌入到業(yè)務(wù)流TCPIP數(shù)據(jù)包的空閑位置,目的端的虛擬機(jī)監(jiān)控器模塊負(fù)責(zé)還原標(biāo)簽.
對(duì)于云平臺(tái)中個(gè)別不基于虛擬機(jī)應(yīng)用,則需要在網(wǎng)絡(luò)驅(qū)動(dòng)層截獲數(shù)據(jù)包,執(zhí)行上述操作.
4) 基于文件的數(shù)據(jù)跟蹤
除了內(nèi)存,文件是數(shù)據(jù)在流動(dòng)過程中經(jīng)常經(jīng)過的環(huán)節(jié),是數(shù)據(jù)在系統(tǒng)中駐留的一種重要形式.無(wú)論是進(jìn)程內(nèi)數(shù)據(jù)的存取還是進(jìn)程間數(shù)據(jù)的傳遞,都可能涉及文件這一數(shù)據(jù)存儲(chǔ)形式.MC-Track模型可以支持包括文件在內(nèi)的完整數(shù)據(jù)路徑跟蹤,確保數(shù)據(jù)流的跟蹤在文件這一環(huán)節(jié)上是連續(xù)的.文件數(shù)據(jù)對(duì)應(yīng)文件標(biāo)簽.標(biāo)簽內(nèi)容保持了對(duì)應(yīng)數(shù)據(jù)的來(lái)源信息.
針對(duì)虛擬機(jī)情況,MC-Track在虛擬機(jī)監(jiān)控器擴(kuò)展模塊,截獲虛擬機(jī)內(nèi)客戶操作系統(tǒng)的系統(tǒng)調(diào)用,如果發(fā)現(xiàn)進(jìn)程執(zhí)行write,writev以及pwrite等系統(tǒng)調(diào)用,則使用copy_tag原語(yǔ),把源數(shù)據(jù)對(duì)應(yīng)的內(nèi)存標(biāo)簽同步到該文件標(biāo)簽中;類似地,如果發(fā)現(xiàn)進(jìn)程執(zhí)行read,readv,pread等系統(tǒng)調(diào)用,則使用copy_tag原語(yǔ),把文件標(biāo)簽同步到目標(biāo)內(nèi)存數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽上.
對(duì)于不依賴于虛擬機(jī)運(yùn)行的進(jìn)程,借助運(yùn)行時(shí)解釋器來(lái)截獲系統(tǒng)調(diào)用,執(zhí)行上述邏輯.
圖2和圖3都展示了文件在數(shù)據(jù)轉(zhuǎn)移過程中的位置以及文件標(biāo)簽的跟蹤作用.
2.3 云環(huán)境下跟蹤信息采集技術(shù)
核心追溯過程依靠統(tǒng)一的接口從信息跟蹤庫(kù)中提取支持信息,但是信息跟蹤庫(kù)中這些信息的采集涉及的情況相對(duì)復(fù)雜,與云平臺(tái)基礎(chǔ)設(shè)施的相應(yīng)機(jī)制有關(guān).圖4展示了云環(huán)境下采集跟蹤信息所要處理的3類主要情況:
1) 基于虛擬機(jī)的應(yīng)用:云計(jì)算的一個(gè)主要特點(diǎn)是大量使用了虛擬化技術(shù),尤其是虛擬機(jī)技術(shù).構(gòu)成云平臺(tái)的服務(wù)進(jìn)程幾乎都是依托虛擬機(jī)環(huán)境運(yùn)行,即業(yè)務(wù)的處理、數(shù)據(jù)的傳遞大都以虛擬機(jī)為中心來(lái)完成.MC-Track基于虛擬機(jī)監(jiān)控器的擴(kuò)展模塊不僅負(fù)責(zé)處理數(shù)據(jù)對(duì)應(yīng)標(biāo)簽,還負(fù)責(zé)向信息跟蹤庫(kù)匯總跟蹤信息.
2) 不基于虛擬機(jī)的應(yīng)用:對(duì)于云平臺(tái)中個(gè)別不基于虛擬機(jī)技術(shù)的應(yīng)用,例如網(wǎng)關(guān)等,采用在操作系統(tǒng)內(nèi)核嵌入驅(qū)動(dòng)的方法,截獲數(shù)據(jù)并進(jìn)行標(biāo)簽處理,然后用戶態(tài)的代理程序向信息跟蹤庫(kù)發(fā)送跟蹤報(bào)告.
3) 封閉的商用設(shè)備:云平臺(tái)中還可能包含一些獨(dú)立的設(shè)備以及商用的閉源軟件,對(duì)于這類對(duì)象,可以通過調(diào)用其開放的接口把它們的信息采集到信息跟蹤庫(kù)中,以形成更加全面的路徑過程視圖[5].
圖4 云平臺(tái)跟蹤信息采集
本文主要針對(duì)云平臺(tái)在問責(zé)與追溯所面臨的挑戰(zhàn),提出一種通用的追溯技術(shù)原型MC-Track.該原型的基本原理是,為進(jìn)入云平臺(tái)的數(shù)據(jù)創(chuàng)建對(duì)應(yīng)標(biāo)簽,標(biāo)簽標(biāo)記了數(shù)據(jù)來(lái)源信息;在云平臺(tái)中維持標(biāo)簽與數(shù)據(jù)的同步,標(biāo)記數(shù)據(jù)在云平臺(tái)內(nèi)移動(dòng)的路徑線索;各關(guān)鍵節(jié)點(diǎn)依據(jù)標(biāo)簽向統(tǒng)一的審計(jì)數(shù)據(jù)中心報(bào)告數(shù)據(jù)流經(jīng)的路徑;追溯過程觸發(fā)時(shí),根據(jù)當(dāng)時(shí)現(xiàn)場(chǎng)環(huán)境和審計(jì)數(shù)據(jù)中心的歷史記錄做關(guān)聯(lián)分析,產(chǎn)生追溯結(jié)果.
在標(biāo)簽的檢查和傳遞方面,MC-Track原型實(shí)際上利用了一些VMI技術(shù),即在虛擬機(jī)之外分析虛擬機(jī)內(nèi)部的數(shù)據(jù)流動(dòng).如何提高這類分析的效率和準(zhǔn)確性是下一步研究的重點(diǎn)內(nèi)容.
[1]欒潤(rùn)生. 面向云計(jì)算的計(jì)算機(jī)網(wǎng)絡(luò)犯罪偵查取證的思考[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2011 (12): 68-70
[2]Boss G, Malladi P, Quan D, et al. Cloud computing. IBMWhitePaper[EB/OL]. [2010-12-10]. http://download.boulder.ibm com/
[3]夏榮. 云計(jì)算技術(shù)在電子數(shù)據(jù)取證領(lǐng)域的應(yīng)用研究[J]. 信息網(wǎng)絡(luò)安全技術(shù), 2011 (8): 51-53
[4]曹彬, 程久軍, 閏春鋼. 基于云計(jì)算Live Mesh的流媒體應(yīng)用研究[J]. 計(jì)算機(jī)科學(xué), 2010, 37(11): 92-95
[5]彭召意, 周玉, 文志強(qiáng). 基于云計(jì)算的視頻取證監(jiān)控系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用研究, 2011, 28(8): 2975-2977
石 磊
碩士,主要研究方向方向?yàn)長(zhǎng)inux內(nèi)核、系統(tǒng)虛擬化和云計(jì)算安全技術(shù).
shi_lei@massclouds.com
張 輝
碩士,主要研究方向研究為微內(nèi)核架構(gòu)、軟件構(gòu)件化和軟件服務(wù)化.
zhang_hui@massclouds.com
劉毅楓
學(xué)士,主要研究方向?yàn)橄到y(tǒng)虛擬化、軟件服務(wù)化、軟件工程及工程管理.
liu_yfeng@massclouds.com
Cloud Platform Accountability and Retrospect Technology Based on Security Label
Shi Lei, Zhang Hui, and Liu Yifeng
(MasscloudsInformationTechnologiesCo.Ltd.,Jinan250101)
In oder to achieve the accountability system of cloud platform, retrospect is the primary technology method. Recalling the complete trajectory of the security event in this period,it can be controlled by the ability to trigger and record operations during this period. In order to tackle the challenges of business transparency in cloud system retrospect, the paper reviews the transparency, efficiency and cost of the enterprise. This paper states general retrospect technology based on security label, and establishes an accurate and efficient retrospect technology prototype.
cloud platform; cloud computing; security label; accountability; retrospect
2015-10-30
TP309