java.lang.Object
java.security.Permission
java.security.BasicPermission
java.awt.AWTPermission
- すべての実装されたインタフェース:
Serializable,Guard
public final class AWTPermission extends BasicPermission
これは、AWTアクセス権のためのクラスです。
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オブジェクトを作成します。 -
メソッドのサマリー
クラスjava.security.BasicPermissionで宣言されたメソッド
equals, getActions, hashCode, implies, newPermissionCollectionクラスjava.security.Permissionで宣言されたメソッド
checkGuard, getName, toString
-
コンストラクタの詳細
-
AWTPermission
public AWTPermission(String name) 指定された名前を使用して、新しいAWTPermissionを作成します。 この名前は、「topLevelWindow」、「systemClipboard」など、AWTPermissionのシンボリック名です。アスタリスクを使用して、すべてのAWTアクセス権を示すこともできます。- パラメータ:
name- AWTPermissionの名前- スロー:
NullPointerException-nameがnullの場合。IllegalArgumentException-nameが空である場合。
-
AWTPermission
指定された名前を使用して、新しいAWTPermissionオブジェクトを作成します。 名前はAWTPermissionのシンボリック名です。actions文字列は現在使用されておらず、nullにしてください。- パラメータ:
name-AWTPermissionの名前actions-nullにすること- スロー:
NullPointerException-nameがnullの場合。IllegalArgumentException-nameが空である場合。
-