Vue d'ensemble |
|
Sous Windows, une vulnérabilité de sécurité appelée « DLL hijacking » peut se produire lorsqu'une application charge une DLL malveillante au lieu de celle prévue. Ce risque survient lorsque le système recherche des DLL dont l'application dépend dans des répertoires accessibles en écriture ou contrôlés par des utilisateurs non autorisés, ce qui permet de remplacer une DLL légitime par une DLL malveillante du même nom. Pour atténuer ce risque pour votre application Java, le Wrapper vous permet de configurer les emplacements où le système recherchera les DLL chargées par les bibliothèques natives. Restreindre la recherche aux répertoires de confiance permet d'éviter le chargement de bibliothèques non fiables. Les propriétés suivantes peuvent être utilisées pour configurer les chemins de recherche des DLL : NOTELa portée de ces paramètres est limitée au processus de l'application Java, ce qui signifie que les chemins de recherche configurés ne sont pas hérités par les processus enfants.
De plus, ces paramètres n'affectent que les bibliothèques chargées par du code natif, et non celles chargées explicitement par Java à l'aide de méthodes telles que system. |
Propriété wrapper.java.windows.dll.search.mode |
||||||||
Cette propriété permet de configurer deux modes : l'un laissant la recherche des DLL au comportement par défaut du système, et l'autre restreignant la recherche aux seuls chemins spécifiés par les propriétés wrapper.java.windows.dll.search.path.<n>. Les deux modes sont représentés par les jetons suivants :
La valeur par défaut est LEGACY.
NOTELorsque le mode LEGACY est utilisé, le Wrapper permet au système d'utiliser son mécanisme par défaut pour le chargement des DLL. À partir de Windows XP Service Pack 2, Windows suit un ordre de recherche de DLL plus sécurisé qui exclut le répertoire de travail de l'application. Cette modification contribue à réduire le risque de chargement de DLL malveillantes à partir d'emplacements non sécurisés. Toutefois, il est important de noter que l'ordre de recherche inclut toujours les répertoires spécifiés dans la variable d'environnement PATH. Comme PATH est souvent partagé à l'échelle du système, il peut inclure des répertoires qui ne sont pas sûrs pour le chargement de bibliothèques par l'application. Des répertoires spécifiques peuvent être ajoutés au début de PATH à l'aide des propriétés wrapper.system.library.path.<n>. En revanche, lorsque le mode RESTRICTED est utilisé, le système ne recherche pas les DLL dans les répertoires listés dans la variable d'environnement PATH. Bien que PATH soit toujours renseigné avec les valeurs de wrapper.java.windows.dll.search.path.<n>, les répertoires spécifiés via ces propriétés ne sont pas utilisés par le système lors de la recherche de DLL. Le mode RESTRICTED est donc limité au chemin system32, au répertoire contenant la commande Java, et aux chemins spécifiés avec wrapper.java.windows.dll.search.path.<n>. AVERTISSEMENTLorsque vous utilisez le mode RESTRICTED, soyez prudent, car des paramètres trop restrictifs qui excluent des répertoires attendus par la JVM ou l'application peuvent entraîner des échecs de chargement de DLL et des erreurs d'exécution. |
Propriétés wrapper.java.windows.dll.search.path.<n> |
||||||||
Cet ensemble de propriétés vous permet de configurer les chemins de recherche lorsque des DLL sont chargées à partir de bibliothèques natives. Ces propriétés s'appliquent uniquement lorsque wrapper.java.windows.dll.search.mode est défini sur RESTRICTED et sont ignorées lorsque LEGACY est utilisé. Composant <n> :
Chaque élément a un nom de propriété commençant par « wrapper.
|
Référence : Bibliothèque |
|








