亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種識別惡意特征的方法和設(shè)備與流程

文檔序號:11677940閱讀:185來源:國知局
一種識別惡意特征的方法和設(shè)備與流程

本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種識別惡意特征的方法和設(shè)備。



背景技術(shù):

移動互聯(lián)網(wǎng)的迅速普及和智能手機(jī)的廣泛應(yīng)用,催生了一大批基于蘋果ios和安卓的應(yīng)用發(fā)展。其中安卓(android)應(yīng)用(app,application,應(yīng)用程序)數(shù)量早已突破300萬數(shù)量,僅谷歌官方應(yīng)用商店app數(shù)量就已突破200萬。app的廣泛使用也導(dǎo)致了移動端惡意代碼的迅速傳播。惡意代碼本身并沒有直接的使用價(jià)值,為了廣泛、快速的傳播,他們往往通過嵌入官方知名的app的軟件包(apk,androidpackage)中,通過各種應(yīng)用分發(fā)渠道(如googleplay、豌豆莢、應(yīng)用寶等)進(jìn)行傳播。安卓由于其開源的特征,其應(yīng)用分發(fā)渠道多種多樣,除了官方的googleplay之外,全球各地還存在上百個(gè)各種各樣的非官方應(yīng)用商店。

但是大量的安卓系統(tǒng)app存在重打包(repackage)現(xiàn)象。早在2014年trendmicro就報(bào)道了僅在googleplay中,排名前50位的免費(fèi)應(yīng)用中超過80%都存在重打包版本。這一方面是因?yàn)榘沧康氖袌銮辣容^多元化,app的生產(chǎn)者如果想要快速推廣自己的app的話一般都需要同時(shí)在多個(gè)渠道提供下載。另一方面,安卓應(yīng)用市場之間的競爭壓力也迫使其盡量豐富自己的應(yīng)用,所以存在有動機(jī)將原本沒有在其渠道中發(fā)布的應(yīng)用放上去。

這也是平時(shí)在使用安卓應(yīng)用商店時(shí)能直觀感受到的情況:同一個(gè)app,尤其是較為流行的app,或者免費(fèi)的app,用戶在多種渠道都可以直接接觸到它。但是盡管這些app都是官方版本的非惡意應(yīng)用,但是其哈希值并不相同。其原因有多種,或者是應(yīng)用采用了不同的簽名方法,或者是app的作者在不同時(shí)間編譯相同的代碼時(shí),使用了不同的編譯環(huán)境;又或者是開發(fā)者只對app源碼做了極其細(xì)微的改動;而除此以外,另一種情況就更為普遍和隨意了,那就是黑客為了傳播自己的惡意代碼,故意將這些知名app或者免費(fèi)app進(jìn)行重打包,通過大量不受嚴(yán)格監(jiān)管的渠道分發(fā)。

但是目前的殺毒引擎等在進(jìn)行識別是,是基于hash值比對的方法判定app包是否為惡意,面對這種情況,則明顯無法進(jìn)行有效識別。

基于此,目前拯待一種更加有效的方式來對應(yīng)用程序進(jìn)行識別。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明提出了一種識別惡意特征的方法和設(shè)備,用以克服現(xiàn)有技術(shù)中的缺陷,提高識別的準(zhǔn)確性。

本發(fā)明提出了以下具體的實(shí)施例:

本發(fā)明實(shí)施例提出了一種識別惡意特征的方法,包括:

獲取一定數(shù)量應(yīng)用程序的原始代碼;

基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;

若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;

若分析結(jié)果為存在異常,將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;

基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。

在一個(gè)具體的實(shí)施例中,所述“獲取一定數(shù)量應(yīng)用程序的原始代碼”包括:

獲取一定數(shù)量的應(yīng)用程序;

針對各應(yīng)用程序,通過反編譯或通過模擬器運(yùn)行的方式獲取到對應(yīng)各應(yīng)用程序的原始代碼。

在一個(gè)具體的實(shí)施例中,所述軟件流程特征包括:控制流圖與代碼流圖;

所述“基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征”包括:

對所述原始代碼的結(jié)構(gòu)進(jìn)行解析,獲取activity以及函數(shù)庫;

提取所述activity中的用戶視圖,以獲取到視圖特征;其中,所述視圖特征為在代碼框架基礎(chǔ)上調(diào)用原始代碼中的資源文件;

基于所述函數(shù)庫生成控制流圖與代碼流圖。

在一個(gè)具體的實(shí)施例中,所述“提取所述軟件流程特征和/或視圖特征進(jìn)行分析”包括:

基于所述軟件流程特征判斷函數(shù)調(diào)用是否異常;

若判斷結(jié)果為是,則確定分析結(jié)果為異常;和/或

基于所述視圖特征與標(biāo)準(zhǔn)視圖特征進(jìn)行比對;

若比對結(jié)果為不一致,則確定分析結(jié)果為異常。

在一個(gè)具體的實(shí)施例中,所述“基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別”包括:

提取待識別應(yīng)用程序中的軟件流程特征與視圖特征;

判斷所提取的軟件流程特征與視圖特征是否存在于所述數(shù)據(jù)庫中;

若判斷結(jié)果為是,則確定待識別應(yīng)用程序中存在惡意特征;

若判斷結(jié)果為否,則確定待識別應(yīng)用程序中不存在惡意特征。

本發(fā)明實(shí)施例還提出了一種識別惡意特征的設(shè)備,包括:

獲取模塊,用于獲取一定數(shù)量應(yīng)用程序的原始代碼;

確定模塊,用于基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;

提取模塊,用于若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;

存儲模塊,用于當(dāng)分析結(jié)果為存在異常時(shí),將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;

識別模塊,用于基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。

在一個(gè)具體的實(shí)施例中,所述獲取模塊用于:

獲取一定數(shù)量的應(yīng)用程序;

針對各應(yīng)用程序,通過反編譯或通過模擬器運(yùn)行的方式獲取到對應(yīng)各應(yīng)用程序的原始代碼。

在一個(gè)具體的實(shí)施例中,所述軟件流程特征包括:控制流圖與代碼流圖;

所述確定模塊用于:

對所述原始代碼的結(jié)構(gòu)進(jìn)行解析,獲取activity以及函數(shù)庫;

提取所述activity中的用戶視圖,以獲取到視圖特征;其中,所述視圖特征為在代碼框架基礎(chǔ)上調(diào)用原始代碼中的資源文件;

基于所述函數(shù)庫生成控制流圖與代碼流圖。

在一個(gè)具體的實(shí)施例中,所述提取模塊“提取所述軟件流程特征和/或視圖特征進(jìn)行分析”包括:

基于所述軟件流程特征判斷函數(shù)調(diào)用是否異常;

若判斷結(jié)果為是,則確定分析結(jié)果為異常;和/或

基于所述視圖特征與標(biāo)準(zhǔn)視圖特征進(jìn)行比對;

若比對結(jié)果為不一致,則確定分析結(jié)果為異常。

在一個(gè)具體的實(shí)施例中,所述識別模塊用于:

提取待識別應(yīng)用程序中的軟件流程特征與視圖特征;

判斷所提取的軟件流程特征與視圖特征是否存在于所述數(shù)據(jù)庫中;

若判斷結(jié)果為是,則確定待識別應(yīng)用程序中存在惡意特征;

若判斷結(jié)果為否,則確定待識別應(yīng)用程序中不存在惡意特征。

以此,本發(fā)明公開了一種識別惡意特征的方法和設(shè)備,其中該方法包括:獲取一定數(shù)量應(yīng)用程序的原始代碼;基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;若分析結(jié)果為存在異常,將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。以此通過各應(yīng)用程序所唯一對應(yīng)的軟件流程特征與視圖特征來對應(yīng)用程序進(jìn)行識別,提高了識別的準(zhǔn)確性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1為本發(fā)明實(shí)施例提出的一種識別惡意特征的方法的流程示意圖;

圖2為本發(fā)明實(shí)施例提出的一種識別惡意特征的方法的流程示意圖;

圖3為本發(fā)明實(shí)施例提出的一種識別惡意特征的方法的流程示意圖;

