茍元琴
[摘要]在現(xiàn)階段的互聯(lián)網(wǎng)信息時代,網(wǎng)絡(luò)病毒的不斷滋生、變化為計算機(jī)系統(tǒng)帶來了極大的安全困擾和傷害,尤其是許多網(wǎng)絡(luò)病毒還采用了偽裝、變形等技術(shù)來侵入計算機(jī),進(jìn)而造成更大的殺傷,使得計算機(jī)反病毒體系常常處于力不從心的狀態(tài)。為了建立基于計算機(jī)網(wǎng)絡(luò)病毒防范的可靠防御體系,本文希望面向防御目標(biāo)實(shí)施數(shù)據(jù)挖掘相關(guān)技術(shù),并基于該技術(shù)搭建DMAV體系結(jié)構(gòu),實(shí)現(xiàn)對病毒的主動檢測和主動防御。
[關(guān)鍵詞]計算機(jī)網(wǎng)絡(luò)病毒;數(shù)據(jù)挖掘技術(shù);防御;DMAV系統(tǒng)
一、計算機(jī)網(wǎng)絡(luò)病毒技術(shù)
加密技術(shù)就是當(dāng)前計算機(jī)病毒中最為常見的一種,它的特點(diǎn)就是能夠?qū)崿F(xiàn)對病毒本體的隱藏,并存在抗分析效能。在最關(guān)鍵的加密環(huán)節(jié),該病毒則運(yùn)用到了病毒密文代碼,它潛伏于病毒的宿主程序中,在程序運(yùn)行過程中,它能夠精確實(shí)現(xiàn)對密鑰的觸發(fā)及病毒解密密碼執(zhí)行過程,讓加密前的明文病毒代碼轉(zhuǎn)化為密文病毒代碼,實(shí)現(xiàn)病毒的成功變形,即加密多形病毒。
另外還有程序演化,該套技術(shù)也是目前計算機(jī)網(wǎng)絡(luò)病毒的主要變形技術(shù),它所指的程序演化是從一個對源程序的出發(fā),在不改變?nèi)魏纬绦蚬δ艿那疤嵯聛韺?shí)現(xiàn)計算機(jī)程序等價指令的變量替換,促使程序演化指令代碼快速異變。譬如說等價指令序列替換、指令重排序、變量寄存器替換、插入垃圾指令等等都是病毒程序所善用的程序演化技術(shù),成功的程序演化可以讓病毒衍生出多個變體,使計算機(jī)反病毒體系顧此失彼,防不勝防,在其漏查漏殺的狀況下,大量網(wǎng)絡(luò)病毒就會陸續(xù)入侵到計算機(jī)系統(tǒng)中,造成大面積系統(tǒng)傷害。
可以說,當(dāng)今計算機(jī)網(wǎng)絡(luò)病毒的多變特性及技術(shù)性也為計算機(jī)反病毒體系帶來了十分嚴(yán)峻的考驗(yàn)。所以要在病毒技術(shù)不斷變形發(fā)展的同時,加快節(jié)奏對反病毒防御體系的構(gòu)建。
二、數(shù)據(jù)挖掘技術(shù)
(一)數(shù)據(jù)挖掘技術(shù)的基本概念
數(shù)據(jù)挖掘技術(shù)的精髓指出就在于它能夠從人們所預(yù)先未知的潛在層次中大量、隨機(jī)挖掘有價值的應(yīng)用數(shù)據(jù)及信息知識,為他們建立規(guī)則模型,進(jìn)而來體現(xiàn)它們的作用。綜合來講它是具有交叉性的綜合性學(xué)科,顯而易見它所涉及的領(lǐng)域包括模式識別、歸納推理、機(jī)械學(xué)、統(tǒng)計學(xué)以及數(shù)據(jù)庫管理等等,所以數(shù)據(jù)挖掘是具有相當(dāng)廣闊的發(fā)展應(yīng)用前景的。
(二)選擇數(shù)據(jù)挖掘技術(shù)建設(shè)計算機(jī)網(wǎng)絡(luò)病毒防御體系的原因
就目前對數(shù)據(jù)挖掘技術(shù)的發(fā)展與研究形勢來看,它不僅作為一個關(guān)鍵的信息科技領(lǐng)域課題而存在,而且還被許多IT企業(yè)思維是計算機(jī)網(wǎng)絡(luò)病毒防御的重中之重,希望通過它的技術(shù)優(yōu)勢來建立更加穩(wěn)固的防御體系,抵御網(wǎng)絡(luò)病毒于千里之外。因此選擇數(shù)據(jù)挖掘技術(shù)來進(jìn)行病毒主動防御體系建立主要有以下考慮:第一,目前對眾多反病毒軟件的研發(fā)已經(jīng)初見成效,并在實(shí)踐過程中積累了多元化的病毒樣本,為數(shù)據(jù)挖掘技術(shù)建設(shè)奠定優(yōu)秀基礎(chǔ)平臺。依據(jù)該技術(shù)的發(fā)展特點(diǎn)來看,它完全可以在任何類型的信息存儲環(huán)境中實(shí)施防御體系建設(shè);第二,如今是講求大數(shù)據(jù)的信息爆炸時代,必須要合理應(yīng)用數(shù)據(jù)挖掘技術(shù)來提取計算機(jī)網(wǎng)絡(luò)系統(tǒng)中有價值信息。在對信息進(jìn)行挖掘過程中,對大量病毒樣本的提取也可以幫助人們發(fā)現(xiàn)數(shù)據(jù)萬巨額模型與數(shù)據(jù)本身之間所存在的微妙關(guān)系,所以利用這樣的關(guān)系也可以對某些已知的計算機(jī)網(wǎng)絡(luò)病毒和未知病毒進(jìn)行分析、預(yù)測,從而為建立主動病毒防御對策而創(chuàng)建思路。再者,數(shù)據(jù)挖掘技術(shù)的關(guān)聯(lián)規(guī)則挖掘相當(dāng)實(shí)用,且可拓展范圍廣泛,基于它相關(guān)理論的一些研究也有利于對計算機(jī)網(wǎng)絡(luò)病毒防御體系的研究。
(三)基于關(guān)聯(lián)規(guī)則挖掘的OOA挖掘技術(shù)分析
本文所探討的數(shù)據(jù)挖掘技術(shù)就圍繞OOA挖掘技術(shù)展開,所謂OOA(Objective-Oriented utility-based Association min-ing)就是面向目標(biāo)對象的,基于效用度關(guān)聯(lián)規(guī)則挖掘所展開的算法,它所針對并滿足的是計算機(jī)網(wǎng)絡(luò)系統(tǒng)中的特定目標(biāo)用戶,基于其目標(biāo)的效用度與關(guān)聯(lián)規(guī)則展開數(shù)據(jù)挖掘行為。
從OOA挖掘技術(shù)的項(xiàng)目集表現(xiàn)來看,它的數(shù)據(jù)挖掘行為是相對頻繁的。而如果項(xiàng)目集中所體現(xiàn)的OOA挖掘行為并不頻繁,這表示項(xiàng)目集屬性也是不頻繁的。那么根據(jù)以上描述就可以了解到,OOA挖掘技術(shù)基本能滿足傳統(tǒng)Apriori算法(挖掘關(guān)聯(lián)規(guī)則頻繁項(xiàng)集算法)在數(shù)據(jù)挖掘行為中的實(shí)現(xiàn)。經(jīng)調(diào)查得知:OOA挖掘技術(shù)的主要算法與Apriori算法在形式上是基本類似的。但與傳統(tǒng)ICOA挖掘技術(shù)相比,它的項(xiàng)集相關(guān)性在本文中將要提到的DMAV系統(tǒng)中會產(chǎn)生滿足于特定目標(biāo)關(guān)聯(lián)規(guī)則的挖掘數(shù)據(jù)。而該挖掘數(shù)據(jù)在滿足一定條件下就可判斷其是否是可以文件數(shù)據(jù)或病毒,因此下文將結(jié)合OOA挖掘算法,并實(shí)施修正,將其應(yīng)用于DMAV系統(tǒng)所創(chuàng)建的規(guī)則生成器中,建立真正的計算機(jī)網(wǎng)絡(luò)病毒防御應(yīng)用體系。
三、基于OOA數(shù)據(jù)挖掘技術(shù)的DMAV病毒主動防御系統(tǒng)的設(shè)計與應(yīng)用
(一)DMAV系統(tǒng)
DMAV系統(tǒng)通過數(shù)據(jù)挖掘技術(shù)對計算機(jī)網(wǎng)絡(luò)變形病毒與未知病毒實(shí)施檢測與主動防御,是綜合性平臺。它通過改進(jìn)后的OOA挖掘算法開啟對計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)庫的學(xué)習(xí),基于OOA規(guī)則生成器來建立目標(biāo)關(guān)聯(lián)規(guī)則。當(dāng)系統(tǒng)在判定可疑數(shù)據(jù)文件是否存在病毒時,它會導(dǎo)出WinAPI函數(shù)來對可以文件進(jìn)行掃描,并對其數(shù)據(jù)規(guī)則的每一條進(jìn)行校對,當(dāng)其規(guī)則滿足數(shù)據(jù)庫中條件時,就可視為該文件為病毒文件。
(二)PE文件剖析器
PE文件剖析器的關(guān)鍵就在于它的WinAPI調(diào)用序列,它能夠反映計算機(jī)網(wǎng)絡(luò)系統(tǒng)的代碼段行為,并調(diào)查網(wǎng)絡(luò)病毒的來源與去向。以某一網(wǎng)絡(luò)病毒“LoveGate”為例,調(diào)用部分WinAPI函數(shù)來實(shí)現(xiàn)3點(diǎn)說明。
首先,LoveGate是通過調(diào)用GerVersion函數(shù)來獲取網(wǎng)絡(luò)系統(tǒng)版本號的。
其次,它也通過調(diào)用上述文件中的ShellExecute函數(shù)來終止當(dāng)前可能存在的反病毒軟件監(jiān)控行為。
最后,在調(diào)用Net PI.DLL和SVRAPI.DLL函數(shù)時,DMAV系統(tǒng)會微計算機(jī)網(wǎng)絡(luò)創(chuàng)建有效的安全信息目錄。
所以說,WinAPI函數(shù)調(diào)用序列真正能做到對某個或多個病毒文件所實(shí)施全部行為的實(shí)時反應(yīng)。
(三)OOA規(guī)則生成器
圍繞Apriori算法,OOA挖掘技術(shù)所創(chuàng)建的OOA規(guī)則生成器可以實(shí)現(xiàn)實(shí)際算法,進(jìn)而對OOA頻繁集里的所有關(guān)聯(lián)項(xiàng)目集實(shí)施判斷,從而找出病毒文件。
OOA-Apriori算法應(yīng)該是產(chǎn)生于OOA的頻繁集產(chǎn)生規(guī)則中的,所以當(dāng)每個頻繁集產(chǎn)生后,都只需要掃描一次數(shù)據(jù)庫即可作出PE文件判斷。當(dāng)該算法中包含了集k-hemSet時,考慮由于數(shù)據(jù)都在特征人庫過程中,所以它們的有序向量都是針對事務(wù)t的搜索所展開的,這就為DMAV系統(tǒng)主動防御病毒騰出了大量的有效空間與時間。
(四)可疑文件掃描器
當(dāng)前兩項(xiàng)計算對PF可疑數(shù)據(jù)文件中的病毒樣本進(jìn)行特征提取之后,就需要利用可疑文件掃描器來對它的特征優(yōu)化部分與規(guī)則部分進(jìn)行進(jìn)一步提取。但同時為了提高數(shù)據(jù)提取的精確度,還要在實(shí)施進(jìn)一步掃描前對諸如WANDER和WADERS的序列進(jìn)行重新排列。新的排列序列基于重拍算法展開,通過矩陣來實(shí)現(xiàn)演算結(jié)果。比如說設(shè)定矩陣首行為Am,當(dāng)首列為0行0列時,對設(shè)定矩陣進(jìn)行判定,看病毒PE文本文件的特征向量間距離是否已經(jīng)超出了DMAV系統(tǒng)所規(guī)范的常規(guī)閾值,如果文件超過規(guī)定閾值標(biāo)準(zhǔn),則可認(rèn)定該數(shù)據(jù)文件是病毒文件,需要及時處理。
目前的DMAV計算機(jī)網(wǎng)絡(luò)病毒主動防御系統(tǒng)都是基于VC++語言展開界面設(shè)計的,并調(diào)動系統(tǒng)中的常用描述方法來檢測界面中可能存在的可疑數(shù)據(jù)文件。該系統(tǒng)的一大特色就是會主動為用戶設(shè)定可以掃描路徑,并展開主動檢測工作,及時判定某些PE文件是否是病毒文件。主要將其與系統(tǒng)中導(dǎo)出的WinAPI函數(shù)調(diào)用序列進(jìn)行基于規(guī)則的文件比較,如果其文件向量均滿足規(guī)則庫中所提出的某一規(guī)則,那么就可認(rèn)定網(wǎng)絡(luò)系統(tǒng)中出現(xiàn)了病毒文件。
總結(jié)
基于數(shù)據(jù)挖掘技術(shù)的計算機(jī)網(wǎng)絡(luò)病毒防御體系構(gòu)建還是相對復(fù)雜的,正如本文所提出的病毒主動防御系統(tǒng)DMAV,它利用PE文件剖析器、OOA規(guī)則生成器以及可以文件掃描器來共同實(shí)現(xiàn)了多元化的算法,它們都大大提升了計算機(jī)網(wǎng)絡(luò)系統(tǒng)的工作效率,也同時滿足了對病毒的掃描速率和敏感性,充分實(shí)現(xiàn)了對計算機(jī)網(wǎng)絡(luò)安全的保護(hù)以及對病毒的主動檢測和防御,值得在未來的計算機(jī)網(wǎng)絡(luò)病毒防御體系構(gòu)建過程中投入更多的力量進(jìn)行更深入的研究。