李喆
摘要:在Android系統環境下,主要介紹移動智能終端的特點和一些固有的安全機制,有助于我們在移動智能終端自身特點和安全性基礎上研究移動終端的安全體系。對Android系統相關的安全防護和檢測的概念進行歸納總結,揭示了Android平臺的層次化安全體系。最后分析對比目前的移動智能終端惡意軟件檢測技術的優劣。
關鍵詞:移動 智能終端 軟件安全 軟件檢測
中圖分類號:TP309 文獻標識碼:A 文章編號:1007-9416(2014)12-0195-01
1 Android體系結構概述
移動智能終端是指安裝有開放式的智能化操作系統的設備,通過加載相應的程序來實現相應功能。目前主要是以智能手機,平板電腦,電子閱覽器,甚至可穿戴設備等為代表。它擴展性極強,功能強大,可以通過無線隨時接入網絡。一般由操作系統、應用軟件、處理器和存儲器等硬件組成。具有隨時攜帶,使用碎片化,使用便捷等特點。Android系統是目前最流行、使用最廣的移動設備研發平臺,作為研究對象具有重要意義。Android主要由系統內核,中間件以及應用程序框架構成。
2 Android安全機制分析
2.1 內核安全機制
Android內核層安全機制主要包括可移植操作系統接口用戶和文件訪問控制。這些機制的基本元素是用戶及其擁有的對象,其中用戶訴進一步分配到用戶組。另外內存控制機制以及ICC通信機制也一定程度上保證了Android的運行安全。
2.2 運行環境安全機制
(1)強制類型安全機制。該機制主要是通過對賦值變量的值與聲明類型記性強制檢查,看是否符合標準,從而保證變量的正確使用。具體來說,Android系統編譯器在檢查類型的時候,通過自動存儲及對數組邊界的檢查保證類型安全,防止減少緩沖區溢出攻擊,或者類似類型轉化的錯誤。
(2)Dalvik虛擬機沙盒機制。Android應用程序運行在Dalvik虛擬機上,不同于JVM基于棧,Dalvik虛擬機是基于寄存器的,這是考慮到移動智能終端自身的物理硬件特點不便于執行更多的指令。同時Dalvik虛擬機為移動智能終端進行了優化,它可以在內存中同時運行多個虛擬機實例,通過POSIX UserlD可知,這樣可以保證應用程序互不干涉的獨立運行。
(3)終端安全。Android系統在設計中已經引入了3A原則。結合SIM卡中密鑰和相關協議,共同完成認證和授權,從而進一步加強系統平臺的安全性。
2.3 應用程序框架安全機制
簽名可以使程序擁有相同簽名程序設定的權限,是對程序完整性與可靠性的認證。應用程序安裝包的簽名采用非對稱加密算法,在安裝Android應用時,系統須對該程序的簽名和證書進行驗證,驗證成功才可安裝。Android系統的簽名機制包括兩個階段:包掃描階段和權限創建階段。包掃描階段需要進行完整性和證書的驗證,如果是系統package的話,只需用去提取相應的簽名和驗證信息就可以了。在權限創建階段,如果該package是系統應用,就信任它,并用新的簽名信息去替換舊的信息。
3 移動智能終端惡意軟件行為檢測技術
惡意軟件及其變種逐漸成為了移動智能終端用戶面臨的最大威脅,Android本身的安全機制已經無法對終端提供安全保護,移動智能終端正逐步論為“肉雞”。因此檢測出惡意的軟件行為具有重要意義。
3.1 移動智能終端惡意軟件定義
一直以來,惡意軟件都有著不同的定義中國互聯網協會反惡意軟件協調工作組在充分聽取成員單位意見的基礎上,最終確定了“惡意軟件”定義并向社會公布:惡意軟件是指在未明確提示用戶或未經用戶許可的情況下,在用戶計算機或其他終端上安裝運行,侵害用戶合法權益的軟件,但不包含我國法律法規規定的計算機病傅。具有下列特征之一的軟件可以被認為是惡意軟件:強制安裝、難以卸載。、瀏覽器劫持、廣告彈出、惡意收集用戶信息、惡意卸載、惡意捆綁、其他侵害用戶軟件安裝、使用和卸載知情權、選擇權的惡意行為。
現有的惡意軟件檢測技術多是借鑒計算機領域的惡意軟件檢測方法,主要分為靜態行為分析和動態行為檢測兩種。前者指內部行為主動發掘方式檢測,是在程序安裝運行之前進行異常檢測;后者則被稱為外部行為被動檢測,是在程序運行期間對軟件行為進行異常檢測。
3.2 靜態檢測技術
靜態分析的對象是程序源碼,是軟件在安裝運行之前通過逆向手段,利用某些軟件分析工具抽取靜態行為特征,如函數調用序列、二進制代碼片段、配置文件等并進行人工分析,從而理解軟件的行為。這是一種更深入的細粒度惡意行為檢測技術。目前,靜態檢測方法涉及兩種關鍵技術。
(1)代碼語義分析方法。利用反編譯工具通過逆向工程等手段,得到應用的源碼、程序圖片、配置文件以及各種語言資源文件等,分析理解源碼的語義和邏輯流程,還原出主要功能圖和流程圖,從而檢測出軟件是否存在惡意行為。
(2)特征碼分析法。通過逆向工程技術,將程序應用的操作碼序列、二進制序列以及函數調用序列等特征信息提取出來進行分析。同一種惡意行為對應的惡意代碼特征碼也是相同的。靜態分析方法還包括證書和簽名信息的比對。可以看出靜態行為檢測技術具有速度快,實時性要求低,低風險和高效率等優點。不過對于經過自修改或者加殼加密技術處理的惡意軟件,檢測率和誤報率都不盡如人意。
3.3 動態檢測技術
動態行為分析是指在嚴格控制的環境中(如沙盒、虛擬機、物理隔絕的主機等)執行軟件的安裝和運行等操作,并收錄其行為以及對系統環境和資源造成的影響。通過對行為狀況的分析,來檢測軟件是否具有竊密隱私、吸費、非法內容傳播等惡意行為。動態檢測技術對實時性的要求較高,所以對運行環境的能耗較大,一般有狀態對比和行為跟蹤兩種方法。
4 結語
以移動智能終端體系結構為出發點,在Android系統環境下評細介紹了移動智能終端尤其是Android平臺的安全機制和軟件行為分析技術。首先,詳細描述了在Android系統環境下移動智能終端的系統架構,以及各層次的特點和作用。其次,以此為基礎詳細介紹了移動智能終端Android平臺的安全機制,包括內核、運行環境以及應用程序框架三者的安全機制。最后,分析比對了移動智能終端上的軟件行為分析技術,并比較了相互之間的優缺點。
參考文獻
[1]童振飛,楊龐.Android平臺惡意軟件的靜態行為檢測[J].江蘇電信,2011.2.endprint