移動(dòng)應(yīng)用程序異常行為檢測(cè)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及信息安全技術(shù)領(lǐng)域,尤其設(shè)及一種移動(dòng)應(yīng)用程序異常行為檢測(cè)方法及 裝置。
【背景技術(shù)】
[0002] Amlroid(安卓)系統(tǒng)由于其免費(fèi)、開源等特性,開發(fā)后迅速占據(jù)市場(chǎng)份額,成為增 長速度最快的移動(dòng)智能操作系統(tǒng),其開源特性也使得Amlroid平臺(tái)成為惡意應(yīng)用的主要攻 擊目標(biāo)。在Amlroid系統(tǒng)中,一個(gè)應(yīng)用程序在安裝過程中會(huì)向用戶提出權(quán)限申請(qǐng),用戶可W 選擇接受或拒絕。用戶如果接受,則該程序完成安裝并在其生命周期中始終享有申請(qǐng)的權(quán) 限;用戶如果拒絕,則安裝失敗。隨著移動(dòng)設(shè)備的高速發(fā)展,手機(jī)中往往存儲(chǔ)、管理著用戶更 加私密的數(shù)據(jù)和重要的個(gè)人信息。更為嚴(yán)峻的是,伴隨著電子交易、互聯(lián)網(wǎng)金融W及移動(dòng)支 付的快速發(fā)展,越來越多的安全敏感操作被遷移至移動(dòng)終端,盜取用戶銀行卡信息、盜刷信 用卡等金融犯罪行為時(shí)有發(fā)生。
[0003] HTML5應(yīng)用程序(W下簡稱HTML5應(yīng)用)使用HTML JavaScript(解釋性腳本語言)等 網(wǎng)絡(luò)編程語言編寫,各操作系統(tǒng)的內(nèi)置瀏覽器環(huán)境(如Amlroid的WebView(網(wǎng)絡(luò)視圖),iOS 的UIWebView(瀏覽器控件)等)為上述代碼提供合適的解析引擎。應(yīng)用通過W化oneGap為代 表的移動(dòng)應(yīng)用開發(fā)框架,使用運(yùn)些框架所提供的JavaScript API (App Ii cat ion Programming Inte計(jì)ace,應(yīng)用程序編程接口)接口集,實(shí)現(xiàn)對(duì)硬件系統(tǒng)資源的訪問。HTML5 應(yīng)用運(yùn)種跨平臺(tái)的兼容性和便利的移植性,使得開發(fā)者不需要編寫任何的原生代碼,使用 標(biāo)準(zhǔn)的WeKWebsite,網(wǎng)頁)編程技術(shù)便可快速地開發(fā)跨平臺(tái)移動(dòng)應(yīng)用程序并將其部署到目 前幾乎所有的主流移動(dòng)平臺(tái)(如An化oid、iOS、Windows Phone等)。
[0004] 但是由于HTML5應(yīng)用包含不同來源的代碼,除了應(yīng)用自身的HTMLSJavaScript代 碼,還包括由不可信的第S方引入的化vaScript代碼。運(yùn)些代碼在Amlro id系統(tǒng)中擁有與應(yīng) 用本身相同的權(quán)限,因而帶來極大的安全隱患。針對(duì)上述問題,現(xiàn)有的檢測(cè)方法可W分為兩 類:(1)基于白名單或同源原則(The Same-origin Policy)對(duì)HTML5應(yīng)用進(jìn)行細(xì)粒度的權(quán)限 管理;(2)對(duì)移動(dòng)設(shè)備中可能的代碼注入入口進(jìn)行篩查,如掃描二維碼、讀取Wi-Fi熱點(diǎn)的 SSIDs(Service Set Identifiers)等,發(fā)現(xiàn)隱藏在數(shù)據(jù)中的JavaScript代碼并將其濾除。 但是,上述兩種方法都需要對(duì)HTML5應(yīng)用所使用的開發(fā)框架(如化oneGap)進(jìn)行修改,或者需 要應(yīng)用開發(fā)者的協(xié)助(如提供白名單、為相應(yīng)域名指定權(quán)限等),運(yùn)些都大大限制了檢測(cè)方 法的適用性。由于HTML5技術(shù)在移動(dòng)端剛剛興起,針對(duì)其安全性的研究成果有限,現(xiàn)有的方 法并未對(duì)應(yīng)用行為的本質(zhì)進(jìn)行有效的檢測(cè),所W,針對(duì)Amlroid平臺(tái)下HTML5應(yīng)用程序行為 的檢測(cè)方法和安全性研究顯得尤為重要。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
[0006] 為此,本發(fā)明的第一個(gè)目的在于提出一種移動(dòng)應(yīng)用程序異常行為檢測(cè)方法,該方 法能夠?qū)σ苿?dòng)應(yīng)用程序是否包含異常行為進(jìn)行有效、準(zhǔn)確的檢測(cè),提高了移動(dòng)應(yīng)用程序的 安全性。
[0007] 本發(fā)明的第二個(gè)目的在于提出一種移動(dòng)應(yīng)用程序異常行為檢測(cè)裝置。
[0008] 為達(dá)上述目的,本發(fā)明第一方面實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)方法,包括: 運(yùn)行移動(dòng)應(yīng)用程序;提取與所述移動(dòng)應(yīng)用程序相關(guān)的函數(shù)調(diào)用找信息和行為事件信息;將 所述函數(shù)調(diào)用找信息和行為事件信息寫入行為日志;根據(jù)所述行為日志為所述移動(dòng)應(yīng)用程 序創(chuàng)建待測(cè)行為模型;根據(jù)預(yù)存的行為模型庫對(duì)所述待測(cè)行為模型進(jìn)行異常行為檢測(cè),W 判斷所述移動(dòng)應(yīng)用程序是否存在異常行為。
[0009] 根據(jù)本發(fā)明實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)方法,提取運(yùn)行的移動(dòng)應(yīng)用程序 相關(guān)的函數(shù)調(diào)用找信息和行為事件信息寫入行為日志,根據(jù)行為日志為移動(dòng)應(yīng)用程序創(chuàng)建 待測(cè)行為模型,最后根據(jù)預(yù)存的行為模型庫對(duì)創(chuàng)建的待測(cè)行為模型進(jìn)行異常行為檢測(cè),W 判斷移動(dòng)應(yīng)用程序是否存在異常行為,該方法能夠?qū)σ苿?dòng)應(yīng)用程序是否包含異常行為進(jìn)行 有效、準(zhǔn)確的檢測(cè),提高了移動(dòng)應(yīng)用程序的安全性。
[0010] 在本發(fā)明的一個(gè)實(shí)施例中,所述移動(dòng)應(yīng)用程序?yàn)镠TML5移動(dòng)應(yīng)用程序。
[0011] 在本發(fā)明的一個(gè)實(shí)施例中,所述提取與所述移動(dòng)應(yīng)用程序相關(guān)的函數(shù)調(diào)用找信息 和行為事件信息,包括:對(duì)所述移動(dòng)應(yīng)用程序的化vaScript函數(shù)進(jìn)行改寫,W獲取所述移動(dòng) 應(yīng)用程序當(dāng)前正在執(zhí)行的函數(shù)調(diào)用找信息;監(jiān)測(cè)所述移動(dòng)應(yīng)用程序的運(yùn)行環(huán)境,W提取所 述移動(dòng)應(yīng)用程序的行為事件信息。
[0012] 在本發(fā)明的一個(gè)實(shí)施例中,所述函數(shù)調(diào)用找信息包括化vaScript函數(shù)的函數(shù)名、 行列號(hào)、與所述化vaScript函數(shù)相關(guān)的觸發(fā)條件W及進(jìn)入、離開函數(shù)的信息。
[0013] 在本發(fā)明的一個(gè)實(shí)施例中,所述有限狀態(tài)自動(dòng)機(jī)為函數(shù)級(jí)的有限狀態(tài)自動(dòng)機(jī),所 述函數(shù)級(jí)的有限狀態(tài)自動(dòng)機(jī)表示為:1=(5,5:,5,3〇,。),其中,所述5為一個(gè)有限的、非空狀 態(tài)集合,Vs = UYc/, SSf化)ES, Sid是移動(dòng)應(yīng)用程序狀態(tài)標(biāo)識(shí)符,sattr為移動(dòng)應(yīng)用程序狀 態(tài)的屬性;所述X是所述有限狀態(tài)自動(dòng)機(jī)的輸入的集合,取值為字符串,V O € 2 , O表示某 一個(gè)導(dǎo)致狀態(tài)轉(zhuǎn)換的事件,O e S時(shí)表示輸入的字符串為空;S是一個(gè)狀態(tài)轉(zhuǎn)換函數(shù):S: S X 玄一5,如果33和3把5,〇£5:,36 = 8(33,〇),則表示由狀態(tài)33轉(zhuǎn)換到狀態(tài)36的輸入為〇;3日£8 表示初始狀態(tài);F是M的終止?fàn)顟B(tài)集合,F(xiàn) e S。
[0014] 在本發(fā)明的一個(gè)實(shí)施例中,所述的移動(dòng)應(yīng)用程序異常行為檢測(cè)方法,還包括:創(chuàng)建 所述預(yù)存的行為模型庫,具體包括:判斷是否為首次執(zhí)行所述移動(dòng)應(yīng)用程序;如果是,則將 首次執(zhí)行所述移動(dòng)應(yīng)用程序時(shí)創(chuàng)建的所述行為模型添加到所述行為模型庫中。
[0015] 為達(dá)上述目的,本發(fā)明第二方面實(shí)施例提出一種移動(dòng)應(yīng)用程序異常行為檢測(cè)系 統(tǒng),包括:提取模塊,所述提取模塊包括動(dòng)態(tài)改寫模塊和行為事件提取模塊,所述動(dòng)態(tài)改寫 模塊用于在移動(dòng)應(yīng)用程序運(yùn)行時(shí),提取與所述移動(dòng)應(yīng)用程序相關(guān)的函數(shù)調(diào)用找信息,所述 行為事件提取模塊用于提取與所述移動(dòng)應(yīng)用程序相關(guān)的行為事件信息,所述提取模塊還用 于將所述函數(shù)調(diào)用找信息和行為事件信息寫入行為日志;行為模型生成模塊,用于根據(jù)所 述行為日志為所述移動(dòng)應(yīng)用程序創(chuàng)建待測(cè)行為模型;異常行為檢測(cè)模塊,用于根據(jù)預(yù)存的 行為模型庫對(duì)所述待測(cè)行為模型進(jìn)行異常行為檢測(cè),W判斷所述移動(dòng)應(yīng)用程序是否存在異 常行為。
[0016] 根據(jù)本發(fā)明實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)系統(tǒng),提取模塊通過提取運(yùn)行的 移動(dòng)應(yīng)用程序相關(guān)的函數(shù)調(diào)用找信息和行為事件信息寫入行為日志,行為模型生成模塊為 移動(dòng)應(yīng)用程序創(chuàng)建待測(cè)行為模型,異常行為檢測(cè)模塊最后根據(jù)預(yù)存的行為模型庫對(duì)創(chuàng)建的 待測(cè)行為模型進(jìn)行異常行為檢測(cè),W判斷移動(dòng)應(yīng)用程序是否存在異常行為,該系統(tǒng)能夠?qū)?移動(dòng)應(yīng)用程序是否包含異常行為進(jìn)行有效、準(zhǔn)確的檢測(cè),提高了移動(dòng)應(yīng)用程序的安全性。
[0017] 在本發(fā)明的一個(gè)實(shí)施例中,所述有限狀態(tài)自動(dòng)機(jī)為函數(shù)級(jí)的有限狀態(tài)自動(dòng)機(jī),所 述函數(shù)級(jí)的有限狀態(tài)自動(dòng)機(jī)表示為:1=(5,5:,5,3〇,。),其中,所述5為一個(gè)有限的、非空狀 態(tài)集合,Vs = kid saf化)GS,sid是移動(dòng)應(yīng)用程序狀態(tài)標(biāo)識(shí)符,sattr為移動(dòng)應(yīng)用程序狀 態(tài)的屬性;所述S是所述有限狀態(tài)自動(dòng)機(jī)的輸入的集合,取值為字符串,V O e S,O表示某 一個(gè)導(dǎo)致狀態(tài)轉(zhuǎn)換的事件,O e X時(shí)表示輸入的字符串為空;S是一個(gè)狀態(tài)轉(zhuǎn)換函數(shù):S: S X 玄一5,如果33和3把5,〇£5:,36 = 8(33,〇),則表示由狀態(tài)33轉(zhuǎn)換到狀態(tài)36的輸入為〇;3日£8 表示初始狀態(tài);F是M的終止?fàn)顟B(tài)集合,F(xiàn) e S。
[0018] 在本發(fā)明的一個(gè)實(shí)施例中,所述的移動(dòng)應(yīng)用程序異常行為檢測(cè)系統(tǒng),還包括:預(yù)存 行為模型庫模塊,用于創(chuàng)建所述預(yù)存的行為模型庫,具體包括:判斷是否為首次執(zhí)行所述移 動(dòng)應(yīng)用程序,如果是,則將首次執(zhí)行所述移動(dòng)應(yīng)用程序時(shí)創(chuàng)建的所述行為模型添加到所述 行為模型庫中。
[0019] 本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0020] 本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得 明顯和容易理解,其中,
[0021 ]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)方法的流程圖;
[0022] 圖2是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)方法的流程圖;
[0023] 圖3是根據(jù)本發(fā)明另一個(gè)實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)裝置的結(jié)示意圖;
[0024] 圖4是根據(jù)本發(fā)明一個(gè)具體實(shí)施例的移動(dòng)應(yīng)用程序異常行為檢測(cè)裝置的結(jié)示意 圖。
【具體實(shí)施方式】
[0025] 下面詳細(xì)描述本發(fā)明的實(shí)施