999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于免疫原理的計算機病毒檢測研究應(yīng)用

2008-12-31 00:00:00黨齊民宋麗麗
電腦知識與技術(shù) 2008年28期

摘要:針對計算機病毒新品種及已知病毒新變種的難以檢測問題,該文提出了根據(jù)生物免疫原理檢測未知病毒的構(gòu)想,并建立了計算機病毒檢測模型,重點討論了部分算法及技術(shù),最后分析其有效性。

關(guān)鍵詞:免疫學(xué)習(xí);自體耐受;檢測器;基因

中圖分類號:TP393文獻標(biāo)識碼:A文章編號:1009-3044(2008)28-0046-04

Research of Computer Virus Detection Based on Immune

DANG Qi-min,SONG Li-li

(East China University of Science and Technology,Shanghai 200237,China)

Abstract: Face to the difference of detecting new computer virus and new mutations of old ones, this paper conceives a model to detect computer virus based on immune, and discusses parts of arithmetic and technology. Finally, we illustrate the validity of the model.

Key words: immunization study; self-tolerance; detection; gene

1 引言

隨著計算機的日益普及和網(wǎng)絡(luò)覆蓋率的擴大,計算機病毒的種類及同一病毒的變種越來越多,造成的危害也越來越大。傳統(tǒng)的計算機病毒檢測方法主要有基于特征碼的病毒靜態(tài)檢測法、文件完整性檢測法。前者主要利用已知的特征碼來查殺病毒,隨著病毒變異的出現(xiàn),原來的檢測和清除工具效率大幅降低。后者也稱校驗和法,這種方案要計算出正常文件內(nèi)容的校驗和并保存。通過檢查文件當(dāng)前內(nèi)容的校驗和與原來的校驗和是否一致,可以發(fā)現(xiàn)文件是否感染。由于病毒感染并非改變文件的唯一原因,常常誤報錯誤。針對現(xiàn)今病毒的發(fā)展,研究一種既可以在第一時間發(fā)現(xiàn)新病毒又不會誤把正常文件報成病毒的檢測方法迫在眉睫。

計算機病毒雖然種類繁多,但他們存有共性。這些共性跟生物界的病毒有相似之處,生物體準(zhǔn)確識別并對抗外來病毒的能力引起了計算機病毒檢測界的注意。對于已經(jīng)遇到過的病毒,生物體能在第一時間快速做出應(yīng)答;對于沒有遇到過的病毒,生物體會經(jīng)過一段比較長的學(xué)習(xí)階段,產(chǎn)生可以識別該病毒的細胞,再次遇到該病毒時就能在第一時間識別它。如果生物免疫原理能用到計算機病毒的檢測上,這將能解決新病毒或者病毒新變種不能被識別的問題,成為計算機病毒檢測技術(shù)發(fā)展史上的一個新的里程碑。

該文首先分析了計算機病毒的特征及其與生物病毒的相似處,然后結(jié)合生物免疫原理構(gòu)建了基于免疫技術(shù)的計算機病毒檢測模型,并重點討論了病毒檢測體系的部分模塊的算法及技術(shù)實現(xiàn)。

2 基于免疫技術(shù)的病毒檢測模型研究

2.1 計算機病毒分析

計算機病毒很難有一個確定的明確的定義,狹義的計算機病毒指一些能夠精確地復(fù)制自身,或者發(fā)生變異后產(chǎn)生下一代的一些程序片段;而廣義的計算機病毒指一切具有破壞計算機系統(tǒng)、資源和干擾計算機正常運行的程序代碼,包括蠕蟲。同樣,生物病毒也沒有一個明確的概念,狹義的生物病毒是一種獨特的傳染因子,是能夠利用宿主細胞的營養(yǎng)物質(zhì)來自主地復(fù)制自身的DNA或RNA、蛋白質(zhì)等生命組成物質(zhì)的微小生命體;而廣義的病毒復(fù)雜得多,包括擬病毒、類病毒和病毒粒子。

跟生物病毒類似,計算機病毒的特征表現(xiàn)在如下幾個方面:

