Предотвратить выполнение вредоносных действий Java-приложением

Мне нужно скачать и запустить файл Jar. Есть ли способ узнать, что он может / будет делать? Я имею ввиду какие у него разрешения? В частности, мне нужно знать, попытается ли он получить доступ к моим файлам и попытается ли он использовать мой Интернет. Когда я загружаю приложение для Android, я четко вижу, какие разрешения оно запрашивает. Есть ли что-то подобное для настольных приложений Java?


person Science Guy    schedule 23.06.2019    source источник


Ответы (1)


Короткий ответ - да, это так: Java Web Start (который теперь удален из Java 11) принудительно применял разрешения с помощью политики безопасности (которая все еще доступна).

Эти проверки все еще существуют и подробно описаны здесь: https://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html

Они, вероятно, редко используются в настольных приложениях без Java Web Start, но вы всегда можете попробовать.

person NoDataFound    schedule 23.06.2019
comment
Почему его удалили из Java 11? Какие есть альтернативы сейчас? - person Science Guy; 23.06.2019
comment
@ScienceGuy: oracle.com/.../java/javase / винит магазины приложений, что мне кажется слабым. (Обвинение браузеров в удалении апплета / плагина имеет больше смысла; это зависит от поддержки браузером.) См., Например, stackoverflow .com / questions / 46904795 / stackoverflow.com/questions/51981336/ stackoverflow.com / questions / 55930547 / openjdk-and-java-webstart. Но обратите внимание, что удаление «развертывания» (апплет / плагин и веб-запуск / JNLP) НЕ означает удаление SecurityManager. - person dave_thompson_085; 23.06.2019
comment
Ах, я понял. Ваш ответ находится на последнем шаге от полезного. Можете ли вы поделиться ресурсом, где я могу увидеть, как я могу использовать SecurityManager для предоставления ограниченных разрешений для файла Jar, лежащего на моем Dekstop? - person Science Guy; 23.06.2019
comment
Предоставленный. Я добавил, что все еще доступно. - person NoDataFound; 23.06.2019