Соображения безопасности при размещении подписанных jar-файлов

Каковы последствия для безопасности при размещении подписанных jar-файлов в Интернете?

Насколько я понимаю, подписывание jar-файлов, когда пользователь выбирает автоматическое принятие сертификата, не имеет значения, был ли подписанный jar-файл из вашего домена, связан с другим доменом или размещен в другом домене. Например, Sun использует этот метод для поддержки OpenGL апплетов, предоставляя (размещенный) подписанный jar-файл, который ссылается на драйвер. Итак, есть ли какие-либо меры предосторожности, которые я должен предпринять как разработчик и подписывающий сертификат java-кода, который я делаю доступным?

вам нужно уточнить, как вы используете размещенные jar-файлы - это для апплетов или чего-то еще?

frankodwyer 15.12.2008 18:05

Внес некоторые пояснения. Вопрос не в том, как я использую подписанную банку, а как другие могут использовать мою подписанную банку, когда я ее сделаю.

hishadow 17.12.2008 12:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
841
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В зависимости от контекста вы полагаетесь на то, что диспетчер безопасности и соответствующая политика безопасности будут действовать правильно. Обычно, если вы не занимаетесь магией своего собственного загрузчика классов, вам не нужно делать ничего особенного. Если у вас есть контроль над политикой безопасности (например, в приложении java, а не в апплете), вы можете предоставить разрешения на вызов ваших jar-файлов только для определенного другого кода. Если вы полагаетесь на кодовую базу для различения кода, лучше использовать https-URL. Также неплохо ограничить доступ к банкам на веб-сервере, если вы знаете, откуда / кто должен поступать доступ, но, вероятно, это больше проблем, чем стоит.

Однако вы всегда должны помнить, что вызывающий ваш API может быть не вашим кодом и может быть вредоносным. Таким образом, при моделировании угроз вы должны подумать о том, что может сделать злоумышленник, если он каким-то образом получит доступ к функциям, предоставляемым API, предоставляемым вашим кодом. Предполагается, что менеджер безопасности проверяет стек вызовов, чтобы предотвратить подобные вещи. Но если, например, в вашей подписанной банке есть метод LaunchMissiles () ... вы можете спросить пользователя, уверены ли они в этом. И вы, возможно, захотите также аутентифицировать пользователя.

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

Другие вопросы по теме