專(zhuān)利名稱::一種惡意程序判斷方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)安全
技術(shù)領(lǐng)域:
,具體來(lái)說(shuō)是關(guān)于一種惡意程序判斷方法及裝置。
背景技術(shù):
:長(zhǎng)期以來(lái),計(jì)算機(jī)惡意程序(如計(jì)算機(jī)病毒、邏輯炸彈、特洛伊木馬等)對(duì)計(jì)算機(jī)的破壞一直是計(jì)算機(jī)使用中面臨的重大問(wèn)題,現(xiàn)有技術(shù)使用特征碼匹配技術(shù)檢測(cè)識(shí)別計(jì)算機(jī)惡意程序,但特征碼匹配技術(shù)并不能檢測(cè)識(shí)別未知的惡意程序(如病毒變種和新病毒等)。為了克服這一問(wèn)題,現(xiàn)有技術(shù)釆用廣譜分析、啟發(fā)式分析等方式來(lái)檢測(cè)識(shí)別未知的惡意程序。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)采用廣譜分析、啟發(fā)式分析等方式來(lái)檢測(cè)識(shí)別未知的惡意程序效率很低,且有著較高的誤報(bào)率。
發(fā)明內(nèi)容為克服現(xiàn)有技術(shù)對(duì)未知的惡意程序識(shí)別效率低和誤報(bào)率高的問(wèn)題,本發(fā)明實(shí)施例提供一種惡意程序判斷方法及裝置,可以大幅度提高識(shí)別未知的惡意程序的效率及降低惡意程序誤報(bào)率。本發(fā)明實(shí)施例提供一種惡意程序判斷方法,所述的方法包括分析目標(biāo)程序,獲取目標(biāo)程序的特征;根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。本發(fā)明實(shí)施例還提供一種惡意程序判斷裝置,所述的裝置包括目標(biāo)程序分析單元,用于分析目標(biāo)程序,獲取目標(biāo)程序的特征;目標(biāo)集合生成單元,用于根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;惡意程序判斷單元,用于將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。本發(fā)明實(shí)施例提供的惡意程序判斷方法及裝置,根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序,可以大幅度提高識(shí)別未知的惡意程序的效率及降低惡意程序誤報(bào)率。此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。在附圖中圖1是本發(fā)明實(shí)施例提供的一種惡意程序判斷方法的流程圖;圖2是本發(fā)明實(shí)施例提供的一種惡意程序判斷方法的流程圖3是本發(fā)明實(shí)施例提供的根據(jù)威脅值判斷所述目標(biāo)程序是否為惡意程序的方法流程圖4是本發(fā)明實(shí)施例提供的一種惡意程序判斷裝置的框圖;圖5是本發(fā)明實(shí)施例提供的一種惡意程序判斷裝置的框圖6是本發(fā)明實(shí)施例提供的惡意程序判斷單元506的框圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明實(shí)施例的示意性實(shí)施方式及其說(shuō)明用于解釋本發(fā)明實(shí)施例,但并不作為對(duì)本發(fā)明實(shí)施例的限定。實(shí)施例一圖1是本發(fā)明實(shí)施例提供的一種惡意程序判斷方法的流程圖,如圖1所示,所述的方法包括S101,分析目標(biāo)程序,獲取目標(biāo)程序的特征。在本發(fā)明實(shí)施例中,目標(biāo)程序即為需要判定的未知目標(biāo)程序,其可能是惡意程序或非惡意程序。在步驟S101中,分析目標(biāo)程序,獲取目標(biāo)程序所具有的特征,目標(biāo)程序所具有的特征包括代碼特征和行為特征,其中,代碼特征可以包括樣本程序的文件結(jié)構(gòu)、入口點(diǎn)、可執(zhí)行文件的API調(diào)用序列等靜態(tài)信息,行為特征可以包括樣本程序在執(zhí)行過(guò)程中的動(dòng)作信息,如修改注冊(cè)表、修改系統(tǒng)文件、自啟動(dòng),修改系統(tǒng)安全設(shè)置等。S102,根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合。在本發(fā)明實(shí)施例中,目標(biāo)集合生成單元根據(jù)從目標(biāo)程序獲取到的特征生成與之相對(duì)應(yīng)的目標(biāo)程序特征集合,目標(biāo)程序特征集合中包括至少一個(gè)代碼特征和/或行為特征。S103,將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。在本發(fā)明實(shí)施例中,判斷所述目標(biāo)程序是否為惡意程序包括査找與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,如果找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,則進(jìn)一步判斷找到的樣本程序特征集合的威脅值是否大于一預(yù)設(shè)門(mén)限值,如果樣本程序特征集合的威脅值大于預(yù)設(shè)門(mén)限值,則判斷樣本程序?yàn)閻阂獬绦?;如果沒(méi)有找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,則查找與目標(biāo)程序特征集合中所包含的特征相近似的樣本程序特征集合,判斷找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量是否超過(guò)半數(shù);如果所述找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)閻阂獬绦?;如果所述找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量沒(méi)有超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)檎7菒阂獬绦?。圖2是本發(fā)明實(shí)施例提供的一種惡意程序判斷方法的流程圖,如圖2所示,所述的方法包括S201,分析樣本程序,獲取每個(gè)樣本程序的特征。在本發(fā)明實(shí)施例中,樣本程序是用戶提供的已知程序,其中包括惡意程序和非惡意程序。在步驟S201中,分析用戶提供的所有已知樣本程序,獲取每個(gè)樣本程序所具有的特征,樣本程序所具有的特征包括代碼特征和行為特征,其中,代碼特征可以包括樣本程序的文件結(jié)構(gòu)、入口點(diǎn)、可執(zhí)行文件的API調(diào)用序列等靜態(tài)信息,行為特征可以包括樣本程序在執(zhí)行過(guò)程中的動(dòng)作信息,如修改注冊(cè)表、修改系統(tǒng)文件、自啟動(dòng),修改系統(tǒng)安全設(shè)置等。S202,根據(jù)獲取到的特征生成與每個(gè)樣本程序相對(duì)應(yīng)的特征集合。在本發(fā)明實(shí)施例中,樣本特征集合生成單元根據(jù)從每個(gè)樣本程序獲取到的特征生成與之相對(duì)應(yīng)的特征集合,也就是說(shuō),每個(gè)樣本程序均生成一個(gè)對(duì)應(yīng)的特征集合,特征集合中包括至少一個(gè)代碼特征和/或行為特征,在本實(shí)施例中,所有特征集合中包括的特征數(shù)量均相同,以下以每個(gè)特征集合包括三個(gè)特征為例進(jìn)行說(shuō)明。樣本程序特征一特征二特征三是否是惡意程序Pl自啟動(dòng)不修改注冊(cè)表關(guān)閉防火墻惡意程序P2不自啟動(dòng)修改注冊(cè)表關(guān)閉防火墻惡意程序P3不自啟動(dòng)不修改注冊(cè)表不關(guān)閉防火墻非惡意程序P4不自啟動(dòng)修改注冊(cè)表不關(guān)閉防火墻非惡意程序P5不自啟動(dòng)修改注冊(cè)表不關(guān)閉防火墻惡意程序P6不自啟動(dòng)修改注冊(cè)表不關(guān)閉防火墻惡意程序P7自啟動(dòng)修改注冊(cè)表關(guān)閉防火墻惡意程序P8自啟動(dòng)修改注冊(cè)表關(guān)閉防火墻惡意程序表1表1是本發(fā)明實(shí)施例提供的八個(gè)樣本程序所生成的特征集合列表,其中,樣本程序P1、P2、P5、P6、P7和P8已知為惡意程序,P3和P4已知為正常非惡意程序。在步驟S201中針對(duì)每個(gè)樣本程序是否自啟動(dòng)、是否修改注冊(cè)表、是否關(guān)閉防火墻這三個(gè)特征進(jìn)行分析,獲取每個(gè)樣本程序的特征,樣本特征集合生成單元相對(duì)應(yīng)的生成八個(gè)特征集合,每個(gè)樣本程序所生產(chǎn)的特征集合如表1所示,其中,樣本程序P4、P5和P6具有相同的特征集合,樣本程序P7和P8具有相同的特征集合。S203,根據(jù)所述樣本程序是否為惡意程序生成所述樣本程序特征集合的威脅值。在本發(fā)明實(shí)施例中,獲取包括特征相同的特征集合所對(duì)應(yīng)的樣本程序,如表1所示,樣本程序P4、P5和P6具有相同的特征(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻),樣本程序P7和P8具有相同的特征(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)。獲取到包括特征相同的特征集合所對(duì)應(yīng)的樣本程序后,根據(jù)獲取到的樣本程序中惡意程序所占的比重確定所述特征集合的威脅值,在本實(shí)施例中,包括特征相同的特征集合所對(duì)應(yīng)的樣本程序的總數(shù)為A個(gè),這A個(gè)樣本程序中有B個(gè)是惡意程序,則該特征集合的威脅值V等于B/AX100%。如表1所示,特征集合(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻)對(duì)應(yīng)的樣本程序?yàn)镻4、P5和P6共3個(gè),其中樣本程序P4為正常程序,樣本程序P5和P6為惡意程序,則特征集合(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻)的威脅值¥產(chǎn)2/3*100°/。=66.7%。特征集合(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)對(duì)應(yīng)的樣本程序?yàn)镻7和P8,且P7和P8均為惡意程序,則特征集合(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)的威脅值V2=2/2*100%=100°/。。對(duì)于特征集合(自啟動(dòng),不修改注冊(cè)表,關(guān)閉防火墻)來(lái)說(shuō),由于其對(duì)應(yīng)的樣本程序只有1個(gè),即樣本程序P1,且P1為惡意程序,因此特征集合(自啟動(dòng),不修改注冊(cè)表,關(guān)閉防火墻)的威脅值V^100。/。,同樣特征集合P2(不自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)的威脅值V4-100n/。。對(duì)于特征集合(不自啟動(dòng),不修改注冊(cè)表,不關(guān)閉防火墻)來(lái)說(shuō),其對(duì)應(yīng)的樣本程序只有P3,且P3為正常程序,因此特征集合(不自啟動(dòng),不修改注冊(cè)表,不關(guān)閉防火墻)的威脅值V產(chǎn)0。/。。其中,上述獲得所述樣本程序特征集合,可以預(yù)先獲得,在分析目標(biāo)程序時(shí),直接在預(yù)先獲得的樣本程序特征集合中獲取匹配的特征集合用于判斷目標(biāo)程序是否為惡意程序;S204,分析目標(biāo)程序,獲取目標(biāo)程序的特征。在本發(fā)明實(shí)施例中,目標(biāo)程序即為需要判定的未知目標(biāo)程序,其可能是惡意程序或非惡意程序。在步驟S204中,分析目標(biāo)程序,獲取目標(biāo)程序所具有的特征,目標(biāo)程序所具有的特征包括代碼特征和行為特征,其中,代碼特征可以包括樣本程序的文件結(jié)構(gòu)、入口點(diǎn)、可執(zhí)行文件的API調(diào)用序列等靜態(tài)信息,行為特征可以包括樣本程序在執(zhí)行過(guò)程中的動(dòng)作信息,如修改注冊(cè)表、修改系統(tǒng)文件、自啟動(dòng),修改系統(tǒng)安全設(shè)置等。S205,根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合。在本發(fā)明實(shí)施例中,目標(biāo)集合生成單元根據(jù)從目標(biāo)程序獲取到的特征生成與之相對(duì)應(yīng)的目標(biāo)程序特征集合,目標(biāo)程序特征集合中包括至少一個(gè)代碼特征和/或行為特征,在本實(shí)施例中,以目標(biāo)程序特征集合包括是否自啟動(dòng)、是否修改注冊(cè)表、是否關(guān)閉防火墻這三個(gè)特征為例進(jìn)行說(shuō)明。<table>tableseeoriginaldocumentpage10</column></row><table>表2表2是本發(fā)明實(shí)施例提供的目標(biāo)程序所包含的特征列表,如表2所示,根據(jù)目標(biāo)程序P9生成的特征集合為(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻),根據(jù)目標(biāo)程序P10生成的特征集合為(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻),根據(jù)目標(biāo)程序Pll生成的特征集合為(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)。S206,將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。圖3是本發(fā)明實(shí)施例提供的根據(jù)威脅值判斷所述目標(biāo)程序是否為惡意程序的方法流程圖,如圖3所示,所述的方法包括S301,查找與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合;如果找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,進(jìn)入步驟S302,如果沒(méi)有找到,則進(jìn)入步驟S303。在本實(shí)施例中,查找與目標(biāo)程序P9的特征集合(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合,與目標(biāo)程序P10的特征集合(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻)相同的樣本程序特征集合,以及與目標(biāo)程序Pll的特征集合(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合。S302,判斷找到的樣本程序特征集合的威脅值是否大于一預(yù)設(shè)門(mén)限值,如果是,則判斷所述目標(biāo)程序?yàn)閻阂獬绦?;在本?shí)施例中,如果所述找到的樣本程序特征集合的威脅值大于一預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)閻阂獬绦?;如果所述找到的樣本程序特征集合的威脅值小于等于一預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)檎7菒阂獬绦?。在本?shí)施例中,預(yù)設(shè)門(mén)限值Vw定為58%,在本發(fā)明的其他實(shí)施例中,V預(yù)的數(shù)值也可根據(jù)實(shí)際情況靈活調(diào)整。在本實(shí)施例中,與目標(biāo)程序P9的特征集合(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻)所包含的特征相同的特征集合為樣本程序?yàn)镻7和P8的特征集合,樣本程序?yàn)镻7和P8的特征集合的威脅值V2=100°/。>58%,因此判斷目標(biāo)程序P9為惡意程序;與目標(biāo)程序P10的特征集合(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻)所包含的特征相同的特征集合為樣本程序?yàn)镻4、P5和P6的特征集合,樣本程序?yàn)镻4、P5和P6的特征集合的威脅值V產(chǎn)66.7Q/^58。/。,因此判斷目標(biāo)程序P10為惡意程序。在本實(shí)施例中,如果目標(biāo)程序的特征集合所包含的特征相同的特征集合為樣本程序P3,而樣本程序P3的特征集合的威脅值V5=0%<58%,因此判斷該目標(biāo)程序?yàn)檎7菒阂獬绦?。S303,查找與目標(biāo)程序特征集合中所包含的特征相近似的樣本程序特征隹厶.朱口;在本實(shí)施例中,沒(méi)有與目標(biāo)程序pii的特征集合(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合,因此查找與pii的特征集合所包含的特征相近似的樣本程序特征集合,在這里,樣本程序P1、P2和P3的特征集合與目標(biāo)程序Pll的特征集合均只有一個(gè)特征不同,因此與Pll的特征集合所包含的特征相近似的為樣本程序Pl、P2和P3的特征集合。S304,判斷找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量是否超過(guò)半數(shù);如果所述找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)閻阂獬绦?;如果所述找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量沒(méi)有超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)檎7菒阂獬绦颉T诒緦?shí)施例中,以目標(biāo)程序Pll為例進(jìn)行說(shuō)明,查找到與目標(biāo)程序Pll特征集合中所包含的特征相近似的樣本程序,其中P1、P2和P3這三個(gè)樣本程序的特征集合均與目標(biāo)程序Pll的特征集合只相差一個(gè)特征,其中,Pl和P2的威脅值為100%,P3的威脅值為0%,Pl和P2的威脅值均超過(guò)58%,威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量超過(guò)半數(shù),因此判斷目標(biāo)程序Pll為惡意程序。在本發(fā)明的其他實(shí)施例中,如果找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量沒(méi)有超過(guò)半數(shù),則判斷該目標(biāo)程序?yàn)檎7菒阂獬绦?。在本發(fā)明的其他實(shí)施例中,如果找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量恰好等于半數(shù),則判斷該目標(biāo)程序?yàn)榭梢沙绦?。本發(fā)明實(shí)施例提供的惡意程序判斷方法及裝置,克服了現(xiàn)有技術(shù)對(duì)未知的惡意程序識(shí)別效率低和誤報(bào)率高的問(wèn)題,可以準(zhǔn)確高效的識(shí)別未知的惡意程序。實(shí)施例二圖4是本發(fā)明實(shí)施例提供的一種惡意程序判斷裝置的框圖,如圖4所示,所述的裝置包括目標(biāo)程序分析單元401、目標(biāo)集合生成單元402和惡意程序判斷單元403,其中目標(biāo)程序分析單元401,用于分析目標(biāo)程序,獲取目標(biāo)程序的特征;在本發(fā)明實(shí)施例中,目標(biāo)程序即為需要判定的未知目標(biāo)程序,其可能是惡意程序或非惡意程序。目標(biāo)程序分析單元401分析目標(biāo)程序,獲取目標(biāo)程序所具有的特征,在本發(fā)明實(shí)施例中,目標(biāo)程序分析單元401包括代碼特征獲取模塊用于獲取目標(biāo)程序的代碼特征;行為特征獲取模塊用于獲取目標(biāo)程序的行為特征。所述的代碼特征是樣本程序的靜態(tài)信息,包括文件結(jié)構(gòu)信息、入口點(diǎn)信息、可執(zhí)行文件的API調(diào)用序列信息;所述的行為特征是程序在執(zhí)行過(guò)程中的動(dòng)作信息,包括修改注冊(cè)表信息、修改系統(tǒng)文件信息、自啟動(dòng)信息,修改系統(tǒng)安全設(shè)置信息。目標(biāo)集合生成單元402,用于根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;在本發(fā)明實(shí)施例中,目標(biāo)程序集合生成單元402根據(jù)從目標(biāo)程序獲取到的特征生成與之相對(duì)應(yīng)的目標(biāo)程序特征集合,目標(biāo)程序特征集合中包括至少一個(gè)代碼特征和/或行為特征。惡意程序判斷單元403,用于根據(jù)與目標(biāo)程序特征集合相匹配的樣本程序特征集合的威脅值,判斷所述目標(biāo)程序是否為惡意程序。圖5是本發(fā)明實(shí)施例提供的一種惡意程序判斷裝置的框圖,如圖5所示,所述的裝置包括樣本程序分析單元501、樣本集合生成單元502、威脅值生成單元503、目標(biāo)程序分析單元504、目標(biāo)集合生成單元505和惡意程序判斷單元506,其中樣本程序分析單元501,用于分析樣本程序,獲取每個(gè)樣本程序的特征;在本發(fā)明實(shí)施例中,樣本程序是用戶提供的已知程序,其中包括惡意程序和非惡意程序,樣本程序分析單元501分析用戶提供的所有已知樣本程序,獲取每個(gè)樣本程序所具有的特征,樣本程序所具有的特征包括代碼特征和行為特征。在本發(fā)明實(shí)施例中,樣本程序分析單元501包括代碼特征獲取模塊用于獲取樣本程序的代碼特征;行為特征獲取模塊用于獲取樣本程序的行為特征。所述的代碼特征是樣本程序的靜態(tài)信息,包括文件結(jié)構(gòu)信息、入口點(diǎn)信息、可執(zhí)行文件的API調(diào)用序列信息;所述的行為特征是程序在執(zhí)行過(guò)程中的動(dòng)作信息,包括修改注冊(cè)表信息、修改系統(tǒng)文件信息、自啟動(dòng)信息,修改系統(tǒng)安全設(shè)置信息。樣本集合生成單元502,用于根據(jù)獲取到的特征生成與每個(gè)樣本程序相對(duì)應(yīng)的特征集合;在本發(fā)明實(shí)施例中,樣本集合生成單元502根據(jù)從每個(gè)樣本程序獲取到的特征生成與之相對(duì)應(yīng)的特征集合,也就是說(shuō),每個(gè)樣本程序均生成一個(gè)對(duì)應(yīng)的特征集合,特征集合中包括至少一個(gè)代碼特征和/或行為特征,在本實(shí)施例中,所有特征集合中包括的特征數(shù)量均相同,以下以每個(gè)特征集合包括三個(gè)特征為例進(jìn)行說(shuō)明。表1是本發(fā)明實(shí)施例提供的八個(gè)樣本程序所生成的特征集合列表,其中,樣本程序P1、P2、P5、P6、P7和P8已知為惡意程序,P3和P4己知為正常非惡意程序。在步驟S201中針對(duì)每個(gè)樣本程序是否自啟動(dòng)、是否修改注冊(cè)表、是否關(guān)閉防火墻這三個(gè)特征進(jìn)行分析,獲取每個(gè)樣本程序的特征,樣本特征集合生成單元相對(duì)應(yīng)的生成八個(gè)特征集合,每個(gè)樣本程序所生產(chǎn)的特征集合如表1所示,其中,樣本程序P4、P5和P6具有相同的特征集合,樣本程序P7和P8具有相同的特征集合。威脅值生成單元503,用于根據(jù)所述樣本程序是否為惡意程序生成所述特征集合的威脅值;在本發(fā)明實(shí)施例中,威脅值生成單元503包括樣本程序獲取模塊和威脅值計(jì)算模塊,其中樣本程序獲取模塊用于獲取包括特征相同的特征集合所對(duì)應(yīng)的樣本程序,如表1所示,樣本程序P4、P5和P6具有相同的特征(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻),樣本程序P7和P8具有相同的特征(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻);威脅值計(jì)算模塊用于根據(jù)獲取到的樣本程序中惡意程序所占的比重計(jì)算所述特征集合的威脅值,在本實(shí)施例中,包括特征相同的特征集合所對(duì)應(yīng)的樣本程序的總數(shù)為A個(gè),這A個(gè)樣本程序中有B個(gè)是惡意程序,則該特征集合的威脅值V等于B/AX100。/。。如表1所示,特征集合(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻)對(duì)應(yīng)的樣本程序?yàn)镻4、P5和P6共3個(gè),其中樣本程序P4為正常程序,樣本程序P5和P6為惡意程序,則特征集合(不自啟動(dòng),修改注冊(cè)表,不關(guān)閉防火墻)的威脅值V產(chǎn)2/3氣00G/c^66.7y。。特征集合(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)對(duì)應(yīng)的樣本程序?yàn)镻7和P8,且P7和P8均為惡意程序,則特征集合(自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)的威脅值V2=2/2*100°/。=100%。對(duì)于特征集合(自啟動(dòng),不修改注冊(cè)表,關(guān)閉防火墻)來(lái)說(shuō),由于其對(duì)應(yīng)的樣本程序只有1個(gè),即樣本程序P1,且P1為惡意程序,因此特征集合(自啟動(dòng),不修改注冊(cè)表,關(guān)閉防火墻)的威脅值V3=100%,同樣特征集合P2(不自啟動(dòng),修改注冊(cè)表,關(guān)閉防火墻)的威脅值V4-100n/。。對(duì)于特征集合(不自啟動(dòng),不修改注冊(cè)表,不關(guān)閉防火墻)來(lái)說(shuō),其對(duì)應(yīng)的樣本程序只有P3,且P3為正常程序,因此特征集合(不自啟動(dòng),不修改注冊(cè)表,不關(guān)閉防火墻)的威脅值V產(chǎn)On/c。目標(biāo)程序分析單元504,用于分析目標(biāo)程序,獲取目標(biāo)程序的特征;在本發(fā)明實(shí)施例中,目標(biāo)程序即為需要判定的未知目標(biāo)程序,其可能是惡意程序或非惡意程序。目標(biāo)程序分析單元504分析目標(biāo)程序,獲取目標(biāo)程序所具有的特征,在本發(fā)明實(shí)施例中,目標(biāo)程序分析單元504包括代碼特征獲取模塊用于獲取目標(biāo)程序的代碼特征;行為特征獲取模塊用于獲取目標(biāo)程序的行為特征。所述的代碼特征是樣本程序的靜態(tài)信息,包括文件結(jié)構(gòu)信息、入口點(diǎn)信息、可執(zhí)行文件的API調(diào)用序列信息;所述的行為特征是程序在執(zhí)行過(guò)程中的動(dòng)作信息,包括修改注冊(cè)表信息、修改系統(tǒng)文件信息、自啟動(dòng)信息,修改系統(tǒng)安全設(shè)置信息。目標(biāo)集合生成單元505,用于根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;在本發(fā)明實(shí)施例中,目標(biāo)程序集合生成單元505根據(jù)從目標(biāo)程序獲取到的特征生成與之相對(duì)應(yīng)的目標(biāo)程序特征集合,目標(biāo)程序特征集合中包括至少一個(gè)代碼特征和/或行為特征,在本實(shí)施例中,以目標(biāo)程序特征集合包括是否自啟動(dòng)、是否修改注冊(cè)表、是否關(guān)閉防火墻這三個(gè)特征為例進(jìn)行說(shuō)明。表2是本發(fā)明實(shí)施例提供的目標(biāo)程序所包含的特征列表,如表2所示,根據(jù)目標(biāo)程序P9生成的特征集合為(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻),根據(jù)目標(biāo)程序P10生成的特征集合為(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻),根據(jù)目標(biāo)程序P11生成的特征集合為(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)。惡意程序判斷單元506,用于根據(jù)與目標(biāo)程序特征集合相匹配的樣本程序特征集合的威脅值,判斷所述目標(biāo)程序是否為惡意程序。圖6是本發(fā)明實(shí)施例提供的惡意程序判斷單元506的框圖,如圖6所示,在本發(fā)明實(shí)施例中,惡意程序判斷單元506包括相同集合查找模塊601、相同集合判斷模塊602、近似集合查找模塊603和近似集合判斷模塊604。相同集合查找模塊601,用于查找與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合;在本實(shí)施例中,相同集合查找模塊601査找與目標(biāo)程序P9的特征集合(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合,與目標(biāo)程序P10的特征集合(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻)相同的樣本程序特征集合,以及與目標(biāo)程序Pll的特征集合(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合。相同集合判斷模塊602,用于在找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合時(shí),判斷找到的樣本程序特征集合的威脅值是否大于一預(yù)設(shè)門(mén)限值,如果所述找到的樣本程序特征集合的威脅值大于一預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)閻阂獬绦?,如果所述找到的樣本程序特征集合的威脅值小于等于一預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)檎7菒阂獬绦颉T诒緦?shí)施例中,預(yù)設(shè)門(mén)限值V^定為58%,在本發(fā)明的其他實(shí)施例中,VH的數(shù)值也可根據(jù)實(shí)際情況靈活調(diào)整。在本實(shí)施例中,與目標(biāo)程序P9的特征集合(自啟動(dòng)、修改注冊(cè)表、關(guān)閉防火墻)所包含的特征相同的特征集合為樣本程序?yàn)镻7和P8的特征集合,樣本程序?yàn)镻7和P8的特征集合的威脅值¥2=100%>58%,因此判斷目標(biāo)程序P9為惡意程序;與目標(biāo)程序P10的特征集合(不自啟動(dòng)、修改注冊(cè)表、不關(guān)閉防火墻)所包含的特征相同的特征集合為樣本程序?yàn)镻4、P5和P6的特征集合,樣本程序?yàn)镻4、P5和P6的特征集合的威脅值V產(chǎn)66.7。/?!?8。/。,因此判斷目標(biāo)程序P10為惡意程序。在本實(shí)施例中,如果目標(biāo)程序的特征集合所包含的特征相同的特征集合為樣本程序P3,而樣本程序P3的特征集合的威脅值^=0%<58%,因此判斷該目標(biāo)程序?yàn)檎7菒阂獬绦?。近似集合查找模塊603,用于在沒(méi)有與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合時(shí),查找與目標(biāo)程序特征集合中所包含的特征相近似的樣本程序特征集合;在本實(shí)施例中,沒(méi)有與目標(biāo)程序Pll的特征集合(不自啟動(dòng)、不修改注冊(cè)表、關(guān)閉防火墻)相同的樣本程序特征集合,因此近似集合查找模塊703查找與Pll的特征集合所包含的特征相近似的樣本程序特征集合,在這里,樣本程序Pl、P2和P3的特征集合與目標(biāo)程序Pl1的特征集合均只有一個(gè)特征不同,因此與Pll的特征集合所包含的特征相近似的為樣本程序Pl、P2和P3的特征集合。近似集合判斷模塊604,用于判斷找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量是否超過(guò)半數(shù),如果所述找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)閻阂獬绦?;如果所述找到的樣本程序特征集合中烕脅值大于預(yù)設(shè)門(mén)限值的數(shù)量沒(méi)有超過(guò)半數(shù),則判斷所述目標(biāo)程序?yàn)檎7菒阂獬绦?。在本?shí)施例中,以目標(biāo)程序Pll為例進(jìn)行說(shuō)明,近似集合查找模塊603査找到與目標(biāo)程序P11特征集合中所包含的特征相近似的樣本程序,其中P1、P2和P3這三個(gè)樣本程序的特征集合均與目標(biāo)程序Pl1的特征集合只相差一個(gè)特征,其中,Pl和P2的威脅值為100%,P3的威脅值為0%,Pl和P2的威脅值均超過(guò)58%,威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量超過(guò)半數(shù),因此近似集合判斷模塊604判斷目標(biāo)程序P11為惡意程序。在本發(fā)明的其他實(shí)施例中,如果找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量沒(méi)有超過(guò)半數(shù),則近似集合判斷模塊604判斷該目標(biāo)程序?yàn)檎7菒阂獬绦?。在本發(fā)明的其他實(shí)施例中,如果找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量恰好等于半數(shù),則近似集合判斷模塊604判斷該目標(biāo)程序?yàn)榭梢沙绦?。本發(fā)明實(shí)施例提供的惡意程序判斷方法及裝置,克服了現(xiàn)有技術(shù)對(duì)未知的惡意程序識(shí)別效率低和誤報(bào)率高的問(wèn)題,可以準(zhǔn)確高效的識(shí)別未知的惡意程序。以上所述的具體實(shí)施方式,對(duì)本發(fā)明的實(shí)施例目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明實(shí)施例的具體實(shí)施方式而已,并不用于限定本發(fā)明實(shí)施例的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種惡意程序判斷方法,其特征在于,所述的方法包括分析目標(biāo)程序,獲取目標(biāo)程序的特征;根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。2.根據(jù)權(quán)利要求1所述的惡意程序判斷方法,其特征在于,所述預(yù)置的樣本程序特征集合的威脅值預(yù)先通過(guò)以下步驟獲得分析樣本程序,獲取每個(gè)樣本程序的特征;根據(jù)獲取到的特征生成與每個(gè)樣本程序相對(duì)應(yīng)的特征集合;根據(jù)所述樣本程序是否為惡意程序生成所述樣本程序的特征集合的威脅值。3.根據(jù)權(quán)利要求1或2所述的惡意程序判斷方法,其特征在于,所述的特征集合包括至少一個(gè)代碼特征和/或行為特征。4.根據(jù)權(quán)利要求2所述的惡意程序判斷方法,其特征在于,所述根據(jù)樣本程序是否為惡意生成所述特征集合的烕脅值包括獲取包括特征相同的特征集合所對(duì)應(yīng)的樣本程序;根據(jù)獲取到的樣本程序中惡意程序所占的比重確定所述特征集合的威脅值。5.根據(jù)權(quán)利要求1所述的惡意程序判斷方法,其特征在于,所述將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序包括在預(yù)置的樣本程序特征集合中,查找與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合;如果找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,則判斷找到的樣本程序特征集合的威脅值是否大于預(yù)設(shè)門(mén)限值;如果所述找到的樣本程序特征集合的威脅值大于所述預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)閻阂獬绦颉?.根據(jù)權(quán)利要求5所述的惡意程序判斷方法,其特征在于,所述方法還包括如果在預(yù)置的樣本程序特征集合中,沒(méi)有與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合,則査找與目標(biāo)程序特征集合中所包含的特征相近似的樣本程序特征集合;判斷找到的特征相似的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的集合數(shù)量是否超過(guò)半數(shù);如果是,則判斷所述目標(biāo)程序?yàn)閻阂獬绦颉?.—種惡意程序判斷裝置,其特征在于,所述的裝置包括目標(biāo)程序分析單元,用于分析目標(biāo)程序,獲取目標(biāo)程序的特征;目標(biāo)集合生成單元,用于根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;惡意程序判斷單元,用于將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。8.根據(jù)權(quán)利要求7所述的惡意程序判斷裝置,其特征在于,所述的裝置還包括樣本程序分析單元,用于分析樣本程序,獲取每個(gè)樣本程序的特征;樣本集合生成單元,用于根據(jù)獲取到的特征生成與每個(gè)樣本程序相對(duì)應(yīng)的特征集合;威脅值生成單元,用于根據(jù)所述樣本程序是否為惡意程序生成所述特征集合的威脅值。9.根據(jù)權(quán)利要求8所述的惡意程序判斷裝置,其特征在于,威脅值生成單元包括樣本程序獲取模塊,用于獲取包括特征相同的特征集合所對(duì)應(yīng)的樣本程序;威脅值計(jì)算模塊,用于根據(jù)獲取到的樣本程序中惡意程序所占的比重計(jì)算所述特征集合的威脅值。10.根據(jù)權(quán)利要求7所述的惡意程序判斷裝置,其特征在于,所述惡意程序判斷單元包括相同集合査找模塊,用于在預(yù)置的樣本程序特征集合中,查找與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合;相同集合判斷模塊,用于在找到與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合時(shí),判斷找到的樣本程序特征集合的威脅值是否大于一預(yù)設(shè)門(mén)限值,如果所述找到的樣本程序特征集合的威脅值大于一預(yù)設(shè)門(mén)限值,則判斷所述目標(biāo)程序?yàn)閻阂獬绦颉?1.根據(jù)權(quán)利要求10所述的惡意程序判斷裝置,其特征在于,所述惡意程序判斷單元還包括近似集合查找模塊,用于在預(yù)置的樣本程序特征集合中,沒(méi)有與目標(biāo)程序特征集合中所包含的特征相同的樣本程序特征集合時(shí),査找與目標(biāo)程序特征集合中所包含的特征相近似的樣本程序特征集合;近似集合判斷模塊,用于判斷找到的樣本程序特征集合中威脅值大于預(yù)設(shè)門(mén)限值的數(shù)量是否超過(guò)半數(shù),如果是,則判斷所述目標(biāo)程序?yàn)閻阂獬绦颉H恼景l(fā)明實(shí)施例是關(guān)于一種惡意程序判斷方法及裝置,所述的方法包括分析目標(biāo)程序,獲取目標(biāo)程序的特征;根據(jù)獲取到的目標(biāo)程序的特征生成與目標(biāo)程序相對(duì)應(yīng)的特征集合;將所述目標(biāo)程序特征集合與預(yù)置的樣本程序特征集合的威脅值相匹配,根據(jù)匹配結(jié)果判斷所述目標(biāo)程序是否為惡意程序。本發(fā)明實(shí)施例提供的惡意程序判斷方法及裝置,克服了現(xiàn)有技術(shù)對(duì)未知的惡意程序識(shí)別效率低和誤報(bào)率高的問(wèn)題,可以大幅度提高識(shí)別未知的惡意程序的效率及降低惡意程序誤報(bào)率。文檔編號(hào)G06F9/44GK101593253SQ20091015070公開(kāi)日2009年12月2日申請(qǐng)日期2009年6月22日優(yōu)先權(quán)日2009年6月22日發(fā)明者張小松,顧凌志申請(qǐng)人:成都市華為賽門(mén)鐵克科技有限公司;電子科技大學(xué)