delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

01 Dec 2006

为什么是招行?

今天有朋友问我,为什么我一定要跟招行“过不去”?现将本人立场公布如下:

  1. 为什么选择招行

招行是国内最有实力的一家从事网上银行业务的银行。即使是现在,我仍然不认为国内有任何一家其他银行具有同招商银行竞争的实力。从我自己在中关村支行办理第一张招行卡,到后来的工资卡、信用卡,招商银行的专业水准和服务一直都是第一流的。

然而,从11月初以来,招商银行所发生的一系列变化是令人震惊和无法理解的。我无法想象,在自己如此信任的一家银行到底发生了什么,是什么,使得一家有极高专业水准和素质的银行,在自己的网上银行专业版产品中,加入了如此多的令人怀疑和困惑的、违反基本安全常识的东西。

除了我本人之外,我还推荐了许多朋友使用招商银行的服务。从11月6日第一次投诉到现在,我正在不断地丧失对招商银行的信心和信任。我认为有必要让更多的人了解相关的这些情况,因为并不是每个人都会十分关注自己使用的银行是否在为自己的计算机埋下不安全的隐患——公众通常会认为,银行首先是可信的,同时,我认为公众有权力了解,自己所选的银行是否存在一些问题,因为我想,并不是每个人对于银行的安全性都是毫不在乎的,如果你在一家银行有存款,你当然会关心自己的存款是否安全。

  1. 安全——什么是安全?

对于安全,有很多的定义。有一种观点认为,别人看不到就是安全。在我看来,我不会认为把秘密锁到银行保险柜,同时周围派3000个荷枪实弹的士兵看守是安全;同许多关注信息安全的人一样,我认为安全是这样一种情形——把一个装有秘密的保险柜,无人看守地放到大街上,即使是保险柜的制造者,在没有开启保险柜所需的钥匙等条件的前提下,仍然无法打开保险柜。

这个比喻对于一些人来说可能仍然有点抽象。如果用通俗一些的话来总结,那就是:安全不能建立在别人不知道的基础上;安全不是一厢情愿的单方面安全,安全的参与者必须都拥有安全意识;安全设施必须告知相关的人员,而不是加以不必要的隐蔽和强制。

此外,安全措施可以比喻成一个装水的木桶。这个安全措施能够达到的最大安全强度(水桶的深度)
,并不取决于其最强的环节,而是取决于其最短的那根木头,也就是安全措施中最薄弱的那一环。通常的安全系统中,这个环节,都会是操作这套安全机制的人。

  1. 网上银行存在的安全问题

现今,互联网已经不再是十年前甚至更早的那个,几乎人人都愿意和你做好邻居的互联网了。通过击键记录等各种方式,攫取别人的网上银行帐号,已经成为困扰许多使用网上银行用户的问题。

为了解决这个问题,许多银行想出了各种各样的办法。招商银行是国内最早采用数字安全证书技术的一家银行。与基于口令的原始安全验证技术相比,数字证书是利用了现代密码学技术的一种技术。这两者的安全性,我们不妨打个比方,如果说基于口令是你到了银行说自己是谁就让你以谁的身份做操作的话,那么基于数字证书的验证方式,则是要你现场对操作单做签字,并且由专业人士与你之前留在银行的签名进行细致的比对。

自然,真实的数字签名,要比我们生活中常用的签字安全许多。数字签名不仅能够确认身份的真实性,而且还能够确保你签名过的东西,没有被任何第三方,包括接收签名的那一方修改过。在招商银行已经采用这些技术的时候,国内的许多银行,却仍然停留在以口令验证的原始阶段,直到最近几年才有所改善。

遗憾的是,数字证书并不是一种无法复制的生物特征。指纹、虹膜识别等新兴技术,能够让计算机识别具体操作的人的真实身份,然而这些技术目前还没有被用于身份验证。由于数字证书会保存在一个文件中,而这个文件又必然能够被当前用户所读取,因此,一旦获知了用于保护这个文件的本地口令,以及这个数字证书文件的副本,别人也就可以使用你的数字签名去签署银行交易了。

  1. 国内银行对这些安全问题采取的努力

