冷漠PS:小金的文章都不错,一开始先带读者进入一个场景,然后铺开来讲,这样更容易吸引读者..不错不错..
作者:小金

一. 神秘的购物事件

大学生小蒙最讨厌逛街购物,相对于逛街需要花费的时间和力气而言,她更喜欢在网络上通过交易平台选购物品,然后等待货物送到自己手上,久而久之,她便完全依赖这个网络交易平台并成为众多忠实用户之一了。
可是,最近小蒙有了些许烦恼,她在某交易平台上的账号屡出怪事,经常一觉醒来就发现自己购买了一两件莫名其妙的东西,并且还立即拨款给卖家了,可是无论自己如何努力的回忆,都想不起自己什么时候下过订单,运气好的是大部分卖家在听到小蒙的解释后批准了退款,但也有一些手快的卖家已经发货,小蒙只好自认倒霉。小蒙怀疑密码被人窃取了,因此小心翼翼的改了几次密码,可是每次都是没过几天,这个神秘的购物事件又在继续了。终于,在一次“自己”又偷偷买下了一个电动剃须刀以后,小蒙决定拨打客服电话和登录客户交流论坛寻求支援。
到了交易厂商的论坛里,小蒙才发现这里已经闹开了,有些人发帖声称交易平台存在安全漏洞必须对用户负责,但厂商方面却说这是无中生有,而后就没再出现过“捣乱”的帖子了。小蒙并不是很懂计算机,可是看着回帖里大家都是一致的赞美和肯定厂商对安全的重视和对用户的负责,她心里最初的怀疑也消殆了,最后,论坛上的客服和热心用户一致认为她是感染了木马病毒,并为她推荐了杀毒软件,果然清理出好几个病毒,这下,小蒙心里的石头落了地。
这次杀毒以后,小蒙监视了一个星期,神秘的购物事件都没有再出现,她也就放心的继续自己的正常生活了,直到两星期后,面对着“自己”买给自己的一个特大布娃娃,小蒙才知道,这个噩梦并没有结束……

如果要盘点2007年初国内最大的安全漏洞,那么,某交易支付平台厂商的漏洞应该首当其冲,只是,早该公布的真相已经被厂商和广大用户自己亲手掩埋了……

======================我是分隔线大人=======================
作者注:本文提及的购物事件纯属杜撰,仅为了从生活的实际方面强调类似平台如果发生问题的严重后果,现实中应该尚未来得及出现此案例

**此文仅为介绍支付平台的一些肤浅原理概念以及诚信的影响,请勿对号入座**
======================华丽的分隔线=========================

二. 网络交易的信任基础——网络支付平台

如今很热火的网络交易其实并非新兴事物,早在网络刚起步的时候,国内就已经有人设想过网络交易的雏形,并为之推出过“网络生存”这类力求吸引眼球的活动了,只是当初国内网络仍然属于老百姓望而却步的神秘高科技,一时之间竟造成无人敢吃这只螃蟹的状况,网络交易的最初实施方案终因为生不逢时而淡然退场。
然而并非所有人都会将这个看似荒谬的构思忽略掉的,一部分人早已预见到几年后的电脑网络普及范围,于是,在宽带普及神州大地的同时,网络交易的设想再次复活,而且,最关键的环节——“信任与避免欺骗”也以一个能被大众接受的形态正式诞生了,那就是“网络支付平台”技术,简单的说,它就是为了让互相不信任的买卖双方产生一致的基本信任关系而搭建的“中间人”(Agent)代理平台,在这个基础上,网络交易开始步入寻常百姓家。
网络支付平台很巧妙的抓住了人的心理,众所周知,网络由于是虚拟的存在,通过网络进行交易的双方都必将得不到和现实交易等同的保障,买方无法相信卖方一定会在收到货款后立即给买方发货,卖方也无法相信买方一定会在收到货物后给卖方付款,这就是网络交易中必须面临的信任危机。而网络支付平台技术以一种值得信赖的中间人形式介入交易双方,如此一来,买卖双方只要信任这个平台,便是达成了对彼此的信任,于是交易也就得以进行:首先,买方通过浏览卖方在网络交易平台发布的商品信息,并付款购买,这时候买方的资金流入支付平台代为保管;其次,卖方通过网络交易平台看到索取信息,并查询到支付平台上买家已经支付的货款,所以卖家正式发货;最后,买方收到货物,确认无误后通过支付平台完成真正的付款操作,卖方到这个时候才能真正得到货款。同时为了避免买方拿到货后拒绝付款,支付平台还会设置一个合适的支付期限,超过期限而买方又未提出退款要求的,支付平台就自动拨款给卖方;如果买方要求退款而且也获得卖方同意的话,资金就会退给买方,否则资金会被冻结在支付平台里,直到交易的双方协商得到结果或者支付平台的工作人员否认卖方属于合法交易为止。
人们因为不信任对方而改为去信任支付平台,可是,我又能凭什么理由去信任你,支付平台?

