老翅寒暑

一个老鸟的自白
随笔 - 75, 文章 - 0, 评论 - 660, 引用 - 24
数据加载中……

从许霖案和soff案中发现的有趣问题

写本文的目的不是跟潮流或者引人眼球,而是突然发现了几个有趣的问题。

首先我们看许霖案。案情想必大家也清楚,工行的柜员机出问题了,取1000元只扣1元,于是一个叫做许霖的小伙子就取了17.5万,然后被抓住判了无期。有人就黑色幽默地说用171次才取了这么一点钱,就这种没出息的样子也该判无期。我们不是法律人士,当然也不会去找什么条款,但是作为一样是靠“逻辑”吃饭的程序员,我们可以从逻辑的角度来做一点分析。首先我们来看许霖“作案”的顺序流程:

  1. 去银行取款
  2. 柜员机处在故障状态
  3. 取款171次,获得17.5万
  4. 潜逃
  5. 被抓获

关注过此案的朋友应该注意到,所有的分析文章都是从第3点开始分析的,有说什么柜员机是共犯啊、潜逃中间曾经要联系还款啊、还有什么自首、什么质疑金融机构的定义什么的,不过我看杀伤力都不算大。从技术的角度来看,其实第2点最为致命:如何证明柜员机处于故障状态?

首先我们要找一种可能性,就是柜员机取款1000扣1元算作是“正常工作”的场景。我想大家都知道商场会经常搞促销活动,比如“买一送一”什么的,那么银行有没有可能“促销”呢?如果是一种“正常”的“取1送999”的话,许霖就是无罪的。那么控方如何来证明这个柜员机确实是故障状态呢?最有力的证据应该是柜员机生产商提供的"该批次"柜员机的“产品说明书”,或者提供“当时”由工行和厂商联合认定的作为合同附件的“需求说明书”。

其实归根到底,就是“软件BUG的认定问题”。如何来认定一个软件的行为属于“BUG"还是正常的功能,唯一的标准就是合同随附的“需求说明书”。不过从中国IT现状来看,我想控方99%是提供不出这个东西的。由此引出了附加的问题:

  • “厂商已经如数赔偿”能不能说明导致许霖取款的漏洞就是BUG?
  • 没有该批次的说明书,用其他批次的说明书代替是否可行?或者现在开“证明”来承认是BUG,是否有效(有没有串供嫌疑)?
  • 柜员机有没有“调试模式”以便来每次放款之后测试取款功能正常?如果有,是不是可以说明这就是管理者想要提供的“优惠”?

总结一下就是:需求说明书其实真的很重要。

附加说明:前两天出了一个英国的柜员机“买一送一”事件,但是俺确实是在之前去WC的时候先想到这个问题的

其次我们来看soff案,现在一审宣判出来了,我们不说什么“tx过河拆桥”、什么“司法独立”等等意义不大的话,只从技术方面来谈这个问题。这个案子技术上涉及到了如下的几个方面:

  1. 使用程序外挂调用非开放功能的问题
  2. 未经同意发布对方程序的问题
  3. 擅自清除人家的广告图片问题
  4. 在人家的界面上插广告获利的问题
  5. 绑定插件的问题

soff案的起诉书里边基本都涉及到了以上的4点,而且判决书里边也差不多都对此进行了认定,那么我们就来逐条分析一下:

关于外挂问题,其实无非就是常用的3种方法,一种是微软的detour技术,直接修改函数入口处的字节码;一种就是api注入,通过修改程序入口偏移实现;另外一种就是通过公开的回调接口。其实tx自己也使用钩子截获了鼠标事件,而且去年tx的不兼容vista的事情充分说明tx自己使用了windows不支持的非公开的技术。如果说用外挂技术也可能获罪的话,tx这些算是在干什么?法院的判决把正常的技术行为看作是“非法”的,这对产业、对社会、对技术进步都是一种伤害。不过我们也庆幸,幸好M$没有出来告,否则还是这家法院来判的话,中国的软件业至少搞反病毒的都要坐牢去。至于提出什么“插件的bug被误认为是tx的bug”导致“tx被误解”之说,tx不兼容vista的那件事情,明明是tx的bug却被一些愤青上纲上线说成M$故意打压,造成了M$的名誉被损害,这又怎么说呢?

