信頼されていたツールが脅威の侵入経路に
セキュリティ企業Checkmarxへの侵害から始まったサプライチェーン攻撃は規模が拡大しており、4月27日にはBitwardenのコマンドラインインターフェース(CLI)ツールも侵害されたことが研究者によって確認された。この攻撃はTeamPCPと呼ばれるグループによるものとされており、1,000万人以上のユーザーと50,000以上の企業が認証情報の窃取や機密データの漏洩リスクにさらされている。
この事件が特に深刻なのは、その規模だけではない。標的そのものが問題だ。Bitwardenはプライバシーを重視する個人からセキュリティ専門家まで幅広く信頼されているパスワードマネージャーである。CLIバージョンは特に、パスワード管理を自動化されたワークフローやスクリプトに組み込む開発者の間で人気が高い。このツールが侵害されたということは、攻撃者が組織のインフラの中でも最も機密性の高い部分を流れる認証情報にアクセスできた可能性があることを意味する。
TeamPCPは、盗んだデータを利用して後続のランサムウェアキャンペーンを展開すると脅しているとされており、この事件はまだ終わっていない可能性がある。
サプライチェーン攻撃の仕組み
サプライチェーン攻撃は、あなたを直接標的にするのではない。代わりに、あなたが信頼して日々使用しているソフトウェアやサービスを標的にする。今回の場合、攻撃者はまず著名なアプリケーションセキュリティ企業であるCheckmarxを侵害し、そこからBitwardenのCLIツールにまで侵害の範囲を拡大した。
このアプローチが壊滅的なほど効果的なのは、信頼を悪用するからだ。信頼するベンダーからツールをインストールするとき、あなたはそのベンダーの開発・配布パイプライン全体を暗黙的に信頼している。そのチェーンのどこか一つのリンクが侵害されれば、悪意あるコードやアクセス権が、明らかな警告サインなしに直接あなたのもとに届く可能性がある。
このようなシナリオでは、開発者は特に価値の高い標的となる。開発者は一般的に、システムの高い権限、ソースコードリポジトリへのアクセス、クラウドインフラの認証情報、APIキーを持っている。開発者の日常的なワークフローに組み込まれているツールを侵害することで、攻撃者は組織全体にわたる広範なアクセス権を手に入れることができる。
あなたへの影響
BitwardenのCLIツール、特に自動化またはスクリプト化された環境で使用している場合は、そこを通過したすべての認証情報が侵害されている可能性があるものとして扱うべきだ。つまり、パスワードのローテーション、APIキーの失効、そして不審なアクティビティがないかアクセスログを監査することを意味する。
しかしこの事件は、多くの人々が自身のセキュリティ体制についてどのように考えているかという、より広い教訓も含んでいる。多くのユーザー、そして企業でさえも、プライバシーとセキュリティを守るための軸として少数のツールに依存している。ネットワークプライバシーのためのVPN、認証情報の安全のためのパスワードマネージャー、そして重要なアカウントへの二要素認証などだ。この攻撃は、そのような軸となるツールでさえも侵害される可能性があることを示している。
たとえばVPNは、ネットワークトラフィックの傍受からあなたを守る。しかし、VPNの認証情報を保存するために使用しているパスワードマネージャー自体が侵害された場合、VPNはあなたを守ることができない。これこそが、セキュリティ専門家が多層防御(ディフェンス・イン・デプス)を語る理由だ。複数の独立したコントロールを重ね合わせることで、一つの失敗が完全な露出につながらないようにするのだ。
この事件を踏まえ、全体的なセキュリティ体制を強化するための実践的な手順を以下に示す:
- 自動化されたワークフローやスクリプトでBitwardenのCLIを使用していた場合は、認証情報を直ちにローテーションする
- パスワードマネージャーのアカウントに、SMSコードだけでなくハードウェアセキュリティキーまたはアプリベースの二要素認証を有効にする
- ワークフロー内のどのツールが認証情報やインフラへの特権アクセスを持っているかを監査し、それらのツールがまだ必要かどうかを見直す
- 依存しているツールのベンダーセキュリティアドバイザリを監視し、セキュリティ企業の侵害を自身の露出を見直すシグナルとして扱う
- 一つの領域での侵害が攻撃者に他のすべてへの鍵を渡さないよう、機密性の高い認証情報を分離する
多層防御は任意ではない
BitwardenのCLIサプライチェーン攻撃は、どれほど評判の高い単一のツールであっても、無条件の安全保証として扱うことはできないという警告だ。Checkmarxはセキュリティ企業だ。Bitwardenはセキュリティツールだ。その両方が、攻撃者が巧みに悪用したチェーンの一部だった。
これはパスワードマネージャーを捨てたり、開発者向けセキュリティツールの使用をやめたりするべきだということではない。いつか個々のコンポーネントが失敗する可能性があるという前提でセキュリティ戦略を構築するべきだということだ。アカウント全体で強力でユニークな認証情報を使用する。認証方法を多層化する。利用しているスタックのベンダーがインシデントを報告したときは情報を把握しておく。
目標は完璧なセキュリティを達成することではない。それは不可能だ。目標は、一つの層が失敗したとき、次の層がすでに機能していることを確認することだ。特に認証情報を扱う自動化されたワークフローを中心に、今すぐ現在のセットアップを見直し、信頼しているツールの一つが自分に向けられた場合、攻撃者が何にアクセスできるかを自問してほしい。




