GitHub防黑客升级:码农要在明年年底前启用双因素认证
“软件供应链始于开发者。社会工程和帐户攻击活动经常把开发者账户作为目标,因此保护开发者免受此类攻击是确保软件供应链安全性的第一步,也是最关键的一步。”当地时间5月4日,GitHub首席安全官Mike Hanley在博客中公布GitHub新政策:在2023年底之前,所有在GitHub.com上贡献代码的用户都需要启用至少一种形式的双因素身份验证(2FA)。
尽管双因素身份验证为在线账户提供了重要的额外保护,但GitHub的内部研究表明,目前只有大约16.5%的活跃用户和6.44%的npm用户对其帐户启用了增强的安全措施。
GitHub是全球数千万软件开发人员使用的代码托管平台。Hanley写道,“GitHub处于独特的位置,仅凭GitHub.com上的绝大多数开源和创作者社区,我们就可以通过提高安全标准来对整个生态系统的安全产生重大的积极影响。”
保护开源软件的安全仍然是软件行业迫切关注的问题,尤其是在去年令企业和政府竞相应对的全球计算机网络重大安全威胁log4j漏洞之后。但是,尽管GitHub新政策将缓解一些威胁,但系统性挑战仍然存在:许多开源软件项目仍由无偿志愿者维护,缩小资金缺口一直被视为整个科技行业的主要问题。
双因素身份验证是什么?为什么GitHub认为帐户安全和双因素身份验证很重要?
双因素身份验证概念图
2FA(2 Factor Authentication,双因素身份验证),是指在秘密信息(密码等)、个人物品(身份证等)、生理特征(指纹/虹膜/人脸等)这三种因素中,同时用两种因素进行认证。
Hanley写道,“大多数安全漏洞并非少见的零日攻击(Zero-day attacks,充分利用先前无人知晓的漏洞施展攻击)的产物,而是来源于很多低成本攻击手段,如社会工程(social engineering)、凭证盗窃(credential theft)或泄漏,以及其他很多为攻击者提供对受害者帐户及其所有资源的广泛访问权限途径。被入侵的帐户可用于窃取私有代码,或将恶意更改推送到这些代码上。这不仅会将与受感染帐户相关的个人和组织置于危险之中,而且会让所有使用受影响代码的用户都暴露在风险环境下。因此,这种攻击可能会对更广泛的软件生态系统和供应链下游产生巨大的影响。”
这就是为什么双因素身份验证可以成为保护关键业务系统的有效机制,因为这意味着如果不良行为者获得了私人登录凭据,但利用它们要困难得多。
如果想要更直观理解,那么可以思考,只用账户和密码进行身份验证会有什么隐患?
在互联网中,每天都有大量网站遭到黑客攻击以致有数据外泄,而这些数据中就包括用户的账号密码。拿到账号密码后,黑客可以用它们尝试登录其他网站,即“密码撞库”。
那么为了防止密码撞库,网站就会采取更多手段验证身份信息,像GitHub推出的双因素身份验证、登录警报、设备认证、防用泄露密码等。
GitHub透露,2021年11月,一些未启用2FA的开发者帐户遭到入侵,导致很多npm包(Node Package Manager,简称npm包管理工具)被入侵者接管,为此GitHub承诺在npm帐户安全性方面投入更多资源。
GitHub认为,应对这种攻击手段的最佳防御措施就是对原有基于密码的基本身份验证手段进行升级。“GitHub已经朝这个方向迈出了一步,弃用了针对git操作和我们API的基本身份验证,并要求在用户名和密码之外添加基于电子邮件的设备验证。2FA是下一道防线。”Hanley写道。
在接下来的几个月里,GitHub将分享更多关于强制GitHub.com用户升级到2FA的详细信息和时间表。