关于未经同意发布对方程序的问题,其实这个就是一个不折不扣的侵权了。现在网上出现了许多的“打包党”,把人家的安装程序解开,重新加入自己的插件再打包,无论如何都是说不过去的。你看intel为了一个.h的头文件,跟深圳东进公司打了一年的官司呢。

关于清除广告的问题,按理说应该是属于侵权,可是这个关系到一个“修改运行时代码是否合法”的问题。如果说是合法的,那么清除广告也就没问题,但是要说修改运行时代码是非法的,那么windows加载程序的时候要修改程序的入口代码地址是不是也非法?金山词霸截获我程序的api入口来获取字符串内容、看门狗拦截api调用更改我程序的运行方式算不算非法?soff如果用M$的detour库,是不是就算M$而不是soff侵权呢?如果说擅自去掉广告是修改了对方应用程序的外观界面,那么windows桌面主题算干的什么活?如果说再限定说不许修改窗口“里面”的内容,那么如果用跟随一个空白窗口的方式覆盖掉广告是否就是合法的?

关于在人家界面上插广告获利的问题,其实很难判断。如果插广告算是侵权,那么搜狗拼音、google拼音跟我的窗口一起出现一起消失,而且还打自己的logo,算不算给自己做广告呢?如果说像拼音那样的独立窗口就不算,其实soff也用的是自己的独立窗口啊。

至于绑定插件,只要不是用别人的东西来打包,插件不是强制安装而且无法卸载的话,我看也没有什么问题嘛!

总结一下就是:让外行来判定技术的对错问题,伤害太大!

全文的总结:两个案子都是涉及到广大老百姓每个人的切身利益密切相关,同时又都是争议极大、可判可不判的案子。对照杨善除恶、扶助弱小的法律目标:

  • 如果许霖案要判了,无非就是大家以后不碰柜员机多吐出的钱而已;但是soff案判了,程序员难道以后就不去深入到系统去编程?还是永远只用公开的api?如果不让广大的程序员深入专研技术,国家的网络信息安全靠谁去保卫?靠城管吗?
  • 如果许霖案不判,以后银行就要改进工作制度,软硬件的订购行为就会标准化。如果soff案不判,tx就会想办法用“不作恶”来吸引用户,加强软件测试并且提供更好的操作体验。

我想,相对于以上的两种分析,都不判对社会的促进最大,而判了,则是继续养了一群懒人,并且促使他们躺在判决书上继续懒下去。

posted on 2008-03-26 22:39 老翅寒暑 阅读(3488) 评论(55)  编辑 收藏 网摘 所属分类: 工具与应用

评论

#1楼    回复  引用    

说的太好了~~
完全同意!!!
2008-03-26 22:59 | 网友 [未注册用户]

#2楼    回复  引用    

你说得太好了.................
2008-03-26 23:20 | Erik [未注册用户]

#3楼    回复  引用  查看    

坚决不用ATM
2008-03-26 23:22 | 二手的程序员      

#4楼    回复  引用  查看    

靠“逻辑”吃饭的程序员...
2008-03-26 23:42 | ※ABeen※      

#5楼    回复  引用  查看    

说得太好了~~~原本还以为又是一篇水文呢,呵呵
2008-03-26 23:42 | 电机拖动      

#6楼    回复  引用    

添加 fthfinger 为百度好友 立即成为baiduhi用户
2008-03-26 23:56 | wejfwej [未注册用户]

#7楼    回复  引用  查看    

经典!!
如果大家不专注这个问题,可能会遇到更多的问题。
2008-03-27 00:29 | 大厨师      

