Кто-нибудь знает, как можно реализовать подход к доступу к классу из белого списка, подобный Google App Engine? - PullRequest
3 голосов
/ 03 марта 2010

Я пишу инфраструктуру контейнера, которая может динамически развертывать файл Jar, содержащий классы, разработанные пользователем, в контейнере, а затем с помощью веб-интерфейса выполнять определенные классы из файла Jar.

Все остальное хорошо установлено, включая проверки. Однако необходимо разрешить доступ только к определенным JDK и другим классам библиотеки из пользовательского класса. Понятно, что это связано с тем, что контейнеру понадобится гарантия того, что кто-то (умышленно или нет) запустит фрагмент кода Java, что приведет к «плохому» поведению.

Как правило, я нахожу материал в Google почти по всем темам. В таком случае я просто не смог: (

Ответы [ 2 ]

2 голосов
/ 03 марта 2010

Обратите внимание, что пользовательского загрузчика классов недостаточно для злоумышленника - он / она может получить доступ к родительскому загрузчику классов и загрузить через него ограниченные классы. В дополнение к пользовательскому загрузчику классов вы должны установить менеджер безопасности и отозвать разрешение getClassLoader (и, возможно, некоторые другие разрешения).

2 голосов
/ 03 марта 2010

см. Можно ли отказать в доступе к классу jvm, настроив файл java.policy?

предлагает использовать пользовательский загрузчик классов

...