基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng)的制作方法
【專利說(shuō)明】基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng)
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,特別涉及一種基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng)。
【背景技術(shù)】
[0003]目前IA32架構(gòu)下的Windows平臺(tái)軟件安裝包的分類方法,大多是基于安裝包制作工具在其生成的安裝包中保留下來(lái)的特征信息來(lái)進(jìn)行分類的。對(duì)于沒有保留特征信息的安裝包制作工具,普通的分類器很難對(duì)其進(jìn)行分類;而對(duì)于同一個(gè)安裝包制作工具導(dǎo)出的不同語(yǔ)言的軟件安裝包,普通的分類器會(huì)將其分到多個(gè)類別中,使得分類結(jié)果并不準(zhǔn)確合理。
【發(fā)明內(nèi)容】
[0004]針對(duì)上述的分類缺陷,本發(fā)明提出一種基于樹同構(gòu)的軟件安裝包分類方法,能夠解決安裝包中無(wú)特征信息或不同語(yǔ)言導(dǎo)致分類差別的問(wèn)題。
[0005]—種基于樹同構(gòu)的軟件安裝包分類方法,包括:
獲取軟件安裝包;
分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè),否則丟棄所述安裝包;
獲取PE格式中的資源節(jié)段數(shù)據(jù);
將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu);
將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,若相似度超過(guò)預(yù)設(shè)值,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。
[0006]所述的方法中,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。
[0007]—種基于樹同構(gòu)的軟件安裝包分類系統(tǒng),包括:
獲取模塊,用于獲取軟件安裝包;
分析模塊,用于分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè),否則丟棄所述安裝包;獲取PE格式中的資源節(jié)段數(shù)據(jù);將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu);匹配模塊,用于將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,若相似度超過(guò)預(yù)設(shè)值,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。
[0008]所述的系統(tǒng)中,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。
[0009]本發(fā)明的優(yōu)勢(shì)在于,IA32架構(gòu)下的Windows平臺(tái)的安裝包程序文件屬于PE格式,其中程序的外觀信息、字符串信息、光標(biāo)信息等信息都以資源的形式保存在PE文件中,形成一棵資源樹。本發(fā)明按照資源樹的結(jié)構(gòu)對(duì)安裝包程序進(jìn)行分類,結(jié)構(gòu)相同或類似的資源樹所屬的安裝包程序劃分為同一類別,可以實(shí)現(xiàn)對(duì)軟件安裝包更加合理分類的效果。
[0010]本發(fā)明提出了一種基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng),主要通過(guò)獲取PE格式安裝包的資源節(jié)信息,并將其形成樹形結(jié)構(gòu),將所述的樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行依次對(duì)比,如果相似度超過(guò)預(yù)設(shè)值,則所述安裝包與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)對(duì)應(yīng)的軟件屬于同一分類。通過(guò)本發(fā)明的方法,能夠?qū)崿F(xiàn)對(duì)沒有特征信息的安裝包進(jìn)行分類,使得分類更加合理。
【附圖說(shuō)明】
[0011]為了更清楚地說(shuō)明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0012]圖1為本發(fā)明一種基于樹同構(gòu)的軟件安裝包分類方法實(shí)施例流程圖;
圖2為本發(fā)明一種基于樹同構(gòu)的軟件安裝包分類系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0013]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0014]針對(duì)上述的分類缺陷,本發(fā)明提出一種基于樹同構(gòu)的軟件安裝包分類方法,能夠解決安裝包中無(wú)特征信息或不同語(yǔ)言導(dǎo)致分類差別的問(wèn)題。
[0015]—種基于樹同構(gòu)的軟件安裝包分類方法,如圖1所示,包括:
5101:獲取軟件安裝包;
5102:分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè)執(zhí)行S103,否則丟棄所述安裝包;
5103:獲取PE格式中的資源節(jié)段數(shù)據(jù);
5104:將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu);
5105:將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,判斷相似度超過(guò)預(yù)設(shè)值,如果是,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。
[0016]所述的方法中,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。
[0017]將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,判斷相似度超過(guò)預(yù)設(shè)值的具體方法可為:采用樹結(jié)構(gòu)的最小表示法,為樹的每層節(jié)點(diǎn)賦予一個(gè)測(cè)度,然后將每層的節(jié)點(diǎn)按照測(cè)度從小到大排序,兩棵樹的每層節(jié)點(diǎn)都完成基于測(cè)度的排序后得到序列化的結(jié)果,然后求得兩棵樹的測(cè)度序列化結(jié)果的最長(zhǎng)公共子序列。最長(zhǎng)公共子序列與兩個(gè)樹形結(jié)構(gòu)相似度的百分比較高的,即為兩個(gè)樹形結(jié)構(gòu)的相似度。當(dāng)然還可以使用其他樹形結(jié)構(gòu)的比較方法,但本實(shí)施例所采用的方法比較較為準(zhǔn)確。
[0018]—種基于樹同構(gòu)的軟件安裝包分類系統(tǒng),如圖2所示,包括:
獲取模塊201,用于獲取軟件安裝包;
分析模塊202,用于分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè),否則丟棄所述安裝包;獲取PE格式中的資源節(jié)段數(shù)據(jù);將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu);
匹配模塊203,用于將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,若相似度超過(guò)預(yù)設(shè)值,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。
[0019]所述的系統(tǒng)中,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。
[0020]本發(fā)明的優(yōu)勢(shì)在于,IA32架構(gòu)下的Windows平臺(tái)的安裝包程序文件屬于PE格式,其中程序的外觀信息、字符串信息、光標(biāo)信息等信息都以資源的形式保存在PE文件中,形成一棵資源樹。本發(fā)明按照資源樹的結(jié)構(gòu)對(duì)安裝包程序進(jìn)行分類,結(jié)構(gòu)相同或類似的資源樹所屬的安裝包程序劃分為同一類別,可以實(shí)現(xiàn)對(duì)軟件安裝包更加合理分類的效果。
[0021]本發(fā)明提出了一種基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng),主要通過(guò)獲取PE格式安裝包的資源節(jié)信息,并將其形成樹形結(jié)構(gòu),將所述的樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行依次對(duì)比,如果相似度超過(guò)預(yù)設(shè)值,則所述安裝包與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)對(duì)應(yīng)的軟件屬于同一分類。通過(guò)本發(fā)明的方法,能夠?qū)崿F(xiàn)對(duì)沒有特征信息的安裝包進(jìn)行分類,使得分類更加合理。
[0022]通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0023]本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
[0024]本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
[0025]雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
【主權(quán)項(xiàng)】
1.一種基于樹同構(gòu)的軟件安裝包分類方法,其特征在于,包括: 獲取軟件安裝包; 分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè),否則丟棄所述安裝包; 獲取PE格式中的資源節(jié)段數(shù)據(jù); 將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu); 將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,若相似度超過(guò)預(yù)設(shè)值,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。2.如權(quán)利要求1所述的方法,其特征在于,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。3.—種基于樹同構(gòu)的軟件安裝包分類系統(tǒng),其特征在于,包括: 獲取模塊,用于獲取軟件安裝包;分析模塊,用于分析所述軟件安裝包是否為合法的PE格式,如果是,則繼續(xù)檢測(cè),否則丟棄所述安裝包;獲取PE格式中的資源節(jié)段數(shù)據(jù);將所述資源節(jié)段數(shù)據(jù),形成樹形結(jié)構(gòu);匹配模塊,用于將所述樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行對(duì)比,若相似度超過(guò)預(yù)設(shè)值,則所述軟件安裝包為樹形結(jié)構(gòu)庫(kù)中的樹形結(jié)構(gòu)對(duì)應(yīng)的軟件類別,否則所述軟件安裝包為新類別。4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述資源節(jié)段數(shù)據(jù)包括:程序外觀信息、字符串信息及光標(biāo)信息。
【專利摘要】本發(fā)明提出了一種基于樹同構(gòu)的軟件安裝包分類方法及系統(tǒng),主要通過(guò)獲取PE格式安裝包的資源節(jié)信息,并將其形成樹形結(jié)構(gòu),將所述的樹形結(jié)構(gòu)與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)進(jìn)行依次對(duì)比,如果相似度超過(guò)預(yù)設(shè)值,則所述安裝包與樹形結(jié)構(gòu)庫(kù)中的樹結(jié)構(gòu)對(duì)應(yīng)的軟件屬于同一分類。通過(guò)本發(fā)明的方法,能夠?qū)崿F(xiàn)對(duì)沒有特征信息的安裝包進(jìn)行分類,使得分類更加合理。
【IPC分類】G06F17/30, G06F9/44
【公開號(hào)】CN105488084
【申請(qǐng)?zhí)枴緾N201410813440
【發(fā)明人】劉爽, 童志明, 張栗偉
【申請(qǐng)人】哈爾濱安天科技股份有限公司
【公開日】2016年4月13日
【申請(qǐng)日】2014年12月24日