设为主页 | 加入收藏 | 繁體中文

卡巴到底插没插进程—1名软件开发人员的质疑

  作者:icebaby
  我是一名软件开发人员,本来在这个新春之际,着实不应该扫了各人的兴致,可是看到一些本国公司的所作所为我不得不站出来说一些话!不知各人是否记得2004年产生的一场争议,大致的事件颠末如下:《电脑爱好者》(以下简称“CFAN”)杂志在2004年第 22期的杂志中刊登了一篇名为“‘杀’出来的病毒”的文章,此中以记叙的方式描述了杀毒软件“卡巴斯基”(Kaspersky)利用雷同木马病毒的手段插入系统中的其他历程,并引起系统速度变慢的环境。由于文章最后有瑞星的工程师出来说了几句话,所以一些 卡巴的用户就称这篇文章是一篇“枪”文,乃至有些人在网上对该文作者举行了人身打击。
  其时我看了这篇文章和网上的评论也没有很在意,事情太忙所以也没去验证。但在近来这此中国人传统的佳节——春节,我却在网上看到了卡巴关于此事的声明,看起来大有声讨CFAN之意,作为一名读者我决定对这些有争议的问题举行一次片面的测试,并行文如下:
  (我是CFAN的一名忠实读者,但同时我也非常喜好Kaspersky这款杀毒软件,虽然他让我的PIII看起来像PII-_-||,所以下文的内容我是站在完全中立的角度来报告各人一些究竟,真相谁是谁非请各人自己判断,我也不妄加评论了)
  ■测试环境
  硬件:PIII 667MHz/384MB SDRAM
  软件:Windows XP Professional(SP2)/Kaspersky Anti-Virus for Workstation 4.5.058(以下简称“卡巴”)
  测试东西(为确保测试结果正确公平,我辨别接纳了几款国产和外洋的历程检测东西):Advanced Process Manipulation(以下简称“APM”)/Process Explorer(以下简称“PE”)/超然历程管理器(以下简称“超然”)/Dependency Walker(以下简称“Depends”)
  ■测试历程
  首先我在确保纯净无毒的Windows系统中安置了卡巴,为了能使以下历程中检测历程中模块的结果更直观,我们将其安置在了“D:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus for Workstation”目录下,并选择了“典范”(Typical)安置方式。
  安置完毕后系统必要重启,重启后进入Windows显着感觉系统运行速度变慢(桌面图标革新缓慢,观看RMVB等格式的影戏呈现迟滞),从呈现桌面到可以或许相使用户操纵的这段历程显着变长,打开网页的速度也有一定程度的低落。这么大的系统开销,真相源自何处 ?
  在运行了一些罕见的步伐(如:QQ、Maxthon等)并举行了一些操纵后,利用APM对系统历程和其他一些步伐的历程中的模块举行了检测,结果如下:
  (图1 Maxthon遨游欣赏器的历程模块)
  (图2 QQ的历程模块)
  (图3 系统历程explorer的历程模块)
  我们在这些历程中都发现了卡巴的DLL模块,这些模块为什么不请自来地插入了另外历程的运行空间的呢?
  (图4 在卡巴的安置目录下发现了这些插入了别人历程的DLL)
  然后我又用其他的历程管理东西对其举行了检测,检测结果一致(以下是附图:图5、图6)。
  --------------------------------------------------------------------------------
  ■为什么说卡巴插历程
  在Windows系统中,每个历程都有它自己的私有地址空间,当利用指针来援用内存时,指针的值将援用你自己历程的地址空间中的一个内存地址。你的历程不能创立一个其援用属于另一个历程的内存指针。因而,要是你的历程存在一个错误,改写了一个随机地址上的 内存,那么这个这个错误不会影响另一个历程利用的内存。
  独立的地址空间对付编程人员和用户来说都黑白常有利的。对付编程人员来说,系统更容易捕获随意的内涵读取和写入操纵。对付用户来说,操纵系统将变得越发健壮,由于一个使用步伐无法破坏另一个历程或操纵系统的运行。当然,操纵系统的这个健壮特性是要付出价钱 的,由于要编写可以或许与其他历程举行通讯,或者可以或许对其他历程举行操纵的使用步伐将要困难得多。但仍有许多种方法可以冲破历程的界限,拜访另一个历程的地址空间,那就是“历程插入”(DLL Injection)。一旦你的DLL插入了另一个历程的地址空间后,就可以对另一个历程为所欲为。
  以下是几种罕见的历程插入方式:
  ●利用注册表插入DLL
  很土的方式,晚期的历程插入式木马的伎俩,经过修改注册表中的[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达到插入历程的目标。
  ●利用挂钩(Hook)插入DLL
  比较高级和潜伏的方式,经过系统的挂钩机制(Hook,雷同于DOS期间的“中断”)来插入历程(一些盗QQ木马、键盘记载木马以Hook方式插入到其他历程中“偷鸡摸狗”),必要调用SetWindowsHookEx函数。
  ●利用远程线程函数(CreateRemoteThread)插入DLL
  在Windows 2000及以上的系统中提供了这个“远程历程”机制,可以经过一个系统API函数来向另一个历程中创立线程(插入DLL)。
  检查了注册表中的相关项目,利用Depends和其他一些东西(如IDA PRO等)对相关的卡巴组件举行了检测后,我确定卡巴接纳的是第二种方式,即“Hook挂钩插入DLL”。
  (图7 卡巴“控制中间”,即“avpcc.exe”调用了User32.dll中的系统函数SetWindowsHookEx,利用Hook插入了历程)
  ■值得重新审视的一些问题
  信赖安置和利用过卡巴的朋友都知道,其占用的系统资源非常严重,但其官方不停辩称是由于其“杀毒何等何等彻底、何等何等完全”所造成的。可是颠末如许一次检测之后,我真的对卡巴招致系统变慢的原因要举行重新的审视了,看到其网站上的“声讨”中说“专心努力 于研发高效、高牢靠和片面的反病毒技术”,我感触愤怒!
  病毒的特性是什么?
  ●招致系统被破坏或运行速度低落
  ●利用各种技术手段对其本身举行隐藏或完成某种功效(包括后面提到的Hook插入历程技术)
  而安置卡巴之后,他的特性又是怎样样的呢?你的系统速度低落了(低落的原因我不妄自推测,但我对官方的说法表示质疑)、他利用Hook技术对你系统中的其他历程举行了DLL插入,那把其称为一个带引号的“病毒”,你是否还觉得过份呢?
  卡巴插入的历程真相干了些什么?为什么官方誓死否定CFAN上刊登的插入历程的究竟?为什么选择在这此中国人传统佳节、合家团聚庆祝的时候对海内发行量最大的电脑技术媒体动手?这些我们都不得而知,但有一点很重要,卡巴的确利用了一些木马及病毒常用的技术 !
  *在发这篇文章的时候,我就知道一定会有一些卡巴的FANS会把我骂得狗血喷头。请你们冷静下来,比较一下你的系统速度,要是技术许可,可以对我说的这些问题举行检测,看看你所心爱的卡巴真相是怎样包管他的“彻底”的杀毒结果的。
  相关链接:
  卡巴的声讨
  http://www.kaspersky.com.cn/KL-AboutUs/news2005/02n/0502032.htm
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: