Курс лекций по "Информатике"
Курс лекций, 02 Января 2013, автор: пользователь скрыл имя
Описание
Лекция № 1
Программные и аппаратные механизмы защиты
Лекция №2
Хранение аутентифицирующей информации в открытых компьютерных системах. Типовые схемы хранения ключевой информации. Защита БД аутентификации.
Лекция № 3
Протоколы стойкой удаленной аутентификации пользователей. Протокол CHAP, S/KEY. Удаленная аутентификация в Windows с использованием хэша LANMAN
Лекция № 4
Технические устройства идентификации и аутентификации
Лекция № 5
Идентификация и аутентификация пользователей с помощью биометрических устройств
Архитектура
Работа состоит из 1 файл
Аникин_Катасёв_Кривилёв_ПАЗИ_Конспекты_лекций_2008.doc
— 1.28 Мб (Скачать документ)В данном случае, если какая-то задача изменяет данные, то доступ к этим данным должен быть запрещен другим задачам. Единственное исключение – все задачи, изменяющие один и тот же объект открывают его в режиме, допускающем совместное изменение данных. Открывая объект таким образом, задача тем самым заявляет ОС, что она полностью берет на себя ответственность за все действия, связанные с обеспечением корректности совместного доступа к данным.
Предотвращение тупиковых
Тупиковая ситуация может возникнуть тогда, когда несколько программ одновременно пытаются открыть несколько одних и тех же объектов в режиме монопольного доступа. Если одна программа открыла одну часть объектов, а другая – другую, то ни одна из программ сможет открыть остальные объекты до тех пор, пока другая программа их не закроет. Если функции закрытия объектов не предусмотрены ни в одной из программ, ситуация становится тупиковой – каждая программа ждет, пока другая закроет открытые ею объекты.
Один из методов борьбы с тупиковыми ситуациями состоит в следующем: если программа для выполнения некоторой операции должна открыть в монопольном режиме несколько объектов ОС, но не смогла этого сделать, так как некоторые из этих объектов уже открыты в монопольном режиме другой программой, то она должна закрыть все уже открытые объекты, подождать некоторое время и повторить операцию сначала. Наилучшие результаты – если время ожидания случайно.
Уровни привелигированности
Для реализации защитных механизмов на Intel могут использоваться уровни привилегированности. Уровень привилегированности - это числовой идентификатор, принимающий значения от 0 до 3, который определяет возможности задачи выполнять команды процессора, модифицировать регистры и области ОЗУ и т.д. Чем меньше идентификатор уровня, тем более полный доступ имеет задача к аппаратным возможностям процессора. Множество задач, обладающих некоторым конкретным уровнем привилегированности- кольцо защиты. Например, если программа имеет уровень 3, то третье кольцо. Обычно код программы – в третьем кольце, а код ОС – в нулевом. Первое и второе – редко (OS/2). RISC – 2 кольца.
Лекция № 17
Защищенные механизмы в NT
Ядро и драйверы устройств в NT – в нулевом кольце, весь остальной код ОС и программы – в третьем. 1 и 2 - не используются.
Планирование задач
Каждый поток может находиться в одном из трех состояний –
- Выполняющемся.
- Ожидающем – ожидает сигнала от внешнего устройства.
- Прерванном – поток готов выполняться и ожидает своей очереди.
Многозадачность – вытесняющая. Для вытеснения – аппаратное прерывание от таймера.
Каждый поток имеет приоритет – от 1 до 31. Чем выше приоритет, тем больше шансы у процесса получить квант времени. Для присвоения потокам приоритетов в NT применяется двухступенчатая система – абсолютный приоритет потока вычисляется на основе
- Класса приоритета процесса.
- Относительного приоритета потока.
Каждый процесс имеет базовый приоритет, определяемый классом приоритета процесса. Базовые приоритеты имеют следующие значения:
- Фоновый (idle): 4
- Нормальный (normal): 9 если процесс обслуживает активное окно и 7 в противном случае.
- Высокий (high): 13.
- Реального времени (real-time): 24.
Обычно хранители экрана – фоновый класс приоритета, прикладные программы – нормальный класс и системные процессы – высокий. Реальное время – редко.
Относительные приоритеты могут быть следующими:
- Фоновый (idle): 16 если процесс имеет класс приоритета реального времени и 1 в противном случае.
- Низший (lowest): на 2 ниже базового приоритета процеса.
- Пониженный (below normal): на 1 ниже базового приоритета процесса.
- Нормальный (normal): совпадает с базовым приоритетом процесса.
- Повышенный: на 1 выше базового приоритета процесса.
- Высший: на 2 выше базового приоритета процесса.
- Критичный: 31, если базовый - приоритет реального времени или 16 в ином случае.
В 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 каждый субъект доступа обладает некоторым набором привилегий. Привилегии представляют собой права на выполнение субъектом действий, касающихся системы в целом, а не отдельных ее объектов. Назначать привилегии субъектам доступа может только администратор.
Существуют следующие привилеги
- Привилегия завершать работу ОС и перезагружать компьютер.
- Привилегия устанавливать системное время.
- Привилегия анализировать производительность одного процесса.
- Привилегия анализировать производительность всей ОС.
- Привилегия создавать постоянные объекты в ОЗУ.
- Привилегия создавать резервные копии информации, хранящей на жестких дисках.
- Привилегия восстанавливать информацию из резервных копий.
- Привилегия назначать процессам и потокам высокие приоритеты.
- Привилегия изменять системные переменные среды.
- Привилегия отлаживать программы.
- Привилегия загружать и выгружать системные драйверы и сервисы.
- Привилегия аудита.
- Привилегия объявлять себя владельцем любого объекта.
- Привилегия добавлять записи в журнал аудита.
- Привилегия создавать маркеры доступа.
- Привилегия назначать процессам маркеры доступа.
- Привилегия выступать как часть ОС.
- Привилегия получать оповещения от файловых систем.
Назначать привилегии нужно очень осмотрительно. Некоторые из перечисленных привилегий позволяют обойти подсистемы защиты.
- Привилегия создавать в оперативной памяти постоянные объекты позволяет пользователю отключать механизм автоматического освобождения оперативной памяти при завершении процесса.
- Привилегия создавать резервные копии информации и восстанавливать ее позволяет пользователю игнорировать разграничение доступа по чтению/записи и т.д.
- Привилегия назначения процессам высокого уровня приоритета позволяет ему завесить ОС, создав процесс с высоким приоритетом и введя его в вечный цикл.
- Пользователь, обладающий привилегией изменять системные переменные среды, может изменив значения переменных path и windir добиться того, чтобы поиск ОС исполняемых модулей начинался с его директории и поместить туда программную закладку.
- Привилегия отлаживать программы позволяет пользователю обращаться к любому процессу по любому методу доступа, что присваивает ему неограниченные полномочия.
- Привилегия загружать и выгружать драйверы и сервисы позволяет пользователю выполнять произвольный код от имени и с правами ОС. Пользователь может внедрить программную закладку под видом драйвера или сервиса. Так как драйверы могут игнорировать большинства защитных функций NT, то эта возможность дает неограниченные полномочия.
- Привилегия аудитора дает пользователю возможность маскировать свои несанкционированные действия.
- Привилегия выступать как часть ОС позволяет пользователю выполнять потенциально опасные воздействия, брать на себя функции ОС, связанные с идентификацией, аутентификацией и авторизацией пользователя.
ВОПРОСЫ ДЛЯ КОНТРОЛЯ
ЛЕКЦИЯ 1
- Почему аппаратная реализация защитных механизмов считается более стойкой по сравнению с программной?
- Приведите примеры нарушения целостности программных механизмов защиты.
- Что понимают под идентификацией и аутентификацией? В чем заключается различие данных этапов и как они связаны между собой?
- Чем определяется стойкость к взлому подсистемы идентификации и аутентификации?
- Перечислите основные недостатки парольных подсистем идентификации и аутентификации.
- Перечислите основные угрозы парольным подсистемам идентификации и аутентификации.
- Перечислите требования к выбору и использованию паролей?
- Как количественно оценить стойкость к взлому парольных подсистем идентификации и аутентификации?
- Как изменится стойкость к взлому подсистемы парольной аутентификации при увеличении характеристик A,L,V,T? При их уменьшении?