查看: 47459|回复: 285
收起左侧

[技术原创] AV10 Guard通用修复深入探秘

  [复制链接]
will
发表于 2010-3-24 14:55:05 | 显示全部楼层 |阅读模式
为了更好的清除系统中活动的病毒,V10的Guard中引入了一套新的清毒机制,Avira官方将其称为Generic Repair,也就是这个帖子里我所谓的“通用修复”
下面我会根据运行的流程,按先后顺序将这套机制一步步分解说明
当然,很重要但也最基本的一个前提是,在设定中你使用的是交互模式,而不是自动处理模式;其他的废话不多说,我们开始吧

1.Guard发现病毒时,会从右下角滑出一个提示框,如图:

此时:
    >> 如果你点击右上角的"×",将关闭这个提示框;而染毒文件除了可能被禁止访问外,Guard不会对其做任何处理 (为什么是可能被禁止访问,后面说明)
    >> 如果你点击"Remove"或"Details",Guard就会启动通用修复流程;
          而这里"Remove"和"Details"的区别在于"Remove"会默认的自动隔离染毒文件,"Details"则可以人为设定对染毒文件的处理方式;
          因此下面的清毒流程我们以点击"Remove"为例详解

2.Guard当我们选了"Remove"后,avguard.exe将在小红伞数据文件的临时文件中创建一个名为guard_slideup.avp的扫描配置文件,配置文件内容示例如下:

  1. #########################################################
  2. # $ANTIVIR$SCANNER$AVP
  3. #########################################################
  4. # This file has been created automatically.
  5. # DO NOT MODIFY!!
  6. #########################################################

  7. [CFG]
  8. GuiMode=8
  9. ExitMode=1
  10. DeleteConfig=1

  11. [SEARCH]
  12. Path0=C:\Documents and Settings\Administrator\Desktop\eicar.com
  13. ScanParameter=0x08000000
  14. SkipParameter=0x00300002

  15. [CONTROLCENTER]
  16. ProfileType=1
  17. ProfileName=avguard_async_scan
  18. ProfileDescription=
  19. [SCANNER]
  20. ScanActionMode=0
  21. ScanAllFiles=1
  22. ScanArchiveScan=1
  23. ScanArchiveCutRecursionDepth=1
  24. ScanArchiveRecursionDepth=20
  25. ScanHeuristicFileEnabled=1
  26. ScanHeuristicFile=3
  27. ScanHeuristicMacro=1
  28. BootsektorStart=0
  29. MasterBootSectors=0
  30. PrimaryActionForInfected=1
  31. SecondaryActionForInfected=3
  32. [COMMON]
  33. AcousticWarningMode=0
  34.   
复制代码
这个配置文件是根据你个人对扫描部分的设置来创建的,其中包括:
   扫描文件的类型、是否扫描压缩包、压缩包扫描的深度、启发等级、是否扫描主引导区和启动分区引导区、是否扫描注册表等。
  配置文件创建完成后,Guard调用avscan.exe,以上面这个配置文件的配置来进行扫描清毒。

3.avscan.exe启动并载入以上配置后,会删除以上配置文件,然后开始按照配置文件里的信息进行扫描;
  扫描程序会扫描当前进程的映像文件,以及Guard发现的染毒文件
  同时,我们也会看到一个框:
  
  
  然而,当扫描进度进行到98%至100%之间时,扫描进度会“停顿”一段时间,且Guard发现的病毒仍未被删除。
  让人纠结的就在于此,扫描程序会停顿好一会儿,甚至达到两三分钟,那么停顿的这段时间扫描程序在做什么呢?
  原来,扫描程序在这段时间里只做了一件事情:
    从染毒文件里获取可识别的字符串 (至于是怎么获取的,暂时还没弄清楚),然后分别加上Avira预置的扩展名exe、dll、sys、com、bat、lnk、pif等,再组合上系统内置的部分环境变量,来枚举查找是否存在该文件;如果存在,则扫描该文件;如果不存在则继续枚举直至结束。

  举个简单的例子:比如说Guard发现的染毒文件virus.exe里有可识别字符串kafan,那么扫描程序在这段时间里会根据你系统里的部分环境变量,来查找并扫描以下存在的文件:
    %systemroot%\kafan.exe
    %systemroot%\kafan.dll
    %systemroot%\kafan.sys
    ...
    %systemroot%\system32\kafan.exe
    ...
    %systemroot%\system32\kafan.lnk
    ...
   等等等等…
   相信现在大家已经明白了,为什么在这里要“卡”一段时间了…
   其实这段时间里并没有卡住,而是扫描程序在“猜”,尝试去找出可能存在的病毒

