欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法、系統(tǒng)及設(shè)備與流程

文檔序號:12064190閱讀:243來源:國知局
基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法、系統(tǒng)及設(shè)備與流程

本申請要求武漢安天信息技術(shù)有限責(zé)任公司于2015年11月17日提交的、發(fā)明名稱為“基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法及系統(tǒng)”的、中國專利申請?zhí)枴?01510787438.3”的優(yōu)先權(quán)。

技術(shù)領(lǐng)域

本發(fā)明涉及移動(dòng)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法及系統(tǒng)。



背景技術(shù):

近年來,隨著Android系統(tǒng)的流行,針對Android平臺的攻擊也日益增加。2016年第三季度,以安天AVLSDK服務(wù)為基礎(chǔ)的中國絕大多數(shù)ROM安全掃描截獲的新增惡意軟件包每天超過10萬個(gè),其中Android平臺的惡意軟件包占據(jù)了總數(shù)的92%,呈連續(xù)遞增趨勢。Android系統(tǒng)面臨著嚴(yán)重的安全威脅。與此同時(shí),針對智能手機(jī)的安全研究也成為了全球安全研究的重點(diǎn)。M.Miettinen和P.Halonen對移動(dòng)智能設(shè)備面臨的安全威脅以及智能設(shè)備安全檢測中的主要挑戰(zhàn)和不足做了詳盡的分析。Abhijit Bose等人在論文中提出了一個(gè)全新的智能手機(jī)異常檢測模型,與M.Miettinen和P.Halonen最大的不同是,該模型采用的異常檢測對象是智能手機(jī)上正在運(yùn)行的應(yīng)用,他們采用基于因果關(guān)系的時(shí)間邏輯描述智能手機(jī)應(yīng)用的行為模式,并使用SVM機(jī)器學(xué)習(xí)方法進(jìn)行異常檢測分析??梢钥吹浆F(xiàn)有的智能手機(jī)安全研究基本集中在通用的基于行為模式的異常檢測。對于特定智能手機(jī)平臺,例如Android,并沒有研究人員對該平臺的惡意軟件行為模式(或稱為惡意代碼規(guī)則)進(jìn)行研究和總結(jié)。

可以理解的,基于海量的新增樣本,充分解決篩分問題成了最重要的事情,從工程經(jīng)驗(yàn)來看,一般先利用可靠的本地病毒檢測引擎(后文簡稱“引擎”)解決篩分問題,即將已經(jīng)發(fā)現(xiàn)的規(guī)則和樣本進(jìn)行過濾,檢出已知惡意樣本;而剩下的引擎難以判斷的樣本,一般還需要通過機(jī)器學(xué)習(xí)或人工分析再檢測一次。從長遠(yuǎn)看來,這種檢測方式效率低下,對于難以判斷的惡意樣本,應(yīng)該通過科學(xué)合理的技術(shù)手段對其進(jìn)行分析,以推斷出能夠優(yōu)化現(xiàn)有引擎的惡意代碼規(guī)則??梢岳斫獾模鎯?nèi)包含的惡意代碼檢測規(guī)則越多則檢測效率越高。另外,用于優(yōu)化引擎的好的規(guī)則,一般還希望能同時(shí)滿足兩個(gè)指標(biāo):(1)誤報(bào)率不能高,即提取的規(guī)則不能太寬泛;(2)覆蓋率要高,即提取的規(guī)則要充分覆蓋疑似樣本集。



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

針對上述技術(shù)問題,本發(fā)明提供了基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法及系統(tǒng),能充分利用惡意樣本的特征推斷出誤報(bào)率低、覆蓋率高的惡意代碼規(guī)則,以優(yōu)化現(xiàn)有病毒檢測引擎,提升惡意代碼檢測效率。

本發(fā)明提出了一種基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法,包括:

將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從所述字符串中提取出關(guān)鍵字符串;

利用word2vec思想對所述關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果;

通過所述第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量;

根據(jù)所述惡意樣本特征向量從所述關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對所述預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果;

基于所述第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則。

進(jìn)一步的,所述利用word2vec思想對所述關(guān)鍵字符串進(jìn)行訓(xùn)練,具體為:對所述關(guān)鍵字符串進(jìn)行特征提取,并根據(jù)所述特征推斷出關(guān)聯(lián)性最大的字符串,其中,所述關(guān)聯(lián)性最大的字符串用于指示針對所述關(guān)鍵字符串的解釋性的字符串。

