微信号:infoqchina

介绍:有内容的技术社区媒体

编写病毒程序取款700余万,华夏银行一技术处长被捕受审

2018-10-12 08:51 伸手必被抓
编辑 | 小智整理
从 2016 年 11 月到 2018 年 1 月,一年多时间利用职务便利,在华夏银行总行核心系统内植入计算机病毒程序,使跨行 ATM 机取款交易不能计入账户,之后成功取款 717.9 万元非法占为己有。10 月 10 日,这位华夏银行技术处长在朝阳区人民法院受审。
案情回溯

根据检方指控,华夏银行三室处长覃某将其编写的“计算机病毒程序”植入华夏银行总行核心系统应用服务器,并通过该计算机病毒程序使其跨行 ATM 机取款的交易不能计入账户,自 2016 年 11 月至 2018 年 1 月间,覃某通过其掌控的华夏银行卡多次在 ATM 机上跨行取款,将银行资金 717.9 万元转入其使用控制的银行账户,非法占为己有。

覃某生于 1975 年,大学毕业后一直在银行系统工作,其妻子也属于银行系统职员,两人育有一个 9 岁女儿。覃某在华夏银行开发中心担任三室处长,日常负责银行核心系统的开发和维护。

没汇报,私自进行漏洞测试

据悉,2016 年 11 月份,覃某利用开发中心内的电脑编写了一个后台程序,并将其放在银行主系统上,覃某称:

“编写这个程序是为了验证银行核心系统的漏洞是否存在,这个缺陷大概是在跨行 ATM 机取款后,取款成功但不会计入账户。”

在将后台程序放到核心系统后,覃某用一张银行卡到 ATM 机内取款,测试时间与漏洞触发的关系:

“正常情况下银行有规定不允许在生产环境下测试,而且他没有权利这样做,每次进行测试前都要向领导汇报,作预案,审批后才能进行。”

提案虽由覃某所在的部门提出,但实施测试需由其他部门来做。

“我当时觉得正常的测试太麻烦,(就)没有向单位汇报。”

起贪念,取款 700 余万占为己有

覃某交代,他编写的程序包含三个文件,分两次放置在系统中,之所以两次将编写的程序放置到系统中,是为了把系统里的漏洞时间(即成功取现但不计入账户的时间)延长,第一次程序可将时间延长到 23 点,第二次可延长到 24 点。

对于一年多时间前后取现 1000 多笔,非法占有人民币 700 余万元的犯罪动机,覃某称:

“一开始就是想做测试,后来拿取出来的钱还了外债。”

据悉,2017 年 3 月时,覃某从亲戚、同事处借款买了一处位于北京市门头沟的商铺。同年 5 月开始,覃某陆续用取来的钱还借款,部分钱还另外买了理财及借给朋友开店。

覃某称,银行规定测试需测试卡,并要经过报批审核,再由指定的人办理银行卡作为测试卡。但由于覃某利用职务之便,通过他人办理的银行卡绕过了监管审核,因此得以私自进行测试,最终通过漏洞套取巨额现金据为己有。

2018 年 1 月底,东窗事发,覃某将其 2013 年购买的一套位于北京大兴的房子抵押给朋友,从朋友处获得 550 万元,加上从其妻子处拿来的 190 余万元,一起转到了他取款的银行卡内。

覃某称,自己最大的错误就是没及时向上级汇报自己发现了这个系统漏洞:

“我当时就想着报批太复杂,而且做这个测试的部门可能也解决不了,最后还是需要由我在的部门解决。”

检方认为,覃某的行为应以职务侵占罪追究刑责。建议判处有期徒刑五年到八年。此案未当庭宣判。

新闻来源:法制晚报。地址:

https://c.m.163.com/nc/qa/3g-expand/huawei-b200-article.html?docid=DTP1LGAF000187VE&w=2

行业观点

对此事件,InfoQ 咨询了一位金融系统的技术专家,因为事件敏感,不方便公开发表评论,故此作匿名点评:

本人系从事金融机构客户,市场交易,风险领域等系统研发,并非商业银行系统领域专家,以下技术分析则属于根据文中公布信息的研究和推测:

首先,从技术角度来看,整个事件属于跨行转账交易分布式事务在多阶段提交过程中出现了数据的不一致性,其整个过程涉及到了跨行转账,清算系统的关键流程。国内目前的跨行转账事务处理并非实时,两个银行都是通过中央银行 (如人行, 银联) 进行中转和清算,而清算系统通常是批处理日结,之后 (如 T+1) 则分别与两个银行核对确认交易明细,之后进行清算支付 (通过保证金系统);清算支付之后才回到各自银行系统进行账户余额对账。显然这过程中的真实支付与实际账户余额对账有着跨系统以及时间差,而本文整个事件都是围绕这个时间差做文章的,即所谓“取款成功但不会计入账户”,也就是在整个事务的最后对账一步出问题。

