来源:solidot
对待这个问题感觉比较吃惊,也许你说问题不严重,看到这个文章之前的我经常用招商银行的帐户进行转帐,拨款……,让我的心呢~~
"安装类似木马的直接访问底层硬件的驱动,改名、藏匿这些dll,遇到远程桌面登陆不加提示就关闭该服务,并立即重启。上述功能不是某流氓插件或木马,而是——招商银行网上银行的控件。还有,这个控件几经投诉,却依旧没有进行数字签名!"
具体的内容来自:http://blog.delphij.net/archives/001649.html
使用招商银行专业版的朋友会发现,近期的招行网银升级引入了一个叫sbmc32.dll的文件,并导致在64位Windows系统上的安装无法正常进行。这个文件是什么呢?
答案是WinIO——一个来自Internals.com的软件。它的作用是什么呢?按照作者的说法是:“This library allows direct I/O port and physical memory access under Windows 9x/NT/2000 and XP. Version 2.0 provides faster I/O port access, better memory mapping support and can be used from non-administrative accounts under Windows NT/2000 and XP.”。简而言之——通过给Windows开这样一扇后门,即使没有管理员权限的进程,也可以监控你的计算机的一举一动了。
遗憾的是,招商银行的技术人员很显然并不了解这个程序可能产生的后果。我们通过比对对应文件的MD5可以发现一个很有意思的现象:
[[email protected]] ~> md5 sbmc32.*
MD5 (sbmc32.dll) = 0e5e0e1da4febe20ef529d7a2a2969d7
MD5 (sbmc32.sys) = 7e5a7cf19504af7ddaf4fa36261940d1
MD5 (sbmc32.vxd) = 7a5af5dd62c4bc97c1654790e8d2f307
而另一方面:
[[email protected]] ~> md5 [Ww]in*
MD5 (WinIo.dll) = 6d113aa35a8c79b236751e4ccf2b7751
MD5 (WinIo.sys) = 7e5a7cf19504af7ddaf4fa36261940d1
MD5 (winio.vxd) = 7a5af5dd62c4bc97c1654790e8d2f307
这说明什么问题呢?有两个来自Internet的二进制的文件,被不加修改地直接使用了。我们可以推断:某些引入这些文件的人,不懂得如何编译一个.vxd和.sys文件,他只会编写MFC程序,正如那个LiveUpdate程序被叫做“MFC基础类应用程序”一样。
如此不专业的作法是令人非常震惊的。
在大学学习过《操作系统设计原理》的人都应该清楚,为什么操作系统需要隔离程序和硬件——出于显然的安全性考虑,操作系统没有办法验证访问硬件的程序是善意或者是恶意的。给用户安装这样一个驱动,有什么办法来阻止恶意的程序来利用这个驱动所提供的能力,去控制用户的键盘输入、监视用户的一举一动呢?
另一方面,作为银行,尽管我们可以信任由银行发行的软件,但将这样一个来自第三方的软件的二进制版本直接包装到自己的软件包里面,而不进行哪怕是重新编译一下这样的行动,这是一种很专业的做法吗?
很难相信这些做法都是招商银行所声称的“为用户安全考虑”之下进行的,因为这些行为,一经违反了许多最为基本的安全常识。我不知道,通过这种做法,能够给用户的安全性带来什么益处,或者,又会给他们带来什么样的安全隐患?
要知道,WinIO这个服务,尽管本身并没有什么恶意,但它是许多木马和键盘记录程序的一项基础工具。搜索WinIO、木马这两个关键词可以看到很多结果。
这是在维护用户的安全和利益吗?!
我希望招商银行能够立刻对这个问题进行修正,并采取切实措施避免类似情况再次发生。
以下是一位资深Windows开发人员提供的卸载脚本,用于在64位Windows上清除招商银行安装程序(说句题外话,招商银行的安装程序并不了解如何在64位版本的Windows上安装驱动和服务):
reg delete HKLM/SYSTEM/CurrentControlSet/Services/WINIO /f
regsvr32 /u /s %SystemRoot%/SysWOW64/CMBPB40.ocx
del %SystemRoot%/SysWOW64/Cmb_Pb_LiveUpdate.exe
del %SystemRoot%/SysWOW64/CMBPB40.exe
del %SystemRoot%/SysWOW64/CMBPB40.ocx
del %SystemRoot%/SysWOW64/cmbpbhelp.chm
del %SystemRoot%/SysWOW64/CMBPBUninstall.exe
del %SystemRoot%/SysWOW64/HttpComm.dll
del %SystemRoot%/SysWOW64/sbmc32.dll
del %SystemRoot%/SysWOW64/sbmc32.sys
del %SystemRoot%/SysWOW64/sbmc32.vxd
警告:上述脚本将修改注册表和服务配置,非专业人士请勿使用。
相关信息,已通过电话投诉方式告知招商银行。
第二片章~
招商银行5.1.3.8版本继续无法使用中
继续昨天的话题。今天,招商银行的工作人员给我打来电话,建议我升级到最新版本。现将情况告知大家如下:
o 如同之前他们所做的事情一样,这个版本依然没有数字签名。在打了客服电话之后,我勉强执行了这个版本。
o 如同之前的版本一样,这个版本仍然无法运行在amd64版本的Windows 2003上。
o 为了掩人耳目,这个版本中的WinIO.dll被改头换面放到了用户目录下的CMB/PB40/SysData/cmb8783.dat。
o 而另一方面,那个驱动的名字,变成了CertClient.dat。
还有一个很有意思的文件,内容如下:
[WIN32_VERSION]
NowVersion=4.0.0.0
LowestVersion=4.0.0.0
M&W eKey XCSP_SUPERPWD=88888888
M&W eKey XCSP_USERPWD=11111111
SafeSign CSP Version 1.0_SUPERPWD=88888888
SafeSign CSP Version 1.0_USERPWD=11111111
_SUPERPWD=11111111
_USERPWD=11111111
结论:
o 做这些事情的人,仍然在试图把用户当成白痴。
o 但与此同时,他们仍然忘记了最基本的安全常识——安全不能建立在别人不知道的基础之上。
o 尽管如此,他们却没有忘记在发行的软件中包含一些不该发布的东西。
o 更有甚者,作为一家金融机构,发行的将要完成如此重任的可执行文件,竟然在我三番五次地投诉之后,仍然不做数字签名,这一行为足以让这家金融机构为之蒙羞。
我想再次提醒招商银行,不要在错误的道路上越走越远。请修正问题,而不是糊弄用户,更不要把用户当成白痴。