大数据文摘编辑部出品
五一过后,一些程序员查看自己托管到GitHub上的代码时发现,他们的源代码和Repo都已消失不见,上周四,一位Reddit用户写了一篇帖子,说他的存储库被黑了。代码也被删除了,取而代之的是黑客留下的一封勒索信。
黑客在这封信中表示,他们已经将源代码下载并存储到了自己的服务器上。受害者要在10天之内,往特定账户支付0.1比特币,约合人民币3800元,否则他们将会公开代码,或以其他的方式使用它们。
黑客留言:
“要恢复丢失的代码并避免泄漏:将比特币(BTC)发送到我们的比特币地址,并通过电子邮件admin@gitsbackup.com与我们联系,并附上您的Git登录信息和付款证明,”
“如果您不确定我们是否有您的数据,请联系我们,我们会向您发送证明。您的代码已下载并备份到我们的服务器上。”
“如果我们在未来10天内未收到您的付款,我们会将您的代码公开或以其他方式使用。”
警告的帖子
https://www.reddit.com/r/git/comments/bk1eco/git_ransomware_anyone_else_been_a_victim/?ref=readnext
虽然有数百名受害者,但目前黑客并没有赚很多钱。 目前,黑客的比特币钱包只收到了2.99美元左右的一笔付款。 反而,在Bitcoin Abuse 数据库上, 黑客的钱包地址已经被34人举报了。
数以百计的受害者
黑客黑了包括微软在内的多达392个代码存储库,根据Motherboard报道,多达1000名用户可能会受到攻击。
目前尚不清楚黑客如何闯入所有这些账户,Atlassian正在调查这些事件以试图解决这个问题。不仅仅是GitHub,其他代码托管网站GitLab、Bitbucket也受到了攻击。因此黑客很可能是针对安全性较差的存储库而不是特定的漏洞。
目前还不清楚是否存在有价值的东西在这次黑客活动中被盗。因为GitHub上的许多代码存储库都是公共的。而且有一些用户上传的项目代码“半生不熟”。所以,损失或许没有想象的那么大。
成为受害者的用户大多是在他们的GitHub,GitLab和Bitbucket帐户使用了弱密码,或者忘记删除他们几个月没用过的旧应用程序的访问令牌,基本上都是这两种。
在推特上,开发者社区的一些重要人物目前敦促受害者在支付任何赎金需求之前联系GitHub,GitLab或Bitbucket的支持团队,因为可能有其他方法可以恢复已删除的代码。
GitLab安全总监Kathy Wang也发表声明回应网络攻击:
“我们已确定受影响的用户帐户,并已通知所有这些用户。根据我们的调查结果,我们有充分证据表明受损帐户的帐户密码以明文形式存储在相关存储库的部署中。“
GitLab建议为了防止密码被黑客盗取,可以启用双因素身份验证,为帐户SSH密钥;使用强密码,用密码管理工具存储密码,不要使用明文。
大型自救现场
如果你不幸收到了勒索信,也不要着急交赎金,黑客入侵的可是程序员的大本营,兄弟们替你来支招。
一名受害者声称已经发现黑客实际上并没有删除代码,并且只要受害者在他们的机器上有备份代码,就可以通过一种相对简单的方法来恢复文件。
这里是他给出的补救办法:
输入
git reflog
你可以看见黑客的评论。
输入
git checkout origin/master
你可以看见你的文件。
接着:
git checkout origin/mastergit reflog # take the SHA of the last commit of yoursgit reset [SHA]
然后可以修复你的origin/master
输入
git statusHEAD detached from origin/master
问题还没有解决。
如果你在本地备份了代码,那么直接:
git push origin HEAD:master --force
就可以解决问题。
针对预防此类攻击,热心网友在帖子中给出建议
Daniel Ruf 说:之所以发生这种情况,是因为.git/config包含了远程URL,人们在其中添加了用户名,这种情况下不应该包含密码相关信息。 人们应该使用SSH,部署密钥或对每次拉取进行身份验,切勿将凭据存储在配置文件中。
关于部署密钥的详细教程:
https://developer.github.com/v3/guides/managing-deploy-keys/
https://gist.github.com/zhujunsan/a0becf82ade50ed06115
https://help.github.com/en/articles/caching-your-github-password-in-git
其实,黑客入侵Github时有发生。在2018年,Gentoo Linux发行版的维护方发布了一份事件报告,称此前有人劫持了该组织的一个GitHub帐户并植入了恶意代码。在今年4月份,Docker Hub数据库遭遇未授权人士访问,并导致约19万用户的敏感信息曝光在外,这批信息包含一部分用户名与散列密码,以及GitHub与Bitbucket存储库的登录令牌。目前,Github tokens 被撤销,已禁用构建。