1.一種惡意程序分析方法,其特征在于,該方法包括步驟:
(1)將惡意程序樣本庫映射為一個以惡意程序基因為最小單元的惡意程序基因庫;
(2)利用惡意程序基因庫進(jìn)行惡意程序分析。
2.根據(jù)權(quán)利要求1所述的一種惡意程序分析方法,其特征在于,將惡意程序樣本庫映射為惡意程序基因庫的方法為:基于每個惡意程序運行時的匯編指令流,提取其中的關(guān)鍵匯編指令流片段,并建立關(guān)鍵匯編指令流片段與惡意行為的語義映射。
3.根據(jù)權(quán)利要求2所述的一種惡意程序分析方法,其特征在于,建立關(guān)鍵匯編指令流片段與惡意行為的語義映射的方法包括步驟:
1)建立匯編指令流IS=I0,I1,...,IN中的任意匯編指令I(lǐng)進(jìn)行抽象描述的映射關(guān)系I→ID;
2)形式化惡意程序運行時的匯編指令流序列,將匯編指令流序列IS=I0,I1,...,IN映射為序列IDS=ID0,ID1,...,IDN;
3)將惡意程序的樣本集合中所有的惡意程序均執(zhí)行步驟1)和步驟2),得到一個惡意程序的DNA行為序列集合,同時每個惡意程序DNA行為序列對應(yīng)不同的惡意程序分類;
4)針對每一類惡意程序DNA行為序列,提取每一類惡意程序DNA序列集合中K個相同的平凡子序列片段;
5)計算得到最優(yōu)的惡意程序基因信息。
4.根據(jù)權(quán)利要求3所述的一種惡意程序分析方法,其特征在于,步驟1)中,ID為六元組<C,OP,F(xiàn),WR,d,t>,其中,C是描述指令操作碼屬性的三元組C=<c,m>,c表示指令的操作碼,m表示指令的操作模式;OP是描述指令操作數(shù)的多元組OP=<n,op1,...,opn>,n表示指令的操作數(shù)個數(shù),opi指向指令的第i個操作數(shù);F是描述指令對標(biāo)志寄存器置位的九元組F=(cf,pf,af,zf,sf,tf,if,df,of>,分別對應(yīng)9個標(biāo)志寄存器;WR是描述指令的內(nèi)存和寄存器讀寫狀態(tài)的三元組WR=<wrr,wrm,rm>,wrr表示指令是否有寄存器讀寫,wrm表示指令是否有內(nèi)存讀寫,rm表示指令對內(nèi)存讀寫的區(qū)間;d描述指令的循環(huán)嵌套深度;t描述指令在代碼中位置的時間戳。
5.根據(jù)權(quán)利要求3所述的一種惡意程序分析方法,其特征在于,步驟2)中還包括步驟:定義兩個ID間相似度SimID的計算公式:SimID=SimC*(λbSimB+λsSimS),根據(jù)六元組<C,OP,F(xiàn),WR,d,t>,其中SimC表示兩個ID間的指令語義相似度,即<C,OP>的相似度;SimB表示兩個ID間的行為相似度,即<F,WR>的相似度,SimS表示兩個ID間的結(jié)構(gòu)相似度,即<d,t>的相似度;同時,公式需要滿足如下要求:λb+λs=1,1≥SimC≥0,1≥SimB≥0,1≥SimS≥0。
6.根據(jù)權(quán)利要求3所述的一種惡意程序分析方法,其特征在于,步驟5)中,計算得到最優(yōu)的惡意程序基因信息的公式:
其中,
參數(shù)πw表示閾值設(shè)定。
7.根據(jù)權(quán)利要求6所述的一種惡意程序分析方法,其特征在于,利用梯度下降法求解公式第n個最優(yōu)化公式