圖4為本發(fā)明實(shí)施例提出的一種識別惡意特征的方法的流程示意圖;

圖5為本發(fā)明實(shí)施例提出的一種識別惡意特征的方法的流程示意圖;

圖6為本發(fā)明實(shí)施例提出的一種識別惡意特征的設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

在下文中,將更全面地描述本公開的各種實(shí)施例。本公開可具有各種實(shí)施例,并且可在其中做出調(diào)整和改變。然而,應(yīng)理解:不存在將本公開的各種實(shí)施例限于在此公開的特定實(shí)施例的意圖,而是應(yīng)將本公開理解為涵蓋落入本公開的各種實(shí)施例的精神和范圍內(nèi)的所有調(diào)整、等同物和/或可選方案。

在下文中,可在本公開的各種實(shí)施例中使用的術(shù)語“包括”或“可包括”指示所公開的功能、操作或元件的存在,并且不限制一個(gè)或更多個(gè)功能、操作或元件的增加。此外,如在本公開的各種實(shí)施例中所使用,術(shù)語“包括”、“具有”及其同源詞僅意在表示特定特征、數(shù)字、步驟、操作、元件、組件或前述項(xiàng)的組合,并且不應(yīng)被理解為首先排除一個(gè)或更多個(gè)其它特征、數(shù)字、步驟、操作、元件、組件或前述項(xiàng)的組合的存在或增加一個(gè)或更多個(gè)特征、數(shù)字、步驟、操作、元件、組件或前述項(xiàng)的組合的可能性。

在本公開的各種實(shí)施例中,表述“或”或“a或/和b中的至少一個(gè)”包括同時(shí)列出的文字的任何組合或所有組合。例如,表述“a或b”或“a或/和b中的至少一個(gè)”可包括a、可包括b或可包括a和b二者。

在本公開的各種實(shí)施例中使用的表述(諸如“第一”、“第二”等)可修飾在各種實(shí)施例中的各種組成元件,不過可不限制相應(yīng)組成元件。例如,以上表述并不限制所述元件的順序和/或重要性。以上表述僅用于將一個(gè)元件與其它元件區(qū)別開的目的。例如,第一用戶裝置和第二用戶裝置指示不同用戶裝置,盡管二者都是用戶裝置。例如,在不脫離本公開的各種實(shí)施例的范圍的情況下,第一元件可被稱為第二元件,同樣地,第二元件也可被稱為第一元件。

應(yīng)注意到:如果描述將一個(gè)組成元件“連接”到另一組成元件,則可將第一組成元件直接連接到第二組成元件,并且可在第一組成元件和第二組成元件之間“連接”第三組成元件。相反地,當(dāng)將一個(gè)組成元件“直接連接”到另一組成元件時(shí),可理解為在第一組成元件和第二組成元件之間不存在第三組成元件。

在本公開的各種實(shí)施例中使用的術(shù)語“用戶”可指示使用電子裝置的人或使用電子裝置的裝置(例如,人工智能電子裝置)。

在本公開的各種實(shí)施例中使用的術(shù)語僅用于描述特定實(shí)施例的目的并且并非意在限制本公開的各種實(shí)施例。如在此所使用,單數(shù)形式意在也包括復(fù)數(shù)形式,除非上下文清楚地另有指示。除非另有限定,否則在這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本公開的各種實(shí)施例所屬領(lǐng)域普通技術(shù)人員通常理解的含義相同的含義。所述術(shù)語(諸如在一般使用的詞典中限定的術(shù)語)將被解釋為具有與在相關(guān)技術(shù)領(lǐng)域中的語境含義相同的含義并且將不被解釋為具有理想化的含義或過于正式的含義,除非在本公開的各種實(shí)施例中被清楚地限定。

實(shí)施例1

本發(fā)明實(shí)施例1提出了一種識別惡意特征的方法,如圖1所示,包括:

步驟101、獲取一定數(shù)量應(yīng)用程序的原始代碼;

在一個(gè)具體的實(shí)施例中,步驟101中的所述“獲取一定數(shù)量應(yīng)用程序的原始代碼”如圖2所示,包括:

