(图片来源:thehackernews.com)

一个62岁的程序员由于植入逻辑炸弹被抓了,可能会面临10年的监禁和25万美元的罚款。

这个程序员叫Tinley,是美国西门子在宾夕法尼亚州门罗维尔市的一个合同工,2002年他用Excel和VBA开发了一个软件,管理公司的电气设备订单。 这个软件工作得很好,直到2014年,Tinley在其中植入了一个逻辑炸弹。

于是,每年这个Excel软件都会出点小故障:弹出一些错误消息,按钮的大小也会发生改变。这时候西门子只好把他给叫过来,付给他钱来Fix这些Bug。

Tinley是怎么改这个Bug的呢?非常简单!把那个“炸弹”的触发日期给重置一下,然后就可以等待明年继续收钱了。

事情如Tinley所愿,运转得非常良好,直到2016年5月,他出去度假了,但是西门子要下一个紧急的订单,非常着急,可是这个Excel软件又出问题了。

在西门子公司的强烈要求下,Tinley被迫交出了这个Excel软件的管理员密码,好让其他西门子的程序员去Fix Bug ,很快这个逻辑炸弹被发现了。为了确认就是VBA脚本中的逻辑炸弹引发了过去几年的问题,西门子还请律师和程序员一起工作,一共花费42000美元。

故事讲完了,不知道大家有什么感想?

首先,肯定是不能在软件中留这样的逻辑炸弹了,但是从一个程序员的角度来讲,有这么几点可以思考的:

1.  西门子在门罗维尔市的子公司IT管理能力堪忧啊!

同样的错误,一再出现,居然没有引起他们的重视!每次Tinley过来Fix Bug 的时候,难道都没有人问问root cause吗?为什么一到特定时间软件就会显示错误信息,界面按钮的大小发生变化?(Tinley在辩护中声称这是Excel升级导致的,实际上微软的Office向后兼容性是相当好的)

2. 肯定没有代码审查

根据特定日期触发炸弹,这样的逻辑在VBA脚本中应该是非常清楚的,而VBA脚本是解释执行的,代码就在那里,只要有代码审查,肯定会被发现。

3.  遗留系统的问题

有人对用Excel和VBA来实现一个核心的订单系统感到震惊,其实这可以理解。我在网上搜了一下,门罗维尔市是个小镇,人口才3万,这里可能是西门子的一个办事处。也许他们之前都是手工用Excel来记录这些订单,后来才雇佣Tinley把工作自动化了。

2002年开发,已经用了10多年了,这说明还是能满足他们的需求的,可能就是这个原因,他们一直没有找另外一个人来接手这个软件。

但是比较悲催的是,这个系统的逻辑只有Tinley知道,只有他一个人能维护,或者这么说,别的程序员也不愿意维护这样古老的系统,让我去我也不愿意啊,要是让我把它重写成Web系统还差不多。

这就是典型的遗留系统,出了问题就去找Tinley, 没想到Tinley在里边埋了一个炸弹。

4. 版权问题

在2011年的时候,西门子就问Tinley要那个Excel的密码,但是Tinley不给,他声称他要保护他的软件。这个订单系统真的是属于Tinley的吗?

我没见到Tinley和西门子的合同,大家可以看看自己和公司签的合同,看看有没有这么一条:在合同有效期内,员工的工作成果都归公司所有,包括专利,软件,文档。

Tinley很有可能没有所有权的。

总之,Tinley的所作所为已经严重违反了法律,希望大家能引以为戒吧。