進(jìn)一步的,所述根據(jù)預(yù)設(shè)規(guī)則從所述字符串中提取出關(guān)鍵字符串,包括:選取對照樣本,并計(jì)算所述對照樣本中的字符串與所述帶有惡意代碼的dex文件的字符串之間的距離;根據(jù)所述距離以及預(yù)設(shè)的距離閾值,從所述帶有惡意代碼的dex文件的字符串中提取出所述關(guān)鍵字符串。

進(jìn)一步的,所述關(guān)鍵字符串包括函數(shù)調(diào)用關(guān)系和代碼結(jié)構(gòu)上下文中的用于描述所述dex文件內(nèi)容字符串關(guān)系的內(nèi)容。

進(jìn)一步的,所述構(gòu)建惡意樣本特征向量為:基于樣本屬性數(shù)據(jù),歸納n個(gè)樣本屬性數(shù)據(jù),并基于所述n個(gè)樣本屬性數(shù)據(jù),計(jì)算屬性數(shù)據(jù)的向量,并計(jì)算所述屬性數(shù)據(jù)的向量兩兩相似度矩陣,保留主要向量,累加所有所述主要向量的各維度分量。

進(jìn)一步的,所述保留主要向量,累加所有所述主要向量的各維度分量,包括:將兩兩相似度矩陣之間的差異性大于預(yù)設(shè)閾值的屬性數(shù)據(jù)的向量進(jìn)行保留;將所述保留的屬性數(shù)據(jù)的向量作為所述惡意樣本特征向量,其中,針對所述保留的屬性數(shù)據(jù)的向量,對相同的屬性數(shù)據(jù)的向量的各維度分量進(jìn)行累加。

進(jìn)一步的,所述基于訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則,具體為:通過獲得關(guān)聯(lián)性最大的字符串,找出關(guān)聯(lián)性字符串之間的字符串特征,最終根據(jù)所述關(guān)聯(lián)性字符串之間的字符串特征獲得惡意代碼字符串規(guī)則。

進(jìn)一步的,通過文檔主題生成模型LDA將所述關(guān)聯(lián)性字符串之間的字符串特征進(jìn)行特征提取以獲得所述惡意代碼字符串規(guī)則。

基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng),包括:

解析模塊,用于將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從所述字符串中提取出關(guān)鍵字符串;

訓(xùn)練模塊,用于利用word2vec思想對所述關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果;

構(gòu)建模塊,用于通過所述第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量;

再訓(xùn)練模塊,用于根據(jù)所述惡意樣本特征向量從所述關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對所述預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果;

獲取模塊,用于基于所述第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則。

進(jìn)一步的,所述訓(xùn)練模塊具體用于:對所述關(guān)鍵字符串進(jìn)行特征提取,并根據(jù)所述特征推斷出關(guān)聯(lián)性最大的字符串,其中,所述關(guān)聯(lián)性最大的字符串用于指示針對所述關(guān)鍵字符串的解釋性的字符串。

進(jìn)一步的,所述解析模塊具體用于:利用蒙特卡洛方法選取對照樣本,并計(jì)算所述對照樣本中的字符串與所述帶有惡意代碼的dex文件的字符串之間的歐式距離;根據(jù)所述歐式距離以及預(yù)設(shè)的歐式距離閾值,從所述帶有惡意代碼的dex文件的字符串中提取出所述關(guān)鍵字符串。

進(jìn)一步的,所述構(gòu)建模塊中的構(gòu)建惡意樣本特征向量為基于樣本屬性數(shù)據(jù),歸納n個(gè)樣本屬性數(shù)據(jù),并基于所述n個(gè)樣本屬性數(shù)據(jù),計(jì)算屬性數(shù)據(jù)的向量,并計(jì)算所述屬性數(shù)據(jù)的向量兩兩相似度矩陣,保留主要向量,累加所有所述主要向量的各維度分量。

進(jìn)一步的,所述構(gòu)建模塊中的保留主要向量,累加所有所述主要向量的各維度分量具體為:將兩兩相似度矩陣之間的差異性大于預(yù)設(shè)閾值的屬性數(shù)據(jù)的向量進(jìn)行保留,并將所述保留的屬性數(shù)據(jù)的向量作為所述惡意樣本特征向量,其中,針對所述保留的屬性數(shù)據(jù)的向量,對相同的屬性數(shù)據(jù)的向量的各維度分量進(jìn)行累加。

進(jìn)一步的,所述獲取模塊具體用于:通過獲得關(guān)聯(lián)性最大的字符串,找出關(guān)聯(lián)性字符串之間的字符串特征,最終根據(jù)所述關(guān)聯(lián)性字符串之間的字符串特征獲得惡意代碼字符串規(guī)則。

