GitHub 在解释时表示,大多数安全漏洞并非来自非常复杂的攻击事件或是零日漏洞,相反,往往是一些低成本的攻击,如社会工程、密码泄露,以及其他为攻击者提供访问受害者账户的攻击。被入侵的帐户可用于窃取私有代码或对代码进行恶意更改,从而影响应用程序用户。这对更广泛的软件生态系统和供应链的下游的影响是巨大的。
GitHub表示,软件供应链的起点是开发者。开发者账户经常会成为社会工程和账户接管的目标,保护开发者免受这些类型的攻击是保护供应链安全的第一步,也是最关键的一步。
据 GitHub 博客报道,2021 年 11 月,由于未启用 2FA 的开发者账户遭到入侵,有不少 npm 包被接管。还有媒体报道,曾被黑客入侵的 Microsoft 账户中,有 99.9% 未启用 2FA。
GitHub表示,防止低成本攻击的最好方法是超越基于密码的身份验证。当前 GitHub 除了要求用户名、密码登录之外,还要求基于电子邮件的设备验证。如今,2FA 将是下一道防线。
虽然有很多场景已经验证了 2FA 的有效性,但是 2FA 在整个软件生态系统中的采用率仍然很低。据 GitHub 内部研究表明,目前有 16.5% 的开发者对自己的账户启用了增强的安全措施,这一占比仅有六分之一。另外,也只有 6.44% 的 npm 用户启用了 2FA。
GitHub 最近在 iOS 和 Android 上为 GitHub Mobile 推出了 2FA。想要配置 GitHub Mobile 2FA 的开发者可以在2022 年 1 月的 GitHub 博客文章中了解如何进行。GitHub希望为安全身份验证和帐户恢复提供更多选项,降低从帐户中泄露信息的安全。
据悉,双重身份验证的要求将影响 GitHub 平台的 8300 万用户,但是GitHub表示,可以 “确保开发人员的用户体验”。
GitHub在 2 月将 NPM 注册表中前 100 个软件包的所有维护者注册到强制 2FA,并在 3 月将所有 NPM 帐户注册到增强登录验证中。
该公司表示,前 500 个软件包的所有维护者将于 5 月 31 日加入强制性 2FA。具有 500 多个受抚养人或每周下载量超过 100 万个的高影响 NPM 软件包的维护者将在今年第三季度加入 2FA。