对于该技术处长:

显然该处长利用其对整个流程的熟悉,嗅到系统的漏洞,并开发漏洞验证程序,绕过正常流程测试并证实系统漏洞后,进一步恶意植入,修改程序,一步一步走向深渊。其实很多从事风控及安全漏洞相关的工作都是双刃剑,比如杀毒软件和病毒。在极度熟悉系统实现及流程情况下,会从敬畏到高度控制,一旦涉及金融利益,则很可能会触碰高压线。

对于该银行:

显然存在很明显的流程及监管问题,如开发人员未经过正常审批流程触碰生产环境,大多金融企业,开发人员 CTB 与运维 RTB 是有清晰界限,开发人员对于生产环境的控制最大限度也是在系统监控下查看部分非敏感日志,生产系统只能由运维人员来部署等。监管方面,生产系统显然缺乏监控,对于所有登陆生产用户,操作进行实时监控,预警和报告等。以及对于复杂跨系统间的数据一致性校验,如银行保证金账户与真实账户的差异并未及时发现;另外,其实无论多复杂的系统还是流程都是人预先设计的,而是人设计则必然有缺陷或漏洞,比如该行技术人员可以通过职务之便与他人合作绕过流程,充分说明银行也需要加强对员工进行职业道德操守,操作风险以及信息安全保护的教育和培训。

IT 从业者的职业道德

每个行业都有其做事的行为准则,也有其约定俗成的职业道德。对于 IT 从业者的程序员来说,职业道德应该是怎样的呢?

IEEE(电气和电子工程师协会)曾制定过 IT 从业者的伦理准则(Code of Ethics),简单翻译以供参考:

  1. 以公众的安全、健康和福利为最高原则,努力遵守道德设计和可持续发展的惯例,并迅速披露可能危及公众或环境的因素;

  2. 尽量回避存在或可预见的利益冲突,如有冲突存在应及时向波及对象披露;

  3. 对现有的数据的声明或估计应诚实、客观;

  4. 拒绝任何形式的贿赂;

  5. 增进个人对技术及其应用和潜在后果的理解;

  6. 保持并提高自身技术实力,在确保能力和经验胜任、并充分披露有关局限的情况下,方可接受他人的技术性委托;

  7. 对技术成果,寻求、接受和提供诚恳的批评,承认和纠正错误,和恰当地承认他人的贡献;

  8. 公平对待所有人,不做出任何有关种族、地域、性别、残障、年龄、国籍、性取向、性别认知、性别表现的歧视行为;

  9. 避免因错误或恶意的行为损害他人人身、财产、名誉、或工作;

  10. 帮助同事的职业发展,并支持他们遵守职业行为准则。

IEEE Code of Ethics:

https://www.ieee.org/about/corporate/governance/p7-8.html

机灵的 InfoQer 们,你们看了这个新闻有何感想?快点留言告诉我们吧!

文末福利

科大讯飞全球 1024 开发者节即将开幕,InfoQ 给真爱粉送福利啦!

价值 1024 元的嘉宾票 50 张,权益包括:2 场开幕式;AI 开发者大会;10 场 AI+ 行业分论坛;AI 新品展区互动体验;商务餐饮、嘉宾会客区;AI 公益音乐节;AI 新品体验福包(B 版)等!戳下图小程序,马上参与哦!

今日荐文

点击下方图片即可阅读

程序员能靠技术渡过中年危机吗?




InfoQ 主办的第四届 CNUTCon 全球运维技术大会,邀请了 Twitter、RIOT Games、BAT 等国内外一线专家,分享智能时代下运维的新趋势、新思路、新技术和实战经验,包括探讨微服务的应用场景、企业集成架构的演进以及微服务转型思路和技术决策考虑等内容。

目前,大会 8 折限时优惠,使用我的优惠码【InfoQ】可获得额外优惠,扫描下方二维码或点击 阅读原文 了解,有任何问题欢迎咨询 Joy 小同学,电话:13269078023(微信同号)。

 
InfoQ 更多文章 Facebook面试官:如何突围大厂算法面试? 程序员能靠技术渡过中年危机吗? 一颗微型芯片,就能入侵30多家美国公司? 给年轻程序员的33条忠告 PPT架构师与写代码这件事儿
猜您喜欢 对于应届生,Java基础和项目经历哪个更重要。 2016年3月14日,今日石油资讯。 这些关于程序员、计算机的事情很多人都不知道 iOS APP可执行文件的组成 京东资深架构师:高性能高并发服务的瓶颈及突破思路