,且關(guān)系信息中的地址空間值彼此不重疊,確定可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測合格。之后執(zhí)行步驟218。
[0088]步驟217、若可信應(yīng)用的應(yīng)用標(biāo)識(shí)不唯一對(duì)應(yīng)可信應(yīng)用的地址空間值,或者關(guān)系信息中的地址空間值彼此重疊,確定可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測不合格。之后執(zhí)行步驟220。
[0089]步驟218、對(duì)可信應(yīng)用進(jìn)行漏洞檢測,確定可信應(yīng)用是否為風(fēng)險(xiǎn)惡意應(yīng)用。
[0090]此處對(duì)可信應(yīng)用進(jìn)行漏洞檢測可以采用基于缺陷注入的自動(dòng)軟件測試技術(shù),SPFuzzing自動(dòng)化測試過程。該Fuzzing自動(dòng)化測試過程可以捕獲程序異常,并且通過接口 API協(xié)議庫和啟發(fā)式攻擊來發(fā)現(xiàn)未被發(fā)現(xiàn)的代碼或者數(shù)據(jù)錯(cuò)誤。
[0091 ]若漏洞檢測通過,執(zhí)行步驟219:確定可信應(yīng)用檢測合格,其為安全應(yīng)用。
[0092]若漏洞檢測未通過,執(zhí)行步驟220:可信應(yīng)用檢測不合格,該可信應(yīng)用為風(fēng)險(xiǎn)惡意應(yīng)用。
[0093]此處的風(fēng)險(xiǎn)惡意應(yīng)用可以是其本身為惡意應(yīng)用,或者該風(fēng)險(xiǎn)惡意應(yīng)用存在漏洞,容易被攻擊。
[0094]在上述各步驟中,若檢測到可信應(yīng)用不合格,則將停止后續(xù)的檢測過程。
[0095]本發(fā)明實(shí)施例提供的基于硬件隔離環(huán)境的可信應(yīng)用檢測的方法,通過對(duì)待被檢測的可信應(yīng)用安裝包進(jìn)行信任鏈檢測,并驗(yàn)證可信應(yīng)用的執(zhí)行時(shí)間的唯一性和原子性,而且還對(duì)可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測和漏洞檢測。其中,信任鏈檢測與應(yīng)用間隔離檢測涉及到了 TEE環(huán)境,使得基于硬件隔離環(huán)境的可信應(yīng)用檢測可以確認(rèn)TEE環(huán)境下的可信應(yīng)用的安全性。這樣,本發(fā)明避免了僅通過對(duì)移動(dòng)應(yīng)用本身進(jìn)行惡意代碼檢測、應(yīng)用漏洞庫檢測等并不能確認(rèn)TEE環(huán)境下的可信應(yīng)用的安全性的問題。
[0096]對(duì)應(yīng)于上述的方法實(shí)施例,如圖3所示,本發(fā)明實(shí)施例還提供一種基于硬件隔離環(huán)境的可信應(yīng)用檢測的裝置,包括:
[0097]信任鏈檢測單元31,可以對(duì)待被檢測的可信應(yīng)用安裝包進(jìn)行信任鏈檢測。
[0098]可信應(yīng)用安裝單元32,可以在對(duì)待被檢測的可信應(yīng)用安裝包進(jìn)行信任鏈檢測合格后,將可信應(yīng)用安裝包對(duì)應(yīng)的可信應(yīng)用安裝于TEE環(huán)境中。
[0099]時(shí)間特性檢測單元33,可以運(yùn)行可信應(yīng)用,驗(yàn)證可信應(yīng)用的執(zhí)行時(shí)間的唯一性和原子性。
[0100]數(shù)據(jù)提取單元34,可以在驗(yàn)證可信應(yīng)用的執(zhí)行時(shí)間的唯一性和原子性合格后,提取可信應(yīng)用的預(yù)先設(shè)置的應(yīng)用標(biāo)識(shí),以及可信應(yīng)用的代碼和數(shù)據(jù)存儲(chǔ)的地址空間值。
[0101]應(yīng)用間隔離檢測單元35,可以根據(jù)應(yīng)用標(biāo)識(shí)和地址空間值對(duì)可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測。
[0102]漏洞檢測單元36,可以在對(duì)可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測合格,對(duì)可信應(yīng)用進(jìn)行漏洞檢測,確定可信應(yīng)用是否為風(fēng)險(xiǎn)惡意應(yīng)用。
[0103]具體的,如圖4所示,該信任鏈檢測單元31,可以包括:
[0104]認(rèn)證信息提取模塊311,可以提取可信應(yīng)用安裝包內(nèi)的認(rèn)證信息;認(rèn)證信息包括可?目應(yīng)用的簽名?目息或者證書?目息。
[0105]匹配模塊312,可以將認(rèn)證信息與本地存儲(chǔ)的已知認(rèn)證信息進(jìn)行匹配比較。
[0106]信任鏈檢測模塊313,可以在認(rèn)證信息與本地存儲(chǔ)的已知認(rèn)證信息相匹配時(shí),確定可信應(yīng)用安裝包的信任鏈檢測合格,并在認(rèn)證信息與本地存儲(chǔ)的已知認(rèn)證信息不匹配時(shí),確定可信應(yīng)用安裝包的信任鏈檢測不合格。
[0107]具體的,如圖4所示,該時(shí)間特性檢測單元33,可以包括:
[0108]模擬操作模塊331,可以對(duì)可信應(yīng)用進(jìn)行多次模擬操作,在不同的動(dòng)作執(zhí)行點(diǎn)中的各動(dòng)作執(zhí)行點(diǎn)上分別提取多個(gè)時(shí)間偏移變量。
[0109]離散函數(shù)曲線生成模塊332,可以將每次模擬操作的各動(dòng)作執(zhí)行點(diǎn)上的時(shí)間偏移變量構(gòu)成一離散函數(shù)曲線。
[0110]離散函數(shù)曲線比較模塊333,可以將每次模擬操作所對(duì)應(yīng)的離散函數(shù)曲線進(jìn)行比較。
[0111]唯一性確定模塊334,可以在每次模擬操作所對(duì)應(yīng)的離散函數(shù)曲線一致時(shí),確定可信應(yīng)用的執(zhí)行時(shí)間唯一。
[0112]具體的,如圖4所示,該時(shí)間特性檢測單元33,還可以包括:
[0113]失敗操作模塊335,可以對(duì)可信應(yīng)用進(jìn)行多次失敗操作,獲取每次失敗操作后可信應(yīng)用的時(shí)間偏移變量。
[0114]原子性確定模塊336,可以在每次失敗操作后可信應(yīng)用的時(shí)間偏移變量為0或?yàn)閼?yīng)用執(zhí)行的初始值時(shí),確定可信應(yīng)用的執(zhí)行時(shí)間具有原子性。
[0115]具體的,如圖4所示,該應(yīng)用間隔離檢測單元35,可以包括:
[0116]判斷模塊351,可以從地址空間值與應(yīng)用標(biāo)識(shí)相對(duì)應(yīng)的關(guān)系信息中確定可信應(yīng)用的應(yīng)用標(biāo)識(shí)是否唯一對(duì)應(yīng)可信應(yīng)用的地址空間值,并確定關(guān)系信息中的地址空間值是否彼此不重疊。
[0117]應(yīng)用間隔離檢測模塊352,可以在可信應(yīng)用的應(yīng)用標(biāo)識(shí)唯一對(duì)應(yīng)可信應(yīng)用的地址空間值,且關(guān)系信息中的地址空間值彼此不重疊時(shí),確定可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測合格。
[0118]值得說明的是,本發(fā)明實(shí)施例提供的基于硬件隔離環(huán)境的可信應(yīng)用檢測的裝置的具體實(shí)現(xiàn)方式可以參見上述的方法實(shí)施例,此處不再贅述。
[0119]本發(fā)明實(shí)施例提供的基于硬件隔離環(huán)境的可信應(yīng)用檢測的裝置,通過對(duì)待被檢測的可信應(yīng)用安裝包進(jìn)行信任鏈檢測,并驗(yàn)證可信應(yīng)用的執(zhí)行時(shí)間的唯一性和原子性,而且還對(duì)可信應(yīng)用進(jìn)行應(yīng)用間隔離檢測和漏洞檢測。其中,信任鏈檢測與應(yīng)用間隔離檢測涉及到了 TEE環(huán)境,使得基于硬件隔離環(huán)境的可信應(yīng)用檢測可以確認(rèn)TEE環(huán)境下的可信應(yīng)用的安全性。這樣,本發(fā)明避免了僅通過對(duì)移動(dòng)應(yīng)用本身進(jìn)行惡意代碼檢測、應(yīng)用漏洞庫檢測等并不能確認(rèn)TEE環(huán)境下的可信應(yīng)用的安全性的問題。
[0120]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0121]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0122]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0123]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)