1) 宿主。計算機病毒的行為類似于溫和型噬菌體,它們都將自身的代碼插入一段異已的程序代碼中去,利用宿主的程序代碼被執(zhí)行或復(fù)制的時候,復(fù)制自己或產(chǎn)生效應(yīng),令系統(tǒng)癱瘓或吞噬計算機資源。生物病毒不管是烈性噬菌體還是溫和型噬菌體,都必需在活的宿主細胞中才能得以復(fù)制繁殖,利用宿主細胞的核苷酸和氨基酸來自主地合成自身的一些組件,裝配下一代個體。

2) 感染性。被復(fù)制的病毒代碼總要搜尋特定的宿主程序代碼并進行感染。復(fù)制后的生物病毒裂解宿主細胞而被釋放出去,感染新的宿主細胞。

3) 微小性。計算機病毒相當(dāng)短小精悍,其代碼一般都較短。一般的生物病毒的個體必須在電鏡下才能見到其真面目。

4) 簡單性。計算機病毒程序代碼一般都具備可執(zhí)行文件的完整結(jié)構(gòu),因此不可以單獨地被激活、執(zhí)行和復(fù)制,必須將其代碼的不同部分鑲?cè)氲剿拗鞒绦虻母鱾€代碼段中去,才能具有傳染和破壞性。同樣生物病毒顆粒因為過于微小,無法攜帶病毒復(fù)制所需全部信息,因此必須利用宿主來合成自身所需物質(zhì)。

5) 變異性。不管生物病毒還是計算機病毒都具有變異性。某些種類的計算機病毒的變異力相當(dāng)大,它們通過自身程序來完成變異的功能,稱為多態(tài)性病毒。

6) 多樣性。從1987年首例計算機病毒Brain被發(fā)現(xiàn)到現(xiàn)在,計算機病毒的數(shù)量已經(jīng)超過了5000種。同樣,自1892年俄國植物學(xué)家D.I-vanoskey發(fā)現(xiàn)了煙草花葉病毒(TMV)到現(xiàn)在,生物病毒的數(shù)量也以驚人的速度增長。

2.2 基于免疫技術(shù)的計算機病毒模型

生物免疫系統(tǒng)的基本功能是識別自我和非我,免疫系統(tǒng)不僅能夠識別已知抗原,同時還能夠識別未知抗原,并且對再次入侵的抗原能發(fā)生快速反應(yīng)(即二次應(yīng)答)。從信息處理的角度來看,免疫系統(tǒng)是一個自適應(yīng)、自學(xué)習(xí)、自組織、并行處理和分布協(xié)調(diào)的復(fù)雜系統(tǒng)。

同理,免疫計算的核心問題是如何定義自體和非自體。自體必須完整反映出受保護系統(tǒng)的特征,必須找出系統(tǒng)中相對穩(wěn)定的特征。正常程序跟病毒程序的區(qū)分可以根據(jù)程序多個方面的特點來實現(xiàn)。從程序的指令特征來看,病毒程序的頭部往往有一些病毒的跳轉(zhuǎn)語句和病毒大小的標(biāo)識;正常程序的數(shù)據(jù)段往往含有一些注釋和說明性的文字,比如程序名稱、作者、版本號等等,病毒程序一般沒有這類說明性文字,這也可以作為病毒代碼的一部分特征。從病毒的功能特征來看,病毒的駐留、權(quán)限、觸發(fā)機制、破壞機制和傳播特征等也能用于跟正常程序區(qū)分。

根據(jù)生物免疫原理,該文建立了生物免疫系統(tǒng)與病毒檢測免疫系統(tǒng)的概念對應(yīng)關(guān)系。如表1所示為生物免疫系統(tǒng)與病毒檢測免疫系統(tǒng)的映射關(guān)系。

下面根據(jù)上述生物免疫思想給出檢測器等的形式化定義,以及閾值判斷等公式。自體/非自體在不同的領(lǐng)域內(nèi)有著不同的定義:計算機程序域D{0,1}k 。經(jīng)過抗原提取過程,U被劃分為兩個子集S和T,自體集S∈U,非自體集T∈U,滿足U=S∪T和S∩T=Ф。