#8楼    回复  引用  查看    

支持.
2008-03-27 01:22 | 鸟菜品极      

#9楼    回复  引用    

说得不错。

QQ也是在人家window窗口中又做了个窗口,还调用人家的API,广告更是做了无数,靠,微软怎么不去告它?
2008-03-27 08:02 | 过客007 [未注册用户]

#10楼    回复  引用    

说的真好!
其实在我们中国,往往是权力大于一切的,而权力与金钱常常牢牢的绑定在一起发布!
外行管内行,外行说了算的例子还少吗?不要说我是愤青,这只是现实,我也没有能力改变它,尽管它是那么的不合理。
2008-03-27 08:14 | yudiefly [未注册用户]

#11楼    回复  引用    

最新消息,如今又出了一个“许霆”了。相关连接在搜狐网:
男子报案称ATM机自动吐1.7万 被吓浑身发抖(图)
http://news.sohu.com/20080327/n255933243.shtml
2008-03-27 08:19 | xhouse [未注册用户]

#12楼    回复  引用  查看    

支持一下
2008-03-27 08:47 | Dove.Net      

#13楼    回复  引用  查看    

此文,很好,很强大!于我心有戚戚焉!
2008-03-27 08:52 | 胖子      

#14楼    回复  引用  查看    

@11楼故意调侃?不过俺也不知道到底那个名字...是
2008-03-27 08:56 | airwolf2026      

#15楼    回复  引用    

说别的都没用 GCD要你死,你就必须死,不死也得死,早死早投胎!

一切都是GCD的,必须服从GCD。
2008-03-27 09:16 | SILK [未注册用户]

#16楼    回复  引用  查看    

南山立功了!它不是一个人!!
2008-03-27 09:18 | Clark Zheng      

#17楼    回复  引用    

同意啊
2008-03-27 09:21 | zggcd [未注册用户]

#18楼    回复  引用  查看    

这个两个案件另人民心寒呀。
2008-03-27 09:40 | 杨正祎(阿一)      

#19楼    回复  引用    

以后看到atm自动往外吐钱大家快跑啊~~
2008-03-27 09:53 | coderleee [未注册用户]

#20楼    回复  引用  查看    

远离尘事
2008-03-27 10:01 | 瑞克      

#21楼    回复  引用  查看    

讲得不错
2008-03-27 10:44 | ppchen(陈荣林)      

#22楼    回复  引用    

这个,一定要顶一下。
2008-03-27 10:56 | bs_tx [未注册用户]

#23楼    回复  引用    

说的不错.
2008-03-27 11:05 | lzppcc [未注册用户]

#24楼    回复  引用    

最后一段很点睛
2008-03-27 11:27 | 海风0101 [未注册用户]

#25楼    回复  引用    

我不同意楼主的观点.我认为本案的关键不是怎么认定软件BUG,而是国家法制在公民与银行之间倾向了银行.

我认为这是关键.

#26楼    回复  引用    

很高!看来这个wc上的极具价值。呵呵!
2008-03-27 11:45 | tester [未注册用户]

#27楼    回复  引用  查看    

最大的問題在第一條.

如果沒有第一條,後面所有都不會成立.

2008-03-27 12:14 | 航天奇侠      

#28楼    回复  引用    

精辟!
但是,只在园子里发看见的弟兄们太少了,应该在其他的地方也发一下嘛!
好东西也要共享给别人嘛!
2008-03-27 12:50 | morningwang [未注册用户]

#29楼    回复  引用  查看    

还是永远只用公开的api?如果不让广大的程序员深入专研技术,国家的网络信息安全靠谁去保卫?靠城管吗?

这句太经典了 假象 以后国家的网络信息出问题了 城管们拿上木棒和砖头对着服务器一顿很砸,直接彻底解决问题,看谁还能入侵进来
2008-03-27 13:34 | 每天进步一点      

#30楼    回复  引用    

