写点什么

数百 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:5614070
用户头像
张婵 InfoQ 技术编辑

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

关注

评论

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

线程池续:你必须要知道的线程池submit()实现原理之FutureTask!

一枝花算不算浪漫

源码分析 并发编程

【Java 25周年有奖征文获奖名单公布!!!】关于Java,你最想赞扬、吐槽、期待的变化是什么?

InfoQ写作社区官方

写作平台 Java25周年 热门活动

MySQL的各种日志

超超不会飞

MySQL

ARTS 第二周打卡

陈文昕

Vue生态篇(二)

shirley

Vue

奈学:传授“带权重的负载均衡实现算法”独家设计思路

奈学教育

分布式

你不知道的SSD那些事

焱融科技

分布式 存储 SSD nvme

程序员修炼的务实哲学

博文视点Broadview

程序员 软件 编程思维 工程师 编程之路

Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

JackTian

Python 自动化

一个人,沿着童年的路究竟可以走多远?

zhoo299

童年 NASA 航天

数据产品经理实战-数据门户搭建(上)

第519区

数据中台 开发数据

我常用的浏览器插件

彭宏豪95

chrome 效率工具 浏览器 插件

知识也会生宝宝?

史方远

个人成长 随笔杂谈

# LeetCode 863. All Nodes Distance K in Binary Tree

liu_liu

算法 LeetCode

Go语言分布式系统配置治理

田晓亮

微服务

情绪的力量:如何使用情绪来达成目标

董一凡

情绪

Redis持久化了解一波!

不才陈某

redis 程序员 后端

我的 Windows 利器

玄兴梦影

工具 Win

我为什么开始技术写作?

架构精进之路

技术创作

ARTS - Week Two

shepherd

js algorithm

# LeetCode 215. Kth Largest Element in an Array

liu_liu

算法 LeetCode

从 0 到 1 搭建技术中台之发布系统实践:集泳道、灰度、四端和多区域于一体的设计与权衡

伴鱼技术团队

架构 系统设计 系统架构 系统性思考 架构设计

互联网时代的界限管理

非著名程序员

程序员 职场 提升认知 界限管理

这是一个测试文档

Geek_073cad

Vue生态篇(一)

shirley

Java Vue

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十三)编写测试-生命周期方法

编程道与术

Java 编程 TDD 单元测试 JUnit

美团可能会强势涉足 ToB

罗小布

创业 互联网巨头 深度思考 互联网

每个人都是领导者的工程团队

hongfei

工程能力 项目实践

开源分布式文件系统大检阅

焱融科技

开源 sds 存储 焱融科技 文件存储

patroni 通过服务启动报错

hobson

数据库 高可用 AntDB

杂谈-JSONP探索

卡尔

Java jsonp

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