Дубин В.card.quoted4 сағат бұрын
выполнение ненадежного кода является частью нормальной работы. Например, браузер с поддержкой Java может запускать апплеты, загружая их из ненадежных источников в интернете. Одним из первых действий такого браузера должна стать установка менеджера безопасности. С этого момента менеджер безопасности будет ограничивать соответствующие виды доступа. У приложения появится возможность установить оптимальный уровень доверия перед выполнением произвольного блока кода. После того как менеджер безопасности будет установлен, его уже нельзя заменить.

Менеджер безопасности работает в сочетании с контроллером доступа, который позволяет реализовать политики безопасности на высоком уровне посредством редактирования файла декларативной политики безопасности. Политики доступа могут быть настолько простыми или сложными, насколько того требует конкретное приложение.

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

Целостность менеджера безопасности зависит от защиты, предоставляемой более низкими уровнями модели безопасности Java. Без гарантий, предоставляемых верификатором и загрузчиком классов, высокоуровневые предположения относительно безопасности системных ресурсов не имеют смысла. Безопасность, предоставляемая верификатором байт-кода Java, означает, что интерпретатор не может быть поврежден или фальсифицирован, а код Java будет использовать компоненты именно так, как следует. В свою очередь, это означает, что загрузчик классов может гарантировать, что приложение использует фундаментальные системные классы Java, а все обращения к базовым системным ресурсам могут осуществляться только через эти классы. При этих ограничениях контроль над такими ресурсами может быть централизован на высоком уровне с помощью менеджера безопасности и политики, определяемой пользователем.
  • Комментарий жазу үшін кіру немесе тіркелу