方文平
摘要:借鑒生物的基因機(jī)制,從木馬程序的基因片段入手,來探究檢測(cè)和查殺木馬程序的方法。
關(guān)鍵詞:木馬基因
1木馬程序簡(jiǎn)介
木馬是一種新型的計(jì)算機(jī)網(wǎng)絡(luò)病毒程序。它利用自身所具有的植入功能,或依附其它具有傳播能力的病毒,或通過入侵后植入等多種途徑,進(jìn)駐目標(biāo)計(jì)算機(jī),搜集其中各種敏感信息,并通過網(wǎng)絡(luò)與外界通信,發(fā)回所搜集到的各種信息,并能接受植入者指令,完成其它各種操作,如修改指定文件、格式化硬盤等。當(dāng)木馬被應(yīng)用在入侵和攻擊方面時(shí),它顯示出巨大的危害性。一個(gè)典型的木馬程序通常具有以下四個(gè)特點(diǎn):有效性、隱蔽性、頑固性和易植入性。
(1)有效性:是指入侵的木馬能夠與其控制端建立某種有效聯(lián)系,從而能夠充分控制目標(biāo)機(jī)器并竊取其中的敏感信息;(2)隱蔽性:木馬病毒必須有能力長(zhǎng)期潛伏于目標(biāo)機(jī)器中而不被發(fā)現(xiàn):(3)頑固性:是指有效清除木馬病毒的難易程度;(4)易植入性:木馬病毒有效性的先決條件。木馬技術(shù)與蠕蟲技術(shù)的結(jié)合使得木馬病毒具有類似蠕蟲的傳播性,這也極大提高了木馬病毒的易植入性。
2木馬病毒的新發(fā)展
2.1加殼技術(shù)
所謂“殼”就是專門壓縮的工具。是針對(duì)exe、tom和dll等程序文件進(jìn)行壓縮,在程序中加入一段如同保護(hù)層的代碼,使原程序文件代碼失去本來面目,從而保護(hù)程序不被非法修改和反編譯,這段如同保護(hù)層的代碼,稱之為程序的殼。程序的殼有以下作用:(1)保護(hù)程序不被修改和反編譯;(2)對(duì)程序?qū)iT進(jìn)行壓縮,以減小文件大小,方便傳播和存儲(chǔ)。
目前的防火墻和殺毒軟件雖然也具有了一定的脫殼能力。但病毒加殼又使用了新技術(shù)。
(1)加多層殼。這個(gè)加殼方法就是用兩種相同或者不同的加殼工具對(duì)木馬進(jìn)行雙重加殼,這樣就等于將木馬程序進(jìn)行了兩次壓縮計(jì)算,自然就會(huì)逃脫殺毒軟件和防火墻的第一層過濾。使用的加殼算法越多,逃脫防火墻和殺毒軟件查殺的幾率就越高。
(2)換殼。就是把原來的殼脫了換另一種殼。如FSG就是使用這種方法。還有就是用GUW32脫了再加殼,對(duì)于脫殼不干凈的軟件用UPXpr技術(shù)處理再加殼,也可以定制加殼軟件和定制殼。
2.2多態(tài)和變形技術(shù)
病毒多態(tài)是使病毒能夠改變自身存儲(chǔ)形式的技術(shù),使傳統(tǒng)的依靠特征值檢測(cè)的技術(shù)失效。變形則在多態(tài)的基礎(chǔ)上更進(jìn)一步。對(duì)整個(gè)病毒體都進(jìn)行處理,使不同病毒實(shí)例的代碼完全不同,不但沒有固定的特征碼,而且也無(wú)需還原成沒有任何變化的病毒體。
3引入基因機(jī)制檢測(cè)木馬病毒
目前,木馬程序的查殺主要還是使用特征碼的查殺毒方法,但是它的弊端也是眾所周知的。在入侵檢測(cè)領(lǐng)域,無(wú)論是基于統(tǒng)計(jì)的入侵檢測(cè)還是基于規(guī)則的入侵檢測(cè),它們的數(shù)據(jù)源都是從病毒的攻擊或者是表象出發(fā),首先獲得病毒或者黑客的攻擊表象,然后提取出特征,再抽取表達(dá)成模式或者規(guī)則,供入侵檢測(cè)系統(tǒng)進(jìn)行檢測(cè)和識(shí)別。對(duì)這種殺毒機(jī)制而言,高頻的升級(jí)都是滯后的。并且難以發(fā)現(xiàn)未知的木馬模式,也是制約它們進(jìn)一步發(fā)展的瓶頸。我們必須透過病毒程序的表象看到它們的本質(zhì)特征,即借鑒生物體的生物機(jī)理和機(jī)制,將基因機(jī)制引入信息安全領(lǐng)域。針對(duì)病毒的變形和多態(tài),可以追溯到病毒和惡意軟件的本質(zhì),即運(yùn)行時(shí)的核心序列和動(dòng)作,如系統(tǒng)調(diào)用序列等,也就是基因?qū)?。在基因?qū)用嫔希糠侄鄳B(tài)病毒和惡意軟件,有的基因一樣,有的能從它們的相似度上面找到多態(tài)和變形病毒程序之間的親緣關(guān)系,找到查殺抑制病毒的多態(tài)和變形的方法,指導(dǎo)一條切實(shí)可行,而且高效的途徑。對(duì)于基因機(jī)制引入病毒檢測(cè)和防護(hù)領(lǐng)域,包括以下幾個(gè)方面:
(1)表象到本質(zhì)(基因)。從病毒的表象出發(fā),找出病毒程序的本質(zhì)或者是深層次的根源如系統(tǒng)調(diào)用序列,提取出類似生物體中的基因片段,每一個(gè)基因片段都對(duì)應(yīng)一個(gè)或者多個(gè)病毒表象。
(2)單個(gè)基因入手。找出病毒基因,關(guān)注基因變異(稱病毒的基因片段為病變基因,相應(yīng)的正常程序那部分為正常基因),進(jìn)而使用基因療法,用好的基因來置換和修復(fù)病變基因、基因修飾和基因失活。
(3)基因片段組合入手。惡意軟件中對(duì)應(yīng)的一些基因片段,孤立地看它們都是正常的,但是當(dāng)它們組合以后,便是一個(gè)惡意程序,如木馬程序。在這種情況下,我們關(guān)注的是基因片段之間的關(guān)聯(lián)關(guān)系,打破這種關(guān)聯(lián),也就可以達(dá)到防止這些惡意軟件的目的。
(4)已知基因到未知基因。對(duì)基因進(jìn)行誘發(fā)變異,產(chǎn)生新的基因。使用的具體方法是:一是定向誘變,就是使用一些領(lǐng)域的知識(shí)進(jìn)行啟發(fā)式誘變;二是表型誘變,對(duì)未知基因進(jìn)行誘變,發(fā)現(xiàn)新的顯性和隱性基因突變體及功能改變。
4引入基因機(jī)制的可行性分析
(1)計(jì)算機(jī)病毒單基因存在的可行性:在信息安全中有些病毒或者惡意程序自身的復(fù)制能力很強(qiáng),也就是具有自我復(fù)制性。
針對(duì)這類病毒,如果能夠找出它們自我復(fù)制的那部分基因片段或者強(qiáng)行向EXE文件中寫入代碼的基因片段,就可以借鑒生物上面的基因療法,首先是報(bào)警,然后可以用正常的基因片段來對(duì)病變基因進(jìn)行替換,從根本上達(dá)到檢測(cè)和防治病毒的目的。所以引入單個(gè)計(jì)算機(jī)病毒基因機(jī)制是可行的。
(2)計(jì)算機(jī)病毒基因組存在的可行性:計(jì)算機(jī)中的程序基因從單個(gè)基因角度看時(shí)是正常程序也擁有的基因片段,但是它們組合后產(chǎn)生的癥狀就是惡意程序的典型表現(xiàn)。
5結(jié)束語(yǔ)
計(jì)算機(jī)病毒的傳播和破壞能力發(fā)生了巨大變化,代碼級(jí)的木馬特征越來越難以捕捉。引入程序基因可以看見程序的本質(zhì)特征,還能將靜態(tài)和動(dòng)態(tài)相結(jié)合,準(zhǔn)確定位程序執(zhí)行效果。依靠已知木馬程序的表象特征,分析系統(tǒng)調(diào)用序列,抽取出木馬的系統(tǒng)調(diào)用序列基因片段,在此基礎(chǔ)上利用人工免疫的自學(xué)習(xí)能力,必將達(dá)到對(duì)一部分未知木馬程序的檢測(cè)能力。