写点什么

数百 GitHub 私有库被黑客攻击:不交赎金就公开源码

  • 2019-05-05
  • 本文字数:1492 字

    阅读完需:约 5 分钟

数百GitHub私有库被黑客攻击:不交赎金就公开源码

近日,数百名使用 Git 托管服务如 GitHub、Bitbucket 和 GitLab 的开发者私有库遭到黑客清空,攻击者留下索要赎金的通知,要求在十天内向某钱包地址支付 0.1 个比特币(合人民币约 3838 元)的赎金,否则会将代码公开。

事件经过

5 月 2 日有网友在 Reddit 上发帖表示他的代码库被攻击并且被删除,黑客留下了一封勒索信。信中黑客表示,他们已经将源代码下载并存储到了自己的服务器上。受害者要在 10 天之内,往特定账户支付 0.1 比特币,否则他们将会公开代码,或以其他的方式使用它们。


要找回你丢失的代码并避免代码泄漏:将 0.1 比特币(BTC)发送至我们的比特币地址 1ES14c7qLb5CYhLMUekctxLgc1FV2Ti9DA,并通过邮件与我们联系,提供您的 git 登录信息和付款证明。地址为 admin[at]gitsbackup[dot]com。


如果你不确定我们是否有你的数据,请联系我们,我们会给你发送证明。你的代码已经被下载并备份到我们的服务器上。


如果我们在接下来的 10 天内没有收到你的付款,我们将公开你的代码或以其他方式使用它们。


Git 是流行的分布式版本控制系统,开发者通常会在本地留有备份,所以删除托管服务的代码库本身意义不大,但开发者未必会愿意公开私有库。


根据报道,Atlassian 的一位安全研究员表示,BitBucket 上已经看到很多用户的代码库受到黑客的攻击。根据内部数据和在线报告,他估计受害者至少有 1000 人。在 GitHub 上搜索黑客的地址可以返回 392 个项目,意味着 GitHub 上 392 个用户的代码库被攻击了。


一些被黑客攻击的受害者表示他们在 GitHub、GitLab 和 Bitbucket 帐户中使用了弱密码,并且忘记删除几个月没用过的旧应用程序的访问令牌 - 这两种情况在网络账户被盗取的案例中都很常见。


但是证据表明,黑客已经扫描了整个互联网上的 Git 配置文件,提取了凭据,然后使用这些登录信息访问了 Git 托管服务并对帐户进行勒索。


GitLab的安全负责人表示,


我们已确定受影响的用户帐户并且已经通知了他们。我们的调查结果表明,受损帐户的密码以明文形式存储在相关代码库中。我们强烈建议使用密码管理工具以更安全的方式存储密码,并尽可能启用双因素身份验证,这两种方法都可以防止此类问题。

恢复方法

好消息是,在调查了受害者的情况后,StackExchange安全论坛的成员发现黑客实际上没有删除代码,只是修改类 HEAD 而已。这意味着这次攻击可能并不是有针对性的,而是由脚本执行的随机大量攻击,在某些情况下可以恢复代码提交。


具体恢复方法如下:


输入:


git checkout origin/master
复制代码


可以看到攻击者的提交


git checkout master
复制代码


可以看到你所有的文件


git checkout origin/mastergit reflog # take the SHA of the last commit of yoursgit reset [SHA]
复制代码


将修复你的 origin/master。但是,查看 git 状态的话,


git status
复制代码


此时显示


HEAD detached from origin/master
复制代码


这表明修复仍然不完全。


如果你的文件在本地,则运行


git push origin HEAD:master --force
复制代码


就可以修复好。


如果你在本地没有备份,仍然可以从远程库克隆,用 git reflog 或者 git fsck 可以找到最后一次提交并更改 HEAD。


在推特上,开发者社区的一些重要人物目前正在敦促受害者在支付赎金之前联系 GitHub、GitLab 或 Bitbucket 的支持团队,因为可能有其他方法可以恢复已删除的代码库。


小结

前一段国内时间也出现过企业代码被恶意公开的情况,比如大疆前员工将含有公司商业机密的代码上传到了 GitHub 的公共代码库中,造成源代码泄露,给大疆造成经济损失达 116.4 万元人民币。最终该员工获有期徒刑六个月,并处罚金 20 万人民币。


代码库被公开将给个人及企业带来很大损失,不管是个人还是企业都应该从软件或者物理的角度加强代码库的加密防御。安全问题不可小觑。


2019-05-05 12:5613952
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 54.3 次阅读, 收获喜欢 218 次。

关注

评论

发布
暂无评论
发现更多内容

在线自习室场景爆发,在线教育平台用户时间争夺战打响

ZEGO即构

详解 Flink 容器化环境下的 OOM Killed

Apache Flink

flink 流计算

Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(功能拓展)

葡萄城技术团队

大作业一

Geek_83908e

架构师一期

云算力系统APP开发|云算力软件开发

系统开发

技术干货丨隐私保护下的迁移算法

华为云开发者联盟

迁移

ROMA Compose:ROMA的新武器

华为云开发者联盟

数据 API ROMA

CSS02 - 选择器

Mr.Cactus

html/css

CSS04 - 常用外观属性

Mr.Cactus

html/css

Spring 事务,你真的用对了吗(下篇)?

废材姑娘

Java Spring Framework

Ansible 新手指南 - 如何批量管理 NGINX

东风微鸣

ansible

架构师训练营第十三周

我是谁

架构师训练营第 1 期

<译文>NGINX 实战手册 - 控制访问

东风微鸣

低成本构建音视频质量监控平台的最佳路径

华为云开发者联盟

数据中台 数据湖 云原生 RTC 华为云

一周信创舆情观察(2020.12.28~2021.1.3)

统小信uos

做运维,送你7个常用的服务器资源监控工具

华为云开发者联盟

工具 监控 内存 服务器 系统

uni-app实现实时消息SDK插件

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

比易宝betBEB平台获278万美元约合1807万元融资

DT极客

CSS01 - 引入方式

Mr.Cactus

html/css

CSS03 - 常用字体样式

Mr.Cactus

html/css

Kubernetes 疑难问题排查 - 10s 延迟

东风微鸣

Kubernetes

微服务可能失败的11个原因

xcbeyond

微服务 方法论

可用性、可维护性、可靠性有什么区别?

禅道项目管理

DevOps 可用性 质量保障 可靠性

抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题

楼下小黑哥

支付系统 架构设计

Java内存模型精讲

伯阳

Java 后端 多线程 多线程与高并发 Java内存模型

RocketMQ如何保证消息顺序性

废材姑娘

RocketMQ

一文教你学会Hive视图和索引

大数据老哥

大数据 hadoop hive

在NGINX中根据用户真实IP限制访问

东风微鸣

企业架构培训感悟

Man

企业架构 中台战略

低代码和零代码快速开发崛起,迎来普通人开发软件的时代!

J2PaaS低代码平台

应用案例| 基于Volcano 的锐天大规模离线高性能计算生产实践

华为云原生团队

云计算 大数据 AI 云原生 批量计算

数百GitHub私有库被黑客攻击:不交赎金就公开源码_开源_张婵_InfoQ精选文章