Курс лекций по "Информатике"

Автор работы: Пользователь скрыл имя, 02 Января 2013 в 18:12, курс лекций

Описание

Лекция № 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. Выполняющемся.
  2. Ожидающем – ожидает сигнала от внешнего устройства.
  3. Прерванном – поток готов выполняться и ожидает своей очереди.

Многозадачность – вытесняющая. Для  вытеснения – аппаратное прерывание от таймера.

Каждый поток имеет приоритет – от 1 до 31. Чем выше приоритет, тем больше шансы у процесса получить квант времени. Для присвоения потокам приоритетов в NT применяется двухступенчатая система – абсолютный приоритет потока вычисляется на основе

  1. Класса приоритета процесса.
  2. Относительного приоритета потока.

Каждый процесс имеет базовый  приоритет, определяемый классом приоритета процесса. Базовые приоритеты имеют  следующие значения:

  • Фоновый (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

  1. Почему аппаратная реализация защитных механизмов считается более стойкой по сравнению с программной?
  2. Приведите примеры нарушения целостности программных механизмов защиты.
  3. Что понимают под идентификацией и аутентификацией? В чем заключается различие данных этапов и как они связаны между собой?
  4. Чем определяется стойкость к взлому подсистемы идентификации и аутентификации?
  5. Перечислите основные недостатки парольных подсистем идентификации и аутентификации.
  6. Перечислите основные угрозы парольным подсистемам идентификации и аутентификации.
  7. Перечислите требования к выбору и использованию паролей?
  8. Как количественно оценить стойкость к взлому парольных подсистем идентификации и аутентификации?
  9. Как изменится стойкость к взлому подсистемы парольной аутентификации при увеличении характеристик A,L,V,T? При их уменьшении?

Информация о работе Курс лекций по "Информатике"