步驟1011、獲取一定數(shù)量的應(yīng)用程序;

步驟1012、針對各應(yīng)用程序,通過反編譯或通過模擬器運(yùn)行的方式獲取到對應(yīng)各應(yīng)用程序的原始代碼。

具體的,數(shù)量越多越好(例如達(dá)到百萬量級),數(shù)量越多,也就意味著后續(xù)數(shù)據(jù)庫中作為參考的數(shù)量越多,數(shù)據(jù)越全,也即識別的準(zhǔn)確率也越高。

具體的,以app為例,提取其中的軟件包,也即apk文件,然后對所提取的apk文件進(jìn)行反編譯或通過模擬器運(yùn)行以得到原始代碼,而除了這幾種方式以外,其他的方式也是可以的,具體的只要能獲取到原始代碼即可,并不限于這幾種具體的方式。

步驟102、基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;

具體的,所述軟件流程特征包括:控制流圖與代碼流圖;具體的步驟102中所述“基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征”如圖3所示,包括:

步驟1021、對所述原始代碼的結(jié)構(gòu)進(jìn)行解析,獲取activity以及函數(shù)庫;

步驟1022、提取所述activity中的用戶視圖,以獲取到視圖特征;其中,所述視圖特征為在代碼框架基礎(chǔ)上調(diào)用原始代碼中的資源文件;

步驟1023、基于所述函數(shù)庫生成控制流圖與代碼流圖。

具體的,通過解析apk得到的原始代碼結(jié)構(gòu),提取其中的activity與函數(shù)庫(例如包括java類的函數(shù)庫);并基于函數(shù)庫生成控制流圖(即controlmap,具體的一個(gè)控制流圖的示意圖如圖4所示)、代碼流圖,以獲得軟件流程特征。所述視圖特征為在代碼框架基礎(chǔ)上調(diào)用原始代碼中的資源文件,例如app的ui、以及由事件等特征生成的視圖。

步驟103、若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;

具體的,步驟103中所述“提取所述軟件流程特征和/或視圖特征進(jìn)行分析”包括:

基于所述軟件流程特征判斷函數(shù)調(diào)用是否異常;

若判斷結(jié)果為是,則確定分析結(jié)果為異常;和/或

基于所述視圖特征與標(biāo)準(zhǔn)視圖特征進(jìn)行比對;

若比對結(jié)果為不一致,則確定分析結(jié)果為異常。

具體的,是通過所述軟件流程特征與所述視圖特征來共同進(jìn)行判斷是否異常,具體的,當(dāng)函數(shù)調(diào)用異常時(shí),即可確定異常;而當(dāng)視圖特征與標(biāo)準(zhǔn)視圖特征(例如可以從正軌的應(yīng)用市場獲取的對應(yīng)app中進(jìn)行提取)不正常時(shí),也可以確定異常;只有基于軟件流程特征與視圖特征的判斷結(jié)果都不異常時(shí),才確定分析結(jié)果不異常。

此外,還可以從用戶的評價(jià)(例如是否有惡意扣分,惡意廣告等內(nèi)容的評價(jià))中獲取到是否存在有惡意的特征,特別是惡意代碼的內(nèi)容,進(jìn)而判斷該app中是否存在有惡意特征。

而通過比較差異(對應(yīng)有差異值)是否大于預(yù)設(shè)的安全閾值,可以對海量的應(yīng)用程序進(jìn)行初步篩選,以便減少工作量,提高處理效率。具體的安全閾值可以根據(jù)實(shí)際app的情況進(jìn)行設(shè)置,并可以進(jìn)行隨時(shí)調(diào)整,當(dāng)差異的差異值小于預(yù)設(shè)的安全閾值,則可以認(rèn)為是處于合理的正常范圍。

步驟104、若分析結(jié)果為存在異常,將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;

步驟105、基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。

在一個(gè)具體的實(shí)施例中,步驟105中所述“基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別”如圖5所示,包括:

步驟1051、提取待識別應(yīng)用程序中的軟件流程特征與視圖特征;

步驟1052、判斷所提取的軟件流程特征與視圖特征是否存在于所述數(shù)據(jù)庫中;

