張 瑜,劉慶中,石元泉,曹均闊
(1. 海南師范大學(xué)信息科學(xué)技術(shù)學(xué)院 ???571158;2. 美國(guó)薩姆休斯頓州立大學(xué)計(jì)算機(jī)科學(xué)系 休斯頓 77340;3. 懷化學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院 湖南 懷化 418000)
網(wǎng)絡(luò)信息技術(shù)的普適性、軟硬件漏洞的客觀存在性、數(shù)字復(fù)制技術(shù)的便捷性以及網(wǎng)絡(luò)犯罪的高收益性,為計(jì)算機(jī)病毒進(jìn)化提供了堅(jiān)實(shí)的物質(zhì)基礎(chǔ)與內(nèi)驅(qū)動(dòng)力。當(dāng)前,計(jì)算機(jī)病毒仍是網(wǎng)絡(luò)空間所面臨的主要安全威脅之一。據(jù)最新研究報(bào)告[1]稱:2016年中國(guó)計(jì)算機(jī)病毒感染率為57.88%。其安全威脅[2-4]主要表現(xiàn)為:1) 竊取敏感數(shù)據(jù),威脅用戶數(shù)據(jù)隱私安全;2) 篡改系統(tǒng)配置、潛伏于目標(biāo)系統(tǒng)中,威脅工業(yè)基礎(chǔ)設(shè)施安全;3) 傳播網(wǎng)絡(luò)謠言、勒索用戶,威脅現(xiàn)實(shí)社會(huì)公共安全。
作為一種重要的網(wǎng)絡(luò)空間安全威脅,計(jì)算機(jī)病毒的生存、適應(yīng)、延續(xù)、發(fā)展等進(jìn)化理論研究意義重大,且可促進(jìn)如下技術(shù)發(fā)展:1) 網(wǎng)絡(luò)武器技術(shù)。作為一種高效的網(wǎng)絡(luò)戰(zhàn)武器,計(jì)算機(jī)病毒可為網(wǎng)絡(luò)武器開發(fā)與利用提供技術(shù)與策略支撐;2) 反病毒技術(shù)。從攻防博弈的角度,計(jì)算機(jī)病毒與反病毒技術(shù)之間的魔道之爭(zhēng),促使反病毒技術(shù)預(yù)測(cè)病毒未來(lái)進(jìn)化趨勢(shì)與發(fā)展方向,從而未雨綢繆、防患未然;3) 漏洞修復(fù)技術(shù)。作為最佳的漏洞利用范例,計(jì)算機(jī)病毒可促使軟件漏洞修復(fù)技術(shù)的應(yīng)用與發(fā)展;4) 軟件演化技術(shù)。計(jì)算機(jī)病毒是一種能自我復(fù)制的程序代碼,其進(jìn)化模型能為軟件代碼進(jìn)化提供理論與實(shí)踐支撐;5) 人工生命技術(shù)。作為一種絕佳的人工生命體,計(jì)算機(jī)病毒可為人工生命技術(shù)研究提供實(shí)驗(yàn)素材。
迄今,計(jì)算機(jī)病毒及其進(jìn)化發(fā)展一直為信息安全界所關(guān)注,研究者從不同視角研究了計(jì)算機(jī)病毒及其進(jìn)化規(guī)律[5],概括起來(lái)可分為4類:1) 病毒自我復(fù)制性,如文獻(xiàn)[6]從圖靈機(jī)的可自我復(fù)制性的角度討論了計(jì)算機(jī)病毒進(jìn)行自我復(fù)制、自我演化的特性;2) 人工生命體的自我復(fù)制性,如文獻(xiàn)[7-9]從人工生命體的角度討論了計(jì)算機(jī)病毒的演化特性;3) 遺傳算法,如文獻(xiàn)[10-13]從遺傳算法的角度研究了計(jì)算機(jī)病毒演化規(guī)律;4) 協(xié)同進(jìn)化論,如文獻(xiàn)[14-15]從協(xié)同進(jìn)化的角度研究了計(jì)算機(jī)病毒進(jìn)化特性。
然而,上述研究未能有效的從病毒基因視角探索計(jì)算機(jī)病毒進(jìn)化發(fā)展規(guī)律。本質(zhì)而言,計(jì)算機(jī)病毒具有雙重特性:1) 算法特性。作為一種能自我復(fù)制的計(jì)算機(jī)程序,計(jì)算機(jī)病毒具有普通程序所具備的算法特性:按照編程者意圖,通過(guò)所設(shè)計(jì)的算法邏輯完成相關(guān)操作;2) 生命特性。計(jì)算機(jī)病毒還是一種人工生命體,通過(guò)編程者的“上帝之手”,具備自我繁衍、傳播感染、適應(yīng)環(huán)境等生命特性。由此可見,在計(jì)算機(jī)病毒代碼世界,病毒基因蘊(yùn)含著獨(dú)特的進(jìn)化意義,有助于洞悉病毒進(jìn)化內(nèi)涵,并借此揭開計(jì)算機(jī)病毒進(jìn)化之謎:病毒基因的變化能使其更好地適應(yīng)不斷改變的外部環(huán)境,為病毒進(jìn)化提供了獨(dú)一無(wú)二的證據(jù),也為病毒檢測(cè)提供了明顯的特征碼支持。因此,如能從病毒基因視角,借助于病毒基因的獨(dú)特進(jìn)化內(nèi)涵,通過(guò)算法和生命的雙重特性去研究計(jì)算機(jī)病毒的進(jìn)化模型,將有助于全面有效地理解計(jì)算機(jī)病毒進(jìn)化邏輯。
鑒于此,本文提出一種基于基因理論的計(jì)算機(jī)病毒進(jìn)化模型。首先,從生命特性的角度,通過(guò)借鑒生物學(xué)病毒相關(guān)機(jī)理與概念定義了計(jì)算機(jī)病毒及其相關(guān)概念;其次,從算法特性的視角,設(shè)計(jì)了計(jì)算機(jī)病毒的相關(guān)進(jìn)化算子;最后,從病毒基因的角度,構(gòu)建了計(jì)算機(jī)病毒進(jìn)化模型。仿真實(shí)驗(yàn)表明,即使遭遇嚴(yán)酷的外部環(huán)境,具有算法和生命雙重特性的計(jì)算機(jī)病毒仍具極強(qiáng)的進(jìn)化能力。
基因理論[16]是研究生物體的遺傳和變異的科學(xué),是生物學(xué)的一個(gè)重要分支?;蚶碚撜J(rèn)為:1) 從載體的角度,基因是位于染色體的DNA上的遺傳物質(zhì);2) 從定義的角度,基因是指帶有遺傳信息的DNA片段;DNA是由4類不同的核苷酸組成的鏈狀分子,DNA上的核苷酸序列就是生物體的遺傳信息;染色體是細(xì)胞核內(nèi)由核蛋白組成、能用堿性染料染色、有結(jié)構(gòu)的線狀體,其本質(zhì)是脫氧核甘酸;3) 從功能的角度,基因通過(guò)指導(dǎo)蛋白質(zhì)的合成來(lái)表達(dá)自己所攜帶的遺傳信息,從而控制生物體的性狀表現(xiàn);DNA用于長(zhǎng)期性的遺傳信息儲(chǔ)存,以引導(dǎo)生物發(fā)育與生命機(jī)能運(yùn)作;染色體是細(xì)胞核中載有遺傳信息(基因)的物質(zhì),主要由DNA和蛋白質(zhì)組成,是遺傳物質(zhì)的載體。
可知,生物病毒體是由細(xì)胞組成,細(xì)胞包括細(xì)胞核,細(xì)胞核內(nèi)有染色體,染色體是DNA的載體,DNA包含多種基因。生物病毒的遺傳結(jié)構(gòu)可用集合代數(shù)描述為 :基因?DNA?染色體?細(xì)胞核?細(xì)胞?生物病毒,其包含關(guān)系如圖1所示。
圖1 生物病毒基因及其載體
與生物病毒體類似,計(jì)算機(jī)病毒是一種能自我復(fù)制的人工生命體(程序代碼)。從程序代碼的角度,計(jì)算機(jī)病毒是編制者借助于計(jì)算機(jī)語(yǔ)言編寫的能在計(jì)算機(jī)系統(tǒng)中運(yùn)行的計(jì)算機(jī)程序代碼,其最終表現(xiàn)為大量數(shù)字基因的有機(jī)組合。從程序結(jié)構(gòu)的角度,計(jì)算機(jī)病毒包含:進(jìn)程、過(guò)程(函數(shù))、模塊、指令等結(jié)構(gòu)。
從抽象邏輯的角度,生物基因理論與計(jì)算機(jī)程序理論的映射關(guān)系[11-12]如表1所示。兩者的對(duì)應(yīng)關(guān)系為:“基因”對(duì)應(yīng)“特殊指令序列”,“DNA”對(duì)應(yīng)“模塊”,“染色體”對(duì)應(yīng)“過(guò)程(函數(shù))”,“細(xì)胞核”對(duì)應(yīng)“內(nèi)核進(jìn)程”,“細(xì)胞”對(duì)應(yīng)“應(yīng)用進(jìn)程”,“生物體”對(duì)應(yīng)“程序”。
表1 生物基因理論與計(jì)算機(jī)程序理論的映射關(guān)系
計(jì)算機(jī)病毒是指一組能自我復(fù)制且具有表現(xiàn)(破壞)作用的計(jì)算機(jī)指令或程序代碼。為完成相關(guān)功能,計(jì)算機(jī)病毒需要相關(guān)程序結(jié)構(gòu)支撐,即計(jì)算機(jī)病毒功能決定其結(jié)構(gòu)。因此,計(jì)算機(jī)病毒結(jié)構(gòu)是其充分利用系統(tǒng)資源以完成相關(guān)功能的最佳體現(xiàn)。在功能結(jié)構(gòu)上,計(jì)算機(jī)病毒通常由5個(gè)部分組成:初始化模塊、感染標(biāo)記、觸發(fā)模塊、表現(xiàn)模塊和感染模塊,如圖2所示。
圖2 計(jì)算機(jī)病毒的邏輯結(jié)構(gòu)
由此,可得到計(jì)算機(jī)病毒的形式化定義如下。
定義 1 計(jì)算機(jī)病毒是由5個(gè)功能模塊組成的可自我復(fù)制的計(jì)算機(jī)指令或程序代碼集合,表示為:其中V1為感染標(biāo)記集,V2為初始化模塊集,V3為觸發(fā)模塊集,V4為感染模塊集,V5為表現(xiàn)模塊集。
借鑒生物學(xué)病毒基因理論,可將計(jì)算機(jī)病毒結(jié)構(gòu)表示為長(zhǎng)度為5的染色體模式,即由此可得計(jì)算機(jī)病毒在染色體、DNA、基因等3個(gè)層次上的形式化定義如下:
定義 2 計(jì)算機(jī)病毒染色體是指計(jì)算機(jī)病毒中具有某些復(fù)雜功能的程序模塊,表示為:
定義 3 計(jì)算機(jī)病毒DNA是指染色體中具有某一特定功能的程序小模塊,表示為:VDNA=
定義 4 計(jì)算機(jī)病毒基因是指病毒DNA中為實(shí)現(xiàn)某些微操作設(shè)計(jì)的計(jì)算機(jī)特殊指令序列,表示為:至此,計(jì)算機(jī)病毒可表示為n×5階矩陣,即:
依據(jù)基因理論,生物的不斷進(jìn)化得益于遺傳與變異。生物的遺傳與變異主要包括2類:1) 基因突變與重組;2) 染色體變異?;蛲蛔兪侵改硞€(gè)基因上的某些堿基對(duì)的增添、缺失或替換,從而導(dǎo)致基因結(jié)構(gòu)的改變,產(chǎn)生新的基因;基因重組是生物變異中最普遍的現(xiàn)象,是在有性生殖過(guò)程中才會(huì)發(fā)生的,主要是在減數(shù)分裂中染色體的重新組合,像積木推倒重建一樣,沒有產(chǎn)生新的基因,只是原有基因的重新組合;染色體變異是指因染色體片段的缺失,引起染色體上基因的數(shù)目或排列順序發(fā)生改變,從而導(dǎo)致性狀的改變。上述兩類遺傳變異,都會(huì)導(dǎo)致生物性狀與功能的改變,適者生存,不適者淘汰。
計(jì)算機(jī)病毒的算法特性與生命特性決定了病毒的進(jìn)化模式:即由低級(jí)到高級(jí)、從已知到未知、由簡(jiǎn)單到復(fù)雜的螺旋式上升。具體而言,計(jì)算機(jī)病毒編制者在編寫新病毒時(shí),通常采用如下步驟:首先,對(duì)已知病毒進(jìn)行編碼分析,并提取病毒各種模塊(基因);其次,應(yīng)用不同算法對(duì)已知病毒的模塊(基因)進(jìn)行修改利用或創(chuàng)新而得到新病毒;最后,新病毒將通過(guò)外部環(huán)境(運(yùn)行環(huán)境與反病毒軟件)考驗(yàn),適者生存,不適者淘汰。
借鑒基因理論并結(jié)合計(jì)算機(jī)病毒的算法與生命特性,構(gòu)建基于基因理論的計(jì)算機(jī)病毒進(jìn)化模型(如圖3所示)。初始病毒群體在病毒進(jìn)化算子的作用下,生成新生病毒群體。新生病毒群體在自然選擇(反病毒軟件)作用下,如成功存活則繼續(xù)進(jìn)化繁衍,否則淘汰。
圖3 基于基因理論的計(jì)算機(jī)病毒進(jìn)化模型
鑒于計(jì)算機(jī)病毒的代碼特殊性,本模型中的病毒進(jìn)化算子將分別作用于基因、DNA、染色體等3個(gè)層次。因此,病毒進(jìn)化算子可抽象為3類:1) 基因算子;2) DNA算子;3) 染色體算子。其中,基因算子用于計(jì)算機(jī)病毒基因?qū)用娴淖儺惒僮?,主要包括:基因置換算子和基因插入算子;DNA算子則較基因算子更抽象,作用于計(jì)算機(jī)病毒DNA的變異,主要包括:DNA剪切算子、DNA拼接算子、DNA交叉算子;染色體算子只包含染色體替換算子,用于在計(jì)算機(jī)病毒染色體層面進(jìn)行變異操作。
1.3.1 基因算子
計(jì)算機(jī)病毒是一種能自我復(fù)制的程序代碼,不論由何種計(jì)算機(jī)語(yǔ)言編寫,最終生成的能在計(jì)算機(jī)系統(tǒng)上運(yùn)行的只能是二進(jìn)制形式的機(jī)器碼。在二進(jìn)制中,只有兩個(gè)表示基元:0和1。由二進(jìn)制基元構(gòu)成的計(jì)算機(jī)病毒,將產(chǎn)生多種類型的病毒基因。因此,從數(shù)字基因的角度,計(jì)算機(jī)病毒是由諸多數(shù)字基因構(gòu)建的、有特殊功能的、能自我復(fù)制、自動(dòng)運(yùn)行的人工生命體。
基因算子[17]將在計(jì)算機(jī)病毒基因?qū)用孢M(jìn)行操作,通過(guò)改變病毒某些關(guān)鍵基因而發(fā)生基因突變,從而改變其某些性狀(特征碼),以逃避反病毒軟件查殺,更好適應(yīng)外部運(yùn)行環(huán)境、最大程度生存與繁衍自身。譬如,通過(guò)更換計(jì)算機(jī)病毒的部分寄存器(EAX、EBX、ECX、EDX等),或插入部分花指令,可導(dǎo)致其特征碼(基因)的改變?;蛩阕又饕▋深悾夯蛑脫Q算子和基因插入算子,其數(shù)學(xué)模型分別如下。
1) 基因置換算子:
式(1)刻畫了病毒群體通過(guò)基因置換算子的進(jìn)化過(guò)程,其中Vinitial為初始病毒集,Vdel為被查殺而刪除的病毒集,Vnew是病毒進(jìn)行基因置換操作后生成的新病毒集。fadaption為病毒適應(yīng)度,反映病毒的生存能力,如被查殺則其適應(yīng)度為0,否則為1。式(5)模擬了借助基因置換算子生成新病毒的過(guò)程,即通過(guò)在病毒基因庫(kù)里選擇相關(guān)的等位基因,置換病毒相應(yīng)基因座上的基因,從而模擬基因突變以產(chǎn)生新病毒。
2) 基因插入算子:
式(6)刻畫了病毒群體通過(guò)基因插入算子的進(jìn)化過(guò)程。式(9)模擬了借助基因插入算子生成新病毒的過(guò)程,即通過(guò)在病毒基因庫(kù)里選擇相關(guān)的等位基因,插入至病毒相應(yīng)基因座上,模擬基因突變以產(chǎn)生新病毒。
1.3.2 DNA算子
由基因理論可知,基因重組是一種廣泛存在的生物遺傳機(jī)制,高等生物體、細(xì)菌、病毒、原核生物都存在基因重組。基因重組是指一個(gè)基因的DNA序列是由兩個(gè)或兩個(gè)以上的親本DNA組合而成,是對(duì)基因的重新排列組合。從廣義上講,任何造成基因型變化的基因交流過(guò)程,都可視為基因重組。
借鑒生物基因理論,本文將在計(jì)算機(jī)病毒的DNA層面進(jìn)行基因進(jìn)化操作,以促進(jìn)病毒基因交流與重組,形成具有不同特征碼(基因)的計(jì)算機(jī)病毒,從而導(dǎo)致計(jì)算機(jī)病毒的多樣性。譬如,通過(guò)同類計(jì)算機(jī)病毒之間的模塊交換,或在模塊中插入部分花指令,可生成功能相似而特征碼(基因)不同的新型計(jì)算機(jī)病毒。DNA進(jìn)化算子主要包括:DNA剪切算子、DNA拼接算子、DNA交叉算子,其數(shù)學(xué)模型分別如下。
1) DNA剪切算子:
式(10)刻畫了病毒群體通過(guò)DNA剪切算子的進(jìn)化過(guò)程。式(13)模擬了借助DNA剪切算子生成新病毒的過(guò)程,即通過(guò)剪切掉病毒基因座上的部分等位基因,實(shí)現(xiàn)基因重組以產(chǎn)生新病毒。
2) DNA拼接算子:
式(14)刻畫了病毒群體通過(guò)DNA拼接算子的進(jìn)化過(guò)程。式(17)模擬了借助DNA拼接算子生成新病毒的過(guò)程,即通過(guò)隨機(jī)選擇病毒DNA庫(kù)中的DNA序列并將其拼接于病毒等位座上,實(shí)現(xiàn)基因重組以產(chǎn)生新病毒。
3) DNA交叉算子:
式(18)刻畫了病毒群體通過(guò)DNA交叉算子的進(jìn)化過(guò)程。式(21)模擬了借助DNA交叉算子生成新病毒的過(guò)程,即通過(guò)將一對(duì)病毒的等位DNA進(jìn)行交叉,實(shí)現(xiàn)基因重組以產(chǎn)生新病毒。
1.3.3 染色體算子
由基因理論可知,染色體變異是指因染色體片段的缺失、重復(fù)、倒位、易位,引起染色體上基因的數(shù)目或排列順序發(fā)生改變,遺傳信息隨之改變,從而導(dǎo)致生物體后代性狀的改變。其中,易位是指一條染色體的某一片段移接到另一條非同源染色體上,可改變基因連鎖群,造成染色體融合而改變?nèi)旧w數(shù)目,從而引起變異的現(xiàn)象。
借鑒染色體變異理論,利用計(jì)算機(jī)語(yǔ)言(如Java、C++等)的函數(shù)多態(tài)性,借助編譯時(shí)的重載機(jī)制或運(yùn)行時(shí)的虛函數(shù)機(jī)制,通過(guò)修改函數(shù)參數(shù)或函數(shù)內(nèi)部實(shí)現(xiàn)來(lái)達(dá)到更換函數(shù)功能與特征碼(基因)的目的。本文將在計(jì)算機(jī)病毒染色體層面進(jìn)行染色體易位操作,其數(shù)學(xué)模型如下:
式(22)刻畫了病毒群體通過(guò)染色體易位算子的進(jìn)化過(guò)程。式(25)模擬了借助染色體易位算子生成新病毒的過(guò)程,即通過(guò)從病毒染色體庫(kù)中隨機(jī)選取基因片段替換病毒的部分染色體,從而實(shí)現(xiàn)染色體變異以產(chǎn)生新病毒。
本文涉及到實(shí)驗(yàn)平臺(tái)、反病毒軟件、病毒樣本數(shù)、病毒基因庫(kù)、病毒生產(chǎn)機(jī)等實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)平臺(tái)模擬計(jì)算機(jī)病毒所處的外部運(yùn)行環(huán)境,選擇由VMWare Workstation V10作支撐平臺(tái),通過(guò)在其中安裝Windows 8操作系統(tǒng),以模擬真實(shí)主機(jī)環(huán)境。反病毒軟件模擬計(jì)算機(jī)病毒進(jìn)化過(guò)程中所遭遇的天敵,通過(guò)查殺(識(shí)別與殺滅)來(lái)模擬自然選擇機(jī)制,遵循“物競(jìng)天擇,適者生存”的進(jìn)化論邏輯,選擇為360殺毒V5.0。
病毒樣本采用Windows腳本病毒,樣本清單源于國(guó)際權(quán)威的WildList,并從國(guó)際著名的病毒樣本組織VXHeavens網(wǎng)站中下載病毒樣本,主要包括HappyTime、ILoveYou、Melissa、Redlof等1000個(gè)典型的腳本病毒樣本,基本涵蓋了當(dāng)前腳本病毒所使用的各類技術(shù)。
病毒基因庫(kù)的基因源于對(duì)1 000個(gè)腳本病毒的感染模塊或表現(xiàn)模塊的提取。
對(duì)比實(shí)驗(yàn)選擇3種典型的腳本病毒生產(chǎn)機(jī):1)VWG(VBS Worms Generator);2) DVVM(Dr. VBS Virus Maker);3) WSHWC(Windows Scripting Host Worm Constructor),以驗(yàn)證本模型的有效性。
為驗(yàn)證本模型的正確性與有效性,本文分別設(shè)計(jì)了3種實(shí)驗(yàn)予以論證與解釋,包括:1) 病毒進(jìn)化實(shí)驗(yàn);2) 模型對(duì)比實(shí)驗(yàn);3)病毒存活實(shí)驗(yàn)。
病毒進(jìn)化實(shí)驗(yàn)主要目的在于:分析已知病毒并提取其相關(guān)基因,構(gòu)建初始病毒基因庫(kù),并應(yīng)用本模型提出的病毒進(jìn)化算子生成新的病毒群體,為后續(xù)的病毒存活實(shí)驗(yàn)提供進(jìn)化病毒群體支持。該實(shí)驗(yàn)將測(cè)試兩個(gè)內(nèi)容:1) 病毒基因庫(kù)規(guī)模與病毒存活率的關(guān)系;2) 病毒進(jìn)化算子對(duì)病毒進(jìn)化的影響。
模型對(duì)比實(shí)驗(yàn)主要目的在于:通過(guò)本模型與3種典型病毒生產(chǎn)機(jī)的病毒群體存活率對(duì)比,評(píng)估本模型的有效性。
病毒存活實(shí)驗(yàn)主要目的在于:利用反病毒軟件,模擬自然選擇對(duì)本模型新生成的病毒群體進(jìn)行查殺,采用存活率來(lái)評(píng)估病毒進(jìn)化效率以驗(yàn)證模型的正確性。
實(shí)驗(yàn)具體步驟如下:
1) 病毒基因庫(kù)建立。在受控的虛擬環(huán)境中,對(duì)入選的病毒樣本進(jìn)行分析并分別提取病毒的感染模塊和表現(xiàn)模塊,經(jīng)冗余篩選處理后加入病毒基因庫(kù),為后續(xù)的病毒群體進(jìn)化生成提供基因支撐。
2) 生成病毒進(jìn)化群體。這里分為兩個(gè)并行階段來(lái)生成病毒群體:1) 對(duì)初始病毒群體應(yīng)用本模型提出的病毒進(jìn)化算子生成新的病毒群體;2) 使用典型的病毒生產(chǎn)機(jī)生成新的病毒群體,為后續(xù)的識(shí)別殺滅提供病毒群支持。
3) 病毒識(shí)別與殺滅。借助反病毒軟件,模擬自然選擇機(jī)制對(duì)新生成的兩類病毒群體進(jìn)行查殺,以最后的病毒存活率來(lái)評(píng)估本模型的有效性。
1) 病毒進(jìn)化算子實(shí)驗(yàn)
本實(shí)驗(yàn)利用病毒進(jìn)化算子生成新的病毒群體,通過(guò)反病毒軟件查殺而得到存活率,旨在檢驗(yàn)本模型病毒進(jìn)化算子的有效性。提取1 000個(gè)病毒基因,分別對(duì)本模型中的3類病毒進(jìn)化算子(基因算子、DNA算子、染色體算子)進(jìn)行了測(cè)試,結(jié)果如圖4所示。
圖4 病毒進(jìn)化算子實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明,3類病毒進(jìn)化算子對(duì)病毒進(jìn)化(存活率)都有直接影響,按影響大小順序排列依次為:基因算子影響最大、DNA算子影響次之、染色體算子影響最小。由模型理論可知,基因算子作用在病毒指令序列層面,而指令序列的改變將導(dǎo)致病毒特征碼的改變,從而使基于特征碼的反病毒軟件難以識(shí)別與查殺,使病毒成功存活;DNA算子作用于病毒模塊層面,模塊中包含很多類似的指令序列,模塊的改變可能改變了模塊的名稱、作用過(guò)程,其作用機(jī)理并未改變,因而使廣譜反病毒軟件容易識(shí)別而殺滅之;染色體算子作用于病毒過(guò)程(函數(shù))層面,改變的只是病毒程序中的過(guò)程(函數(shù))參數(shù)名稱,其內(nèi)部指令代碼未變或少許改變,因此更易被反病毒軟件查殺。
2) 病毒基因庫(kù)實(shí)驗(yàn)
通過(guò)提取已知病毒的基因(特征碼),并經(jīng)冗余處理后加入病毒基因庫(kù),為病毒進(jìn)化提供基因支持。本實(shí)驗(yàn)旨在檢驗(yàn)病毒基因庫(kù)規(guī)模與病毒進(jìn)化存活率的關(guān)系,結(jié)果如圖5所示。
圖5 病毒基因庫(kù)與病毒進(jìn)化存活率的關(guān)系
實(shí)驗(yàn)結(jié)果表明:1) 病毒進(jìn)化存活率與病毒基因庫(kù)規(guī)模成近似正比關(guān)系,即病毒基因庫(kù)越大,基于此基因庫(kù)的病毒進(jìn)化群體的存活率越高。由模型理論知,隨著病毒基因庫(kù)的擴(kuò)增,病毒進(jìn)化所能使用的基因素材將顯著增加,病毒特征碼空間將明顯擴(kuò)大,導(dǎo)致反病毒軟件更加難以識(shí)別,從而提高了病毒存活率;2) 在病毒基因庫(kù)規(guī)模達(dá)到設(shè)定規(guī)模的半數(shù)后,病毒存活率變化不大。由模型理論及實(shí)驗(yàn)設(shè)置可知,由于病毒基因來(lái)自于同類病毒樣本,當(dāng)提取的病毒基因達(dá)到一定數(shù)量時(shí)將不可避免有近似基因存在,而擁有近似基因的病毒將為反病毒軟件的廣譜啟發(fā)式所識(shí)別與殺滅。
3) 對(duì)比實(shí)驗(yàn)
為檢驗(yàn)本模型的有效性,選擇3種與本模型相似的典型腳本病毒生產(chǎn)機(jī)VWG、DVVM、WSHWC進(jìn)行了對(duì)比實(shí)驗(yàn),均分別產(chǎn)生病毒數(shù)為20個(gè)、40個(gè)、60個(gè)、80個(gè)、100個(gè),通過(guò)反病毒軟件進(jìn)行查殺來(lái)驗(yàn)證其存活率。實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 本模型與其他病毒生產(chǎn)機(jī)的對(duì)比實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明,在病毒存活率方面,本模型優(yōu)于其他3種病毒生成機(jī)。由模型理論知,由于常見的病毒生成機(jī)算法僅對(duì)有限的病毒模塊進(jìn)行變量替換或修改,而本模型在病毒基因、DNA和染色體3個(gè)層次對(duì)病毒進(jìn)行了進(jìn)化操作,既擴(kuò)增了病毒特征碼空間,又使病毒在該空間中隨機(jī)組合,從而提高了其存活率。
作為一種重要的網(wǎng)絡(luò)空間安全威脅,計(jì)算機(jī)病毒的生存、適應(yīng)、延續(xù)、發(fā)展等進(jìn)化理論研究可促進(jìn)網(wǎng)絡(luò)武器技術(shù)、反病毒技術(shù)、漏洞修復(fù)技術(shù)、軟件演化技術(shù)以及人工生命技術(shù)的發(fā)展。本文提出了一種基于基因理論的計(jì)算機(jī)病毒進(jìn)化模型:從生命特性的角度,通過(guò)借鑒生物學(xué)病毒相關(guān)機(jī)理與概念定義了計(jì)算機(jī)病毒及其相關(guān)概念;從算法特性的視角,設(shè)計(jì)了計(jì)算機(jī)病毒的相關(guān)進(jìn)化算子;從病毒基因的角度,模擬了計(jì)算機(jī)病毒的生存、繁衍、適應(yīng)等進(jìn)化過(guò)程。仿真實(shí)驗(yàn)表明,即使遭遇嚴(yán)酷的外部環(huán)境,具有算法和生命雙重特性的計(jì)算機(jī)病毒仍具極強(qiáng)的進(jìn)化能力。
電子科技大學(xué)學(xué)報(bào)2018年6期