在我看来,国内银行目前纷纷在采用的各种所谓安全方法,其作用都是十分有限的。这其中,最为致命的问题就在于,他们在尝试进行一件违反基本安全常识的事情——安全机制最薄弱的一环决定整个系统最大的安全强度,而他们却在试图加强安全机制中的其他环节,并给用户安全的假象。

这些方法,不仅没有从根本上加强安全机制中的那些环节(尽管这本身已经很没有必要了),更糟糕的是,它们往往从另一些方面进一步削弱了原本已经十分脆弱的安全体系。举例而言,目前国内的绝大多数网上银行,都会要求用户安装一个客户端ActiveX控件,撇开这样做的兼容性影响不谈,这些所谓安全控件,通常都需要以管理员的身份来安装。一个有安全常识的用户,是绝对不会有习惯去以管理员身份上网的,这样做的结果,许多有安全意识的用户,会屈服于这一限制。

尽管如此,如果这些银行“安全控件”能够允许以非管理员身份激活的话,从某种意义上说,它也能在一定意义上保护用户的安全性,因为这时我们能够确保非管理员用户一定无法安装这类软件。然而,事实上多数网上银行的“安全控件”在撰写的时候,都没有考虑到这一点。

从强制用户使用Windows和Internet Explorer浏览器,到强制用户打开防火墙等安全措施,到进一步连远程桌面都不允许用户使用,再到在用户不知情的情况下安装监视键盘的驱动程序,等等等等,这些都忽略了一个基本事实:安全最薄弱的环节,并不在这里。

  1. 所谓“为用户安全着想”引入的问题

别的不说,我们假定一个入侵者已经安装了一个木马,他会做什么呢?

表面上看,这个人会安装一个击键记录器去记录用户口令。如果你这么想,我只能告诉你,这是因为你不是坏人。坏人是绝对不会干这么缺少创意的事情的。如果一个坏人要得到你的口令,方法非常简单:他写一个界面和网上银行一模一样的程序,命名为“网上银行”,替换掉你原来的程序,那么一切所谓安全措施也就没用了。更有甚者,它可以在输入一次口令之后,神不知鬼不觉地换回来。

因而,验证网上银行的可执行文件是来自银行就十分重要。过去招商银行在这方面做得很好,但不知道为什么,最近的一些版本越来越过分,不仅不签名,而且插入了大量令人讨厌的东西。

我要继续指出的是,目前的许多所谓“安全助手”,不仅不能改进用户的安全性,甚至可能被坏人利用。安装一个驱动程序,而这个驱动程序无法验证使用它的到底是好人(真正的网上银行)还是坏人(攻击者),这造成了一个非常明显的特权提升点。原本写一个攻击程序,要拿下一个有良好安全习惯的用户,还需要费尽九牛二虎之力;而现在,只要利用这个驱动程序就可以了。

  1. 我想要什么?

我不关注国内的其他银行,因为与招商银行相比,这些银行恐怕更不值得信任。我想要的是,招商银行修正他们目前的做法,并杜绝此类事件再次发生。好,就这样。


Archived: 25 Comments

chifeng | November 30, 2006 10:40 PM

刁民啊,果然是个刁民……

laypeople | November 30, 2006 10:41 PM

嗯,还有个办法就是恐吓知道口令的人,如果不招,就吊起来打,如果招出的口令不对,打两次。

citygrit | November 30, 2006 11:37 PM

佩服delphij对此事的态度与做法,单就一点至少体现了公民的责任感,这是这个社会所缺失的。我们长期以来在这种环境里已经变得麻木不仁,少有对事物持认真的态度。delphij所披露的事实真相不仅仅是代表他一个人,而是向所有还被蒙蔽的招行专业版用户传递一个事实真相,这惟有一个合格的公民所能采取的行动。

lovelymouse | December 1, 2006 12:05 AM

支持delphij!
声讨招行!

kaifry | December 1, 2006 6:55 AM

支持delphij

GT | December 1, 2006 9:29 AM

还有一个问题,安装时会提示是否打开windows自带防火墙,而无论选择什么都会强制打开

wg | December 1, 2006 9:38 AM

支持delphij

菜鸟 | December 1, 2006 1:12 PM

明白delphij…原来是恨铁不成钢…

希望招商银行快点束手就擒吧…