4.Guard扫描完后,avscan.exe 会将所有扫描过程中发现的病毒隔离(如果你选的是"Details",则可以自行选择处理方式);至此,通用修复完成,扫描程序退出。

好了,在此总结下这套通用修复机制的特点
  a.Guard(avguard.exe)只负责监控,不负责染毒文件的处理;Guard提供用以通用修复的配置文件
  b.扫描程序(avscan.exe)负责处理染毒文件,并尝试扫描清除可能存在的威胁;扫描程序从Guard提供的配置文件中读取通用修复的相关信息


---------------------------  寂寞分隔线.卡饭论坛  -----------------------------

      关于V10的通用修复,我还有个有趣的发现:

用Firefox和IE从相同网址下载恶意程序时,通用修复的反应是不同的:
  用Firefox内置的下载管理器下载时,Guard发现病毒时采取的默认操作是"Allow Access"(允许访问),然后滑出提示框,选择"Remove"后弹出扫描框。
  如图:
   

  但是,用IE内置的下载来下载时,Guard发现病毒时采取的默认操作是"Deny Access"(阻止访问),但之后的反应有两种:
    一是无提示框滑出
    二是有提示框滑出,选择"Remove"后并没有弹出扫描框,而直接将临时文件删除掉了
  而以上无论哪种反应,都与FF下载时的反应不同。
  如图:
   
   
   因此,我大胆而主观的推测,V10的通用修复还针对某些敏感路径做了特殊处理

---------------------------  无聊分隔线.卡饭论坛  -----------------------------

关于V10的通用修复,大概就这么些了解,写出来与大家分享,权当抛砖引玉
以上内容包含主观推断,但基于多次重复测试,不正之处还望大家指出
也欢迎大家做更深入的探索,并与我们分享
码字很累,排版很乱,大家看完也很辛苦

如转载,注明“转自卡饭论坛”即可

---------------------------  终结分隔线.卡饭论坛  -----------------------------

评分

参与人数 10经验 +20 人气 +8 收起 理由
薇薇兔 + 1 版区有你更精彩: )
Jade + 1 了解了
闪电战 + 10 鼓掌
JAY-Z + 1 WILL KNOW!
dd2006 + 10 老大出手果然不同反响

查看全部评分

juhone
发表于 2010-3-24 17:25:25 | 显示全部楼层
沙发啊,慢慢看,学习了
官人
发表于 2010-3-24 17:29:11 | 显示全部楼层
专业!!
listen1
发表于 2010-3-24 17:34:32 | 显示全部楼层
写得真好
dodo6558
发表于 2010-3-24 17:35:32 | 显示全部楼层
细细的看了一遍   v10还是不够成熟  等等看吧!
nqsu
发表于 2010-3-24 17:36:54 | 显示全部楼层
看不明白啊
23Jia
发表于 2010-3-24 17:38:05 | 显示全部楼层
看了回帖~
honghhs
发表于 2010-3-24 17:41:48 | 显示全部楼层
这都能被楼主分析的出来,佩服!
wuliyen
头像被屏蔽
发表于 2010-3-24 17:45:08 | 显示全部楼层
通用修复还针对某些敏感路径做了特殊处理

缓存中的不会有进一步的处理
twei6980 该用户已被删除
发表于 2010-3-24 17:46:42 | 显示全部楼层
恩,很有深度的文章哈!!顶起!!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-23 16:09 , Processed in 0.130987 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表