- 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
に指定できるターゲット名と、それで与えられるアクセス権により可能になる操作、および、そのアクセス権をコードに与えることにより生じるリスクを次の表に示します。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
public AWTPermission(String name, String actions)
指定された名前を使用して、新しいAWTPermission
オブジェクトを作成します。 名前はAWTPermission
のシンボリック名です。actions文字列は現在使用されておらず、null
にしてください。- パラメータ:
name
-AWTPermission
の名前actions
-null
にすること。- 例外:
NullPointerException
-name
がnull
の場合。IllegalArgumentException
-name
が空である場合。
-
-