卡巴斯基(AVP)内存驻留型病毒检测方法_漏洞研究

author:killer  <killer②uid0.net>

    卡巴斯基反病毒软件(Kaspersky Antivirus),以前叫AntiViral Toolkit Pro(AVP),出于习惯和简单,这里一律称为AVP或KAV。

    学习AVP的检测办法的意义一方面在于AVP的检测方法是经过理论验证和实践考验的科学合理的方法,另外DOS年代过来的朋友对于反病毒有过这样的经验:“机子感染病毒了?好,请用干净无毒的系统盘启动,然后全盘查杀。”,我记得CIH横行那会,一个朋友让我帮他清除病毒,说病毒是国内某知名AV报的,启动该AV杀了一遍还有,而且该AV自己的监控报自己也感染了CIH,我听了后告诉他用干净的启动盘启动系统全盘查杀。虽然这是一个办法,但事实上反病毒软件为什么不直接做到可以内存检测并清除病毒呢。而这是完全可以做到的,对于内存检测/清除驻留型病毒的方法,就我所知最早AVP开始使用。

一、检测方法:

    在AVP病毒库中,有几种特征记录,其中一种是内存特征,这是AVP用来检测查杀内存驻留型病毒的特征集,AVP对内存驻留的感染式病毒采用了一些单独的检测方法。

    AVP通过在病毒库中记录的扫描方法和地址偏移来扫描内存中驻留的感染式病毒,从地址偏移开始进行逐字节匹配,当匹配到匹配字节的时候,即:Segm:Offset + byte offset = record:Byte,然后AVP开始计算由库记录指定长度的特征码,如果恰好匹配库中的记录的话,将显示对应的病毒消息,同时根据库的修复记录所指定的修复长度、和修复字节中的内容,进行内存修复,确保修复后,使得原病毒失去活性。

    此记录结构包含的字段主要有:

    病毒名

    搜索方法:绝对地址扫描、专用模块...

    地址偏移: 段+偏移

    匹配字节

    特征长度

    特征

    专用处理过程:Obj_Link

    处理偏移地址

    处理字节长度:一般小于10

    修复字节

二、搜索方法:

    有上面可以看出,AVP能否保证快速处理,一个关键因素是AVP的搜索方法,事实上,AVP内置了众多的搜索办法,这些办法适用于MSDOS、WIN9X、WINNT/2000/XP等系统。AVP对一个病毒的处理可以采用多种内存搜索办法,所不同的是哪种方法高效一些而已。

    1、绝对地址:

       AVP采用绝对地址的扫描办法来扫描一些病毒,扫描器从库记录中读出相应的地址记录,到内存中进行匹配,匹配上后,进行修复处理过程。

    2、段扫描:

       AVP从一个内存段,单字节循环递增,从开始扫描到段结束。

    3、全部扫描:

       AVP从内存地址0x00000000h开始,循环递增,进行全内存匹配的扫描方法。

    4、专用模块:

       这是针对一些特定的“狡猾”病毒的方法。当AVP自己定义的正常扫描和检测办法无法正确识别的时候,采用一个专用的处理模块来检测清除该病毒,该模块编写完成后,编译为obj格式的文件,存储在AVP的库记录中。

    5、中断跟踪:

       这主要是AVP For DOS的扫描方法,通过对系统的中断INT21、INT13的来定位驻留内存的病毒代码,通过对这些指令附近的代码修改,使得病毒失去活性。

三、实例:

    简单举例,比如这个病毒(网上找的一个感染COM文件的代码片段):

    cmp  ah,3dh 

    jz   short @@Infect_File   ;截获3d号Dos功能

@@JmpOldInt21:

    cli

    JmpFar      db 0eah   

@@Infect_File:

    ....

    编译后应该是这个样子:

    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

    匹配字节:80FC

    特征长度:6

    特征:xxxxxxxx

    专用处理过程:NULL

    处理偏移地址:3

    处理字节长度:2

    修复字节:90 90

    通过这样一个检测、修复库记录,AVP就可以检测和修复内存中驻留的活性病毒,然后在通过单独的文件病毒检测/修复等处理过程来全面清除磁盘文件中的病毒。

    本文是我的(Avp Reverse Engineering)AVP逆向学习系列一节,所分析的方法在不同版本中略有不同,而基于AVP的良好架构,这些改变主要体现的处理方法的增删,和结构长度变化。

    欢迎交流、指点。 

时间: 2024-12-30 13:17:38

卡巴斯基(AVP)内存驻留型病毒检测方法_漏洞研究的相关文章

卡巴斯基检测内存驻留型病毒的方法

卡巴斯基反病毒软件(Kaspersky Antivirus),以前叫AntiViral Toolkit Pro(AVP),出于习惯和简单,这里一律称为AVP或KAV. 学习AVP的检测办法的意义一方面在于AVP的检测方法是经过理论验证和实践考验的科学合理的方法,另外DOS年代过来的朋友对于反病毒有过这样的经验:"机子感染病毒了?好,请用干净无毒的系统盘启动,然后全盘查杀.",我记得CIH横行那会,一个朋友让我帮他清除病毒,说病毒是国内某知名AV报的,启动该AV杀了一遍还有,而且该AV自