1.数字证书:建立支付平台的信任基础

既然支付平台可以暂时保管交易方的资金,那么它就必须是在现实中通过合法手续办理营业证书的单位,这个途径自然由工商局来保证,但是在网络上,谁来保障自己登录的这个支付平台的真伪度?因而,支付平台必须使用一种不能让别人随意仿制的技术来保证用户能够有效的检验自己登录的网站的真伪度,这个技术就是“数字证书”(Digital Certificate),“数字证书”由被全世界认可的机构负责管理,它就是“认证中心”(Certification Authority,CA),CA是认证机构的国际通称,它的实体由几个认证机构负责管理,目前在全球处于领导地位的认证中心是美国的VeriSign公司,创建于1995年4月,总部在美国加州的Mountain View。“数字证书”能够实现以下功能:
保密性:如何保证电子商务中涉及的大量保密信息在公开网络的传输过程中不被窃取
完整性:如何保证电子商务中所传输的交易信息不被中途篡改及通过重复发送进行虚假交易
身份认证与授权:在电子商务的交易过程中,如何对双方进行认证,以保证交易双方身份的正确性
抗抵赖:在电子商务的交易完成后,如何保证交易的任何一方无法否认已发生的交易

如何检验支付平台的证书呢?当我们访问支付平台网站时,在浏览器页面的空白位置右击鼠标,选择“属性”,然后点击右下角的“证书”,如果网站是伪造的,那么它一般是没有提供数字证书权限的,因此这里会提示“没有安全证书”,而涉及重要数据的网站,通常会提供安全的数据传输方式,和一份通过国际公认的CA组织颁发的能够证明自己的数字证书,因此我们能够在真正的支付平台网站上看到证书的详细信息,并要留意它的描述是否和实际的网站一致。目前国内几个大型支付平台的证书都是VeriSign颁发的,它的国内代理机构是天威诚信,这是VeriSign大众华区唯一授权合作伙伴,也是信产部下属的电子认证机构,是知名的全国性第三方商业型CA中心和信息安全电子商务公司。

2.安全的网络数据传输:保障支付平台的隐私

虽然支付平台已经拥有了有效的证书,但是用户的交易并不会因此得到真正保障,所有数据传输都要经过许多网络设备进行中转,而且为了确保易用性,交易平台必须是最能普及大众的形式,而不能仅局限于厂商自己开发的交易程序,这样一来,最终的选择只能有一个,那就是以“网站”的形式出现,所以交易平台被设计为动态页面,用户在网站上面完成人与人之间的交互。
但是这个形式却给支付平台的安全性带来了威胁:最普遍存在的网站形式,其数据也是以最普遍的明文方式传输的,并且,这些数据可以被拦截和篡改,如果用户无法确保自己输入的金额数目在重重传输中会不会被篡改,那么这种交易方式还有什么值得信任的呢?
为了打消用户的顾虑,任何合法的支付平台厂商都会使用一种旁人无法查看和篡改数据内容的方式来进行网络传输,那就是“安全的HTTP传输协议”,它建立在数据加密的基础上。
通常的网站交互数据传输是通过“HTTP协议”进行的,它占用80端口,然而这并不是唯一的网站交互形式,为了不让现有的HTTP传输通道过于复杂,人们另外启用一个专门的HTTP加密数据传输通道,这就是“安全套接字协议层”(Security Socket Layer,SSL)以及“安全HTTP协议”(HTTP Security,HTTPS),这个加密的数据传输协议使用443端口。建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一起发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
SSL的安全性在于它的数据无法篡改,即使中途被入侵者拦截,入侵者也无法直接看到传输中的真实数据内容,由于它采用高达64位和128位(当前普遍可见的级别),甚至256位机别的密钥随机加密技术,入侵者想要即时破译是不可能的事情,而当入侵者破译出内容时,数据早已经过时了,即使入侵者采用事先伪造的加密数据来实施欺骗,也会由于Hash值不同而视为无效数据处理。
当浏览器启用SSL传输时,网站的协议前缀就不再是http://,而是https://,同时浏览器的状态栏会出现一个金色的锁头。任何涉及电子商务的站点都必须采用安全传输协议,而同时也不是任何站点都能随便开放安全传输协议的,因为开启安全协议需要通过数字证书的申请,所以如今被滥用的钓鱼网站几乎都是普通HTTP协议的,只要用户仔细看就不难发现。

