经常上GitHub的朋友应该都已经知道了,有黑客入侵了GitHub、GitLab、Bitbucket的代码存储库,删除了大量用户的源代码和最近提交的内容(已备份),并留下了支付0.1比特币的赎金留言。黑客给出了10天限期,要求用户向其支付0.1比特币作为赎金,否则就公开用户私有代码。

截止目前,还没有看到有人向攻击者的比特币账户支付赎金的消息,而黑客留下的比特币地址则遭到了不少举报。
“劫匪”打劫“正规军”
黑客在勒索信中表示:要找回你丢失的代码并避免代码泄漏:将0.1比特币(BTC)发送至我们的比特币地址
1ES14c7qLb5CYhLMUekctxLgc1FV2Ti9DA,并通过邮件与我们联系,提供您的git登录信息和付款证明。地址为admin[at]gitsbackup[dot]com。
如果你不确定我们是否有你的数据,请联系我们,我们会给你发送证明。你的代码已经被下载并备份到我们的服务器上。如果我们在接下来的10天内没有收到你的付款,我们将公开你的代码或以其他方式使用它们。

根据GitHub最新的搜索数据显示,目前仍然有325名用户的勒索信可以被搜索到。这些受到攻击的储存库的代码和提交信息,全都被一个名为 “gitbackup” 的账号删除。

根据GitLab官方公布的数据,一些存储库留下了赎金威胁,一些存储库被简单地擦除,并且一些帐户似乎被攻击者成功访问但未被修改。攻击者至少可以访问所有131个用户和163个存储库。攻击的来源IP来自185.234.216.0/24,且所有的存储库都是私有存储库,受影响的帐户也均未启用双因素身份验证。

根据Bitcoin Abuse数据库最新显示,已经有35人举报了这一比特币地址。

找回代码不能只靠赎金
那么面对被黑客“打劫”的程序员,真的要给黑客“赎金”来保护自己的代码吗?显然这不是一个明智的选择,因为即使你给了劫匪“赎金”,代码会不会被公开、会不会“还回来”也只能依靠黑客的个人职业操守。
受害者Stefan Gabos在StackExchange论坛指出,他使用命令git reflog发现能看到他自己所有的提交,所以他猜测黑客很可能没有备份存储库。代码其实还在,是可以恢复出来的,只是HEAD被黑客修改了而已。

他还给出了以下补救办法:
1.输入 git checkout origin/master,可以看到黑客的提交
2.输入 git checkout master,可以看到自己的所有文件
3.输入 git checkout origin/master
git reflog # take the SHA of the last commit of yours
git reset [SHA]
能看到黑客的提交记录,并会修复origin/master

但是问题还没有完全解决,如果输入git status,还是会显示:
HEAD detached from origin/master
如果你在本地备份了代码,那就好办了,直接把本地代码强制push上去:
git push origin HEAD:master --force

如果你在本地没有备份,仍然可以从远程库克隆,用git reflog或者git fsck可以找到最后一次提交并更改HEAD。这是目前相对有效的一种办法了,代码被删的同学可以试一下。
别再用“白痴”密码了
据GitLab安全总监Kathy Wang回应道,“我们根据Stefan Gabos昨天提交的赎金票确定了信息来源,并立即开始调查该问题。我们已经确定了受影响的用户帐户,并通知到这些用户。根据调查发现,我们有强有力的证据表明,被泄露的帐户在部署相关存储库时,其帐户密码是以明文形式来存储。我们强烈建议使用密码管理工具以更安全的方式存储密码,并且有条件的话,启用双因素身份验证,这两种方法都可以避免此问题发生。”

划重点:
1.使用强密码,千万别再用123456来当密码啦!
2.用密码管理工具存储密码,别总想着用明文密码!
3.开启双因素身份验证,并使用SSH密钥提高密码保护等级。
GitHub最近有点火
除了此次黑客攻击,就在十几天前,B站的源代码也被公开到GitHub,一度登顶热搜。虽然后来源码被封禁,B站也“火速”删除了各渠道传播的源码并报警处理,但还是有不少人提前保存了这份源码。不仅风险被保留了,“哔哩哔哩代码泄露门”事件也被以百科的形式保留下来了。

没被“打劫”的反而不高兴了
玩GitHub的网友真是一股清流,不仅有网友主动祈祷:希望老师提交到上面的作业可以被打劫,很多没被删除源码的同学居然表示很“伤心。”

难受,我的代码连0.1个比特币都不值

尴尬,都看不上我写的hello

当然了,也有不少网友对自己的代码还是比较“宝贝”的,急急忙忙去看了一下,发现自己hello world、int a都还在。这么重要的源码毫发无损,这下总可以放宽心了吧。


不知道大家的代码都还在吗?
九章算法,硅谷一线工程师在线直播授课,已经帮助30000+人成功拿到心仪offer。
九章基础算法班(Java),随时开始、免费试听,零基础转专业找工作必备
更多课程信息请访问:九章算法