github上周五(4/15)警告,黑客滥用了授给heroku及travis-ci的oauth用户权限,以于github访问及下载属于数十个组织的资料,包括npm在内。
github首席安全官mike hanley说明,github security是在4月12日发现,有未经授权的黑客利用一个被危害的aws api密钥访问其npm生产基础设施,分析后相信黑客先是使用盗来的oauth权限下载了一组私有的npm存储库,再于私有的存储库中找到该api密钥。而遭盗用的oauth权限则是来自heroku与travis-ci其中一家企业。
hanley指出,他们并不认为黑客是借由危害github来取得这些权限,因为有问题的权限并未以原始、可用的形式存放在github上,相信凭证是自heroku与travis-ci所维护的oauth应用程序外泄,并被用来下载数十个使用相关应用程序的组织存放于github上的私有存储库。
目前已知被影响的oauth应用程序涵盖heroku dashboard(id: 145909)、heroku dashboard(id: 628778)、heroku dashboard–preview(id: 313468)、heroku dashboard–classic(id: 363831)与travis ci(id: 9216)。
此外,根据github的分析,当黑客以外泄的oauth权限访问私有存储库之后,还会检查这些私有存储库之中是否含有可用来访问其它基础设施的凭证。
hanley表示,黑客也许不仅访问了github上npm的私有存储库,可能也访问了aws s3上的npm组件,但黑客应该未变更任何组件,也未取得任何用户账号资料与凭证。github仍在调查黑客查看或下载了哪些私有组件,由于npm与github使用不同的基础设施,在该攻击事件中,github并未受到影响。
在确认问题的根源后,github于13日便撤销了内部所使用的、来自上述oauth应用的所有权限,以保护github与npm。
heroku母公司salesforce及travis-ci也在13日收到github的通知。
而heroku遭黑的时间则更早。根据salesforce的说明,黑客是在4月9日便访问了heroku位于github的私有存储库,还下载了源码,原因则为oauth权限遭到危害,在收到github的通知后,salesforce即立刻关闭了相关的oauth权限与github账号,随后也撤销集成github、来自heroku dashboard的所有oauth权限。
此外,salesforce强调,被危害的oauth权限仅允许黑客访问heroku客户的github存储库,而非heroku账号。
github预计于72小时内通知所有受到该事件影响的用户及组织,建议用户应定期查看已授权或被授权访问该组织的oauth应用,并删除不再需要的应用,也应检查组织的审核记录与用户账号的安全记录,以确保没有任何异常活动。
不过,迄今salesforce或travis-ci并未公布相关权限是如何外泄的。