破解别人的asp木马密码的方法_漏洞研究

    破解目标:破解一asp木马的经过加密的登破解asp木马密码陆密码.由于木马里没有版本说明,具体也不知道这木马叫什么名.      破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码.前者根本算不上真正的破解.      破解目的:没事破着玩.      如果得不到asp源代码,那么可以说对破解密码,我毫无胜算.有位华夏的朋友说他得到了一个web的权限,  但是无法修改主页,发现其中已经有个asp木马,但密码是经过加密的.那么就有了这篇动画了.好了,废  话太多了,那么,

ETP 留言本v1.5爆出漏洞及利用方法_漏洞研究

作者:天狼星拒绝爱  这个是一个动画,因为利用过程很简单,所以我给大家简单的说一下  首先进入 http://www.baidu.com 或者http://www.google.com  搜索关键词:Etp Flash 留言本 v1.5   搜索到留言本,可以留言了  留言内容写一句话木马,选择提交留言``  保存成功! 恩``连接吧``这样一个WEBSHELL就得到了  汗!我搜索了下,看来搞破坏的还很多  看这个http://www.bxxtv.com/down/codeView.asp?i

暂时屏蔽 IE 最新 0day的4 种方法_漏洞研究

1. SACL 法[Unicode]Unicode=yes[Version]signature="$CHICAGO$"Revision=1[File Security]"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)" 将以上内容保存为 BlockAccess_x86.inf然后在命令提示符里执行 SecEdit/configure/db

汇编源代码之CIH文件型病毒检测消除程序

;本程序在Tasm下编译通过;CIH文件型病毒检测消除程序GOFIRST MACROXOR CX,CXXOR DX,DXMOV AX,4200HINT 21H ;文件指针指到文件首ENDMALTERLINE MACROMOV DL,0DHMOV AH,02HINT 21H ;回车MOV DL,0AHMOV AH,02HINT 21H ;换行ENDMCOPYHANDLE MACROPUSH BXMOV AH,45HINT 21H ;复制文件把柄MOV BX,AXMOV AH,3EHINT 21H

HDM.exe手工查杀U盘病毒的方法_病毒查杀

HDM.exe是一个恶性的U盘病毒,其破坏力巨大,主要表现在以下几个方面: Quote: 1.使用恢复SSDT的方式破坏杀毒软件 2.IFEO映像劫持 3.关闭指定窗口 4.删除gho文件 5.破坏安全模式,以及显示隐藏文件功能 6.感染htm等网页文件 7.猜测密码通过局域网传播 8.通过U盘等移动存储传播 9.arp欺骗 具体分析如下: Quote: File: HDM.exe Size: 13312 bytes Modified: 2007年11月28日, 16:52:08 MD5: 7E

最新卡巴斯基(AVP)6.0.2.621 简体中文版 下载_常用工具

软件大小  11.55 MB 软件类别  国外软件/病毒防治 运行环境 Win2003, WinXp, Win2000, Nt, WinMe, Win9x 授权方式  特别版 软件语言 简体中文 Kaspersky(卡巴斯基)杀毒软件来源于俄罗斯,是世界上最优秀.最顶级的网络杀毒软件,查杀病毒性能远高于同类产品.Kaspersky(卡巴斯基)杀毒软件具有超强的中心管理和杀毒能力,能真正实现带毒杀毒!提供了一个广泛的抗病毒解决方案.它提供了所有类型的抗病毒防护:抗病毒扫描仪,监控器,行为阻段和完全

linux的病毒发展史及分类_漏洞研究

1996年的Staog是Linux系统下的第一个病毒,它出自澳大利亚一个叫VLAD的组织(Windows 95下的第一个病毒程序Boza也系该组织所为).Staog病毒是用汇编语言编写,专门感染二进制文件,并通过三种方式去尝试得到root权限. Staog病毒并不会对系统有什么实质性的损坏.它应该算是一个演示版.它向世人揭示了Linux可能被病毒感染的潜在危险.Linux系统上第二个被发现的病毒是Bliss病毒,它是一个不小心被释放出来的实验性病毒.与其它病毒不同的是,Bliss本身带有免疫程序

cdsdf.exe,kl.exe,explorcr.exe等病毒清除方法_病毒查杀

一:问题和症状: 中病毒,其它的病毒文件都好杀.就C:\WINDOWS\system32\cdsdf.exe杀毒软件杀不掉.用PowerRmv杀灭后抑制再生成也没有用.请帮忙解决 二:分析解决: 1. 杀毒前关闭系统还原(Win2000系统可以忽略): 右键 我的电脑 ,属性,系统还原,在所有驱动器上关闭系统还原 打勾即可.  清除IE的临时文件:打开IE 点工具-->Internet选项 : Internet临时文件,点"删除文件"按钮 ,将 删除所有脱机内容 打勾,点确定删除