文件安全性識別方法和裝置的制造方法
【專利摘要】本申請公開了文件安全性識別方法和裝置。所述方法的一【具體實施方式】包括:提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量;將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng);通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。該實施方式提高了文件安全性識別的應(yīng)用范圍。
【專利說明】
文件安全性識別方法和裝置
技術(shù)領(lǐng)域
[0001]本申請涉及計算機(jī)技術(shù)領(lǐng)域,具體涉及信息安全技術(shù)領(lǐng)域,尤其涉及文件安全性識別方法和裝置。
【背景技術(shù)】
[0002]計算機(jī)病毒(Computer Virus)是編制者在計算機(jī)程序中插入的破壞計算機(jī)功能或者數(shù)據(jù)的代碼,能影響計算機(jī)使用,能自我復(fù)制的一組計算機(jī)指令或者程序代碼?,F(xiàn)有技術(shù)中通常通過人工添加文件的匹配規(guī)則來識別應(yīng)用程序是否為病毒文件。
[0003]然而,由于傳統(tǒng)的病毒識別是完全依賴于人工預(yù)先添加好的規(guī)則進(jìn)行識別,對于人工未能識別的病毒文件,由于客戶端缺乏識別的邏輯規(guī)則,則不能夠有效的識別,因此亟需提高病毒識別的應(yīng)用范圍。
【發(fā)明內(nèi)容】
[0004]本申請的目的在于提出一種改進(jìn)的文件安全性識別方法和裝置,來解決以上【背景技術(shù)】部分提到的技術(shù)問題。
[0005]第一方面,本申請?zhí)峁┝艘环N文件安全性識別方法,所述方法包括:提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量;將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng);通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。
[0006]第二方面,本申請?zhí)峁┝艘环N文件安全性識別裝置,所述裝置包括:提取單元,用于提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量;輸入單元,用于將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng);確定單元,用于通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。
[0007]本申請?zhí)峁┑奈募踩宰R別方法和裝置,可以通過針對提取特征信息所形成的不同類型的特征向量,均能夠通過相應(yīng)的機(jī)器學(xué)習(xí)模型進(jìn)行處理,從而對文件的安全性進(jìn)行識別,能提高文件安全性識別的應(yīng)用范圍。
【附圖說明】
[0008]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
[0009]圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
[0010]圖2是根據(jù)本申請的文件安全性識別方法的一個實施例的流程圖;
[0011]圖3是根據(jù)本申請圖2所描述的文件安全性識別方法的一個應(yīng)用場景的示意圖;
[0012]圖4是根據(jù)本申請的文件安全性識別方法的又一個實施例的流程圖;
[0013]圖5是根據(jù)本申請圖4所描述的文件安全性識別方法的一個應(yīng)用場景的示意圖;
[0014]圖6是根據(jù)本申請的文件安全性識別裝置的一個實施例的結(jié)構(gòu)示意圖;
[0015]圖7是適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0016]下面結(jié)合附圖和實施例對本申請作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
[0017]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本申請。
[0018]圖1示出了可以應(yīng)用本申請的文件安全性識別方法或文件安全性識別裝置的實施例的示例性系統(tǒng)架構(gòu)100。
[0019]如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
[0020]用戶可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種通訊客戶端應(yīng)用,例如安全類應(yīng)用等。
[0021]終端設(shè)備101、102、103可以是各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Aud1 Layer III,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4(Moving Picture Experts Group Aud1 Layer IV,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計算機(jī)和臺式計算機(jī)等等。
[0022]服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對終端設(shè)備101、102、103上顯示的數(shù)據(jù)提供支持的后臺服務(wù)器。例如,后臺服務(wù)器可以對接收到的數(shù)據(jù)進(jìn)行分析等處理,并將處理結(jié)果(例如識別結(jié)果)反饋給終端設(shè)備。
[0023]需要說明的是,圖2對應(yīng)實施例所提供的文件安全性識別方法一般由終端設(shè)備
101、102、103執(zhí)行,一些步驟也可以由服務(wù)器105執(zhí)行;相應(yīng)地,圖4對應(yīng)實施例中的文件安全性識別裝置一般設(shè)置于終端設(shè)備101、102、103中,一些單元也可以設(shè)置在服務(wù)器105。
[0024]應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
[0025]繼續(xù)參考圖2,示出了根據(jù)本申請的文件安全性識別方法的一個實施例的流程200。所述的文件安全性識別方法,包括以下步驟:
[0026]步驟201,提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息對應(yīng)的特征向量。
[0027]在本實施例中,文件安全性識別方法運行于其上的電子設(shè)備(例如圖1所示的終端設(shè)備)可以針對待識別文件的至少一種用于文件安全性識別的特征信息進(jìn)行信息提取,獲取到用于表征特征信息對應(yīng)的特征向量。其中,這些特征信息可以包括但不限應(yīng)用程序中各個文件的大小信息、時間信息、文件名信息。特征向量是用于表征這些特征的向量,是對這些特征通過量化處理而形成的。其中,特征向量的類型包括長度固定的固定長特征向量和長度不固定的變長特征向量。例如,有些特征可以使用長度能預(yù)先確定的特征向量進(jìn)行表征,則相應(yīng)的特征向量為定長特征向量;有些特征可以使用長度無法預(yù)先確定的特征向量進(jìn)行表征,則相應(yīng)的特征向量為變長特征向量。每種特征信息所對應(yīng)的特征向量的類型可以是根據(jù)特征信息的特點預(yù)先設(shè)定的??蛇x的,所生成的特征向量是由0、1組成的特征向量。
[0028]需要說明的是,針對各個特征信息得到的特征向量可能都是定長特征向量,也可能都是變長特征向量,也可能兩者皆有。
[0029]在本實施例的一些可選實現(xiàn)方式中,上述待識別文件為安卓安裝包APK文件。
[0030]在本實施例的一些可選實現(xiàn)方式中,當(dāng)待識別文件為安卓安裝包APK文件,該特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的特征向量:APK文件的結(jié)構(gòu)特征信息;APK文件的權(quán)限信息;APK文件的所提供服務(wù)的信息;APK文件的所監(jiān)聽事件的信息;APK文件中各個類的類名、各個函數(shù)的函數(shù)名或所引用的字符串的信息;APK文件中各個文件的文件類型的分布特征的特征信息。上述結(jié)構(gòu)特征包括但不限于:包、類、成員函數(shù)、成員變量、輸入?yún)?shù)、菜單、動畫、圖片的特征。
[0031]在本實施例的一些可選實現(xiàn)方式中,結(jié)構(gòu)特征信息包括以下一種或多種:APK文件中名稱的長度小于閾值的包的個數(shù);APK文件中的類的名稱的長度的最大值、最小值、總和值、平均值、方差值、類的個數(shù)與APK文件中的所有類的個數(shù)的比例;APK文件中的成員變量的名稱的長度的最大值、最小值、平均值、方差值、成員變量的個數(shù)與APK文件中的所有成員變量的個數(shù)的比例;APK文件中的成員函數(shù)的名稱的長度的最大值、最小值、總和值、平均值、方差值、成員函數(shù)的個數(shù)在APK文件中的所有成員變量的個數(shù)中所占的比例;APK文件中成員變量的類型、成員函數(shù)的返回值的類型與APK文件中所有數(shù)據(jù)的類型的比例;APK文件中成員函數(shù)的輸入?yún)?shù)的個數(shù)的分布、輸入?yún)?shù)的名稱的長度小于閾值的參數(shù)的個數(shù);APK文件中是否存在預(yù)設(shè)字符串、url、電話號碼、數(shù)字;APK文件中的窗體的個數(shù)、窗體的名稱的長度的最大值、最小值、總和值、平均值、方差值、窗體的尺寸以及確定窗口;APK文件中的菜單的個數(shù)、菜單的名稱的字符串長度的最大值、最小值、總和值、平均值、方差值;APK文件中動畫的個數(shù)、動畫的名稱的長度的最大值、最小值、總和值、平均值、方差值和動畫中的圖像的像素特征;APK文件中圖片的個數(shù)、圖片的名稱的長度的最大值、最小值、總和值、平均值、方差值和圖片中的圖像的像素特征。
[0032]可選的,上述權(quán)限信息對應(yīng)的定長特征分量可以是通過以下方式提取的:針對每一個預(yù)先選取出的權(quán)限,可以提取用于表示APK文件是否具有該權(quán)限的信息的分量。對于待識別APK文件具有的預(yù)設(shè)權(quán)限,對應(yīng)的分量的數(shù)值為I。對于待識別APK文件不具有的權(quán)限,對應(yīng)的分量的數(shù)值為O。
[0033]可選的,APK文件的所監(jiān)聽事件的信息對應(yīng)的定長特征分量可以是通過以下方式提取的:針對每一個預(yù)先選取出的監(jiān)聽事件,可以提取用于表示APK文件是否具有該監(jiān)聽事件的信息的分量。對于APK中監(jiān)聽的事件,該監(jiān)聽的事件對應(yīng)的分量的數(shù)值為I;對于APK沒有監(jiān)聽的事件,該監(jiān)聽的事件對應(yīng)的分量的數(shù)值為O。
[0034]可選的,APK文件中各個文件的文件類型的分布特征的特征信息對應(yīng)的定長特征分量可以是通過以下方式提取的:針對預(yù)先設(shè)置的預(yù)設(shè)個數(shù)的類型,例如4?1(、(1^、」&^80、xml、icon、png等文件類型,判斷待識別APK文件是否存在該類型的文件,根據(jù)判斷結(jié)果,提取相應(yīng)的定長特征向量。
[0035]此外,APK文件中各個類的類名、各個函數(shù)的函數(shù)名或所引用的字符串的信息也可以通過處理成用于表示該信息的定長特征變量。
[0036]在本實施例的一些可選實現(xiàn)方式中,特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的變長特征向量:APK文件的函數(shù)調(diào)用關(guān)系的信息;APK文件中各個窗口的的控件類型以及控件名稱的信息;APK文件中各個文件的更新時間的分布特征的信息;APK文件中所包含的證書類別的信息。
[0037]可選的,函數(shù)調(diào)用關(guān)系的信息對應(yīng)的變長特征向量可以通過以下方法提取的:可以獲取待識別APK文件中所有函數(shù)的調(diào)用關(guān)系,生成函數(shù)森林。在該函數(shù)森林中,每一個函數(shù)對應(yīng)一個節(jié)點。函數(shù)森林中包含多個樹。在生成函數(shù)森林之后,可以根據(jù)樹的長度進(jìn)行排序,確定長度的排名靠前的預(yù)設(shè)個數(shù)的樹,例如排名前100位的樹。在長度靠前的預(yù)設(shè)個數(shù)的樹中,可以進(jìn)一步采用深度優(yōu)先算法遍歷預(yù)設(shè)深度之上的節(jié)點,得到確定出的樹對應(yīng)的多個函數(shù)。在本實施例中,可以采用相似度哈希算法,例如采用simhash算法計算確定出的樹對應(yīng)的哈希值。例如,可以將上述多個函數(shù)的函數(shù)名進(jìn)行組合或?qū)⒍鄠€函數(shù)的指令進(jìn)行組合后作為相似度哈希算法的輸入,從而可以計算出確定出的樹對應(yīng)的哈希值。然后,將該哈希值作為函數(shù)調(diào)用關(guān)系的信息對應(yīng)的變長特征向量。
[0038]對于待識別APK文件中各個窗口的的控件類型以及控件名稱的信息、,可以將控件的類型和名稱對應(yīng)的字符串轉(zhuǎn)換為變長特征向量。對于APK文件中各個文件的更新時間的分布特征的信息,也可以提取出用于表征該信息的變長特征向量;
[0039]對于APK文件的數(shù)字證書特征信息,可以提取出對應(yīng)的變長特征向量,其中該變長特征向量的每個分量與該APK具有的各個數(shù)字證書的特征對應(yīng)。每個分量的各個子分量分別用于表征數(shù)字證書中的CN(Common Name,名字與姓氏)、0U(Organizat1n Unit,組織單位名稱)、0(0rganizat1n,組織名稱)、L(Locality,城市或區(qū)域名稱)、ST(State,州或省份名稱)、C(Country,國家名稱)部分的內(nèi)容信息。
[0040]步驟202,將所得到的各個特征向量作為輸入向量分別輸入至與特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型。
[0041]在本實施例中,基于步驟201獲取到的各個特征向量,文件安全性識別方法運行于其上的電子設(shè)備上可以將所得到的各個特征向量作為輸入向量分別輸入至與特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng)。其中,上述定長輸入學(xué)習(xí)模型和變長輸入學(xué)習(xí)模型可以是預(yù)先根據(jù)各個特征信息所對應(yīng)特征向量的長度特點分別創(chuàng)建的。
[0042]步驟203,通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定待識別文件為病毒文件或安全文件。
[0043]在本實施例中,在基于步驟202輸入至各個機(jī)器學(xué)習(xí)模型的輸入向量后,可以從各個機(jī)器學(xué)習(xí)模型得到對應(yīng)的輸出向量機(jī)器學(xué)習(xí)模型。電子設(shè)備可以根據(jù)每一個設(shè)備的輸出向量,通過各種算法判斷出待識別文件為病毒文件或安全文件。例如,可以通過各個輸出向量確定各個機(jī)器學(xué)習(xí)模型對待識別文件安全性基于相應(yīng)特征的判斷值,之后對判斷值按照一定的規(guī)則進(jìn)行合計得到最后的結(jié)果。合計時可以通過投票法、加權(quán)計算法等。實踐中,通過各個機(jī)器學(xué)習(xí)模型的輸出向量確定待識別文件為病毒文件或安全文件的方法不限于以上所列舉的算法。
[0044]在本實施例的一些可選實現(xiàn)方式中,上述定長輸入學(xué)習(xí)模型為神經(jīng)網(wǎng)絡(luò)(NN,Neural Network)模型,變長輸入學(xué)習(xí)模型為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent neuralNetwork)模型。在將定長特征向量輸入至NN模型時,該定長特征向量的長度通常與對應(yīng)的NN模型的輸入向量的長度相匹配,每次將相應(yīng)的定長特征向量按照預(yù)設(shè)長度輸入即可。在將變長特征向量輸入至RNN模型時,可以以時間片為單位進(jìn)行輸入,每一個時間片輸入預(yù)設(shè)個數(shù)的分量,循環(huán)輸入直至完全輸入至該RNN模型中??蛇x的,上述循環(huán)神經(jīng)網(wǎng)絡(luò)模型可以是長短期記憶網(wǎng)絡(luò)(LSTM,Long_Short Term Memory)模型。
[0045]在本實施例的一些可選實現(xiàn)方式中,在通過步驟202將所得到的各個特征向量作為輸入向量分別輸入至與特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型之前,上述方法還包括:若特征向量與機(jī)器學(xué)習(xí)模型的輸入向量的長度不匹配時,電子設(shè)備可以對特征向量進(jìn)行截斷處理或補(bǔ)位處理。其中,截斷處理通常是在特征向量的長度過長時,僅截取該特征向量中與機(jī)器學(xué)習(xí)模型的長度匹配的數(shù)位,截取后的特征向量用作后續(xù)處理。對特征向量的補(bǔ)位處理,是在特征向量與模型輸入?yún)?shù)長度不匹配時,可以對特征向量補(bǔ)充一些數(shù)位(例如補(bǔ)O),使得兩者長度匹配。例如,對于定長特征變量,當(dāng)定長特征變量的長度小于定長輸入學(xué)習(xí)模型的輸入向量的長度時,可以通過補(bǔ)位進(jìn)行處理,使得兩者匹配;對于變長特征向量,當(dāng)變長特征變量的長度不是變長輸入學(xué)習(xí)模型的輸入向量的單次輸入長度的整數(shù)倍時,可以對其進(jìn)行補(bǔ)位處理,使得變長特征變量的長度是模型輸入?yún)?shù)長度的整數(shù)倍。
[0046]在本實施例的一些可選實現(xiàn)方式中,上述機(jī)器學(xué)習(xí)模型可以是通過以下步驟進(jìn)行訓(xùn)練而生成:首先,針對訓(xùn)練用樣本中的各個文件,分別提取文件的各種特征信息,以得到對應(yīng)的各個特征向量,其中,訓(xùn)練用樣本包括至少一個帶有安全類別標(biāo)簽的文件,安全類別標(biāo)簽用于表征文件為病毒文件或安全文件,各種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括定長特征向量和變長特征向量;之后,將所得到的各個特征向量作為輸入向量并結(jié)合各個文件的安全類別標(biāo)簽,訓(xùn)練生成與各種特征信息對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為定長輸入學(xué)習(xí)模型,變長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為變長輸入學(xué)習(xí)模型。
[0047]繼續(xù)參見圖3,圖3是根據(jù)本實施例的文件安全性識別方法的應(yīng)用場景的一個示意圖。在圖3的應(yīng)用場景中,電子設(shè)備可以對待識別APK文件進(jìn)行各個特征信息進(jìn)行提取以提取出表示各個特征信息的特征向量,該特征向量可以包括APK文件的結(jié)構(gòu)特征信息、權(quán)限信息等特征信息分別對應(yīng)的定長特征向量I……n,也可以包括APK文件的函數(shù)調(diào)用關(guān)系信息、所包含的證書類別的信息等特征信息分別對應(yīng)的變長特征向量I……m。之后,電子設(shè)備將提取出的特征向量分別輸入至對應(yīng)的機(jī)器學(xué)習(xí)模型,其中定長特征向量I……η分別對應(yīng)的機(jī)器學(xué)習(xí)模型為NN模型I……η,變長特征向量I……m分別對應(yīng)的機(jī)器學(xué)習(xí)模型為RNN模型I……m;之后,電子設(shè)備可以收集各個機(jī)器學(xué)習(xí)模型的輸出向量并通過輸出層計算,獲取輸出值,該輸出值即可用于指示待識別文件為病毒文件還是安全文件。
[0048]本申請的上述實施例提供的方法對于特征提取出長度固定或不固定的特征變量,對于兩種不同的特征向量均可以進(jìn)行相應(yīng)處理并獲得識別結(jié)果,提高了文件安全性識別的應(yīng)用范圍。
[0049]進(jìn)一步參考圖4,其示出了文件安全性識別方法的又一個實施例的流程400。該文件安全性識別方法的流程400,包括以下步驟:
[0050]步驟401,提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息對應(yīng)的特征向量。
[0051 ]在本實施例中,步驟401的具體處理可以參考圖2對應(yīng)實施例的步驟201。
[0052]步驟402,將所得到的各個特征向量作為輸入向量分別輸入至與特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型。
[0053]在本實施例中,步驟402的具體處理可以參考圖2對應(yīng)實施例的步驟202。
[0054]步驟403,將各個機(jī)器學(xué)習(xí)模型的輸出向量輸入至預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型。
[0055]在本實施例中,基于步驟402中各個機(jī)器學(xué)習(xí)模型生成的輸出向量,電子設(shè)備可以將該輸出向量作為輸入向量輸入至預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型中。
[0056]步驟404,通過該預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型的輸出向量確定待識別文件為病毒文件或安全文件。
[0057]在本實施例中,基于步驟403中預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型的輸出向量,電子設(shè)備可以基于該輸出向量確定待識別文件為病毒文件或安全文件。通常,該預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型可以是通過訓(xùn)練生成的。
[0058]繼續(xù)參見圖5,圖5是根據(jù)本實施例的文件安全性識別方法的應(yīng)用場景的一個示意圖。與圖3所描述的應(yīng)用場景不同的是,該應(yīng)用場景將NN模型I……η以及RNN模型I……m等各個機(jī)器學(xué)習(xí)模型的輸出向量作為輸入向量輸入至NN模型n+1中,之后可以使用NN模型n+1的輸出向量判斷待識別APK文件為病毒文件還是安全文件。
[0059]相比于圖2對應(yīng)的實施例,申請的該實施例提供的方法對各個機(jī)器學(xué)習(xí)模型所生成的輸出向量作為輸入向量輸入至另一個定長機(jī)器學(xué)習(xí)模型中,從而可以通過機(jī)器學(xué)習(xí)模型的組合進(jìn)一步提高識別的準(zhǔn)確性。
[0060]進(jìn)一步參考圖6,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N文件安全性識別裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種服務(wù)器中。
[0061]如圖6所示,本實施例所述的文件安全性識別裝置600包括:提取單元601、輸入單元602、確定單元603。其中,提取單元601用于提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量;輸入單元602用于將所得到的各個特征向量作為輸入向量分別輸入至與特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng);確定單元603用于通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定待識別文件為病毒文件或安全文件。
[0062]在本實施例中,文件安全性識別裝置600的提取單元601、輸入單元602、確定單元603的具體處理可以參考圖2對應(yīng)的實施例。
[0063]在本實施例的一些可選實現(xiàn)方式中,上述待識別文件為安卓安裝包APK文件。特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的定長特征向量:APK文件的結(jié)構(gòu)特征信息;APK文件的權(quán)限信息;APK文件所提供服務(wù)的信息;APK文件所監(jiān)聽事件的信息;APK文件中各個類的類名、各個函數(shù)的函數(shù)名或所引用的字符串的信息;APK文件中各個文件的文件類型的分布特征的特征信息。
[0064]在本實施例的一些可選實現(xiàn)方式中,上述結(jié)構(gòu)特征信息包括以下一項或多項:APK文件中名稱的長度小于閾值的包的個數(shù);APK文件中的類的名稱的長度的最大值、最小值、總和值、平均值、方差值、類的個數(shù)與APK文件中的所有類的個數(shù)的比例;APK文件中的成員變量的名稱的長度的最大值、最小值、平均值、方差值、成員變量的個數(shù)與APK文件中的所有成員變量的個數(shù)的比例;A PK文件中的成員函數(shù)的名稱的長度的最大值、最小值、總和值、平均值、方差值、成員函數(shù)的個數(shù)在APK文件中的所有成員函數(shù)的個數(shù)中所占的比例;APK文件中成員變量的類型、成員函數(shù)的返回值的類型與APK文件中所有數(shù)據(jù)的類型的比例;APK文件中成員函數(shù)的輸入?yún)?shù)的個數(shù)的分布、輸入?yún)?shù)的名稱的長度小于閾值的參數(shù)的個數(shù);APK文件中是否存在預(yù)設(shè)字符串、url、電話號碼、數(shù)字;APK文件中的窗體的個數(shù)、窗體的名稱的長度的最大值、最小值、總和值、平均值、方差值、窗體的尺寸以及確定窗口;APK文件中的菜單的個數(shù)、菜單的名稱的字符串長度的最大值、最小值、總和值、平均值、方差值;APK文件中動畫的個數(shù)、動畫的名稱的長度的最大值、最小值、總和值、平均值、方差值和動畫中的圖像的像素特征;APK文件中圖片的個數(shù)、圖片的名稱的長度的最大值、最小值、總和值、平均值、方差值和圖片中的圖像的像素特征。
[0065]在本實施例的一些可選實現(xiàn)方式中,特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的變長特征向量:APK文件的函數(shù)調(diào)用關(guān)系的信息;APK文件中各個窗口的的控件類型以及控件名稱的信息;APK文件中各個文件的更新時間的分布特征的信息;APK文件中所包含的證書類別的信息。
[0066]在本實施例的一些可選實現(xiàn)方式中,上述定長輸入學(xué)習(xí)模型為神經(jīng)網(wǎng)絡(luò)模型,上述變長輸入學(xué)習(xí)模型為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
[0067]在本實施例的一些可選實現(xiàn)方式中,確定單元603進(jìn)一步用于:將輸出向量作為輸入向量輸入至預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型;通過預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型的輸出向量確定待識別文件為病毒文件或安全文件。
[0068]在本實施例的一些可選實現(xiàn)方式中,電子設(shè)備還包括:訓(xùn)練單元(未示出),用于訓(xùn)練各個機(jī)器學(xué)習(xí)模型,具體用于執(zhí)行以下步驟:首先,針對訓(xùn)練用樣本中的各個文件,分別提取文件的各種特征信息,以得到對應(yīng)的各個特征向量。其中,訓(xùn)練用樣本包括至少一個帶有安全類別標(biāo)簽的文件,安全類別標(biāo)簽用于表征文件為病毒文件或安全文件,各種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括定長特征向量和變長特征向量。特征提取的方法可以參考圖2中待識別文件的特征提取。之后,將所得到的各個特征向量作為輸入向量并結(jié)合各個文件的安全類別標(biāo)簽,訓(xùn)練生成與各種特征信息對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為定長輸入學(xué)習(xí)模型,變長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為變長輸入學(xué)習(xí)模型。
[0069]下面參考圖7,其示出了適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機(jī)系統(tǒng)700的結(jié)構(gòu)示意圖。
[0070]如圖7所示,計算機(jī)系統(tǒng)700包括中央處理單元(CPU)701,其可以根據(jù)存儲在只讀存儲器(R0M)702中的程序或者從存儲部分708加載到隨機(jī)訪問存儲器(RAM)703中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚怼T赗AM 703中,還存儲有系統(tǒng)700操作所需的各種程序和數(shù)據(jù)。CPU 70KROM 702以及RAM 703通過總線704彼此相連。輸入/輸出(I/O)接口705也連接至總線 704。
[0071 ]以下部件連接至I/O接口 705:包括鍵盤、鼠標(biāo)等的輸入部分706 ;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分709。通信部分709經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器710也根據(jù)需要連接至I/O接口 705??刹鹦督橘|(zhì)711,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器710上,以便于從其上讀出的計算機(jī)程序根據(jù)需要被安裝入存儲部分708。
[0072]特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機(jī)軟件程序。例如,本公開的實施例包括一種計算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計算機(jī)程序,所述計算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機(jī)程序可以通過通信部分709從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)711被安裝。
[0073]附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實現(xiàn)。
[0074]描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括提取單元、輸入單元、確認(rèn)單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,提取單元還可以被描述為“提取待識別文件的至少一種用于文件安全性識別的特征信息以得到與各種特征信息分別對應(yīng)的特征向量的單元”。
[0075]作為另一方面,本申請還提供了一種非易失性計算機(jī)存儲介質(zhì),該非易失性計算機(jī)存儲介質(zhì)可以是上述實施例中所述裝置中所包含的非易失性計算機(jī)存儲介質(zhì);也可以是單獨存在,未裝配入終端中的非易失性計算機(jī)存儲介質(zhì)。上述非易失性計算機(jī)存儲介質(zhì)存儲有一個或者多個程序,當(dāng)所述一個或者多個程序被一個設(shè)備執(zhí)行時,使得所述設(shè)備:提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量;將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng);通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。
[0076]以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。
【主權(quán)項】
1.一種文件安全性識別方法,其特征在于,所述方法包括: 提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量; 將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng); 通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述待識別文件為安卓安裝包APK文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的定長特征向量: APK文件的結(jié)構(gòu)特征信息;APK文件的權(quán)限信息;APK文件所提供服務(wù)的信息;APK文件所監(jiān)聽事件的信息;APK文件中各個類的類名、各個函數(shù)的函數(shù)名或所引用的字符串的信息;APK文件中各個文件的文件類型的分布特征的特征信息。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述結(jié)構(gòu)特征信息包括以下一項或多項: APK文件中名稱的長度小于閾值的包的個數(shù); APK文件中的類的名稱的長度的最大值、最小值、總和值、平均值、方差值、所述類的個數(shù)與APK文件中的所有類的個數(shù)的比例; APK文件中的成員變量的名稱的長度的最大值、最小值、平均值、方差值、所述成員變量的個數(shù)與APK文件中的所有成員變量的個數(shù)的比例; APK文件中的成員函數(shù)的名稱的長度的最大值、最小值、總和值、平均值、方差值、所述成員函數(shù)的個數(shù)在APK文件中的所有成員函數(shù)的個數(shù)中所占的比例; APK文件中成員變量的類型、成員函數(shù)的返回值的類型與APK文件中所有數(shù)據(jù)的類型的比例; APK文件中成員函數(shù)的輸入?yún)?shù)的個數(shù)的分布、輸入?yún)?shù)的名稱的長度小于閾值的參數(shù)的個數(shù); APK文件中是否存在預(yù)設(shè)字符串、url、電話號碼、數(shù)字; APK文件中的窗體的個數(shù)、窗體的名稱的長度的最大值、最小值、總和值、平均值、方差值、窗體的尺寸以及確定窗口; APK文件中的菜單的個數(shù)、菜單的名稱的字符串長度的最大值、最小值、總和值、平均值、方差值; APK文件中動畫的個數(shù)、動畫的名稱的長度的最大值、最小值、總和值、平均值、方差值和動畫中的圖像的像素特征; APK文件中圖片的個數(shù)、圖片的名稱的長度的最大值、最小值、總和值、平均值、方差值和圖片中的圖像的像素特征。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的變長特征向量: APK文件的函數(shù)調(diào)用關(guān)系的信息;APK文件中各個窗口的的控件類型以及控件名稱的信息;APK文件中各個文件的更新時間的分布特征的信息;APK文件中所包含的證書類別的信息。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述定長輸入學(xué)習(xí)模型為神經(jīng)網(wǎng)絡(luò)模型,所述變長輸入學(xué)習(xí)模型為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定待識別文件為病毒文件或安全文件,包括: 將所述輸出向量作為輸入向量輸入至預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型; 通過所述預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型的輸出向量確定所述待識別文件為病毒文件或安全文件。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,各個機(jī)器學(xué)習(xí)模型是通過以下步驟預(yù)先進(jìn)行訓(xùn)練生成的: 針對訓(xùn)練用樣本中的各個文件,分別提取文件的各種特征信息,以得到對應(yīng)的各個特征向量,其中,所述訓(xùn)練用樣本包括至少一個帶有安全類別標(biāo)簽的文件,所述安全類別標(biāo)簽用于表征文件為病毒文件或安全文件,各種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括定長特征向量和變長特征向量; 將所得到的各個特征向量作為輸入向量并結(jié)合各個文件的安全類別標(biāo)簽,訓(xùn)練生成與各種特征信息對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為定長輸入學(xué)習(xí)模型,變長特征向量所訓(xùn)練的機(jī)器學(xué)習(xí)類型為變長輸入學(xué)習(xí)模型。9.一種文件安全性識別裝置,其特征在于,所述裝置包括: 提取單元,用于提取待識別文件的至少一種用于文件安全性識別的特征信息,得到與各種特征信息分別對應(yīng)的特征向量,其中,每種特征信息所對應(yīng)的特征向量的類型是預(yù)先設(shè)定的,特征向量的類型包括長度不變的定長特征向量和長度可變的變長特征向量; 輸入單元,用于將所得到的各個特征向量作為輸入向量分別輸入至與所述特征向量的類型對應(yīng)的機(jī)器學(xué)習(xí)模型,其中,定長特征向量與定長輸入學(xué)習(xí)模型對應(yīng),變長特征向量與變長輸入學(xué)習(xí)模型對應(yīng); 確定單元,用于通過各個機(jī)器學(xué)習(xí)模型的輸出向量,確定所述待識別文件為病毒文件或安全文件。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述待識別文件為安卓安裝包APK文件。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的定長特征向量: APK文件的結(jié)構(gòu)特征信息;APK文件的權(quán)限信息;APK文件所提供服務(wù)的信息;APK文件所監(jiān)聽事件的信息;APK文件中各個類的類名、各個函數(shù)的函數(shù)名或所引用的字符串的信息;APK文件中各個文件的文件類型的分布特征的特征信息。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述結(jié)構(gòu)特征信息包括以下一項或多項: APK文件中名稱的長度小于閾值的包的個數(shù); APK文件中的類的名稱的長度的最大值、最小值、總和值、平均值、方差值、所述類的個數(shù)與APK文件中的所有類的個數(shù)的比例; APK文件中的成員變量的名稱的長度的最大值、最小值、平均值、方差值、所述成員變量的個數(shù)與APK文件中的所有成員變量的個數(shù)的比例; APK文件中的成員函數(shù)的名稱的長度的最大值、最小值、總和值、平均值、方差值、所述成員函數(shù)的個數(shù)在APK文件中的所有成員函數(shù)的個數(shù)中所占的比例; APK文件中成員變量的類型、成員函數(shù)的返回值的類型與APK文件中所有數(shù)據(jù)的類型的比例; APK文件中成員函數(shù)的輸入?yún)?shù)的個數(shù)的分布、輸入?yún)?shù)的名稱的長度小于閾值的參數(shù)的個數(shù); APK文件中是否存在預(yù)設(shè)字符串、url、電話號碼、數(shù)字; APK文件中的窗體的個數(shù)、窗體的名稱的長度的最大值、最小值、總和值、平均值、方差值、窗體的尺寸以及確定窗口; APK文件中的菜單的個數(shù)、菜單的名稱的字符串長度的最大值、最小值、總和值、平均值、方差值; APK文件中動畫的個數(shù)、動畫的名稱的長度的最大值、最小值、總和值、平均值、方差值和動畫中的圖像的像素特征; APK文件中圖片的個數(shù)、圖片的名稱的長度的最大值、最小值、總和值、平均值、方差值和圖片中的圖像的像素特征。13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述特征向量中包括至少一個對以下任一特征信息進(jìn)行提取所獲得的變長特征向量: APK文件的函數(shù)調(diào)用關(guān)系的信息;APK文件中各個窗口的的控件類型以及控件名稱的信息;APK文件中各個文件的更新時間的分布特征的信息;APK文件中所包含的證書類別的信息。14.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述定長輸入學(xué)習(xí)模型為神經(jīng)網(wǎng)絡(luò)模型,所述變長輸入學(xué)習(xí)模型為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。15.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定單元進(jìn)一步用于: 將所述輸出向量作為輸入向量輸入至預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型; 通過所述預(yù)設(shè)定長輸入機(jī)器學(xué)習(xí)模型的輸出向量確定所述待識別文件為病毒文件或安全文件。
【文檔編號】G06N3/02GK105956469SQ201610270523
【公開日】2016年9月21日
【申請日】2016年4月27日
【發(fā)明人】陳治宇, 周吉文, 徐超
【申請人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司