摘要: 隨著智能手機市場的發展, 智能手機已經融入人們的商務、工作、生活等領域, 其安全問題卻成了重大潛在威脅。關于智能手機領域的惡意代碼防范模型及其應用研究顯得尤為迫切和重要。提出了智能手機惡意代碼防范模型, 并在該模型指導下研究開發了智能手機惡意代碼的防范系統。
0 引言
在通信技術高速發展的今天, 智能手機變得越來越普及, 人們在享受智能手機強大功能的同時, 也受到來自手機惡意代碼的侵擾。為有效遏制手機惡意代碼的快速發展勢頭,相應的分析防御方法已相繼提出, 各種手機殺毒軟件也隨之應運而生。目前主流的手機惡意代碼防御方法主要參照計算機惡意代碼的分析防御技術, 包括傳統的惡意代碼防御技術( 如基于惡意代碼特征匹配的掃描技術和啟發式經驗規則等) 及行為阻斷技術; 主流手機殺毒產品基本能做到有效地實時掃描及監控、病毒處理和查殺、病毒庫及軟件更新, 其配套的通信基礎設施也在逐步完善當中。
各種殺毒工具都是基于惡意代碼的特征碼實現, 在惡意代碼出現到特征碼被提取出的這段時間足以讓惡意代碼實現破壞力, 而殺毒工具對此卻無能為力。盡管手機網絡可以借鑒互聯網的防范技術, 但由于智能手機和計算機軟硬件上的本質差別,如何有效防范智能手機的惡意代碼正越來越受到人們的關注。對此, 本文研究開發了智能手機惡意代碼防范系統, 以實現在手機終端、網關、服務器及PC產品等層面上對智能手機惡意代碼的立體防范。
1 智能手機惡意代碼防范模型
針對智能手機的惡意代碼問題, 本文提出了智能手機惡意代碼防范模型, 并詳細介紹了該模型各個層次的功能, 為智能手機惡意代碼防范提供理論依據。
圖1 是本文提出的智能手機惡意代碼防范模型, 該模型以當前的計算機病毒防范為參考, 從5 個層次規劃智能手機惡意代碼防范模型, 其目標是為實際的智能手機惡意代碼防范系統提供理論指導。
圖1 智能手機惡意代碼防范模型
按對智能手機的防范能力,可以把整個模型劃分為惡意代碼檢測層、備份恢復層、實時監控層、漏洞管理層、數字免疫層等5 個層次。此外,為了支持模型5 個層次的運行,模型中還包括核心數據模塊。核心數據模塊包含5 個層次所要求的數據( 例如, 惡意代碼特征庫、防范策略、免疫信息等)以及獲得這些數據需要的支持模塊( 例如, 惡意代碼分析等) 。
接下來,以5 個層次為序分別簡要描述模型的內容。
1.1 惡意代碼檢測層
惡意代碼檢測層主要指惡意代碼檢測引擎, 它由兩個部分組成: 特征代碼庫和掃描算法。組織合理的特征代碼庫和高效的掃描算法是惡意代碼掃描引擎的兩個核心部分。其具體將研究特征代碼庫的組織方法, 使特征代碼庫盡量節省空間; 提高掃描算法的執行效率, 降低掃描算法的空間復雜度, 以適應智能手機設備的特定硬件需求。
1.2 備份恢復層
在智能手機安全領域, 由于存在與計算機的重要區別, 因此, 可以用恢復技術來恢復被感染對象的功能。這些區別主要表現在: 計算機不僅運行應用程序, 而且還是程序員編制程序的工具, 因此, 時時刻刻都有新的應用程序出現在計算機中。而智能手機則完全不同, 用戶不會在智能手機上編制新的應用程序。即使下載安裝了其他應用, 也是非常有限( 可枚舉) 的集合。因此, 備份恢復層功能是把智能手機領域用到的應用都備份到一個公共平臺上, 當發現用戶的手機中有部分對象遭到破壞時, 采用從公共平臺恢復的手段來恢復被感染對象。
1.3 實時監控層
實時監控層的功能是監控手機的數據出入口,起到安全預防的功能。在實際環境中, Internet 訪問、短消息服務、Email 服務、信息共享( 藍牙、紅外、PC、USB、存儲卡) 、WAP、GPRS??CDMA??GSM 是病毒入侵智能手機的途徑。實時監控工具預防惡意代碼通過這些途徑入侵智能手機。部署在手機上的實時監控工具將監控進出互聯網絡、信息服務、藍牙、紅外線等接口的數據, 實現預防惡意代碼入侵, 防止用戶信息被竊取的功能。
1.4 漏洞管理層
智能手機系統漏洞管理層主要有兩層含義。在客戶端, 表現為一個工具軟件, 用于探測已知的漏洞或脆弱性, 提醒用戶安全事項。另一個層次的含義是設計一個公共的協議, 讓眾多的手機廠商、手機軟件開發商遵循。廠商可以通過該協議發布漏洞補丁, 便于用戶下載安裝。
1.5 數字免疫層
就傳統的計算機系統安全而言, 現有的防范計算機病毒的技術都是權宜之計。盡管這些防范技術都取得了非常好的效果, 但在新病毒不斷出現的情況下, 沒有一勞永逸的基礎架構可以解決計算機病毒防范問題。
本文將在數字免疫層研究在智能手機領域解決惡意代碼的問題, 并采用“免疫”技術來實現智能手機領域的長遠防范方法。數字免疫基礎設施包含多層意思: 首先, 它不是局限于某個軟件、某個系統的狹隘免疫思想( 該方法已被證明為不可行) , 而是著眼于所有智能手機及其相關服務領域的宏觀免疫思想; 其次, 與其說它是一個系統, 還不如說它是一個基礎設施, 這就預示著其建設過程將非常艱巨; 最后, 免疫的對象不是某個程序, 而是一個系統( 智能手機) , 這也更加貼近生物領域的免疫概念。
除了5 個層次之外, 核心數據模塊包含5 個層次所要求的數據( 例如, 惡意代碼特征庫、防范策略、免疫數字等) 以及獲得這些數據需要的支持模塊( 例如, 惡意代碼分析等) 。
惡意代碼樣本采集和分析技術是防范技術的前提。與計算機病毒防范類似, 如果要成功防范移動終端惡意代碼, 就必須獲得其樣本, 分析惡意代碼樣本的運行機制, 從中得到防范方法。這部分的關鍵技術點在于: 惡意代碼樣本采集及特征碼提取技術。
2 智能手機惡意代碼防范系統
以智能手機惡意代碼防范模型為指導, 本文研究開發了一個智能手機惡意代碼防范系統。該系統嚴格按照防范模型進行構建, 系統各個層次采取的具體方案詳細描述如下。
2.1 惡意代碼檢測層實現方案
惡意代碼檢測是防范已經入侵到智能手機內部的惡意代碼的有效方法。與計算機病毒檢測技術類似, 如果要成功檢測出已經入侵到智能手機里的惡意代碼, 就必須開發一個惡意代碼檢測引擎, 該引擎主要由兩個部分構成, 它們是惡意代碼特征庫和掃描算法。
( 1) 惡意代碼特征庫: 惡意代碼的有效檢測取決于相關特征碼數據庫的采集與及時更新。惡意代碼通常包括引導、傳染和表現3 大功能模塊,特征碼是從惡意代碼源代碼中不同位置提取的一系列字節, 檢測層通過不同的提取方法和提取工具采集智能手機中最新流行的特征碼, 并及時更新特征庫。
( 2) 掃描算法: 掃描算法的時間空間復雜度是惡意代碼掃描引擎關注點。對于動態串的掃描算法有兩個思路: 單模式匹配算法和多模式匹配算法。單模式匹配的經典算法有KMP(Knuth??Morris??Pratt ) , QS(Quick Search) , BM( Boyer??Moore) 等算法, 其中, BM算法被廣泛應用于現有商業殺毒軟件中。經典的多模式匹配算法是AV.Aho 提出的基于有限自動機的DFSA( DeterminiSTic Finite StateAutomata) 算法, 該算法在匹配前對模式串集合進行預處理, 轉換成樹型有限自動機, 然后只需對待匹配動態串進行一次掃描即可找出所有的模式串, 其時間復雜度為O( n) 。
2.2 備份恢復層實現方案
惡意代碼檢測層提供了判斷程序或數據是否感染了惡意代碼的方法, 備份恢復則是對其做出的響應。而由于智能手機不會像PC 機一樣成為編制程序的工具, 手機上的應用程序數量有限, 可以枚舉出來, 所以智能手機不需像在傳統計算機病毒防治領域那樣, 把清除病毒并恢復被感染者的功能作為首選策略, 而是把智能手機領域用到的應用都備份到一個公共平臺上, 當發現用戶的手機中有部分對象( 例如, 應用程序) 遭到破壞時, 采用從公共平臺下載的手段來恢復被感染對象。
可以看出備份恢復層的難點是應用程序的枚舉。就手機目前狀態和長遠發展而言, 智能手機上的應用還是可枚舉的。如果能夠解決應用程序與功能模塊的枚舉問題, 那么關于備份恢復層的核心問題也就可以解決了, 以下是幾點關于此模塊的要點:
( 1) 必須組建一個具有權威性的全球機構來創建以及維護能提供數據備份與恢復服務的公共平臺, 實現對應用程序集合的更新管理。
( 2) 聯合全世界的知名手機軟件尤其是系統軟件企業, 加入到該公共平臺建設與維護中, 保證手機功能模塊的恢復。
( 3) 在廠商參與形式上, 既可以采取分層模式,即由該專業機構授權參與此聯盟的下屬廠商提供相關產品的備份恢復服務, 也可以由該專業機構統一整合管理并提供。分層模式對于用戶而言較為麻煩, 而統一模式又容易造成單點失敗, 各有利弊。
( 4) 在有廠商參與的同時, 也不排斥個人行為的參與, 這類似于iphONe 應用與軟件交易平臺AppleStore的模式, 所不同的僅僅是在這里個人行為的參與需要經過該專業機構的嚴格審查與認證。
( 5) 而對于眾多的應用程序與功能模塊的集合管理, 可按操作系統、功能或手機品牌等進行分類。
當然, 在本層中, 不僅是應用程序的備份恢復,對于用戶數據, 如個人通訊錄、重要短信息等的備份也是十分必要的, 鑒于這部分僅僅只涉及數據, 而并沒有涉及程序的安裝使用等, 所以可以采取與PC同步的方式完成。
2.3 實時監控層實現方案
實時監控層將監控進出互聯網絡、信息服務、藍牙、紅外線等接口的進出口數據, 實現預防惡意代碼入侵, 防止用戶信息被竊取的功能。具體內容詳述如下:
( 1) 監測輸入數據流。
監測輸入流量是監控工具的一個重要功能, 包括有害信息( 即病毒) 流入與非法行為入侵。與計算機中個人防火墻的這一功能相同, 也類似于PC 上的入侵檢測系統( IDS, Intrusion DetectSystem) , 尤其是其中的網絡入侵檢測系統(NIDS) , 因為對智能手機而言, 網絡流量是其最大的數據流輸入部分,NIDS 的分析方法有: 統計分析、模式匹配、數據重組、協議分析、行為分析等。
監測流量的另一個方法是僅允許某些可信服務器發送數據流給移動用戶。這需要對服務器進行驗證并保護那些在服務器和無線網絡間進行的傳輸。
( 2) 監測輸出數據流。
為了防范木馬攻擊, 監控工具的設計原理是監測應用程序的聯網請求, 然后, 根據應用程序是否可信來決定是否允許數據流的流出。有些間諜程序通過把自己改為可信程序名以逃避過濾規則。所以,移動終端防火墻的限制規則應是基于整個應用程序的校驗和而不是僅僅根據名稱。
( 3) 黑白名單。
黑白名單可以體現在SIM 卡號碼、域名、Email地址等多個方面。在智能手機設備使用WWW、WAP 信箱服務時, 不必經過對數據流監測算法, 直接通過黑白名單決定是否允許連接請求。同樣, 黑白SIM 卡號碼是決定是否允許來自特定終端設備的數據流和服務的規則。
2.4 漏洞管理層實現方案
智能手機的潛在漏洞主要來自于三類: 嵌入式操作系統、運行時環境、應用程序。嵌入式操作系統的漏洞指的是由于智能手機所采用的操作系統本身的脆弱性造成的漏洞。典型的操作系統漏洞是藍牙網絡連接, Cabir 病毒就是利用該漏洞進行傳播的。手機的運行時環境包括JAVA、。 NET 等運行時支持庫, 它們具有脆弱性, 也可能被用戶濫用, 從而形成運行時環境漏洞。Vxer( 病毒制造者) 可以利用這些漏洞訪問本地文件、獲取權限、開放共享等。智能手機上的應用軟件可謂多種多樣, 它們的脆弱性也是不計其數。嵌入WML ( Wireless Markup Language) 文件的惡意腳本代碼是應用軟件類漏洞的典型代表。
漏洞防范主要靠更新有關的軟件開發廠商的補丁程序。關于補丁發布方式, 可以參照計算機領域操作系統漏洞發布機制來制訂智能手機領域的漏洞發布方式。
2.5 數字免疫層實現方案
基于大多數惡意代碼來源于互聯網絡的現實,本文設計了一個能夠阻止來自網上惡意代碼入侵的原型系統, 即智能手機數字免疫系統。所有面向智能手機的應用程序( 例如手機游戲等) 、免疫信息都將被數字免疫系統采集。任何智能手機從任何途徑獲得應用程序時, 都推薦使用數字免疫系統作為中間代理來驗證所獲得的程序的完整性。數字免疫系統可以有效防止寄生了惡意代碼的宿主程序入侵手機終端。對于未登記應用程序, 該系統將不允許其進入手機終端。
如圖2 所示, 數字免疫基礎設施由免疫信息采集網絡、免疫信息中心、免疫信息驗證平臺3 個子系統組成。圖中虛線部分是手機終端獲取各種軟件的不安全途徑。數字免疫系統的安全數據流程如下:
圖2 數字免疫基礎設施結構圖
免疫信息采集網絡分布于盡可能廣的范圍, 擁有盡可能多的節點, 采集應用于智能手機各種應用程序的免疫信息( 例如數字簽名, 名字, 版本號, 大小, 開發商, 應用平臺等) 。免疫信息中心存放采集網絡采集下來的各種信息, 管理免疫信息。當手機用戶需要下載安裝軟件時, 免疫信息驗證平臺利用免疫信息中心存儲的免疫信息驗證下載的軟件是否完整( 有沒有成為惡意代碼的宿主) , 如果完整則允許安裝到用戶終端上, 如果不完整則拒絕安裝請求。
3 結束語
隨著智能手機的大眾化, 其功能與設備越來越貼近人們的生活, 而與之相關的惡意代碼正處于快速增長期。為使智能手機的惡意代碼對人們生活的影響降到最低, 建立一套完善的防范體系模型顯得尤為迫切, 手機制造商、網絡運營商、反病毒軟件商等正在努力構建這一平臺, 從安全目標、安全威脅、安全機制、安全防護系統及安全管理等方面出發逐步實現對智能手機惡意代碼的立體防御。