GitHub告急!黑客威胁程序员不交钱就删库
作者 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
5月3日,当中国程序员正愉快地过五一节时,国外程序员突然发现自己GitHub上的代码不翼而飞!自己的GitHub一秒变成悬疑片现场,不仅被黑客攻击删代码了,嚣张的黑客还留下一封勒索信:
如果你要恢复丢失的代码和避免我们泄漏代码:需要先支付0.1个比特币(约3838元)到这个地址:1ES14C7QLB5cyhlmuektxlgc1f2v2ti9da,再将Git登录名和支付证明发送到这个邮箱里admin@gitsbackup.com。
如果你不相信我们是否真的有你的数据,我们可以向你发送证据。你的代码我们已下载并备份到服务器上。
如果我们在10天内没有收到钱,我们将公开你的代码或乱使用它们。
不仅是GitHub被黑客攻击,据ZDNet报道,还有Bitbucket、GitLab也遭受同样的攻击。
这究竟是发生了什么事呢?
黑客攻击勒索的惊魂记
一程序员在Reddit发帖讲述其遭遇黑客攻击被勒索的过程:当他修复一个Bug正要用SourceTree提交,当点击提交按钮时,电脑死机了。因为他的电脑经常会死机,所以他一开始没有察觉到异常。可当他重启动电脑后,SourceTree崩溃了,并提示重新安装。重新安装后,他又发现一个问题:Git索引文件损坏了!于是他在网上找了个简单的命令来修复程序。他先是删除了索引,然后点击重置。
然后他发现他落后了超3200个Commits!这时他这才停下来看看自己最近提交的内容,代码全没了!整个项目仅剩下一个上述勒索信的文件!他还看了下Bitbucket,所有的远程分支都不见了!
这不仅是个别用户,截至发稿,在GitHub搜索比特币地址,还有326个被黑的项目。
又是DDoS攻击?
这不是第一次GitHub遭遇黑客攻击了:
2018年2月28日,GitHub遭到峰值攻击流量高达 1.35Tbps的DDoS攻击,导致官网在一小段时间内无法访问。
2015年3月28日,GitHub经历了史上最大规模的DDoS攻击,连续两天使用“一种复杂的新技术来劫持无关用户的浏览器对我们的网站发起大量流量”。
难道这次又双叒叕是黑客DDoS攻击?
不,这次竟是程序员缺乏基本的安全意识造成的:明文存储密码。
据GitLab安全总监Kathy Wang回应道,“我们根据Stefan Gabos昨天提交的赎金票确定了信息来源,并立即开始调查该问题。我们已经确定了受影响的用户帐户,并通知到这些用户。根据调查发现,我们有强有力的证据表明,被泄露的帐户在部署相关存储库时,其帐户密码是以明文形式来存储。我们强烈建议使用密码管理工具以更安全的方式存储密码,并且有条件的话,启用双因素身份验证,这两种方法都可以避免此问题发生。”
幸运的是,根据StackExchange安全论坛的成员发现,黑客实际上并没有删除源码,但是改变了Git的head,这意味着在某些情况下可以恢复代码提交。
众多程序员对黑客的行为表示不满,齐齐去黑客留下的比特币收货地址举报,目前该地址已收到34个举报:
先别给钱,有免费救命妙招
那么面对被黑客“端了老窝”的程序员,只能双手奉上赎金吗?
不,在推特上,开发者社区的大V建议受害者在支付赎金之前先联系GitHub、GitLab或Bitbucket,因为他们可能有其他方法可以帮助你恢复已删除的代码。
一位“遭殃”的开发者先使用命令git reflog瞅了瞅,能看到他自己所有的提交,所以他猜测黑客很可能没有克隆存储库。
接着他给出尝试自救的步骤:
1.看到黑客的提交:
git checkout origin/master
2.看到自己的所有文件:
git checkout master
3.将修复origin/master:
git checkout origin/master
git reflog # take the SHA of the last commit of yours
git reset [SHA]
4.但是查看代码状态时:
git status
会发现:
HEAD detached from origin/master
所以还得想别的办法修复。
接着他还提到,如果你本地有代码备份的话,直接用就能修复:
git push origin HEAD:master --force
因弱密码被“祭天”的程序员
据调查,仅在 2018 年的500 多万个泄漏密码显示,有近 3% 的人使用“123456”作为密码。
加入我们程序员在企业项目开发里,使用这种弱密码会有什么危害呢?
2018年8月,华住酒店集团数据库采用简单的账户名和密码:root/123456,含达五亿条用户的详细信息的数据库遭到泄露。
在互联网时代,作为开发者尤为具备安全开始的意识。在日常开发中,我们该如何做呢?
可以参照5 天 6 亿 3000 万数据泄露一文的方案:
在架构和研发过程中要配合安全团队或综合考虑信息安全管理要素;
在实际开发过程中要避开常见安全问题,如上传 Github、SQL 注入、任意命令执行、缓冲区溢出、水平越权、日志敏感信息记录、敏感文件任意存放等问题。
在数据泄露事件发生时,开发者应发挥自身的技术和业务优势,积极配合安全团队、法务团队对事件溯源中所涉及到的业务场景和数据证据,提取固化提供支撑,在很多数据泄露事件溯源中开发者都是最有利的技术支撑,比如数据流程梳理、关键日志提取等。
开发者在配合过程中需要严格注意,避免破坏数据完整性。
再见,123456!
参考:
https://www.zdnet.com/article/a-hacker-is-wiping-git-repositories-and-asking-for-a-ransom/
https://security.stackexchange.com/questions/209448/gitlab-account-hacked-and-repo-wiped
(本文为 AI科技大本营转载文章,转载请微信联系原作者)
◆
CTA核心技术及应用峰会
◆
5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。
更多重磅嘉宾请识别海报二维码查看,目前会议早鸟票发售中(原票价1099元),点击阅读原文即刻抢购。添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。
推荐阅读
人造器官新突破!美国科学家3D打印出会“呼吸”的肺 | Science
如何确定最佳训练数据集规模?6 大必备“锦囊”全给你了
如何在Python中轻松使用CVS,JSON,XML
算法实现没思路?最全Python算法实现大礼包!(附学习资源)
她说:为啥程序员都特想要机械键盘?这答案我服!
互联网出海十年
太形象了!什么是边缘计算?最有趣的解释没有之一!
安全顾问反水成黑客, 靠瞎猜盗得5000万美元的以太币, 一个区块链大盗的另类传奇
华为员工年薪 200 万!真相让人心酸!
相关文章:

