孟慶春


摘要:由于傳統的網絡惡意代碼分析方法,在進行網絡惡意代碼分析時無法對網絡惡意代碼字節特征進行歸一化處理,因此網絡惡意代碼誤報率高,無法實現對網絡惡意代碼的精準分析。針對這一問題,提出基于N-gram特征的網絡惡意代碼分析方法。建立網絡惡意代碼N-gram特征列表,通過網絡惡意代碼空間特征填充曲線映射,分析網絡惡意代碼。對比實驗結果表明,設計的分析方法網絡惡意代碼誤報率遠低于傳統方法,證明設計的分析方法分析能力更強,可以實現對網絡惡意代碼的精準分析。
關鍵詞:N-gram特征;網絡惡意代碼;曲線映射
中圖分類號:TP309.5 文獻標識碼:A 文章編號:1007-9416(2020)03-0049-02
0 引言
在網絡大數據的時代背景下,網絡攻擊方式層出不窮,網絡惡意代碼作為最常見的網絡攻擊方式,已經通過變形的手段進化為更加難以防御的網絡攻擊內容[1]。網絡惡意代碼分析方法最主要的作用就是防止網絡惡意代碼利用計算機的安全漏洞,對計算機系統中的數據進行惡意篡改甚至破壞。網絡惡意代碼分析是網絡惡意代碼防御中最為關鍵的方法,對網絡惡意代碼分析方法進行深入研究無論是對國家還是個人都是十分重要的[2]。因此,本文基于N-gram特征設計一種新型網絡惡意代碼分析方法。N-Gram特征核心思想是將網絡代碼里面的內容按照字節特征進行大小進行相對應的滑動窗口操作,可以將滑動窗口的長度看作字節片段序列N,將在N中的每一個字節片段稱為gram[3]。通過對所有gram在N中出現的頻度進行統計,按照給定的閾值進行字節特征歸一化處理,形成關鍵的gram特征列表,也就是這個網絡代碼的向量特征空間。為了最大程度上防止網絡惡意代碼的有效入侵、確保網絡數據安全,本文通過網絡惡意代碼的N-gram特征向量空間,對網絡惡意代碼進行深入分析[4]。
1 基于N-gram特征的網絡惡意代碼分析方法
1.1 建立網絡惡意代碼N-gram特征列表
假定網絡惡意代碼的指令集為Queauber,利用基于N-gram特征算法計算網絡惡意代碼的指令集Queauber的字節特征。設網絡惡意代碼的指令集Queauber的字節特征為,則的計算公式,如公式(1)所示。
(1)
在公式(1)中,指的是網絡惡意代碼字節特征歸一化賦值;指的是網絡惡意代碼字節指令集合;指的是網絡惡意代碼字節判斷指令;指的是網絡惡意代碼字節移動位置;指的是網絡惡意代碼字節返回指令;指的是網絡惡意代碼字節賦值指令;指的是網絡惡意代碼字節跳轉指令[5]。
在得出網絡惡意代碼的指令集Queauber的字節特征基礎上,利用N-gram特征對所有gram在N中出現的頻度進行統計,按照給定的閾值對字節特征進行歸一化處理。網絡惡意代碼字節特征歸一化處理的具體結果,如圖1所示。
通過圖1可知,網絡惡意代碼字節特征歸一化處理的結果,就是Queauber網絡惡意代碼指令集中最關鍵的gram特征列表[6]。
1.2 網絡惡意代碼空間特征填充曲線映射
觀察Queauber網絡惡意代碼指令集中gram特征列表間的相似度,利用N-gram特征算法將網絡惡意代碼之間根據N-gram特征的相似性理論進行曲線映射,客觀的描述出網絡惡意代碼空間特征。假定N-gram特征算法中給定的閾值為0.85,根據網絡惡意代碼N-gram特征層次的邏輯性,以一種填充曲線將離散的多維網絡惡意代碼空間映射到一維網絡惡意代碼空間,并保持多維網絡惡意代碼空間中的基本特征不變[7]。網絡惡意代碼空間特征填充曲線映射結果,如圖2所示。
通過圖2可知,在網絡惡意代碼空間特征填充過程中,未被曲線連接的部分可以忽略不計,不影響網絡惡意代碼空間中的基本特征。需要注意的是,在N-gram特征向量空間中必須保證曲線映射的連貫性,如發生斷層,則該網絡惡意代碼特征將直接被剔除。在得出的網絡惡意代碼空間特征填充曲線映射軌跡的基礎上,通過N-gram特征算法確定gram特征列表的有效性以及試用范圍。通過分析網絡惡意代碼,可以建立一個網絡惡意代碼特征庫。將網絡惡意代碼字節特征與特征庫進行匹配。從這些特征中提取出有效的惡意代碼特征,完成基于N-gram特征的網絡惡意代碼分析。
2 對比實驗
2.1 實驗準備
為構建對比實驗,本文在Windows計算機系統上采集了6500個網絡代碼樣本作為實驗對象,其中網絡正常代碼為3000個;網絡惡意代碼為3500個。根據網絡惡意代碼樣本的特征作為識別依據,進行近鄰分類。本次對比實驗選取的網絡代碼樣本具體參數,如表1所示。
結合表1信息,分別使用傳統分析方法以及本文設計分析方法進行對比實驗,設置傳統的分析方法為實驗對照組。對比驗證硬環境包括:處理器Inter(R)Core(TM)Duo CPU;支持8線雙絞線同軸電纜光纖專網、CPRS/DCMA無線公網、無線專網。對比實驗軟件為Peapctly對比實驗軟件,使用Logo語言,主要用于對網絡惡意代碼分析的對比模擬。對比實驗主要內容為測試兩種分析方法的網絡惡意代碼誤報率,從而評定分析精準度更高的分析方法。在此次的對比實驗中,共進行5次實驗。針對Peapctly對比實驗軟件測得的網絡惡意代碼誤報率,記錄實驗結果,進而判斷兩種分析方法對于網絡惡意代碼的分析能力。
2.2 實驗結果分析與結論
根據上述設計的對比實驗步驟,采集5組實驗數據,將兩種分析方法下的網絡惡意代碼誤報個數進行對比,網絡惡意代碼誤報個數對比結果,如表2所示。
結合表2信息,計算網絡惡意代碼誤報率。設網絡惡意代碼誤報率為,則的計算公式,如公式(2)所示。
(2)
在公式(2)中,指的是網絡惡意代碼誤報個數;指的是網絡惡意代碼實際個數。
為更加直觀地表現出兩種分析方法在網絡惡意代碼誤報率方面的差異,將兩種分析方法下得出的網絡惡意代碼誤報率繪制為曲線圖,如圖3所示。
通過圖3可得出的結論:本文設計的分析方法網絡惡意代碼誤報率最高僅為0.25%,實驗對照組最低為0.48%,設計的分析方法分析能力更強,可以實現對網絡惡意代碼的精準分析。通過對比驗證結果,證明所設計的分析方法其各項功能均可以滿足設計總體要求,可以廣泛應用于網絡惡意代碼分析方面。
3 結語
通對比實驗證明,基于N-gram特征的網絡惡意代碼分析方法在網絡惡意代碼分析中的具體優勢已經顯現出來。網絡惡意代碼誤報率的高低是保證網絡惡意代碼分析精度的主要衡量標準,而針對網絡惡意代碼分析方法進行基于N-gram特征的設計可以大幅度提高網絡惡意代碼分析精度?;贜-gram特征的網絡惡意代碼分析方法不但能夠完成傳統的分析方法所不能完成的任務,還能以N-gram特征為核心算法,為網絡惡意代碼分析領域的研究提供學術意義。本文不足之處在于沒有對N-gram特征的網絡惡意代碼可視化方法進行深入分析,在未來將會在此方面進行研究。
參考文獻
[1] 何金棟,王宇,趙志超,等.智能變電站嵌入式終端的網絡攻擊類型研究及驗證[J].中國電力,2020(01):81-91.
[2] 詹靜,范雪,劉一帆,等.SEMBeF:一種基于分片循環神經網絡的敏感高效的惡意代碼行為檢測框架[J].信息安全學報,2019(06):67-79.
[3] 黃艷群,王妮,劉紅蕾,等.基于Skip-gram詞嵌入算法的結構化患者特征表示方法研究[J].北京生物醫學工程,2019(06):568-574+604.
[4] 毛麗旦·尼加提,古麗尼尕爾·買合木提,艾斯卡爾·艾木都拉.不同維度下維吾爾語N-gram語言模型性能分析[J].現代電子技術,2019(10):27-30.
[5] 張洪,鐘凱迪,柴源,等.基于N-Gram和動態滑動窗口的改進余弦相似度算法研究[J].成都大學學報(自然科學版),2019(02):163-166.
[6] 如先姑力·阿布都熱西提,亞森·艾則孜,郭文強.維語網頁中n-gram模型結合類不平衡SVM的不良文本過濾方法[J].計算機應用研究,2019(11):3410-3414.
[7] 王旭東,段敬,溫志堅,等.基于相似重復記錄的N-Gram算法的改進與應用[J].現代計算機(專業版),2018(25):78-82+97.