public final class AWTPermission extends BasicPermission
AWTPermissionにはターゲット名が含まれますが、アクション・リストは含まれません。指定されたアクセス権を持つか、持たないかのどちらかです。
ターゲット名はAWTアクセス権の名前です(下記を参照してください)。命名規約は、階層的なプロパティ命名規約に従います。また、アスタリスクを使って、すべてのAWTアクセス権を表すこともできます。
AWTPermissionに指定できるターゲット名と、それで与えられるアクセス権により可能になる操作、および、そのアクセス権をコードに与えることにより生じるリスクを次の表に示します。
| アクセス権ターゲット名 | アクセス権により許可される操作 | このアクセス権を許可した場合のリスク |
|---|---|---|
| accessClipboard | AWTクリップボードとの間での情報の送信と取得 | 不正なコードにより機密情報が共有されるようになる可能性がある |
| accessEventQueue | AWTイベント・キューへのアクセス | 悪意のあるコードがAWTイベント・キューを取得し、そのイベント・キューの既存のイベントを覗いたり、削除したりする可能性がある。また、アプリケーションまたはアプレットが不正な振る舞いをするような偽のイベントを送信する可能性がある |
| accessSystemTray | AWT SystemTrayインスタンスへのアクセス | 悪意のあるコードによりシステム・トレイにトレイ・アイコンが追加される可能性がある。まず、ファイアウォールやウィルス対策などの既知のアプリケーションのアイコンに似たアイコンを使用して、安全でない操作を実行するようヘルプ・メッセージや吹出しメッセージでユーザーに指示する。次に、システム・トレイがトレイ・アイコンでいっぱいになり、それ以上トレイ・アイコンを追加できなくなる可能性がある。 |
| createRobot | java.awt.Robotオブジェクトの生成 | java.awt.Robotによって、コードがネイティブ・レベルのマウス・イベントおよびキーボード・イベントを生成し、画面を読み込むことができるようになる。悪意のあるコードがシステムを制御し、ほかのプログラムを実行させ、ディスプレイを読み込み、ユーザーからのマウスおよびキーボードによるアクセスを拒否できるようになる場合がある |
| fullScreenExclusive | フル・スクリーン排他モードへの切替え | フル・スクリーン排他モードに切り替え、低レベルのグラフィック・カード・メモリーへの直接アクセスを可能にする。プログラムが描画を直接制御するため、システムの動作妨害に使用できる。実装によっては、フル・スクリーン排他モードに切り替えるために使用したウィンドウのセキュリティ警告が表示されないことがある(このアプリケーションにはfullScreenExclusiveアクセス権が付与されていると仮定する)。ただし、この動作は、fullScreenExclusiveアクセス権を持っているアプリケーションにshowWindowWithoutWarningBannerアクセス権が自動的に付与されることを意味しない。フル・スクリーン以外のウィンドウにはセキュリティ警告が引き続き表示される |
| listenToAllAWTEvents | システム内のすべてのAWTイベントの待機 | AWTイベント・リスナーを追加後、悪意のあるコードがシステム内でディスパッチされるすべてのAWTイベントを調べられるようになる。この結果、パスワードなど、すべてのユーザーの入力を読み取ることができる。各AWTイベント・リスナーはイベント・キューのEventDispatchThreadのコンテキスト内から呼び出される。このため、accessEventQueueアクセス権も有効な場合、悪意のあるコードはシステム全体でAWTイベント・キューの内容を変更し、アプリケーションまたはアプレットを誤作動させ、システムを不安定にする可能性がある |
| readDisplayPixels | 画面からのピクセルの読込み | java.awt.Compositeなどのインタフェース、またはjava.awt.Robotクラスにより、任意のコードが画面上のピクセルを調べることができるようになる。このため、悪意のあるコードでユーザーの行動を覗くことができるようになる |
| replaceKeyboardFocusManager | 特定のスレッドにKeyboardFocusManagerを設定する
| SecurityManagerがインストールされている場合、呼出し側のスレッドには、現在のKeyboardFocusManagerを置き換えるために、このアクセス権が与えられていなければならない。アクセス権が与えられていない場合SecurityExceptionがスローされる
|
| setAppletStub | アプレット・コンテナ・サービスを実装するスタブを設定する | 悪意あるコードがアプレットのスタブを設定すると、予期しない動作またはアプレットへのサービス拒否が発生するおそれがある |
| setWindowAlwaysOnTop | ウィンドウの最前面プロパティを設定する: Window.setAlwaysOnTop(boolean) |
悪意のあるウィンドウが実物の完全なデスクトップのように見せて動作することがあるため、疑いを持たないユーザーがキャプチャされ、悪用されるおそれがある |
| showWindowWithoutWarningBanner | ウィンドウがアプレットによって生成されたことを警告するバナーを表示しないでウィンドウを表示する | この警告がない場合、アプレットがウィンドウを表示しても、ユーザーはこのウィンドウがアプレットに属することに気付かない。ユーザーは、ウィンドウがアプレットに属するかどうかに基づいて、セキュリティにかかわる決定を行う(たとえばダイアログ・ボックスでのユーザー名やパスワードの入力など)場合があるので、この警告バナーを無効にすると、適切でないウィンドウにユーザー名などの情報を入力してしまう可能性がある |
| toolkitModality | TOOLKIT_MODALダイアログの作成とTOOLKIT_EXCLUDEウィンドウ・プロパティの設定 |
アプレットからツールキット・モーダル・ダイアログが表示されるときに、ブラウザ内のほかのアプレットがすべてブロックされる。Java Web Startからアプリケーションを起動するときに、これらのアプリケーションから表示されたツールキット・モーダル・ダイアログによって、セキュリティ・ダイアログなどのウィンドウがブロックされる可能性もある。 |
| watchMousePointer | いつでもマウス・ポインタ位置に関する情報を取得する | 絶えずマウス・ポインタを監視することで、アプレットはユーザーが何を行っているか(つまり、マウスを画面の左下隅に移動することは、おそらくユーザーがアプリケーションを起動しようとしていることを意味する)を推測できる。キーボードでマウスの使用をエミュレートするために仮想キー・パッドを使用している場合、アプレットは何が入力されているかを推測できる |
| コンストラクタと説明 |
|---|
AWTPermission(String name)
指定された名前を使用して、新しい
AWTPermissionを作成します。 |
AWTPermission(String name, String actions)
指定された名前を使用して、新しい
AWTPermissionオブジェクトを作成します。 |
equals, getActions, hashCode, implies, newPermissionCollectioncheckGuard, getName, toStringpublic AWTPermission(String name)
AWTPermissionを作成します。この名前は、「topLevelWindow」、「systemClipboard」など、AWTPermissionのシンボリック名です。アスタリスクを使用して、すべてのAWTアクセス権を示すこともできます。name - AWTPermissionの名前NullPointerException - nameがnullの場合。IllegalArgumentException - nameが空である場合。public AWTPermission(String name, String actions)
AWTPermissionオブジェクトを作成します。名前はAWTPermissionのシンボリック名です。actions文字列は現在使用されておらず、nullにしてください。name - AWTPermissionの名前actions - nullにすること。NullPointerException - nameがnullの場合。IllegalArgumentException - nameが空である場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.