2021年は、ソフトウェアサプライチェーン攻撃の年になるのでしょうか。2020年末、商務省や財務省、国土安全保障省といった米国の政府機関が、悪意のあるバックドア(PC内に作る正規のものではない侵入ルート)を通した不正アクセスを受けました。このバックドアは、SolarWindsが提供するネットワーク管理ソフトウェアに、秘密裏に仕込まれていました。
数週間後、大惨事の再発を防ぐため、多数の企業がMicrosoft Exchange Serverの緊急ゼロデイパッチの導入に奔走しました。これらは、ユーザーの認証情報の窃盗、データのアクセスや改ざん、ビットコインのマイニングソフトウェアのインストール、インフラストラクチャー内の他のサーバーに水平展開することで、さらに価値あるデータの入手を試みたり、もしくは踏み台として他のコンポーネントへの足掛かりにしたりするといった悪意のある目的を遂行するために利用されたものです。ソフトウェアのバグやバックドアは、それまで知られていなかった「ゼロデイ脆弱性」の一例なのです。
最近注目が集まっているものの、ソフトウェアのサプライチェーン攻撃は、新しいものでも驚くべきものでもありません。SolarWindsへのハッキングが公表される2年前(2018年)には、情報通信技術のサプライチェーンにおける脅威について勧告を行うため、米国国土安全保障省(DHS)が官民共同パートナーシップを発足しています。また、2019年より、米国国家防諜安全保障センター(NCSC)は毎年4月を「国家サプライチェーン保全月間」と定めています。これは、民間と政府のサプライチェーンへの脅威の高まりに対する認識の向上と、これらリスクの軽減に役立つリソースの提供を目的としています。
1999年に発足され、共通脆弱性識別子(CVE:Common Vulnerabilities and Exposures)システムを管理するMitre Corporationは、これまで15万件以上の一般的に使用されるソフトウェアやコンポーネントの脆弱性を記録しています。このうち1万1500件以上はSolarWindsやExchange Serverのような極めて深刻な脆弱性です。そして、これらのCVEは、セキュリティ研究者の意図的な発表であれ、セキュリティ侵害による予期せぬ結果であれ、公開されたものに過ぎず、ソフトウェアの脆弱性の大部分は未公開の状態です。
ソフトウェアのサプライチェーンは、ソフトウェアに依存する企業やユーザーに対し、膨大なリスクを課しています。犯罪者、ハクティビスト(社会的・政治的な主張を目的としたハッキング活動)、国家支援型スパイグループなどもこのことを周知しており、攻撃者は私たちのソフトウェアサプライチェーンに対する信頼を悪用します。本連載では、大きく5つに分類されるサプライチェーン攻撃の手法について詳しく検証していくほか、現状の課題と対策について説明します。
- ソフトウェアベンダーへの不正アクセス(本稿)
- サードパーティーアプリケーションの悪用
- オープンソースライブラリーの悪用
- 依存関係かく乱攻撃
- 敵対的乗っ取り
1.ソフトウェアベンダーへの不正アクセス
ソフトウェアベンダーへの不正アクセスは、恐らくは最も高度なサプライチェーン攻撃手法です。攻撃者は標的とするベンダーのソフトウェアを使用する企業、インストールされている場所、アクセスしたい情報、権限設定、システムの種類などを把握するため、まず偵察を行います。
次に、ソーシャルエンジニアリングやフィッシングなどの手段で、ソフトウェアベンダーの従業員の認証情報を取得します。ソフトウェアベンダーのインフラストラクチャー内に足がかりを確保した後、攻撃者はソフトウェアのビルド環境へ水平展開、エンドユーザーに提供するアプリケーションのソースコードを変更しようと試みます。
そして、攻撃者はバックドアまたは遠隔の接続ポイントとして機能するマルウェアを設置します。マルウェアに感染したソフトウェアがユーザーの環境にインストールされると、攻撃者はこのバックドアコードを通し、被害者のサーバーとのネットワーク接続を直接確立、OSコマンドを実行、エンドポイント保護の無効化、さらなるマルウェアのダウンロード、機密情報の読み取りなどが可能となります。SolarWindsのケースでは、テストコードの挿入から、最終的に感染したアップデートが多数の顧客に配布されるまで、最低6カ月を要したと推定されます。
ソフトウェアベンダーのプログラムに組み込まれたバックドアは、セキュリティ診断ツール、ウェブアプリケーションファイアウォール、エンドポイント保護など、従来型の手段での検知は困難です。攻撃者は、企業の一般的な防御戦略を熟知しています。彼らのマルウェアコードは、目的を悟られないよう入念に記述されており、セキュリティ診断ツールでの検知は難しくなっています。バックドアコードは、外部からの刺激では起動しないことが多く、不正アクセスを受けたアプリケーションへの流入トラフィックを監視しても検知することは不可能です。悪意のあるコードは通常、エンドポイント保護機能を無効化・迂回するよう設計されています。
次回は、(2)サードパーティーアプリケーションと(3)オープンソースライブラリーを悪用した攻撃手法についてご紹介します。
- Chris Prevost
- Head of Runtime Security Solutions Architecture Impervaでは、最新技術に携わるグループのリーダーを務めている。Imperva入社以前は、キャリアの大半を最先端のスタートアップ企業で過ごし、さまざまな要職を歴任した。多様なアプリケーションやデータのセキュリティ技術に深く精通しており、25年に渡ってソフトウェアの技術を紹介するなど、他の人々と新しいアイデアを交換することに重きを置いている。