» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 招商银行网上银行控件的安全隐患

最近招商银行网上银行专业版升级了它的 ActiveX 控件,号称增强了安全性.但是这个版本的制作水平是如此之业余,令人震惊.Xin LI 在他的 blog 中详细分析了这个版本的 ActiveX 控件,并指出了其可能存在的安全隐患.

此文章所描述的行为,已经变为这样。本文未来将不再继续和维护,其内容可能已不再反映现时的情况,请参考本blog的后续报道。

使用招商银行专业版的朋友会发现,近期的招行网银升级引入了一个叫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可以发现一个很有意思的现象:

[delphij@tarsier] ~> md5 sbmc32.*
MD5 (sbmc32.dll) = 0e5e0e1da4febe20ef529d7a2a2969d7
MD5 (sbmc32.sys) = 7e5a7cf19504af7ddaf4fa36261940d1
MD5 (sbmc32.vxd) = 7a5af5dd62c4bc97c1654790e8d2f307

而另一方面:

[delphij@tarsier] ~> 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 HKLMSYSTEMCurrentControlSetServicesWINIO /f

regsvr32 /u /s %SystemRoot%SysWOW64CMBPB40.ocx

del %SystemRoot%SysWOW64Cmb_Pb_LiveUpdate.exe

del %SystemRoot%SysWOW64CMBPB40.exe

del %SystemRoot%SysWOW64CMBPB40.ocx

del %SystemRoot%SysWOW64cmbpbhelp.chm

del %SystemRoot%SysWOW64CMBPBUninstall.exe

del %SystemRoot%SysWOW64HttpComm.dll

del %SystemRoot%SysWOW64sbmc32.dll

del %SystemRoot%SysWOW64sbmc32.sys

del %SystemRoot%SysWOW64sbmc32.vxd

警告:上述脚本将修改注册表和服务配置,非专业人士请勿使用。此脚本只适用于在64位版本的Windows系统中清理由于招商银行目前版本安装程序问题而安装到不正确位置的文件,作为一项临时性解决方案,它在未来有可能不再适用。此脚本需要用SysWow64中的cmd.exe运行。

相关信息,已通过电话投诉方式告知招商银行。

继续昨天的话题。今天,招商银行的工作人员给我打来电话,建议我升级到最新版本。现将情况告知大家如下:

o 如同之前他们所做的事情一样,这个版本依然没有数字签名。在打了客服电话之后,我勉强执行了这个版本。
o 如同之前的版本一样,这个版本仍然无法运行在amd64版本的Windows 2003上。
o 为了掩人耳目,这个版本中的WinIO.dll被改头换面放到了用户目录下的CMBPB40SysDatacmb8783.dat。
o 而另一方面,那个驱动的名字,变成了CertClient.dat。

还有一个很有意思的文件,内容如下:

[WIN32_VERSION]
NowVersion=4.0.0.0
LowestVersion=4.0.0.0
M&W eKey XCSP_SUPERPW D=88888888
M&W eKey XCSP_USERPW D=11111111
SafeSign CSP Version 1.0_SUPERPW D=88888888
SafeSign CSP Version 1.0_USERPW D=11111111
_SUPERPW D=11111111
_USERPW D=11111111

结论:
o 做这些事情的人,仍然在试图把用户当成白痴。
o 但与此同时,他们仍然忘记了最基本的安全常识——安全不能建立在别人不知道的基础之上。
o 尽管如此,他们却没有忘记在发行的软件中包含一些不该发布的东西。
o 更有甚者,作为一家金融机构,发行的将要完成如此重任的可执行文件,竟然在我三番五次地投诉之后,仍然不做数字签名,这一行为足以让这家金融机构为之蒙羞。
我想再次提醒招商银行,不要在错误的道路上越走越远。请修正问题,而不是糊弄用户,更不要把用户当成白痴。

原文链接:
http://blog.delphij.net/archives/001649.html
http://blog.delphij.net/archives/001650.html


TOP

没有资格被招行当白痴的人路过。。。



TOP

赶紧看了看帐户,存款没少


TOP

哈哈,这不是逼着让招行老板炒白痴开发者鲔鱼吗?

TOP

时刻准备第三次被拒的人飘过...

TOP

那咋办。。不能用网银了

TOP

昨天升级了,提示安装出错,但是装好了并且可以使用,这是什么原因?

TOP

有安全隐患了?是否属实啊?

TOP

发新话题
     
官方公众号及微博