系統(tǒng)使用檢測器模擬免疫細胞和抗體的功能,定義檢測器及檢測器集合如下:

D={d | d =,s∈U, r, l, c∈N};

每個檢測器d是一個四元組,其中s是抗體,也是k長的01串,r是檢測器年齡,l是檢測器的壽命,c是檢測器與抗原匹配的次數(shù)即累計親和力。

檢測器通過抗體與抗原的親和力匹配來檢測外來抗原,利用Hamming距離表達親和力。匹配函數(shù)M判斷兩個L長的0l串是否匹配,參數(shù)σ是匹配的門限值(0<σ<1),如果H(α,β) ≥L×σ則M(α,β)=1,否則M(α,β)=0。H(α,β)= ■αiβi,如 則αiβi=1否則αiβi=0。

3 基于免疫技術(shù)的病毒檢測體系結(jié)構(gòu)設(shè)計

本體系結(jié)構(gòu)的總體設(shè)計思想是將正常的程序代碼集合定義為自體集,用隨機生成的初始檢測元和自體集中的代碼匹配,利用負選擇算法將初始檢測元中與自體集匹配的檢測元刪除,剩下的為成熟檢測元(即抗體)。任意一個入侵抗原,將和自體匹配,匹配成功則放過,然后與所有成熟檢測元進行匹配,如果匹配成功,則將抗原刪除;對于與抗原有較高親和力的抗體可進行遺傳變異,以提高它的親和力。

系統(tǒng)模擬的自體、記憶檢測器庫、待測數(shù)據(jù)分別來自于正常程序、感染病毒的程序和待測程序,其中自身用于模擬生物系統(tǒng)的自身細胞,記憶檢測器記錄病毒的特征碼字符串,用于病毒檢測。常用檢測器是由隨機生成的檢測器字符串經(jīng)過自體耐受之后生成的,它同時會收錄病毒檢測模塊經(jīng)過檢測器變異得到的新檢測器,豐富的常用檢測器庫可以識別各未知病毒,特別是經(jīng)過檢測器變異得到的新檢測器識別檢測病毒新變種很有效。

如圖1所示,免疫學(xué)習(xí)模塊包括自體耐受跟檢測器進化兩部分,用于實時更新記憶檢測器庫。首先系統(tǒng)把經(jīng)過自體耐受的初始檢測器錄入到常用檢測器,在生命周期內(nèi)跟病毒匹配次數(shù)超過一定閾值的常用檢測器進化到記憶檢測器,否則該常用檢測器被刪除。病毒檢測模塊分兩個小模塊,一個是病毒檢測,一個是檢測器的遺傳變異。前者通過字符串與自體的匹配來識別待測程序是否是自身程序,與自體不匹配的將與記憶檢測器庫匹配來識別是否是病毒,識別出病毒的記憶檢測器經(jīng)過變異后錄入到常用檢測器,跟自體、記憶檢測器庫都不匹配將與常用檢測器庫比對,如果匹配成功則認為是病毒,否則上報給用戶,被用戶認為是危險程序的錄入到常用檢測器庫(模擬生物體的初次應(yīng)答),否則錄入到自體。后者提供經(jīng)過遺傳變異的檢測器給免疫學(xué)習(xí)模塊。數(shù)據(jù)預(yù)處理主要把提取到的程序處理成系統(tǒng)可以使用的字符串。

4 算法及技術(shù)實現(xiàn)

4.1 數(shù)據(jù)預(yù)處理模塊

數(shù)據(jù)預(yù)處理模塊用于把計算機程序數(shù)據(jù)處理成系統(tǒng)可以用的字符串?dāng)?shù)據(jù)。

此模塊分網(wǎng)絡(luò)抓包、基因提取兩個步驟。網(wǎng)絡(luò)抓包通過eEye公司的工具軟件iris實現(xiàn)。該軟件通過層層解碼,能得到該數(shù)據(jù)包的字符串?;蛱崛」ぷ鲃t通過如下算法實現(xiàn),得到24位16進制字符的字符串,作為程序分析的自我和抗原以及檢測器的通用形式。程序特征碼字符串以下全部稱為檢測器。檢測器主要從計算機程序的指令特征中提取,包括MAC頭文件、IPv4頭文件、UDP頭文件等等,提取的信息包括程序文件大小,程序駐留位置等等。如2.2節(jié)所示,使用軟件iris實現(xiàn)。

void jiyin_set::extractor(list *genlist){

list listStr;

list::iteraor pl;

int listStr_num=0;//記錄listStr中的特征碼個數(shù)

for(pl=genlist->begin();pl!=genlist->end();pl++){

string temp=(*pl).str_viris_Sig;

listStr.push_back(temp);

listStr_num++;}

list::iterator iter1,iter2;

iter1=listStr.begin();

int search_num=listStr_num *(1-ISGENE_OERCENT)+1;

int i=1;

while(i<=search_num){

string str=(*iter1);

iter1++;

for(ing j=0;j

{string temp=str.substr(j,GENE_NUM);

iter2=iter1;

int inNum=1;

for(;iter2!=listStr.end();iter2++){

int index=string::npos;

int value(*iter2).find(temp);

if(index!=value) inNum++;

}double inPercent=(double)inNum/(double)listStr_num;

if((inPercent>ISGENE_PERCENT)!jiyinset(temp)){

pc_jiyinset->push_back(temp);

jiyin_num++;}}

i++;}}

4.1 免疫學(xué)習(xí)模塊

免疫學(xué)習(xí)模塊主要模擬生物免疫系統(tǒng)免疫細胞的生成及進化過程。此模塊對隨機生成的初始檢測器進行自體耐受,生成常用檢測器,并對常用檢測器進行進化,最終生成記憶檢測器,用于病毒檢測。為了保證記憶檢測器的實時更新,免疫學(xué)習(xí)模塊隨著病毒檢測的運行也一直在運行,新變異的檢測器被錄入到常用檢測器集用于學(xué)習(xí)。

下面給出檢測器的數(shù)據(jù)結(jié)構(gòu):

Struct detect {

Char gene[24];//檢測器的24位基因字符串

Int age;//檢測器年齡

Int life;//檢測器壽命

Int app;//檢測器與抗原匹配次數(shù)}

免疫學(xué)習(xí)模塊首先要解決的事情就是如何區(qū)分自我與非我。在眾多的被免疫系統(tǒng)用來完成這樣的區(qū)分工作的處理過程中,否定選擇算法是其中最重要的角色之一。本系統(tǒng)運用否定選擇算法來執(zhí)行免疫學(xué)習(xí)模塊的自體耐受過程。

否定選擇算法是對T細胞在胸腺中的成熟過程的模仿。算法主要包括了兩個階段:審查和監(jiān)測。審查階段主要負責(zé)檢測器的產(chǎn)生。在監(jiān)測階段,檢測器監(jiān)測受保護的系統(tǒng)以發(fā)現(xiàn)變化。但是這個算法在試驗中被證明是一個很耗時的算法。用于生成檢測器的時間主要可以用在產(chǎn)生足夠數(shù)量的合格的檢測器前必須被審查的檢測器數(shù)量來衡量。觀察得出,候選檢測器的數(shù)量是隨自體集的大小成指數(shù)增長。這就意味著完成這個過程的時間隨自體集的增大而增大,而且這個過程并不檢查冗余的檢測器。為了最小化這些限制,就產(chǎn)生了一些檢測器生成算法的變體:線性,貪心和二進制模板。線性(linear)和貪心(greedy)算法的運行時間分別與自體集和檢測器集的大小成線性關(guān)系。而二進制模板算法能夠生成高效沒有冗余的檢測器,但不能最小化生成它們所要花的時間。

長度為L的檢測器字符串α,β的親和力M(α,β)根據(jù)Hamming距離來判定。如Hamming距離M(α,β) ≥L×σ,則表示親和力高,記作M(α,β) =1,其中σ為兩個字符串匹配的門限值,其大小在0到1之間。在匹配規(guī)則中,設(shè)定σ是核心,以免發(fā)生把非我識別成自我的肯定錯誤以及把自我識別成非我的否定錯誤。根據(jù)本文的數(shù)據(jù)結(jié)構(gòu),L=24,暫且設(shè)定σ=0.75,當(dāng)檢測器α,β的基因串(gene[24])相同位置的字符相同且個數(shù)大于18時,即H(α,β)≥18時,表示檢測器α,β匹配。

生成常用檢測器集Dc的算法如下:

While size(Dc)

d={ random(24), 0, 20, 0}//初始化檢測器

If M(d.gene, si )=1 break// si取自體集S中的所有檢測器,分別跟d計算親和力,親和力高的檢測器被刪除

Else if M(d, si)=0 d->Dc //與自體親和力低的檢測器錄入Dc

常用檢測器的學(xué)習(xí)進化算法如下:

for(int i=0;i

if(Dc[i].age

for(int j=0;j

if(Dc[i].gene==V[j].gene){

if(Dc[i].app

else{Dc[i]->RDc;}//跟抗原匹配次數(shù)達到閾值T的檢測器進化為記憶檢測器}}}

Dc[i].age++;}

4.2 病毒檢測模塊

病毒檢測模塊除了實現(xiàn)病毒檢測功能外,還要進行檢測器的變異,新檢測器將進入免疫學(xué)習(xí)模塊,以實現(xiàn)檢測器的實時更新。下面給出計算機病毒的數(shù)據(jù)結(jié)構(gòu):

Struct virus {

Char name[30];//病毒名稱

Char gene[24];//病毒的基因字符串}

病毒檢測模塊不僅要實現(xiàn)病毒的識別,還要實現(xiàn)檢測器的進化,所以涉及的算法比較多。本文列出了檢測器進化中,需要用到的克隆選擇算法及檢測器變異算法。

克隆選擇原理被用來解釋抗體是如何識別抗原的。當(dāng)一種細菌侵入我們的肌體后,便開始大量的復(fù)制自己,同時破壞我們的細胞。免疫系統(tǒng)用來對付這種抗原的方法之一就是大量的復(fù)制免疫細胞來識別和消滅這些致病的抗原體。那些能夠識別抗原的細胞根據(jù)識別的程度通過無性繁殖達到增生的目的:與抗原具有越高的識別率,該細胞就能產(chǎn)生更多的后代。在細胞分裂的過程中,細胞還經(jīng)歷了一個變異的過程,其結(jié)果使它們與抗原具有更高的識別率:父代細胞與抗原具有越高的識別率,則它們就經(jīng)歷越小的變異。一個通用的克隆選擇算法的過程如下所示,這個算法能夠完成機器學(xué)習(xí)和模式識別的任務(wù),因此它可以被用來解決優(yōu)化問題,著重于多模式和組合優(yōu)化。

克隆選擇算法如下

d={ random(24), 0, 20, 0}//初始化檢測器

while(d.age

d.age++//檢測器年齡+1

if M(d, vi)=1//計算檢測器與病毒的親和力,親和力高則進入循環(huán)

d.app++//與病毒親和力高的檢測器的累計匹配次數(shù)+1

d.gene=vary(d.gene, vi)//檢測器變異,與病毒的親和力作為參數(shù),即與病毒親和力越高的檢測器變異越大,否則越小

d->Dc

檢測器變異是系統(tǒng)動態(tài)性、多樣性、自適應(yīng)性的技術(shù)保證,是免疫系統(tǒng)的重要特性。檢測器變異有兩種類型,一種是可控變異,確保子代檢測器具有父代檢測器的特征,一種是隨機變異,確保產(chǎn)生一些與父代具有較大差異的子代檢測器,實現(xiàn)多樣性。本文選用了可控變異,克隆選擇算法,可以把檢測器根據(jù)對病毒的親和力遺傳變異,獲得更多副本,使其能更加有效地識別病毒及病毒變種。

5 結(jié)束語

該文提出的病毒檢測方法具有免疫系統(tǒng)自學(xué)習(xí)和自適應(yīng)性等好的計算能力,比傳統(tǒng)的病毒檢測技術(shù)有較大的優(yōu)勢,檢測實驗結(jié)果也表明這種方法對未知病毒及已知病毒的變種的檢測有良好效果。另外,生成記憶檢測器過程實質(zhì)是對病毒特征的提取過程,這也是一種自動提取病毒特征碼的好思路。如果免疫思想能用到現(xiàn)今計算機病毒的檢測上,將能解決新病毒或者病毒新變種不能被識別的問題,成為計算機病毒檢測技術(shù)發(fā)展史上的一個新的里程碑。

參考文獻:

[1] Forrest S,Hofmeyr S,Somayaji A. Computer Immunology[J].Communications of the ACM,2002,40(10):88-96

[2] Forrest S, Perelson A S, Allen L, et al. Self-nonself Discrimination in a Computer[C]. Proceedings of the 1994 IEEE Symposium on Research in Security and Privacy, Los Alamos, CA: IEEE Computer Society Press,1994.

[3] 馬林梓,方蕓.計算機病毒與反病毒技術(shù)的新動向[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2001(9):14.

[4] 梁意文,張雙.免疫系統(tǒng)識別器的自適應(yīng)模型[J].計算機工程與應(yīng)用,2002,38(2):170-171.

主站蜘蛛池模板: 国产精品v欧美| 亚洲精品欧美日韩在线| 高清无码一本到东京热| 在线无码av一区二区三区| 亚洲Va中文字幕久久一区| 98超碰在线观看| 谁有在线观看日韩亚洲最新视频| 国产高清免费午夜在线视频| 精品伊人久久久久7777人| 久久久久亚洲AV成人人电影软件| 亚洲男人天堂久久| 亚洲欧美日韩色图| 手机永久AV在线播放| 久久中文字幕av不卡一区二区| 国产成人综合日韩精品无码不卡| 青青草原国产| 一级毛片在线免费看| 在线欧美日韩| 一级毛片免费播放视频| 玖玖精品在线| 综合色区亚洲熟妇在线| 亚洲第一天堂无码专区| 午夜福利网址| 伊人久久久久久久久久| 欧美精品aⅴ在线视频| 日本91视频| 秋霞国产在线| 婷婷色中文| 亚洲欧洲天堂色AV| 亚洲无码高清免费视频亚洲| 日韩毛片免费| 中文国产成人精品久久| 激情午夜婷婷| WWW丫丫国产成人精品| 在线观看国产小视频| 欧美成人午夜影院| 91国内外精品自在线播放| 日韩毛片在线播放| 国产免费人成视频网| 高清不卡毛片| 在线视频亚洲色图| 成人精品视频一区二区在线| 国产又大又粗又猛又爽的视频| 国产午夜一级淫片| 欧美日韩第三页| 国产欧美在线观看一区| 国产精品无码AV片在线观看播放| 国产精品美乳| 国产av一码二码三码无码| 91av成人日本不卡三区| 国产精品极品美女自在线看免费一区二区| 免费A级毛片无码免费视频| 国产真实乱人视频| 久久久久国产精品嫩草影院| 亚洲一区二区三区国产精品| 亚洲人成色在线观看| 国产精品黑色丝袜的老师| 久久中文无码精品| 色综合综合网| 精品福利网| 少妇高潮惨叫久久久久久| 九色综合视频网| 一级爆乳无码av| 亚洲精品国产首次亮相| 中国一级特黄视频| 亚洲中文制服丝袜欧美精品| 蜜臀AVWWW国产天堂| 无码国产伊人| 看av免费毛片手机播放| 91成人试看福利体验区| 中文字幕欧美日韩高清| 日韩欧美在线观看| 中文字幕色站| 午夜福利免费视频| 国产va免费精品| 亚洲视频一区| 91无码人妻精品一区| 国产三级国产精品国产普男人| 亚洲资源在线视频| av无码久久精品| 国产精品理论片| 精品无码国产一区二区三区AV|