Возможно ли, чтобы файл JAR Java повредил вашу систему, и как вы можете проверить, что он делает? - PullRequest
4 голосов
/ 23 января 2011

Я хочу оценить программное решение, в котором несколько человек представили файлы JAR для выполнения задачи в Windows.

Можно ли проверить, выполняет ли JAR-файл какие-либо дополнительные нежелательные действия, помимо тех, которые, как он утверждает, выполняет на вашем компьютере?

Ответы [ 5 ]

2 голосов
/ 23 января 2011

Во-первых, вы можете использовать набор JVM с SecurityManager , чтобы запустить приложение так, чтобы оно могло иметь ограниченный доступ к чувствительным функциям.

Вы также можете настроить «песочницу», чтобы у jar не было разрешений вне песочницы ... вы можете использовать chroot или аналогичный инструмент в среде linux / unix.

2 голосов
/ 23 января 2011

1. Вы можете использовать программное обеспечение от Sysinternals: http://technet.microsoft.com/en-us/sysinternals/bb842062

Вы можете видеть, как программа пишет или удаляет что-то с жесткого диска с помощью HardMon, или отслеживать любые изменения с помощью RegMon ... Посетите их сайт, у них много программ, и вы можете отслеживать практически все!

2. Или вы можете установить Sandboxie: http://www.sandboxie.com/

и затем запустите вашу программу в песочнице («виртуальная файловая система»). Когда вы запускаете программу внутри песочницы, вы можете видеть, какие файлы сделала программа, и лучше всего то, что любые изменения, внесенные программой, будут отменены, когда она существует, поэтому она не сможет нанести вред вашей системе. :)

3. Также вы можете попробовать декомпилировать файл JAR: http://www.google.hr/search?sourceid=chrome&ie=UTF-8&q=java+decompiler

1 голос
/ 23 января 2011

Да и Нет. По умолчанию java-программы могут делать то же, что и любая нативная программа в вашей системе.Это включает в себя удаление и замену любого файла, к которому он имеет доступ, в зависимости от вашей операционной системы и ваших привилегий пользователя, это может повлиять на критические системные файлы.

Можно ограничить , что могут делать Java-приложения,апплеты и программы веб-запуска обычно защищены таким образом.Кроме того, вы можете запустить любую программу от имени другого пользователя / пользователя с ограниченными правами или в изолированной программной среде, чтобы ограничить ущерб, который она может нанести.

Если вы не доверяете библиотеке / программе, всегда запускайте ее в одной из указанных выше ограниченных сред,Может произойти сбой, если он сделает что-то, чего не должен делать, но не сможет нанести какой-либо ущерб.

0 голосов
/ 25 марта 2011

Я попробовал решение от jensign.com , и похоже, что оно ограничивает почти все.Приложение .jar, которое я использовал для тестирования, даже не смогло загрузить веб-сайт.Однако я не являюсь экспертом в этой области, поэтому не могу сказать, является ли это 100% безопасным решением.

Приложение JAR'd может быть запущено в полностью ограниченных условиях песочницы (очень похожев стандартную изолированную программную среду безопасности Java-апплета):

     java -jar -Djava.security.manager PropsFrame.jar

cite from jensign.com

0 голосов
/ 23 января 2011

Попробуйте декомпилятор, такой как Java Decompiler: http://jd.benow.ca/

Он декомпилирует файл .jar и показывает вам источник, хотя имейте в виду, что он может быть защищен авторским правом: alt text

Кстати, почему бы вам не попросить их предоставить исходный код, а не только файлы .jar?

По сути, файлы .jar похожи на сжатые zip-файлы, и я считаю, что даже WinRAR может открывать файлы .jar. Цитата с их сайта:

Файл архива Java (сжатый файл для апплетов и связанных файлов) (.JAR)

Сокращение от Java Archive, формат файла используется для комплектации всех необходимых компонентов с помощью Java-апплета. JAR-файлы упрощают загрузка апплетов, так как все компоненты (файлы .class, изображения, звуки и т. д.) могут быть упакованы в отдельный файл. Дополнительно JAR поддерживает сжатие данных, которое дальнейшее сокращение времени загрузки.

Поддержка файлов JAR такая же, как и в ZIP поддержка файлов. JAR = ZIP + манифест. Виртуальная машина Microsoft поддерживает несжатый и сжатые уровни JAR 0 и 1, но JAR без подписи.

WinRAR обеспечивает основные операции для JAR-файлы, созданные другими инструментами: просмотр содержимое, извлекать файлы, показывать комментарии и архивировать информацию.

Вы можете использовать функцию преобразования в конвертировать файлы .jar в формат .rar.

Вам не нужно иметь никаких внешних программы для обработки этих форматов.

После извлечения с помощью WinRAR вы можете просмотреть исходный код, следуя этой ссылке в качестве альтернативного метода JD.

...