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, newPermissionCollection
checkGuard, getName, toString
public 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, 2013, Oracle and/or its affiliates. All rights reserved.