Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >源码安全:悬在大厂头上的达摩克利斯之剑

源码安全:悬在大厂头上的达摩克利斯之剑

作者头像
腾讯云 CODING
发布于 2019-09-16 07:31:32
发布于 2019-09-16 07:31:32
1K0
举报
文章被收录于专栏:CODING DevOpsCODING DevOps

“ Please help us!!!”

从 B 站源码泄露开始到 GitHub 最终删除代码的两小时,大概是今年 B 站最煎熬的时刻,以至于他在向 Github 求助删除的 DMCA 邮件中,在 Please help us 后写下了三个醒目的感叹号。

注:DMCA 即数字千年版权法(Digital Millennium Copyright Act),是美国制定的一项旨在保护版权的法律。它包括禁止分发受版权保护的材料和规避版权保护监管的规定。

B 站代码泄漏虽然不是国内第一次代码泄漏事件,却是第一次因代码泄漏上热搜的话题。

去年在阿里云的代码托管平台上,也发生了企业代码泄漏事件。由于界面上的功能歧义,上百家企业在创建项目的时候误选择 “internal” ,将企业项目代码进行了“平台公开”。同年八月份华住集团旗下酒店 5 亿条公民个人信息被曝泄露。针对此次泄漏的原因,相关科技组织分析是由于一位程序员(疑似华住程序员)曾在 GitHub 上传了一个名为CMS 项目,项目的配置文件代码里包含了华住敏感的服务器数据库信息,被黑客利用攻击导致泄露。

除了上述情况之外,一些新入门的同学还没有意识到源代码属于商业机密,将公司代码拷贝到个人电脑后,出于共享学习的心态传到了公共平台;或者是离职的同学在离开公司时没有带走一片云彩,却带走了源代码。总之,企业核心源代码被“开源”的现象屡见不鲜。

GitHub 2017~2018 年的 DMCA 删除通知数量

不少企业都有自己的代码防泄漏机制,比如核心代码权限控制、内外网隔离、保密协议等等措施,但代码泄漏的现象依然在发生。而且影响严重的代码泄漏事件不少都是由第三方发现的,等企业着手处理时已造成不少损失。接下来我们要探讨的就是如何把代码泄漏的危害降到最低,我们列出常见的实践,以及在主流代码托管平台上发现侵权的仓库后可以怎么做,以供读者参考。

01 注重编程规范 对于企业来说,除了保障业务快速交付外,信息安全也是重中之重。特别是在信息及其敏感的行业,例如金融、公安、通讯、军工等。不少公司都有非常严格的编程规范,例如:

  1. 不允许将敏感信息硬编码在代码中,敏感信息通常包括用户账户、密码、电话号码、数据库密码、服务器远程登录密码等等。如果确实需要在代码里的配置文件当中存储敏感信息,建议也不要明文存储。
  2. 当代码涉及到加解密算法时,密钥不允许全部硬编码在代码中。同时加解密算法要选择强度足够的、业界认可的算法,密钥也要支持定期更换。

类似上述的编码规范可通过源码安全扫描工具对版本进行增量扫描,避免人工检视的低效率。有一些团队不愿意花时间在这些并不直接或者并不立即产生价值的事务上,但我们建议在安全和进度之间,研发团队需要找到一个平衡。

02

建立监控机制

越早发现泄漏代码,越容易控制源代码传播范围。通过定时扫描代码托管网站上的新增公开项目,查看是否存在可能涉及本公司项目源码的仓库。如何通过自动化扫描监控公开项目有如下几种方式:

  • 现有的关键字扫描开源工具,市面上提供了不少工具帮助企业去实时监控公开网站上是否存在设定的关键字相关的,比如仓库名称、仓库描述、仓库文件名称等等。
  • 根据代码托管网站的公开 API 来开发扫描工具。比如 GitHub 对公开仓库提供的 Search 接口。
  • 通过爬虫拉取代码托管网站上合法公开的信息。由于一些现有工具存在限制或者不符合代码监控的需求,开发者也可考虑自行编写数据获取程序来进行监控,按照一定的搜索排序算法获取数据,每天定时识别可能涉及泄漏的关键记录后发送邮件告警。

