Travis-CI API からの OAuth トークン流出:GitHub や AWS S3 に影響が生じた理由が判明

Unpatched Travis CI API Bug Exposes Thousands of Secret User Access Tokens

2022/06/14 TheHackerNews — Travis-CI API における未パッチの脆弱性により、数万人のユーザー・トークンが潜在的な攻撃にさらされ、脅威アクターによるクラウド・インフラの侵害/不正なコード変更/サプライチェーン攻撃がなど事実上可能になっている。クラウド・セキュリティ企業である Aqua の研究者たちは、月曜日のレポートの中で「無料ユーザーの 7億 7000万件以上のログが公開され、そこから GitHub/AWS/Docker Hubといった人気のクラウドサービス・プロバイダーに関連する、トークン/機密情報/認証情報などが容易に抽出できる」と述べている。

Travis-CI は、GitHub/Bitbucket などのクラウド・リポジトリ・プラットフォームでホストされる、ソフトウェア・プロジェクトの構築/テストに使用されている CI/CD ツールである。

この、2015年と2019年に報告された問題は、平文での過去ログへのアクセスを API が許可していることに起因し、これまで API 経由で入手できなかったログの取得さえ、脅威アクターたちに許される状況となっている。

一連のログは、2013年1月〜2022年5月のものであり、ログ番号の 4,280,000〜774,807,924 が、API を介した平文ログ取得の対象になるとのことだ。

その上で、20,000 件のログを詳細に分析した結果、GitHub/AWS/Docker Hub などのサービスに関連する、73,000 件ものトークン/アクセスキーなどの機密情報が発見されている。

この漏洩は、Travis-CI が API のレート制限を試み、ビルドログから環境変数とトークンを自動的にフィルタリングし、その代わりに文字列 [secure] を表示しているにもかかわらず生じている。

また Travis-CI は、”github_token” は難読化したが、異なる命名規則に従う github_secret/gh_token/github_api_key/ github_secret などのトークンや、20種類のバリエーションはマスクしていない。

研究者たちは、「Travis-CI は API コールの速度を低下させ、API のクエリを妨げている。しかし、このケースでは不十分だった。熟練した脅威アクターは回避策を見つけだせる。つまり、API 経由でのログへのアクセスの容易さや、制限されているはずのログへのアクセス、API へのアクセス制限プロセスの脆弱さ、不完全な検閲といった問題があり、公開される可能性のある大量のログとの組み合わせにより、危機的な状況がもたらされている」と述べている。

Travis-CI は、この調査結果を受けて、デザイン上の問題に起因することを認めている。そして、ユーザーに対しては、ベスト・プラクティスに従いビルドログの漏洩を防ぎ、トークンと機密情報の定期的なローテーションが必要だと説明している。

今回の調査結果は、2022年4月に発生した、きわめて深刻な問題を解明している。つまり、Heroku と Travis-CI に対して発行された OAuth ユーザー・トークンが盗まれ、それを悪用する攻撃キャンペーンにより、NPM インフラへの不正アクセスと、一部のプライベート・リポジトリの複製が生じているのだ。

この問題は、 Travis-CI の API を介して平文ログ情報が不正に取得され、その中に含まれるトークン/アクセスキーなどが悪用され、被害が拡大したという結論に至ったようです。Travis-CI で検索すると、この件に関する履歴を参照できます。なお、CI/CD などを含むパイプラインの怖さについては、2022年2月16日の「ポイズンド・パイプライン:CI/CD 環境における攻撃メソッドについて」が、詳細な説明を提供しています。



%d bloggers like this: