- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.net.NetPermission
-
- すべての実装されたインタフェース:
Serializable
,Guard
public final class NetPermission extends BasicPermission
このクラスは、各種のネットワーク・アクセス権のために使います。 NetPermissionは名前(「ターゲット名」とも呼ばれる)を持ちますが、アクション・リストは持ちません。ユーザーは名前付きアクセス権を持つ場合と、持たない場合があります。ターゲット名には、ネットワーク・アクセス権(下記を参照)の名前を指定します。 命名規約は、階層的なプロパティ命名規約に従います。 また、ターゲット名のあとにアスタリスクを指定し(「.」のあとに指定するか、単独で指定)、ワイルドカードによる照合を行うこともできます。 たとえば、「foo.*」や「*」はワイルドカード・マッチングを表しますが、「*foo」、や「a*b」は無効です。
NetPermissionに指定できるターゲット名と、それで与えられるアクセス権により可能になる操作、およびそのアクセス権をコードに与えることにより生じるリスクを次の表に示します。
アクセス権ターゲット名 アクセス権により許可される機能 このアクセス権を許可した場合のリスク allowHttpTrace HttpURLConnection内でHTTP TRACEメソッドを使用する機能。 HTTP TRACEを使用する悪意のあるコードは、他の方法ではアクセスできないHTTPヘッダー内のセキュリティ保護を必要とする情報(Cookieなど)にアクセスできる場合があります。 getCookieHandler 高レベルのセキュリティ保護を必要とする、HTTPセッションのCookie情報を処理するCookieハンドラを取得する機能。 悪意のあるコードは、Cookieハンドラを取得することで、高レベルのセキュリティ保護を必要とするCookie情報にアクセスできます。 Webサーバーのなかには、Cookieを使ってアクセス制御情報などのユーザーの非公開情報を保存したり、ユーザーの閲覧傾向を追跡したりするものもあります。 getNetworkInformation ローカル・ネットワークのインタフェースに関するすべての情報を取得する機能。 悪意のあるコードは、MACアドレスなどのネットワーク・ハードウェアに関する情報を読み取ることができます。これは、ローカルIPv6アドレスの作成に使用されることがあります。 getProxySelector ネットワーク接続の確立時に使用すべきプロキシの決定に使用されるプロキシ・セレクタを取得する機能。 悪意のあるコードは、ProxySelectorを取得することで、内部ネットワーク上のプロキシ・ホストやそのポートを発見することができます。すると、それらが攻撃の標的になる可能性があります。 getResponseCache ローカル応答キャッシュへのアクセス機能を提供する応答キャッシュを取得する機能。 ローカル応答キャッシュにアクセスできる悪意のあるコードは、セキュリティ保護を必要とする情報にアクセスできます。 requestPasswordAuthentication システムに登録されたオーセンティケータにパスワードを要求。 悪意のあるコードにより、このパスワードが盗まれる可能性があります。 setCookieHandler 高レベルのセキュリティ保護を必要とする、HTTPセッションのCookie情報を処理するCookieハンドラを設定する機能。 悪意のあるコードは、Cookieハンドラを設定することで、高レベルのセキュリティ保護を必要とするCookie情報にアクセスできます。 Webサーバーのなかには、Cookieを使ってアクセス制御情報などのユーザーの非公開情報を保存したり、ユーザーの閲覧傾向を追跡したりするものもあります。 setDefaultAuthenticator プロキシまたはHTTPサーバーが証明書を要求したときに使用する、認証情報の取得方法を設定する。 これにより、ユーザーからの入力を取得のときに、ユーザーの認証情報入力を監視し、それを盗むオーセンティケータが悪意のあるコードにより設定される可能性があります。 setProxySelector ネットワーク接続の確立時に使用すべきプロキシの決定に使用されるプロキシ・セレクタを設定する機能。 悪意のあるコードは、ネットワーク・トラフィックをある任意のネットワーク・ホストに転送するようなProxySelectorを設定できます。 setResponseCache ローカル応答キャッシュへのアクセス機能を提供する応答キャッシュを設定する機能。 ローカル応答キャッシュにアクセスできる悪意のあるコードは、セキュリティ保護を必要とする情報にアクセスしたり、応答キャッシュ内に不正なエントリを作成したりできます。 specifyStreamHandler URLの作成時にストリーム・ハンドラを指定。 悪質なコードが、それが実際にアクセスする場所から実効バイトを取得するストリーム・ハンドラを指定して、通常はアクセスすることのないリソース(file:/foo/fum/のように)を使ってURLを作成する可能性があります。 このようにしてシステムをだまして、あるクラスの出所を偽り、そのクラスのProtectionDomain/CodeSourceを作成させてしまう可能性があります。 - 導入されたバージョン:
- 1.2
- 関連項目:
BasicPermission
,Permission
,Permissions
,PermissionCollection
,SecurityManager
, 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 NetPermission(String name)
指定された名前でNetPermissionを新しく作成します。NetPermission(String name, String actions)
指定された名前でNetPermissionオブジェクトを新しく作成します。
-
メソッドのサマリー
-
クラス java.security.BasicPermissionで宣言されたメソッド
equals, getActions, hashCode, implies, newPermissionCollection
-
クラス java.security.Permissionで宣言されたメソッド
checkGuard, getName, toString
-
-
-
-
コンストラクタの詳細
-
NetPermission
public NetPermission(String name)
指定された名前でNetPermissionを新しく作成します。 名前は、NetPermissionのシンボリック名(「setDefaultAuthenticator」など)です。名前の末尾には「*」や「.*」を付けて、ワイルドカードを指定できます。- パラメータ:
name
- NetPermissionの名前。- 例外:
NullPointerException
-name
がnull
の場合。IllegalArgumentException
-name
が空である場合。
-
NetPermission
public NetPermission(String name, String actions)
指定された名前でNetPermissionオブジェクトを新しく作成します。 この名前はNetPermissionのシンボリック名で、actionsのStringのactionsは現在使用されないためnullにする必要があります。- パラメータ:
name
- NetPermissionの名前。actions
- nullでなければならない。- 例外:
NullPointerException
-name
がnull
の場合。IllegalArgumentException
-name
が空である場合。
-
-