Internet Explorerの保護モード(2015-06-19)
JPCERT/CCでは、標的型攻撃などでInternet Explorer(以下「IE」といいます。)の脆弱性を悪用してシステムを乗っ取られる、あるいは、システム設定を変更される事例を度々確認しています。このような脆弱性を悪用した行為を防ぐ機能がIEには複数搭載されています。その1つが、保護モード(Protected Mode)と呼ばれる機能です。本報告では、保護モードの概要とその効果について紹介します。
保護モードの概要
保護モードは、IE 7から搭載された機能で、デフォルトで有効になっています。この機能は、Windows Vistaから導入された整合性レベル(Integrity Level)と呼ばれるアクセス制御機能を利用して実現されています。整合性レベルは、新たに追加されたアクセス制御機能で、次の要件が満たされるよう強制します。ファイルやレジストリエントリなどのリソースとプロセスには、あらかじめ整合性レベル(現在はHigh、Medium、Lowの3段階ですが将来的には拡張可能)が付与されます。そして、アクセス時には、アクセスするプロセスの整合性レベルが、アクセスされるリソースと同じかより高いことを必要とします。
コマンド・プロンプトから起動された通常のプロセスにはMediumの整合性レベルが付与されますが、保護モード下のIEプロセスには整合性レベル"Low"が付与されます。一般に子プロセスには親プロセスよりも低い整合性レベルしか付与されませんので、IEの脆弱性を悪用したマルウエアは、IEプロセスとして動作するにせよ、その子プロセスとして動作するにせよ、整合性レベルが"Low"のプロセスとして動作することになります。そのため、マルウエアがアクセスできるリソースが制限され、本来の動作が大きく阻害されることが期待されています。
保護モードによる被害抑制効果の検証
IEを保護モードで利用することにより、マルウエア感染による被害をどの程度まで抑えることが可能かを検証するため、Poison Ivyと呼ばれるマルウエアを例にとって、保護モード環境でマルウエアの挙動が制限される様子を調べてみました。結果は表1のとおりです。
表 1: Poison Ivyの攻撃機能と保護モード環境下の挙動
項番 | Poison Ivyの攻撃機能 | 保護モード下の挙動 |
1 | 感染端末の情報(ホスト名、IPアドレスなど)の送信 | 可能 |
2 | ファイル・フォルダ作成、削除、ダウンロード、プログラム実行 | 制限つきで可能 (整合性レベル"Low"のファイル、フォルダ (%TEMP%\Lowフォルダなど)のみ作成、削除可能) |
3 | レジストリエントリの作成、修正、削除、閲覧、検索 | 制限つきで可能 (レジストリエントリの作成、修正、削除はできない) |
4 | 起動プロセスの一覧取得、停止 | 可能 |
5 | インストールアプリケーション一覧取得 | 可能 |
6 | ウインドウ関連操作 (情報取得、イメージ取得、キー入力、表示、非表示、最大化、最小化) |
不可能 |
7 | スクリーンキャプチャ | 可能 |
8 | 任意のシェルコマンドの実行 | 制限つきで可能 (整合性レベル"Low"で実行される) |
マルウエアは、表1に示したように(項番2、3)、スタートアップフォルダ上にファイルを作成することも、レジストリエントリを作成することもできないので、自身を起動時に自動実行するための設定ができません。そのため、システム・シャットダウンによりマルウエアは消滅し、その後も当該端末上で永続的に動作し続けることはありません。しかし、それ以外の感染端末の情報の送信や、スクリーンキャプチャの取得など情報漏えいにつながる複数のマルウエアの機能は保護モード環境下であっても止められません。その理由は、整合性レベルで制限される操作はアクセスポリシーとしてリソース毎に設定されており、すべての操作(書き込み・読み込み・実行)が制限されているわけではないからです。表 2はアクセスポリシーとして設定可能な項目です。
表 2: アクセスポリシーに設定可能な項目一覧
設定 | 内容 |
No-Write-Up | 下位の整合性レベルからの書き込みを拒否 |
No-Read-Up | 下位の整合性レベルからの読み込みを拒否 |
No-Execute-Up | 下位の整合性レベルからの実行を拒否 |
例えば、メモ帳を使用してドキュメントフォルダ上に作成されたファイルは、デフォルトでは整合性レベルが"Medium"でアクセスポリシーには"No-Write-Up"だけが設定されます。そのため、整合性レベル"Low"で動作するマルウエアがこのファイルへ書き込もうとすると、失敗します。しかしながら、"No-Read-Up"は設定されていないため、ファイルの読み込みは可能であり、マルウエアによる情報窃取を防ぐことはできません。
おわりに
保護モードを使用することで、再起動後もマルウエアが永続的に動作し続けるリスクを、抑止できるようになります。しかし、マルウエアが行う情報窃取活動に対しては,保護モードによる抑止効果は不十分であることを示しました。
実は、IEには保護モードよりも強力な拡張保護モードという機能が存在します。拡張保護モードを使用することで、更なる被害防止が期待できるのです。次回は、この拡張保護モードについて紹介します。
分析センター 朝長 秀誠
参考情報
[1] Microsoft -保護モードの Internet Explorer の理解と機能
https://msdn.microsoft.com/ja-jp/library/bb250462%28v=vs.85%29.aspx