モジュール java.desktop
パッケージ 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 いつでもマウス・ポインタ位置に関する情報を取得する 絶えずマウス・ポインタを監視することで、アプレットはユーザーが何を行っているか(つまり、マウスを画面の左下隅に移動することは、おそらくユーザーがアプリケーションを起動しようとしていることを意味する)を推測できる。 キーボードでマウスの使用をエミュレートするために仮想キー・パッドを使用している場合、アプレットは何が入力されているかを推測できる
    関連項目:
    BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager, 直列化された形式
    • コンストラクタの詳細

      • AWTPermission

        public AWTPermission​(String name)
        指定された名前を使用して、新しいAWTPermissionを作成します。 この名前は、「topLevelWindow」、「systemClipboard」など、AWTPermissionのシンボリック名です。アスタリスクを使用して、すべてのAWTアクセス権を示すこともできます。
        パラメータ:
        name - AWTPermissionの名前
        例外:
        NullPointerException - namenullの場合。
        IllegalArgumentException - nameが空である場合。
      • AWTPermission

        public AWTPermission​(String name,
                             String actions)
        指定された名前を使用して、新しいAWTPermissionオブジェクトを作成します。 名前はAWTPermissionのシンボリック名です。actions文字列は現在使用されておらず、nullにしてください。
        パラメータ:
        name - AWTPermissionの名前
        actions - nullにすること。
        例外:
        NullPointerException - namenullの場合。
        IllegalArgumentException - nameが空である場合。