作者: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 注: 觉得这个分析很有意思,本人没有开发过类似程序,所以不好评论。这里有没有达人能给解释一下?
分享到:
相关推荐
在2007年的许霆案与汇丰银行的案例对比中,可以看到不同国家和地区对于此类事件的法律和道德判断存在差异。汇丰银行在某次事件中选择不追究客户因ATM机故障多取的现金,而在其他情况下,如英国的朱伯特家族和Joanne ...
* 许霆信用卡取款案:许霆使用信用卡在ATM机上取款,但由于银行卡账户里的金额异常,让他连续取款5.4万元,后经警方查实,许霆先后取款171笔,合计17.5万元。 电子商务法概述教学课件汇总整本书电子讲义全套教学...
然而,近年来,随着一些社会关注案件的曝光,如许霆案,提出了刑罚对构成要件的反向制约作用,即"以刑制罪"的现象。这种观点认为,刑罚的设定可以在一定程度上影响对犯罪构成要件的理解和应用。 "以刑释罪"可被归类...
在讲授新课阶段,学生分享调查结果,分类和讨论不同类型的诱惑,然后通过具体案例(如许霆恶意取款案)探讨金钱诱惑的影响,引导学生思考如何在诱惑面前保持道德底线。 7. **教学反思**:教学过程中,教师应关注...
【精选毕业设计】TensorRT的C++推理库支持YOLO+RT-DETR+单目标跟踪OSTrack和LightTrack源码+项目说明.zip
【设计模式】java设计模式参考《设计模式之禅第二版》
Python毕业设计基于PyQt5和Pytorch的表情识别系统源码.zip,个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 Python毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于PyQt5和Pytorch的表情识别系统源码.zipPython毕业设计基于
IMG_20250105_190606.jpg
,Anito.net 是一个正在开发中的、简单的、开源的 .Net 对象关系映射框架,旨在通过可重用的模式和独立于数据库的解决方案来加速数据库驱动的开发。支持的数据库 MS-SQL、MySQL、SQLite 和 MongoDB.zip
四柱印刷机sw18可编辑全套技术资料100%好用.zip
内容概要:本文详细介绍西安电子科技大学在线评测系统(xdoj),涵盖了从基础到高难度不同层次的编程题目分类,包括基础题、中等难度题、高难度题和竞赛题的特点及其对学生编程技能的影响。文章还解释了教师团队、竞赛团队、系统管理员和学生反馈在评测系统的维护和更新中扮演的角色。首先,对于初学者而言,系统提供简单基础题目帮助入门。其次,中等难度题考察数据结构与算法,最后,高级竞赛题提升解题技巧和创新意识。此外,评测系统的持续维护保障了其教学价值。 适用人群:适合高校师生,特别是计算机科学相关专业的学生及教育工作者。 使用场景及目标:作为教学辅助工具,帮助老师布置课内外任务,帮助学生锻炼并检验编程能力。 其他说明:xdoj 是学校教育和学术竞赛的一个桥梁,促进了教学相长。同时,它的不断更新与优化体现了高校教育资源整合的有效性。
单相三电平NPC逆变器 载波层叠 可选SVPWM和SPWM 可提供参考文献
可三相LCL型并网逆变器仿真模型,LCL滤波器,电容电流反馈有源阻尼方法。 只采用网侧电流环控制方法时,由于系统的固有谐振峰的存在,以及数字控制延时的影响,通常延时时间 Td=1.5Ts(Ts 为采样周期),此时稳定性取决于 LCL 谐振频率(fr)和六分之一采样频率(fs 6)之间的关系。 当 fr>fs 6 时系统可以条件稳定,当 fr<fs 6 时系统难以稳定。 采用电容电流反馈有源阻尼方法后,可以使系统由不稳定状态恢复稳定。
基于python+Django+Mysql实现的协同过滤的电影推荐系统(源码+数据库) 该项目是个人毕设项目源码,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!!!评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于物品的协同过滤 计算相似度:对于每一对电影,计算它们之间的相似度。常用的方法有余弦相似度、皮尔逊相关系数等。 预测评分:对于未评分的电影,根据用户已经评分过的电影和这些电影之间的相似度,预测用户对该电影的评分。 生成推荐列表:根据预测的评分,为用户生成一个推荐的电影列表。 基于python+Django+Mysql实现的协同过滤的电影推荐系统(源码+数据库) 该项目是个人毕设项目源码,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!!!评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于物品的协同过滤 计算相似度:对于每一对电影,计算它们之间的相似度。常用的方法
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
第一个网页爬虫
松下FP-XH的的双PLC的10轴程序,表格定位。 用于摆盘的 ,平稳运行一年,PC-LINK通信,程序分输出与调试,报警与通信,启动与复位等分开书写,带维纶通触摸屏,思路清晰,一看易懂,是敩习松下plc和定位模块的最佳范例。
Python培训之美眉图片下载爬虫 08 个人网站图片地址提取
【课程设计】TensorRT部署DETR项目工程C++源码.zip
大型工业粉碎机sw07全套技术资料100%好用.zip