3.必要的自身安全:本地数据的隐私保证

除了上述的两种安全,还有一种更重要的,那就是支付平台在用户本地机器环境上的安全,因为用户的机器是交互的开始之处,也是最复杂的,如果一个支付平台做到了数字证书认证和数据传输安全保障,却在用户环境的数据交互部分造成严重问题,那么,多年积累下来的口碑也会被毁于一旦。
支付平台在用户机器上的存在形式是一种浏览器插件“BHO”(Browser Helper Object,浏览器辅助对象),它是微软早在1999年推出的作为浏览器对第三方程序员开放交互接口的业界标准,它是一种可以让程序员使用简单代码进入浏览器领域的“交互接口”(INTERACTIVED Interface)。
在这里,支付平台插件的作用是将本地页面里的敏感数据输入框加密,并阻止键盘记录器收集用户的输入,这样就避免了一般页面的“明文输入”隐患(虽然用户在密码框里输入的字符是不可见的,但它实际上仍然是可以直接被相关工具拦截查看的),设想一下,即使一个网络银行在站点和传输方面已经实现了绝对的安全,可是在用户输入用户名和密码的页面里却未加任何防范,导致用户输入的数据直接被特定的后台程序记录并发送给幕后黑手,那么,这后面的安全数据传输无论多么安全也已经没有意义了。
通常情况下,支付平台厂商自然会顾及到这些重要的本地数据加密功能,但是,如果负责处理这些工作、并可能储存着真实的用户敏感数据的支付平台插件自身出了问题呢?

三. 网络交易的信任危机——被攻陷的网络支付平台控件

自从上次那个布娃娃以后,小蒙存放在支付平台上的金额也所剩无几了,她已经不敢再像以前那样为了方便而让支付平台上随时都保持着一定数额的金钱了,所以“自己”除了有几次恶作剧似的拍下了价格昂贵的名车和钻戒以外再无发生过经济损失,但是小蒙也不堪忍受卖家的质问,又来到平台厂商的交流论坛了,这次她发现厂商发布了正式公告并要求造谣者停止侵权,还给出了某权威认证检测机构的书面证明,同时声称“为了让用户更安全,我们加固了控件,请用户及时升级”,而小蒙想起自己当初胡乱设置把升级提示给取消了,她立刻升级了支付平台控件,然后尝试往账户上充了少数金额。
几天过去了,支付平台那边都没再有任何动静,今天,小蒙照例上电子信箱收取信件,又发现了一封自称“爱慕她的人”发的贺卡,这个神秘的发信者前段时间就出现了,她和以往一样想点开信件查看内容,然后删除,可是浏览器在打开信件时突然失去响应了,最后出现非法操作,小蒙试了好几次都没有办法,只好作罢。
但是这次以后,小蒙的支付平台就没再受到神秘的骚扰了,她虽然不解,却也松了口气:终于,一切都结束了……

事实上,除了安全研究人员和支付平台厂商自己,对于广大用户来说,天下一直都是太平的,因为谁也不会想到,他们非常信任的支付平台也会出现漏洞。

