Плагин Java огромный риск безопасности? Как уберечь плагин Java от повышения привилегий?

2197
Johannes Weiss

Установка обычного Java-плагина - ИМХО реальная угроза безопасности для не-айтишников. Обычно Java-апплеты запускаются в песочнице, и апплет не может сделать ничего вредного для вашего компьютера.

Однако, если апплету нужно сделать что-то вроде доступа только для чтения к вашей файловой системе, например, загрузить изображение, вы должны предоставить ему больше привилегий. Обычно это нормально, но я думаю, что не все знают, что вы даете апплету те же привилегии для вашего компьютера, что и у вашего пользователя! И это все, что Java просит вас:

Вопрос безопасности Java

Это выглядит так же «вредно», как самозаверяющий SSL-сертификат на случайной странице, где не передаются конфиденциальные данные. Пользователь будет нажать на Run!

Вы можете попробовать это дома, используя JyConsole, это Jython (Python на Java)!

Просто введите код Python, например

import os os.system('cat /etc/passwd') 

или хуже, НЕ ТИП В ЭТОМ КОДЕКСЕ НА ВАШЕМ КОМПЬЮТЕРЕ !!!

import os os.system('rm -rf ~') 

...

Кто-нибудь знает, как можно отключить возможность повышения привилегий? И, между прочим, кто-нибудь знает, почему SUN отображает только диалоговое окно, столь же безвредное, как показано выше (диалоговое окно самозаверяющего SSL-сертификата из Firefox 3 и выше гораздо понятнее!)?

Живой образец с моего компьютера:

образец jyconsole

4

1 ответ на вопрос

3
Tom Hawtin - tackline

Абсолютно не официальный ответ

Начиная с 6u10, файлы могут быть прочитаны апплетами с использованием API java.jnlp. Пользователь сначала получает диалоговое окно с предупреждением (которое я хотел бы удалить), а затем браузер, открывающий файлы. Апплет может только читать файл, который пользователь выбирает для него через средство выбора файлов.

В настоящее время вы можете запретить пользователям доверять «контенту», перейдя в панель управления Java и выбрав вкладку «Дополнительно». Первый флажок в разделе «Безопасность» в настоящее время «разрешает пользователю предоставлять разрешения для подписанного содержимого @». Второй флажок «Разрешить пользователю предоставлять разрешения для содержимого от ненадежного органа».

Острота диалогового окна безопасности должна примерно соответствовать аналогичным показателям аналогичных игроков отрасли, таких как Microsoft ActiveX и Adobe AIR.

(Раскрытие: я работаю в Java SE Security.)

Спасибо за ваш ответ, Том, я пробовал эту настройку ControlPanel, и она отлично работает! Не думаете ли вы, что «Разрешить пользователю предоставлять разрешение на контент от ненадежных прав» должно быть ложным по умолчанию? Считаете ли вы фактическое значение по умолчанию огромной проблемой безопасности (как и я)? Johannes Weiss 14 лет назад 1
Я хотел бы, чтобы это было по умолчанию. Я думаю, что мы почти достигли того уровня, когда сертификаты без EV могут быть автоматически отклонены по умолчанию. Однако с практической точки зрения этого просто не произойдет. Сначала браузеры, и мы, вероятно, последуем за толпой (без обещаний). Tom Hawtin - tackline 14 лет назад 0
Хорошо, но с помощью JAAS должна быть возможность дать апплету «некоторые» разрешения, такие как «чтение файлов с моего рабочего стола». Или «доступ только для чтения» к моему компьютеру, нет? Реальная ситуация такова: разрешить все или вообще ничего. Johannes Weiss 14 лет назад 0
Возможно, такую ​​функцию можно добавить в плагин / WebStart / JNLP. Это не существует в данный момент. Если добавить такую ​​функцию, уровень разрешений безопасности Java будет немного низким. Очевидно, что безобидное разрешение легко использовать со случайными битами функциональности для формирования полной атаки. На самом деле вы хотели бы использовать специально разработанный API в модели javax.jnlp. Tom Hawtin - tackline 14 лет назад 1

Похожие вопросы