Вопрос№35.Безопасность в .NET. Безопасность доступа кода. Поддержка безопасности в .NET Framework. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос№35.Безопасность в .NET. Безопасность доступа кода. Поддержка безопасности в .NET Framework.



Безопасность является краеугольным камнем.NET. На всех этапах создания и выполнения программ происходят самые различные проверки - от проверки прав на доступ к коду до разрешений на ресурсы. Вот некоторые из типов проверок безопасности: 1. Безопасность типов. Программы, гарантирующие безопасность данных, обращаются только к тем участкам памяти, которые были выделены для них. Доступ к объектам осуществляется только через специальные интерфейсы, в которые встроены проверка безопасности. 2. Подлинность кода. Загрузчик классов сохраняет информацию об исходных текстах всех классов, которые были загружены. 3. Разрешения на доступ к ресурсам. Ресурсы обычно ассоциированы с системой. В качестве ресурсов могут выступать файлы, сетевые соединения, право вызова неуправляемых API (unmanaged APIs). 4. Декларативная безопасность. Данный механизм предоставляет возможность встраивать проверки безопасности прямо в код путем аннотации классов, полей или методов. 5. Императивная безопасность. Обычный код внутри разрабатываемого метода, который проверяет права на данную операцию во время запуска. Такие проверки важны для доступа к файлам, пользовательскому интерфейсу и т.п.Другие модели обеспечения безопасности: 1.Модель политик доступа 2.Модель ролей Модель политик доступа. Политики позволяют автоматически присваивать коду определенные привилегии, основываясь на том, откуда были получены исходные тексты данного приложения. Пользователи могут изменять эти политики. Модель ролей. Эта модель безопасности проверяет, в какой роли выступает пользователь и разрешает/отказывает в доступе в зависимости от этого. Модель безопасности.NET Framework. Модель безопасности.NET Framework основывается на безопасности доступа кода (Code Access Security, CAS) и ролевой безопасности. Под безопасностью доступа кода подразумевается разрешение на использование защищенных данных вашим приложением только в том случае, когда у него есть соответствующие права доступа. В тот момент, когда ваше приложение отправляет запрос на использование того или иного ресурса,.NET Framework проверяет наличие соответствующих прав доступа, и если таковых не обнаружено, запрещает доступ. Под ролевой безопасностью подразумевается использование встроенных ролей. В зависимости от роли работающего пользователя приложение использует те или иные ресурсы. Уровни безопасности Существует несколько уровней безопасности: сеть, компьютер, пользователь, домен приложения (дополнительный уровень). Использование безопасности доступа кода Настройки безопасности каждого компьютера индивидуальны. Они меняются в зависимости от пользователя, администратора компьютера или администратора сети, и нет никакой гарантии, что ваше приложение получит необходимые разрешения на выполнение операций. Взаимодействие с системой безопасности во время выполнения осуществляется двумя способами: императивным и декларативным. Декларативный способ взаимодействия осуществляется с помощью атрибутов, императивный – с помощью объектов классов в вашем приложении. Некоторые операции могут быть выполнены с помощью одного из способов, а некоторые — любым из них. Основной задачей на стадии разработки остается лишь документирование необходимых приложению разрешений для того, чтобы быть уверенным, что приложение их получит. Это делается с помощью запроса разрешений и утилит настройки политики безопасности. Для того чтобы добавить запрос на определенное разрешение, необходимо добавить соответствующий атрибут в файл ApplicationInfo.cs проекта. При компиляции сборки эти атрибуты сохранятся в метаданных. Запросы на разрешения проверяются CLR во время загрузки сборки. Существует три вида запросов: 1.Запрос минимального набора разрешений (RequestMinimum) --- Запрашивает необходимый минимум для корректной работы приложения. Если это разрешение не назначено политикой безопасности, то CLR не выполнит операции, а сгенерирует исключение типа PolicyException. Этим запросом необходимо пользоваться только для минимальных разрешений; 2.Запрос дополнительного набора разрешений (RequestOptional) --- Представляет набор разрешений, с которыми может работать ваше приложение, но без которых оно сможет корректно выполнять действия. Этим запросом описывают дополнительную функциональность приложения. Если это разрешение не назначено политикой безопасности, то приложение будет продолжать работать; 3.Запрос на отказ от разрешений (RequestRefused) --- Указываются разрешения, которые ваше приложение использовать не будет. Запросы указываются для обеспечения дополнительной безопасности.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 170; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.107.241 (0.005 с.)