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