進(jìn)一步的,所述獲取模塊通過文檔主題生成模型LDA將所述關(guān)聯(lián)性字符串之間的字符串特征進(jìn)行特征提取以獲得所述惡意代碼字符串規(guī)則。

本發(fā)明提出了一種終端設(shè)備,包括:一個(gè)或者多個(gè)處理器;存儲器;一個(gè)或多個(gè)程序,所述一個(gè)或者多個(gè)程序存儲在所述存儲器中,當(dāng)被所述一個(gè)或者多個(gè)處理器執(zhí)行時(shí)進(jìn)行如下操作:

將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從所述字符串中提取出關(guān)鍵字符串;

利用word2vec思想對所述關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果;

通過所述第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量;

根據(jù)所述惡意樣本特征向量從所述關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對所述預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果;

基于所述第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則。

本發(fā)明還提出了一種存儲介質(zhì),用于存儲應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明所述的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法。

本發(fā)明利用創(chuàng)造性的將word2vec思想應(yīng)用于惡意代碼分析領(lǐng)域,對已知的惡意代碼的字符串進(jìn)行訓(xùn)練,得到惡意代碼字符串關(guān)聯(lián)性最大的字符串,進(jìn)而得到該惡意代碼的字符串規(guī)則。本發(fā)明能充分利用惡意樣本的特征推斷出誤報(bào)率低、覆蓋率高的惡意代碼規(guī)則,以優(yōu)化現(xiàn)有病毒檢測引擎,提升惡意代碼檢測效率。本發(fā)明還能應(yīng)用于惡意代碼檢測及惡意代碼分析的領(lǐng)域。

附圖說明

為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法實(shí)施例流程圖;

圖2為本發(fā)明提供的一個(gè)帶有惡意代碼的dex文件的示例圖;

圖3為根據(jù)本發(fā)明一個(gè)具體實(shí)施例的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法的流程圖;

圖4為本發(fā)明提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng)實(shí)施例結(jié)構(gòu)圖。

具體實(shí)施方式

本發(fā)明給出了基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法及系統(tǒng)。一般的,深度學(xué)習(xí)方法起源應(yīng)用于圖像識別,基于文本上下文特征提取最近幾年才有了部分成果。傳統(tǒng)的文本特征提取算法模型為N-gram,但是N-gram存在一個(gè)問題,若訓(xùn)練語料里面有些n元組沒有出現(xiàn)過,其對應(yīng)的條件概率就是0,這會導(dǎo)致計(jì)算一整句話的概率為0。語料的不足使得無法訓(xùn)練更高階的語言模型。另外,這種模型無法建模出詞之間的相似度。

神經(jīng)網(wǎng)絡(luò)模型也廣受關(guān)注,基于神經(jīng)網(wǎng)絡(luò)的語言模型在效果上表現(xiàn)的很不錯(cuò),但是其訓(xùn)練和預(yù)測的時(shí)間較長,影響實(shí)際的應(yīng)用。

綜上,為了克服以上缺點(diǎn),可以采用以word2vec為代表的深度學(xué)習(xí)文本方法,例如word2vec文本特征提取模型。但是,傳統(tǒng)的word2vec都是采用文章分詞然后進(jìn)行上下文關(guān)系訓(xùn)練,是不能直接應(yīng)用于惡意代碼分析技術(shù)領(lǐng)域的,因此本發(fā)明做了創(chuàng)造性的研究。

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說明:

本發(fā)明首先提供了基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法,如圖1所示,包括:

S101,將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從字符串中提取出關(guān)鍵字符串;其中,該預(yù)設(shè)規(guī)則可以是根據(jù)實(shí)際需求來設(shè)置的,例如,該預(yù)設(shè)規(guī)則可包括:URL地址、具有跳轉(zhuǎn)或調(diào)用等功能的代碼、包名、類名等。

具體地,可以提取帶有惡意代碼的dex文件中的函數(shù)調(diào)用關(guān)系、代碼結(jié)構(gòu)上下文等能夠描述dex文件內(nèi)容字符串關(guān)系的內(nèi)容作為關(guān)鍵字符串。并且還需選擇相應(yīng)數(shù)量的對照樣本(或稱白樣本,即官方發(fā)布沒有惡意代碼的正常樣本),其中,本發(fā)明采用了蒙特卡洛抽樣方法(Monte Carlo method,又稱統(tǒng)計(jì)模擬法)的思想,對帶有惡意代碼樣本(要提取規(guī)則的樣本)的對照樣本進(jìn)行選擇,計(jì)算出多組等數(shù)量的對照樣本以便再接下來的步驟來使用。

例如,以預(yù)設(shè)規(guī)則包括URL地址、包名和類名為例,假設(shè)如圖2所示,為一個(gè)帶有惡意代碼的dex文件,可將該dex文件解析成字符串,并根據(jù)該預(yù)設(shè)規(guī)則從該字符串中分別提取出包含有URL地址、包名或類名為的字符串,并將這些包含有URL地址、包名或類名的字符串作為該關(guān)鍵字符串,即經(jīng)過提取后得到的關(guān)鍵字符串可如下:

http://127.0.0.1:8787(內(nèi)部訪問ip,端口)

http://52.71.240.169/api/pxkj(外部訪問ip)

http://schemas.android.com/apk/res/android(外部訪問url)

http://xmlpull.org/v1/doc/features.html#indent-output(外部訪問url)

com.sams.listviewdemo(包名)

ListViewDemo(類名)。

S102,利用word2vec思想對關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果。

舉例而言,可利用以word2vec為代表的深度學(xué)習(xí)文本思想對上述從帶有惡意代碼的dex文件中提取出的關(guān)鍵字符串進(jìn)行訓(xùn)練,得到帶有惡意代碼的dex文件的訓(xùn)練結(jié)果;同樣,將S101中的對照樣本進(jìn)行word2vec訓(xùn)練,得到對照樣本的多組訓(xùn)練結(jié)果。

下面簡單解釋一下word2vec的產(chǎn)出結(jié)果,可以理解,該訓(xùn)練結(jié)果可包含了針對關(guān)鍵字符串的解釋性的字符串(即可用于解釋該關(guān)鍵字符串的字符串),該解釋性的字符串即為與該關(guān)鍵字符串關(guān)聯(lián)性最大的字符串。例如,以關(guān)鍵字字符串“孟非”為例,利用word2vec思想可對該“孟非”進(jìn)行訓(xùn)練,可以得到該“孟非”的解釋性的字符串,即與該關(guān)鍵字符串“孟非”關(guān)聯(lián)性最大的字符串可為:非誠勿擾、樂嘉、黃磊、、…、黃菡等,并根據(jù)權(quán)重的降序方式對該解釋性的字符串進(jìn)行排序,以得到該與“孟非”的關(guān)聯(lián)性最大的字符串:{樂嘉,非誠勿擾,黃磊,黃菡,…}。

也就是說,基于利用word2vec思想,對關(guān)鍵字符串“孟非”進(jìn)行特征提取,如提取出該“孟非”的特征為“主持人”、“所主持節(jié)目”、“所主持節(jié)目中的嘉賓”等,通過這些特征推斷出與該關(guān)鍵字符串“孟非”的關(guān)聯(lián)性最大的字符串,并按照關(guān)聯(lián)性從大到小的順序,將這些字符串進(jìn)行排序,并將排序后的字符串以一個(gè)向量的形式進(jìn)行表示,從而實(shí)現(xiàn)了通過一組與該關(guān)鍵字符串“孟非”的關(guān)聯(lián)性最大的字符串來表示該“孟非”,即基于word2vec思想將關(guān)鍵字符串用向量的形式進(jìn)行表示。

需要說明的是,上述以關(guān)鍵字符串“孟非”為例,僅是為了方便本領(lǐng)域的技術(shù)人員能夠了解本發(fā)明的一種示例,不能作為對本發(fā)明的具體限定。

同理,舉個(gè)例子,以如圖2所示的帶有惡意代碼的dex文件為例,假設(shè)提取出的關(guān)鍵字符串為“http://52.71.240.169/api/pxki(外部訪問ip)”,則對該關(guān)鍵字符串進(jìn)行word2vec訓(xùn)練,生成該關(guān)鍵字符串的向量關(guān)系舉例如下:

{52.71.240.169,

http://52.71.240.169/api,

http://52.71.240.169/api/iexs,

http://52.71.240.169/api/mksw,

http://52.71.240.168/api/omes,

……

}

S103通過第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量。

可以理解,通過上述步驟S101和S102可以將帶有惡意代碼的dex文件解析成字符串(其中,保留調(diào)用關(guān)系,代碼結(jié)構(gòu)上下文),并利用蒙特卡洛方法選取對照樣本(或稱白樣本)與惡意樣本(即上述帶有惡意代碼的dex文件)做對照,根據(jù)對照的歐式距離設(shè)定閾值,選取并提取出關(guān)鍵字符串,成為第一次訓(xùn)練和特征提取;

