GitHub、数百万人のユーザーに2FAを展開 | TechRepublic

GitHub、数百万人のユーザーに2FAを展開 | TechRepublic
携帯電話がコンピューターのキーボードの上に置かれています。画面にはGitHubのロゴが表示されています。
画像: Prima91

大手テクノロジー企業の大半が利用するGitHubは、2FA(二要素認証)の導入を発表しました。サプライチェーンのセキュリティリスクが高まっていることを踏まえ、同社は3月13日(月)から9ヶ月間の導入期間を開始します。同社は木曜日、プラットフォーム上でコードを提供するすべての開発者が、最終的にこのセキュリティプロトコルを導入する必要があると発表しました。

参照: 採用キット: フルスタック開発者 (TechRepublic Premium)

マイクロソフト傘下のDevOpsサービスは、今回の動きは国家サイバーセキュリティ戦略に沿ったものであり、とりわけソフトウェアベンダーにさらなるセキュリティ責任を課すものだと述べた。

ジャンプ先:

  • 開発者だからといって無敵になるわけではない
  • 2FAの選択肢は様々だが、生体認証とパスキーはSMSよりも優れている
  • 最新の動きはGitHubのセキュリティプログラムのリズムに沿ったもの
  • 混乱を最小限に抑え、プロトコルを最適化するために数ヶ月にわたる展開
  • GitHubが開発者に2FAタイムラインを提供
  • ロックアウトを回避するための電子メールの柔軟性

開発者だからといって無敵になるわけではない

開発者でさえミスを犯し、セキュリティ侵害の被害者になることがあります。GitHubの最高セキュリティ責任者兼エンジニアリング担当上級副社長であるマイク・ハンリー氏は、2022年5月のブログ記事で2FA計画について初めて言及し、侵害されたアカウントはプライベートコードを盗んだり、悪意のある変更をコードに押し込んだりするのに利用される可能性があると指摘しました。

「これは、侵害されたアカウントに関連する個人や組織だけでなく、影響を受けたコードのユーザー全員を危険にさらすことになります」と彼は記している。「結果として、より広範なソフトウェアエコシステムとサプライチェーンに重大な影響を及ぼす可能性があります。」

ニューヨーク大学のコンピュータサイエンス教授であり、in-totoおよびUptaneソフトウェアセキュリティフレームワークの共同開発者でもあるジャスティン・カポス氏は、GitHubによる2FAの導入は大きな問題に対処するための重要な第一歩だと語った。

「組織にコードを挿入することは、人間が行う攻撃の中でも最悪のものの一つです。そのため、人々がコードに取り組む方法、つまり今日では多くの場合GitHub経由でコードに取り組む方法を保護することが非常に重要です。攻撃者がコードを実行するのを困難にしているという点において、これは非常に大きなプラスです」と彼は述べた。

参照: セキュリティリスクを最小限に抑える方法: 成功のためのベストプラクティスに従う (TechRepublic Premium)

2FAの選択肢は様々だが、生体認証とパスキーはSMSよりも優れている

GitHubは、アカウントログイン時にsudoプロンプトを使用する2FAの推奨オプションも提供しています。ユーザーは、時間ベースのワンタイムパスワード、SMS、セキュリティキー、GitHub Mobileのいずれかを選択できます。ただし、SMSベースの2FAは安全性が低いため、Yubikeyなどの物理セキュリティキーやTOTPを含むセキュリティキーの使用を推奨しています。

2FAを推奨しなくなったNISTは、次のように指摘しました。

  • SMS 経由で送信された帯域外シークレットは、モバイル オペレータを説得して被害者の携帯電話を攻撃者にリダイレクトさせた攻撃者によって受信される可能性があります。
  • エンドポイント上の悪意のあるアプリは、SMS 経由で送信された帯域外シークレットを読み取り、攻撃者はそのシークレットを使用して認証を行うことができます。

「広く利用可能な最も強力な方法は、WebAuthnという安全な認証規格をサポートするものです」とGitHubは発表の中で述べています。「これらの方法には、物理​​的なセキュリティキーだけでなく、Windows HelloやFace ID/Touch IDといった技術をサポートする個人用デバイスも含まれます。」

カポス氏は、2FA方式の差別化の重要性はいくら強調してもし過ぎることはないと述べた。「2FAでは、すべてが同じではありません。例えば、Yubikeyはゴールドスタンダードです。なぜなら、何かを実行するには物理的にキーを盗まなければならないからです」と彼は述べた。 

参照:1Passwordはパスワードフリーの未来を目指している。その理由はここにある(TechRepublic)

