2021年5月21日、大手フリマアプリ「メルカリ」はコードカバレッジの可視化プラットフォーム「Codecov」に悪意のあるコードが埋め込まれ、顧客情報1万7085件などが流出したと発表しました
日本のメルカリ、Codecovサプライチェーン攻撃で大規模な情報流出:海外でも話題に
こちらでどのようにメルカリが顧客情報などを搾取されたのか解説します。
Codecovとは?
Codecovは、コードベースのテストカバレッジを測定するために使用されるツールです。一般的には、ユニットテストの実行中にどのコード行が実行されたかを調べることで、カバレッジ率を算出します。カバー率が高ければ高いほどテストにおいてどのコードが実行されたか、実行されていないコードはどれかをグラフィカルに見ることができます。カバー率をグラフィカルに表現するものがCodecovになります。
コードの実行テストのカバレッジ集計はCodecovとは別のCircleCI 2.0 + fastlane + Slatherなどを組み合わせて実施します。
Slatherなどで集計したカバレッジデータを視覚的に確認するために Codecov Bash uploader を使用してCodecov にアップロードします。
どのように攻撃されたか?
今回の攻撃では、この「Codecov Bash uploader」に悪意のあるコードが埋め込まれ、攻撃者のサーバにもアップロードするように改変されていました。
収集されたデータは、CodecovユーザのCI/CD環境から収集した環境変数になり、詳細としては下記リストになります。
- ユーザがCIで使用していた認証情報、トークン、キーで、Bash Uploaderスクリプトが実行されたときにアクセス可能なもの
- 認証情報、トークン、またはキーを使ってアクセスできるサービス、データストア、およびアプリケーションコード
- CIでCodecovにカバレッジをアップロードするためにBash Uploaderを使用しているリポジトリのgitリモート情報(オリジンリポジトリのURL)
メルカリの報告書によると、この悪意のあるコードを埋め込んだ「Codecov Bash uploader」を実行したユーザの環境変数(認証情報など)を使用して、Githubに不正侵入され、顧客情報などが搾取されたしまったとのことです。
Codecov社、サプライチェーン攻撃を受けた顧客に通知していた
2021年4月15日、Codecov社はBash Uploaderに対するサプライチェーン攻撃が展開されていたことをユーザに通知していました。
ただしBash Uploaderは、このCodecov社の通知よりも2ヶ月も前に改ざんされていました。
Codecovユーザーのアカウントの下にもセキュリティ警告が表示され、警告がなされていましたがログインが必要だったりわかりにくいということで不評を買っていました
開発者のPhil Howard氏は、「@codecovのセキュリティ侵害に関する “詳細情報 “のリンクをたどると、ログインを要求してきて、非常に分かりにくく、まったく役に立ちません」と述べています。
攻撃者のIPアドレス:どこにアップロードされていたか?
Codecov社はこの攻撃による複数のIOC(Indicators of Compromise)を発表しています。
IOC(Indicators of Compromise)とは?
Codecov社は当初調査中のためにIOC(Indicators of Compromise)を公開していませんでしたが、BleepingComputer社は攻撃者が使用したIPアドレスを1つ特定していました
https://www.bleepingcomputer.com/news/security/codecov-starts-notifying-customers-affected-by-supply-chain-attack/
データの流出に使用された攻撃者のIPアドレスの1つ
攻撃者のIPアドレスリスト
bashスクリプト自体を変更するために使用された発信元IP:79.135.72.34:ロシア
侵害されたBash Uploaderからデータが送信された先のIPアドレス
これらの IP は、侵害されたスクリプトの 525 行目の curl 呼び出しで使用されています。
- 178.62.86.114:イギリス
- 104.248.94.23:オランダ
Codecov社の調査で特定されたIPアドレス。攻撃者や関連するアカウントに関連する可能性が高いもの
- 185.211.156.78:ロシア
- 91.194.227.*:ロシア
今回の事件に関連していると思われるその他のIPアドレス
- 5.189.73.*:ロシア
- 218.92.0.247:中国
- 122.228.19.79:中国
- 106.107.253.89:台湾
- 185.71.67.56:ロシア
- 45.146.164.164:不明
- 118.24.150.193:中国
- 37.203.243.207:ロシア
- 185.27.192.99:ロシア
*IPアドレスの地域はhttps://rakko.tools/tools/11/にて確認
Codecov社のサプライチェーン攻撃は、攻撃者が開発者/ITオートメーションツールを標的とし、同時に何千もの顧客に影響を与えたことからSolarWinds社のサプライチェーン攻撃と比較されています。
そのため、米国の連邦捜査当局は、Codecov社のセキュリティ事件の調査にいち早く乗り出しています。
Codecov社を改ざんしたハッカーは改ざんしたBash Uploaderスクリプトから機密情報を収集した後に、数百のユーザのネットワークに侵入したと、ある調査官は報告しています。
Codecov社の発表の数日後、Codecov社のユーザであるHashiCorp社はソフトウェアリリースの署名と検証に使用していたGPG秘密鍵が、この攻撃の一部として公開されたことを明らかにしました。
今回のIOCの公開を受けて、Codecov社は影響を受けた関係者への個別通知を開始しており、今後数週間のうちにこのようなセキュリティ開示通知がさらに増えていくことが予想されます。
Comments