GitHub の OAuth 問題:追跡調査により 100K 件分の npm ログイン情報の窃取が判明

GitHub: Attackers stole login details of 100K npm user accounts

2022/05/27 BleepingComputer — GitHub が明らかにしたのは、4月中旬に発生したセキュリティ侵害において、Heroku と Travis-CI に発行された OAuth アプリ・トークンを悪用した攻撃者により、約10万件の npm アカウントのログイン情報が盗み出されたという状況である。この脅威アクターは、数十の組織が所有するプライベート・リポジトリからの侵入と、データの窃取に成功したという。

悪意の脅威アクターが npm のプロダクション・インフラにアクセスするという、このセキュリティ侵害が発見されてから、3日後となる 4月15日に、GitHub は攻撃を検知したと公表している。この脅威アクターのは、攻撃の初期段階において、盗み出した OAuth ユーザー・トークンを用いて、プライベート npm リポジトリから不正なダウンロードを行った後に、漏洩した AWS アクセスキーを用いて不正アクセスをエスカレートさせた。

この侵害が発見された後に、GitHub/Travis CI/Herokuは、さらなるハッキングの試みを阻止するために、すべての OAuth トークンを失効させた。5月27日に GitHub の Senior Director for Product Security Engineering である Greg Ose は、同社における調査の過程で、未知の脅威アクターのが npm クラウド・ストレージから、以下のデータを盗み出したことを確認したと述べています。

  • 2015年のユーザー情報アーカイブから、約100k の npm ユーザー名/パスワードハッシュ/および電子メールアドレス。
  • 2021年4月7日時点の、全プライベート・パッケージのマニフェストとメタデータ。
  • 2022年4月10日時点の、公開されている全プライベート・パッケージの Names と semVer。
  • 2つの組織におけるプライベート・パッケージ。

ただし、パスワード・ハッシュは、脆弱なハッシュ・アルゴリズム (PBKDF2 および塩漬けの SHA1 など) で生成されており、クラック後のアカウント乗っ取りが可能だ。ただし、その時点で 2FA に登録されていなくても、2022年3月1日以降に全アカウントで有効化されたメール認証により、その試みは自動的にブロックされる。

GitHub は、「ログとイベントの分析、および、すべての npm パッケージのバージョン・ハッシュを確認した結果として、現時点における脅威アクターが、レジストリ内の公開パッケージの改ざんおよび、既存のパッケージへ向けた新バージョンの公開などを、行っていないと確信している」と述べている。

GitHub は、影響を受けた npm ユーザーに属する全パスワードをリセットし、攻撃者により不正にアクセスされた、すべての組織とユーザーに通知している。npm トークンのローテーションを行いたい場合には、ココで詳しく説明されている手順で実施できる。また、ココへアクセスして、npm アカウントのパスワードを手動でリセットすることも可能だ。

インターネット・ログから発見された平文の npm 認証情報

4月の OAuth 侵害の調査中に、GitHub は npm サービスの内部ログに保存されていた、平文による認証情報も発見したと述べている。幸いなことに、これらのログイン情報が公開されている期間において、アクセスできたのは GitHub の従業員のみであったという。

内部ログから見つかったクレデンシャル・データには、npm アクセス・トークン/npm アカウントへのサインインに使用された少数の平文パスワード/npm サービスに送信された GitHub パーソナル・アクセス・トークンなどが含まれていた。

GitHub の Greg Ose は、 「OAuth トークン攻撃とは無関係の、内部発見と追加調査を行った。具体的には、GitHub ロギングシステムに npm を統合した後に、内部ログに捕捉されていた npm レジストリの平文ユーザー認証情報を多数発見した。この問題は緩和され、平文の認証情報を含むログは、npm への攻撃前に削除された」と述べている。

この問題については、2022年4月16日の「GitHub でプライベート・リポジトリ侵害:盗み出された OAuth Access Token が原因」、5月2日の「GitHub で発生した OAuth トークンの悪用:高度な標的型の性質があるという」と、5月6日の「Heroku が語る先日の GitHub 攻撃:盗まれた OAuth トークンについて」でお伝えしてきましたが、ようやく被害の全容が明らかになったようです。今回のインシデントに限らず、OSS リポジトリへの信頼が揺らいでいるように思えます。よろしければ、GitHub で検索も、ご利用ください。

%d bloggers like this: