【新智元导读】一位西门子公司的合同工十年前在给西门子写的电子表格中植入了逻辑炸弹,它会在特定日期之后导致电子表格崩溃,于是西门子就必须再次雇佣该名合同工进行修复,每次都需要重新支付修复费用,持续时间近 3 年。最近他被抓包了,面临最高十年监禁和 25 万美元(约合人民币 172 万)的指控。
大龄程序员的“生财之道”。
现年 62 岁的大卫·廷利 (David Tinley) 来自匹兹堡附近的哈里森市,如果不是因为出了这档子事,他只是美国众多默默无闻的大龄程序员之一。
廷利为西门子在 Monroeville 的办事处工作了将近 10 年的时间,他曾接过一个为西门子公司创建管理订单的电子表格需求,电子表格包含自定义脚本,可以根据存储在其他远程文档中的当前订单更新文件的内容,从而允许公司自动化库存和订单管理。
事实上,这个需求并不算难,廷利写的电子表格程序也正常工作了多年。直到 2014 年,该电子表格开始频繁出现崩溃问题。
起初,西门子公司并不知道故障的具体原因,出于对廷利的信任,该公司要求廷利进行修复。因为廷利是合同工,因此每次进行修复时,西门子都需要跟廷利签订修复合同,并支付费用。这样的情形持续了近三年之久,直到东窗事发。
在又一次电子表格程序崩溃以后,西门子公司仍旧联系其进行修复。但此次程序崩溃时他并不在城里,不得不将电子表格的管理密码交给西门子公司的 IT 工作人员去执行紧急修复。西门子公司的 IT 人员发现,电子表格频繁崩溃的原因在于廷利在其背后植入了一个逻辑炸弹,该逻辑炸弹会导致电子表格在特定日期后崩溃。(所谓逻辑炸弹,指的是在特定条件出现或经过一定时间后,恶意地诱骗软件或系统崩溃或失败。)于是廷利便可以借修复的名义,重复收取西门子公司的修复费用(大概费用在 4.2 万美元)。如果不是因为事情败露,他的“生财之道”似乎可以持续得更久。
廷利在今年 5 月遭到起诉,在庭审中,廷利和其律师表示:
他在代码中放置逻辑炸弹,并不是为了促使西门子重新聘用他来解决这个问题,而是为了保护他的专有代码。廷利在匹兹堡的法庭上说:“我的动机是高尚的”。其中一些问题不是他的代码造成的,而是由于对微软 Excel 软件本身进行了修改。
根据此前曾有过的类似案例,廷利无罪的可能性极小:
2006 年,瑞银 (UBS) 前 PaineWebber 员工因在公司网络上植入逻辑炸弹,并押注公司股价将下跌,被判入狱 8 年。
2018 年 9 月,亚特兰大一名男子因在美国陆军工资数据库中植入逻辑炸弹,导致美国陆军预备役工资延迟 17 天支付,被判两年监禁。
匹兹堡法庭曾希望与廷利达成早日认罪、避免全面审判以减轻罪责的协议,但廷利与其律师最终毁了认罪协议。他将面临最高十年的监禁以及 25 万美元(约合人民币 172 万)的罚款。
遭到质疑的西门子 IT 能力
此事件遭到曝光后,廷利受到了理所当然的指责,但西门子公司的 IT 能力却遭到了巨大的质疑:
廷利为他们工作了十年,为什么同样的问题持续了近三年之久,都没有研发人员感到奇怪?而是任由这位合同工一次又一次地收取修复费用?
该案的最终量刑听证会将于 11 月份举办,目前西门子公司未对事件详情进行进一步的披露,从有限的信息中,该公司的 IT 管理能力已经受到了广泛的质疑。
曾经在工业革命中扮演过重要角色的西门子公司,在 2014 年提出了 “2020 公司愿景” 计划,聚焦在电气化、自动化、数字化三个领域。2018 年,该公司进一步提出了“公司愿景 2020+”,再次强调数字化能力。
根据西门子中国官网的描述:
我们丰富的产品应用程序已经帮助各行各业的企业通过产品和流程创新提升了业务水平。当今智能产品及其相关制造流程的复杂性向企业提出了前所未有的要求,这就要求企业必须深度理解这些多领域系统的交互。创建和共享各阶段产品流程的准确数字化双胞胎,正是向数字化企业转型的牢固基石。我们的产品组合能够凭借在各个行业当中的卓越技术来满足各个领域的需求。
在西门子的数字化战略中,既有自己做平台的内线发展,也有在外部做收购的外部拓展。其中的外部收购近年来更是动作不断:
2014 年,西门子收购 Camstar,强化其在工业数字化领域的领导地位;
2016 年,西门子以近 10 亿美元收购工业软件开发商 CD-adapco;
2016 年底,西门子 45 亿美元收购半导体软件公司 Mentor Graphics。
西门子表示,过去的二十年间,该公司在软件方面投入了超过 100 多亿美元,获得了在工业软件方面的领先地位。该公司表示,现在拥有客户开发飞机、火车和汽车等复杂电子机械所需的所有软件。随着收购的持续进行,西门子成为了 SAP 后的欧洲第二大软件公司,世界十大软件供应商。
但西门子的 IT 能力,真的就随着一路并购的规模扩充得到了相匹配的提升吗?类似的批评声一直不断。
此前,西门子公司的过程监视系统 WinCC 曾被俄罗斯技术团队爆出充满漏洞。WinCC 应用是由西门子开发的一种 SCADA 程序,用于许多行业的进程可视化,并且被认为是行业标准。该俄罗斯团队在当年 WinCC 的最新版本中发现了超过 50 多个漏洞,数量多到西门子公司制定了一个路线图来修补所有漏洞。其中的大多数问题都允许攻击者远程接管 WinCC 系统。
该团队负责人接受采访时不无讽刺地说道:“在 WinCC 中找出漏洞简直太容易了,你可以随便一指(就能发现漏洞)”。
合同工、外包、程序员的权限问题?
合同工、外包在软件开发的世界里必不可少,在传统企业比如波音、西门子等公司数量更是众多,即便对于大型的互联网企业来说,外包员工数量同样不少。比如谷歌就有规模庞大的“隐形员工”,再比如阿里巴巴的 Lazada 同样有很多外包员工等。
在很多公司的软件开发流程中,对于合同工、外包人员的权限问题都很谨慎。事实上,类似西门子合同工这样通过植入漏洞非法获利的新闻不在少数,许多公司在核心的数据库、后台系统、账户等关键位置的权限进行严格的限制。
不仅对于合同工、外包是这样,对于许多离职员工同样如此。InfoQ 此前曾采访过一位离职程序员,他表示:
在我签字交接完以前,技术团队的老大防我就像防贼一样。
读者朋友应该还记得今年 1 月份,曾发生过一起闹得满城风雨的大新闻:
一篇名为《告游戏行业全体同仁书》的文章中声讨了一位离职主程:这篇文章指责主程燕某在就职深圳螃蟹网络科技有限公司 3 个月期间,出于报复心理,于游戏上线测试当天无故失踪并锁死电脑和服务器,最终导致公司开发两年的项目失败,损失惨重,创始人尹某背上百万债务开始打工之路。InfoQ 当时也就此事件做过分析,不难看出,对于离职程序员的权限问题从来都是舆论敏感的焦点。
无独有偶,近日一名微软程序员利用测试账户套现千万美元,购置了一辆特斯拉与价值 160 万美元房产的新闻同样引起了我们的注意。
对于合同工、外包乃至正式员工来说,IT 系统的权限问题该如何关注?安全问题、删库问题、套现问题背后折射的究竟是职业道德问题还是监管不利的原因?各位未来的 CTO 们,你怎么看?
福利时间:
我自己是一名从事了多年开发的java老程序员,辞职目前在做自己的java私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,从最基础的javase到spring各种框架都有整理,送给每一位java小伙伴,想要获取的可以关注我的头条号并在后台私信我:架构,或者点击了解更多即可免费获取