分析的有道理
2008-03-27 14:17 | 力大无比 [未注册用户]

#31楼    回复  引用  查看    

技术人员讲话没分量哦

法官判决时应该找有关技术部门多权衡哦
2008-03-27 15:17 | 徐少侠      

#32楼    回复  引用  查看    

@过客007
今天在网上看了,说TX是会给MS费用的。

楼主,很另类的思考,精辟!虽然感觉有的地方很勉强。
2008-03-27 15:31 | Gao Zhongfa      

#33楼    回复  引用    

为什么要把银行的错误转嫁到用客身上来,这是社会进步的结果?还是法律本身就是为银行专门制定的呢?
2008-03-27 15:32 | HLZ [未注册用户]

#34楼    回复  引用    

“如果是一种“正常”的“取1送999”的话,许霖就是无罪的。”
改成
“如果是一种“正常”的“取1000送999”的话,许霖就是无罪的。”
2008-03-27 15:40 | hyifeng1 [未注册用户]

#35楼    回复  引用    

@hyifeng1
数学也太好了吧???再算一遍吧。。。
2008-03-27 15:49 | 路过 [未注册用户]

#36楼    回复  引用    

中国是一个有权没法的国家,这里讨论讨论,大概也只能是读书人的事情罢了
2008-03-27 15:50 | 感冒了 [未注册用户]

#37楼    回复  引用  查看    

非常不错 支持一下
2008-03-27 16:04 | 曾哲      

#38楼    回复  引用    

@路过

咳,你没看懂,
他的说法和我的说法,数字结果都是一样,所以不是什么数学不数学的问题
老兄您的逻辑思维不行啊。

我的说法更符合现实逻辑,他取的是1000,ATM还不提供取1元的服务。
取了1000,发现银行比应有的余额多了999,所以取1000送999更合理一些。
2008-03-27 16:24 | hyifeng1 [未注册用户]

#39楼    回复  引用  查看    

本来不想说话,不过看到很多朋友似乎对法律还不是很了解,那我就在这稍微卖弄一下,说的不到的地方您见谅。
就许霖案而言,提款机处于故障状态有可能是事实,但是无论取款机是否处于故障状态,利用这种故障获利都是非法的,无论这是否是一个bug或者是故障,重点是利用这一点不当得利,而且金额巨大。而且主观上许同学是一而再再而三的利用这个漏洞,不属于偶尔为之,而是明显具有主观上不当得利的动机,所以其行为构成了犯罪。
至于是否追究厂家的责任,则与诉讼许霖毫无关系,那是厂商和银行之间的事情,就算诉讼也不关许霖任何事。
陈案之所以被判最大的问题并不是使用未公开的API而是同样具有巨大的不当得利性,如果陈只是免费提供,而且提供的产品不能获利,那么诉讼结果则远不会如此。当然关于陈案不当获利的金额达到120万之巨,我也感到费解,不知道控方如何举证的。
2008-03-27 16:26 | 水果阿生      

#40楼    回复  引用    

@水果阿生

再花120万来取证。。。。。
2008-03-27 17:34 | MLY@ [未注册用户]

#41楼    回复  引用  查看    

我想,相对于以上的两种分析,都不判对社会的促进最大,而判了,则是继续养了一群懒人,并且促使他们躺在判决书上继续懒下去!!!!!!

太好了!!!!!!!!!!!!

#42楼    回复  引用    

两个都不是什么好货
内幕的东西,外面是看不清的
2008-03-27 20:13 | justine1 [未注册用户]

#43楼    回复  引用    

"如果不让广大的程序员深入专研技术,国家的网络信息安全靠谁去保卫?靠城管吗? "
点睛之笔
2008-03-27 22:06 | 程序一生 [未注册用户]

#44楼    回复  引用  查看    

好玩……虽然那个判不判的后果我觉得比较牵强。
2008-03-27 22:30 | Jeffrey Zhao      

#45楼    回复  引用  查看    

