本技術(shù)涉及計(jì)算機(jī),特別涉及一種惡意應(yīng)用程序檢測(cè)方法、裝置、終端及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的發(fā)展,手機(jī)、臺(tái)式電腦、筆記本電腦和平板電腦等多種類(lèi)型的終端逐漸成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠帧6K端上的惡意應(yīng)用程序會(huì)對(duì)用戶(hù)的隱私安全和財(cái)產(chǎn)安全構(gòu)成威脅。因此,為了保證用戶(hù)的隱私安全和財(cái)產(chǎn)安全,在終端安裝應(yīng)用程序之后,如何檢測(cè)應(yīng)用程序是否為惡意應(yīng)用程序,是一個(gè)需要解決的技術(shù)問(wèn)題。
2、相關(guān)技術(shù)中,對(duì)于待檢測(cè)的應(yīng)用程序,終端可以通過(guò)分析應(yīng)用程序調(diào)用的api(application?programming?interface,應(yīng)用程序編程接口)來(lái)檢測(cè)應(yīng)用程序是否為惡意應(yīng)用程序。例如,終端獲取api列表,api列表中包括惡意應(yīng)用程序調(diào)用次數(shù)較多或者調(diào)用頻率較高的api。然后終端根據(jù)api列表對(duì)應(yīng)用程序調(diào)用的api進(jìn)行分析。在該應(yīng)用程序經(jīng)常調(diào)用的多個(gè)api均在該api列表中存在的情況下,可以認(rèn)為該應(yīng)用程序?yàn)閻阂鈶?yīng)用程序。
3、但是,采用上述方法,僅根據(jù)調(diào)用的api來(lái)檢測(cè)惡意應(yīng)用程序,存在一定的局限性。例如,api列表可能包括惡意應(yīng)用程序和非惡意應(yīng)用程序均會(huì)調(diào)用的一些api。在非惡意應(yīng)用程序調(diào)用的api在該api列表中存在的情況下,會(huì)導(dǎo)致將非惡意應(yīng)用程序誤報(bào)為惡意應(yīng)用程序。因此,采用上述方法檢測(cè)惡意應(yīng)用程序的準(zhǔn)確率較低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種惡意應(yīng)用程序檢測(cè)方法、裝置、終端及存儲(chǔ)介質(zhì),能夠提高了惡意應(yīng)用程序檢測(cè)的準(zhǔn)確率。技術(shù)方案如下:
2、根據(jù)本技術(shù)實(shí)施例的一方面,提供了一種惡意應(yīng)用程序檢測(cè)方法,所述方法包括:
3、在目標(biāo)應(yīng)用程序安裝完畢的情況下,在應(yīng)用程序圖譜中添加第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于表示所述目標(biāo)應(yīng)用程序,所述應(yīng)用程序圖譜中的節(jié)點(diǎn)分別表示應(yīng)用程序、應(yīng)用權(quán)限以及接口調(diào)用行為,所述應(yīng)用程序圖譜中的邊分別表示應(yīng)用程序具有應(yīng)用權(quán)限和應(yīng)用程序執(zhí)行了接口調(diào)用行為;
4、確定所述第一節(jié)點(diǎn)的多個(gè)目標(biāo)鄰居節(jié)點(diǎn),所述目標(biāo)鄰居節(jié)點(diǎn)用于指示所述目標(biāo)應(yīng)用程序具有所述目標(biāo)鄰居節(jié)點(diǎn)所表示的應(yīng)用權(quán)限,或者所述目標(biāo)應(yīng)用程序執(zhí)行了所述目標(biāo)鄰居節(jié)點(diǎn)所表示的接口調(diào)用行為;
5、對(duì)所述多個(gè)目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到所述第一節(jié)點(diǎn)的嵌入向量,所述第一節(jié)點(diǎn)的嵌入向量用于表示所述目標(biāo)應(yīng)用程序的應(yīng)用權(quán)限特征和接口調(diào)用行為特征中的至少一種;
6、基于所述第一節(jié)點(diǎn)的嵌入向量,對(duì)所述第一節(jié)點(diǎn)進(jìn)行分類(lèi),得到所述第一節(jié)點(diǎn)的分類(lèi)結(jié)果,所述分類(lèi)結(jié)果用于表示所述目標(biāo)應(yīng)用程序是否為惡意應(yīng)用程序。
7、根據(jù)本技術(shù)實(shí)施例的另一方面,提供了一種惡意應(yīng)用程序檢測(cè)裝置,所述裝置包括:
8、添加模塊,用于在目標(biāo)應(yīng)用程序安裝完畢的情況下,在應(yīng)用程序圖譜中添加第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于表示所述目標(biāo)應(yīng)用程序,所述應(yīng)用程序圖譜中的節(jié)點(diǎn)分別表示應(yīng)用程序、應(yīng)用權(quán)限以及接口調(diào)用行為,所述應(yīng)用程序圖譜中的邊分別表示應(yīng)用程序具有應(yīng)用權(quán)限和應(yīng)用程序執(zhí)行了接口調(diào)用行為;
9、確定模塊,用于確定所述第一節(jié)點(diǎn)的多個(gè)目標(biāo)鄰居節(jié)點(diǎn),所述目標(biāo)鄰居節(jié)點(diǎn)用于指示所述目標(biāo)應(yīng)用程序具有所述目標(biāo)鄰居節(jié)點(diǎn)所表示的應(yīng)用權(quán)限,或者所述目標(biāo)應(yīng)用程序執(zhí)行了所述目標(biāo)鄰居節(jié)點(diǎn)所表示的接口調(diào)用行為;
10、融合模塊,用于對(duì)所述多個(gè)目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到所述第一節(jié)點(diǎn)的嵌入向量,所述第一節(jié)點(diǎn)的嵌入向量用于表示所述目標(biāo)應(yīng)用程序的應(yīng)用權(quán)限特征和接口調(diào)用行為特征中的至少一種;
11、分類(lèi)模塊,用于基于所述第一節(jié)點(diǎn)的嵌入向量,對(duì)所述第一節(jié)點(diǎn)進(jìn)行分類(lèi),得到所述第一節(jié)點(diǎn)的分類(lèi)結(jié)果,所述分類(lèi)結(jié)果用于表示所述目標(biāo)應(yīng)用程序是否為惡意應(yīng)用程序。
12、在一些實(shí)施例中,所述融合模塊,包括:
13、獲取單元,用于對(duì)于任一目標(biāo)鄰居節(jié)點(diǎn),獲取所述目標(biāo)鄰居節(jié)點(diǎn)的初始嵌入向量,所述初始嵌入向量用于表示應(yīng)用權(quán)限特征或者接口調(diào)用行為特征;
14、變換單元,用于基于所述目標(biāo)鄰居節(jié)點(diǎn)的變換參數(shù)值,對(duì)所述目標(biāo)鄰居節(jié)點(diǎn)的初始嵌入向量進(jìn)行變換,得到所述目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量,所述變換參數(shù)值與所述目標(biāo)鄰居節(jié)點(diǎn)的類(lèi)型相關(guān),所述目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量用于表示所述第一節(jié)點(diǎn)與所述目標(biāo)鄰居節(jié)點(diǎn)之間的關(guān)聯(lián)特征;
15、融合單元,用于對(duì)所述多個(gè)目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到所述第一節(jié)點(diǎn)的嵌入向量。
16、在一些實(shí)施例中,所述變換單元,用于在所述目標(biāo)鄰居節(jié)點(diǎn)的類(lèi)型為第一類(lèi)型的情況下,獲取第一變換參數(shù)值,所述第一類(lèi)型的節(jié)點(diǎn)為表示應(yīng)用權(quán)限的節(jié)點(diǎn);在所述目標(biāo)鄰居節(jié)點(diǎn)的類(lèi)型為第二類(lèi)型的情況下,獲取第二變換參數(shù)值,所述第二類(lèi)型的節(jié)點(diǎn)為表示接口調(diào)用行為的節(jié)點(diǎn);基于所述第一變換參數(shù)值或者所述第二變換參數(shù)值,通過(guò)第一變換函數(shù)對(duì)所述目標(biāo)鄰居節(jié)點(diǎn)的初始嵌入向量進(jìn)行變換,得到所述目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量,所述第一變換函數(shù)用于對(duì)向量進(jìn)行變換。
17、在一些實(shí)施例中,所述裝置還包括:
18、獲取模塊,用于獲取多個(gè)候選變換函數(shù)和每個(gè)候選變換函數(shù)的權(quán)重;
19、變換模塊,用于基于第一樣本節(jié)點(diǎn)的變換參數(shù)值,通過(guò)所述每個(gè)候選變換函數(shù)對(duì)所述第一樣本節(jié)點(diǎn)的初始嵌入向量進(jìn)行變換,得到每個(gè)候選變換函數(shù)輸出的嵌入向量,所述第一樣本節(jié)點(diǎn)為所述應(yīng)用程序圖譜中第一類(lèi)型的節(jié)點(diǎn)或者第二類(lèi)型的節(jié)點(diǎn),所述變換參數(shù)值與所述第一樣本節(jié)點(diǎn)的類(lèi)型相關(guān);
20、加權(quán)求和模塊,用于基于所述每個(gè)候選變換函數(shù)的權(quán)重,對(duì)所述每個(gè)候選變換函數(shù)輸出的嵌入向量進(jìn)行加權(quán)求和,得到所述第一樣本節(jié)點(diǎn)的嵌入向量;
21、權(quán)重調(diào)整模塊,用于基于所述第一樣本節(jié)點(diǎn)的嵌入向量,調(diào)整所述每個(gè)候選變換函數(shù)的權(quán)重,直至所述第一樣本節(jié)點(diǎn)的嵌入向量滿(mǎn)足結(jié)束調(diào)整的條件;
22、函數(shù)確定模塊,用于將權(quán)重最高的候選變換函數(shù)確定為所述第一變換函數(shù)。
23、在一些實(shí)施例中,所述裝置還包括:
24、特征提取模塊,用于對(duì)所述目標(biāo)應(yīng)用程序具有的應(yīng)用權(quán)限和執(zhí)行的接口調(diào)用行為中的至少一種進(jìn)行特征提取,得到所述第一節(jié)點(diǎn)的原始特征向量;
25、所述變換模塊,用于基于預(yù)設(shè)的變換參數(shù)值,通過(guò)第二變換函數(shù)對(duì)所述第一節(jié)點(diǎn)的原始特征向量進(jìn)行變換,得到所述第一節(jié)點(diǎn)的初始嵌入向量,所述第二變換函數(shù)用于對(duì)向量進(jìn)行變換;
26、所述融合模塊,用于對(duì)所述第一節(jié)點(diǎn)的初始嵌入向量和所述第一節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到更新后的所述第一節(jié)點(diǎn)的嵌入向量。
27、在一些實(shí)施例中,所述獲取模塊,用于獲取多個(gè)候選變換函數(shù)和每個(gè)候選變換函數(shù)的權(quán)重;
28、所述變換模塊,用于基于所述預(yù)設(shè)的變換參數(shù)值,通過(guò)所述每個(gè)候選變換函數(shù)對(duì)第二樣本節(jié)點(diǎn)的原始特征向量進(jìn)行變換,得到每個(gè)候選變換函數(shù)輸出的嵌入向量,所述第二樣本節(jié)點(diǎn)為所述應(yīng)用程序圖譜中表示應(yīng)用程序的節(jié)點(diǎn);
29、所述加權(quán)求和模塊,用于基于所述每個(gè)候選變換函數(shù)的權(quán)重,對(duì)所述每個(gè)候選變換函數(shù)輸出的嵌入向量進(jìn)行加權(quán)求和,得到所述第二樣本節(jié)點(diǎn)的初始嵌入向量;
30、所述權(quán)重調(diào)整模塊,用于基于所述第二樣本節(jié)點(diǎn)的初始嵌入向量,調(diào)整所述每個(gè)候選變換函數(shù)的權(quán)重,直至所述第二樣本節(jié)點(diǎn)的初始嵌入向量滿(mǎn)足結(jié)束調(diào)整的條件;
31、所述函數(shù)確定模塊,用于將權(quán)重最高的候選變換函數(shù)確定為所述第二變換函數(shù)。
32、在一些實(shí)施例中,所述融合單元,用于通過(guò)融合函數(shù),對(duì)所述多個(gè)目標(biāo)鄰居節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到所述第一節(jié)點(diǎn)的嵌入向量,所述融合函數(shù)用于對(duì)向量進(jìn)行融合。
33、在一些實(shí)施例中,所述獲取模塊,用于獲取多個(gè)候選融合函數(shù)和每個(gè)候選融合函數(shù)的權(quán)重;
34、所述變換模塊,用于通過(guò)所述每個(gè)候選融合函數(shù),對(duì)多個(gè)第三樣本節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到每個(gè)候選融合函數(shù)輸出的嵌入向量,所述第三樣本節(jié)點(diǎn)為所述應(yīng)用程序圖譜中表示應(yīng)用權(quán)限的節(jié)點(diǎn)或者表示接口調(diào)用行為的節(jié)點(diǎn);
35、所述加權(quán)求和模塊,用于基于所述每個(gè)候選融合函數(shù)的權(quán)重,對(duì)所述每個(gè)候選融合函數(shù)輸出的嵌入向量進(jìn)行加權(quán)求和,得到第四樣本節(jié)點(diǎn)的嵌入向量,所述第四樣本節(jié)點(diǎn)為所述應(yīng)用程序圖譜中表示應(yīng)用程序的節(jié)點(diǎn),所述第三樣本節(jié)點(diǎn)為所述第四樣本節(jié)點(diǎn)的鄰居節(jié)點(diǎn);
36、所述權(quán)重調(diào)整模塊,用于基于所述第四樣本節(jié)點(diǎn)的嵌入向量,調(diào)整所述每個(gè)候選融合函數(shù)的權(quán)重,直至所述第四樣本節(jié)點(diǎn)的嵌入向量滿(mǎn)足結(jié)束調(diào)整的條件;
37、所述函數(shù)確定模塊,用于將權(quán)重最高的候選融合函數(shù)確定為所述融合函數(shù)。
38、在一些實(shí)施例中,所述添加模塊,用于基于所述目標(biāo)應(yīng)用程序的應(yīng)用權(quán)限和所述目標(biāo)應(yīng)用程序執(zhí)行的接口調(diào)用行為,在所述應(yīng)用程序圖譜中確定至少一個(gè)第二節(jié)點(diǎn)和至少一個(gè)第三節(jié)點(diǎn),所述第二節(jié)點(diǎn)為表示所述應(yīng)用權(quán)限的節(jié)點(diǎn),所述第三節(jié)點(diǎn)為表示所述接口調(diào)用行為的節(jié)點(diǎn);在所述應(yīng)用程序圖譜中,將所述第一節(jié)點(diǎn)分別與所述至少一個(gè)第二節(jié)點(diǎn)和所述至少一個(gè)第三節(jié)點(diǎn)進(jìn)行連接;
39、所述確定模塊,用于在所述應(yīng)用程序圖譜中,將所述至少一個(gè)第二節(jié)點(diǎn)和所述至少一個(gè)第三節(jié)點(diǎn)確定為所述第一節(jié)點(diǎn)的多個(gè)目標(biāo)鄰居節(jié)點(diǎn)。
40、根據(jù)本技術(shù)實(shí)施例的另一方面,提供了一種終端,所述終端包括處理器和存儲(chǔ)器;所述存儲(chǔ)器存儲(chǔ)有至少一條程序代碼,所述至少一條程序代碼用于被所述處理器執(zhí)行以實(shí)現(xiàn)如上述方面所述的惡意應(yīng)用程序檢測(cè)方法。
41、根據(jù)本技術(shù)實(shí)施例的另一方面,提供了一種芯片,所述芯片包括可編程邏輯電路和/或程序指令,當(dāng)所述芯片在終端上運(yùn)行時(shí),用于實(shí)現(xiàn)上述方面所述的惡意應(yīng)用程序檢測(cè)方法。
42、根據(jù)本技術(shù)實(shí)施例的另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有至少一條程序代碼,所述至少一條程序代碼用于被處理器執(zhí)行以實(shí)現(xiàn)如上述方面所述的惡意應(yīng)用程序檢測(cè)方法。
43、根據(jù)本技術(shù)實(shí)施例的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品存儲(chǔ)有至少一條程序代碼,所述至少一條程序代碼用于被處理器執(zhí)行以實(shí)現(xiàn)上述方面所述的惡意應(yīng)用程序檢測(cè)方法。
44、本技術(shù)實(shí)施例提供了一種惡意應(yīng)用程序檢測(cè)方案,由于惡意應(yīng)用程序的應(yīng)用權(quán)限或者接口調(diào)用行為與非惡意應(yīng)用程序有一定的區(qū)別。因此,終端能夠根據(jù)待檢測(cè)的應(yīng)用程序的應(yīng)用權(quán)限和接口調(diào)用行為,在應(yīng)用程序圖譜中確定表示該應(yīng)用程序的第一節(jié)點(diǎn)和其他節(jié)點(diǎn)之間的連接關(guān)系。進(jìn)而,終端能夠?qū)阂鈶?yīng)用程序檢測(cè)的問(wèn)題轉(zhuǎn)換為節(jié)點(diǎn)分類(lèi)問(wèn)題。終端根據(jù)應(yīng)用程序圖譜所指示的節(jié)點(diǎn)之間的連接關(guān)系,對(duì)第一節(jié)點(diǎn)的多個(gè)鄰居節(jié)點(diǎn)的嵌入向量進(jìn)行融合,得到能夠反映應(yīng)用程序的應(yīng)用權(quán)限特征或者接口調(diào)用行為特征的嵌入向量。終端根據(jù)表達(dá)能力更強(qiáng)的嵌入向量對(duì)第一節(jié)點(diǎn)進(jìn)行分類(lèi),能夠較為準(zhǔn)確地確定分類(lèi)結(jié)果,并根據(jù)分類(lèi)結(jié)果確定應(yīng)用程序是否為惡意應(yīng)用程序。采用上述方法,兼顧了應(yīng)用程序的應(yīng)用權(quán)限特征和接口調(diào)用行為特征,提高了惡意應(yīng)用程序檢測(cè)的準(zhǔn)確率。