Автор работы: Пользователь скрыл имя, 02 Января 2013 в 18:12, курс лекций
Лекция № 1
Программные и аппаратные механизмы защиты
Лекция №2
Хранение аутентифицирующей информации в открытых компьютерных системах. Типовые схемы хранения ключевой информации. Защита БД аутентификации.
Лекция № 3
Протоколы стойкой удаленной аутентификации пользователей. Протокол CHAP, S/KEY. Удаленная аутентификация в Windows с использованием хэша LANMAN
Лекция № 4
Технические устройства идентификации и аутентификации
Лекция № 5
Идентификация и аутентификация пользователей с помощью биометрических устройств
Архитектура
В данном случае, если какая-то задача изменяет данные, то доступ к этим данным должен быть запрещен другим задачам. Единственное исключение – все задачи, изменяющие один и тот же объект открывают его в режиме, допускающем совместное изменение данных. Открывая объект таким образом, задача тем самым заявляет ОС, что она полностью берет на себя ответственность за все действия, связанные с обеспечением корректности совместного доступа к данным.
Предотвращение тупиковых
Тупиковая ситуация может возникнуть тогда, когда несколько программ одновременно пытаются открыть несколько одних и тех же объектов в режиме монопольного доступа. Если одна программа открыла одну часть объектов, а другая – другую, то ни одна из программ сможет открыть остальные объекты до тех пор, пока другая программа их не закроет. Если функции закрытия объектов не предусмотрены ни в одной из программ, ситуация становится тупиковой – каждая программа ждет, пока другая закроет открытые ею объекты.
Один из методов борьбы с тупиковыми ситуациями состоит в следующем: если программа для выполнения некоторой операции должна открыть в монопольном режиме несколько объектов ОС, но не смогла этого сделать, так как некоторые из этих объектов уже открыты в монопольном режиме другой программой, то она должна закрыть все уже открытые объекты, подождать некоторое время и повторить операцию сначала. Наилучшие результаты – если время ожидания случайно.
Уровни привелигированности
Для реализации защитных механизмов на Intel могут использоваться уровни привилегированности. Уровень привилегированности - это числовой идентификатор, принимающий значения от 0 до 3, который определяет возможности задачи выполнять команды процессора, модифицировать регистры и области ОЗУ и т.д. Чем меньше идентификатор уровня, тем более полный доступ имеет задача к аппаратным возможностям процессора. Множество задач, обладающих некоторым конкретным уровнем привилегированности- кольцо защиты. Например, если программа имеет уровень 3, то третье кольцо. Обычно код программы – в третьем кольце, а код ОС – в нулевом. Первое и второе – редко (OS/2). RISC – 2 кольца.
Лекция № 17
Защищенные механизмы в NT
Ядро и драйверы устройств в NT – в нулевом кольце, весь остальной код ОС и программы – в третьем. 1 и 2 - не используются.
Планирование задач
Каждый поток может находиться в одном из трех состояний –
Многозадачность – вытесняющая. Для вытеснения – аппаратное прерывание от таймера.
Каждый поток имеет приоритет – от 1 до 31. Чем выше приоритет, тем больше шансы у процесса получить квант времени. Для присвоения потокам приоритетов в NT применяется двухступенчатая система – абсолютный приоритет потока вычисляется на основе
Каждый процесс имеет базовый приоритет, определяемый классом приоритета процесса. Базовые приоритеты имеют следующие значения:
Обычно хранители экрана – фоновый класс приоритета, прикладные программы – нормальный класс и системные процессы – высокий. Реальное время – редко.
Относительные приоритеты могут быть следующими:
В NT поддерживается временное повышение приоритета, для потоков, которые долгое время ожидают сигнала от медленнодействующих устройств (FD, Modem).
Обеспечение корректности совместного доступа к объектам.
В NT одновременный доступ нескольких процессов к одному объекту разрешается только в том случае, когда все процессы открывают объект для чтения.
Исключение составляют только объекты типа файл, которые можно открывать в режиме совместной записи. В режиме совместной записи файл должны открывать все процессы. Каждый процесс при записи/чтении должен заблокировать соответствующий участок файла.
Для обеспечения корректности совместного доступа к данным, не являющимся объектами ОС, в NT применяются мьютексы, критические секции и семафоры.
Мьютексы
Мьютекс представляет собой объект файловой системы, который может быть либо свободным, либо принадлежать одному из потоков ОС. Два потока не могут одновременно владеть одним и тем же мьютексом. NT поддерживает функции, которые позволяют создать мьютекс либо освободить его. Каждый поток, перед тем, как обратиться к совместно используемым данным, пытается завладеть мьютексом. Если мьютекс в настоящее время занят, поток ждет его освобождения. Если несколько запросов на захват - то в порядке очереди вне зависимости от приоритета. Мьютекссы могут эффективно использоваться для организации совместного доступа к оперативной памяти, разделяемым между несколькими процессами.
Аудит
Аудит - регистрация
в специальном журнале
1. Подсистема
защиты ОС не обладая
2. Необходимо хранить предисторию.
3. Если произошла атака, то администратор должен выяснить, когда была начата атака и каким образом она осуществлялась.
Требования к аудиту
1. Только ОС
может добавлять записи в
2. Ни один субъект доступа, в том числе и ОС не имеет возможности редактировать или удалять отдельные записи в журнале аудита.
3. Только пользователи-аудиторы,
обладающие соответстующей
4. Только пользователи-аудиторы
могут очищать журнал аудита.
Запись об этом событии
5. При переполнении журнала аудита ОС аварийно завершает работу. После перезагрузки работать с ОС могут только аудиторы.
Политика аудита - совокупность правил, то, какие события должны регистрироваться в журнале аудита. Для адекватной политики безопасности, в журнале аудита должны обязательно регестрироваться следующие события
1. Попытки входа-выхода пользователей из системы.
2. Попытки изменения списка пользователей.
3. Попытки изменения политики безопасности, в том числе, и политики аудита.
Выбор остальных событий определяется администратором. В некотрых ОС реализована возможность оповещения аудиторов о наиболее важных событиях, которые произошли в системе.
В ОС UNIX поддерживается регистракция следующих событий:
1. Загрузка-выгрузка системы.
2. Успешный вход и выход из системы.
3. Создание-уничтожение процесса.
4. Сделать объект доступным (открыть файл, сообщение, смонтировать файловую систему и т.д.).
5. Отобразить объект в субъект (выполнение программы).
6. Модификация объекта (запись в файл).
7. Сделать объект недоступным (закрыть файл, размонтировать файловую систему и т.д.).
8. Создание объекта (файла,...).
9. Удаление объекта.
10. Изменение разграничения доступа.
11. Отказ доступа.
12.Действия системных администраторов и операторов.
13. Процессы, которые пытаются превысить свои полномочия.
14. Отказы в рессурсах (отсутствие файла, переполнение памяти, и т.д.).
15. Посылка сигналов и сообщений процессам.
16. Модификация процесса.
17. События системы контроля.
18. События базы данных (изменение базы данных безопасности и ее целостности).
19. События подсистемы
(использование защищенных
20. Использование привилегий (контроль
действий с использованием
Разграничение доступа в NT
Операционная система NT поддерживает 22 метода доступа субъектов к объектам. Шесть из них представляют собой стандартные методы доступа и поддерживаются для объектов всех типов.
Для каждого типа объекта поддерживается до 16 специфичных методов доступа.
Следующие методы доступа в NT требуют наличия у субъектов доступа специальных превилегий.
Привилегии субъектов в NT.
В NT каждый субъект доступа обладает некоторым набором привилегий. Привилегии представляют собой права на выполнение субъектом действий, касающихся системы в целом, а не отдельных ее объектов. Назначать привилегии субъектам доступа может только администратор.
Существуют следующие привилеги
Назначать привилегии нужно очень осмотрительно. Некоторые из перечисленных привилегий позволяют обойти подсистемы защиты.
ВОПРОСЫ ДЛЯ КОНТРОЛЯ
ЛЕКЦИЯ 1