程序员,技术的“背锅侠”,盘点 2020 年面向监狱编程的那些事!
【CSDN 编者按】过去一年,“删库跑路”、安全漏洞等事件层出不穷,企业、技术人深受其害,作为一名程序员,在新的一年即将到来之际,我们该如何避免面向监狱编程?作者 | 马超...
【CSDN 编者按】过去一年,“删库跑路”、安全漏洞等事件层出不穷,企业、技术人深受其害,作为一名程序员,在新的一年即将到来之际,我们该如何避免面向监狱编程?
作者 | 马超 责编 | 张红月
出品 | CSDN(ID:CSDNnews)
2020 年转眼间白驹过隙般飞奔而去,在岁末年初的当口,笔者在回顾这一年程序员世界的大事件后,突然发觉如何避免程序员面向监狱编程是个特别值得一谈的话题。
过去一年的「删库」回忆录
这几天一款秒杀茅台酒的 Python 项目,突然在 GitHub 上火了起来,不过联想到年初 Pandownload 事件主角因贩卖不限速网盘工具而获罪的新闻,笔者不禁为这个项目的发起人略感到担心。
当然避免面向监狱编程并不是普通程序员才要考虑的问题,9 月末百度元老史有才因涉及非法为赌博网站推广而被警方带走,可见就算你身居高位也无法保证安全。
而部分公司权限分配不合理,加之程序员在工作期与单位已经发生严重矛盾,这样的情况下极端的删库跑路事件也是时有发生,如微盟的核心数据库于 2020 年 2 月 23 日 19 点被员工恶意删库,直到 3 月 3 日上午 9 点数据才恢复正式上线。针对事故给客户造成的影响,微盟准备了 1.5 亿元人民币赔付拨备金,其中公司承担 1 亿元,管理层承担 5000 万元。
如果说上述情况不算是无心之过,那么今年年初某个程序员因为接了个外包,帮别人写了个软件,结果因软件涉赌锒铛入狱 456 天的刷屏新闻,还历历在目。
所以看似被动的接外包其实也不安全。更遑论 P2P 公司暴雷、老板跑路但程序员背锅被抓,而中科大博士业余时间写“外挂”非法牟利被捕,诸如此类似乎也在说明程序员是个相当高危的职业。
就算不去 P2P 公司、不接外包、不做外挂,只是业余时间写个开源软件也可能招来灾祸,去年年底,Nigix 之父 Igor Sysoev 的前东家 Rambler 集团对Nginx 提出了侵犯版权的诉讼,而被警方带走调查,Rambler 声称 Igor Sysoe 在任职期间所有的开发成果均属于 Rambler 集团所有,因此该公司才是Nginx 项目的合法所有人。
业余时间的开源项目做得好被招妒忌这个还可以理解,而本本分分的完成职责内的开发任务也可能被“杀”了“祭天”,美团大数据杀熟事件以及年初原油宝负油价事件,技术原因和系统问题全部被定性为罪魁祸首。
不过最吊诡的情况是在程序员成为技术“背锅侠”的同时,重大的信息安全事件也层出不穷,比如一个月前的感恩节期间,富士康在墨西哥的一家工厂遭受了名为 DoppelPaymer 勒索软件攻击,黑客在此之前偷窃了未加密的文件,进而在入侵之后对设备进行了加密处理。近日, DoppelPaymer 勒索软件在其勒索软件数据泄漏站点上发布了属于富士康的文件。泄漏的数据包括常规业务文档和报告。
随后黑客要求价值 3400 万美元的比特币作为赎金,而美国司法部也在日期公布了黑客组织 Sandworm 的材料,他们对于平昌冬奥会、2017 年法国大选都发起过攻击。当然在这种大规模网络攻击上,美国安全部门也是十分的出圈,根据斯诺登的曝料 2010 年他们就进行过实验,利用 30 行代码炸毁了 27 吨的发电机。而民用设施的漏洞则更多了,他在 2010 年 Blackhat 大会一名来自于新西兰的程序员 Jack 公开演示了如何黑掉 ATM 机使 ATM 随意吐钱;随后 Jack 又在 2012 年的 Blackhat 大会上展示了如何攻击心脏起搏器和除颤器。
那么,作为一个 IT 界的一员,如何避免这些坑呢?又如何在出现问题时尽可能的保护好自己?
下面笔者就和各位共同探讨一下在这样一个"一半烈火,一半海洋"的大背景下,作为程序员如何避免面向监狱编程,而企业又如何尽量避免黑客攻击所带来的损失。
使用 IDaaS 云身份认证系统为核心
自 2006 年“云计算”概念诞生以来,企业上云浪潮席卷全球。由于企业上云后可灵活使用资源、扩展灵活易管理的业务模式、提高资源配置效率、降低信息化建设成本。
业界有说法是“系统上云后,硬件投入成本减少近 2/3。 “企业上云还能享受到的一大好处是基于硬件的数据安全能力。云厂商具备的计算资源规模优势等先天条件,使得其可以借助加密计算等多种前沿技术来保证用户数据安全,以增强企业上云的安全性。
不过令人遗憾的是很多企业上云之后还由于惯性沿用之前的身份认证系统,而传统身份认证体系最主要的认证方式就是“用户名、口令”,此前,微盟等删库事件之所以会发生,其根本原因就是采用传统的身份鉴别方式,因为用户名、口令的机制很容易由于人为因素或者制度安全体系的漏洞导致泄漏或者被猜测出来。
IDaaS(身份即服务),才是云计算时代的身份识别和访问管理系统,它提供了单点登录、强大的认证管理、基于策略的集中式授权和审计、动态授权、企业可管理性等功能。
IDaaS 的解决方案完全舍弃了用户名、口令的传统方式,它可以根据用户的登陆地点、时间及终端等等信息综合授予用户相应权限,并且还对用户对态调整,相较于传统安全外挂式、成本贵的缺点,优势十分明显:
成本低廉、避免重复造轮子。传统安全方案需要企业需要采购几十甚至上百个安全产品才能初步建立企业安全体系,成本高昂不说,对于安全体系来说这也是一种重复建设的浪费。而 IDaaS 作为一种云服务其成本优势不言而喻。
传统安全模型是游离在 IT 体系之外的外挂式安全。企业在使用网络、存储、数据库等 IT 基础设施时,往往采购自不同的厂商,安全产品也有不同的品牌。于是只能在基础设施外部署相关的安全产品,做“外挂式的安全”。如何能让安全产品与产品间,安全产品与基础设施间做更好地联动?这对于传统安全厂商来说,是个较大的挑战。
大幅降低使用门槛。之前安全产品俨然成了企业的“奢侈品”:企业光购买安全产品没有用,必须有专门的安全人员来使用才能真正发挥效果,于是线下安全厂商大多采用产品加服务的销售方式进行。但是,由于无法构成相对联动的体系,导致企业需要招聘很多安全专业人员来运营,成本增大,导致多数企业没有足够的专业安全人员来运营。而云安全也真正让云计算变成一种普惠科技走入千家万户。
因此企业在全面触云之后,当务之急就是要将自身原有的安全认证体系升级到IDaaS 平台,只有利用云安全产品,才能真正保证企业信息资产的安全。
不过目前 IDaaS 领域还处在一片蓝海当中,向客户提供 IDaaS 集成服务的厂商只有阿里云,而可以支持单独提供 IDaaS 服务的也只有 Authing 身份云等有限几家初创企业,因此笔者这里也呼吁各大云厂商尽快将 IDaaS 服务集成到自身的云平台上,正如我们刚刚所讲,如何平衡安全与成本之间的关系,其实是摆在各行业面前的难题,而 Authing 身份云的 IDaaS 服务恰恰是解决此类问题的关键所在。
多方安全计算客户隐私保护的关键
另外,隐私在如今的大数据时代,一直成为业界及消费者关注的重点之一。不过近期,在区块链技术的加持下,多方安全计算解决方案成为保护隐私的突破口。
现在由区块链构建的数据价值交换经济生态,已经成为多方安全计算的算法底座,其中交换标的物是数据资产的使用权,交换媒介是基于隐私计算技术的数据价值交换网络,参与者是数据的供应方和需求方。
最终,区块链技术可以来保存各种数据交易记录,让整个交易过程清晰可见并可追溯,并以它为基础来实现数据的计量计价,以及探索未来的各种基于场景或贡献度的数据计价。通过隐私计算和区块链技术结合,所有业务参与方可以合规、合法和可持续地把有价值的数据引入到安全计算的厂景中。
正是在这样广泛应用前景之下,Gartner 预估三年之内数据要素市场可以有 10倍的增长,成为一个千亿级别的市场。不过多方安全计算既要求有强大的互联网技术背景,也要充分理解传统行业的运行逻辑,因此这个领域内其实玩家更少,尤其是考虑到多方安全计算从短期看对于巨头的数据垄断是不利的,因此这个领域也就成了巨头不愿意做,而初创企业又做不来的局面。
划定底线,涉挂、涉黄、涉赌坚决不碰
除了上述给整个行业的建议外,下面我们来简单谈一下具体到我们每个程序员如何避免自己踩坑,首先要着重强调的是底线千万不能碰。
当然可能也有人会拿菜刀无罪的说法来辩白,写个软件我也不知道最终会被用在何处,为此笔者咨询专业人士,得到的结论是,刑事责任关注要看当事人是否有主观故意。
根据《最高人民法院、最高人民检察院、公安部关于办理网络赌博犯罪案件适用法律若干问题的意见》中关于网上开设赌场共同犯罪的认定和处罚规定:
明知是赌博网站,而为其提供下列服务或者帮助的,属于开设赌场罪的共同犯罪,依照刑法第三百零三条第二款的规定处罚。
也就是说,如果作为程序员,只要你知道自己写的代码将被用于赌博,或者其它明知道是违法或者可能违法行为的情况下,继续为其提供技术支持,都是可能触犯刑法的。程序员一定要远离这些,当然这里还要特别说明一下 P2P 和外挂,也必须第一时间撇清。
P2P
此前,有脉脉用户发帖称"P2P公司暴雷,前端程序员被捕。
对于这种做互联网金融的企业的程序员,需要多多了解一下自己公司当前的主营业务是否合法、是否涉及到非法集资违法行为,如果有这个苗头还是趁早远离。
外挂
在我国的司法定义中,外挂是指利用电脑技术针对一个或多个游戏,通过改变软件的部分程序制作而成的作弊程序。制作贩卖游戏外挂也是会受到我国司法机关打击的犯罪行为。
根据开发者制作的不同的外挂类型,以及使用方式等,根据以往案例,可能触犯非法经营罪、破坏计算机信息系统罪以及侵犯著作权罪等。
爬虫存在风险
根据最新的流量分析,互联网 40% 左右的流量都是机器人也就是爬虫发起的。而有关爬虫的法律问题,笔者特意咨询了单位法务部门的同事,根据我国的《刑法》、《网络安全法》的规定,爬虫可能涉及到的犯罪行为有如下情况:
首先侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,不论情节严重与否,构成非法侵入计算机信息系统罪。
违反国家有关规定,向他人出售或者提供公民个人信息,构成“侵犯公民个人信息罪”。也就是说通过出售个人信息获利或者侵入含有国家机密的系统均会构成犯罪,但这两种情况均不会是无心之过,但是以下规定需要格外注意。
违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,构成犯罪。也就是如果使用爬虫的抓取力度过大,造成被攫取的网站无法正常运行的情况,并造成严重后果的也会构成犯罪。我们前文所述巧达科技的程序员也是因为爬虫流量太大,造成目标网络接近瘫痪,而涉嫌触犯此条被捕。
另外为避免其它民事纠纷,要尽量遵守 Robots 协议。Robots 协议是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器也就是爬虫,此网站中的哪些内容是不应被爬虫获取的,哪些是可以被爬虫获取的。严格按照 Robots 协议 爬取网站相关信息一般不会出现太大问题。
因为司法实践中一般也会考虑行业的通行规范,因此一般遵守 Robots 协议得到的信息不会被认为是商业机密或者个人隐私数据。或者说遵守协议所得的信息即使涉密其泄密责任一般也不会由爬取方承担。
全面增强版权保护意识
2018 年,北京市公安局通报了一起私自开通公司多个重要技术项目访问权限,下载公司独立开发的三个项目源代码并倒卖牟利的案件。
根据通报,陈某在离职前夕,通过非法手段提高自己系统操作权限,从而获取全部的核心代码,并通过自己的账号进行下载,离职后将代码带出,倒卖获利八百万元。这里需要指出的是,程序员在工作时间开发的代码版权是完全属于所在单位,把自己开发的源代码拷回家是一件非常危险的事情,而相关案例更是屡见不鲜。
2010 年,著名的跨国银行控股公司高盛的一名程序员因窃取了投资银行高频交易系统源代码而获刑。2012 年,一名 32 岁的中国籍程序员 Bo Zhang 在纽约被警方逮捕。因为他被控盗窃了“Government-WideAccounting and Reporting Program(GWA)”的源代码,GWA 所有权属于美国财政部,开发成本约 950 万美元。
因此笔者这里再次提醒大家造成不要把公司的源代码拷回家,一旦泄露后果非常严重。
当然除了咱们程序员个人要重视版权,这里笔者还要呼吁我们的 IT 公司也要重视版权保护。
近日中国电子书厂商 Oynx 拒绝开源其基于 Linux 内核修改的设备源码,而这一做法明显违反了 Linux 的 GPL 协议。因此在 Reddit 社区引发了开源软件如何在中国维权的大讨论。
凭心而论我国阿里、腾讯、百度等大厂近些年来在开源方面贡献都很大,Oynx拒绝开放源码的行为也纯属是个例,但毕竟好事不出门,坏事传千里,即使我们开源了飞浆、RocketMQ 等多个优秀的开源软件,也无法对冲不遵守开源规则所带来的恶劣影响。
之前开源的视频编码项目 FFmpeg,就因有企业使用其代码但并未遵循 LGPL/GPL 许可证的规定,而使用“耻辱柱(Hall of Shame)”的方式来公示那些违反 GPL 许可证使用 FFmpeg 代码的其公司,其中有很大一部分是中国的知名企业,为此整个业界也都掀起了轩然大波。
而最近笔者发现国内最早的开源操作系统项目 MiniGUI 也发布了例外清单,https://www.fmsoft.cn/exception-list 对某些未遵守 GPL 协议的公司进行了例外处理。在此,也呼吁业界,在使用开源软件的时候一定要注意遵守相关规则,IT 各界也要重视知识版权。
最后,本次盘点希望能够帮助各位程序员提高相应的自我保护意识,坚守底线就可以保证安全,而 IT 企业也要积极运行新晋的云安全技术来提升自身的风险抵御能力,如此互动才能让我们的安全环境越来越好!
程序员如何避免陷入“内卷”、选择什么技术最有前景,中国开发者现状与技术趋势究竟是什么样?快来参与「2020 中国开发者大调查」,更有丰富奖品送不停!
戳”阅读原文“,立即参与中国开发者大调查!
更多推荐
所有评论(0)