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
が空である場合。
-