概要 |
Windows では、「DLL ハイジャッキング」と呼ばれるセキュリティ脆弱性が発生する可能性があります。 これは、アプリケーションが意図した DLL ではなく悪意のある DLL を読み込むことで発生します。 このリスクは、システムが書き込み可能なディレクトリや権限のないユーザーによって制御されているディレクトリ内でアプリケーション依存の DLL を検索する場合に発生し、正当な DLL が同名の悪意のある DLL に置き換えられる可能性が高くなります。 Java アプリケーションにおけるこのリスクを軽減するため、Wrapper では、ネイティブライブラリによってロードされる DLL をシステムが検索する場所を設定できます。 検索対象を信頼できるディレクトリに限定することで、信頼できないライブラリがロードされるのを防ぐことができます。 次のプロパティを使用して、DLL の検索パスを指定できます。 注意これらの設定の範囲は Java アプリケーションのプロセスに限定されているため、設定された検索パスは子プロセスに継承されません。
さらに、これらの設定はネイティブ コードによってロードされるライブラリにのみ影響し、「system. |
wrapper.java.windows.dll.search.mode プロパティ |
||||||||
このプロパティを使用すると、DLL 検索をシステムのデフォルトの動作に任せるモードと、 [wrapper.java.windows.dll.search.path.<n>]プロパティで 指定されたパスのみに検索を制限するモードの2つのモードを設定できます。 2つのモードは次のトークンで表されます。
デフォルト値は「LEGACY」です。
注意「LEGACY」モードを使用する場合、Wrapper はシステムが DLL をロードするための デフォルトのメカニズムを使用することを許可します。 Windows XP Service Pack 2以降、Windows はアプリケーションの作業ディレクトリを除外する、より安全なDLL検索順序を採用しています。 この変更により、安全でない場所から悪意のある DLL がロードされるリスクが軽減されます。ただし、この検索順序には PATH 環境変数で 指定されたディレクトリも含まれることに注意が必要です。PATH はシステム全体で共有されることが多いため、 アプリケーションがライブラリをロードするには安全ではないディレクトリが含まれている可能性があります。 特定のディレクトリは、[wrapper.system.library.path.<n>]プロパティを使用してパスの先頭に追加できます。 対照的に、「RESTRICTED」モードを使用する場合、 システムはパス環境変数にリストされているディレクトリで DLL を検索しません。 パスには常に[wrapper.java.windows.dll.search.path.<n>]の値が 入力されていますが、これらのプロパティを通じて指定されたディレクトリは、DLL を検索するときにシステムでは使用されません。 したがって、「RESTRICTED」Lモードは、system32 パス、Java コマンドを含む ディレクトリ、および[wrapper.java.windows.dll.search.path.<n>]で指定されたパスに制限されます。 警告「RESTRICTED」モードを使用して、JVM またはアプリケーションによって予想されるディレクトリを 禁止する過度に制限的な設定として慎重になり、DLL のロード障害とランタイムエラーが発生する可能性がありますので注意してください。 |
wrapper.java.windows.dll.search.path.<n> プロパティ |
||||||||
このプロパティセットを使用すると、DLL がネイティブライブラリからロードされたときに検索するパスを設定できます。 これらのプロパティは[wrapper.java.windows.dll.search.mode]が「RESTRICTED」に設定される場合にのみ適用され、「LEGACY」に設定されている場合には無視されます。
[<n>]コンポーネント:
|
参照: ライブラリー |
|