[發明專利]基于文件指令頻度的計算機惡意程序分類系統及分類方法有效
| 申請號: | 200910040996.8 | 申請日: | 2009-07-10 |
| 公開(公告)號: | CN101604363A | 公開(公告)日: | 2009-12-16 |
| 發明(設計)人: | 葉艷芳;萬里;韓智雪;陳勇 | 申請(專利權)人: | 珠海金山軟件股份有限公司 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00;G06F17/30 |
| 代理公司: | 廣州新諾專利商標事務所有限公司 | 代理人: | 楊煥軍 |
| 地址: | 519015廣東省珠海市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 文件 指令 頻度 計算機 惡意程序 分類 系統 方法 | ||
1.一種基于文件指令頻度的計算機惡意程序分類系統,
其特征在于,包括
指令頻度特征提取模塊,其首先解析惡意程序代碼的所有指令,并通 過計算每個指令在惡意程序樣本中所出現的頻率TF與逆向樣本頻率 IDF,對惡意程序樣本集中出現的指令進行加權,從而構造指令頻度 向量來表征惡意程序樣本,并存儲于惡意程序特征庫中;其中,
指令頻率TF是某一個給定的指令在該樣本中出現的頻率,對于 第j個樣本中的指令ti,其指令頻率值為TFi,j,其TFi,j值定義如下:
其中,ni,j是該指令ti在樣本j中出現的次數,而分母則是在樣本j 中所有指令出現的次數之和;
逆向樣本頻率IDF是一個指令普遍重要性的度量,一個指令ti的 IDF值定義如下:
其中,|D|表示惡意程序樣本庫中的樣本總數,|{d:ti∈d}|表示包 含指令ti的惡意程序樣本個數;
對惡意程序樣本集中出現的指令進行加權,采用公式(1)指令頻 率TFi,j與公式(2)逆向樣本頻率IDFi的乘積來對樣本j中的第i個 指令ti進行加權得到TFIDFi,j,即:
TFIDFi,j=TFi,j*IDFi——公式(3)
其中,IDFi,代表第i個指令ti的逆向樣本頻率;
惡意程序特征庫,其用于存儲以指令頻度向量來表征的所有惡意程序 樣本;
樣本差異度度量模塊,其采用Cosine余弦度量方法,通過計算兩個 樣本指令頻度向量之間夾角來衡量樣本之間的差異度;其中,
兩個樣本xi和xj的Cosine距離Sij定義如下:
其中,分子表示兩個樣本特征向量的內積,分母表示兩個樣本特征向 量長度的乘積;
惡意程序樣本家族劃分模塊,其將惡意程序特征庫中所有N個惡意程 序樣本從分成N個家族開始,逐次分成N-1個家族、N-2個家族,依 次類推,直至最后將所有N個惡意程序樣本分成一個家族或者直到分 成預先設定好的家族數;具體做法如下:
設需要對第K-1層劃分家族,則以上一層產生的K個家族為基礎, 根據公式(4)的距離度量方法選擇最相似的兩個家族合并成一個新 家族,并重新計算合并后新家族的中心點,然后利用下述K-means的 全局優化迭代算法進行迭代,直至所有家族的中心點不再變化,最終 將所有惡意程序樣本劃分為合理的K-1個家族;K-means的全局優 化迭代算法如下:
I)按照該K-1層初始的K-1個中心點,將非中心點的樣本點根 據公式(4)的Cosine距離度量方法計算該樣本點與這K-1個中心點 的距離,將每個非中心點的樣本點重新歸類到與其最近的家族;
II)根據I)劃分的結果更新所有家族的中心:家族i的中心點 為ci,其中i=1…k-1,其中其中vt代表家族i的 第t個樣本,ni表示該家族i的樣本個數,表示樣本vt與同 家族所有樣本的距離和;
III)檢查即求的值,若值為0,則本次迭代與上一次 迭代所有家族的中心點未發生變化,迭代終止;否則,轉步驟I)~ 步驟II),其中ci,c′i分別為家族i更新前后的中心點; 聚類質量評估模塊,其對惡意程序樣本家族劃分模塊每層分家族的結 果采用FS指標值進行有效性度量,并選擇最小的FS指標值,將其對 應的劃分結果作為最終結果;其中,
其中,n表示惡意程序樣本庫的樣本個數,c表示分成的類數,vi表示第i家族的中心點,家族的中心點是指距離本家族中所有樣本的 距離之和最小的樣本點,是惡意程序樣本庫中全體樣本的中心點, 即距離全局所有樣本的距離之和最小的樣本點;||xk-vi||表示第i家 族中的樣本點xk與該家族中心點vi的距離,表示第i家族的中 心點到全局中心點的距離,是樣本隸屬度矩陣:若樣本xk屬于第 i家族,則矩陣中該xk值為1;否則,值為0。
2.一種使用權利要求1所述基于文件指令頻度的計算機惡意程序分 類系統進行分類的方法,其特征在于,包括如下過程
第一、指令頻度特征提取步驟,指令頻度特征提取模塊首先解析惡意 程序代碼的所有指令,并統計每個指令在惡意程序樣本中所出現的頻 度,采用指令在惡意程序樣本中出現的頻率TF與逆向樣本頻率IDF 對惡意程序樣本集中出現的指令進行加權,從而構造指令頻度向量來 表征惡意程序樣本;其中,
指令頻率TF是某一個給定的指令在該樣本中出現的頻率,對于 第j個樣本中的指令ti,其指令頻率值為TFi,j,其TFi,j值定義如下:
其中,ni,j是該指令ti在樣本j中出現的次數,而分母則是在樣本j 中所有指令出現的次數之和;
逆向樣本頻率IDF是一個指令普遍重要性的度量,一個指令ti的 IDF值定義如下:
其中,|D|表示惡意程序樣本庫中的樣本總數,|{d:ti∈d}|表示包 含指令ti的惡意程序樣本個數;
對惡意程序樣本集中出現的指令進行加權,采用公式(1)指令頻 率TFi,j與公式(2)逆向樣本頻率IDFi的乘積來對樣本j中的第i個 指令ti進行加權得到TFIDFi,j,即:
TFIDFi,j=TFi,j*IDFi——公式(3)
其中,IDFi,代表i第個指令ti的逆向樣本頻率;
第二,惡意程序特征庫生成步驟,將指令頻度特征提取步驟中得到以 指令頻度向量來表征的所有惡意程序樣本存儲于惡意程序特征庫中;
第三、樣本差異度度量步驟,
樣本差異度度量模塊采用Cosine余弦度量方法,通過計算兩個樣本 指令頻度向量之間夾角來衡量樣本之間的差異度;其中,
兩個樣本xi和xj的Cosine距離Sij定義如下:
其中,分子表示兩個樣本特征向量的內積,分母表示兩個樣本特征向 量長度的乘積;
第四、惡意程序樣本家族劃分步驟,惡意程序樣本家族劃分模塊將惡 意程序特征庫中所有N個惡意程序樣本從分成N個家族開始,逐次分 成N-1個家族、N-2個家族,依次類推,直至最后將所有N個惡意程 序樣本分成一個家族或者直到分成預先設定好的家族數;具體做法如 下:
設需要對第K-1層劃分家族,則以上一層產生的K個家族為基礎, 根據公式(4)的距離度量方法選擇最相似的兩個家族合并成一個新 家族,并重新計算合并后新家族的中心點,然后利用下述K-means的 全局優化迭代算法進行迭代,直至所有家族的中心點不再變化,最終 將所有惡意程序樣本劃分為合理的K-1個家族;K-means的全局優 化迭代算法如下:
I)按照該K-1層初始的K-1個中心點,將非中心點的樣本點根 據公式(4)的Cosine距離度量方法計算該樣本點與這K-1個中心點 的距離,將每個非中心點的樣本點重新歸類到與其最近的家族;
II)根據I)劃分的結果更新所有家族的中心:家族i的中心點 為ci,其中i=1…k-1,其中其中vt代表家族 i的第t個樣本,ni表示該家族i的樣本個數,表示樣本vt與 同家族所有樣本的距離和;
III)檢查即求的值,若值為0,則本次迭代與上一次 迭代所有家族的中心點未發生變化,迭代終止;否則,轉步驟I)~ 步驟II),其中ci,c′i分別為家族i更新前后的中心點;
第五,聚類質量評估步驟,聚類質量評估模塊對惡意程序樣本家族劃 分步驟每層分家族的結果采用FS指標值進行有效性度量;選擇所有 FS指標值中最小值,該最小FS指標值所對應的分家族結果即為最后 的分家族結果;其中,
其中,n表示惡意程序樣本庫的樣本個數,c表示分成的類數,vi表 示第i家族的中心點,家族的中心點是指距離本家族中所有樣本的距 離之和最小的樣本點,是惡意程序樣本庫中全體樣本的中心點,即 距離全局所有樣本的距離之和最小的樣本點;||xk-vi||表示第i家族 中的樣本點xk與該家族中心點vX的距離,表示第i家族的中心 點到全局中心點的距離,是樣本隸屬度矩陣:若樣本xk屬于第i 家族,則矩陣中該xk值為1;否則,值為0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海金山軟件股份有限公司,未經珠海金山軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910040996.8/1.html,轉載請聲明來源鉆瓜專利網。





