楊 永,錢(qián)振江,黃 皓
(南京大學(xué) a.計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室;b.計(jì)算機(jī)科學(xué)與技術(shù)系,南京 210046)
隨著Android 系統(tǒng)在移動(dòng)操作系統(tǒng)市場(chǎng)的快速發(fā)展,對(duì)Android 系統(tǒng)的攻擊也是層出不窮。為了防御各式各樣的攻擊,目前工業(yè)界和學(xué)術(shù)界都展開(kāi)了較多的研究。有研究者通過(guò)對(duì)Android 市場(chǎng)的應(yīng)用程序進(jìn)程審計(jì),分析應(yīng)用程序中的惡意行為,阻止應(yīng)用程序?qū)ο到y(tǒng)的攻擊,防止用戶隱私泄漏[1-2]。有研究者通過(guò)對(duì)Android 用戶程序框架進(jìn)行增強(qiáng),以修補(bǔ)Android 安全機(jī)制的缺陷,來(lái)阻止惡意代碼對(duì)隱私的訪問(wèn)[3-4],還有一些研究者從基于Linux 內(nèi)核的框架做修改增加Android 的安全[5-6]。雖然上述研究成果對(duì)Android 基于應(yīng)用程序的攻擊有很好的防御效果,但是針對(duì)Android系統(tǒng)內(nèi)核的攻擊,現(xiàn)有的防御機(jī)制都是基于傳統(tǒng)Linux 內(nèi)核的保護(hù)方法,但大部分保護(hù)方法本身在操作系統(tǒng)內(nèi)部,攻擊者很容易繞過(guò)或者篡改[7]。利用硬件虛擬化保護(hù)機(jī)制能很好隔離和監(jiān)控系統(tǒng)的各種威脅[8-9],但是這些都是針對(duì)特定平臺(tái)的,如Intel-VT 等。而對(duì)Android 所搭載平臺(tái)的ARM硬件虛擬化的研究工作目前較少,主要有Xen on ARM[10]和KVM for ARM[11],它們實(shí)現(xiàn)了對(duì)DomainU 系統(tǒng)的監(jiān)控。但是Domain0 和DomainU 共存的方式并不利于現(xiàn)有移動(dòng)設(shè)備簡(jiǎn)單方便的使用體驗(yàn),并且對(duì)性能的影響較大。Cells 采用名稱空間的方法,安全獨(dú)立地運(yùn)行多個(gè)操作系統(tǒng)。雖然性能上很好,但是由于操作系統(tǒng)內(nèi)核并未隔離,因此對(duì)內(nèi)核的攻擊將會(huì)威脅到所有的系統(tǒng)[12]。L4Android 將修改后Android 系統(tǒng)作為一個(gè)用戶空間的進(jìn)程運(yùn)行在微內(nèi)核之上,不同的Android 系統(tǒng)用于不同的場(chǎng)合,具有很好的隔離效果[13],但是對(duì)系統(tǒng)的攻擊仍然無(wú)法檢測(cè)和阻止。
本文結(jié)合ARM 處理器的硬件虛擬化機(jī)制,實(shí)現(xiàn)一種基于ARM 平臺(tái)輕量級(jí)的hypervisor 監(jiān)控器架構(gòu)。保護(hù)操作系統(tǒng)內(nèi)核關(guān)鍵對(duì)象,以及快速檢測(cè)Rootkit 威脅來(lái)阻止針對(duì)基于Linux 內(nèi)核的Android 系統(tǒng)級(jí)的攻擊。
ARMv7 硬件虛擬化擴(kuò)展,增加了一種工作在普通區(qū)域的HYP 模式。HYP 模式擁有普通區(qū)域的最高權(quán)限。而其他的模式分別是:(1)特權(quán)模式,包括快速中斷模式、中斷模式、系統(tǒng)管理模式、數(shù)據(jù)終止模式、未定義指令終止模式、超級(jí)用戶模式;(2)用戶模式。
HYP 模式擁有更高的特權(quán),對(duì)資源的控制能力超過(guò)普通區(qū)域。因此,將DroidVisor 的核心監(jiān)控代碼位于該區(qū)域。被監(jiān)控的操作系統(tǒng)內(nèi)核運(yùn)行于普通區(qū)域的特權(quán)模式,用戶程序運(yùn)行在普通區(qū)域的用戶模式。DroidVisor 對(duì)被監(jiān)控操作系統(tǒng)的改動(dòng)很小,監(jiān)控程序也比較簡(jiǎn)單,有利于保證監(jiān)控程序本身的安全性驗(yàn)證。
DroidVisor 的設(shè)計(jì)架構(gòu)如圖1 所示。
圖1 DroidVisor 架構(gòu)
DroidVisor 監(jiān)控器設(shè)計(jì)基于以下2 點(diǎn):(1)兩階段內(nèi)存地址轉(zhuǎn)換,從VA->IPA->PA。其中,第二階段對(duì)于被監(jiān)控的操作系統(tǒng)是透明的,只有監(jiān)控器能控制第二階段內(nèi)存轉(zhuǎn)換的頁(yè)表結(jié)構(gòu)。(2)處于HYP 模式的監(jiān)控器能對(duì)資源擁有最高的訪問(wèn)權(quán)限,能訪問(wèn)被監(jiān)控系統(tǒng)的頁(yè)表目錄基址寄存器、控制寄存器、以及異常向量地址寄存器等。監(jiān)控器可以通過(guò)修改需要保護(hù)的頁(yè)面的訪問(wèn)權(quán)限屬性,來(lái)阻止惡意代碼對(duì)內(nèi)核關(guān)鍵對(duì)象的修改以及內(nèi)核控制流的篡改。而不需要更改被監(jiān)控的操作系統(tǒng)。同時(shí)由于監(jiān)控器擁有更高的權(quán)限,因此能看到被監(jiān)控系統(tǒng)整個(gè)內(nèi)核空間的完整視圖,能有效地檢測(cè)Rootkit 的存在。
DroidVisor 保護(hù)內(nèi)核關(guān)鍵對(duì)象不被惡意程序篡改和破壞,并能第一時(shí)間阻止此類惡意代碼的攻擊。Linux 內(nèi)核中存在的關(guān)鍵對(duì)象主要有基本內(nèi)核代碼、內(nèi)核模塊代碼、異常向量表、系統(tǒng)調(diào)用表和內(nèi)核導(dǎo)出函數(shù)等。
DroidVisor 基于ARM 虛擬化擴(kuò)展機(jī)制提供的兩階段地址轉(zhuǎn)換過(guò)程,如圖2 所示。第一階段轉(zhuǎn)換過(guò)程由MMU使用被監(jiān)控的操作系統(tǒng)的頁(yè)表結(jié)構(gòu)進(jìn)行地址轉(zhuǎn)換,該頁(yè)表結(jié)構(gòu)由被監(jiān)控的操作系統(tǒng)控制;第二階段地址轉(zhuǎn)換由DroidVisor 控制,并且該頁(yè)表結(jié)構(gòu)對(duì)被監(jiān)控的系統(tǒng)是透明的。因此,通過(guò)第二階段的頁(yè)表來(lái)控制操作系統(tǒng)對(duì)內(nèi)存的操作,而被監(jiān)控的系統(tǒng)中的惡意代碼無(wú)法感知,有很好的隔離效果。
圖2 兩階段地址轉(zhuǎn)換過(guò)程
Linux 提供LKM 的機(jī)制來(lái)擴(kuò)展內(nèi)核功能,而該功能正是惡意代碼利用的手段。研究表明,60.4%的內(nèi)核攻擊來(lái)自不信任的第三方內(nèi)核模塊。DroidVisor 對(duì)內(nèi)核模塊的加載和卸載進(jìn)行監(jiān)控,對(duì)于第三方不信任模塊的運(yùn)行,使用一套新的第二階段地址轉(zhuǎn)換頁(yè)表結(jié)構(gòu),該頁(yè)表結(jié)構(gòu)在頁(yè)表項(xiàng)上有嚴(yán)格的訪問(wèn)控制權(quán)限,對(duì)不信任模塊的內(nèi)存隔離,并能及時(shí)報(bào)告和處理模塊中惡意代碼對(duì)關(guān)鍵內(nèi)核對(duì)象的破壞。
DroidVisor 通過(guò)監(jiān)控器代理模塊獲取關(guān)鍵對(duì)象的虛擬地址。Linux 內(nèi)核提供了system.map 文件,保存了內(nèi)核導(dǎo)出符號(hào)對(duì)應(yīng)的虛擬地址,如圖3 所示。
圖3 DroidVisor 關(guān)鍵對(duì)象的頁(yè)面屬性
保護(hù)設(shè)置的過(guò)程如下:
(1)監(jiān)控器請(qǐng)求獲取關(guān)鍵對(duì)象的虛擬地址;
(2)代理模塊解析system.map 獲取關(guān)鍵對(duì)象的虛擬地址;
(3)代理模塊將虛擬地址傳給監(jiān)控器;
(4)監(jiān)控器使用被監(jiān)控系統(tǒng)的頁(yè)表結(jié)構(gòu)獲取虛擬地址對(duì)應(yīng)的IPA;
(5)監(jiān)控器利用第二階段轉(zhuǎn)換頁(yè)表獲取IPA 對(duì)應(yīng)頁(yè)表項(xiàng);
(6)設(shè)置PTE 的訪問(wèn)屬性。
ARM 虛擬化擴(kuò)展第二階段地址轉(zhuǎn)換使用大物理地址擴(kuò)展(LPAE),使用64 位長(zhǎng)度的頁(yè)描述符。其中,bit[7:6]為訪問(wèn)控制位AP[2:1],第二階段的訪問(wèn)屬性如表1 所示。
表1 AP 模型訪問(wèn)控制屬性
在要保護(hù)的關(guān)鍵對(duì)象的第二階段地址轉(zhuǎn)換對(duì)應(yīng)的頁(yè)表描述符上,設(shè)置相應(yīng)的訪問(wèn)控制屬性,當(dāng)惡意代碼修改被保護(hù)的關(guān)鍵對(duì)象,在第二階段地址轉(zhuǎn)換便會(huì)產(chǎn)生異常,DroidVisor 捕獲該異常,確認(rèn)是由不信任模塊中的惡意代碼修改了保護(hù)的對(duì)象后,DroidVisor 請(qǐng)求代理模塊完成一些復(fù)雜的功能,如信息打印等。并將該異常注入到被監(jiān)控系統(tǒng)的異常處理程序,由操作系統(tǒng)結(jié)束有惡意行為的進(jìn)程或者報(bào)告給用戶。異常注入過(guò)程為:(1)讀取異常向量表的地址;(2)將異常信息填寫(xiě)到異常狀態(tài)寄存器中;(3)將異常處理程序地址填入ELR_hyp 寄存器,異常處理地址等于異常向量表地址+特定異常偏移;(4)執(zhí)行eret 指令。DroidVisor 也使用了同樣的方式來(lái)執(zhí)行代理模塊的功能,代理模塊實(shí)現(xiàn)了一個(gè)類似的功能向量表。
在3.1 節(jié)中闡述了利用DroidVisor 來(lái)保護(hù)內(nèi)核完整性,該方法雖然能阻止惡意代碼修改,如系統(tǒng)調(diào)用表、異常向量或者內(nèi)核代碼等關(guān)鍵對(duì)象。但此方法對(duì)某些直接對(duì)象操作(DKOM)的rootkit 不適合,如模塊隱藏、進(jìn)程隱藏等,因?yàn)橄到y(tǒng)中有很多的內(nèi)核對(duì)象如模塊鏈表、進(jìn)程鏈表,并且這些鏈表結(jié)構(gòu)隨著模塊的動(dòng)態(tài)加載和卸載、進(jìn)程創(chuàng)建和退出時(shí)刻發(fā)生變化,若對(duì)每個(gè)結(jié)構(gòu)都進(jìn)行3.1 節(jié)中所示的保護(hù),會(huì)觸發(fā)很多異常,并且嚴(yán)重影響了系統(tǒng)的性能。因此,為了權(quán)衡系統(tǒng)安全性和性能,不必對(duì)這些鏈表進(jìn)行保護(hù),但必須能在系統(tǒng)被入侵后較快的時(shí)間內(nèi)檢查出威脅。本節(jié)對(duì)隱藏的模塊和進(jìn)程檢測(cè)證明利用DroidVisor 能迅速地檢測(cè)到rootkit。
為了能迅速地檢測(cè)到系統(tǒng)受到的威脅。因此,必須在很短的時(shí)間段執(zhí)行一次檢查。DroidVisor 選擇進(jìn)程切換時(shí)作為檢查點(diǎn)。理由是進(jìn)程切換必須更改頁(yè)目錄基址寄存器,該寄存器為CP15 協(xié)處理器的C2 寄存器,并且能在惡意程序還沒(méi)有再次運(yùn)行前就可以檢測(cè)到該類的隱藏行為。ARM硬件虛擬化支持設(shè)置CP15 訪問(wèn)控制,當(dāng)客戶機(jī)特權(quán)級(jí)和用戶級(jí)對(duì)CP15 特定的寄存器訪問(wèn)時(shí),將觸發(fā)陷阱,并由DroidVisor 截獲該異常。
在處理該異常時(shí),DroidVisor 獲取被監(jiān)控系統(tǒng)的模塊視圖,對(duì)比模塊在加載和卸除時(shí)登記的信息可以檢測(cè)出系統(tǒng)是否存在隱藏模塊信息的rootkit。檢測(cè)過(guò)程如下:
由于Linux 內(nèi)核地址使用虛擬地址到物理地址的轉(zhuǎn)換只是加上一個(gè)偏移,因此對(duì)第一階段的地址轉(zhuǎn)換不需要使用頁(yè)表進(jìn)行轉(zhuǎn)換。同時(shí)虛擬機(jī)監(jiān)控器將IPA 直接映射到物理地址上,只是在訪問(wèn)權(quán)限上做一些設(shè)置,因此由IPA 到PA 的轉(zhuǎn)換過(guò)程也不需要進(jìn)行第二階段頁(yè)表轉(zhuǎn)換。上述從虛擬地址到物理地址的轉(zhuǎn)換代價(jià)是O(1),而鏈表遍歷過(guò)程的代價(jià)是O(n),因此,這個(gè)過(guò)程對(duì)系統(tǒng)的性能主要受到模塊數(shù)目的影響。
同樣在進(jìn)行進(jìn)程切換的同時(shí),檢測(cè)將要運(yùn)行的進(jìn)程是否在tasks 鏈表中,如果該進(jìn)程不在進(jìn)程鏈表中則可以判定該進(jìn)程為被隱藏的進(jìn)程,說(shuō)明系統(tǒng)中存在此類的rootkit。檢測(cè)函數(shù)如下:
該函數(shù)主要的代價(jià)是進(jìn)程鏈表的遍歷,同上被監(jiān)控系統(tǒng)的虛擬地址到物理地址的轉(zhuǎn)換過(guò)程代價(jià)為O(1),對(duì)鏈表的遍歷代價(jià)為O(n),n是系統(tǒng)中進(jìn)程的數(shù)量??梢?jiàn),該檢測(cè)函數(shù)對(duì)系統(tǒng)的性能影響也主要受到系統(tǒng)中進(jìn)程數(shù)目的影響。
DroidVisor 在普通區(qū)域中有著至高的權(quán)利,能完全地訪問(wèn)各種資源,控制被監(jiān)控系統(tǒng)的各階段地址轉(zhuǎn)換。因此,監(jiān)控器自身的安全也相當(dāng)重要。監(jiān)控器要盡量簡(jiǎn)單,因?yàn)樵綇?fù)雜隱藏的缺陷就越可能越多。并且輕量級(jí)的監(jiān)控器,方便對(duì)其進(jìn)行形式化驗(yàn)證。DroidVisor 除了使用簡(jiǎn)單、輕量級(jí)的設(shè)計(jì)策略之外,還使用了內(nèi)存隔離和基于TrustZone 的硬件保護(hù)機(jī)制。
監(jiān)控器為了簡(jiǎn)單的目的,沒(méi)有實(shí)現(xiàn)對(duì)設(shè)備的模擬,而是直接使用被監(jiān)控程序的驅(qū)動(dòng)程序?qū)υO(shè)備進(jìn)行驅(qū)動(dòng)。DroidVisor 將客戶機(jī)第一階段地址轉(zhuǎn)換的IPA 直接映射到相應(yīng)的物理內(nèi)存中,只是在頁(yè)表項(xiàng)增加了訪問(wèn)控制權(quán)限等。為了保護(hù)監(jiān)控器的安全,從內(nèi)存上進(jìn)行隔離,bootloader 給被監(jiān)控系統(tǒng)內(nèi)核傳遞參數(shù)時(shí),隱藏了監(jiān)控器的物理地址空間。如圖4 所示為整個(gè)系統(tǒng)內(nèi)存隔離視圖。
圖4 DroidVisor 內(nèi)存布局
除了在給內(nèi)核傳遞參數(shù)時(shí)進(jìn)行內(nèi)存隱藏,DroidVisor還控制第二階段地址轉(zhuǎn)換,防止惡意代碼暴力枚舉內(nèi)存空間,并將其映射到操作系統(tǒng)內(nèi)核空間對(duì)監(jiān)控器進(jìn)行攻擊。
此外,DroidVisor 要獲得被監(jiān)控系統(tǒng)的關(guān)鍵信息以及監(jiān)控行為的信息輸出。必須與代理模塊緊密交互,可見(jiàn),代理模塊對(duì)整個(gè)監(jiān)控過(guò)程至關(guān)重要,決定了監(jiān)控器是否能正確設(shè)置某些策略。因此,對(duì)代理模塊的保護(hù)也是很必要的。首先要確定加載時(shí)該代理模塊就是信任的模塊,其次在系統(tǒng)運(yùn)行過(guò)程中要保證該模塊不能其他惡意代碼修改。
代理模塊驗(yàn)證,在模塊加載時(shí)監(jiān)控程序捕獲模塊加載的過(guò)程,并請(qǐng)求TrustZone 安全保護(hù)技術(shù)提供的服務(wù)對(duì)模塊進(jìn)行檢測(cè),本文在TrustZone 的可信服務(wù)中主要使用白名單摘要驗(yàn)證方法,當(dāng)且僅當(dāng)該模塊的摘要存在白名單中,該模塊為信任模塊。經(jīng)過(guò)驗(yàn)證的模塊才能與監(jiān)控器進(jìn)一步通信,監(jiān)控器并登記代理模塊信息和功能函數(shù)表,以便后續(xù)過(guò)程進(jìn)程功能請(qǐng)求調(diào)用。
此外,還必須保護(hù)代理模塊在運(yùn)行中不被惡意程序破壞和篡改。使用3.1 節(jié)中使用內(nèi)核對(duì)象保護(hù)方法,但是區(qū)分當(dāng)前系統(tǒng)是否有不可信模塊而有所區(qū)別。當(dāng)代理模塊加載前,系統(tǒng)中無(wú)不可信的模塊,則直接加載,不做任何保護(hù),因?yàn)榇藭r(shí)系統(tǒng)在加載時(shí)被驗(yàn)證是可信的。當(dāng)代理模塊加載前,系統(tǒng)中存在不可信的內(nèi)核模塊,而此時(shí)系統(tǒng)使用的是增強(qiáng)了安全屬性的第二階段地址轉(zhuǎn)換頁(yè)表結(jié)構(gòu),這就要求在代理模塊加載完成后,修改代理模塊的地址空間頁(yè)表屬性,防止其他惡意代碼修篡改代理模塊。
目前,ARM 虛擬化擴(kuò)展支持的處理有Cortex-A15。三星電子正式發(fā)布了Exynos525,Galaxy S4 手機(jī)就是基于Cortext A15 的??梢灶A(yù)見(jiàn)在不遠(yuǎn)的將來(lái),就會(huì)有大量基于ARMv7 并支持硬件虛擬化的手機(jī)在市場(chǎng)中出現(xiàn)。
本文的實(shí)驗(yàn)是基于ARM FastModel。FastModel 解決嵌入式系統(tǒng)的軟件開(kāi)發(fā)周期可因等待昂貴的開(kāi)發(fā)硬件而產(chǎn)生的延遲。并且加快在完全驗(yàn)證的系統(tǒng)上開(kāi)發(fā)全功能軟件的速度。它能在功能性上精確地模擬ARM 硬件,但無(wú)法精確模擬處理器速度。實(shí)驗(yàn)中用FastModel 對(duì)Cortex A15 進(jìn)行模擬。
本文實(shí)驗(yàn)1 針對(duì)Android 系統(tǒng)的rootkit[14]進(jìn)行測(cè)試,在4 個(gè)rootkit 中,其中,3 個(gè)修改sys_call_table;1 個(gè)修改swi 軟件中斷跳轉(zhuǎn)偏移。上述4 個(gè)rootkit 都能被DroidVisor立刻阻止其惡意行為,保護(hù)系統(tǒng)調(diào)用表和異常向量表不被篡改,實(shí)驗(yàn)結(jié)果如圖5 所示。
圖5 DroidVisor 對(duì)關(guān)鍵內(nèi)核對(duì)象的保護(hù)
本文參照Adore-ng 的原理實(shí)現(xiàn)了一個(gè)基于Android 平臺(tái)的內(nèi)核級(jí)rootkit,并加載到Android 的內(nèi)核空間,該rootkit能完成模塊隱藏和進(jìn)程隱藏的功能,實(shí)驗(yàn)證明。DroidVisor能及時(shí)地檢測(cè)到此類威脅。實(shí)驗(yàn)2 為對(duì)模塊隱藏的檢測(cè),實(shí)驗(yàn)3 為對(duì)進(jìn)程隱藏的檢測(cè)。
實(shí)驗(yàn)2 對(duì)DroidVisor 的模塊隱藏檢測(cè)功能進(jìn)行測(cè)試,如圖6 所示。圖6(a)中模塊hello 對(duì)helloa 模塊進(jìn)行隱藏。圖6(b)中模塊隱藏時(shí)被檢測(cè)到。結(jié)果顯示,DroidVisor 能快速地覺(jué)察到系統(tǒng)中隱藏的模塊。
圖6 隱藏模塊檢測(cè)
實(shí)驗(yàn)3 對(duì)DroidVisor 的進(jìn)程隱藏檢測(cè)功能進(jìn)行測(cè)試,如圖7 所示。圖7(a)、圖7(b)在無(wú)rootkit 檢測(cè)的環(huán)境中對(duì)ping 進(jìn)程進(jìn)行隱藏,該進(jìn)程在后臺(tái)繼續(xù)運(yùn)行,使用ps 命令無(wú)法查看到被隱藏進(jìn)程的信息。圖7(c)、圖7(d)中DroidVisor立刻檢測(cè)到即將要運(yùn)行的進(jìn)程為隱藏的進(jìn)程。結(jié)果證明DroidVisor 有快速地覺(jué)察到系統(tǒng)中隱藏進(jìn)程的功能。
圖7 隱藏進(jìn)程的檢測(cè)
由于FastModel 不能精確地進(jìn)行處理器性能進(jìn)行仿真。為了測(cè)試DroidVisor 對(duì)被監(jiān)控系統(tǒng)的性能影響,實(shí)驗(yàn)采用與未使用DroidVisor 的系統(tǒng)進(jìn)程切換時(shí)switch_mm 的時(shí)間代價(jià)進(jìn)行比較。分別為沒(méi)有使用DroidVisor 的性能、使用DroidVisor 但未開(kāi)啟Rootkit 檢測(cè)功能的性能,以及使用DroidVisor 并開(kāi)啟Rootkit 檢測(cè)功能的性能。如圖8 所示,是一次運(yùn)行過(guò)程中,每次進(jìn)程切換時(shí)switch_mm 的時(shí)間消耗對(duì)比,圖9 是10 次運(yùn)行進(jìn)程切換switch_mm 平均的時(shí)間消耗的對(duì)比。
圖8 每次進(jìn)程切換switch_mm 的時(shí)間消耗
圖9 10 次運(yùn)行switch_mm 的平均時(shí)間消耗
從實(shí)驗(yàn)數(shù)據(jù)分析得知,在不使用DroidVisor 的rootkit檢測(cè)功能時(shí),DroidVisor 對(duì)被監(jiān)控的系統(tǒng)的性能影響很低,平均增加時(shí)間為0.000 005 s 以下。使用DroidVisor 的rootkit的檢測(cè)功能,對(duì)性能的影響開(kāi)始變大,由于每次執(zhí)行監(jiān)測(cè)都要遍歷進(jìn)程和模塊鏈表,因此影響性能的主要因素與進(jìn)程和模塊的數(shù)目有關(guān)。對(duì)10 次測(cè)試結(jié)果可以看到,性能影響最壞的時(shí)間增量為0.000 09 s。
本文通過(guò)分析當(dāng)前對(duì)操作系統(tǒng)內(nèi)核保護(hù)方法,提出一種基于ARM 硬件虛擬化技術(shù)的移動(dòng)操作系統(tǒng)的監(jiān)控保護(hù)方案DroidVisor,主要保護(hù)操作系統(tǒng)內(nèi)核關(guān)鍵對(duì)象以及檢測(cè)rootkit 威脅。實(shí)驗(yàn)結(jié)果證明,DroidVisor 能立刻阻止對(duì)監(jiān)控對(duì)象的篡改,并且能快速地檢測(cè)到系統(tǒng)中的rootkit 威脅。后續(xù)工作將繼續(xù)研究對(duì)系統(tǒng)內(nèi)核所有關(guān)鍵對(duì)象的監(jiān)控,以阻止破壞操作系統(tǒng)完整性的威脅。同時(shí),將減少監(jiān)控過(guò)程對(duì)系統(tǒng)性能的影響。
[1] Enck W,Gilbert P.TaintDroid:An Information-flow Tracking System for Realtime Privacy Monitoring on Smartphones[C]//Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation.[S.1.]:IEEE Press,2010:393-407.
[2] Grace M,Zhou Yajin,Wang Zhi,et al.Systematic Detection of Capability Leaks in Stock Android Smartphones[C]//Proceedings of NDSS’12.[S.1.]:IEEE Press,2012:107-201.
[3] Enck W,Ongtang M,McDaniel P.On Lightweight Mobile Phone Application Certification[C]//Proceedings of ACM Conference on Computer and Communications Security.[S.1.]:ACM Press,2009:235-245.
[4] Nauman M,Khan S,Zhang X.Apex:Extending Android Permission Model and Enforcement with User-defined Runtime Constraints[C]//Proceedings of ACM Conference on Computer and Communication Security.[S.1.]:ACM Press,2010:328-332.
[5] Bugiel S.Towrads Taming Privilege-escalation Attacks on Android[C]//Proceedings of ISC’10.[S.1.]:IEEE Press,2010:346-360.
[6] Shabtai A,Fledel Y,Elovici Y.Security Android-powered Mobile Device Using SELinux[J].IEEE Security &Privacy,2008,8(3):36-44.
[7] NVD.CEV-2007-6562[EB/OL].(2013-04-17).http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-6562.
[8] Seshadri A,Luk M,Qu Ning,et al.SecVisor:A Tiny Hypervisor to Provide Lifetime Kernel Code Integrity for Commodity OSes[C]//Proceedings of ACM SOSP’07.[S.1.]:ACM Press,2007:335-350.
[9] 李 珣,黃 皓.一個(gè)基于硬件虛擬化的內(nèi)核完整性監(jiān)控方法[J].計(jì)算機(jī)科學(xué),2011,38(12):68-72.
[10]Hwang Joo-Young.Xen on ARM:System Virtualization Using Xen Hypervisor for ARM-based Secure Mobile Phones[C]//Proceedings of the 5th IEEE Consumer Communications and Networking Conference.[S.1.]:IEEE Press,2008:257-261.
[11]Dall C,Nieh J.KVM for ARM[C]//Proceedings of Linux Symposium.[S.1.]:IEEE Press,2010:45-56.
[12]Andrus J,Dall C,Hof A V,et al.Cells:A Virtual Mobile Smartphone Architecture[C]//Proceedings of ACM SOSP’11.[S.1.]:ACM Press,2011:173-187.
[13]Lange M,Liebergeld S.L4 Android:A Generic Operating System Framework for Secure Smartp-hones[C]//Proceedings of SPSM’11.[S.1.]:ACM Press,2011:39-50.
[14]You Dong-Hoon.Android Platform Based Linux Kernel Rootkit[EB/OL].(2013-04-17).http://www.phrack.com/issues.html?issue=68&id=6.