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