阿里云呈现源代码泄露企业 涉及万科等40家企业200余项目
本文来自铅笔道电子烟论坛:铅笔道
记者 | 付艳翠
编辑 | 吴晋娜
人工智能学习道路+实战训练
https://edu.csdn.net/topic/ai30?utm_source=csdn_bw
在阿里云云效平台上,只要登上账号,就能阅读到很多公司的“内部”代码。
““能形成多大损失,那就要看你的想象力了。”说完,张中南通过微信发来几张用户手持身份证的照片。照片中,隐约可以看到用户的个人信息。这是张中南在阿里云公共代码托管平台上,阅读到的万科集团的用户“内部资料”。
张中南是一位网络安全方面的喜好者,同时也是上海一家科技公司的后端工程师。
近日,他向铅笔道爆料,半年前他发现,由于阿里云代码托管平台的项目权限设置存在歧义,导致开发者操作失误,形成至少40家以上企业的200多个项目代码泄露,其中涉及到万科集团、咪咕音乐、51信誉卡旗下51脚印、百度无人车合作伙伴ecarx等知名企业,问题至今未完全处置。
面对可能会引发的一系列难以想象的网络安全灾难,这位工作不到3年、年仅24岁的小伙子,有些手足无措。期间,他曾怀着忐忑的心情,一边怕惹上官司,一边又自己通过电邮、微信等方式联络了其中的十余家公司。
他本寄希望于阿里云平台能帮忙一次性处置掉这些公司的安全隐患,经过屡次沟通,他却发现照旧徒劳,让他百思不得其解的是,“阿里云只要向企业发个邮件、打个电话就能处置,有那么难吗?”
注:本文内容主要来自铅笔道记者采访和网络公开信息,论据难免偏颇,不存在刻意误导。
发现了“不得了”的机密
近日,作为网络安全方面的喜好者,上海一家科技公司的后端工程师张中南向铅笔道吐露了半年以来的这段经历。
去年8月下旬的一天,他在网上看到阿里云在推广云效平台,还出了一本书叫《阿里巴巴Java开发手册》。抱着学习的心态,他注册了一个阿里云平台账号。
“我是一个ruby工程师,java和php都是半吊子。在这里,我就像翻开了新世界的大门。”他意外地发现,在阿里云效平台上,只要登上账号,能阅读到很多公司的“内部”代码。
最初,张中南以为这些代码是开源的。这个发现,让他在最初感到非常欣喜。“这些项目大多数是用java和php写的,看企业里面真正的项目,要比自己看书探究要真实一些。”
然而,张中南很快发现了“不对劲”的地方,这些代码内容很多都是不该出如今开源项目中的。比如,项目的数据库、账号、密码等。为此,抱着测试一下的态度,张中南登录了这些账号和密码。
张中南震惊地发现,竟然真的能见到一些公司消费环境的详细数据。虽然离最初发现时已过去半年,但他如今描绘时还是感到难以置信。“这其中的很多企业,竟把数据库也抛在公网上,听凭谁,只要依照里面记录的账号密码登录,就能访问。”
一番研究过后,张中南猜测,之所以呈现这种情况,可能是因为这些公司的程序员在给项目建库时操作不当,将项目权限设置成“平台公开”。
张中南解释,因为当时的阿里云代码托管业务还是全英文平台,可能很多企业在创建项目的时候会误选择“internal”,也就是“平台公开”。
他认为,“internal”的意思得因人而异。“假设是个人在使用代码托管,那么‘internal’的意义非常明确,就是使用这个平台的人都能访问。但假设是企业在使用代码托管,那么‘internal’的意义是‘对企业内的用户都公开’还是‘使用这个代码托管平台的人都能访问’呢?”
目前,阿里云云效平台建库操作页面为中文,默认权限为“私有”。
他开端担忧,“假设这些信息被人发现并利用,迟早有一天要出事。”
张中南用一些他发如今阿里云平台上呈现代码泄露的企业举例。比如,中国挪动旗下咪咕音乐,泄漏后端代码及配置数据,包括访问高清曲库接口的密钥,访问中央音乐平台总线接口的密钥,支付密钥等。黑客可以根据代码逻辑和支付密钥,伪造支付胜利恳求。
又如,由金正大集团发起并控股的,由世界银行集团国际金融公司、华夏银行共同参与的金丰公社,泄漏代码为电商后端和CMS。其阿里云oss访问密钥也泄漏,该密钥可以访问金丰公社消费环境的文件系统,包括用户上传的图片和资源、内部系统的报表、效劳器日志等。黑客假设用恶意app和网页交换掉oss中的原有项目,用户通过金丰公社晋级app或访问特定页面时,便会被劫持。
还有,基于微信的教育应用效劳平台浙江小虫科技,泄漏代码为效劳器监控中间件,代码中暴露出高权限消费环境数据库账号,可以直接登录查看线上数据。尝试登录阅览,其中一个数据库存储了36万条中小学生的姓名、手机号和学校。假设泄漏,后果不堪设想。
张中南通过电话联络了对方开创人,对方很快将代码泄漏情况全部处置。事后,张中南表示:“想想还蛮开心的,今天维护了几十万个小孩子的隐私。”
此外,上海图聚智能科技有限公司的客户已经包括全国数百家医院和商场,以及高德地图等,它的代码近乎全部泄露。张中南称:“且不说其辛苦运营的数据假设被竞争对手全数获取会怎样,试想假设黑客把数据库中合作医院的地址改为某个‘不作为’的医院,后果也不堪设想。”
张中南介绍,虽然万科集团泄露代码不多,但消费环境oss密钥泄漏了出来。该密钥权限非常大,可以访问整个万科集团的线上oss,包括购房客户上传的身份证,各地销售人员报表等。而这些信息,对黑客来说,无疑是一个宝库。
感性战胜理智
晓得了“代码机密”的张中南,在接下来的几天,开端陷入是否要通知这些企业的犹豫中。“之所以犹豫,是因为之前世纪佳缘网白帽子事件。”
世纪佳缘网白帽子事件发生在2015年12月,在2016年6月,被白帽子父亲披露。
资料显示,知名第三方破绽平台——乌云网的注册白帽子袁炜,在检测破绽中发现了世纪佳缘的破绽,并告诉了世纪佳缘该破绽。几天后,世纪佳缘确认并修复了该破绽,同时致谢乌云网和袁炜。
但在2016年1月,世纪佳缘报警称有4000余条实名注册信息被不法分子窃取。2016年3月8日,袁炜遭到警方刑事拘留,并于4月12日被批准拘捕。罪名是基于《刑法》285条第2款,入侵获取网络金融证券系统身份认证信息 10 条以上、一般系统 500 条以上,被认为情节严重。
虽然担忧自己会有和袁炜一样的遭遇,但最终,张中南的感性战胜了理智。
在代码泄露的公司中,张中南打算挑一家互联网兼职平台试试水。“之所以选择这家公司,是因为他们有一位看起来很友善的年轻CEO。”
2018年9月4日,张中南给这家互联网兼职平台的几位研发人员发送了一封邮件,告知对方公司项目在阿里云托管平台的代码存在安全隐患,并将建议也一并发给对方。
张中南回忆,为了害怕有人已经离任,他特地给该公司多个一线研发发送了邮件。
张中南给互联网兼职平台发送的邮件截图(张中南提供)。
很快,张中南发现,泄露的项目就被“悄悄下掉”了,但他不时没有收到回信,“甚至连声感激都没有”。
迟迟没有回复,也让张中南产生了犹豫。“毕竟当时是鼓起很大勇气才发邮件的,因为怕他们报警。”
但消沉几天后,张中南还是觉得应该去做些事情,继续将这个发现告诉涉事公司。
这次,张中南找到了比邮件更好的方法:通过代码提交的记录,直接添加开发者的微信,再向他们告知。
“前后忙活了十余个公司,效果还不错。但在联络这些公司人员时,大家其实一开端还是倾向于疑心和不信任。”张中南感受到。
张中南联络泄露公司时的对话截图(张中南提供)。
这也让张中南开端期望与这些公司对话,引起公司上层重视。之后,张中南通过网站留言的方式,联络了代码同样泄露了的上海某科技公司。
“第二天,公司CTO就打来电话道谢。”说到这里,张中南显然很开心。因为他认为,这也证明他这么做下去是值得的。
屡次沟通,问题未解
在11月底,张中南在和其哥哥通电话时,说了他正在做的事情。但之后其哥哥理解了情况后,专程给张中南打电话劝他不要管了,因为这种做法法律风险很大。
在考虑了哥哥的意见后,张中南决定找阿里云官方渠道,希望阿里云可以通过平台来处置这件事。
11月26日晚,张中南将51信誉卡在阿里云code上托管的代码项目51脚印app,因为权限配置不当而泄漏的情况告知了云效客服。他并标明,希望阿里云能发个站内信告知这部分公司。
11月26日,张中南与阿里云客服对话截图(张中南提供)。
当时阿里云云效方面表示,张中南反响的51信誉卡旗下51脚印app后台的代码,仓库级别设置为了“internal”,需要通知客户改为“private”的问题,已经关联任务。
本以为事情可以圆满得到处置,因为张中南发现,在11月他与平台沟通之后,确实监测不到云效平台上再呈现代码泄露项目的新公司了。然而,他发现,在11月之前监测过的代码泄露企业,照旧处于“裸奔”状态,这意味着阿里云并没有通知到代码泄露的企业。
今年1月31日,不甘心就这么算了的张中南再次联络了阿里云云效平台,并提供了几个大厂如咪咕音乐、百度无人车合作伙伴ecarx、51信誉卡旗下的51脚印的泄露情况,希望事情得到处置。
这次,阿里云客服表示:“作为公有云的代码托管,我们无权扫描用户的代码,这一点公有和私有一样,仓库的开放性是用户自主的权利。”也就是说,阿里云作为代码效劳平台,无权扫描用户代码。而代码不论是平台公开,还是私有,都是用户的权利。
阿里云称,感激张中南的反响,会将其反响到的信息给到其发现的几个仓库的维护者。但同时也建议张中南可以直接通过commit的邮箱与维护者停止提示。
1月31日,张中南与阿里云客服对话截图(张中南提供)。
这一次,张中南同样不晓得阿里云是否通知了项目方。“虽然不晓得阿里云是否联络了这些企业,但上述企业的代码泄露情况仍然存在,可见它们并没有接到通知。”
在他看来,阿里云这样的知名云效劳提供商,应该有告知代码泄露公司的义务。
在张中南提供的泄露代码公司的表格里,有28家公司、共235个项目的代码存在泄露风险。这里还不包括张中南此前自己联络过的10余家公司。
张中南表示,名单中还漏掉了很多企业,因为他写的爬虫代码不是很好。解析过程中,一些页面解析错误就漏掉了。
在此之前,用户数据泄露事件频繁发生,Facebook、Uber、华住、顺丰、万豪、陌陌等企业深陷其中。
2018年9月,华住旗下酒店汉庭、桔子、全季等开房数据泄露事件,就是华住程序员将数据库的用户名、密码,上传至公共代码托管平台导致的。据悉,泄露的房客信息包括名字、邮寄地址、邮箱地址、电话号码、护照号码、出生日期、性别、到达和离店信息等,已经构成一种完好意义上的个人大数据。
“如今阿里云面对的是几十家企业,几百个项目的代码泄露。而阿里云只要发个邮件、打个电话就能防止,打个电话那么难吗?”对于这个问题,张中南百思不得其解。他认为,阿里云这种不作为行为,会让这件事情有可能变得非常严重。
阿里云:权限始终默认“私有”
针对网友反响的问题,阿里云云效平台表示:“针对部分用户不那么熟悉此类平台,我们也会展开一些科普与使用规则提醒,确保大家对自己分享的代码有明晰的认知。”
为此,铅笔道采访了此前张中南联络过的一家公司,该公司研发人员李杰(化名)表示:“阿里云所说的向用户科普和使用规则,根本可以满足用户正常使用。但因人而异,因为我就没有过多的关注。”
李杰继续称,阿里云后来将页面从英文变卦为中文,就可以看出它们做了很多优化。“大家都是开发者,对于面向开发者的平台来说,也无须苛求太多。”
当时之所以建站出错,李杰回忆,是因为在建站的时候,云效还是全英文平台,他记得当时权限控制默认确实是“internal”,“主要是程序员个人建库的时候忽略了。”
针对李杰所说的云效平台此前默认操作是“平台公开”一事,阿里云云效平台表示:云效平台和github一样,从一开端就是默认的“私有”,但客户可以手动更改,相关的选项也都符合行业的通用规则,且完全由客户自己设置。
对此,李杰称,这件事情发生在去年8月份,记忆有些模糊了。在当时,他一共建了3个项目,他在事后特别确认了一遍,当时的3个项目权限全部是平台“公开”的。“我建项目的时候,肯定不会把所有项目,专门都从‘私有’改成‘公开’。”
针对云效平台是否默认“私有”一事,张中南则回忆,印象中他开端注意到限制操作设置时已经是默认为“私有”,而更早之前注册并建库的项目开发者操作时是否默认为“公开”,他也不得而知。
然而,他认为,即便阿里云云效平台为开发者提供的是免费效劳,且从一开端就把限制操作设置为“私有”,在这次泄露事件中也有责任。他认为,一方面,阿里云未能及时优化和解释有歧义的英文权限描绘;另一方面,即便云效平台是免费效劳平台,也有通知其用户预防风险的义务。
“事实上,阿里云被动发现问题后,没有重视问题,也没有提出处置措施。”张中南表示,他之所以选择公开此事,只是想要引起企业对代码安全的关注,同时希望阿里云改善效劳流程。(
1月31日,张中南与阿里云客服对话截图(张中南提供)。
这一次,张中南同样不晓得阿里云是否通知了项目方。“虽然不晓得阿里云是否联络了这些企业,但上述企业的代码泄露情况仍然存在,可见它们并没有接到通知。”
在他看来,阿里云这样的知名云效劳提供商,应该有告知代码泄露公司的义务。
在张中南提供的泄露代码公司的表格里,有28家公司、共235个项目的代码存在泄露风险。这里还不包括张中南此前自己联络过的10余家公司。
张中南表示,名单中还漏掉了很多企业,因为他写的爬虫代码不是很好。解析过程中,一些页面解析错误就漏掉了。
在此之前,用户数据泄露事件频繁发生,Facebook、Uber、华住、顺丰、万豪、陌陌等企业深陷其中。
2018年9月,华住旗下酒店汉庭、桔子、全季等开房数据泄露事件,就是华住程序员将数据库的用户名、密码,上传至公共代码托管平台导致的。据悉,泄露的房客信息包括名字、邮寄地址、邮箱地址、电话号码、护照号码、出生日期、性别、到达和离店信息等,已经构成一种完好意义上的个人大数据。
“如今阿里云面对的是几十家企业,几百个项目的代码泄露。而阿里云只要发个邮件、打个电话就能防止,打个电话那么难吗?”对于这个问题,张中南百思不得其解。他认为,阿里云这种不作为行为,会让这件事情有可能变得非常严重。
阿里云:权限始终默认“私有”
针对网友反响的问题,阿里云云效平台表示:“针对部分用户不那么熟悉此类平台,我们也会展开一些科普与使用规则提醒,确保大家对自己分享的代码有明晰的认知。”
为此,铅笔道采访了此前张中南联络过的一家公司,该公司研发人员李杰(化名)表示:“阿里云所说的向用户科普和使用规则,根本可以满足用户正常使用。但因人而异,因为我就没有过多的关注。”
李杰继续称,阿里云后来将页面从英文变卦为中文,就可以看出它们做了很多优化。“大家都是开发者,对于面向开发者的平台来说,也无须苛求太多。”
当时之所以建站出错,李杰回忆,是因为在建站的时候,云效还是全英文平台,他记得当时权限控制默认确实是“internal”,“主要是程序员个人建库的时候忽略了。”
针对李杰所说的云效平台此前默认操作是“平台公开”一事,阿里云云效平台表示:云效平台和github一样,从一开端就是默认的“私有”,但客户可以手动更改,相关的选项也都符合行业的通用规则,且完全由客户自己设置。
对此,李杰称,这件事情发生在去年8月份,记忆有些模糊了。在当时,他一共建了3个项目,他在事后特别确认了一遍,当时的3个项目权限全部是平台“公开”的。“我建项目的时候,肯定不会把所有项目,专门都从‘私有’改成‘公开’。”
针对云效平台是否默认“私有”一事,张中南则回忆,印象中他开端注意到限制操作设置时已经是默认为“私有”,而更早之前注册并建库的项目开发者操作时是否默认为“公开”,他也不得而知。
然而,他认为,即便阿里云云效平台为开发者提供的是免费效劳,且从一开端就把限制操作设置为“私有”,在这次泄露事件中也有责任。他认为,一方面,阿里云未能及时优化和解释有歧义的英文权限描绘;另一方面,即便云效平台是免费效劳平台,也有通知其用户预防风险的义务。
“事实上,阿里云被动发现问题后,没有重视问题,也没有提出处置措施。”张中南表示,他之所以选择公开此事,只是想要引起企业对代码安全的关注,同时希望阿里云改善效劳流程。(校对 | 林夕)
人工智能如何学?
https://edu.csdn.net/topic/ai30?utm_source=csdn_bw
|
|
|
|
|