62岁程序员植入逻辑炸弹, 面临10年监禁和25万美元罚款相关推荐

  1. 了解苹果自动驾驶“窃密”事件始末,嫌疑人或将面临10年监禁、 25 万美元罚款...

    雷锋网按:不久前,苹果"泰坦计划"团队刚刚经历了一轮大裁员(裁掉 200 多人,还有不少员工转岗),但在中国农历新年来临之际,这家擅长保守秘密的公司却又曝出"窃密&quo ...

  2. 了解苹果自动驾驶“窃密”事件始末,嫌疑人或将面临10年监禁、 25 万美元罚款... 1

    雷锋网按:不久前,苹果"泰坦计划"团队刚刚经历了一轮大裁员(裁掉 200 多人,还有不少员工转岗),但在中国农历新年来临之际,这家擅长保守秘密的公司却又曝出"窃密&quo ...

  3. 多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊...

    整理 | 张红月 出品 | CSDN(ID:CSDNnews) CSDN开发者周刊只为传递"有趣/有用"的开发者内容,点击Star(Github:https://github.co ...

  4. 卖掉 3000 平房子,50 岁程序员回国写代码,三个月内融资 2000 万美元

    2019年7月12日,10多万行C代码的中国物联网大数据平台 TDengine 在 GitHub开源,立即冲上 GitHub 榜首,整整五天霸榜 GitHub.目前该项目在 GitHub 上 Star ...

  5. 美国程序员把工作外包给中国程序员,啥也不干年入 20 万美元,这操作也是骚...

    公众号关注 "GitHubDaily" 设为 "星标",带你了解技术圈内新鲜事 转自英国那些事儿 话说,今天在 Reddit 上看到一个无比骚的操作... 这事 ...

  6. 大厂程序员年薪_程序员羡慕深圳老师的待遇:年薪25万起,请问哪个科技厂可以比...

    互联网行业是公认的高薪行业,不少草根通过这一行业逆袭,在这一行业中,薪酬最高的莫过于程序员了,只要能进大厂,年薪动辄几十万,甚至过百万的大牛比比皆是,当然程序员付出的精力也很多,加班是常态,几乎没有休 ...

  7. 认罪了!前苹果汽车工程师承认跳槽前窃密,或面临 10 年监禁

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 本周一,前苹果硬件工程师张小浪(Xiaolang Zhang)在美国圣何塞联邦法院认罪了:他承认,在跳槽小鹏前曾窃取苹果汽车部门的商业机 ...

  8. 50 岁程序员创业说:两个月提交 50 个 PR,三个月内融资 2000 万美元

    在"互联网+"的带领下,如今人们会一门特长烘焙.摄影.写作.绘画,便可在进行个人创业,获得收入. 对于技术创业而言,却始终有规可循:往往是有人被一个特定的问题所困扰,于是他决定要想 ...

  9. 真·骚操作!程序员埋逻辑炸弹,每隔几年就触发

    (给程序员的那些事加星标) 原创:程序员的那些事(id:iProgrammer) 为了续签合同或保住工作,有些人的手段就比较黑暗了. 有个美国的程序员,为了让雇主依赖他,在他在负责的程序中埋了逻辑?, ...

最新文章

  1. j2recover----最强大的jfs2文件恢复工具
  2. 学习官方示例 - System.TClass
  3. centos7 服务器上的tomcat快速安装
  4. 【小白学PyTorch】18.TF2构建自定义模型
  5. 【PAT甲级 大整数BigInteger】1065 A+B and C (64bit) (20 分) Java 全部AC
  6. python logging模块的作用_【python】【logging】python日志模块logging常用功能
  7. jvm(2)-JVM内存的设置(解决eclipse下out of memory问题)
  8. JavaScript 解析 JSON 数据
  9. Android写的一个设置图片查看器,可以调整透明度
  10. 详解微软 ALUM:当语言模型遇到对抗训练
  11. No Need for Genius Envy
  12. java开发16g内存够吗_Java 内存模型 ,一篇就够了!
  13. 《码出高效:Java 开发手册》“码” 出高效的同时编写出高质量的代“码”。PDF文档资料免费开放下载!
  14. 百度网盘免费jdk1.8中文chm下载(不要积分点个赞就好)
  15. Android Studio报错提示:Excepted resource of type color
  16. 程序猿郭小喵过去的大学故事,致迷茫的你我
  17. db2 日期英式写法_英文日期写法 英文日期格式正确写法
  18. centos7 虚拟机不识别U盘
  19. [虚拟机][linux]虚拟机VMware桥接模式无法上网问题
  20. 《架构师修炼之道》读书笔记之五:换位思考

热门文章

  1. Spark性能优化:对RDD持久化或CheckPoint操作
  2. 王吉伟:厉害了王坚的《在线》 未来世界还有什么不能被计算?
  3. Maximum Product of Word Lengths
  4. Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据
  5. 拿来主义——老外写的系统统计脚本
  6. SAP FI/CO 知识 浓缩版
  7. c++实现全局优化的了望算法
  8. VC++ 使用导入位图创建工具栏
  9. python dlib学习(二):人脸特征点标定
  10. Android开源框架——图片加载库Glide