作者:合肥工业大学 imxk 发文时间:2005.06.27
3721真的能够卸载干净吗?
3721真的仅仅是一个中文上网这么简单吗?
3721对网络甚至对国家安全的危害仅仅是您目前所认识到的吗?
3721自称的“详细技术情况”真的给您知情权了吗?
3721上网助手真的是您的什么“助手”吗?
全面揭露 触目惊心!
3721作为一种可自动安装的、普及率极广的一种网络程序,近年来对之的争议颇多。本文试图从安装、卸载、服务、系统影响等各个方面列举系列客观事实,有关观点仅代表笔者个人意见,拿出来与大方之家商榷,相信大家见仁见智各有自己的结论,同时也希望以此引起有关部门的注意。
测试环境:VMWare虚拟机,共享主机连接,以独立的公网IP 地址上网;操作系统为Windows XP Pro SP2,默认安装,仅以直接复制的方式拷贝了测试所必须的文件管理程序Total Commander、注册表跟踪工具Advanced Registry Tracer、抓图工具UltraSnap、打字必须的极点五笔输入法,未安装其他任何软件。另外,部分图片为节省篇幅采用了以重叠的方式显示多幅图片内容。
一、3721安装剖析
1、安装推广由“反复提示”式为主为转向捆绑为主
自从Windows XP SP2推出加强的安全特性后,以前频繁出现的3721安装提示被进行了有效抑制(图1),因此其推广安装方式除传统的通过浏览器植入安装、直接下载安装外,又开拓了在某些共享软件和免费软件中捆绑的方式进行安装(图2)。新的捆绑安装方式,虽然有安装选项,但对于习惯了“一路回车法”安装软件的用户,被顺手装入系统的可能性极大!
图 1 Windows XP SP2的安全机制给3721的安装带来不便
图 2 通过免费或共享软件的捆绑并默认安装
2、“一拖三”的安装方式,偷偷植入另外模块
如果被安装上上网助手,则实际上同时被植入系统的并非上网助手一个程序,而是同时另外被静默地植入了“地址栏搜索”和“搜索助手”这两套独立的程序(图3)。
卸载上网助手时,额外植入的两套程序不会被卸载;卸载每一套程序时,卸载对话框中都添加保留另外模块的选项,以实现非刻意卸载情况下的自我交叉修复。
图 3
3、完善的自我保护机制
从安装、保护、卸载、修复几个环节来看,各个环节环环相扣(图4),任何一环没有正确处理,则就无法实现表面的干净卸载(真正彻底卸载除非手工清理,否则无法实现完全卸载,,后文详述)。
图 4 各个环节的保护机制环环相扣,清除不易
二、3721及上网助手提供的“贴心”服务提供剖析
号称提供各种贴心服务,其服务项目所标示的功能也非常的人。我们对其中几项进行了简单测试,看看3721到底提供的是一些什么性质、什么质量的“服务”。
1、黄毒横行触目惊心
安装3721中上网助手后,浏览器浏览器地址栏被无告知地植入20多项URL列表,其内容不外乎:性、娱乐、赚钱等几方面有关(图5)。
从其强行植入的地址栏URL列表来看,安装了3721或上网助手的电脑就不折不扣地成了一台“少儿不宜”的电脑!
看看其强行植入的“美女如云——15亿图片心情体验”链接,随意点击几个链接,结果(如图6),什么“裸体”、“自拍”、“三级明星电影”、“诱惑放荡的少妇”、“宾馆偷房”、“无限激情”……等不堪入目的字眼扑面而来!
如果说具体的内容提供与其他合作方有关系,那么看看3721推荐的“美女如云——15亿图片心情体验”的主页面,什么“波霸”、“A片”的类别项目赫然在目(图7)。
再看看3721推荐提供的“极速宽频影院”(图8)。“性的日记”、“姐妹情色”、“村妓”、“偷情家族”等占据了内容目录的绝大部分,您能够从中找到哪怕一丁点健康、积极、向上的内容吗?!
这就是3721和上网助手提供的服务中的内容品味的冰山一角。
图 5 自动植入的浏览器浏览器地址栏URL列表
图 6 自动植入浏览器地址历史中的链接内容之一
图 7 自动植入浏览器地址栏历史链接的部分内容之二
图 8 自动植入浏览器地址栏历史链接的部分内容之三
2、“网络钓鱼”炉火纯青
除了上述明目张胆的色情(公开传播的内容中那些不是色情还有是色情?)宣传推广,其还采用了一种诱惑点击的网络钓鱼方法:以“免费电影”为幌子,播放器上覆盖广告,用户点击播放器时将触发对广告的点击(图9)。
此种诱惑点击的手段仅仅是一种方式。有了这种“先进的”方式,还有什么事情不能做呢?
图 9 自动植入浏览器地址栏历史链接中打开的免费电影(网络钓鱼:以一Flash广告与播放按钮重叠的方式,诱惑用户点击。这里设置不显示Flash以暴露其重叠的框架结构)
3、贴心功能不贴心
不少人看中了上网助手的弹出广告过滤功能。让我们看看真实情况!
用
http://www.kephyr.com/popupkillertest
的专业测试页面进行弹出窗口过滤测试。为避免干扰干扰,先关闭Windows XP SP2本身的弹出窗口过滤功能(没有人会说上网助手的弹出窗口过滤是依赖Windows XP 的SP2相关功能实现的吧?!)。
测试结果,27项测试中,未能通过的有:第3 项、第6项(1、2)、第8项、第9项、第10项、第11项、第12项、第16项、第17项、第20项、第21项、第22项、第24项、第26项、第27项(1、2、3),共计未通过测试的有15项(18种),过滤失败的项目占整体的55%,失败的种类占整体的66%(图10)。即按百分制评判,上网助手的弹出窗口过滤能力连及格分都没有捞到!
而启用Windows XP SP2的弹出窗口过滤功能,或者使用Maxthon等具有弹出窗口过滤功能的第三方浏览器,同样的项目测试结果就截然不同!具体情况笔者暂不提供,大家可以自己测试对比一下,以便好好体会这位上网“助手”的能力!
图 10 弹出窗口过滤测试中惨不忍睹的过滤结果
4、“清理痕迹”清理了谁的痕迹?
图11是上网助手的“清理痕迹”功能测试。执行清理并得到“当前没有网址记录!”的结果,但打开浏览器的历史侧边栏,结果如何?
图 11 “痕迹清理”清理了谁的痕迹?
5、插件管理专家别有私心
打开上网助手的插件管理专家,其中仅仅“虚心”地把搜索助手列了出来;但打开浏览器的加载项对话框,3721和上网助手植入的十几个加载项却赫然在目(图12)!别家的插件算插件,自己偷偷植入的众多玩艺一律不算插件,这是什么逻辑?!
图 12 “插件管理专家”对自己植入的垃圾插件视而不见
6、把自己的“搜一搜”右键菜单视为系统默认菜单
再看看“恢复IE外观”中的“清理IE右键菜单”功能。清理后,报告“没有可清理的菜单!”
但实际上,在浏览器中右击鼠标,“!搜一搜”的3721附加的菜单项已经如同系统默认菜单项那样被保存下来(图13)。令人不解的是,“!搜一搜”这种表达方式不知在中国语言学中算是一种什么手法?
图 13 3721自动添加的右键菜单不算清理对象
7、自欺欺人的“清理IE工具条”
试试“清理IE工具条”的效果如何。清理后,报告“没有可清理的工具条!”,但IE工具栏上被3721自动植入的那个带有扫把图标的工具条和其他几个按钮好好的毫发无损(图14)。难道它自己的这些就不属于系统之外的第三方工具条吗?工具栏按钮清理也是如此。
图 14 清理IE工具条结果
8、IE 工具栏“重置”功能不能重置3721植入的工具栏按钮
既然上网助手拒绝给我干活,那么就用IE本身的功能设置来恢复工具栏按钮吧。
打开自定义工具栏对话框,点击“重置”,那些被强行植入的按钮闪动了一下,片刻又立即得到恢复(图15)。
系统的基本功能在3721的作用下已经部分失效!
图 15 “重置”工具栏按钮后的效果
9、对系统稳定性的影响
在虚拟机环境下,直接在浏览器地址栏输入“合工大”进行搜索,前后测试6次,每次都是立即蓝屏(图16)。
虽然虚拟机环境与真实环境可能有一些差异,但虚拟机对内存要求较高,系统资源占用较大,据此我们不能确定在真实系统环境也是如此,但起码可以确定,搜索助手对系统资源的分配肯定存在某种负面影响(或者是存在某种BUG),在对资源需求较大时,会对系统产生不利影响。
图 16 半个工作日的搜索测试中系统蓝屏6次
三、3721对系统的写入情况剖析
根据网络实名网站自称的“详细技术原理”,我们看看真实情况是否如网站上所告知的那样。图17是其对用户告知的内容。在随后的检测项目中,我们看看它“详细”到什么程度,用户和知情权体现在什么地方。
图 17 网络实名的“详细技术原理”
1、向系统植入的文件
除了有专门的程序文件夹,3721还在Windows\Downloaded Program Files目录以隐藏的方式保存其文件以便快速修复;在系统驱动程序目录植入驱动程序文件并保证安全模式(即使你不上网!)也能够被加载并且不能被直接删除(图18、图19)。
①安装3721后的文件植入情况:
● Windows\Downloaded Program Files目录被植入37个文件1个文件夹;
● Windows\System32\Drivers目录植入CnMinPK.sys驱动程序文件。
● Program Files目录植入目录名为3721,共含15个文件和1个文件夹。
共计植入53个文件和2个子文件夹。
②安装上网助手后的文件植入情况:
● Windows\Downloaded Program Files目录被植入30个文件1个文件夹;
● Windows\System32\Drivers目录植入CnMinPK.sys驱动程序文件。
● Program Files目录植入目录名为3721,共含79个文件和7个文件夹。
● Program Files目录植入目录名为YDT,共含4个文件和1个文件夹。
共计植入114个文件和9个子文件夹。
图 18 以驱动方式植入系统,安全模式也能生效
图 19 Windows资源管理器中无法查看的隐藏文件和目录
2、写入的注册表项目
据安装前后的注册表导出比较后得出的不完全统计,系统注册表被写入的内容大致如下(因浏览网页等操作会导致动态修改,因此可能会有一些误差):
安装3721后,注册表中被写入122个键项、408个键值;
安装上网助手后,注册表中被写入251个键项、656个键值。
遗憾的是,按正确的方法卸载、重启后注册表项目仍然无法全部被清除!
3、多种途径实现的自动加载项
3721声明以标准系统接口实现自动加载,而且将这些标准接口利用得淋漓尽致!
⑴上网助手在注册表HLM下面的Run键项中添加helper.dll、YDTMain.exe、CnsMin三个自动加载模块,而且卸载、重启后仍然存在(图20);
⑵通过驱动程序模式加载CnMinPK.sys模块,实现进程隐藏,并且通过系统本身的Msconfig无法检测;
⑶通过其多个模块之间的相互修复和守护实现,实现交叉安装、修复、加载;
⑷通过嵌入浏览器帮助对象,实现功能的自动加载;
⑸通过各模块卸载对话框中的修复选项,诱导用户在卸载某个模块的同时,修复和自动加载另一些模块;
⑹通过捆绑到某些第三方安装程序,在安装过程中实现自动安装和自动加载。
图 20 卸载后仍然自动重启的模块
4、自我守护的进程
如图21,安装上网助手后,任务列表中会存在三个进程,其中以Rundll32.exe显示的两个进程可以实现自动交叉修复,即一个进程是另外一个进程的守护进程。因此,使用Windows任务管理器是无法顺利将它们从内存中关闭的,这点相信多数人深有体会!
图 21 创建多个进程并且可自我守护
5、植入系统的浏览器加载项
图22是上网助手自动植入系统中的8种浏览器加载项。用户的浏览器成为几大公司发财的财源基地。余下的就差没有拿着刀子上门直接抢钱了。
图 22 一口气自动植入8种浏览器加载项
6、自动植入浏览器工具栏的多种无关按钮
呵呵,安装后,浏览器上什么Yahoo!等乱七八糟的按钮一股脑儿给你安装上了,甚至连资源管理器也没有放过(图23,够贴心的吧)。
图 23 资源管理器中被强行植入的按钮
7、控制面板添加删除程序列表中的多余项目
在未被明确告知的情况下,安装上网助手后,控制面板的添加删除程序列表中会额外加入两个程序项目(图24)。
图 24 不知道什么时候被植入的额外两个模块
8、植入系统的系统服务表
使用IceSword这款安全工具检测系统服务描述表(SSDT),可以发现除Ntoskrnl.exe这个系统内核外,就是3721和上网助手的“CnsMinKP.sys”了。搞编程的人知道这做到了什么级别,普通网民反正“眼不见为净”。可见功夫真的下到了家了!
图 25 通过任务管理器无法查看到的系统服务表
9、自动创建的线程情况
从图26可以看出,上网助手及其模块自动创建的线程数之多,在系统总体线程数的比例上是多得令人吃惊的!该图为未打开任何浏览器以及其他相关窗口情况下的线程创建情况(部分需滚动才能查看)。
图 26 自动创建的线程列表
10、后台运行的消息钩子
有兴趣的人可以看看图27中的钩子类型,看看3721利用的大量钩子函数在干些什么。
图 27 众多的消息钩子
11、植入浏览器右键菜单的“!搜一搜”菜单项
呵呵,浏览器右键菜单中被植入的“!搜一搜”是不是该倒过来从右向左读?这个世界的法则是不是也要倒过来解读(图28)?
图 28 浏览器右键菜单项
12、上网助手Assistse.exe打开本地1028端口
如图29,上网助手Assistse.exe打开本地UDP 1028端口,作用不明。
图 29 端口打开情况
13、植入Internet选项设置
图31是植入到Internet选项的“高级”设置的内容。看看,还有“自动升级”功能呢,有什么新的手段或主意了,再在您的系统中试试?
图 31 Internet选项中被植入的内容
四、3721及上网助手卸载情况剖析
有人在网卡撰文说3721现在可以通过其卸载程序干净地卸载了。事实情况真的是这样吗?请看——
1、“完全删除”和“完全卸载”的卸载承诺
如图32,无论3721网络实名还是上网助手,在卸载程序中都承诺“把上网助手从电脑中完全删除”和“完全卸载实名插件并关闭实名功能”。
图 32 卸载界面的承诺
2、完全卸载不完全
网络实名卸载成功并重启后,在资源管理器中无法看到Windows\Downloaded Program Files文件夹中有任何文件(即使你将资源管理器设置为显示所有文件、显示系统文件)。但使用著名的Total Commander文件管理器,却发现有一个zsmod.dll的隐藏文件(图33)!如果是卸载上网助手,卸载成功并重启后,上述目录居然隐藏有30个文件1个文件夹(图34)!
以zsmod.dll为关键字在注册表编辑器中搜索,可以发现这个文件并非是一个被“遗忘”的死文件,而是有相应的注册表键值(图35)!
卸载上网助手成功并重启后,检测BHO(浏览器帮助对象),发现系统中仍然保留有YDT.DLL和CnsHook.dll这两个BHO对象(图36)!
卸载上网助手成功并重启后,检测自动加载项目,发现仍然存在helper.dll、YDTMain.exe、CnsMin三个自动加载的程序项目(图37)!
再检测系统已经加载的内核模块,发现以驱动形式加载的CnsMinKP.sys仍然被成功加载(图38)!以CnsMinKP.sys在注册表编辑器中搜索,卸载成功并重启后注册表中仍然保留CnsMinKP.sys的3处隐藏服务键值(图39),使得卸载操作完全是一个骗局,其基本功能根本没有受到影响,至多是那个一般情况下显示在系统托盘的可以向用户提供“服务”的小图标不见了!当然,系统Drivers目录中的CnsMinKP.sys文件依然完好,没有受到任何破坏!
看看系统进程如何。如图40,YDTMain.exe、相互守护的Rundll32.exe共3个进程仍然静静地在那儿!
由此可见,上述就是所谓的“把上网助手从电脑中完全删除”的真相!
真的想把它们彻底清除吗?可以,手工在添加删除程序列表中把另外未被告知的两个3721强行安装的程序一一卸载(卸载时注意看清楚相关选项!否则可能又相互修复),此时绝大多数文件和注册表被清除。但Windows\Downloaded Program Files文件夹中zsmod.dll的隐藏文件以及相关的注册表键值却永远不会被清除!
图 33 3721卸载重启后资源管理器无法看到的隐藏文件
图 34 上网助手卸载重启后系统目录中隐藏的大量文件(Windows资源管理器无法以任何方式查看到,Total Commander可显示)
图 35 卸载重启后注册表中的保留键值
图 36 卸载重启后仍然被保留的浏览器帮助对象模块
图 37 卸载重启后仍然被保留的自动加载项目
图 38 卸载重启后仍然以驱动模式加载的内核模块
图 39 卸载重启后注册表中仍然保留的3处隐藏服务键值
图 40 上网助手卸载重启后仍然在运行的后台进程和仍然存在的浏览器工具栏按钮
3、额外安装的两个模块必须另行卸载
图43就是安装时未被明确告知就强行安装的、需要我们手工卸载的垃圾程序。
图 43 额外安装的两个模块必须手工卸载
4、卸载过程中仍然试图交叉修复
卸载这些额外程序模块的过程中,存在默认被选中的以“卸载”二字开头的一个选项:
“卸载上网助手-地址栏搜索后保留上网助手等按钮”
如果你操作中只看了前面半句,以为是选择了“卸载”它们,那你就错了!
由此可见3721的对用户的心理和电脑使用习惯研究得非常透彻,能够利用的都充分利用了!
图 44 卸载过程中仍然试图交叉修复
五、3721综合行为的法律、道德剖析
1、3721及上网助手的道德层面剖析
什么“裸体”、“自拍”、“三级明星电影”、“诱惑放荡的少妇”、“宾馆偷房”、“无限激情”……等亵渎了广大网民的情趣品味;对青少年进行了极其不良的误导引诱;污染了网络环境。
未经明确告知,强行植入其他程序模块。
通过系统驱动的方式加载,安全模式亦无法避免。就连Windows都将带网络连接的安全模式作为一个单独的项目提供给用户,而3721则是青红皂白,不管用户是否使用网络,一律加载没商量!
2、3721及上网助手的法律层面剖析
额外安装程序侵犯知情权;
强行植入的少儿不宜的URL链接无视青少年权限保护;
宣传黄毒;
介绍黄毒;
卸载卸载过程中以欺骗的手段保留未经用户许可的模块,而且相互交叉修复;
自动感染、自动繁植、隐藏自身、占用系统资源、干扰用户上网活动、直接或间接向系统中带入不良数据、清除极其困难、通过多种途径自动加载……已经具有完整的病毒特征;
提供不良内容下载……
3、3721及上网助手对国家安全及文化导向的影响
由艰苦奋斗勤俭建国转向靡靡之音声色犬马的和平演变,只需借助3721;
瓦解民众斗志,只需3721;
占领中国的宣传阵地,只需利用3721;
主导中国的网络安全命脉,只需掌握3721;
转变中国网民的文化导向,只需借助3721;
对中国发动网络瘫痪战,只需通过3721!
…………
所有这些,3721已经在做了,而且做得很好!