欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

卡巴斯基(AVP)內(nèi)存駐留型病毒檢測(cè)方法

 更新時(shí)間:2007年01月16日 00:00:00   作者:  
author:killer  <killer②uid0.net>


    卡巴斯基反病毒軟件(Kaspersky Antivirus),以前叫AntiViral Toolkit Pro(AVP),出于習(xí)慣和簡(jiǎn)單,這里一律稱(chēng)為AVP或KAV。

    學(xué)習(xí)AVP的檢測(cè)辦法的意義一方面在于AVP的檢測(cè)方法是經(jīng)過(guò)理論驗(yàn)證和實(shí)踐考驗(yàn)的科學(xué)合理的方法,另外DOS年代過(guò)來(lái)的朋友對(duì)于反病毒有過(guò)這樣的經(jīng)驗(yàn):“機(jī)子感染病毒了?好,請(qǐng)用干凈無(wú)毒的系統(tǒng)盤(pán)啟動(dòng),然后全盤(pán)查殺?!?,我記得CIH橫行那會(huì),一個(gè)朋友讓我?guī)退宄《荆f(shuō)病毒是國(guó)內(nèi)某知名AV報(bào)的,啟動(dòng)該AV殺了一遍還有,而且該AV自己的監(jiān)控報(bào)自己也感染了CIH,我聽(tīng)了后告訴他用干凈的啟動(dòng)盤(pán)啟動(dòng)系統(tǒng)全盤(pán)查殺。雖然這是一個(gè)辦法,但事實(shí)上反病毒軟件為什么不直接做到可以?xún)?nèi)存檢測(cè)并清除病毒呢。而這是完全可以做到的,對(duì)于內(nèi)存檢測(cè)/清除駐留型病毒的方法,就我所知最早AVP開(kāi)始使用。


一、檢測(cè)方法:

    在AVP病毒庫(kù)中,有幾種特征記錄,其中一種是內(nèi)存特征,這是AVP用來(lái)檢測(cè)查殺內(nèi)存駐留型病毒的特征集,AVP對(duì)內(nèi)存駐留的感染式病毒采用了一些單獨(dú)的檢測(cè)方法。
    AVP通過(guò)在病毒庫(kù)中記錄的掃描方法和地址偏移來(lái)掃描內(nèi)存中駐留的感染式病毒,從地址偏移開(kāi)始進(jìn)行逐字節(jié)匹配,當(dāng)匹配到匹配字節(jié)的時(shí)候,即:Segm:Offset + byte offset = record:Byte,然后AVP開(kāi)始計(jì)算由庫(kù)記錄指定長(zhǎng)度的特征碼,如果恰好匹配庫(kù)中的記錄的話,將顯示對(duì)應(yīng)的病毒消息,同時(shí)根據(jù)庫(kù)的修復(fù)記錄所指定的修復(fù)長(zhǎng)度、和修復(fù)字節(jié)中的內(nèi)容,進(jìn)行內(nèi)存修復(fù),確保修復(fù)后,使得原病毒失去活性。

    此記錄結(jié)構(gòu)包含的字段主要有:

    病毒名
    搜索方法:絕對(duì)地址掃描、專(zhuān)用模塊...
    地址偏移: 段+偏移
    匹配字節(jié)
    特征長(zhǎng)度
    特征
    專(zhuān)用處理過(guò)程:Obj_Link
    處理偏移地址
    處理字節(jié)長(zhǎng)度:一般小于10
    修復(fù)字節(jié)

二、搜索方法:

    有上面可以看出,AVP能否保證快速處理,一個(gè)關(guān)鍵因素是AVP的搜索方法,事實(shí)上,AVP內(nèi)置了眾多的搜索辦法,這些辦法適用于MSDOS、WIN9X、WINNT/2000/XP等系統(tǒng)。AVP對(duì)一個(gè)病毒的處理可以采用多種內(nèi)存搜索辦法,所不同的是哪種方法高效一些而已。


    1、絕對(duì)地址:

       AVP采用絕對(duì)地址的掃描辦法來(lái)掃描一些病毒,掃描器從庫(kù)記錄中讀出相應(yīng)的地址記錄,到內(nèi)存中進(jìn)行匹配,匹配上后,進(jìn)行修復(fù)處理過(guò)程。

    2、段掃描:

       AVP從一個(gè)內(nèi)存段,單字節(jié)循環(huán)遞增,從開(kāi)始掃描到段結(jié)束。

    3、全部掃描:

       AVP從內(nèi)存地址0x00000000h開(kāi)始,循環(huán)遞增,進(jìn)行全內(nèi)存匹配的掃描方法。

    4、專(zhuān)用模塊:

       這是針對(duì)一些特定的“狡猾”病毒的方法。當(dāng)AVP自己定義的正常掃描和檢測(cè)辦法無(wú)法正確識(shí)別的時(shí)候,采用一個(gè)專(zhuān)用的處理模塊來(lái)檢測(cè)清除該病毒,該模塊編寫(xiě)完成后,編譯為obj格式的文件,存儲(chǔ)在AVP的庫(kù)記錄中。

    5、中斷跟蹤:

       這主要是AVP For DOS的掃描方法,通過(guò)對(duì)系統(tǒng)的中斷INT21、INT13的來(lái)定位駐留內(nèi)存的病毒代碼,通過(guò)對(duì)這些指令附近的代碼修改,使得病毒失去活性。


三、實(shí)例:

    簡(jiǎn)單舉例,比如這個(gè)病毒(網(wǎng)上找的一個(gè)感染COM文件的代碼片段):

    cmp  ah,3dh 
    jz   short @@Infect_File   ;截獲3d號(hào)Dos功能

@@JmpOldInt21:
    cli
    JmpFar      db 0eah   

@@Infect_File:

    ....

    編譯后應(yīng)該是這個(gè)樣子:

    13B6:0100 80FC 3D    CMP   AH,3Dh
    13B6:0104 74 xx      JE    Infect_File
    13B6:0107 FA         CLI
    13B6:0108 xx xx      XXX

    對(duì)于這個(gè)病毒的檢測(cè)和清除,我們生成一記錄,這個(gè)病毒記錄在AVP庫(kù)record中,可以是這種形式,它完全可以檢測(cè)和解除該病毒的活性:

    搜索方法:中斷跟蹤
    地址偏移:1000:0000
    匹配字節(jié):80FC
    特征長(zhǎng)度:6
    特征:xxxxxxxx
    專(zhuān)用處理過(guò)程:NULL
    處理偏移地址:3
    處理字節(jié)長(zhǎng)度:2
    修復(fù)字節(jié):90 90

    通過(guò)這樣一個(gè)檢測(cè)、修復(fù)庫(kù)記錄,AVP就可以檢測(cè)和修復(fù)內(nèi)存中駐留的活性病毒,然后在通過(guò)單獨(dú)的文件病毒檢測(cè)/修復(fù)等處理過(guò)程來(lái)全面清除磁盤(pán)文件中的病毒。

    本文是我的(Avp Reverse Engineering)AVP逆向?qū)W習(xí)系列一節(jié),所分析的方法在不同版本中略有不同,而基于AVP的良好架構(gòu),這些改變主要體現(xiàn)的處理方法的增刪,和結(jié)構(gòu)長(zhǎng)度變化。

    歡迎交流、指點(diǎn)。 

相關(guān)文章

最新評(píng)論