打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GitHub账户被黑:旧漏洞导致弱密钥大量留存

微信号:freebuf

又见历史原因导致的安全隐患

在七年前开发人员发现GitHub存在一个灾难性的漏洞之后,GitHub已经关闭了数量不明的通过密钥访问的账户。


Github允许授权用户登录到隶属于Spotify、Yandex和英国政府的公共仓库账户中,而这些公共仓库账户却使用了由当时存在缺陷的Linux发行版本Debian生成的SSH密钥,而这部分密钥是不安全的——其密钥的位数太少以至于可以枚举导致暴力破解,分分钟登录这些存在威胁的账户中。


七年后,Debian社区的朋友们修复了bug并且提醒用户取消旧的密钥而重新生成一个。伦敦的开发人员Ben Cartwright-cox说,他发现了这一漏洞仍然存在于海量密钥中,而这些密钥因位数不足比较容易被人攻击利用。


Cartwright-cox在周一发表的博文中称:

“如果你刚刚或者正收到一封关于密钥被撤销的邮件,那请你务必仔细浏览并且确保确实没有人攻击你。如果你使用了存在问题的密钥,你可能已经遭到了黑客的攻击。”

密钥数量有限?

Cartwright-Cox在GitHub上发现了大约94个包括Debian衍生缺陷的密钥。3月份他向GitHub官方报告之后,才发现实际用户数量要高得多。GitHub于上月撤销了这些密钥,目前GitHub官方没有作出其他回应。


此外,Cartwright-cox发现了九个GitHub SSH密钥bits数量存在严重不足。其中有两个只包含256位,导致他能够在不到一小时内克隆出密钥,而剩余的其他7个密钥都只有512位。

漏洞描述

下面我们看一下这个Debian的漏洞是如何导致枚举的。


该漏洞可谓是十分亮眼。因为漏洞的存在,使得生成的SSH密钥长度非常短。当生成OpenSSH密钥的位数不足时,对于一个给定体系结构、密钥大小和密钥类型而言只有32767种输出结果。攻击者能够使用相同方法找到弱密钥,然后使用一些技术来获取密钥保护的账户。这一任务会在不安全Debian SSH 密钥的帮助下获得一个或者更多公共网站,比如这一个:

“如果我想折腾得动静大一些,我大可去做我在博客中提到的那些事情,然后或许可以给GitHub他们一些警示(我已经给了他们机会的)。

想要制造这样的问题可以如下进行:获取问题密钥列表。其中包含了所有SSH密钥的公共和私密部分,如果用户有一个存在Debien RNG 漏洞的OpenSSH版本,然后得到列表中的每个密钥,并尝试登录带有密钥的GitHub ssh。

用户:快去更新密钥和操作系统

Rapid7 的高级研究员及Metasploit框架的联合创始人HD Moore表示(小编:Moore同志又在宣传推广他的MSF框架了)

"从技术上讲,攻击者甚至不需要私钥来查看网站接受的用户身份验证。仅仅是公共密钥和Metasploit模块就能够完成了。"

这个漏洞于2006年被发现,当时鉴于一些用户提交的漏洞报告,Debian维护人员最终去掉了OpenSSL代码库的两行代码。而Debian的维护人员仅仅是去掉了Debian对于OpenSSH的依赖,因此这个存在于OpenSSH中的位数缺陷并没有被修复。


接下来的故事更戏剧化,Ubuntu在不知情的情况下也打包了这个存在缺陷的OpenSSH版本,所以这个漏洞又跑到了Linux的另一发行版本Ubuntu中,而在此后的20个月中,并没有人发现这个从Debian跑过来的重大问题,而就在这20个月里,有一批数量不明的密钥已经生成。


这个问题并不是一个小问题,因为这批数量不明的SSH弱密钥还大量存在于Github中,补丁也只能保证从此刻开始新生成的SSH密钥的安全性,想要完全解决问题,还需要用户主动去撤销那些在20个月内生成的存在缺陷的密钥,并使用新的操作系统以生成新的密钥。由此看来,想要彻底解决这个问题,任务量不可小觑。

小编语

最近Github可谓是多事之秋啊,先是被DDoS,然后又被爆出存在如此多数量的弱密钥,大家都是码代码的,找个好点的托管平台容易嘛!程序员何苦为难程序员!


不过上个月末才传出Github已经宣布正在开发一个去中心化的产品——GitTorrent,据官方回复说,一来是为了防止被DDoS,二来也为了Github未来的发展。Github未来如何,我们拭目以待。不过我们衷心祝愿这样一个好的平台越做越好!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Git认证方式https和ssh的原理及比较
WinSCP下用密钥登录
把淘汰的Android手机变成一台Linux服务器
使用SSH密钥连接Github【图文教程】
Git-多账户配置SSH免密登录
如何在Linux上搭建Git服务器?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服