netstree | December 1, 2006 1:16 PM

支持。
我每天都会来看一看进展情况滴:)

u0u0 | December 1, 2006 1:38 PM

关注,也用招行卡

chunlin | December 1, 2006 1:41 PM

其实我觉得用activex的网上银行都比较烂,但是还是用招行了,因为国内的网银都是这样的.

过客 | December 1, 2006 4:20 PM

看得出来,楼主是个有技术、有责任感的好人,但其中有些观点我不赞成,行为方式更有问题。

说楼主行为方式有问题,是国外网上银行普遍采用极原始的安全措施,输个密码+有效期就能转钱,原因在于,法律保护银行这样的商业机构,擅自研究、散布银行技术秘密是违法行为。楼主已经走到了边缘,国内司法机关虽然一般不管事,但万一追究起来,后果难料。劝楼主及时打住。

有些观点我不赞成,例如“安全设施必须告知相关的人员,而不是加以不必要的隐蔽和强制”等等,IBM就封闭其系统,安全性得到大家的认可。大量的反病毒公司都隐藏了大量的技术细节,如果公开了,我估计病毒比他还厉害。

总得来说,很高兴看到楼主的blog,希望能交流。

路人甲 | December 1, 2006 5:27 PM

可以看出,楼主还是有点安全知识的。为了避免因为密码丢失导致经济损失,可以考虑使用基于智能卡技术的证书体系,可以保证安全。

此外,楼主对于WinIO的理解还是有点问题:WinIO是为了能够直接操作硬件而出现的,可以直接操作硬件端口,绕过系统对直接硬件操作的屏蔽。但是,不能利用WinIO获取用户的输入的。我想,楼主认为使用了WinIO而不安全是因为担心这个“第三方”提供的驱动和动态库会有连银行都不知道的后门/木马吧。

其实,WinIO的实现非常简单,用Windows DDK中的示例略作修改就可以达成,这里也要批评招行,有点懒了!!

zkensen | December 2, 2006 12:08 AM

支持lz,赞死磕精神!
可惜目前没有第二选择阿,sigh~~

一个过客 | December 2, 2006 12:37 AM

鉴于你这句话:“我不关注国内的其他银行,因为与招商银行相比,这些银行恐怕更不值得信任。我想要的是,招商银行修正他们目前的做法,并杜绝此类事件再次发生。好,就这样。”我认为你还是有必要证明一下别的银行是不是真的“更不值得信任”!!!要知道,可能因为你这一篇文章,导致一部分用户投向“更不值得信任”的阵营,因此说不定就会发生损失呢?做人要负责任,既然说出了一家的坏处,就不要漏掉别家的缺点!

this | December 2, 2006 5:54 AM

这事儿应该委托律师发个建议函,光在网上施压没用的,反而越来越糟。

a | December 4, 2006 12:10 AM

:“我不关注国内的其他银行,因为与招商银行相比,这些银行恐怕更不值得信任。我想要的是,招商银行修正他们目前的做法,并杜绝此类事件再次发生。好,就这样。”

支持把其他银行的罪行罗列出来,我一直用建行的网银,感觉蛮好用的阿,这样说我好后怕,要不要换呢

eric.zhao | December 18, 2006 11:11 AM

自从工行实行了‘口令卡’后,我就办理了网上银行,来给支付宝充值、取款。
用的都挺好,感觉口令卡挺不错,比较麻烦的是每次取款、支付,都需要重启电脑到windows下才可以。

醉梦流仙 | February 12, 2007 10:35 AM

要破,也要立。
如果像你这样只是破,那毫无意义。。

网银的安全要怎么做?我是研究游戏安全的,顺便也研究了一下网银,实际上网银做不到绝对安全,只要你用计算机,不管你用什么技术手段都不可能有绝对安全,只是需要增加难度,通过增加门槛让木马制作更困难些。。

你一味的追究数字签名这样的问题,更是舍本逐末,对大部分用户而言是否签名没有意义,签名也保护不了程序安全——可以运行时修改内存。。

总之,程序放在客户端执行,不可能做到完美,只能通过把事情搞复杂,提高技术门槛,来减少木马。。

加了这个ActiveX控件,起码通用型木马截取不到其密码,难道不是进步?

