2FAで数百万人の開発者の安全を守る

Image of Ishikawa Setsuna

GitHub では、ソフトウェア・エコシステムをより安全にするという責任の一環として、2FA の適用を劇的に増やしました。何百万人もの開発者の安全をどのように守っているのか、そしてなぜ私たちがより多くの組織にこうした取り組みに参加するよう促しているのかについてご紹介します。


テクノロジーはセキュリティ上の脅威の拡散に対抗するために大きく進歩しましたが、来るべき次のサイバー攻撃を防ぐには、セキュリティの基本を正しく理解することが重要であり、ソフトウェア・エコシステムを保護する取り組みは、私たち全員が依存しているソフトウェアを設計、構築、メンテナンスする開発者を保護しなければならないという現実があります。

世界最大の開発者コミュニティの本拠地であるGitHubは、ソフトウェアサプライチェーンのセキュリティ向上を支援するユニークな立場にあります。2022年5月、私たちはサプライチェーンセキュリティの水準を高めるため、そのファーストリンクである開発者のセキュリティに取り組むイニシアティブを発表しました。強固な多要素認証は、アカウントの乗っ取りやそれに続くサプライチェーンの侵害に対する最善の防御策の一つであることに変わりはないため、私たちは2023年末までに、GitHub.comでコードを利用するユーザーに対し、1つ以上の2要素認証(2FA)の有効化を必須要件とするという野心的な目標を設定しました。

その後、開発者にとってシームレスなエクスペリエンスに最適化するため、この必須要件の展開に関するリサーチとデザインに1年分の投資を行い、その後、要件の規模を拡大し続けながら、ユーザーのオンボーディングを成功させるために段階的なロールアウトを行いました。開発者がGitHub.comで可能な限り安全に利用できるようにするための私たちの取り組みはここで終わりではありません。今日は、私たちの2FA登録の第1段階の結果を共有し、より多くの組織がそれぞれのプラットフォームで同様の要件を実装するよう呼びかけています。さあ、詳しくみていきましょう。

結果 🚀

我々は、2023年のイニシアチブの最初の成果と、ソフトウェア・エコシステムをよりセキュアにするためのインパクトを誇りに思います。次のような結果となりました:

  • GitHub.comでの2FAの導入が劇的に増加。ソフトウェアサプライチェーンに最も重要な影響を与えるユーザーに焦点を当てました。
  • ユーザーが、パスキーを含む、より安全な 2FA の手段を採用しました。
  • 2FAに関連するサポートチケットの件数が純減しました。これは、サポートプロセスの改善だけでなく、ユーザー調査や設計を前もって行ったおかげです。
  • RubyGemsPyPIAWSのような他の組織も、ソフトウェアサプライチェーン全体のハードルを上げることに参加しており、2FA採用の大幅な増加が、この課題は克服可能であることを証明しています。

2FAの採用

2023年3月に2FA必須要件の展開を開始して以来、GitHub.comの全アクティブ・コントリビュータにおける2FAの採用率が54%増加しました。2023年に2FAの必須要件を受け取ったコード・コントリビュータのうち、95%近くがオプトインしており、登録者は増え続けています。

Graph showing the upward trend of total registered 2FA users from May 2023 to March 2024.

より強力で信頼性の高い認証

このイニシアチブの主な焦点は、ユーザーにより安全な2FA手段、特に現在セキュリティとユーザビリティの最強の組み合わせを提供するパスキーの採用を促すことでした。2023年7月にパスキーをパブリックベータとしてリリースして以来、140万近くのパスキーがGitHub.comに登録されました。さらに素晴らしいことに、パスキーは日々の使用において、WebAuthnに裏打ちされた他の形式の2FAを急速に追い越しました。

Graph showing Webauthn authentication success by type (passkey versus other) from July 2023 to March 2024. Passkeys surpassed all other types in November 2023, and the gap has widened since then.

GitHubはパスキーを強く推進していますが、GitHubが世界中の開発者に柔軟性、信頼性、セキュアな認証方法を提供し続けることも重要です。GitHubでは、SMSを2FAのオプションとして引き続きサポートし、他の方法を採用できないユーザーにも、可能な限りよりセキュアな方法を採用してもらえるよう、2FAオンボーディングのワークフローを意図的に設計しています。この作業により、2023年初頭から2024年初頭の間に、第二要因としてのSMSのシェアは全体で25%近く減少しました。私たちは、パスキーの採用を促進し続ける一方で、よりセキュアでないファクタータイプの利用を減少させる余地が大いにあると見ており、GitHub プラットフォームの開発者の大多数にとってパスキーがファーストチョイスとなる未来を予見しています。

最後に、登録体験の改善とパスキーの展開の結果、ユーザーが2つ以上の形式の2FAを設定する可能性が47%高まったというデータがあります。各要素を追加することで、ユーザーがすべての要素を失い、ロックアウトされる可能性がはるかに低くなり、よりスムーズで信頼性の高いユーザー体験が得られます。

Graph showing the number of users with 2 or more 2FA methods from April 2023 to March 2024. The line began trending rapidly upward in November 2023, becoming almost exponential in early 2024.

ユーザー体験とサポート

シームレスなユーザーエクスペリエンスという約束を守りつつ、開発者が強固なアカウントセキュリティを採用できるようにする必要があると考え、私たちは 2FA オンボーディングフローの刷新、GitHub モバイルアプリの 2FA の追加、プライマリ 2FA 要素のユーザーオプションの増加など、多くの改善に投資しました。プラットフォームでの相対的な利用が増えるにつれて、2FA 関連のサポートチケットが増えると考えるのが妥当でしょうが、私たちはその逆を見ました。展開に先立ち、ユーザーエクスペリエンスとデザインに多大な投資を行ったため、2FA関連のサポートチケットは3分の1に減少しました。