03 及时申诉 提前了解主流代码托管平台对于侵权代码的处理策略可以让企业快速采取措施删除侵权仓库,把即将泛滥的 Fork 扼杀在摇篮里。

  • GitHub 的 DMCA 策略

GitHub 有两种方式:版权所有者要求删除内容的删除通知程序;用户在内容被错误取下时重新启用内容的反通知程序。对于要求删除仓库的通知,GitHub 的处理流程:

  1. 如果通知声明代码仓库中部分内容涉嫌侵权,GitHub 会联系创建存储库的用户,并给他们 24 小时来删除或修改通知中指定的内容。如果仓库拥有者由于节假日、垃圾邮箱的原因错过通知邮件,那么还有唯一一次额外的 24 小时来修改。
  2. 如果 DMCA 通知声称存储库的全部内容都存在侵权。那么 GitHub 会迅速禁用整个存储库。就像 B 站这次的泄漏,就几乎没有整改时间窗直接被禁用。
  • CODING 996 贴心守护

CODING 不提供公开代码的功能,旧版个人版中可以通过分享链接的方式邀请外部人员查看代码仓库,同时该外链不支持检索。点击阅读原文即可体验 CODING 代码安全保护。 若您在分享链接当中发现到侵权的内容时,可通过热线联系我们 24 小时的运营人员(support@coding.net),告知侵权情况,我们会通知仓库拥有者进行确认及整改。我们也建议个人开发者在分享代码仓库前要慎重,保管好分享外链。

  • Bitbucket 上报告版权违规行为

Atlassian 对云产品或网站(包括 Bitbucket)上进行侵犯版权的活动也提供了对应政策。如果用户通知网站上的数据或内容侵犯了自己的版权,按照政策当中要求的列表将侵权信息通知给 Atlassian 版权代理人,Atlassian 会按照 DMCA 从服务中删除涉及侵权的数据或内容。

04

严肃对待开源

1997 年的春天,包含 Eric Raymond,Tim O'Reilly 在内的自由软件社团第一次提出了“Open Source(开源软件)”这个术语。从那时起支持“开源软件”与支持“专有商用软件”已成为了软件行业的两大阵营。支持“开源软件”的阵营以一个科研的角度对待源代码,他们坚信为了促进计算机科学的进一步发展,源代码是必须被共享和发布的科学知识。另一方则站在工业界的角度,认为企业必须对商业秘密守口如瓶。无论开源运动最终走向何方,从目前来看就算使用开源软件也不意味着源代码就可以随意共享,开发者必须严格按照开源软件协议使用。

重视自己的代码版权,同时也尊重他人的代码版权。我们希望企业被“开源”的现象会越来越少,同时也希望意外的源码泄漏不会成为企业的致命一击。

注:

Eric Raymond,著名的程序员,开源软件运动的代表人物之一。主持开发了开源软件── Fetchmail。同时也是 NTERCAL 编程语言的主要创作者之一,曾经为 EMACS 编辑器作出贡献。

Tim O'Reilly ,O'Reilly Media 出版公司的创始人,也是非会议的鼻祖 Foo Camp 的发起人。他是自由软件和开源软件运动的强力支持者,“ web 2.0 ”一词为他所首创。