基于樣本屬性數(shù)據(jù),歸納n個(gè)樣本屬性數(shù)據(jù),并基于該n個(gè)樣本屬性數(shù)據(jù),計(jì)算屬性數(shù)據(jù)的向量,并計(jì)算屬性數(shù)據(jù)的向量兩兩相似度矩陣,保留主要向量,累加所有主要向量的各維度分量;其中,該樣本屬性數(shù)據(jù)包括對照樣本屬性數(shù)據(jù)和惡意樣本屬性數(shù)據(jù),該帶有惡意代碼的樣本屬性數(shù)據(jù)即為從上述帶有惡意代碼的dex文件中提取出的關(guān)鍵字符串;而該對照樣本屬性數(shù)據(jù)為從合法文件中提取出的關(guān)鍵字符串。

作為一種示例,該對照樣本屬性數(shù)據(jù)可通過以下步驟獲得:獲取上述dex文件所對應(yīng)的官方發(fā)布的dex文件,該官方發(fā)布的dex文件可認(rèn)為是合法文件,并將該合法文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從該字符串中提取出關(guān)鍵字符串,將該從合法文件中提取出的關(guān)鍵字符串作為對照樣本的屬性數(shù)據(jù)。

舉例而言,假設(shè)上述n為10,針對上述對照樣本屬性數(shù)據(jù)和惡意樣本屬性數(shù)據(jù),分別歸納出10個(gè)對照樣本屬性數(shù)據(jù)和10個(gè)惡意樣本屬性數(shù)據(jù),并基于10個(gè)對照樣本屬性數(shù)據(jù)和10個(gè)惡意樣本屬性數(shù)據(jù),分別計(jì)算10個(gè)對照樣本中屬性數(shù)據(jù)的向量兩兩相似度矩陣,并分別計(jì)算10個(gè)惡意樣本中屬性數(shù)據(jù)的向量兩兩相似度矩陣,針對同一個(gè)屬性數(shù)據(jù),比較對照樣本中該屬性數(shù)據(jù)的向量兩兩相似度矩陣與惡意樣本中該屬性數(shù)據(jù)的向量兩兩相似度矩陣之間的差異性,并將該差異性比較大(例如大于預(yù)設(shè)閾值)的屬性數(shù)據(jù)的向量進(jìn)行保留,之后,可針對這些保留的屬性數(shù)據(jù)的向量,對相同的屬性數(shù)據(jù)進(jìn)行向量的各維度分量進(jìn)行累加,最后,將這些差異性比較大的屬性數(shù)據(jù)的向量作為惡意樣本特征向量。

作為一種示例,對惡意樣本屬性數(shù)據(jù)和對照樣本屬性數(shù)據(jù)進(jìn)行差異性對比,并根據(jù)該差異性對比結(jié)果從惡意樣本屬性數(shù)據(jù)中提取最重要的n個(gè)詞,做特征提取以獲取下述預(yù)設(shè)范圍內(nèi)的字符串(即敏感字符串),具體實(shí)現(xiàn)過程可如下:如果對照樣本集合和惡意樣本集合同時(shí)出現(xiàn)某個(gè)字符串時(shí),計(jì)算該字符串的兩個(gè)向量的歐氏距離,設(shè)置一個(gè)閾值n(暫定n=0.7),如果該歐氏距離大于閾值n,那么可認(rèn)為該字符串對于兩個(gè)集合差異性大,那么該詞為特征詞;如果一個(gè)字符串存在于對照樣本,而不存在于惡意樣本,那么舍棄該字符串;如果一個(gè)字符串存在于惡意樣本,而不存在于對照樣本,那么該字符為特征詞,距離定為1。

S104根據(jù)惡意樣本特征向量從關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果。

根據(jù)所述惡意樣本特征向量從多個(gè)含有惡意代碼的樣本中分別在所述關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)(第一次訓(xùn)練結(jié)果)的字符串,并對所述預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果,對所述關(guān)鍵字符串進(jìn)行特征提取。

其中,該預(yù)設(shè)規(guī)則即上述設(shè)定的歐式距離閾值。

S105基于第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則;

通過獲得關(guān)聯(lián)性最大的字符串,找出關(guān)聯(lián)性最大的字符串之間的字符串特征,最終根據(jù)關(guān)聯(lián)性最大的字符串之間的字符串特征獲得惡意代碼字符串規(guī)則。其中,所述關(guān)聯(lián)性最大的字符串是指該向量在跟該樣本向量的歐式距離上小于其他的n-1個(gè)樣本向量。通過獲得與某個(gè)惡意代碼樣本關(guān)聯(lián)性最大的字符串(多個(gè)),找出關(guān)聯(lián)性字符串之間的字符串特征,最終根據(jù)所述關(guān)聯(lián)性字符串之間的字符串特征獲得惡意代碼字符串規(guī)則。

作為一種示例,根據(jù)關(guān)聯(lián)性最大的字符串之間的字符串特征,通過人工規(guī)則的提取方式從該dex文件中提取出惡意代碼字符串規(guī)則。例如,以如圖2所示的關(guān)鍵字符串為例,在利用word2vec思想對這些關(guān)鍵字符串進(jìn)行訓(xùn)練,并通過第一次訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量,并根據(jù)惡意樣本特征向量從關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,最后基于該第二次訓(xùn)練結(jié)果,通過人工規(guī)則提取方式,獲得惡意代碼字符串規(guī)則為:*52.71.240.169*OR*52.71.240.168*OR*52.71.240.169*OR*abc_btn_radio*。其中,“*”表示模糊匹配;該規(guī)則“*52.71.240.169*”可理解為包含“52.71.240.169”的字符串均視為惡意代碼字符串。

綜上,本發(fā)明先將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從字符串中提取出關(guān)鍵字符串,之后,可利用word2vec思想對該這些關(guān)鍵字符串進(jìn)行訓(xùn)練,以將這些關(guān)鍵字符串用向量進(jìn)行表示,然后將這些關(guān)鍵字符串的向量作為惡意樣本屬性數(shù)據(jù),基于惡意樣本屬性數(shù)據(jù)和白樣本屬性數(shù)據(jù),歸納n個(gè)惡意樣本屬性數(shù)據(jù)和對照樣本屬性數(shù)據(jù),并基于n個(gè)惡意樣本屬性數(shù)據(jù)和對照樣本屬性數(shù)據(jù),計(jì)算屬性數(shù)據(jù)的向量,并計(jì)算屬性數(shù)據(jù)的向量兩兩相似度矩陣,保留主要向量,累加所有向量的各維度分量,從而構(gòu)建出惡意樣本特征向量,即該惡意樣本特征向量即為差異性比較大的屬性數(shù)據(jù)的向量。然后,根據(jù)惡意樣本特征向量從關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對該預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果,即得到敏感字符串,最后基于這些敏感字符串,通過規(guī)則提取方式,從該dex文件中提取出惡意代碼字符串規(guī)則??梢岳斫獾?,從該dex文件中提取出惡意代碼字符串規(guī)則的方法可以應(yīng)用于惡意代碼檢測及惡意代碼分析領(lǐng)域。

圖3為根據(jù)本發(fā)明一個(gè)具體實(shí)施例的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法的流程圖。其中,假設(shè)有N個(gè)帶有惡意代碼的dex文件,并將該帶有惡意代碼的dex文件稱為惡意樣本,可以理解,每個(gè)惡意樣本應(yīng)具有對應(yīng)的對照樣本,該對照樣本即為官方發(fā)布沒有惡意代碼的正常樣本。

如圖3所示,該基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法可以包括:

S301,根據(jù)N個(gè)惡意樣本選擇N*M個(gè)對照樣本,其中,N和M分別為大于0的整數(shù)。

作為一種示例,可以采用蒙特卡洛抽樣的思想來選擇該對照樣本。

S302,分別將各惡意樣本和對照樣本的dex文件解析成字符串,以N個(gè)一組為單位,即M+1個(gè)樣本簇,提取出各樣本(包括惡意樣本和對照樣本)的函數(shù)調(diào)用關(guān)系、代碼結(jié)構(gòu)上下文等能夠描述樣本內(nèi)容字符串關(guān)系的內(nèi)容(即惡意樣本中的關(guān)鍵字符串和對照樣本中的關(guān)鍵字符串)。

S303,分別對各惡意樣本簇的函數(shù)調(diào)用關(guān)系、代碼結(jié)構(gòu)上下文(即惡意樣本中的關(guān)鍵字符串)進(jìn)行word2vec訓(xùn)練,按照第一預(yù)設(shè)規(guī)則提取各樣本簇的特征向量,生成惡意樣本簇的T1個(gè)(通常會有10000+個(gè))字符串的特征向量(特征向量的維度數(shù)量可以限制在20)集合。即,對整個(gè)惡意樣本簇做訓(xùn)練得到T1個(gè)字符串特制向量。