安全不能建立在别人不知道的基础上,这是过于理想化。你的银行卡,为什么我不能网上取你的款,那就是因为我不知道你的卡号/密码/身份证等等;你的这个BLOG为什么我不能冒充你的身份登录发表文章,只是因为我不知道你的用户名/密码;为什么现在有大量的加壳软件?就是要把程序搞复杂,让人难破解。。

实际上运行在客户端的东西,总是可以研究透的,只是时间问题,那还加壳干嘛,以前很多公司用软件狗,现在很多共享软件用序列号,难道它们都是不能破解的?不可能,只是难度问题。复杂度和难度达到一定程度,就可以挡住很多或者说多数攻击者,这样至少比祼奔要安全。

Xin LI | February 12, 2007 2:56 PM

楼上这位醉梦流仙朋友,我想你可能并不了解我的意思,所以对我的这些言论产生了一些误解。

“安全不能建立在别人不知道的基础上”这句话说的是安全机制,而不是你的密码、密钥。密码、密钥在任何时候都要保证保密性,但安全机制本身不是。如果有两个锁匠,一个将自己的锁的设计秘而不宣,声称窃贼无法破解,因为它不是公开的;另一个则将自己的设计完全公之于众,让全世界的锁匠都能够评估其安全性,并且得到了整个行业的认可,你愿意相信第一个,还是第二个?公开,是公钥密码学在过去几十年内能够获得生存和发展机遇,并保障你的安全的至关重要的,可以说是最为核心的因素。这个行业短短几十年历史上的一系列血的教训已经一再地证明,公开的加密算法、安全机制,要远比秘而不宣的各种算法要安全和可靠。

网银安全怎么做?不管用什么技术手段,首先这种技术手段本身不能是危害用户安全的。我之所以追究数字签名问题,正是因为这个问题对全体用户的安全都是致命的,而不仅仅是个别没有任何安全常识的用户;我之所以追究招商银行开发一个不安全的驱动程序,听任一个非管理员用户去绕过操作系统保护机制访问硬件,同样是因为这对我们,全体用户的安全是致命的;我之所以追究招商银行强迫用户必须用管理员身份登录才能使用网上银行专业版,原因仍然十分简单,这对用户的安全会产生决定性的负面影响。如此的网银所采取的一系列所谓“安全机制”,在一个专业人士,例如您的眼中,应该根本不是什么“提高门槛”,而是彻头彻尾的外行做法,它在严重地损害用户利益,危害他们原本就不十分健壮的安全。

我不清楚,有什么问题可以比你无法确认一个可执行文件,这个可执行文件声称来自银行,并且将用来接受你输入口令,而无法确认它是否来自银行更加严重;我不清楚,有什么问题可以比在你的计算机上,在不经你的确认的情况下安装一个普通用户可以随意invoke的、可以直接访问硬件的驱动程序更加严重;我不知道,对于一个专业的安全技术人员,要被迫容忍在关系到自己切身利益的银行,雇用一批对安全基本常识存在误解,并强迫你也以这种外行才去采用的,以管理员身份执行与系统管理不相关的操作,是一种什么感觉。

关于您对密码的认知,我感到十分不解。如果一个木马已经被种到了你的系统上,我们能指望什么机制保证安全?在我看来,所谓ActiveX控件来阻挡“通用木马”是一个十分荒谬和幼稚的想法,因为既然有了木马,攻击者完全可以做一个假的应用程序出来骗取口令,至于证书,有了木马,想拿到它也是一件轻而易举的事。好比说,如果一个想要得到财宝的窃贼,明知道绕过迷宫可以拿到财宝,他会去研究怎么走那个充满了陷阱的迷宫,还是绕过迷宫,直接拿了财宝就跑?

可笑的是,招商银行这样一家在我看来曾经很具专业水准的银行,竟然坚持这种做法,更可笑的是,竟然还有人要为这样的做法叫好,被人卖了,还要帮人贩子数钱。至于说我“破”而不“立”的问题,且不论我已经给出的“回退”是否是一个解决问题的选项,我想问问,中国有句古话叫“没有金刚钻,别揽那瓷器活”是什么意思?一家银行,如果它没有能力保障客户的安全,是否要客户去替它想办法?一个开发团队,如果没有能力开发安全的程序,甚至混淆了基本的安全概念,是否还有颜面继续在一家银行上班?而少数给银行充当写手的小人,你们自己是不是在这家银行没有存款?

醉梦流仙 | February 13, 2007 12:17 PM

我可以很负责任的说,在现在的现实状况之下
a)windows安全体系的设计不当——所有程序只要以管理员运行,就可以为所欲为。木马可以做到任何事。对新木马、针对性木马、驱动型木马,杀毒软件形同虚设;
b)90%的用户安全意识不高——虽然杀毒软件用处有限,但这些用户连这有限的用处都使用不完全,使用盗版杀毒软件,病毒库过时等问题。windows update大量用户更新不及时。。

在这些状况之下,你几乎对用户的安全意识和计算机安全防护不能作任何指望,也就是,你必须尽量帮助用户不中木马,尽量在用户中了木马的情况下仍能保障密码安全。

形势即是如此,你觉得如何可以保证用户安全?
在这个特定需求中,需要的不是一种绝对安全的机制,因为这种机制不存在——客户端已经被恶意软件控制,任何基于软件的安全机制都是不可靠的。。
现在只能是保证尽量多的用户的安全,而不是所有。在招行的这种考虑大多数用户的机制中,像你这样的高端技术人士被排除在外了——你接受不了必须管理员登录、文件不签名等一系列很不安全的做法。。

为了多数用户,这些有些是必须的,比如必须管理员登录,我想是为了保证装上ActiveX,因为如果提供非管理员方式,那就要提供非ActiveX的登录方式,那木马就可以绕过ActiveX了。。驱动那个我没研究过,不发表意见。

你的“回退”我没看到是什么(主贴没有,在其他贴?),所以我无法作评价。。。

综合一点说,我觉得招行的做法无可厚非,如果说不能提供100%安全的服务就不应该提供服务,那我相信现在就没有网络安全这回事了,据称国外的大银行都是直接html输入框输入的,最多用个javascript的软键盘,不知你以为这种方式如何?以你的逻辑他们更不应该提供网上银行服务了,它们连基本的通用木马都不能防范。

搞技术的容易偏执,我认为你也属于这类——当然,没有贬义。。
这个世界上很多事是没法做完美的,如果没法完美,那就应该尽量完美,招行已经努力在做到这个“尽量”,希望不要过于苛求。

声明一下,我不是招行工作人员,我是网游公司的,我们的服务对象有类似的烦恼——盗号,所以我对这些研究较多,招行的ActiveX其实并不太安全,我就已经破解了,但毕竟还有很多菜鸟破解不了,招行挡住这些木马制作者,至少可以让招行相对更安全一些。而且可以更有针对性的以其他手段(比如法律)来解决少量针对性的木马——前段时间有个事件,你搜索“网银大盗 招行”即可看到,我相信就属于此类,即有人破解了招行的ActiveX,不过被招行扼杀在萌芽。这可以视为使用ActiveX的好处,即可以针对性的解决,而不是每个木马可以随意宰割招行。

再顺便讨论深一点,我觉得硬件机制的会更安全一些,比如招行专业版和财富帐户可以用USB key登录。用硬件就可以避免软件的很多问题,木马即使可以拿到固化在硬件里的算法,也拿不到硬件里的序列号或种子等信息。。。
所以我现在已经在使用招行财富帐户USB key

btw 我这几年的工资都是发到招行的,所以不要说我在招行没有存款。

醉梦流仙 | February 13, 2007 12:26 PM

另外,对于你这段“如果一个木马已经被种到了你的系统上,我们能指望什么机制保证安全?…………..”

你这是过于理想化的想法。。

在技术上,确实是这样,但我们是生活在现实中,现实不是一个理想化的世界。

恶意软件制作者,技术有高下之分。每个技术都不是每个人都了解的。。正如现实中大部分锁其实都是可以打开的——到处都有“开锁”的锁匠打的广告。你应该承认从技术上,确实大部分锁都是比较容易打开的,只要你掌握相关技术。。那问题出来了,你为什么还要在家里装锁呢?而且还要尽量用安全性能更高的锁。。