参考 https://help.github.com/en/articles/dmca-takedown-policy https://www.atlassian.com/legal/copyright-and-trademark-violations https://baijiahao.baidu.com/s?id=1610052563948067365&wfr=spider&for=pc http://cloud.idcquan.com/yzx/159047.shtml 《开源软件文集:开源革命之声》作者: Chris DiBona / Sam Ockman / Mark Stone

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾云 CODING 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
中美科技「脱钩」或将成为现实:除了GitHub,中国程序员还应该知道这些代码托管平台
机器之心发布 机器之心编辑部 解决卡脖子问题,最关键的还是要建立好自己的开源社区。 2020年6月,哈工大师生陆续发现MATLAB软件无法使用,MATLAB 是美国MathWorks公司出品的商业数学软件,受到全世界上百万名数学家和工程师的喜爱,尤其是中国工科学生绘制论文图表的首选软件。而哈工大的学生却突然收到了正版软件取消激活的通知。 向开发公司MathWorks询问之后得知,因哈工大被纳入实体清单,在特朗普政府的要求下,MATLAB将对哈工大师生强行停止授权,即使是在已付费的情况下。目前,国内共有 1
机器之心
2023/03/29
1.2K0
中美科技「脱钩」或将成为现实:除了GitHub,中国程序员还应该知道这些代码托管平台
打造企业级自动化运维平台系列(三):DevOps 常用的软件工具
项目管理系统是项目的管理者应用专门管理项目的系统软件,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。它从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。
民工哥
2024/01/18
6620
打造企业级自动化运维平台系列(三):DevOps 常用的软件工具
程序员的大本营被黑客攻击了!10天内不交赎金,就公开用户私有代码
就在五一假期的最后一天,一些程序员查看自己托管到GitHub上的代码时发现,他们的源代码和Repo都已消失不见,取而代之的是黑客留下的一封勒索信!
iOSSir
2019/05/05
6920
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一个月黑风高的夜晚,正准备休息的我突然接到之前外包老总的亲切问候。一顿输出才知道三年前为了搭建流程化部署,将公司的测试代码放到github上后忘记删除。现在被甲方的代码扫描机制扫到,并且检查到代码已经被其他用户fork,虽没有造成损失,但要求清除github所有数据及被fork的代码。以此为戒,特来跟大家分享一下处理流程,重点是GitHub的DMCA 下架通知提交指南。
JavaDog程序狗
2024/10/09
1590
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
9102年的数据泄漏,裸奔的不只是你的个人信息 | Alfred数据
日前,疑似“陕西普通话成绩查询网(sxpth.cn)”由于网站的程序员把所有考生信息(包括照片、身份证、准考证号、院校等)通过硬编码的方式直接写进了网页源代码里,导致大量考生信息泄漏。
Alfred数据室
2019/11/10
9100
9102年的数据泄漏,裸奔的不只是你的个人信息 | Alfred数据
Git入门操作
Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。
大家一起学编程
2024/05/21
1210
Git入门操作
SFC宣布退出GitHub!对其利用Copilot作为营利工具的行为感到难以接受!
专注于自由与开源软件(FOSS)的非营利组织软件自由保护协会(SFC)表示,其已停止使用微软GitHub开展项目托管,并敦促其他软件开发者一同退出。 在本周四发布的博文中[1],自由保护协会FOSS许可合规工程师Denver Gingerich及政策研究员Bradley M. Kuhn表示,GitHub在过去十年间,一直以FOSS开发领域的主导工具Git为核心开发界面搭配与社交功能。 通过这种方式,GitHub成功将将FOSS贡献者们的努力导入了自己的专有生态系统。 Gingerich和Kuhn怒斥,“我们
程序猿DD
2022/07/04
6120
SFC宣布退出GitHub!对其利用Copilot作为营利工具的行为感到难以接受!
从开源到云端:最值得关注的CI/CD工具与企业适配方案
随着DevOps的普及,持续集成与持续交付(CI/CD)工具成为企业提升开发效率的关键。本文结合当前技术趋势与工具特性,为您推荐十大CI/CD工具,并重点介绍国内优秀代码托管平台Gitee的CI/CD解决方案。
用户11533487
2025/04/15
2410
迁移进行时,告别GitHub的时候到了?
整理 | 晓亮、钰莹 上周,SFC(软件自由保护协会)在自己的官方博客发布的一篇名为“Give Up GitHub: The Time Has Come!”的文章在 Hacker News 上引发了网友的激烈讨论。 本周,开源项目 kyoto(一个用 go 语言编写的前端工具库)就宣布将从 Github 迁移至其他平台。后续还将有多少项目选择迁移尚未可知,但背后的原因值得探究。 迁出 GitHub kyoto 开源项目的负责人表示:GitHub 最近的更新和公司的整体政策与我对开源项目的愿景背道而
深度学习与Python
2023/03/29
3320
迁移进行时,告别GitHub的时候到了?
标星7.2万热门开源项目youtube-dl遭下架,开发者的权益谁来保护?
开源项目 youtube-dl 是一个使用 Python 编写的脚本,可以下载热门视频网站的音视频,并转换视频格式和清晰度。它是 GitHub 上的热门项目,获得 7.2 万多星。
AI算法与图像处理
2020/11/06
1.4K1
架设私有的Git服务器[通俗易懂]
Git是一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于 Git 版本控制的 GitHub 代码托管。根据报道,GitHub 是现如今全世界最大的代码托管网站。GitHub 宣称已经有 920 万用户和 2180 万个仓库。许多大型公司现如今也将代码迁移到 GitHub 上。甚至于谷歌,一家搜索引擎公司,也正将代码迁移到 GitHub 上。
全栈程序员站长
2022/11/10
3.2K0
推特部分源代码泄漏,疑遭离职员工报复!马斯克要求GitHub交出上传下载人员名单
大数据文摘授权转载自AI前线 作者:Tina 最近的法律文件显示,Twitter 的部分源代码已经在网上泄露。这是一次罕见的、严重的知识产权泄露事件。为防止该事件对其服务产生潜在的破坏性损失,Twitter 已经采取了法律行动。 部分源代码在线泄露 根据文件显示,上周五 Twitter 采取了行动,向 GitHub 发送了版权侵权通知,并删除了被泄露的代码。GitHub 遵从了通知并删除了该代码。DMCA 通知显示,这次泄露的源代码是 Twitter 平台和内部工具的私有源代码,严重侵犯了 Twitter
大数据文摘
2023/04/10
3830
推特部分源代码泄漏,疑遭离职员工报复!马斯克要求GitHub交出上传下载人员名单
Twitter部分源代码泄漏、疑遭离职员工报复:马斯克要求GitHub交出所有上传、下载人员名单
作者 | Tina 最近的法律文件显示,Twitter 的部分源代码已经在网上泄露。这是一次罕见的、严重的知识产权泄露事件。为防止该事件对其服务产生潜在的破坏性损失,Twitter 已经采取了法律行动。 部分源代码在线泄露 根据文件显示,上周五 Twitter 采取了行动,向 GitHub 发送了版权侵权通知,并删除了被泄露的代码。GitHub 遵从了通知并删除了该代码。DMCA 通知显示,这次泄露的源代码是 Twitter 平台和内部工具的私有源代码,严重侵犯了 Twitter 的版权。具体的仓库地址是
深度学习与Python
2023/03/29
4040
Twitter部分源代码泄漏、疑遭离职员工报复:马斯克要求GitHub交出所有上传、下载人员名单
21条最佳实践,全面保障 GitHub 使用安全
GitHub 是开发人员工作流程中不可或缺的一部分。无论你去哪个企业或开发团队,GitHub 都以某种形式存在。它被超过8300万开发人员,400万个组织和托管超过2亿个存储库使用。GitHub 是世界上最大的源代码托管服务平台。 ​
宜轩
2022/12/26
2K0
合理吗?法院要求 GitHub 提供开发者真实信息
Twitter 源代码泄露一事引发业内广泛讨论,FreeBuf 曾在【重磅!Twitter 源代码泄露】一文中对此事进行过简单描述。近期,源代码泄露事件又有新进展。 Cybernews 网站消息,Twitter 向美国北加州地区法院提出申请,希望代码托管平台 GitHub 能够提供源代码泄露者的具体信息。目前,法院已经批准,并要求 GitHub 在 4 月 3 号之前,提供发布者详细的身份信息。 从路透社披露的信息来看,法庭文件指出 GitHub 用户 FreeSpeechEnthusiast 可能是有罪
FB客服
2023/04/04
3930
合理吗?法院要求 GitHub 提供开发者真实信息
版本控制及代码托管平台综述
版本控制是协助软件开发的重要工具之一,根据维基百科中“版本控制”词条的描述,版本控制(英语:Version control)是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一程序文件都得到同步。
宋天伦
2023/10/18
4370
GitHub安全最佳实践
Github 类的代码平台是个研发和安全人员的大宝库,阿里云效平台的代码权限事件历历在目,密码泄露到公开代码平台的事件层出不穷,为企业内外部的各种源代码管理系统(gitlab\stash\github\gitee)做好合理配置是新生事物。开发各种 github 敏感信息监控工具均属于事后管理,做好安全配置和培养员工良好的习惯才是安全管理的重中之重。
安全乐观主义
2019/11/20
1.1K0
推特源代码「意外曝光」,GitHub连夜下架:泄露者疑似被解雇员工
机器之心报道 编辑:蛋酱 有人删库跑路,有人发帖控诉,还有人决定替老东家「提前曝光」源代码。 大型科技公司开放源代码不是新鲜事,但推特的一次「被动开源」,却成为了科技圈的热门话题。 最近,推特公司的部分源代码,「意外」出现在了 GitHub 上。 「目前还不清楚泄露的代码在网上发布了多长时间,但它似乎已经公开至少几个月了。」《纽约时报》在报道中写道。有趣的是,推特的高管们似乎不久前才意识到源代码泄露。 发现之后,推特连忙提交了 DMCA(数字千年版权法案)删除通知。DMCA 删除通知要求 GitHub 提
机器之心
2023/03/29
5460
推特源代码「意外曝光」,GitHub连夜下架:泄露者疑似被解雇员工
GitHub遭黑客攻击:窃取数百源码并勒索比特币
五一过后,一些程序员查看自己托管到GitHub上的代码时发现,他们的源代码和Repo都已消失不见,上周四,一位Reddit用户写了一篇帖子,说他的存储库被黑了。代码也被删除了,取而代之的是黑客留下的一封勒索信。
大数据文摘
2019/05/15
1.3K0
GitHub遭黑客攻击:窃取数百源码并勒索比特币
如何破解“开源危机”?开源风险分析与对策中国权威报告出炉
因而国内各界开始重新审视开源项目的法律约束问题。人们呼吁:我们也需要更多 “开源自立”。
新智元
2019/05/29
1.4K0
推荐阅读
中美科技「脱钩」或将成为现实:除了GitHub,中国程序员还应该知道这些代码托管平台
1.2K0
打造企业级自动化运维平台系列(三):DevOps 常用的软件工具
6620
程序员的大本营被黑客攻击了!10天内不交赎金,就公开用户私有代码
6920
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
1590
9102年的数据泄漏,裸奔的不只是你的个人信息 | Alfred数据
9100
Git入门操作
1210
SFC宣布退出GitHub!对其利用Copilot作为营利工具的行为感到难以接受!
6120
从开源到云端:最值得关注的CI/CD工具与企业适配方案
2410
迁移进行时,告别GitHub的时候到了?
3320
标星7.2万热门开源项目youtube-dl遭下架,开发者的权益谁来保护?
1.4K1
架设私有的Git服务器[通俗易懂]
3.2K0
推特部分源代码泄漏,疑遭离职员工报复!马斯克要求GitHub交出上传下载人员名单
3830
Twitter部分源代码泄漏、疑遭离职员工报复:马斯克要求GitHub交出所有上传、下载人员名单
4040
21条最佳实践,全面保障 GitHub 使用安全
2K0
合理吗?法院要求 GitHub 提供开发者真实信息
3930
版本控制及代码托管平台综述
4370
GitHub安全最佳实践
1.1K0
推特源代码「意外曝光」,GitHub连夜下架:泄露者疑似被解雇员工
5460
GitHub遭黑客攻击:窃取数百源码并勒索比特币
1.3K0
如何破解“开源危机”?开源风险分析与对策中国权威报告出炉
1.4K0
相关推荐
中美科技「脱钩」或将成为现实:除了GitHub,中国程序员还应该知道这些代码托管平台
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档