S304,分別對各對照樣本簇的函數(shù)調(diào)用關(guān)系、代碼結(jié)構(gòu)上下文(即對照樣本中的關(guān)鍵字符串)進(jìn)行word2vec訓(xùn)練,按照第一預(yù)設(shè)規(guī)則提取各樣本的特征向量,生成對照樣本簇(一共有M份)的T2個(gè)字符串的特征向量(不一定跟T1數(shù)量相同,因?yàn)闃颖窘Y(jié)構(gòu)不一樣,M個(gè)簇的T2都不一樣)。即對整個(gè)對照樣本簇做訓(xùn)練,M簇即是做了M次訓(xùn)練,然后將訓(xùn)練結(jié)合合起來,得到T2個(gè)字符串特制向量。

優(yōu)選地,可以將M個(gè)對照樣本簇的相同的字符串的特征向量計(jì)算平均特征向量,作為對照樣本的字符串的特征向量的代表。

S305,將惡意樣本簇的T1個(gè)特征向量分別與對照樣本簇T2個(gè)的特征向量進(jìn)行相似度計(jì)算,按照第二預(yù)設(shè)規(guī)則找到惡意樣本簇中與對照樣本簇內(nèi)特征向量相似度低的字符串,如果該字符串與對照樣本中的差別大,則可以認(rèn)為該相似度低的字符串為敏感字符串,惡意代碼的規(guī)則就從該敏感字符串中提取的。

其中,上述計(jì)算相似度的方法可包括但不限于歐式距離、曼哈頓距離等。

另外,由于對照樣本簇中具有M組數(shù)據(jù),所以可以對這M組分別設(shè)置權(quán)重計(jì)算相似度,累加所有相似度的值得到惡意樣本簇中各特征向量的相似度。

作為一種示例,上述確定相似度低可以采用設(shè)置閾值的方法,例如,可預(yù)先設(shè)定一個(gè)閾值,通過計(jì)算歐式距離,如果惡意樣本簇中與對照樣本簇內(nèi)特征向量相似度小于該閾值,則可確定該特征向量相似度低。

至此,即步驟S301-S305主要完成的是從N個(gè)惡意樣本中找到敏感字符串的工作。

下面就開始從該敏感字符串內(nèi)提取惡意代碼字符串的規(guī)則:

S306,將屬于惡意樣本簇的N個(gè)樣本分別單獨(dú)做word2vec訓(xùn)練(即對每個(gè)樣本做訓(xùn)練),并且將訓(xùn)練出來的字符串結(jié)果屬于上述步驟S305中的字符串進(jìn)行過濾,即找出訓(xùn)練結(jié)果中屬于步驟S305中敏感字符串的特征向量,并對找出的特征向量進(jìn)行特征提取,最終得到惡意代碼規(guī)則。

作為一種示例,上述對找出的特征向量進(jìn)行特征提取的具體實(shí)現(xiàn)過程可如下:可以將上述找出的特征向量看做一個(gè)正常的文檔,采用LDA(Latent Dirichlet Allocation是一種文檔主題生成模型,也稱為一個(gè)三層貝葉斯概率模型)方法進(jìn)行特征提取。

與上述幾種實(shí)施例提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法相對應(yīng),本發(fā)明的一種實(shí)施例還提供一種基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng),由于本發(fā)明實(shí)施例提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng)與上述幾種實(shí)施例提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法相對應(yīng),因此在前述基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法的實(shí)施方式也適用于本實(shí)施例提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng),在本實(shí)施例中不再詳細(xì)描述。圖4為本發(fā)明提供的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng)實(shí)施例結(jié)構(gòu)圖。如圖4所示,該基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的系統(tǒng)包括:

解析模塊401,用于將帶有惡意代碼的dex文件解析成字符串,并提取出關(guān)鍵字符串;其中,關(guān)鍵字符串包括函數(shù)調(diào)用關(guān)系和代碼結(jié)構(gòu)上下文中的用于描述所述dex文件內(nèi)容字符串關(guān)系的內(nèi)容。

作為一種示例,解析模塊401提取出關(guān)鍵字符串的具體實(shí)現(xiàn)過程可如下:利用蒙特卡洛方法選取對照樣本,并計(jì)算對照樣本中的字符串與帶有惡意代碼的dex文件的字符串之間的歐式距離;根據(jù)歐式距離以及預(yù)設(shè)的歐式距離閾值,從帶有惡意代碼的dex文件的字符串中提取出關(guān)鍵字符串。

訓(xùn)練模塊402,用于利用word2vec思想對關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果;作為一種示例,訓(xùn)練模塊402可對關(guān)鍵字符串進(jìn)行特征提取,并根據(jù)特征推斷出關(guān)聯(lián)性最大的字符串,其中,關(guān)聯(lián)性最大的字符串用于指示針對關(guān)鍵字符串的解釋性的字符串。

構(gòu)建模塊403,用于通過第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量;作為一種示例,構(gòu)建模塊403可基于樣本屬性數(shù)據(jù),歸納n個(gè)樣本屬性數(shù)據(jù),并基于n個(gè)樣本屬性數(shù)據(jù),計(jì)算屬性數(shù)據(jù)的向量,并計(jì)算屬性數(shù)據(jù)的向量兩兩相似度矩陣,保留主要向量,累加所有主要向量的各維度分量。

作為一種示例,構(gòu)建模塊403中的保留主要向量,累加所有主要向量的各維度分量具體為:將兩兩相似度矩陣之間的差異性大于預(yù)設(shè)閾值的屬性數(shù)據(jù)的向量進(jìn)行保留,并將保留的屬性數(shù)據(jù)的向量作為惡意樣本特征向量,其中,針對保留的屬性數(shù)據(jù)的向量,對相同的屬性數(shù)據(jù)的向量的各維度分量進(jìn)行累加。

再訓(xùn)練模塊404,用于根據(jù)惡意樣本特征向量從關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對該預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果;

獲取模塊405,用于基于第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則。作為一種示例,獲取模塊405可通過獲得關(guān)聯(lián)性最大的字符串,找出關(guān)聯(lián)性字符串之間的字符串特征,最終根據(jù)關(guān)聯(lián)性字符串之間的字符串特征獲得惡意代碼字符串規(guī)則。

具體而言,在本發(fā)明的一個(gè)實(shí)施例中,獲取模塊405可通過文檔主題生成模型LDA將關(guān)聯(lián)性字符串之間的字符串特征進(jìn)行特征提取以獲得惡意代碼字符串規(guī)則。

為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種終端設(shè)備,包括:一個(gè)或者多個(gè)處理器;存儲器;一個(gè)或多個(gè)程序,一個(gè)或者多個(gè)程序存儲在存儲器中,當(dāng)被一個(gè)或者多個(gè)處理器執(zhí)行時(shí)進(jìn)行如下操作:

S101’,將帶有惡意代碼的dex文件解析成字符串,并根據(jù)預(yù)設(shè)規(guī)則從字符串中提取出關(guān)鍵字符串。

S102’,利用word2vec思想對關(guān)鍵字符串進(jìn)行訓(xùn)練,得到第一訓(xùn)練結(jié)果。

S103’,通過第一訓(xùn)練結(jié)果,構(gòu)建惡意樣本特征向量。

S104’,根據(jù)惡意樣本特征向量從關(guān)鍵字符串中提取預(yù)設(shè)范圍內(nèi)的字符串,并對預(yù)設(shè)范圍內(nèi)的字符串再次利用word2vec思想進(jìn)行訓(xùn)練,得到第二訓(xùn)練結(jié)果。

S105’,基于第二訓(xùn)練結(jié)果獲得惡意代碼字符串規(guī)則。

為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出了一種存儲介質(zhì),用于存儲應(yīng)用程序,該應(yīng)用程序用于執(zhí)行本發(fā)明上述實(shí)施例所述的基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法。

綜上所述,本發(fā)明涉及基于深度學(xué)習(xí)方法推斷惡意代碼規(guī)則的方法,本方法的核心是基于word2vec思想,利用深度學(xué)習(xí)方法對已知的惡意代碼的字符串進(jìn)行兩次訓(xùn)練,得到惡意代碼字符串關(guān)聯(lián)性最大的字符串,進(jìn)而得到該惡意代碼的字符串規(guī)則,最終獲得惡意樣本的關(guān)聯(lián)性。本發(fā)明能充分利用惡意樣本的特征推斷出誤報(bào)率低、覆蓋率高的惡意代碼規(guī)則,以優(yōu)化現(xiàn)有病毒檢測引擎,提升惡意代碼檢測效率,還能應(yīng)用于惡意代碼分析。

以上實(shí)施例用以說明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
崇信县| 新巴尔虎左旗| 麻栗坡县| 同江市| 临清市| 马关县| 海盐县| 株洲市| 积石山| 苗栗县| 屏边| 敦煌市| 德化县| 上犹县| 大丰市| 竹北市| 朝阳区| 浪卡子县| 公安县| 武邑县| 汨罗市| 长子县| 临颍县| 泾川县| 化德县| 衡东县| 通山县| 策勒县| 浦城县| 城口县| 额尔古纳市| 成武县| 灵宝市| 古交市| 湄潭县| 兰西县| 喜德县| 疏附县| 金塔县| 措美县| 太谷县|