步驟1053、若判斷結(jié)果為是,則確定待識別應(yīng)用程序中存在惡意特征;

步驟1054、若判斷結(jié)果為否,則確定待識別應(yīng)用程序中不存在惡意特征。

具體的,將比對之后得到的apk擁有的同類特征建立數(shù)據(jù)庫。新的apk生成相應(yīng)的特征后將與數(shù)據(jù)庫進(jìn)行比較,從而判定該apk是否是含有惡意代碼的apk。

實(shí)施例2

本發(fā)明實(shí)施例還提出了一種識別惡意特征的設(shè)備,如圖6所示,包括:

獲取模塊201,用于獲取一定數(shù)量應(yīng)用程序的原始代碼;

確定模塊202,用于基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;

提取模塊203,用于若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;

存儲模塊204,用于當(dāng)分析結(jié)果為存在異常時(shí),將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;

識別模塊205,用于基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。

在一個(gè)具體的實(shí)施例中,所述獲取模塊201用于:

獲取一定數(shù)量的應(yīng)用程序;

針對各應(yīng)用程序,通過反編譯或通過模擬器運(yùn)行的方式獲取到對應(yīng)各應(yīng)用程序的原始代碼。

在一個(gè)具體的實(shí)施例中,所述軟件流程特征包括:控制流圖與代碼流圖;

所述確定模塊202用于:

對所述原始代碼的結(jié)構(gòu)進(jìn)行解析,獲取activity以及函數(shù)庫;

提取所述activity中的用戶視圖,以獲取到視圖特征;其中,所述視圖特征為在代碼框架基礎(chǔ)上調(diào)用原始代碼中的資源文件;

基于所述函數(shù)庫生成控制流圖與代碼流圖。

在一個(gè)具體的實(shí)施例中,所述提取模塊203“提取所述軟件流程特征和/或視圖特征進(jìn)行分析”包括:

基于所述軟件流程特征判斷函數(shù)調(diào)用是否異常;

若判斷結(jié)果為是,則確定分析結(jié)果為異常;和/或

基于所述視圖特征與標(biāo)準(zhǔn)視圖特征進(jìn)行比對;

若比對結(jié)果為不一致,則確定分析結(jié)果為異常。

在一個(gè)具體的實(shí)施例中,所述識別模塊205用于:

提取待識別應(yīng)用程序中的軟件流程特征與視圖特征;

判斷所提取的軟件流程特征與視圖特征是否存在于所述數(shù)據(jù)庫中;

若判斷結(jié)果為是,則確定待識別應(yīng)用程序中存在惡意特征;

若判斷結(jié)果為否,則確定待識別應(yīng)用程序中不存在惡意特征。

以此,本發(fā)明公開了一種識別惡意特征的方法和設(shè)備,其中該方法包括:獲取一定數(shù)量應(yīng)用程序的原始代碼;基于所述原始代碼確定對應(yīng)所述應(yīng)用程序的軟件流程特征與視圖特征;若相似程度大于預(yù)設(shè)的相似閾值的應(yīng)用程序的軟件流程特征和/或視圖特征的差異大于預(yù)設(shè)的安全閾值;提取所述軟件流程特征和/或視圖特征進(jìn)行分析;若分析結(jié)果為存在異常,將存在異常的部分標(biāo)注為惡意特征并存儲在數(shù)據(jù)庫中;基于所述數(shù)據(jù)庫對待識別應(yīng)用程序中是否存在有惡意特征進(jìn)行識別。以此通過各應(yīng)用程序所唯一對應(yīng)的軟件流程特征與視圖特征來對應(yīng)用程序進(jìn)行識別,提高了識別的準(zhǔn)確性。

本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場景的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。

本領(lǐng)域技術(shù)人員可以理解實(shí)施場景中的裝置中的模塊可以按照實(shí)施場景描述進(jìn)行分布于實(shí)施場景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施場景的一個(gè)或多個(gè)裝置中。上述實(shí)施場景的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。

上述本發(fā)明序號僅僅為了描述,不代表實(shí)施場景的優(yōu)劣。

以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施場景,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1