Html5移動應(yīng)用程序的異常行為檢測方法和行為模型建立方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)技術(shù)及信息安全技術(shù)領(lǐng)域,特別涉及一種HTML5移動應(yīng)用程序的 異常行為檢測方法和行為模型建立方法。
【背景技術(shù)】
[0002] Android安卓系統(tǒng)的開放性使其成為目前主流的移動平臺,但也令其成為惡意應(yīng) 用的主要攻擊目標(biāo)。據(jù)相關(guān)報(bào)告顯示,Android平臺上的惡意應(yīng)用數(shù)量占整體移動惡意應(yīng) 用數(shù)量急劇上升。惡意應(yīng)用一旦被安裝執(zhí)行,可輕易獲取用戶的眾多隱私數(shù)據(jù),如地理位 置信息、通訊錄、日程表、短信、郵件等,同時亦可在用戶不知情的情況下在后臺訂閱增值業(yè) 務(wù),消耗用戶流量和話費(fèi)。如今,伴隨電子交易、互聯(lián)網(wǎng)金融以及移動支付的快速發(fā)展,甚至 出現(xiàn)了盜取用戶銀行卡信息、盜刷信用卡等金融犯罪行為。這些出現(xiàn)在Android平臺的惡 意應(yīng)用對用戶隱私、財(cái)產(chǎn)甚至人身安全構(gòu)成了極大威脅。
[0003] 由于HTML5(HypertextMarkupLanguage5,第五代超文本標(biāo)記語言)技術(shù)的引入, 移動平臺面臨更加嚴(yán)峻的安全形勢。HTML5應(yīng)用運(yùn)行在系統(tǒng)所提供的瀏覽器環(huán)境中(如 WebView,網(wǎng)頁識圖),它包含不同來源的代碼,如應(yīng)用自身或者第三方的Java代碼(一種程 序設(shè)計(jì)語言),HTML5或JavaScript(-種腳本語言)代碼。這些代碼在Android系統(tǒng)中擁 有與應(yīng)用本身相同的權(quán)限。這種現(xiàn)象,尤其是令第三方引入的代碼擁有應(yīng)用的權(quán)限會帶來 極大的安全隱患。由于HTML5應(yīng)用本質(zhì)上仍是Web應(yīng)用程序,因此PC(PersonalComputer, 個人計(jì)算機(jī))端的傳統(tǒng)Web攻擊模式,如跨站點(diǎn)腳本攻擊(Cross-SiteScripting,XSS)等 同樣可以出現(xiàn)在移動端。一旦惡意腳本注入目標(biāo)應(yīng)用,該腳本將獲得應(yīng)用的所有權(quán)限,對用 戶造成的損失難以估量。
[0004] 目前對應(yīng)用程序的安全性進(jìn)行檢測,通常分為兩種方法:一種是靜態(tài)分析,對應(yīng) 用程序進(jìn)行反匯編,獲取程序源碼或編譯中間過程的字節(jié)碼等,在此基礎(chǔ)上對應(yīng)用程序 安全性進(jìn)行分析。如:通過分析反編譯得到的字節(jié)碼獲取應(yīng)用程序的API(Application ProgrammingInterface,應(yīng)用程序編程接口)調(diào)用依賴關(guān)系以檢測惡意行為;但是,由于 編譯器的處理方式存在差異,編譯過程可能隱藏部分惡意行為,單從代碼角度進(jìn)行靜態(tài)分 析無法對應(yīng)用程序安全性進(jìn)行全面評估。另一種檢測方法是動態(tài)分析,在程序運(yùn)行過程中, 動態(tài)的獲取程序運(yùn)行日志,分析其安全性。如:記錄應(yīng)用運(yùn)行過程中的系統(tǒng)調(diào)用序列建立應(yīng) 用行為模式,進(jìn)行基于模式匹配的惡意行為檢測。但是,基于行為模式的檢測需要事先獲取 惡意行為模式才能夠進(jìn)行后續(xù)的匹配檢測流程,無法對新出現(xiàn)的惡意行為進(jìn)行有效檢測。
[0005] 因此,有待提出一種全面、有效、準(zhǔn)確的應(yīng)用程序行為檢測方法。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
[0007] 為此,本發(fā)明的第一個目的在于提出一種HTML5移動應(yīng)用程序的異常行為檢測方 法,能夠?yàn)閼?yīng)用程序建立準(zhǔn)確、完整的行為模型,有效地提取檢測應(yīng)用程序的異常行為。
[0008] 本發(fā)明的第二個目的在于提出一種HTML5移動應(yīng)用程序的行為模型的建立方法。
[0009] 為達(dá)上述目的,根據(jù)本發(fā)明第一方面實(shí)施例提出了一種HTML5移動應(yīng)用程序的異 常行為檢測方法,包括以下步驟:運(yùn)行應(yīng)用程序;提取所述應(yīng)用程序在運(yùn)行過程中的所處 的至少一個界面的界面信息,并提取所述應(yīng)用程序在處于每個界面時的行為事件信息;根 據(jù)所述至少一個界面的界面信息和每個界面對應(yīng)的行為事件信息建立所述應(yīng)用程序的待 測行為模型;將所述應(yīng)用程序的待測行為模型和預(yù)先建立的所述應(yīng)用程序的原始行為模型 進(jìn)行比對,并根據(jù)比對結(jié)果判斷所述應(yīng)用程序是否包含異常行為。
[0010] 本發(fā)明實(shí)施例的HTML5移動應(yīng)用程序的異常行為檢測方法,通過提取應(yīng)用程序運(yùn) 行過程的行為事件及其所處的界面信息,即應(yīng)用程序的運(yùn)行環(huán)境,以據(jù)此生成行為模型,并 通過將該行為模型與原始行為模型進(jìn)行比對來判斷應(yīng)用程序是否包含異常行為,與相關(guān)技 術(shù)相比,可有效提取HTML5移動應(yīng)用程序運(yùn)行過程中的全部行為事件信息,以及行為事件 發(fā)生時所處的程序上下文環(huán)境信息(即界面信息),從而能夠據(jù)此為HTML5移動應(yīng)用程序建 立準(zhǔn)確、完整的行為模型,從而,能夠有效地提取檢測應(yīng)用程序的異常行為,尤其針對零日 攻擊、變形攻擊和代碼注入攻擊具有良好的檢測效果。
[0011] 本發(fā)明第二方面實(shí)施例提出了一種HTML5移動應(yīng)用程序的行為模型建立方法,包 括以下步驟:運(yùn)行應(yīng)用程序;提取所述應(yīng)用程序在運(yùn)行過程中的所處的所有界面的界面信 息,并提取所述應(yīng)用程序在處于每個界面時的行為事件信息;根據(jù)所述所有界面的界面信 息和每個界面對應(yīng)的行為事件信息建立所述應(yīng)用程序的行為模型。
[0012] 本發(fā)明實(shí)施例的HTML5移動應(yīng)用程序的行為模型建立方法,通過提取應(yīng)用程序運(yùn) 行過程的行為事件及其所處的界面信息,即應(yīng)用程序的運(yùn)行環(huán)境,以據(jù)此建立包含以上兩 個元素的二維模型。與相關(guān)技術(shù)相比,可有效提取HTML5移動應(yīng)用程序運(yùn)行過程中的全部 行為事件信息,以及行為事件發(fā)生時所處的程序上下文環(huán)境信息(即界面信息),從而能夠 據(jù)此為應(yīng)用程序建立準(zhǔn)確、完整的原始行為模型和待測模型,使后續(xù)的程序檢測更加全面 和有效。
[0013] 本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0014] 本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變 得明顯和容易理解,其中:
[0015] 圖1為根據(jù)本發(fā)明一個實(shí)施例的應(yīng)用程序的異常行為檢測方法的流程圖;
[0016] 圖2為根據(jù)本發(fā)明一個具體實(shí)施例的應(yīng)用程序的異常行為檢測方法的流程圖;
[0017] 圖3為根據(jù)本發(fā)明一個實(shí)施例的應(yīng)用程序的行為模型建立方法的流程圖;
[0018] 圖4為根據(jù)本發(fā)明一個實(shí)施例的針對HTML5移動應(yīng)用程序的異常行為檢測系統(tǒng)架 構(gòu)示意圖。
【具體實(shí)施方式】
[0019] 下面參考附圖描述根據(jù)本發(fā)明實(shí)施例的應(yīng)用程序的異常行為檢測方法、裝置、應(yīng) 用程序的行為模型建立方法及裝置,其中自始至終相同或類似的標(biāo)號表示相同或類似的元 件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解 釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0020] 目前,針對應(yīng)用程序行為的檢測方法均未對應(yīng)用程序運(yùn)行環(huán)境進(jìn)行記錄和檢測。 應(yīng)用程序的行為事件發(fā)生時所處的程序上下文環(huán)境是程序行為事件建模過程中必不可少 的關(guān)鍵信息,并且為判斷程序行為是否存在異常提供重要參考。所以,在為應(yīng)用程序,尤其 是基于HTML5技術(shù)的移動應(yīng)用程序(以下簡稱HTML5應(yīng)用)所建立的行為模型中包含行為 發(fā)生時所處的程序執(zhí)行環(huán)境信息是很有必要的,該信息可為動態(tài)分析和異常行為檢測提供 準(zhǔn)確、完整的應(yīng)用程序行為記錄。
[0021] 為此,本發(fā)明的實(shí)施例提出了一種HTML5移動應(yīng)用程序的異常行為檢測方法和行 為模型建立方法。
[0022] 圖1為根據(jù)本發(fā)明一個實(shí)施例的HTML5移動應(yīng)用程序的異常行為檢測方法的流程 圖。
[0023] 如圖1所示,根據(jù)本發(fā)明實(shí)施例的HTML5移動應(yīng)用程序的異常行為檢測方法,包括 以下步驟:S1,運(yùn)行應(yīng)用程序;S2,提取應(yīng)用程序在運(yùn)行過程中的所處的至少一個界面的界 面信息,并提取應(yīng)用程序在處于每個界面時的行為事件信息;S3,根據(jù)至少一個界面的界面 信息和每個界面對應(yīng)的行為事件信息建立應(yīng)用程序的行為模型;S4,將應(yīng)用程序的行為模 型和預(yù)先建立的應(yīng)用程序的原始行為模型進(jìn)行比對,并根據(jù)比對結(jié)果判斷應(yīng)用程序是否包 含異常行為。
[0024] 在本發(fā)明的實(shí)施例中,應(yīng)用程序?yàn)镠TML5移動應(yīng)用程序。
[0025] 在本發(fā)明的一個實(shí)施例中,應(yīng)用程序的原始行為模型是在應(yīng)用程序首次運(yùn)行時, 根據(jù)在應(yīng)用程序運(yùn)行過程中提取的界面信息和對應(yīng)的行為事件信息建立的。應(yīng)用程序首次 運(yùn)行可確保應(yīng)用程序是未被修改、未遭受攻擊的狀態(tài),在此前提下得到的行為模型中不包 含異常行為,因此可用于后續(xù)異常行為檢測。
[0026] 因此,在本發(fā)明的一個實(shí)施例中,還可包括建立原始行為模型的步驟。
[0027] 具體地,建立應(yīng)用程序的原始行為模型可包括以下步驟:在應(yīng)用程序首次運(yùn)行時, 提取應(yīng)用程序在首次運(yùn)行過程中的所處的所有界面的界面信息,并提取應(yīng)用程序在處于每 個界面時的行為事件信息;根據(jù)首次運(yùn)行過程中所有界面的界面信息和每個界面對應(yīng)的行 為事件信息建立應(yīng)用程序的原始行為模型。
[0028] 圖2為根據(jù)本發(fā)明一個