为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 编程开发 查看内容

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

2005-2-9 05:18| 投稿: soft

摘要: 作者:icebaby 我是一名软件开发人员,本来在这个新春之际,实在不应该扫了大家的兴致,可是看到一些外国公司的所作所为我不得不站出来说一些话!不知大家是否记得2004年发生的一场争议,大致的事件经...
作者: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对系统进程和其他一些程序的进程中的模块进行了检测,结果如下:screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>(图1 Maxthon遨游浏览器的进程模块)screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>(图2 QQ的进程模块)screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>(图3 系统进程explorer的进程模块)我们在这些进程中都发现了卡巴的DLL模块,这些模块为什么不请自来地插入了别的进程的运行空间的呢?screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>(图4 在卡巴的安装目录下发现了这些插入了别人进程的DLL)然后我又用其他的进程管理工具对其进行了检测,检测结果一致(以下是附图:图5、图6)。 screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>■为什么说卡巴插进程在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”。screen.width-500) {this.width=screen.width-500;this.alt='µã²鿴ȫͼ';}" border=0>(图7 卡巴“控制中心”,即“avpcc.exe”调用了User32.dll中的系统函数SetWindowsHookEx,使用Hook插入了进程)■值得重新审视的一些问题相信安装和使用过卡巴的朋友都知道,其占用的系统资源非常严重,但其官方一直辩称是由于其“杀毒多么多么彻底、多么多么完全”所造成的。可是经过这样一次检测之后,我真的对卡巴导致系统变慢的原因要进行重新的审视了,看到其网站上的“声讨”中说“专心致力 于研发高效、高可靠和全面的反病毒技术”,我感到愤怒!病毒的特征是什么?●导致系统被破坏或运行速度降低●利用各种技术手段对其自身进行隐藏或实现某种功能(包括前面提到的Hook插入进程技术)而安装卡巴之后,他的特征又是怎么样的呢?你的系统速度降低了(降低的原因我不妄自猜测,但我对官方的说法表示质疑)、他利用Hook技术对你系统中的其他进程进行了DLL插入,那把其称为一个带引号的“病毒”,你是否还觉得过份呢?卡巴插入的进程究竟干了些什么?为什么官方誓死否认CFAN上刊登的插入进程的事实?为什么选择在这个中国人传统佳节、合家团圆庆祝的时候对国内发行量最大的电脑技术媒体下手?这些我们都不得而知,但有一点很重要,卡巴确实利用了一些木马及病毒常用的技术 !*在发这篇文章的时候,我就知道肯定会有一些卡巴的FANS会把我骂得狗血喷头。请你们冷静下来,比较一下你的系统速度,如果技术许可,可以对我说的这些问题进行检测,看看你所心爱的卡巴究竟是怎么保证他的“彻底”的杀毒效果的。相关链接:卡巴的声讨 http://www.kaspersky.com.cn/KL-AboutUs/news2005/02n/0502032.htm

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部