王堃
摘要 2008年前后,國(guó)內(nèi)隨著安卓操作系統(tǒng)手機(jī)普遍推廣應(yīng)用,移動(dòng)數(shù)據(jù)安全,移動(dòng)APP安全問(wèn)題逐漸浮出水面,特別在2010年國(guó)內(nèi)大規(guī)模爆發(fā)的,安卓手機(jī)應(yīng)用病毒傳染事件,使數(shù)以十萬(wàn)計(jì)的安卓設(shè)備,個(gè)人隱私信息泄露,影響和后果足以引起信息安全工作者的重視。針對(duì)移動(dòng)端的沙箱安全防護(hù)技術(shù)研究逐漸興起。
【關(guān)鍵詞】沙箱 安卓系統(tǒng) 移動(dòng)數(shù)據(jù)安全
1 緒論
1.1 沙箱技術(shù)
沙箱( Sandbox)是一種基于既定安全策略,具有限制并運(yùn)行程序的一種執(zhí)行環(huán)境。性質(zhì)與根植于主機(jī)還原操作行為的虛擬運(yùn)行相類(lèi)似?;谏诚涞陌踩珯C(jī)制能夠?qū)崟r(shí)監(jiān)視程序行為,并當(dāng)程序有惡意越界操作時(shí),限制程序執(zhí)行違反安全策略的操作。沙箱技術(shù)的核心工作,就是將一個(gè)操作受限的應(yīng)用程序執(zhí)行環(huán)境建立起來(lái),將不受信任的一些程序轉(zhuǎn)移到沙箱中運(yùn)行,形成來(lái)限制和防范功能,回滾其可能對(duì)系統(tǒng)造成的破壞。
當(dāng)程序在其中運(yùn)行時(shí),某些危險(xiǎn)操作都會(huì)被沙箱虛擬化重定向,例如,注冊(cè)表、文件操作等,所有對(duì)注冊(cè)表和文件的操作都是虛擬的,手機(jī)中真實(shí)件并不會(huì)被修改,程序的一些危險(xiǎn)行為會(huì)被沙箱禁止,例如底層磁盤(pán)操作,某硬件驅(qū)動(dòng)重新安裝,提升某APP權(quán)限等操作,這就確保系統(tǒng)環(huán)境不會(huì)受到影響。
1.2 沙箱系統(tǒng)
沙箱系統(tǒng)是新的用于處理惡意代碼的方式。主要是讓無(wú)信任權(quán)限的程序運(yùn)行在虛擬機(jī)上,而虛擬機(jī)只能訪問(wèn)受用戶權(quán)限制的副本。在應(yīng)用程序中,虛擬操作環(huán)境下的一些文件所發(fā)生的相應(yīng)變化會(huì)直接被忽略,但程序如果被認(rèn)為有惡意,會(huì)直接被記入日志。但使用這種方案有幾點(diǎn)需要用戶注意:
(1)沙箱的運(yùn)用會(huì)出現(xiàn)一些兼容性的問(wèn)題。
(2)沙箱概念的建立要基于執(zhí)行程序友高度的信任權(quán)限。
(3)沙箱或許不能阻止利用網(wǎng)絡(luò)服務(wù)而帶來(lái)的反制病毒。
(4)虛擬系統(tǒng)可能會(huì)出現(xiàn)行為阻斷系統(tǒng)中的類(lèi)似漏洞。
如常見(jiàn)的惡意軟件或者APP有兩種常見(jiàn)的檢測(cè)軟件模式,包括靜態(tài)分析與動(dòng)態(tài)分析,其中靜態(tài)分析:利用二進(jìn)制展開(kāi)分析,而且是在惡意軟件還未開(kāi)始執(zhí)行之前預(yù)先進(jìn)行。其中包括反編譯、解壓縮、源代碼分析,并展開(kāi)惡意模式對(duì)比和系統(tǒng)調(diào)用的提前預(yù)測(cè)。而且上述過(guò)程均采用病毒碼過(guò)濾二進(jìn)制文件。靜態(tài)分析的一個(gè)優(yōu)勢(shì)就是分析快速而且相對(duì)簡(jiǎn)單,而它的主要缺點(diǎn)是病毒碼必須是提前已知的,不然就無(wú)法進(jìn)行病毒應(yīng)用的對(duì)比工作,而且不可能自動(dòng)檢測(cè)新型惡意軟件或是讓相關(guān)專(zhuān)家介入分析。
2 動(dòng)態(tài)分析
動(dòng)態(tài)分析是使給定的應(yīng)用程序/APP在一個(gè)受控環(huán)境中運(yùn)行并監(jiān)控其行為的一組技術(shù)。其使用了許多啟發(fā)式方法以強(qiáng)化對(duì)應(yīng)用程序/APP動(dòng)態(tài)行為的捕獲能力,比如監(jiān)控文件傳輸、文件權(quán)限改變、網(wǎng)絡(luò)通訊,進(jìn)程資源分配、系統(tǒng)資源的使用等。一個(gè)通用的動(dòng)態(tài)軟件分析手段就是沙箱。沙箱可以定義為“一個(gè)進(jìn)程行為被安全策略所限制的環(huán)境”。用戶空間( UserSpace)沙箱系統(tǒng)通常選擇向系統(tǒng)數(shù)據(jù)庫(kù)注入代碼,達(dá)到掌控應(yīng)用程序常用API的目的,或是在自己建立的獨(dú)立環(huán)境中調(diào)試應(yīng)用樣本,類(lèi)似ADSandbox。但惡意軟件可能具有反偵察能力,能夠檢測(cè)到用戶空間沙箱,從而將偽裝成正常應(yīng)用以避免被發(fā)現(xiàn)。內(nèi)核空間( KernelSpace)沙箱極力克服這個(gè)問(wèn)題,它通過(guò)執(zhí)行一個(gè)底層監(jiān)控方法,在內(nèi)核中監(jiān)測(cè)原始系統(tǒng)調(diào)用。沙箱系統(tǒng)的一種工作方式就是監(jiān)控系統(tǒng)和數(shù)據(jù)庫(kù)以及它們參數(shù)的調(diào)用情況。
3 結(jié)語(yǔ)
考慮到安卓系統(tǒng)本身的特性,其適合采用純用戶態(tài)的沙箱實(shí)現(xiàn)機(jī)制,利用軟件隔離技術(shù)實(shí)現(xiàn),該方法的優(yōu)點(diǎn)在于沙箱在用戶級(jí)執(zhí)行策略,而與操作系統(tǒng)的具體實(shí)現(xiàn)無(wú)關(guān),同時(shí)沙箱具有很好的擴(kuò)展性。該方法的缺點(diǎn)有,純用戶級(jí)沙箱限制了沙箱的使用范圍,僅對(duì)系統(tǒng)承載的APP/應(yīng)用可用。并且也無(wú)法利用機(jī)器本身的硬件優(yōu)勢(shì)。作為用戶的我們,正確地使用沙箱能帶來(lái)好處,但是同時(shí)也要意識(shí)到危險(xiǎn)的存在。
參考文獻(xiàn)
[1]陳珂,柯文德,王愛(ài)國(guó)等,基于沙盒技術(shù)的行為分析系統(tǒng)研究[J]計(jì)算機(jī)技術(shù)與發(fā)展,2015, 25 (08):167-168.
[2]彭暉,常樂(lè),沈亞軍.Internet環(huán)境下沙箱問(wèn)題的一種解決方法[J]電腦開(kāi)發(fā)與應(yīng)用,2002,15 (08):5-6.
[3]王鶴嗚,電腦信息安全保護(hù)傘一沙箱[J]信息安全與通信保密,2012(01):37-39.