さらに、社内のワークフローを最適化し、サポート・チームの自動化を進めた結果、人的介入を必要とする2FAアカウント回復のサポート・チケットが54%減少しました。現在、アカウント復旧リクエストチケットの75%以上は、プロダクト内のワークフローから生じています。このワークフローでは、ユーザーからリカバリーの詳細を収集し、リスク要因や、安全だとわかっているシナリオ(サインインしたままアカウント・リカバリーを行うなど)を自動的にチェックします。このデータ収集と審査により、サポートチームがこれらの復旧の試みをレビューする時間が劇的に短縮され、ロックアウトされたユーザーが安全にアカウントに戻ることができるようになり、GitHubは2FAの登録を数百万人のユーザーに拡大することができるようになりました。

Graph comparing 2FA account recovery tickets with tickets involving automated review from May 2023 to March 2024. The line representing automated review surpassed the line representing account recovery tickets around October 2023 and has stayed there ever since.

また、ユーザーが自分の設定を確認できるように、2FAの設定から28日後に行われる2FA確認のチェックアップも導入しました。このチェックアップはフェイルセーフであり、25%のユーザーが設定ミスやファクター紛失の際にアカウントの再設定を成功させ、ユーザーのアカウントロックアウトを回避し、GitHub のアカウント復旧サポート量を大幅に削減しました。

Screenshot of the dialog box prompting a user to verify their 2FA settings.

エコシステムへの影響

私たちは、GitHub.com上の開発者の安全を守ることを第一に考えていましたが、GitHubとnpmが独自の2FA必須要件を設定した後、より多くの組織がこの呼びかけに応じることを目標に、展開のアプローチを意図的に透明化しました。2FAが正常に有効化されたユーザーアカウントはすべて、攻撃者が組織や重要なオープンソースソフトウェアを侵害するベクトルを1つ減らすことになります。この2年間で、RubyGemsPyPIAWSが、私たちの共有エコシステムとソフトウェアサプライチェーンをセキュアにするために、2FAの利用拡大を推進する取り組みに参加してくれたことは、私たちにとって励みになりました。

今後に向けて 🔭

2024年の今、あなたは “なぜ私は2FAの必須要件を得られなかったのか?”と思っているかもしれません。何百万人もの開発者を2FAに登録するために2023年に行った進展に私たちは嬉しく思っていますが、ソフトウェアサプライチェーンとそれを担当する開発者の安全を守る仕事は終わりません。私たちの初期作業では、ユーザー権限や具体的な行動の影響に基づいて、個別のユーザー・グループに優先順位をつけました。

また、2FAを採用するために、携帯電話にアクセスできなかったり、使用するコンピュータのソフトウェアを制御できなかったりするユーザーをサポートするための、業界全体の重要な作業もまだ残っています。グローバル・プラットフォームとして、私たちは誰もがソフトウェア開発をより簡単でセキュアなものにするツールにアクセスできるべきだと考えており、開発者に強力な認証を導入するための取り組みも継続中です。私たちは、開発者、彼らが取り組んでいるプロジェクト、彼らが参加しているコミュニティを保護するためのソリューションを見つけ続け、世界中の異なるセットアップや環境を持つ人々を制限することなく、ソフトウェアサプライチェーン全体のセキュリティを大幅に向上させるバランスの取れたアプローチを取るよう努力していきます。

今後については、ユーザーエクスペリエンスの継続的な監視と改善を行いながら、2024年中にさらに多くのGitHub.comユーザーに2FAへの登録を必須要件とする方法を評価中です。私たちは、セッションやトークンのバインディングなど、2FAの有無にかかわらず、開発者とその組織がアカウント漏洩のリスクをより適切に管理できるような、追加のアカウントセキュリティ機能を調査しています。また、パスキーやセキュリティキーのような、プラットフォーム上で開発者が利用できる最もセキュアな要素の採用を引き続き推進し、開発者がよりセキュアな認証タイプに「ステップアップ」するのを支援したいと考えています。これらの取り組みの最優先事項は、セキュリティを簡単で効果的にすることで、結局のところ、使えないセキュリティはセキュリティではないのです。

行動することの呼びかけ 📣

私たちは皆、ソフトウェアのエコシステムを安全にする役割を担っており、プラットフォームは責任あるソフトウェアの消費者であると同時に、ソフトウェアに貢献するコントリビュータであることをコミットしなければなりません。GitHubは、エコシステム全体を守るために正しいことだと信じているからこそ、大規模な2FAに取り組むことを選びました。そして、他の組織も我々と一緒に参加することが不可欠であると信じています。ここでの我々の取り組みは、ユーザーの体験に悪影響を与えることなく、セキュリティの水準を大幅に引き上げることが可能であることを示しており、他の組織にも、可能であれば自分たちのプラットフォームで2FAを必須要件とすることを強く検討するよう促しています。

数百万人の開発者のためにどのように2FAを展開したかについてもっと知りたい方は、数週間以内に我々の仕事をより深く掘り下げたフォローアップ記事を楽しみにしていてください。

この取り組みに参加したい場合は、自分のアカウントで2FAを有効にするか、パスキーを採用するか、組織で2FAを必須要件にしてください。

宣伝
GitHubでコードを簡単に保護する方法をもっと知りたいですか?
10月にサンフランシスコで開催されるGitHub Universe 2024では、開発者目線のセキュリティに関する最先端の研究やベストプラクティスを紹介します。
超早割セールはまもなく終了します!チケットはこちらから。