【FFmpeg】ffmpeg中函数返回的错误码:AVERROR及AVERROR_*
1、AVERROR FFmpeg的错误码大部分使用的PIOSIX标准中错误码的负值。 AVERROR定义在文件 FFmpeg-n4.2.1/libavutil/error.h 中 #define AVERROR(e) (-(e)) // Returns a negative error code from a POSIX error code, to return from library functions. //FFmpeg库的错误…

entjs 键盘监听
1.应用在textfield中的回车方式: var siteName new Ext.form.Field({id: loadUrl,//表单元素最好使用Id,不然在IE浏览器中表单内容将变形fieldLabel: 密码,listeners : {specialkey : function(field, e) {if (e.getKey() Ext.EventObject.ENTER) {ale…

IIS 7.5 + FastCGI + PHP + Drupal 7 + Oracle
2019独角兽企业重金招聘Python工程师标准>>> 运行SQL命令行:conn system 删除drupal表空间:drop tablespace drupal INCLUDING CONTENTS; 创建drupal表空间: create tablespace drupal logging datafile d:\htdocs\db\drupal.dbf size 32m autoexten…

Yann LeCun推荐!自监督学习、全景FPN...内容平台的四大技术指南
编译整理 | 一一出品 | AI科技大本营(ID:rgznai100)去年陷入“数据丑闻”后的 Facebook 日子并不好过,在这之后他们对外界强调的关键词大部分都是“隐私”和“安全”。即便如此,在刚刚过去的 Facebook F8 大会上,扎克伯…

【FFmpeg】打印日志函数分析(可以根据不同级别打印不同颜色的日志)
FFmpeg的打印日志实现在FFmpeg-n4.2.1/libavutil/log.c中。 一、设置log等级 1、设置日志级别 日志默认级别是AV_LOG_INFO static int av_log_level = AV_LOG_INFO;使用av_log_set_level将日志级别设置为调试级别(AV_LOG_DEBUG) av_log_set_level(AV_LOG_DEBUG);源码: …

创建MySQL数据库
创建数据库命令: CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci; 注意:COLLATE是校对集的意思,可以理解为,排序规则等。字符集选择utf8mb4 参考文档:永远不要在MySQL中使用utf8&…

Android 对象型数据库 db4o
你有木有烦恼过数据库的crud,有木有对sql很烦躁,Android虽然有封装好的ContentProvider,但是操作还是有点复杂了。不是很喜欢。 这两天花时间整了下DB4O,确实很不错,不用建表,不用写sql,只要写好…

【FFmpeg】设置H264参数
0、fffmpeg源码编译时,何时需要连接libx264库? ffmpeg其自带H.264解码功能,但是要实现H.264编码时就需要链接编码库libx264 ubuntu16.04安装libx264的库: sudo apt install libx264-148 sudo apt install libx264-dev一、设置x264参数的接口 // 获取编码器 AVCodec *co…

TIOBE 5 月编程语言排行榜:Python、C++竞争白热化,Objective-C已沦为小众语言
作者 | 屠敏出品 | CSDN(ID:CSDNnews)日前,TIOBE 编程语言社区最新发布了 2019 年 5 月排行榜。和 4 月榜单相比,5 月编程语言排行榜的 Top 10 位置并没有太大变化。但是在 C 和 Python 激烈的竞争局势下,随…

Caused by: org.xml.sax.SAXParseException: 不允许有匹配 [xX][mM][lL] 的处理指令目标。
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/81001749 Caused by: org.xml.sax.SAXParseException: 不允许有匹配 "[xX][mM][lL]" 的处…

Centos 64位使用 yum 会安装两个相同软件包的解决方法
Centos 64位使用 yum 会安装两个相同软件包的解决方法 - 后山一根葱Centos 64位使用 yum 会安装两个相同软件包的解决方法[Linux]post by 后山一根葱 / 2011-6-24 1:43 Friday系统环境:Centos 5.6 X86_64事项:关于yum install 安装两个相同软件包问题今天…

php的基础知识(四)
14、数组: 索引数组: 下标就是数字开始的。 $arr [a,b,c,1,2,3]; 关联数组: $arr [ a > b, c > d; e > f ]; 二维数组: 关联和索引混合的。 $arr [ a, b, c, d > [ e > h, f, g ], i, ]; 三维数组和多维数组。 …

【Ubuntu】解决问题:tcp :8080: bind: address already in use
1、问题描述 在ubuntu中启动一个web程序时报错 tcp :8080: bind: address already in use2、原因查找 查找占用8080的服务:sudo netstat -tanlp 注意:不加sudo权限时,不显示PID和程序名字 $ sudo netstat -tanlp 激活Internet连接 (服务器…

ICLR 2019最佳论文揭晓!NLP深度学习、神经网络压缩夺魁 | 技术头条
整理 | Linstansy责编 | Jane出品 | AI科技大本营(id:rgznai100)【导语】ICLR 是深度学习领域的顶级会议,素有深度学习顶会 “无冕之王” 之称。今年的 ICLR 大会将于5月6日到5月9日在美国新奥尔良市举行,大会采用 Ope…

浅析flex中的焦点focus
一、无焦点的困扰——组件监听不到键盘事件原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件…

专访NIPS主席:如何保证论⽂评审的公平性?| 人物志
记者 | 阿司匹林编辑 | 琥珀出品 | AI科技大本营(ID:rgznai100)作为人工智能领域顶会 NIPS(Conference and Workshop on Neural Information Processing Systems, 更名为 NeurIPS)的主席,Terrence Sejnowsk…

【H.265】H.265(HEVC)编码过程和名词解释
一、H.265(HEVC)编码过程 和H.264一样,H.265编码由帧内预测、帧间预测、量化、线性变换等步骤。过程大致如下; 1、分块 一帧画面首先被切分成多个互不重叠的块状区域,称为编码单元(H.264称为宏块),分别传输给编码器。 2、帧内预测 图像序列的第一个画面(以及每一个可…

为什么大家都推荐我学Linux
2019独角兽企业重金招聘Python工程师标准>>> 最近朋友总是推荐我去学Linux,我本人虽说是计算机专业的,但是我感觉在上学的时候好像还真没学到东西,现在也是干着一份与计算机半毛钱关系都没有的工作。朋友总是说Linux多好ÿ…

认识HTML5的WebSocket 认识HTML5的WebSocket
2019独角兽企业重金招聘Python工程师标准>>> 在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端…

空字符串计数、让字典可排序...Python冷知识(五)
本文转载自Python编程时光(ID: Python-Time)冷知识系列,直至今日,已经更新至第五篇。前四篇给你准备好了,还没阅读的可以学习一下。谈谈 Python 那些不为人知的冷知识(一)谈谈 Python 那些不为人…

后端说:只是你不懂怎么用 headers!
事情是这样的,上一个项目我们的后端提供的接口,一次性返回了所有数据给我,分页功能是前端自己完成的。 那么这次来的新项目,换了个后端,写了另外的接口,我做项目的时候,还是用的之前的前端分页组…

【H2645】H.264的宏块和H.265的编码树单元总结
一、H.264宏块 1、什么是宏块? 先看下面两张图,就能大体知道宏块指的是哪了。 将连续几帧图像分为一组(GOP)在H264中称为一个序列(sequence); 将每帧图像(Frame)划拉几道分成片(slice); 将每片(slice)按照16x16的大小横着竖着划拉成宏块(Maroblock); 将宏块(Maroblock…

android adb root方法
2019独角兽企业重金招聘Python工程师标准>>> 在有些android手机上使用adb root希望获取root权限时出现如下提示信息:adbd cannot run as root in production builds。此时提升root权限的方法是: 1。在android手机上获取超级用户权限ÿ…

10亿级数据规模的半监督图像分类模型,Imagenet测试精度高达81.2% | 技术头条...
译者 | linstancy作者| I. Zeki Yanlniz, Herve Jegou, Kan Chen, Manohar Paluri, Dhruv Mahajan编辑 | 蓝色琥珀鱼,Rachel出品 | AI科技大本营(ID:rgznai100)【导读】本文提出了一种十亿级数据规模的半监督图像分类模型…

【Qt】QtCreator导入cmake工程
QtCreator导入cmake 一、ubuntu系统1、配置cmake编译套件2、导入cmake工程二、windows系统1、下载cmake2、安装cmake3、设置环境变量4、添加cmake5、配置kit6、编译时配置7、cmake选项配置8、编译后,执行安装命令一、ubuntu系统 1、配置cmake编译套件 在QtCreator中依次点击…

腾讯音乐招 iOS 开发, base 深圳,要求:本科、三年、OC,懂音视频开发优先。...
计算机基础扎实,精通 Objective-C,熟悉 iOS 平台并有良好的软件开发经验; 熟悉 https 及流媒体上传下载协议,精通 TCP/IP 协议; 良好的编码风格,以及足够的调试技术和问题解决能力; 责任心强&am…

Android深入浅出系列之Android工具的使用—模拟器(一)
前言 我们下载的SDK包里面有一个叫“Tools”的文件夹,里面为我们提供了许多与Android开发相关的工具,其中一些是必不可少的,现在我们就介绍一下模拟器 Android模拟器的创建 使用“Android SDK and AVD Manager”可以很方便的创建一个An…

【H2645】帧内预测
1、帧内预测的原理 帧内预测的原理:预测值是该像素周围像素值加权求和(比如平均值)P,它和实际值相减后得到的差值q,如果差值q很小,说明该像素的值可以通过预测得出,可以丢弃了,这就达到压缩编码的目的。当…

程序员神级跳槽攻略:什么时候该跳?做什么准备?到哪里找工作?
为什么80%的码农都做不了架构师?>>> 1、引言 每年的3、4月份都是求职高峰时期,目前已进入6、7月份了,你已经成功换工作了吗? 这次我们想聊的,就是程序员跳槽这件事儿,我打算从三个方面来说&…

周志华等人新著!国内第一部AI本科专业教育培养体系出炉
整理 | 一一出品 | AI科技大本营(ID:rgznai100)不得不感叹,南京大学在人工智能本科教育上的发展速度,确实比国内一众高校快一步。这一次,在AI 本科专业教育培养体系的制定上,南大又一次跑到了最前面。5 月 …