这是因为,现实中你默认了这个原则:那就是尽量安全会更好一些,哪怕不是绝对安全。。为什么在计算机上,在网络上你就想不通了呢?如果你不认可,那请你把你家的锁换成安全等级很低的锁或者干脆不锁好了。因为反正锁都是可以开的,没什么区别。

Xin LI | February 14, 2007 2:27 AM

这位朋友这样说我完全可以理解,但是我仍然不认同你的观点。

既然这位朋友说到了网游,我们不妨看看网游和网银存在什么样的不同。

在这个世界上任何一个人口超过2000万的国家和地区,金融犯罪都被归为严重的刑事犯罪。我从不认为,银行有权力,或者可以采取和不恰当的、危害公众安全的行为去保护另一些人的安全,这是一种妨碍司法的行为,在我看来和私设公堂刑讯逼供性质是一样的。作为个人,也许可以在家里的地上放钉板来加强安全,因为家中属于私人领域,而作为银行却不能这样做,因为它的服务对象是公众。

银行可以采用的保护方式是什么?严格的门禁系统,它确保了只有银行的工作人员能够在工作时间以可靠的身份验证方式出入,请注意,银行可以采用的保护措施,并不包括限制其客户的人身自由,更不包括强制剥夺其用户在不伤害其他人的前提下,自我保护的权利。例如,银行不可以因为用户的存折会丢失,就强制用户配一个自己指定的保安;银行不可以因为用户的密码会在无意间说给别人,就强迫用户喝一杯硫酸铜变成哑巴。

因此,所谓“保护多数用户安全”这种说法是站不住脚的。尽管我是做技术的,但是我从不认为技术,或者说仅仅靠技术,就能够解决我们生活中的每一个具体问题。网络游戏需要如此复杂的保护机制,是因为相关法律、法规还不是十分健全,而这并不是金融领域的情况。盗窃虚拟财产,也许法院不能把实施盗窃的人怎么样(我没有研究过相关法律,只是听说过一些法院遇到过这样的难题),而盗窃其他人的实体财产,这是实实在在的刑事犯罪,银行应该做的是向公检法机构提供证据,而不是自作主张地做一些事实上不利于全体用户安全的技术手段。

还有一个情况可能您并不了解。招商银行现在在客服人员收到咨询时,第一件事就是问对方是否是以管理员身份登录。我完全认可安装程序时采用管理员身份,但是,运行网银的时候有这个必要吗?大家都是业内人士,这一点点基本的安全常识上的问题,您认为招商银行应该犯吗?作为用户,他们卡着你的脖子让你做一件你明知不好的事情,你能感到满意吗?

作为一个长期关注信息系统安全,并拥有为一些大型系统进行代码安全审计经验的技术爱好者,我还有一个经验要和大家分享。如果一个软件有1个已经发现的漏洞,那么这个软件至少还有2个没有发现的漏洞;而如果一个软件在安全方面存在方向性的架构缺陷,我敢断言这个软件的安全性几乎一定是不可救药。现在招商银行给我的印象就是,他们开发网银的某些技术人员,对安全的认知存在根本上的错误,并且他们拒绝对这些问题进行任何改动。我不知道,我如何能够信任这样一些人开发的软件,而这软件还关系到我在银行里的存款。

还有就是,Windows之所以有现在我们需要面对的种种安全问题,最主要的原因并不是其安全体系不严密,而是其默认配置存在很多问题,加上许多开发人员不知道如何设计安全。我不希望在系统中安装破坏经过精心配置的安全的程序,即使那是网上银行也是如此。

我并不否认,招商银行网银所采取的一系列措施的出发点,确实是希望改善用户的安全,然而,我们并不能因为他们有这种美好的意愿,就断言他们的开发人员一定具备所需的素质和能力。招商银行的问题在于,他们在未经用户同意,甚至没有进行任何告知的情况下,变动了用户本地的设置;另一方面,专业版出现的所有这些问题,很明显没有进行过任何有效的、从用户角度出发的测试,作为一个开发人员,你说,测试一个软件在64位平台上,进行变动之前和之后是否能够正常运行这件事难吗?作为一个Windows程序开发人员,判断一下用户使用的Windows操作系统版本,给出一个稍微友好一点的提示,难吗?作为一个项目经理,在明知自己的改动引入了严重的回归问题(之前的版本在64位系统上完全能够使用,现在则不行),做出“回退”这项决定,或者哪怕仅仅是允许某些特定build的网银版本运行,难吗?

我总结一下我的观点,招商银行的问题在于,他们的采取的技术手段妨碍了用户采用正确、良好安全习惯规避风险的自由,而不仅仅在于其采用的技术本身存在严重的缺陷——尽管我在尽力回避,但我仍然无法抑制我对招商银行的开发人员,是否具备,哪怕是开发Windows程序所需的最基本的、阅读文档和在发布前进行基本的功能测试这些最基本的职业素质,以及一个软件从业人的职业道德,发出强烈的质疑。

我基本上倾向于赞同使用类似SecureID这样的动态密码技术来改善安全性的做法,即,招商银行应考虑采取证书(本地口令保护、公钥体系验证)+硬件(用于确认证书所有者在场,或至少能够知悉发生问题的情况)这样的方式,作为一个提供给用户的可选项。我也完全愿意为此支付合理的费用,因为这至少比现在招行所采取的一系列南辕北辙的所谓“安全措施”要现实的多。

至于这些看法是否偏执,也许有,也许没有,但我认为所有人都能够接受的观点,至少包括:

  1. 安全是有代价的,靠一些突发奇想的、旁门左道的方法,如增加一个驱动等等,并不能从根本上解决问题。设计安全机制的人绝对不能偷懒,更不能采取一些臆想的、实际上是破坏安全的“安全手段”,因为这些在给用户安全假想的同时,使他们丧失了相应的警惕性,甚至破坏了原本脆弱的安全。
  2. 一个不完善的方案(注意,我用的是完善,而不是完美这个词)有时会给所有人带来严重的伤害。
  3. 招商银行自去年11月开始所作的一系列安全调整,违背了一些安全常识,包括他们后来已经改正的没有数字签名这些问题,都暴露出招商银行的一部分人对于安全认知的不足和局限。这些认知的不足和局限,对于用户而言是有害的,哪怕只是悄悄的改正,作为用户也会欢迎。
  4. 负责网上银行专业版的开发人员和产品的项目经理,应接受足够的安全、软件发布工程等方面的培训,才能够胜任目前的工作,建议招商银行为他们提供这样的机会。
  5. 招商银行目前为止,没有对我本人做出任何正面或负面的官方回应。这种不作为的行为,已经导致我为此多支付了大量时间和金钱的成本。如果招商银行继续坚持目前的沉默、冷处理态度,我将采取相应的法律措施来保护自己的权益。

本来我原本已经不打算过多参与这件事了,由于各位网友如此热情,加上一些媒体朋友的要求,我已经开始重新评估是否有必要在适当的时候,从专业角度向他们提供相关信息的潜在可能。

8787A | March 19, 2007 12:52 PM

安全是有成本的;
企业是要盈利的;
所以如果损害一部分人而自身能更多地盈利的行为,企业自然会乐于为之。

恨铁不成钢 | March 20, 2007 12:51 PM

楼主说的好. 本人佩服死你了.我有向你一样的安全意识,但没有你那么专业的安全知识.对招行,我的评价是:确实是国内网银作的最好的银行,但也确实还有提高的空间.批评它是因为我们希望他作的更完美.这样我就可以毫无后顾之忧的把钱存在这家银行了.其他银行根本不考虑.但是鉴于目前他们仍然还有缺陷,所以我会非常谨慎的使用他的网上银行(其他银行的连用都不用).但是总担着心的滋味不好受,什么时候招行才能让我完全放心呢?
另外,也同意楼主的意见:招行过去安全作的好,并不代表将来一直好.如果让一个饭桶项目经理去接管新的网上银行升级工作,而且还强迫中止以前的网上银行使用,实在是让人放心不下.不是我说话苛课,有些人你不给他压力他就永远不知道努力,而他自己也无法提高. 还有,就是网上银行版本更新能否慎重点?多测试一段时间让他完善了再发表?别向微软似的不断发新软件,又不断发补丁,让用户总跟在他们屁股后面疲于奔命,谁有时间总投在网上银行软件的升级上?而且升一次级又多一次风险.能否作出一款"经典"一点的软件?