GitHubは、フィッシングなどの攻撃に対する防御策として、次世代認証プロトコルであるパスキーもテストしていると述べた。

「パスキーはまだ新しい認証方法であるため、お客様に提供する前に社内でテストを実施しています」と広報担当者は述べています。「パスキーは使いやすさと、強力でフィッシング対策に優れた認証を兼ね備えていると考えています。」

最新の動きはGitHubのセキュリティプログラムのリズムに沿ったもの

脅威の攻撃者に対抗するための抜け穴を塞ぐ取り組みの一環として、GitHub は昨年秋に秘密スキャン プログラムを拡張し、開発者が公開 GitHub リポジトリで公開されている秘密を追跡できるようにしました。

また、今年初めに GitHub は、ユーザーがコードスキャンを自動的に有効にできる「デフォルト設定」と呼ばれるコードスキャンの設定オプションをリリースしました。

「当社の2FAイニシアチブは、アカウントのセキュリティを向上させることでソフトウェア開発の安全を確保するためのプラットフォーム全体の取り組みの一環です」と同社はリリースで述べ、開発者アカウントはソーシャルエンジニアリングやアカウント乗っ取りの標的になっていると指摘した。

混乱を最小限に抑え、プロトコルを最適化するために数ヶ月にわたる展開

GitHub によると、新しいプロトコルを配布するプロセスは、ユーザーが行ったアクションや貢献したコードに基づいてグループが選択され、ユーザーへの混乱を最小限に抑えることを目的としている(図 A)

図A

ソフトウェア サプライ チェーンと重要なセキュリティ手順のフローチャート図。
画像: GitHub。ソフトウェアサプライチェーンのセキュリティ確保はユーザーアカウントから始まります。

同社は、このゆっくりとした展開により、今年中に規模を拡大していく前に、GitHub が必要に応じて調整を行うことが容易になるとも述べた。

GitHubの広報担当者は、2FA導入における特定のグループへの参加資格について具体的な情報は明かさないものの、参加するグループは、より広範なエコシステムのセキュリティへの影響度に基づいて決定されると説明しました。影響度の高いグループには、以下の条件を満たすユーザーが含まれます。

  • 公開された GitHub または OAuth アプリ、アクション、またはパッケージ。
  • リリースを作成しました。
  • npm、OpenSSF、PyPI、または RubyGems によって重要とみなされるリポジトリにコードを寄稿しました。
  • 上位約 400 万のパブリックおよびプライベート リポジトリのいずれかにコードを寄稿しました。
  • 企業および組織の管理者として機能します。

積極的な姿勢を持つ人々のために、同社は専用サイトで直ちに 2FA を提供しています。

GitHubが開発者に2FAタイムラインを提供

GitHub コントリビューター向けのプロセスでは、緩やかな期限に合わせて 2FA を開始するためのタイム マーカーがいくつか設定されます(図 B)

図B

GitHub からの色分けされたタイムライン。さまざまなグループがさまざまな 2FA 期限をいつ満たす必要があるかを詳細に示しています。
画像: GitHub。GitHub コントリビューター向け 2FA のタイムライン。

締め切り前に

保留中の 2FA グループに選ばれた GitHub 貢献者には、期限の 45 日前にメールで事前通知が届き、期限が通知され、2FA を有効にする方法が案内されます。

有効化期限が過ぎると

通知を受けたユーザーは、毎日初めてGitHub.comにアクセスする際、2FAを有効にするよう求められます。このプロンプトは1日1回、最大1週間までスヌーズできますが、それ以降は2FAを有効にするまでGitHub.comの機能にアクセスできなくなります。

2FAが有効になってから28日後

ユーザーはGitHub.comの利用中に2FAの「チェックアップ」を受け、2FA設定が正しく機能していることを確認します。以前にサインインしたユーザーは、オンボーディング中に2要素認証やリカバリコードを誤って設定したり、紛失したりした場合に、2FAを再設定できます。

ロックアウトを回避するための電子メールの柔軟性

幸いなことに、新しいプロトコルにより、ユーザーは 2FA が有効になっている GitHub アカウントから電子メールのリンクを解除できるため、サインインまたはアカウントの回復ができない場合に、アカウントの確認に使用できる電子メール自体からロックアウトされるという矛盾を回避できます。

「アカウントを回復するためにSSHキー、PAT、またはGitHubに以前サインインしたデバイスが見つからない場合は、新しいGitHub.comアカウントで最初からやり直し、貢献グラフを正当に緑色に保つのは簡単です」と同社は述べた。

Tagged: