本發(fā)明涉及通信領(lǐng)域,更具體的說,涉及一種檢測方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的應(yīng)用范圍的不斷擴(kuò)大,多媒體信息的傳播成為了文化傳播的重要形式,大量視頻、音頻、動(dòng)畫等多媒體文件的編碼和播放成為了技術(shù)人員研究的熱點(diǎn)。由于固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash動(dòng)畫能夠?qū)崿F(xiàn)較好的動(dòng)畫效果,且其文件占用空間較小,經(jīng)常使用互聯(lián)網(wǎng)傳播flash文件。
當(dāng)flash文件通過互聯(lián)網(wǎng)傳播時(shí),黑客常常將惡意代碼嵌入到flash文件中,然后通過互聯(lián)網(wǎng)傳播該惡意代碼,此種方法攻擊性強(qiáng),已經(jīng)對我國的金融行業(yè)、能源行業(yè)、政府、電力行業(yè)等造成了一定的惡劣影響,所以檢測flash文件中是否攜帶有惡意代碼就變得至關(guān)重要。
現(xiàn)有技術(shù)中,采用特征碼和人工規(guī)則的識別方法來檢測flash文件中是否攜帶有惡意代碼,特征碼和人工規(guī)則的識別方法是指人工規(guī)定一些特定的惡意的字節(jié),然后在flash文件中的特定位置,查看是否包含有人工規(guī)定的那些惡意的字節(jié),如果包含有人工規(guī)定的那些惡意的字節(jié),就證明包含有惡意代碼,即該flash文件是惡意文件。
在計(jì)算機(jī)中存儲(chǔ)代碼時(shí),存儲(chǔ)的是其二進(jìn)制的形式,即惡意的字節(jié)是惡意代碼的二進(jìn)制的形式。黑客常常在保證該惡意的字節(jié)對應(yīng)的具有字符串形式的代碼不變的前提下,通過修改惡意的字節(jié)的形式,如采用加一減一法修改惡意的字節(jié)的形式,來使形式改變后的惡意的字節(jié)不被檢測到。此時(shí),由于惡意的字節(jié)的形式已經(jīng)被改變,采用特征碼和人工規(guī)則的識別方法,來檢測人工規(guī)定的那些惡意的字節(jié)時(shí),就不會(huì)檢測到形式改變后的惡意的字節(jié),進(jìn)而就不能判斷flash文件是否是惡意文件。
因此,亟需一種能夠在惡意的字節(jié)的形式改變后,仍能夠判斷flash文件是否是惡意文件的方法。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種檢測方法和裝置,以解決采用特征碼和人工規(guī)則的識別方法來檢測flash文件中是否攜帶有惡意代碼時(shí),在惡意的字節(jié)的形式改變時(shí),不能判斷flash文件是否是惡意文件的問題。
為解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案:
一種檢測方法,包括:
判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件;
當(dāng)判斷出所述獲取的目標(biāo)文件是flash文件,將所述目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼;
將位于所述具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼;
判斷所述待解析代碼中是否包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征;
當(dāng)判斷出所述待解析代碼中包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征,根據(jù)所述待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值;
根據(jù)與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷所述目標(biāo)文件是否是惡意文件。
優(yōu)選地,所述判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件,包括:
采用文件格式識別方法識別所述目標(biāo)文件的文件類型,判斷所述文件類型是否是flash文件的文件類型。
優(yōu)選地,所述將位于所述具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼,包括:
查找位于所述具有字符串形式的代碼中的預(yù)設(shè)位置中的每個(gè)位置的代碼;
將所述每個(gè)位置的代碼提取出來,得到待解析代碼。
優(yōu)選地,
所述預(yù)設(shè)的惡意特征包括名稱特征、惡意行為特征或數(shù)據(jù)拼接特征;
相應(yīng)的,所述根據(jù)所述待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,包括:
當(dāng)所述待解析代碼中包含所述名稱特征時(shí),根據(jù)與所述待解析代碼中包含的所述名稱特征相匹配的字符串為正常字符串的概率,得到與所述名稱特征對應(yīng)的、能夠表示所述名稱特征的惡意程度的數(shù)值;
當(dāng)所述待解析代碼中包含所述惡意行為特征時(shí),根據(jù)所述待解析代碼中包含的所述惡意行為特征中的每個(gè)特征出現(xiàn)的次數(shù),得到與所述惡意行為特征對應(yīng)的、能夠表示所述惡意行為特征的惡意程度的數(shù)值;
當(dāng)所述待解析代碼中包含所述數(shù)據(jù)拼接特征時(shí),根據(jù)所述待解析代碼中包含的所述數(shù)據(jù)拼接特征出現(xiàn)的次數(shù),得到與所述數(shù)據(jù)拼接特征對應(yīng)的、能夠表示所述數(shù)據(jù)拼接特征的惡意程度的數(shù)值。
優(yōu)選地,所述根據(jù)與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷所述目標(biāo)文件是否是惡意文件,包括:
根據(jù)與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到所述目標(biāo)文件為惡意文件的概率;
根據(jù)所述概率,判斷所述目標(biāo)文件是否是惡意文件。
一種檢測裝置,包括:
第一判斷單元,用于判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件;
轉(zhuǎn)換單元,用于當(dāng)所述第一判斷單元判斷出所述獲取的目標(biāo)文件是flash文件,將所述目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼;
提取單元,用于將位于所述具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼;
第二判斷單元,用于判斷所述待解析代碼中是否包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征;
特征提取單元,用于當(dāng)所述第二判斷單元判斷出所述待解析代碼中包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征,根據(jù)所述待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值;
第三判斷單元,用于根據(jù)與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷所述目標(biāo)文件是否是惡意文件。
優(yōu)選地,所述第一判斷單元,包括:
第一判斷子單元,用于采用文件格式識別方法識別所述目標(biāo)文件的文件類型,判斷所述文件類型是否是flash文件的文件類型。
優(yōu)選地,所述提取單元包括:
查找單元,用于查找位于所述具有字符串形式的代碼中的預(yù)設(shè)位置中的每個(gè)位置的代碼;
提取子單元,用于將所述每個(gè)位置的代碼提取出來,得到待解析代碼。
優(yōu)選地,
當(dāng)所述預(yù)設(shè)的惡意特征包括名稱特征、惡意行為特征或數(shù)據(jù)拼接特征時(shí),
所述特征提取單元包括:
第一特征提取單元,用于當(dāng)所述第二判斷單元判斷出所述待解析代碼中包含所述名稱特征時(shí),根據(jù)與所述待解析代碼中包含的所述名稱特征相匹配的字符串為正常字符串的概率,得到與所述名稱特征對應(yīng)的、能夠表示所述名稱特征的惡意程度的數(shù)值;
第二特征提取單元,用于當(dāng)所述第二判斷單元判斷出所述待解析代碼中包含所述惡意行為特征時(shí),根據(jù)所述待解析代碼中包含的所述惡意行為特征中的每個(gè)特征出現(xiàn)的次數(shù),得到與所述惡意行為特征對應(yīng)的、能夠表示所述惡意行為特征的惡意程度的數(shù)值;
第三特征提取單元,用于當(dāng)所述第二判斷單元判斷出所述待解析代碼中包含所述數(shù)據(jù)拼接特征時(shí),根據(jù)所述待解析代碼中包含的所述數(shù)據(jù)拼接特征出現(xiàn)的次數(shù),得到與所述數(shù)據(jù)拼接特征對應(yīng)的、能夠表示所述數(shù)據(jù)拼接特征的惡意程度的數(shù)值。
優(yōu)選地,所述第三判斷單元包括:
計(jì)算單元,用于根據(jù)與所述每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到所述目標(biāo)文件為惡意文件的概率;
第四判斷單元,用于根據(jù)所述概率,判斷所述目標(biāo)文件是否是惡意文件。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
本發(fā)明提供了一種檢測方法和裝置,本發(fā)明中沒有像現(xiàn)有技術(shù)中一樣,直接查找是否具有惡意的字節(jié),即沒有直接對二進(jìn)制形式的代碼進(jìn)行分析,而是將具有二進(jìn)制形式的代碼的格式轉(zhuǎn)換成具有字符串形式的代碼,進(jìn)而對具有字符串形式的代碼進(jìn)行特征分析,由于現(xiàn)有技術(shù)中形式改變后的惡意的字節(jié)對應(yīng)的具有字符串形式的代碼是不變的,采用本發(fā)明中的方案就能夠避免惡意的字節(jié)的形式改變后,采用特征碼和人工規(guī)則的識別方法來檢測flash文件中是否攜帶有惡意代碼時(shí),不能判斷flash文件是否是惡意文件的問題。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種檢測方法的方法流程圖;
圖2為本發(fā)明提供的另一種檢測方法的方法流程圖;
圖3為本發(fā)明提供的一種檢測裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明提供的另一種檢測裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種檢測方法,參照圖1,包括:
S101、判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件;
具體的,判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件,包括:
采用文件格式識別方法識別目標(biāo)文件的文件類型,判斷文件類型是否是flash文件的文件類型。
需要說明的是,每一種文件都具有其特定的文件類型。flash文件包括兩類,一類是已壓縮文件,一類是未壓縮文件,其中,已壓縮文件的文件類型的開頭三位為CWS,未壓縮文件的文件類型的開頭三位為FWS。
S102、將目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼;
需要說明的是,當(dāng)判斷出獲取的目標(biāo)文件是flash文件,將目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼。當(dāng)判斷出獲取的目標(biāo)文件不是flash文件時(shí),流程結(jié)束。
具體的,根據(jù)flash文件對應(yīng)的技術(shù)文檔,將目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼。
S103、將位于具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼;
需要說明的是,惡意代碼只會(huì)出現(xiàn)在具有字符串形式的代碼中的預(yù)設(shè)位置,其中預(yù)設(shè)位置包括DoInitAction段、DoAction段和DoABC段。
具體的,將位于具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼,包括:
查找位于具有字符串形式的代碼中的預(yù)設(shè)位置中的每個(gè)位置的代碼;
將每個(gè)位置的代碼提取出來,得到待解析代碼。
即將位于DoInitAction段、DoAction段和DoABC段的代碼都提取出來,得到待解析代碼。
S104、判斷待解析代碼中是否包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征;
其中,預(yù)設(shè)的惡意特征包括名稱特征、惡意行為特征或數(shù)據(jù)拼接特征。
S105、根據(jù)待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值;
具體的,當(dāng)判斷出待解析代碼中包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征,根據(jù)待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值。需要說明的是,當(dāng)判斷出待解析代碼中未包含有預(yù)設(shè)的惡意特征中的任何一個(gè)惡意特征,說明目標(biāo)文件不是惡意文件,此時(shí)流程結(jié)束。
其中,當(dāng)預(yù)設(shè)的惡意特征包括名稱特征、惡意行為特征或數(shù)據(jù)拼接特征時(shí),根據(jù)待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,包括:
當(dāng)待解析代碼中包含名稱特征時(shí),根據(jù)與待解析代碼中包含的名稱特征相匹配的字符串為正常字符串的概率,得到與名稱特征對應(yīng)的、能夠表示名稱特征的惡意程度的數(shù)值;
具體的,名稱特征為類名,在待解析代碼中查找與類名相匹配的字符串,根據(jù)馬爾科夫鏈算法分析該字符串是否是正常的字符串,當(dāng)分析出該字符串為正常字符串的概率大于預(yù)設(shè)值時(shí),證明該字符串為正常字符串。根據(jù)這種方法來得到與類名相匹配的字符串中正常字符串所占的比例。
假設(shè)查找出兩個(gè)與類名相匹配的字符串,此時(shí)分析這兩個(gè)字符串是否是正常的字符串,假設(shè)這兩個(gè)字符串中的一個(gè)為正常的字符串、另一個(gè)為不正常的字符串,則類名中正常字符串的占比為0.5。即名稱特征對應(yīng)的、能夠表示名稱特征的惡意程度的數(shù)值為0.5。需要說明的是,該數(shù)值為小數(shù)。
當(dāng)待解析代碼中包含惡意行為特征時(shí),根據(jù)待解析代碼中包含的惡意行為特征中的每個(gè)特征出現(xiàn)的次數(shù),得到與惡意行為特征對應(yīng)的、能夠表示惡意行為特征的惡意程度的數(shù)值;
具體的,惡意行為特征包括獲取內(nèi)存信息和修改系統(tǒng)文件行為這兩個(gè)小特征。
其中,獲取內(nèi)存信息和修改系統(tǒng)文件行為這兩個(gè)小特征都對應(yīng)有相應(yīng)的字符串,如獲取內(nèi)存信息的字符串為getallocsize。
在待解析代碼中,查找是否包含有上述每一個(gè)小特征對應(yīng)的字符串,當(dāng)查找出有其中的一個(gè)小特征對應(yīng)的字符串時(shí),將該字符串出現(xiàn)的次數(shù)乘以該字符串對應(yīng)的分值,即得到該特征對應(yīng)的一個(gè)分值。根據(jù)這種方法,能夠得到每一個(gè)小特征對應(yīng)的分值,將每個(gè)小特征對應(yīng)的分值相加,即能得到惡意行為特征對應(yīng)的、能夠表示惡意行為特征的惡意程度的數(shù)值。其中,該數(shù)值為整數(shù)。
舉例來說,當(dāng)想要知道獲取內(nèi)存信息這個(gè)特征對應(yīng)的數(shù)值,在待解析代碼中查找getallocsize出現(xiàn)的次數(shù),假設(shè)getallocsize出現(xiàn)一次對應(yīng)的分值為五分,在查找的過程中,發(fā)現(xiàn)getallocsize出現(xiàn)了四次,那么獲取內(nèi)存信息這個(gè)特征對應(yīng)的分值就是二十。
當(dāng)待解析代碼中包含數(shù)據(jù)拼接特征時(shí),根據(jù)待解析代碼中包含的數(shù)據(jù)拼接特征出現(xiàn)的次數(shù),得到與數(shù)據(jù)拼接特征對應(yīng)的、能夠表示數(shù)據(jù)拼接特征的惡意程度的數(shù)值。
其中,數(shù)據(jù)拼接是指在某塊具有二進(jìn)制形式的代碼段中有規(guī)律并且頻繁的使用加add指令,對字符串進(jìn)行拼接。
在待解析代碼中,查找是否包含有數(shù)據(jù)拼接特征對應(yīng)的字符串,當(dāng)查找出有數(shù)據(jù)拼接特征對應(yīng)的字符串時(shí),將該字符串出現(xiàn)的次數(shù)乘以該字符串對應(yīng)的分值,即得到該特征對應(yīng)的一個(gè)分值。該分值即為與數(shù)據(jù)拼接特征對應(yīng)的、能夠表示數(shù)據(jù)拼接特征的惡意程度的數(shù)值。其中,該數(shù)值為整數(shù)。
需要說明的是,拼接后的字符串對應(yīng)的分值的大小,與字符串的長短有關(guān),若字符串的長度越長,則其對應(yīng)的分值越高,若字符串的長度越短,則其對應(yīng)的分值越小。
S106、根據(jù)與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷目標(biāo)文件是否是惡意文件。
本實(shí)施例提供了一種檢測方法,本實(shí)施例中沒有像現(xiàn)有技術(shù)中一樣,直接查找是否具有惡意的字節(jié),即沒有直接對二進(jìn)制形式的代碼進(jìn)行分析,而是將具有二進(jìn)制形式的代碼的格式轉(zhuǎn)換成具有字符串形式的代碼,進(jìn)而對具有字符串形式的代碼進(jìn)行特征分析,由于現(xiàn)有技術(shù)中形式改變后的惡意的字節(jié)對應(yīng)的具有字符串形式的代碼是不變的,采用本發(fā)明中的方案就能夠避免惡意的字節(jié)的形式改變后,采用特征碼和人工規(guī)則的識別方法來檢測flash文件中是否攜帶有惡意代碼時(shí),不能判斷flash文件是否是惡意文件的問題。
可選的,本發(fā)明的另一實(shí)施例中,參照圖2,根據(jù)與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷目標(biāo)文件是否是惡意文件,包括:
S206、根據(jù)與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到目標(biāo)文件為惡意文件的概率;
需要說明的是,計(jì)算得到目標(biāo)文件為惡意文件的概率采用的方法是機(jī)器學(xué)習(xí)算法中的支持向量機(jī)算法。
其中,支持向量機(jī)算法中賦予了每個(gè)惡意特征對應(yīng)的分量,將每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值與該惡意特征對應(yīng)的分量根據(jù)預(yù)設(shè)的規(guī)則進(jìn)行計(jì)算,就能夠得到目標(biāo)文件為惡意文件的概率。
S207、根據(jù)概率,判斷目標(biāo)文件是否是惡意文件。
當(dāng)計(jì)算出的概率大于50%時(shí),就證明該目標(biāo)文件為惡意文件。
當(dāng)計(jì)算出的概率大于50%且小于70%時(shí),目標(biāo)文件的危險(xiǎn)等級為低,當(dāng)計(jì)算出的概率大于70%且小于90%,目標(biāo)文件的危險(xiǎn)等級為中,當(dāng)計(jì)算出的概率大于90%時(shí),目標(biāo)文件的危險(xiǎn)等級為高。
此外,當(dāng)判斷出目標(biāo)文件為惡意文件時(shí),在顯示界面上顯示全部的具有字符串形式的代碼以及惡意代碼。其中,名稱特征中非正常的字符串、在待解析代碼中出現(xiàn)的惡意行為特征中的每個(gè)小特征對應(yīng)的字符串以及在待解析代碼中出現(xiàn)的數(shù)據(jù)拼接特征對應(yīng)的字符串為惡意代碼。在顯示惡意代碼時(shí),將包含有惡意代碼的那行均標(biāo)黃,或者以其他方式顯示。
本實(shí)施例中,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到目標(biāo)文件為惡意文件的概率,進(jìn)而根據(jù)該概率,判斷目標(biāo)文件是否是惡意文件。
可選的,本發(fā)明的另一實(shí)施例中提供了一種檢測裝置,參照圖3,包括:
第一判斷單元101,用于判斷獲取的目標(biāo)文件是否是固態(tài)存儲(chǔ)器與動(dòng)畫編輯器flash文件;
轉(zhuǎn)換單元102,用于當(dāng)?shù)谝慌袛鄦卧?01判斷出獲取的目標(biāo)文件是flash文件,將目標(biāo)文件中包含的具有二進(jìn)制形式的代碼的格式進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成具有字符串形式的代碼;
提取單元103,用于將位于具有字符串形式的代碼中的預(yù)設(shè)位置的代碼提取出來,得到待解析代碼;
第二判斷單元104,用于判斷待解析代碼中是否包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征;
特征提取單元105,用于當(dāng)?shù)诙袛鄦卧?04判斷出待解析代碼中包含有預(yù)設(shè)的惡意特征中的至少一個(gè)惡意特征,根據(jù)待解析代碼中包含的每一個(gè)惡意特征中的待解析字符串,得到與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值;
第三判斷單元106,用于根據(jù)與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,判斷目標(biāo)文件是否是惡意文件。
其中,第一判斷單元101,包括:
第一判斷子單元,用于采用文件格式識別方法識別目標(biāo)文件的文件類型,判斷文件類型是否是flash文件的文件類型。
提取單元包括:
查找單元,用于查找位于具有字符串形式的代碼中的預(yù)設(shè)位置中的每個(gè)位置的代碼;
提取子單元,用于將每個(gè)位置的代碼提取出來,得到待解析代碼。
此外,當(dāng)預(yù)設(shè)的惡意特征包括名稱特征、惡意行為特征或數(shù)據(jù)拼接特征時(shí),
特征提取單元105包括:
第一特征提取單元,用于當(dāng)?shù)诙袛鄦卧袛喑龃馕龃a中包含名稱特征時(shí),根據(jù)與待解析代碼中包含的名稱特征相匹配的字符串為正常字符串的概率,得到與名稱特征對應(yīng)的、能夠表示名稱特征的惡意程度的數(shù)值;
第二特征提取單元,用于當(dāng)?shù)诙袛鄦卧袛喑龃馕龃a中包含惡意行為特征時(shí),根據(jù)待解析代碼中包含的惡意行為特征中的每個(gè)特征出現(xiàn)的次數(shù),得到與惡意行為特征對應(yīng)的、能夠表示惡意行為特征的惡意程度的數(shù)值;
第三特征提取單元,用于當(dāng)?shù)诙袛鄦卧袛喑龃馕龃a中包含數(shù)據(jù)拼接特征時(shí),根據(jù)待解析代碼中包含的數(shù)據(jù)拼接特征出現(xiàn)的次數(shù),得到與數(shù)據(jù)拼接特征對應(yīng)的、能夠表示數(shù)據(jù)拼接特征的惡意程度的數(shù)值。
本實(shí)施例提供了一種檢測裝置,本實(shí)施例中沒有像現(xiàn)有技術(shù)中一樣,直接查找是否具有惡意的字節(jié),即沒有直接對二進(jìn)制形式的代碼進(jìn)行分析,而是將具有二進(jìn)制形式的代碼的格式轉(zhuǎn)換成具有字符串形式的代碼,進(jìn)而對具有字符串形式的代碼進(jìn)行特征分析,由于現(xiàn)有技術(shù)中形式改變后的惡意的字節(jié)對應(yīng)的具有字符串形式的代碼是不變的,采用本發(fā)明中的方案就能夠避免惡意的字節(jié)的形式改變后,采用特征碼和人工規(guī)則的識別方法來檢測flash文件中是否攜帶有惡意代碼時(shí),不能判斷flash文件是否是惡意文件的問題。
需要說明的是,本實(shí)施例中的各個(gè)單元的工作過程請參照圖1對應(yīng)的實(shí)施例中的內(nèi)容,在此不再贅述。
可選的,本發(fā)明的另一實(shí)施例中,參照圖4,第三判斷單元106包括:
計(jì)算單元1061,用于根據(jù)與每一個(gè)惡意特征對應(yīng)的、能夠表示該惡意特征的惡意程度的數(shù)值,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到目標(biāo)文件為惡意文件的概率;
第四判斷單元1062,用于根據(jù)概率,判斷目標(biāo)文件是否是惡意文件。
本實(shí)施例中,采用機(jī)器學(xué)習(xí)算法,計(jì)算得到目標(biāo)文件為惡意文件的概率,進(jìn)而根據(jù)該概率,判斷目標(biāo)文件是否是惡意文件。
需要說明的是,本實(shí)施例中的各個(gè)單元的工作過程請參照圖2對應(yīng)的實(shí)施例中的內(nèi)容,在此不再贅述。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。