像是打擦边球,判与不判都道理!
2008-03-28 01:01 | TerryLi      

#46楼    回复  引用    

其实以上两案说白了,就是弱势群体与强势群体之间的斗争.
强势群体可以凭借自己的资源去进行公关,从而得到自己希望得到的结果.
2008-03-28 09:18 | 弱势群体 [未注册用户]

#47楼    回复  引用  查看    

到底是許霆還是許霖呢?
2008-03-28 16:41 | 小哈      

#48楼    回复  引用  查看    

楼主的文章引起很大的共鸣……
我已投递至cnbeta.com,署名“老翅寒暑”并注明出处“老翅寒暑@博客园”,如果您介意的话,请告诉我,我会立刻联系cnbeta.com撤销投递。
2008-03-30 23:39 | 560889223      

#49楼    回复  引用    

程序员是靠逻辑吃饭 说的好!

2008-03-31 09:35 | 神鱼 [未注册用户]

#50楼    回复  引用    

支持一下!
不知道MS如果同庭起诉TX、国内安全软件厂商会如何判?!!
2008-03-31 09:56 | wivern [未注册用户]

#51楼    回复  引用    

懂点皮毛的 api 调用就敢说自己内行,扯jiba 蛋!
连vista 具体是什么接口冲突都不清楚,就敢写这样的文章,很明显是个公关贴,拿程序员业界当白痴啊?

真是没法BS 你,就你也算懂金山词霸屏幕取词?和珊瑚虫QQ盗用品牌,盗用代码,盗用服务端用户资料方式有什么可比性?
2008-03-31 10:36 | Justso [未注册用户]

#52楼    回复  引用    

--引用--------------------------------------------------
560889223: 楼主的文章引起很大的共鸣……
我已投递至cnbeta.com,署名“老翅寒暑”并注明出处“老翅寒暑@博客园”,如果您介意的话,请告诉我,我会立刻联系cnbeta.com撤销投递。
--------------------------------------------------------
楼主麻烦了ing....
.
CnBeta..是愤青的地盘!...(愤青=无缘无故对你很愤怒的不成熟之人(因为不成熟,所以只能叫 青年啦 !)! )
.
另类看法...有意思!
2008-03-31 12:35 | 空心 [未注册用户]

#53楼    回复  引用    

顶一下吧
2008-03-31 13:10 | 暗暗 [未注册用户]

#54楼    回复  引用  查看    

--引用--------------------------------------------------
Justso: 懂点皮毛的 api 调用就敢说自己内行,扯jiba 蛋!
连vista 具体是什么接口冲突都不清楚,就敢写这样的文章,很明显是个公关贴,拿程序员业界当白痴啊?

真是没法BS 你,就你也算懂金山词霸屏幕取词?和珊瑚虫QQ盗用品牌,盗用代码,盗用服务端用户资料方式有什么可比性?
--------------------------------------------------------
希望你不是写程序的,是就是这个行业的悲哀...
2008-03-31 16:24 | Loning      

#55楼    回复  引用    

--引用--------------------------------------------------
水果阿生: 本来不想说话,不过看到很多朋友似乎对法律还不是很了解,那我就在这稍微卖弄一下,说的不到的地方您见谅。
<br>就许霖案而言,提款机处于故障状态有可能是事实,但是无论取款机是否处于故障状态,利用这种故障获利都是非法的,无论这是否是一个bug或者是故障,重点是利用这一点不当得利,而且金额巨大…………
--------------------------------------------------------

你这是什么逻辑啊?刚说了故障有可能是事实,那就是是否故障还是不确定的。这样的话,你又凭什么确定许霆利用这种“故障”获利呢?你这样和“莫须有”有什么差别?你逻辑这么混乱,还好意思吹自己对法律“很了解”,你囧啊?
2008-09-24 17:09 | 没人同 [未注册用户]

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-27 10:28 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:

历史上的今天:
2007-03-26 100%高度的div(转载)