この文書は、米国 IBM 社の資料 ("Java Applet Signatures and the Execution Control List") を翻訳した参考文書です。日本語環境での検証は行っておりませんのでご注意ください。
問題 (Problem)
操作制御リスト(ECL)と Java アプレットの Notes 署名に関する潜在的なセキュリティの問題が、David Gloed 氏より IBM Lotus に報告されました。
管理者もしくはユーザーは ECL によって、メール爆弾、ウィルス、トロイの木馬、意図しないアプリケーション侵入といった脅威から、データを防御することができます。ECL は、Notes 署名を使用してプログラムやコードの実行を許可するかどうかをユーザーが制御できるメカニズムを提供しています。ところが、ある限られた状況下において、署名なしのアプレットが署名されることがあります。
攻撃者がこの脆弱性を利用するためには、下記の手順を踏む必要があります。
以下の例では下記のように定義します。
- 攻撃者(最初の送信者)
- User 1(最初の受信者 - Lotus Notes ユーザー)
- User 2(転送されたメッセージの受信者 - Lotus Notes ユーザー)
- 攻撃者が作成した Java アプレットを Internet 経由 で User 1 に送信します。この時点では Java アプレットは Notes 署名を持ちません。ELC が適切に設定されていれば(例:Default と署名なしに "No Access" を設定)、User 1 が文書を開いた段階で「セキュリティ警告」が表示されます。
- User 1 が Lotus Notes で User 2 にメールを転送します。この時点で、署名なしだったアプレットに User 1 の署名が付与されます。
- User 2 はユーザープリファレンスで「Java アプレットを有効にする」を有効にしている必要があります。
- さらに、User 2 の ECL で User 1 に対して Java を実行するのに適切な権限を許可している必要があります。
- User 1 が Java アプレットに対して信頼された署名者の場合、Java アプレットは User 2 の ECL 内で設定された権限にしたがって実行されます。
解決策 (Solution)
本件は問題報告番号 TMDS6W826S / TMDS6W82A5 として Lotus Quality Engineering に報告されています。
推奨される回避策
この潜在的な問題を防ぐための方法として、2つのオプションが考えれられます。
(オプション 1)
「Java アプレットを有効にする」を無効にする
Lotus Notes クライアントのメニューから、[ファイル] - [プリファレンス] - [ユーザー] を選択します。
ユーザープリファレンスの [基本] パネルを開き、「追加のオプション」から「Java アプレットを有効にする」のチェックを外します。
これにより、Lotus Notes クライアントの中で Java アプレットが実行されなくなります。
注:お客様の組織において Notes データベース内で使用される Java アプレット(Java エージェントではありません。Java エージェントはワークステーションのセキュリティに付与された権限に基づいて動作します。)を開発していない場合、Lotus Notes の中で Java アプレットを有効にする必要性はありません。
(オプション2)
すべての Java アプレットに対して信頼された署名を使用する
まず最初に Java アプレットを署名するのに使用する Notes ID を作成します。この ID は実在のユーザー用とは別に用意することを推奨します。"Java Applet Signature" や "xxx Application Signing" といった名前で、アプリケーション署名用の ID として登録することを推奨します。
次に、クライアント ECL の設定を更新します。ポリシーもしくはユーザー個別に設定することができます。
すべてのユーザーの ECL を更新する方法
セキュリティポリシーのシステム管理 ECL を使用すると、ECL を中央管理することができます。
- Domino ディレクトリを開き、[ポリシー] - [設定] を選択します。
- セキュリティポリシーを開き、[実行コントロールリスト] タブを表示します。
- システム管理 ECL を編集し、"Java アプレットセキュリティ" に対して必要な変更をします。
- [追加] ボタンをクリックして信頼された署名者の名前を追加し、[OK] ボタンをクリックします。
- 4 で追加した信頼された署名者に対して、任意のアクセス権限を設定します。
詳細については、Lotus Domino Administrator ヘルプの「クライアント ECL を配布、更新する」や「システム管理 ECL」をご参照ください。
ユーザーごとに ECL を更新する方法
- メニューから [ファイル] - [セキュリティ] - [ユーザーセキュリティ] を実行します。
(Macintosh OS X では [Notes] - [セキュリティ] - [ユーザーセキュリティ])
- [実行制御] - [アプレット] パネルを開きます。
- アプレットの署名者リストに、信頼できる署名者の名前のみ表示されていることを確認します。
- [追加] ボタンをクリックして信頼された署名者の名前を追加し、[OK] ボタンをクリックします。
- 4 で追加した信頼された署名者に対して、任意のアクセス権限を設定します。
補足情報 (Supporting Information)
本事象はセキュリティ問題に該当しているため、問題の再現手順など詳細に関するお問い合わせについて、ここに掲載された以上の情報提供を行っておりません。セキュリティ保全の観点による措置のため、あらかじめご了承いただきますようお願いします。
重要度、発生頻度など当事象を評価する情報については、以下の CVSS 評価値を利用ください。CVSS の評価値の読み方については、「共通脆弱性評価システム CVSS V2 概説」をご参照ください。
| Security Rating using Common Vulnerability Scoring System (CVSS) v2 |
| CVSS Base Score: < 5.8 > Impact Subscore: < 4.9 > Exploitability Subscore: < 8.6 > CVSS Temporal Score: < 5.0 > CVSS Environmental Score: < Undefined* > Overall CVSS Score: < 5.0 > |
Base Score Metrics:
|
Temporal Score Metrics:
|
| References: Complete CVSS Guide 共通脆弱性評価システム CVSS V2 概説 脆弱性の深刻度評価の新バージョンCVSS v2への移行について CVSS Caluculator: (英語) Online Calculator (日本語) Online Calculator |
* Environmental Score(環境評価基準)は、製品利用者の利用環境も含め、最終的な脆弱性の深刻度を評価する基準です。攻撃を受けた場合の二次的な被害の大きさや、組織での対象製品の使用状況といった基準で評価し、CVSS 環境値 (Environmental Score) を算出します。これは、お客様自身が脆弱性への対応を決めるために評価する基準です。
関連文書 (Related Document)
掲載内容は2008年2月20日現在の情報です。内容は事前の予告なく変更することがあります。 IBM、IBM ロゴおよび ibm.com は、世界の多くの国で登録された International Business Machines Corporation の商標です。他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US) をご覧ください。