早在去年底,国内安全组织就已经发现了一个支付平台厂商的控件存在安全问题,并迅速联系了厂商解决,然而厂商的反映却不是他们想象的那样积极,也未采取真正有效的措施弥补这个问题,于是在今年初,这个漏洞以“0day”的形式公布了,这次,厂商终于开始有所行动了。
---------------------------------------------------------------
小知识:什么是“0day”
0day并非一种特定的攻击漏洞,它是对“攻击先行于安全补丁”的攻击行为的统称,0day是一直就存在的,但它们仅仅在少数团体和个人之间悄然流传,主要用于安全交流,从而不会导致大规模的网络攻击事件罢了,只是近年来,越来越多的人为了某些目的,大肆的公开这些尚未被安全厂商发布公告和提供相应补丁代码的攻击利用代码,甚至为了利益而出售0day,最终造成0day性质的攻击代码到处流传而引发危机,这样的攻击就被称为“Zero-Day-Attack”(零日攻击),自从典型的0day攻击“WMF漏洞”第一次打破了0day的“少数人交流”守则后,越来越多0day性质的攻击浮出了水面,0day攻击的危害,最大程度并非在于它的利用漏洞,而是因为,它,在被公布出来直到厂商发布相关补丁的一段时间内都无丁可补,这段时间,被称为零日攻击的“防护真空期”。
---------------------------------------------------------------

引发漏洞的是该厂商开发的支付平台控件,其内部的一个函数导致了溢出错误,远程攻击者可以利用这个漏洞在被攻击者系统上执行任意代码,进而可安装木马以及间谍程序,窃取相关敏感信息。
漏洞的利用代码已经发布,只要稍加研究就不难做出危害程度严重的漏洞攻击程序,同时国内某杀毒软件厂商也指出了漏洞的存在,该支付平台厂商自然知道事态的严重,于是匆忙将漏洞修复并发布更新程序,但是这些内幕,许多用户根本不知道,更不会去相信某些人的“无中生有”,因为厂商已经开始了欲盖弥彰的行动。

---------------------------------------------------------------
小知识:什么是溢出
“溢出”(Overflow)通常是与“缓冲区”(Buffer)存在密切联系的,当程序向内存写入数据时,必须向系统申请一片内存领域用于存放数据,这个内存领域被称为“缓冲区”,正常情况下程序会检查数据长度并且不允许输入超过缓冲区长度的字符串,但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上,这就发生了所谓的“缓冲区溢出”(Buffer Overflow),它能导致多种后果的产生,一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过入侵者精心设计的,覆盖缓冲区的数据恰恰是黑客的入侵程序代码,被溢出的程序就会在它依据自身执行机制来处理缓冲区时,执行了这段入侵程序代码,从而让程序作出非设计者期望的预期行为。这段入侵程序代码被称为“ShellCode”,一段精心设计的ShellCode可以执行多种命令,如添加系统权限账户、开启一个远程登录交互界面等。
---------------------------------------------------------------

安全,始终是个敏感的话题,而涉及到可能发生资金损失的安全问题,是更加敏感的,甚至会引起相当一部分用户的恐慌和质疑,从而不再敢使用存在这个严重隐患的支付平台,尤其在国内,大部分用户的计算机安全常识并不高,甚至不了解安全的定义,他们并不关心漏洞是否存在和是否修复,但是只要听说这个支付平台会导致自己钱财损失,就会引发大批用户恐慌的连锁反应,严重的可能导致该交易平台从此一蹶不振。这一点,相信厂商要比安全研究人员明白得多。
所以,厂商是宁愿采取低调解决也不愿事情浮上水面的,在偷偷修复漏洞的同时,他们在媒体面前否认了安全漏洞的存在,将安全界的消息说成诬陷,更请来所谓的安全认证权威检测机构给出了“绝对的安全证明”,同时发动一批群众带头鼓噪厂商对安全的重视,利用社会工程学让许多用户也相信这一切安全事件都是欺骗,从而形成一个坚信“这个支付平台绝对安全”的滚雪球效应。最后,厂商的表面功夫做完了,可他们心里比谁都清楚,一旦真正有用的漏洞代码被公布,一场风暴很难避免,于是在提出“绝对安全”的公告结尾处,出现了一行很巧妙的文字:“为了用户更安全,我们加固了控件。如果您看到升级提示,请按要求操作。”
但是,厂商的更新措施有点问题,并非所有用户都能收到升级提示,也不是所有用户都会来关注厂商论坛,这个严重的漏洞,始终像颗炸弹,深埋在用户的计算机中。

