瑞星证实:360扣扣保镖为何激怒腾讯

腾讯科技讯北京时间11月5日消息,国内知名第三方反病毒机构瑞星最新发布的技术分析报告证实,扣扣保镖除了拥有其宣称的11大类可见功能之外,至少还存在4个隐藏功能,这些功能仅针对QQ,且都具有用户不可见、不可控制等...

来源:

作者:

 北京时间11月5日消息,国内知名第三方反病毒机构瑞星最新发布的技术分析报告证实,扣扣保镖除了拥有其宣称的11大类可见功能之外,至少还存在4个隐藏功能,这些功能仅针对QQ,且都具有用户不可见、不可控制等特性。这些隐藏功能随时处于活动状态,并且可由360公司远程开启。

昨日,曾有媒体报道扣扣保镖存在四大后门技术,可以随时远程开启。但360对此矢口否认。如今终于得到来自第三方反病毒机构瑞星铁一般的证实。

以下是报告全文:

360扣扣保镖为何激怒腾讯?

----瑞星第三方独立研究报告(一)

2010年10月29日,360公司在京宣布,推出一款名为“扣扣保镖”的安全工具,全面保护QQ用户的安全。该工具包括防止隐私泄漏、防止木马盗取QQ账号以及给QQ加速等功能。360称,扣扣保镖默认不修改QQ任何设置,所有功能都必须由用户主动选择触发,并可随时启用和恢复。

瑞星研发部门通过对扣扣保镖(1.0.0.1004版本)主要功能实现模块QGuard.dll进行分析:发现该软件除了拥有其宣称的11大类可见功能之外,至少还存在4个隐藏功能,这些功能仅针对QQ,且都具有用户不可见、不可控制等特性。这些隐藏功能随时处于活动状态,并且可由360公司远程开启。

扣扣保镖4个隐藏功能详细分析

扣扣保镖除了界面上的可见功能以外,还存在屏蔽QQ软件升级、劫持腾讯浏览器、屏蔽QQ启动的特定进程列表、备份并恢复QQ软件等4个隐藏的功能,它们均由Config.ini文件进行开关控制。经分析,该控制文件在扣扣保镖安装包中并没有提供,安装后也不会自动生成,只可能由360 “云服务器”直接进行远程投递(或用户可以手动生成激活隐藏功能)。也就是说,用户对于这些隐藏功能均无法控制,而且不了解其激活和生效情况。

技术细节:

用户使用扣扣保镖(1.0.0.1004版本)时,它会把自己的主要功能模块QGuard.dll通过全局钩子方式注入腾讯QQ进程,并拦截QQ进程的系统调用ShellExecuteExW和CreateProcessInternalW等,时刻关注Config.ini文件(隐藏功能激活文件),一旦发现该文件存在,将根据文件内容进行相关隐藏功能的激活动作。

通过对现有的4个隐藏功能代码分析,我们可以推测Config.ini文件至少存在以下4种开关:

[Main]

DisableUpdate=1 //自动屏蔽QQ升级,导致用户不知情的情况下QQ软件无法升级。

DisableBrowser=1 //劫持QQ对浏览器的启动并替换为360”安全”浏览器。

Com=<过滤的进程文件名1>;<过滤的进程文件名2>;……

//自动屏蔽QQ启动指定镜像名例表的进程启动。

enable_repair=1 //开启备份QQ的参数:是否开启弹框引导用户备份QQ软件

MaxNotifyCount = 50 //开启备份QQ的参数:最多弹框次数

FirstNotify=1 //开启备份QQ的参数: QQ启动后弹框的时间(秒)

 

瑞星第三方报告:360扣扣保镖为何激怒腾讯

以下为扣扣保镖QGuard.dll 进行WINDOWS API 拦截及API拦截功能实现的相关代码

 

瑞星第三方报告:360扣扣保镖为何激怒腾讯

 

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

扣扣保镖在QQ IM进程中拦截相关系统API后将实时监控QQIM启动进程动作(用户不能使用任何功能设置项进行隐藏功能关闭操作)

隐藏功能一:激活后自动屏蔽QQ软件升级

该隐藏功能影响域:

该隐藏功能激活后,QQ的安全组件、QQ本身等软件都不能正常更新升级(用户毫不知情,也不会得到任何错误提示),QQ软件将变成一个“死”软件。

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

以下为扣扣保镖QGuard.dll在拦截ShellExecuteExW及CreateProcessInternalW后进行的QQ IM启动升级进程(屏蔽QQ升级)识别及屏蔽升级部分代码。

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

如果发现启动的是auclt.exe、SelfUpdate.exe和QQSafeud.exe并在Config.ini文件中DisableUpdate=1则将绕开真实系统调用,使QQ升级进程启动失效。这些操作将对用户没有任何提示!

隐藏功能二:激活后根据指定进程列表进行QQ启动程序的拦截

该隐藏功能影响域:

该隐藏功能激活后,将根据360投送的Config.ini里指定的进程名进行QQ启动程序过滤。这将让360可以非常方便进行可控的QQ启动程序拦截。

扣扣保镖还会尝试读取位于安装目录下360\360safe\360QGuard\下的Config.ini中Main主键下的Com字段(参照上文所述Config.ini结构)。由于Config.ini在默认安装情况下不存在,在此无法得知具体需要屏蔽的进程,但是通过分析代码可以得知此字段为一个由“;”分割的一个进程列表。扣扣保镖将拦截此列表中所有文件名相同的进程的启动。

以下为QQ启动程序屏蔽列表部分代码

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

以下为:扣扣保镖QGuard.dll屏蔽列表读取代码

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

除此之外还会在%AppData%的配置文件UserConfig.ini中读取component字段,其中每一项镜像名其后的0和1为进程屏蔽开关。

%AppData%\360QGuard\UserConfig.ini内容如下:

[component]

<要阻止的文件名及扩展名>=0|1

隐藏功能三:激活后对QQ软件的浏览器进行劫持(替换成360浏览器)

瑞星第三方报告:360扣扣保镖为何激怒腾讯
 
瑞星第三方报告:360扣扣保镖为何激怒腾讯
 
瑞星第三方报告:360扣扣保镖为何激怒腾讯
 

该隐藏功能影响域:

该功能激活后,QQ 进程启动的浏览器进程(带参数浏览URL方式)将被替换成启动360SE来进行浏览(装着360浏览器的情况下)。由于该功能是拦截 API实现,所以无论用户设置的默认浏览是什么,也不论腾讯QQ当前选用哪个浏览器都将被劫持成360SE(附:该隐藏功能不单可以劫持TTraveler.exe,QQBrowser.exe,还能根据升级的配置随时指定劫持的浏览器进程名。)

这样QQ软件用户聊天时带的所有URL链接的浏览量将都被360SE获取。

扣扣保镖QGuard.dll拦截程序,发现QQ IM启动的程序为腾讯的浏览器(TTraveler.exe和QQBrowser.exe),且Config.ini文件内容中有DisableBrowser=1,则将QQ IM启动的浏览器自动替换为360的浏览器。

除此之外,通过最后一行Call InitComponent读取位于%AppData%的配置文件UserConfig.ini中的component项是否有指定名称的镜像名,如果发现也将替换为360的浏览器。

交流互动

发表言论

匿名:

2010/11/6 23:42:20

瑞星说的也能信啊?他巴不得360死掉。

昵称*

我说两句:*

点击提交 *  

请您文明上网,理性发言并遵守相关规定!