前回は、ソフトウェアサプライチェーンが、ソフトウェアへの信頼を生み出し、依存している企業やユーザーに膨大なリスクを課している理由と仕組みを説明しました。また、ソフトウェアベンダーへの不正アクセスを通じた攻撃例を紹介しました。
大きく5つに分類されるサプライチェーン攻撃の手法について、今回は(2)サードパーティーアプリケーションと(3)オープンソースライブラリーを悪用した手法を詳しく取り上げます。
- ソフトウェアベンダーへの不正アクセス(第1回)
- サードパーティーアプリケーションの悪用(本稿)
- オープンソースライブラリーの悪用(本稿)
- 依存関係かく乱攻撃
- 敵対的乗っ取り
2.サードパーティーアプリケーションの悪用
一般的に使用されるサードパーティーアプリケーション(互換性のある非純正のアプリケーション)の「ゼロデイ」(パッチ未適用のセキュリティバグ)を標的とする攻撃も、ソフトウェアのサプライチェーンから想定されるリスクです。
通常サードパーティーアプリケーションには、ユーザー自身でコードをもたない既成のさまざまなソフトウェア、サービスなどが含まれます。組織が自らのビジネスに必要とするプロセスを全て開発することはもはや現実的ではなく、今日ではシステム全体がさまざまなサードパーティーアプリケーションの集合体といっても過言ではありません。
ソフトウェア開発は困難なプロセスであり、不完全な要件やリリース期限のプレッシャーにより、完璧とは言い難いソフトウェアが提供されるケースも多くあります。そして、多くのソフトウェア開発者は、プログラムに破滅的なエラーをもたらすバグの解消を優先します。そのため攻撃者は、破壊的なシステム障害を起こさないようなバグを探し当て、ユーザーの認証情報の窃盗や、データベース全体の読み取りなど、想定外の動作をソフトウェアに行わせます。
2021年3月のMicrosoft Exchange Serverに対する攻撃は、この種のソフトウェアサプライチェーン攻撃の最新事例に過ぎません。攻撃者はExchange Serverのバグを利用し、電子メールを読み取り、ウェブシェルをインストールしました。
ウェブシェルとは、攻撃者がウェブサイトにアップロードする、追加のウェブページを意味します。攻撃者はサーバー上のウェブページを改ざんすることで、ウェブシェルを既存のページに組み込めるようにします。そして、追加・変更されたページ内のコードは、ウェブサーバー上でOSコマンドの実行、システム内のファイルの読み取り、マルウェアのインストールなどを可能にします。ウェブシェルは、ウェブサーバーへの追加のネットワーク接続を確立する必要なく、バックドアと同様に機能します。
この問題を複雑化させる点として、公開されたソフトウェアの脆弱性を攻撃者に次々と悪用される点が挙げられます。一方、パッチの開発と公開は慎重に行われる上、利用可能になった段階で全ての場所に適用できるケースもまれです。こうした溝を埋めるための対策として、ウェブアプリケーションファイアウォール(WAF)の導入が挙げられます。
しかし、いかに優れたWAFでも、最新シグネチャーの開発・試験・導入・更新や、機械学習モデルの調整、異常状態を検知し将来阻止する必要性を手動で確認するなど、適用には時間がかかります。さらに、こうした「仮想パッチ」は、導入前にそれぞれの企業の環境で試験を行い、望まない副作用が発生しないか確認する必要があります。
ゼロデイ攻撃を従来の対策で回避することは、ますます困難になっています。例えば、Zoho Manage Engine Desktop Serverのゼロデイ脆弱性は、公開から数日以内には広く悪用されました。
