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

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

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


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

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


一、檢測方法:

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

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

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

二、搜索方法:

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


    1、絕對地址:

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

    2、段掃描:

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

    3、全部掃描:

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

    4、專用模塊:

       這是針對一些特定的“狡猾”病毒的方法。當(dāng)AVP自己定義的正常掃描和檢測辦法無法正確識別的時候,采用一個專用的處理模塊來檢測清除該病毒,該模塊編寫完成后,編譯為obj格式的文件,存儲在AVP的庫記錄中。

    5、中斷跟蹤:

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


三、實例:

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

    cmp  ah,3dh 
    jz   short @@Infect_File   ;截獲3d號Dos功能

@@JmpOldInt21:
    cli
    JmpFar      db 0eah   

@@Infect_File:

    ....

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

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

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

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

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

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

    歡迎交流、指點。 

相關(guān)文章

最新評論