最近和一位在某大型国企的技术负责人朋友S兄交流时,S兄说他们正在计划建设云平台。由于项目规模大并且耗时长,服务他们企业对云厂商来说具有很大的标杆意义,所以在这个项目上云厂商之间竞争尤为激烈。甚至有云厂商承诺,可以开放源代码给S兄的企业,但是一些云厂商对开发源代码这件事情持坚决反对。关于开放源代码S兄问我如何看。我认为如果公有云厂商开放源代码给特定客户是极不负责任的行为,存在代码泄漏的可能,一旦代码泄漏将严重消弱用户信心,引发用户大量逃离。
一、什么才是云厂商的生命线?
云服务已经成为水电一样的基础,一旦出现问题影响巨大。
对于用户来说,一旦出现安全事件,将造成严重损失:
2018年3月,Facebook数据泄露丑闻爆发,股价大跌7%,市值蒸发360多亿美元;
2020年2月,万豪酒店520万客人信息被泄露;
2020年2月,微盟的“删库”事件,影响业务136小时,拖累微盟业绩,赔付总额达到1.16亿元,微盟股价累计跌幅超20%;
2020年5月,泰国最大的移动运营商泄露83亿条用户数据记录。
对于云厂商来说,一旦出现问题,将影响到千万用户:
2019年2月,阿里云代码托管平台的项目权限设置仅仅因为有歧义,用户在上传代码时,可设置private、internal和public。很多开发者以为选择“internal”,就是安全的,于是选了此选项。因此,包含万科、咪咕音乐、51信用卡等40家企业在内的200多个项目代码被泄露;
2020年5月,有黑客声称获取微软公司存储在Github私人仓库中的大量源代码片段,源码大小高达63.2GB,涉及Azure、Office和Windows。
2021年3月,欧洲云计算巨头OVH位于法国斯特拉斯堡的机房发生严重火灾,导致350万家网站下线,部分客户数据丢失无法恢复。
在全球数字化转型大潮不断推进的背景下,企业上云步伐加快,如果云厂商的关键代码泄露,哪怕黑客抓住一个漏洞,就可能造成全球范围的宕机,大量客户的数据泄漏,用户将对云厂商失去信心,云厂商也将失去商业生命。
二、开放源代码等同于软件项目开源么?
开放代码和通常提到的开源项目是两回事。开源软件项目模式通常为软件开源,通过服务或高级功能收费。开放代码和开源不一样,开放代码一般只针对特定用户,目的是让用户或者合作伙伴能够了解产品特性,其本质是一种商业手段,是一种不正常的业务模式。
而且,开源软件经常因为使用者更新不及时,缺乏安全管理,攻击者注入恶意代码,分发不合规等原因出现安全风险。据2020年5月Synopsys公司发布的《2020 年开源安全和风险分析(OSSRA)报告》显示,2019年审计的代码库中,有70%进行了开源,同比增长10%。但其中75%的代码库中包含已知的安全漏洞,49%的代码库包含高风险漏洞。
开源软件是开放给所有人,开放代码是给特定客户,开发代码给特定客户既不是按照开源软件项目也不是按照闭源商业软件的模式进行安全管控,安全风险根本不可控。
三、公有云厂商开放源代码给特定客户,可行么?
负责任的云厂商都极度重视安全,例如 AWS曾在信息安全领域,面向公众和客户,做出过相应的举措和承诺。
从2011年开始,AWS每年都会发布《AWS风险与合规性》白皮书,最新一份于2020年9月发布,AWS提出公有云厂商和客户的共担模型,并认为安全性和合规性是AWS和客户的共同责任。实施细则上,AWS负责保护运行所有AWS云服务的基础设施,包括运行AWS云服务的硬件、软件、网络和设备。客户责任由客户所选的AWS云服务确定,这决定了客户在履行安全责任时必须完成的配置工作量。
并且AWS还推出了一系列安全服务,包括Identity & Access Management、检测、基础设施保护、数据保护、事故响应和合规性等几十项安全合规服务。
与AWS类似,自2017年华为云正式上线服务开始,每年也都会发布《华为云安全白皮书》,最新一份2020年8月发布。
可见,极度重视安全,负责的云厂商都不会开放源代码给特定客户,因为既不公平也会引入安全隐患,更不符合自己对客户的安全承诺。
四、公有云开放源代码,对用户有害无益
公有云厂商一旦开放源代码,对用户是有害无益,这一观点毋庸置疑。
首先,一线云厂商,通常研发团队数千人,代码上亿行。即使开放源代码,用户也没有能力没有时间了解代码,更不用说基于代码做配置修改和二次开发。用户如果有二次开发需求,不如使用云厂商的API,API对功能做了高度抽象,更简洁易用,有实力的云厂商都提供了丰富的API。
其次,还会增加用户法律责任。开放源代码时,企业与云厂商必然会签署严格的法律协议,对代码的安全管理提出严格的要求,且会投入法律和管理成本。万一因为管理不善,造成源代码泄露,用户将面对严重法律责任。
第三,如果出行源代码泄漏事件,或者有源代码的客户可能找到软件漏洞而对其他客户产生安全隐患,这对其他客户也是极大的不公平,会让其他客户出现巨大损失。
云市场风云变幻,为了赢得客户,也会衍生出多种商业模式上的竞争,但产业发展运行的基本原则不能丢,红线不能破,这是一个云厂商商业准则的基本操守,也是对客户利益价值的尊重与保护。所以,开放源代码给特定客户,是一种极不负责的行为,我觉得还是三思而后行。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )