
- •Архитектуры и модели программ и знаний
- •Содержание
- •Пример: проблемы с безопасностью
- •Источники проблем с
- •Более ранние
- •Решение проблем безопасности
- •Содержание
- •Общие определения
- •Общие определения 2/3
- •Общие определения
- •Содержание
- •Виды полномочий
- •Интерфейс
- •Полномочия для управления полномочиями
- •Пример: Использование полномочий безопасности
- •Пример (2)
- •Декларативные проверки полномочий
- •Содержание
- •Использование ролей
- •Подмена главного пользователя
- •Использование WindowsPrincipal
- •Подмена пользователя (impersonation)
- •Содержание
- •Безопасность доступа
- •Прогулка по стеку
- •Модификаторы стека
- •Интерфейс IStackWalk
- •Создание своих собственных полномочий для проверки кода
- •Содержание
- •Безопасность, основанная на свидетельствах
- •Свидетельства
- •Политика безопасности
- •Уровни безопасности
- •Внутренняя структура политики
- •полномочий
- •Запросы со стороны сборок
- •Общая картина
- •Содержание
- •Настройка системы безопасности
- •Резюме
- •Литература по .NET
- •Вопросы и домашнее задание к лекции 22

Архитектуры и модели программ и знаний
Лекция 22
Модели безопасности программ и данных.
Безопасность в .NET
Сафонов Владимир Олегович
Профессор кафедры информатики Заведующий лабораторией Java-технологии
(http://polyhimnie.math.spbu.ru/jtl)
Санкт-Петербургский государственный университет
Email: vosafonov@gmail.com
WWW: http://www.vladimirsafonov.org

Содержание
Система безопасности .NET FrameworkРолевая безопасностьБезопасность доступа к кодуПолитики безопасности
(C) Сафонов В.О. 2012

Пример: проблемы с безопасностью
(C) Сафонов В.О. 2012

Источники проблем с
безопасностью
Отсутствует управление кодом при исполнении
Ошибки в коде => атака “переполнение буфера”
Использование сторонних компонент
Мобильный код
Приложения к электронным письмамМакросы в документах
Информация, скачиваемая из Интернета
(C) Сафонов В.О. 2012

Более ранние
подходы: Java
-Класс SecurityManager, который должен быть определен в браузере
-Модель песочницы при исполнении апплета: апплет не может исследовать или изменять окружение клиента и может соединяться только со своим родительским сервером (слишком ограничительно)
-Начиная с Java 1.2: подписанные апплеты (доверенный код)
-Модель безопасности в Java security применима только к Java
(C)Сафонов В.О. 2012

Решение проблем безопасности
.NET Framework:
Управляемый код (CLR)
Модель безопасности, ориентированная на проверку полномочий кода
Использование политик безопасности
Разнообразие возможностей для настройки системы безопасности
(C) Сафонов В.О. 2012

Содержание
Общие определенияВиды полномочийИспользование ролей
Безопасность доступа к кодуПолитики безопасностиНастройка системы безопасности
(C) Сафонов В.О. 2012

Общие определения
1/3
Identity (идентифицированный пользователь)
Пользователь или сущность, действующая по его поручению
Principal (главный пользователь, начальник)
Пользователь со воим контекстом безопасности (набором его ролей)
Три вида главных пользователей в
.NET Framework:
Generic (родовой), Windows, Custom
(определяемый пользователем)
(C) Сафонов В.О. 2012

Общие определения 2/3
Аутентификация
Идентификация и проверка личности (подлинности) пользователя
Ее виды: Basic, Digest, Passport, интегрированная (NTLM или Kerberos)
Используются пароли, сертификаты, смарт-карты, биометрические данные, RFID и др.
Авторизация
Проверка полномочий пользователя для выполнения операции (или доступа к защищенному ресурсу)
(C) Сафонов В.О. 2012

Общие определения
3/3
Полномочия
Результат авторизации пользователя
Могут быть:
запрошены (requested)
предоставлены (granted)
потребованы (demanded)
аннулированы (denied)
(C) Сафонов В.О. 2012