`
jolestar
  • 浏览: 195574 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转贴】从银行ATM的技术角度看许霆案-银行是故意的吗?

阅读更多


   作者:erase 提交日期:2007-12-20 14:58:00   
    原始地址:            http://www.tianya.cn/New/PublicForum/Content.asp?
idWriter=5696620&Key=531752475&strItem=free&idArticle=1076923&flag=1



      从银行ATM的技术角度看许霆案-银行是故意的吗?

刚看到这案子的时候除了觉得许霆很冤外,同时觉得很蹊跷,至少【公开的报道的事实】有很多经不起推敲的地方。

本人以前做过MIS系统个开发和测试,也做过软件硬件的系统集成,不过那是很久前的事情了,也没有涉及到金融系统,所以如果本文有什么问题,请达人指正。


废话少说:
先描述一下我对ATM提款所涉及到的系统硬件、软件的理解:

登陆过程:
ATM接收提款人的身份验证信息(卡+ 密码)-》身份验证信息提交银联网络-》身份验证信息数据提交卡所在银行数据服务器-》卡所在银行数据服务器验证身份信息-》验证结果提交银联网络-》验证结果提交ATM机
登陆成功后ATM机进入操作菜单界面

取款过程:
ATM机 银联网络 卡所在银行数据服务器
输入取款金额
|
验证金额数据合法性(注1)
|
【金额数据】 -》 【金额数据】 -》 【金额数据】
|
验证金额数据合法性(注2)
|
【准予操作】 《- 【准予操作】 《- 如验证数据合法,则【准予操作】
|
吐出纸币
|
生成【操作记录】 -》【操作记录】 -》 【操作记录】
保存操作记录,并从卡中扣除金额

(注1)是否为50或100倍数,是否超过每次提款上限
(注2)是否超过卡中余额,是否超过每次提款上限,是否超过日提款上限,是否超过日提款次数

需要说明的是,ATM机所在的银行并不一定是卡所属的银行,本人目前不知道ATM机所在银行和和卡所属银行究竟是哪些银行。

问题:究竟在什么时候1000变成了1?
推测1:卡所在银行的服务器在保存交易记录时1000变成了1
推测2:ATM将输入的1000变为1然后将1提交给了卡所在银行数据服务器,并且生成的【操作记录】也将吐出的1000记录成1并提交到卡所在银行服务器
推测3:银联网络进行数据处理时将1000变为1

一个小问题需要说明一下,本人认为许霆不可能是输入了1,但ATM吐出了1000,本人没用过广州商业银行的提款机,以在其他银行提款机上的使用经验,许霆如果输入的数字少于50元,应该能够得到类似提示【本提款机只能提供面值50元和100元的人民币,请输入50或100的倍数。。。】,所以许霆输入的不是1元,而应该是1000元。

如果以上的3总推测有1个是正确的,那么本人可以肯定的是,不是ATM机的质量原因或者网络的质量或者是服务器及软件的质量问题引起的,而是人为导致的结果,不管这个人为行为是不是故意的。
相信编过软件和测试过软件的人都清楚,一个隐藏很深的BUG(无论是硬或软的,通常是内存溢出),不可能将1000变为1,因为计算机是2进制的。为什么说是隐藏的很深的BUG呢,那是因为我相信银行的软件及硬件都是经过长时间大负荷地测试联调后才正式上线使用的。那么可能出现的BUG我觉得只是在非常特殊的情况下才出现,象这样连续几个小时都存在的BUG,不能不说非常不可思议。

推测1的解释:
卡所在银行的服务器在保存交易记录时1000变成了1
如果人为地将1000变成1,只需要在程序(一个存储过程)上做小小的改动。可能有人问,为什么卡所在银行的服务器上软件的改动只影响了这一台ATM机呢,那是因为这个ATM向服务器提交数据时同时会告知服务器本ATM机的ID号,在改动程序的时候只需要判断ID号就可以只在这台ATM上实现了。
本人比较相信这种推测:因为实施起来难度较小,至于为什么要这么做,那各位可以去联想。

推测2的解释:
ATM将输入的1000变为1然后将1提交给了卡所在银行数据服务器,并且生成的【操作记录】也将吐出的1000记录成1并提交到卡所在银行服务器。
本人因为没有参与过ATM的开发,所以不知道ATM软件更新的流程是什么。如果仅仅从软件代码的难度上考虑,将ATM机加上一段实现此功能的代码是容易。但是可能碰到的问题是如果卡所在银行限制了每天取款的次数,那么本推测将不成立,因为取款次数高达171次。

推测3的解释
同上,如果卡所在银行限制了每天取款的次数,那么本推测将不成立。银联网络实际上是各银行间进行数据交换的接口,这个接口会将各银行接收到的数据进行格式转换然后转发给其他银行。从技术上讲,修改进行格式转换的代码也有可能达到此目的。

匆匆写就,达人指正。


=================================================================
jolestar 注:      觉得这个分析很有意思,本人没有开发过类似程序,所以不好评论。这里有没有达人能给解释一下?
分享到:
评论
37 楼 qmxle 2008-01-04  
《经济半小时》里面说是提供ATM软件的那家公司(忘了什么名称了),当天刚刚更新过ATM的软件系统,然后就出事了。而且那家公司也给银行赔偿了这笔钱了。
36 楼 realreal2000 2008-01-04  
银行的系统真的经过过严格的测试?
35 楼 lixigua 2007-12-26  
看看别人,面对诱惑抵制不住理直气壮。而我们总想要求我们做个完人。可实际上的社会风气也许要别人差多了。
34 楼 lixigua 2007-12-26  
继续转资料。
http://blog.tianya.cn/blogger/post_show.asp?BlogID=3311&PostID=12147238&idWriter=0&key=0
http://news.sina.com.cn/s/l/2007-12-21/024914568818.shtml
  
    今年是ATM机诞生40周年,这台机器在方便人们生活的同时也偶尔给人们带来麻烦。青年许霆因为利用ATM机故障漏洞取款17.5万元,一审被广州中院判处无期徒刑。银行方面和ATM机制造商继续拒绝接受采访,并声称自己是“此次事件中的受害者”。
  
    本报记者调查发现,国外类似的ATM机故障事件屡见不鲜,多由银行自行处理,警方少有介入。而在英国一起酷似“许霆案”的事件中,利用ATM机漏洞取走13万英镑的一个家庭,其成员分别被判了12个月至15个月不等的监禁。
  
    “许霆取款案”近日成为网络热点,网友纷纷提出质疑。有网友找出国外ATM出错案例,认为法院对许霆量刑过重。记者随后调查发现,类似的案例在国外也时有发生,不过多数银行只是力图追回了事。英国一户人家利用ATM机漏洞取走13.44万英镑(约合200万元人民币),判罚最重的被判15个月监禁。
  
    网友热论中外差异
  
    《都为银行ATM出错:英国银行一提款机故障,数百人排队疯狂取钱,我国小许被判无期》,昨天上午该帖子一出现在天涯论坛,就受到了网友的热捧,很多网友据此对许霆的判罚提出了质疑。
  
    帖主转载的是英国《每日邮报》的报道:英国苏格兰皇家银行一部ATM机去年10月21日发生故障―――取10英镑吐出的却是20英镑。于是数百人排队“占银行便宜”,直到ATM机里面的钱被取光。24岁的理查德?索尼称,他排了一个半小时队,终于接近取款机,但钱已经被取光,他说:“我感到非常失望,因为一些人仅仅排队40分钟,便将他们所有银行卡内的存款全部取出,并且获得了双倍资金。而我们则完全失去了这个大好机会。然而,现场的气氛非常热闹,所有人都沉浸在狂欢宴会似的气氛中。”报道称银行表示要努力追回那些被多取的钱。
  
    《每日邮报》对此事的整个报道,“给人一种喜剧的感觉,在法制较健全的英国,国民把之当成一种幸运降临”,帖主随后提出,“同是ATM出错,英国银行与中国银行与储户都是服务业与客户的关系,都存在客户利用ATM失误恶意支取现金超过本金,在英国警察局没介入,而在我国,小许就成了无期徒刑的案犯呢?”
  
    这个帖子引起强烈反响,一些网友认为帖子侧面说明许霆被判无期过重,网友冥月天涯则评论说:“可见英国法制还不健全,而我国法制建设已经深入人心。”
  
    国外ATM故障引发排队浪潮
  
    本报记者找到了当时的英文报道,确认了帖子所提事件的真实性。记者进一步搜索发现,事实上由于ATM机器故障导致客户多取钱的事件在国外屡见不鲜,而且大多都会引发排队取款浪潮,不管是取款者、银行还是媒体,都没有什么道德讨论。
  
    不过,与“许霆案”不同的是,这些ATM机错误大多都是因为银行工作人员放错不同面额钞票导致的,比如将20英镑钞票放进了10英镑的盒子,导致双倍取款。金额相对不大,“涉案者”众多,银行较难追回所有款项,司法也很少介入。
  
    但本报记者发现了2003年发生在英国考文垂的一次事件,与“许霆案”有很多相似之处,涉案金额较大,进入司法程序,只是判罚与“许霆案”差别较大,只有1年半。
  
    被判15个月十分愤慨
  
    据英国媒体报道,2002年8月份,英国一家银行(考文垂建筑金融合作社)电脑故障,导致其ATM机“狂吐”五天,不管人们输入什么密码,是否正确,取款机都会乖乖地吐出要求金额的钞票。期间有人甚至往返20次取了成千上万英镑,银行总共被取走了100多万英镑。
  
    朱伯特一家人取走了13.441万英镑,警察找到他们的时候,发现了一辆新车、一套新沙发和几张飞往牙买加的机票。
  
  47岁的朱伯特和他20岁的女儿被判15个月监禁,20岁的儿子被判12个月监禁,他45岁的妻子因为身体原因获得延期审判。
  
    尽管承认从机器中拿了钱,但朱伯特太太还是非常愤慨,“我很震惊!我的外孙才1岁半,他的妈妈居然要因为银行的错误在监狱里住15个月!”“我们全家都是普普通通勤奋工作的人,这只是额外赠予,谁不动心呢?”他们的辩护律师尼尔?威廉姆斯认为,站在这样的机器面前,就像小学生站在糖果店面前,“任何人都难以抗拒想多拿一点儿”。另一位辩护者则称,“这是一起没有受害人的犯罪,因为银行可以从保险公司那里得到赔偿”。(来源:南方都市报)
33 楼 抛出异常的爱 2007-12-25  
军队,法庭,监狱国家暴力机构
银行国家暴利机构....
32 楼 linxizeng 2007-12-25  
看到有人如下总结:

①ATM取出假钱 → 银行无责

②网上银行被盗 → 储户责任

③ATM机出现故障 → 用户负责

④银行多给了钱 → 储户义务归还

⑤银行少给了钱 → 离开柜台概不负责

①+②+③+④+⑤ → 流氓机构
31 楼 ddandyy 2007-12-24  
哥哥  这个是未遂......
那边那个数额已经过10W了
30 楼 ray_linn 2007-12-24  
不知道银行行长会不会说:

单元测试做了么?
29 楼 ray_linn 2007-12-24  
lixigua 写道

  按最后法官的说法,ATM机属于“金融机构”,而许霆的做法叫“恶意取款”,既然是金融机构,不是“离柜概不负责”吗?怎么忽然又让人负责了呢?

  事实很简单,“金融机构”出了错,刚好遇到个不太“高尚”的人,为自己的“不高尚”付出了终身坐牢的结果。高尚的人我见过,但见得更多的是和我一样不太高尚的普通人,如果ATM机出错这样的事让我遇到,我也没办法保证能把多出来的钱还给它。说实话,我在ATM上取钱从来不数,多一张少一张也不知道,危险矣。要真出事,也是我的命啊。

  最后要说的是,拜托ATM了,求求你少出错,不然监狱里将人满为患了。


俺们顶多就是遇到银行上门来要,私下协商协商扣个10%作为bug发现的奖金之后还给银行就了事了,可这个姓许的倒好,翘脚跑了,你说人家能不叫公安抓他么

还是那句话,做人要厚道,如果当初没有那个贪心,也不至于如此
28 楼 lixigua 2007-12-24  

转篇文章:

都是你的命啊 ---王小山
  
  王夫人信佛,还信命,当丫鬟金钏跳井死了后,她有些难过。难过归难过,但她可从来没打算替金钏偿命,只是给了两件衣服,多花些银子打发了事。她的侄女,从小由她养大的贾迎春小姐出嫁,嫁错了人,老公孙绍祖每天欺负她,还把家里所有丫鬟媳妇尽数淫遍,她也无可奈何。

  贾迎春小姐似乎预知了自己的死期,所以在回娘家探亲的时候,向王夫人哭诉,王夫人也只是说,这都是你的命啊。

  自己控制不了的生活走向,当然就是命。命运,宿命,这些东西确实让人难以把握,难以扭转。比如,我们拿着存折或者银行卡向金融机构提取自己的金钱时,就经常遇到“离柜概不负责”的说法,你当时未将取出的钞票点算清楚,回头再找柜员时,他肯定不会为你补上。或者你从ATM机上取了假钞,也不会有人给你补张真的。

  当然,所谓“离柜概不负责”也只是单向的,假如,银行的柜员多给了你1000块,他们会追到你家里去要,不给还不行,不给算违法。多给了你,可能的借口是“电脑出错”,而你多给了,他们会回答说“电脑不会出错”,意思是,有错也是你的。嫁出的女儿泼出的水,贾探春嫁到孙家,遭遇不幸,贾家没办法再管;离开柜台不负责,你少拿了钱银行不会找补给你,一丘之貉。上边举的例子都有新闻为证,就不一一引述了。

  现在,一个叫许霆的青年,发现某ATM机出错了,取一块给1000,最后,他取了170多次,拿走了17.5万元。我知道这种做法不太“高尚”,不高尚不等于犯罪,但他被判了个无期徒刑。

  按最后法官的说法,ATM机属于“金融机构”,而许霆的做法叫“恶意取款”,既然是金融机构,不是“离柜概不负责”吗?怎么忽然又让人负责了呢?

  事实很简单,“金融机构”出了错,刚好遇到个不太“高尚”的人,为自己的“不高尚”付出了终身坐牢的结果。高尚的人我见过,但见得更多的是和我一样不太高尚的普通人,如果ATM机出错这样的事让我遇到,我也没办法保证能把多出来的钱还给它。说实话,我在ATM上取钱从来不数,多一张少一张也不知道,危险矣。要真出事,也是我的命啊。

  最后要说的是,拜托ATM了,求求你少出错,不然监狱里将人满为患了。
27 楼 ray_linn 2007-12-23  
换句话说,如果是你自己的17万汇错到别人头上,别人也潜逃了,你是不是会报警抓他?
26 楼 chinata 2007-12-22  
steve_gu 写道
判决如此之重充分体现了社会主义国家银行的强势,个人的渺小

若小许拣了无名小卒,散户股民张三在路上不小心掉下来的20万
结果会怎样?

以人为本,以人为本啊

在霸王条款不断的银行面前,你我难保不成为下一个小许



1,这不是拣钱,可以反复拣钱的?他自己反复在那里用bug取钱难道不知道这是违法的。如果他一次就意外取到200万,那个只是不当得利,他这样干171次性质不同。
2,银行的霸王条款再多,你也不会变成小许,这是2个不同的概念
25 楼 steve_gu 2007-12-22  
判决如此之重充分体现了社会主义国家银行的强势,个人的渺小

若小许拣了无名小卒,散户股民张三在路上不小心掉下来的20万
结果会怎样?

以人为本,以人为本啊

在霸王条款不断的银行面前,你我难保不成为下一个小许

24 楼 叶子 2007-12-22  
好像前些日子放宽了,可以2w了貌似
23 楼 ddandyy 2007-12-22  
取款机好像限制的是日取款总量  如果我没记错好像是5000吧
22 楼 jolestar 2007-12-21  
不一定是银行故意的,弄不好是内部人员用特殊工具盗钱,正好被许霆遇上了。因为取款机都是限制取款次数的,难道这个也失效了?这个只是个简单的判断,如果没有人搞鬼,怎么会出错?
另外抛开法律从逻辑上说,谁规定我必须明确知道我卡里有多少钱?如果我真不知道我卡里有多少钱呢?从ATM机上查?然后就导致一个逻辑悖论,那个ATM机给出的数据可信不?既然你说它坏了,它给的数据就是不正确的,我当然就可以忽略。如果你说它是好的,我卡里只有170块钱,那我怎么能取出1000块来?我从哪儿能得知我的卡里到底有多少钱?我取多少是合适的?
21 楼 叶子 2007-12-21  
同时上这几日新闻的还有个贪污X亿只是死缓的,挺讽刺的。

说的不好听点,就是敲诈勒索,甚至是偷窃来的这十几万又怎么样?
20 楼 ddandyy 2007-12-21  
你这个虽然是够得上是那个性质  当然也和上面的例子里面的不同 
关键在于是否是 主观
如果你主观了 那你就有错
如果你说你没主观  那就要看法官相信不相信你了

很多的时候 一个人是否有错 只有他自己知道  人做事要对得起自己
19 楼 ddandyy 2007-12-21  
不知道不会是犯罪的借口
哦 好  说轻一些  犯错 好了
有好像有些法盲 做了违法的事 如果他说不知道  就没事了?
18 楼 lixigua 2007-12-21  
ddandyy 写道
lixigua 写道
我在广州呆过一段时间,在某个基站范围内每天打电话超过半个小时移动就不扣费。我天天跟老婆打电话6~7个小时。从来不扣钱,这事怎么算?


很简单  没抓到就没事

这个和晚上偷摸跑到公司用公司电话打声迅电话什么的有区别么

只不过一个是公司的钱 一个是服务商的钱

好像有区别,我只是在我住的那个地方的打电话。打了半个小时他不扣费而已,反正他扣费我也会在周末打6~7个小时,我只说我不知道啊,我以为你们在搞优惠活动呢。

相关推荐

Global site tag (gtag.js) - Google Analytics