我不知道有多少用户看到这里的时候已经在脑袋里产生“使用网络支付平台等于引狼入室”的念头并要将它从自己的世界里消灭了,实际上,厂商就是为了避免用户出现这样的极端行为,才对事情真相的公布加以百般阻挠的,其实我们只要冷静下来仔细分析,一切都是能够了然的,首先,任何程序都有可能出现漏洞,从来就不会出现一个十全十美的程序,任何程序都要依照“公布发行——发现漏洞——修复漏洞——发布更新”的步骤来完善自身,世界上没有绝对的安全,举一个最简单的例子,普通用户最容易使用的Windows系统就有几千个漏洞,那么我们是不是在遭遇漏洞带来的损失后,就要永远放弃Windows了呢?这个问题放到这里也是一样的道理,虽然厂商不承认漏洞存在是一种十分不考虑用户利益的做法,但是厂商也以自己的途径发布了更新程序,就这一点来看,厂商还是有些最基本的挽救态度的。
同时,许多用户在看到漏洞公告的时候可能会想,这个漏洞会引发如此严重的后果,那我还是不要去使用网络支付平台了,这样就可以避免被“黑”了!这个想法更是错误的,虽然这个网络支付平台的用户控件存在漏洞,但是网络支付平台自身还是相当安全的,而且,只要你的系统中存在有漏洞的控件,无论你是否访问了网络支付平台,攻击者都可以通过某个特殊构造调用支付控件的网页来实施攻击,达到在受害者的机器上种植后门程序的目的,而只要后门程序在用户的机器上安家了,接下来可能发生的事情就不是我们能预料的了,甚至可以在浏览器中设置一个BHO,监视用户的输入,从而实施敏感信息截获和钓鱼手法等,而这一切,和支付平台自身并没有任何关联。
也有人认为,漏洞这么有害,安全人员不应该公布,这样大家都不会知道了,也就不会出任何问题,就像当年Flashsky公布RPC漏洞导致后来的冲击波蠕虫出现并造成大规模的混乱一样,如果没人公布出来,这一切不就是不会发生了?然而现实并非如此,无论是否有人公布漏洞,漏洞自身的存在都已经是不可改变的事实,被发现只是时间的问题,即使不是你发现漏洞,也有可能被另一个人发现,而如果漏洞发现者没有做出通知厂商修复和发布漏洞信息的行为,而是将自己的成果偷偷使用在入侵与窃取他人敏感数据的用途上,那么现在的网络世界秩序将会是一塌糊涂。事实上,目前已经有许多人这样做了,实际被发现的漏洞远远比公布在大众面前的要多,这些地下流通甚至金钱交易的漏洞就是通称的“0day”。由于软件厂商无法得到漏洞信息,也就不会知道具体的漏洞所在,更无法对漏洞采取有效的修复措施,最终受害的还是广大用户。
而如果软件厂商得到漏洞信息后,不使用正规严肃的态度去发布漏洞信息和解决公告,仅仅是偷偷的更新软件,那么许多用户将无法得知危害存在,也就不会去做软件更新工作了,更何况这次事件里,由于厂商隐瞒真相,用户根本不相信出了这么严重的漏洞,而要收到厂商的升级提示,是需要用户开启一个与交易平台有关的即时通讯程序才能收到的,但是使用这个工具的用户比例,厂商有没有做过统计呢?最重要的是,只要存在漏洞的控件还没更新,用户即使不使用与交易平台有关的操作,也无法躲过漏洞的侵袭,所以,厂商的做法是十分不为用户负责的。
但是我们没必要因为漏洞的存在而拒绝使用网络交易平台,因为谁也无法一次写出非常安全和考虑周到的程序,只希望厂商以后能用正确的态度去对待可能再次发生的问题。

四. 利益为主,还是以人为主?

说到这里,我相信大部分用户都会明白,在这次事件中,究竟是谁撒了谎。安全问题和引发的后果,永远是无法隐瞒的,即使有面对媒体时的极力否认、雇佣枪手掀起好评热潮,甚至通过某些手段为自己谋来一份“权威认证”,漏洞存在的事实也是无法被掩埋的,都说科技以人为主,厂商为了自己的利益和留住用户费了许多苦心,但是为什么却没有为用户的利益着想呢?
Technology | Comments(0) | Trackbacks(0) | Reads(5268)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive