2021年6月4日,微软公司旗下的代码托管平台GitHub发布官方声明,宣布更新关于如何处理上传到 GitHub 平台的恶意软件和漏洞利用代码的网站策略。
一、漏洞利用代码被用于攻击? GitHub:马上删除!
GitHub公司表示:“我们明确允许发布与漏洞、恶意软件以及漏洞利用研究相关的双重用途安全技术和内容。我们知道 GitHub 上的很多安全研究项目为双重用途,并且对安全社区具有巨大好处。我们认可这些项目的积极意图和应用,并提升和改进整个生态系统。”
GitHub表示,禁止使用GitHub平台为不合法的活动提供直接支持,也绝不支持可能造成技术危害的恶意软件活动。GitHub还表示,或将采取多项措施阻断利用该平台作为漏洞利用或恶意软件跳板的攻击活动。为此,GitHub限制用户上传、发布、托管或传输任何可能传播恶意可执行文件,以及滥用GitHub作为攻击基础设施的内容,比如滥用平台发动拒绝服务攻击或管理命令以及控制服务器。
GitHub表示,“技术危害是指在滥用发生之前,没有直接或间接的双重用途目的的情况下,过度消耗资源、引发物理损害、宕机、拒绝服务或数据丢失。”
对于活跃地、大规模滥用双重用途技术和内容的情况,GitHub表示可能会通过认证等方式限制对这些技术和内容的访问,如果上述限制措施不可行,则采用“最后的方法”---禁用或完全将其删除。GitHub还表示,将联系相关项目所有人对以上情况进行说明。
2021年3月,GitHub平台删除微软Exchange PoC漏洞利用代码后广受批评。4月末,GitHub开始就安全研究、恶意软件和漏洞利用策略征求反馈意见,并对策略进行了修订,只有在仓库或代码被直接用于活跃攻击时才会删除漏洞利用,目的是按照更清晰的条款运营平台,消除围绕 “活跃有害内容” 和 “静态代码”的歧义,以便更好地支持安全研究。
(GitHub官方声明)
二、GitHub是什么
GitHub是通过Git进行版本控制的软件源代码托管服务平台,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、P.J.Hyett和汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成。因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。2018年6月4日,微软宣布,通过75亿美元的股票交易对代码托管平台GitHub进行收购。
(图片来源:腾讯网)
GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目Ruby on Rails、jQuery、python等。
GitHub同时提供付费和免费两种账户。这两种账户都可以创建公开或私有的代码仓库,但付费用户支持更多功能。截至2020年1月,GitHub已经有超过4000万注册用户和1.9亿代码库(包括至少2800万开源代码库),事实上已经成为了世界上最大的代码存放网站和开源社区。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。GitHub与国外的SourceForge、Google Code或我国的Coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
三、GitHub成了黑客的“乐园”
作为开源代码库以及版本控制系统,GitHub吸引了全球众多开发者,同时也引起了黑客的兴趣。除了获取漏洞利用代码外,黑客还利用GitHub进行供应链攻击、挖矿、托管钓鱼网站、部署C2跳板等。
(图片来源:黑客技术)
(一)通过 GitHub.com releases 实施供应链攻击
GitHub.com上的release功能可使任意项目协作人员均可在release中更改资产。这种行为可发生在release发布后,无需通知项目所有人及公众,也无需访问UI中的审计日志,但是可通过GitHub API获取某些审计信息。攻击者可攻陷协作人员的账户并在项目所有人或公众不知情的情况下通过该账户修改release,从而对项目用户发动供应链攻击。该问题的缓解方法是,使用GitHub.com的项目所有人通过其它方法确保release的安全,如PGP数字签名release。用户检查数字签名并使用GitHub.com release API提取并验证 release资产数据。
(二)利用GitHub服务器挖矿
给PC植入挖矿木马,已经无法满足黑客日益增长的算力需求,如果能用上GitHub的服务器,还不花钱,那当然是极好的。而且整个过程可能比侵入PC还容易,甚至都不需要设法让程序员上当受骗,只需提交Pull Request(PR),即使项目管理者没有批准,恶意挖矿代码依然能够执行。原理也很简单,利用GitHub Action的自动执行工作流功能,轻松将挖矿程序运行在GitHub的服务器上。早在2020年11月,就已经有人发现黑客这种行为。更可怕的是,半年过去了,这种现象依然没得到有效制止。GitHub虽然可以封禁违规账号,但黑客们玩起了“游击战术”,不断更换马甲号逃避“追捕”,让GitHub官方疲于奔命。
(黑客利用github挖矿流程示意图 图片来源:黑客技术)
(三)利用GitHub托管钓鱼网站
网络安全厂商Proofpoint披露,从2017年中旬开始,黑客就开始滥用GitHub的免费网页托管服务GitHub Pages从事钓鱼攻击行动,而GitHub在收到Proofpoint的通知之后,也立即删除了这些被黑客滥用的数十个网页。2008年推出的GitHub Pages主要用来代管静态网页,诸如博客、项目文件等,并采用好记的GitHub.io域名,然而,Proofpoint却发现有黑客利用GitHub Pages建立了钓鱼页面。
(托管在GitHub上的钓鱼网站)
(来源:thehackernews.com、代码卫士等相关文章)