Тема 4.4. Защищенность и отказоустойчивость операционных систем
Классификация угроз безопасности ОС
Классификация угроз по цели:
Несанкционированное чтение информации.
Несанкционированное изменение информации.
Несанкционированное уничтожение.
Полное или частичное разрушение операционной системы, полное или частичное ее завешивание, завешивание программных модулей, физическое стирание с диска системных файлов (вирусы, DoS).
Классификация по принципу воздействия на ОС:
Использование легальных каналов получения информации, например угроза несанкционированного чтения при некорректном определения профиля пользователя администратором.
скрытых каналов получения информации – использование недокументированных возможностей ОС (переполнение буфера – запуск некоторого программного кода).
Создание новых каналов получения информации с помощью программных закладок.
По характеру воздействия на ОС:
Активное воздействие – несанкционированное действия злоумышленника в системе (подбор пароля, украли базу паролей).
Пассивное воздействие – несанкционированное наблюдение злоумышленника за процессами, происходящими в системе (сниффер).
По типу слабости защиты:
Неадекватная политика безопасности, в том числе, ошибки администратора системы.
Ошибки и недокументированные возможности программного обеспечения ОС: люки – случайные или преднамеренные служебные входы.
Ранее внедренная программная закладка.
По способу воздействия на объект атаки:
Непосредственное воздействие.
Превышение пользователем своих полномочий.
Работа от имени другого пользователя.
Использование результатов работы другого пользователя (перехват информационных потоков).
По способу действий злоумышленника:
В интерактивном режиме.
В пакетном режиме (с помощью специально написанной программы, скрипта, которая действует самостоятельно, без участия злоумышленника).
По объекту атаки:
ОС в целом.
Объекты ОС (файлы, устройства, и т.д.).
Субъекты ОС (пользователи, системные процессы, и т.д.).
Каналы передачи данных.
По используемым средствам атаки:
Штатные средства ОС, без использования дополнительного ПО.
ПО третьих фирм (вирусы, вредоносные программы, отладчики, сетевые мониторы, сканеры).
Специально разработанное ПО.
Типичные атаки на ОС
1. Сканирование файловой системы
2. Кража ключевой информации.
Простейший случай – подсматривание паролей, набираемых пользователем.
3. Подбор пароля.
4. Сборка мусора. В данном случае восстанавливается информация, которая помечена как удаленная, но реально не удаленная с диска или из памяти. Например, если в памяти обрабатывался конфиденциальный документ, то после закрытия текстового редактора, можно просканировать память и выделить его.
5. Превышение полномочий. Злоумышленник использует дырки в ПО или ОС и получает полномочия, превышающие те, которые были ему выданы в соответствии с политикой безопасности. Обычно это достигается путем запуска программы от имени другого пользователя или подмены динамически подгружаемой библиотеки.
6. Программные закладки.
7. Жадные программы. Так называются программы, преднамеренно захватывающие значительную часть ресурсов компьютера, в результате чего другие программы не могут выполняться или выполняются крайне медленно и неэффективно. Часто запуск жадной программы приводит к краху ОС.
Понятие защищенной операционной системы
Операционная система называется защищенной, если она обеспечивает защиту от основных классов угроз, рассмотренных ранее.
Данная система должна обязательно содержать следующие компоненты:
Средства разграничения доступа пользователей к ресурсам.
Средства проверки подлинности пользователя.
Средства противодействия случайному или преднамеренному выводу операционной системы из строя.
Административные меры защиты
Защиту ОС невозможно обеспечить только аппаратно-программными средствами. Нужна постоянная квалифицированная поддержка со стороны администратора. Без постоянной квалифицированной поддержки со стороны администратора, даже самая надежная ПАЗИ оборачивается фикцией. Основными административными мерами защиты являются следующие:
Постоянный контроль корректности функционирования ОС, особенно подсистемы ее защиты. Регистрация событий, ведение логов и контроль логов.
Постоянное исследование и корректирование политики безопасности. После установки программных продуктов, атак и т.д.
Инструктирование пользователей ОС о необходимости соблюдения мер безопасности при работе с ОС и контроль за соблюдением этих мер.
Регулярное создание и обновление резервных копий программ и данных ОС.
Постоянный контроль изменений в файлах конфигурации данных и политике безопасности ОС.
Под аппаратным обеспечение средств защиты ОС понимается совокупность средств и методов, используемых для решения следующих задач:
Управление оперативной и виртуальной памятью компьютера.
Распределение процессорного времени между задачами в многозадачной ОС.
Синхронизация выполнения параллельных задач в многозадачной ОС.
Обеспечение корректности совместного доступа задач к ресурсам ОС.
Исключение тупиковых ситуаций в процессе совместного доступа задач к ресурсам ОС.
Большая часть из этих задач в значительной степени решаются с помощью аппаратно-реализованных функций процессоров и других узлов компьютера.
Базовые технологии безопасности
Помимо различных угроз со стороны злоумышленников, существует опасность потери данных в результате несчастного случая. Например, форс-мажорные ситуации, аппаратные или программные ошибки, человеческий фактор. Большая часть этих проблем может быть разрешена при помощи своевременного создания соответствующих резервных копий, хранимых на всякий случай вдали от оригинальных данных.
Один из самых распространенных способов защиты информации - криптография - наука, изучающая способы шифрования открытого текста. Перечислим базовые технологии безопасности:
Шифрование с секретным ключом -система шифрования, обладающая следующим свойством: по ключу шифрования легко найти ключ дешифрации.
Шифрование с открытым ключом - в этом случае для дешифрации используется простая операция, но для дешифрации требуется выполнить огромный объем сложных вычислений.
Необратимые функции - зашифрованное сообщение невозможно расшифровать или очень трудно.
Цифровые подписи - удостоверяют документы, как и настоящие подписи.
Аутентификация, авторизация, аудит
Аутентификация - процесс определения взаимодействия клиента с настоящим файловым сервером. Так, когда пользователь регистрируется на компьютере, ОС, как правило, желает определить, кем является данный пользователь и запускает процесс, называемый аутентификацией пользователя.
Использование ПК для доступа к серверам локальной сети или для входа в коммерческий web-сайт всегда требует регистрации. Большинство методов аутентификации пользователей основаны на распознавании:
Чего-то, известного пользователю (например, пароля);
Чего-то, имеющегося у пользователя (например, смарт-карта);
-
Чего-то, чем является пользователь (аутентификация с использованием биометрических данных).
Отказоустойчивость файловых и дисковых систем
Отказоустойчивость (fault tolerance), способность системы выполнять свои функции при отказе отдельных элементов аппаратуры и неполной доступности данных, (скрыть от пользователя отказ отдельных ее элементов). В отказоустойчивой системе отказ одного из ее элементов приводит к некоторому снижению качества ее работы (деградации), а не к полному останову. Так, при отказе одного из файловых серверов в предыдущем примере увеличивается только время доступа к базе данных из-за уменьшения степени распараллеливания запросов, но в целом система будет продолжать выполнять свои функции.
Восстанавливаемость файловых систем. Избыточные дисковые подсистемы RAID.
В основе средств обеспечения отказоустойчивости дисковой памяти лежит общий для всех отказоустойчивых систем принцип избыточности, и дисковые подсистемы RAID (Redundant Array of Inexpensive Disks, дословно — «избыточный массив недорогих дисков») являются примером реализации этого принципа. Идея технологии RAID-массивов состоит в том, что для хранения данных используется несколько дисков, даже в тех случаях, когда для таких данных хватило бы места на одном диске. Организация совместной работы нескольких централизованно управляемых дисков позволяет придать их совокупности новые свойства, отсутствовавшие у каждого диска в отдельности.
RAID-массив может быть создан на базе нескольких обычных дисковых устройств, управляемых обычными контроллерами, в этом случае для организации управления всей совокупностью дисков в операционной системе должен быть установлен специальный драйвер. В Windows NT, например, таким драйвером является FtDisk — драйвер отказоустойчивой дисковой подсистемы. Существуют также различные модели дисковых систем, в которых технология RAID реализуется полностью аппаратными средствами, в этом случае массив дисков управляется общим специальным контроллером.
Дисковый массив RAID представляется для пользователей и прикладных программ единым логическим диском. Такое Логическое устройство может обладать различными качествами в зависимости от стратегии, заложенной в алгоритмы работы средств централизованного управления и размещения информации на всей совокупности дисков. Это логическое устройство может, например, обладать повышенной отказоустойчивостью или иметь производительность, значительно большую, чем у отдельно взятого диска, либо обладать обоими этими свойствами. Различают несколько вариантов RAID-массивов, называемых также уровнями: RAID-0, RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 и некоторые другие.
При оценке эффективности RAID-массивов чаще всего используются следующие критерии:
степень избыточности хранимой информации (или тесно связанная с этим критерием стоимость хранения единицы информации);
производительность операций чтения и записи;
степень отказоустойчивости.
Рис. 1 Организация массива RAID-0
В логическом устройстве RAID-0 (рис. 1) общий для дискового массива контроллер при выполнении операции записи расщепляет данные на блоки и передает их параллельно на все диски, при этом первый блок данных записывается на первый диск, второй — на второй и т. д. Различные варианты реализации технологии RAID-0 могут отличаться размерами блоков данных, например в наборах с чередованием, представляющих собой программную реализацию RAID-0 в Windows NT, на диски поочередно записываются полосы данных (strips) по 64 Кбайт. При чтении контроллер мультиплексирует блоки данных, поступающие со всех дисков, и передает их источнику запроса.
По сравнению с одиночным диском, в котором данные записываются и считываются с диска последовательно, производительность дисковой конфигурации RAID-0 значительно выше за счет одновременности операций записи/чтения по всем дискам массива.
Рис. 2. Организация массива RAID-1
Уровень RAID-0 не обладает избыточностью данных, а значит, не имеет возможности повысить отказоустойчивость. Если при считывании произойдет сбой, то данные будут безвозвратно испорчены. Более того, отказоустойчивость даже снижается, поскольку если один из дисков выйдет из строя, то восстанавливать придется все диски массива. Имеется еще один недостаток — если при работе с RAID-0 объем памяти логического устройства потребуется изменить, то сделать это путем простого добавления еще одного диска к уже имеющимся в RAID-массиве дискам невозможно без полного перераспределения информации по всему изменившемуся набору дисков.
Уровень RAID-1 (рис. 2) реализует подход, называемый зеркальным копированием (mirroring). Логическое устройство в этом случае образуется на основе одной или нескольких пар дисков, в которых один диск является основным, а другой диск (зеркальный) дублирует информацию, находящуюся на основном диске. Если основной диск выходит из строя, зеркальный продолжает сохранять данные, тем самым обеспечивается повышенная отказоустойчивость логического устройства. За это приходится платить избыточностью — все данные хранятся на логическом устройстве RAID-1 в двух экземплярах, в результате дисковое пространство используется лишь на 50 %.
При внесении изменений в данные, расположенные на логическом устройстве RAID-1, контроллер (или драйвер) массива дисков одинаковым образом модифицирует и основной, и зеркальный диски, при этом дублирование операций абсолютно прозрачно для пользователя и приложений. Удвоение количества операций записи снижает, хотя и не очень значительно, производительность дисковой подсистемы, поэтому во многих случаях наряду с дублированием дисков дублируются и их контроллеры. Такое дублирование (duplexing) помимо повышения скорости операций записи обеспечивает большую надежность системы — данные на зеркальном диске останутся доступными не только при сбое диска, но и в случае сбоя дискового контроллера.
Некоторые современные контроллеры (например, SCSI-контроллеры) обладают способностью ускорять выполнение операций чтения с дисков, связанных в зеркальный набор. При высокой интенсивности ввода-вывода контроллер распределяет нагрузку между двумя дисками так, что две операции чтения могут быть выполнены одновременно. В результате распараллеливания работы по считыванию данных между двумя дисками время выполнения операции чтения может быть снижено в два раза Таким образом, некоторое снижение производительности, возникающее при выполнении операций записи, с лихвой компенсируется повышением скорости выполнения операций чтения.
Уровень RAID-2 расщепляет данные побитно: первый бит записывается на первый диск, второй бит — на второй диск и т. д. Отказоустойчивость реализуется в RAID-2 путем использования для кодирования данных корректирующего кода Хэмминга, который обеспечивает исправление однократных ошибок и обнаружение двукратных ошибок. Избыточность обеспечивается за счет нескольких дополнительных дисков, куда записывается код коррекции ошибок. Так, массив с числом основных дисков от 16 до 32 должен иметь три дополнительных диска для хранения кода коррекции. RAID-2 обеспечивает высокую производительность и надежность, но он применяется в основном в мэйнфреймах и суперкомпьютерах. В сетевых файловых серверах этот метод в настоящее время практически не используется из-за высокой стоимости его реализации.
В массивах RAID-3 используется расщепление (stripping) данных на массиве дисков с выделением одного диска на весь набор для контроля четности. То есть если имеется массив из N дисков, то запись на N-1 из них производится параллельно с побайтным расщеплением, а N-й диск используется для записи контрольной информации о четности. Диск четности является резервным. Если какой-либо диск выходит из строя, то данные остальных дисков плюс данные о четности резервного диска позволяют не только определить, какой из дисководов массива вышел из строя, но и восстановить утраченную информацию. Это восстановление может выполняться динамически, по мере поступления запросов, или в результате выполнения специальной процедуры восстановления, когда содержимое отказавшего диска заново генерируется и записывается на резервный диск.
Рассмотрим пример динамического восстановления данных. Пусть массив RAID-3 состоит из четырех дисков: три из них — ДИСК 1, ДИСК 2 и ДИСК 3 — хранят данные, а ДИСК 4 хранит контрольную сумму по модулю 2 (XOR). И пусть на логическое устройство, образованное этими дисками, записывается последовательность байт, каждый из которых имеет значение, равное его порядковому номеру в последовательности. Тогда первый байт 0000 0001 попадет на ДИСК 1, второй байт 0000 0010 - на ДИСК 2, а третий по порядку байт - на ДИСК 3. На четвертый диск будет записана сумма по модулю 2, равная в данном случае 0000 0000 (рис. 3). Вторая строка таблицы, приведенной на рисунке, соответствует следующим трем байтам и их контрольной сумме и т. д. Представим, что ДИСК 2 вышел из строя.
Рис.3 Пример распределения данных по дискам массива RAID-3
При поступлении запроса на чтение, например, пятого байта (он выделен жирным шрифтом) контроллер дискового массива считывает данные, относящиеся к этой строке со всех трех оставшихся дисков — байты 0000 0100, 0000 0110, 0000 0111 — и вычисляет для них сумму по модулю 2. Значение контрольной суммы 0000 0101 и будет являться восстановленным значением потерянного из-за неисправности пятого байта.
Если же требуется записать данные на отказавший диск, то эта операция физически не выполняется, вместо этого корректируется контрольная сумма — она получает такое значение, как если бы данные были действительно записаны на этот диск.
Однако динамическое восстановление данных снижает производительность дисковой подсистемы. Для полного восстановления исходного уровня производительности необходимо заменить вышедший из строя диск и провести регенерацию всех данных, которые хранились на отказавшем диске.
Рис. 4. Организация массива RAID-3
Минимальное количество дисков, необходимое для создания конфигурации RAID-3, равно трем. В этом случае избыточность достигает максимального значения — 33 %. . При увеличении числа дисков степень избыточности снижается, так, для 33 дисков она составляет менее 1%.
Уровень RAID-3 позволяет выполнять одновременное чтение или запись данных на несколько дисков для файлов с длинными записями, однако следует подчеркнуть, что в каждый момент выполняется только один запрос на ввод-вывод, то есть RAID-3 позволяет распараллеливать ввод-вывод в рамках только одного процесса (рис. 4). Таким образом, уровень RAID-3 повышает как надежность, так и скорость обмена информацией.
Организация RAID-4 аналогична RAID-3, за тем исключением, что данные распределяются на дисках не побайтно, а блоками. За счет этого может происходить независимый обмен с каждым диском. Для хранения контрольной информации также используется один дополнительный диск. Эта реализация удобна для файлов с очень короткими записями и большей частотой операций чтения по сравнению с операциями записи, поскольку в этом случае при подходящем размере блоков диска возможно одновременное выполнение нескольких операций чтения.
Рис. 5. Организация массива RAID-5
Однако по-прежнему допустима только одна операция записи в каждый момент времени, так как все операции записи используют один и тот же дополнительный диск для вычисления контрольной суммы. Действительно, информация о четности должна корректироваться каждый раз, когда выполняется операция записи. Контроллер должен сначала считать старые данные и старую контрольную информацию, а затем, объединив их с новыми данными, вычислить новое значение контрольной суммы и записать его на диск, предназначенный для хранения контрольной информации. Если требуется выполнить запись в более чем один блок, то возникает конфликт по обращению к диску с контрольной информацией. Все это приводит к тому, что скорость выполнения операций записи в массиве RAID-4 снижается.
В уровне RAID-5 (рис. 5) используется метод, аналогичный RAID-4, но данные о контроле четности распределяются по всем дискам массива. При выполнении операции записи требуется в три раза больше оперативной памяти. Каждая команда записи инициирует ту же последовательность «считывание—модификация—запись» в нескольких дисках, как и в методе RAID-4. Наибольший выигрыш в производительности достигается при операциях чтения. Поскольку информация о четности может быть считана и записана на несколько дисков одновременно, скорость записи по сравнению с уровнем RAID-4 увеличивается, однако она все еще гораздо ниже скорости отдельного диска метода RAID-1 или RAID-3.
Кроме рассмотренных выше имеются еще и другие варианты организации совместной работы избыточного набора дисков, среди них можно особо отметить технологию RAID-10, которая представляет собой комбинированный способ, при котором данные «расщепляются» (RAID-0) и зеркально копируются (RAID-1) без вычисления контрольных сумм. Обычно две пары «зеркальных» массивов объединяются и образуют один массив RAID-0. Этот способ целесообразно применять при работе с большими файлами.
Контрольные вопросы
Что такое безопасность?
Когда возникает необходимость защиты информации?
Какие существуют задачи безопасности?
Что означает целостность данных?
Что значит модификация данных?
Что означает доступность системы?
Какие существуют технологии безопасности?
Что такое аутентификация?
Какие существуют методы аутентификации?
Что такое отказоустойчивость?
Как влияет на отказоустойчивую систему отказ какого-либо ее элемента?
Каково свойство всех RAID-систем?
Список тем рефератов
Программные средства человеко-машинного интерфейса. Мультимедиа. Аудио. Видео. Просмотр, создание мультимедиа.
Операционные оболочки (Total Commander, Norton Commander, Far, Explorer и т.д.). Назначение и возможности оболочки. Панели и система меню. Настройка оболочки. Структура и принципы функционирования. Интерфейс. Основные компоненты.
Назначение, функции сетевых ОС. Общий обзор сетевых ОС: NetWare, Windows NT Server, LAN Server.
Методы шифрования данных.
Компьютерные вирусы. Классификация. Способы распространения. Средства борьбы.
Защита от компьютерных вирусов. Программы для защиты от вирусов (Norton Antivirus, AVP и пр.).
Методы сжатия изображений, аудио, видео.
Файловые системы. NTFS, FAT16, FAT32.
Распределенные вычисления в сети Internet.
Системное программное обеспечение. (Norton Utilites, Speed Disk, CheckDisk, дефрагментаторы и пр.)
Восстановление данных. Программное обеспечение для восстановления данных (EasyRecovery, Restorer2000 и т.д.). Особенности восстановления для различных файловых систем.
История развития ОС Windows.
Безопасность ОС Windows NT.
Графический интерфейс Linux.
Использование памяти в Windows NT.
Особенности ОС Windows 10.
Список использованных источников
Основные источники:
Олифер В.Г., Сетевые операционные системы / В.Г. Олифер, А.А. Олифер – Спб.: Питер, 2012- 545с.
Попов И.И., Операционные системы, среды и оболочки: Учебное пособие/И.И.Попов, Т.Л. Партыка - М.:ФОРУМ: ИНФРА-М,2014 -560с.
Таненбаум Э., Современные операционные системы / Э. Таненбаум - Спб.: Питер, 2014- 1120с.
Дополнительные источники:
Максимов Н.В., Архитектура ЭВМ вычислительных систем: Учебник /Н.В. Максимов, Т.Л. Партыка, И.И.Попов- М.:ФОРУМ: ИНФРА-М, 2014.-600с.
Интернет-источники:
Котельников Е., Введение во внутренне устройство Windows: [Электронный ресурс]: http://www.intuit.ru/studies/courses/10471/1078/info
Сафонов В., Основы современных операционных систем: [Электронный ресурс]: http://www.intuit.ru/studies/courses/641/497/info
Windows 10, Материал из Википедии — свободной энциклопедии [Электронный ресурс]: https://ru.wikipedia.org/wiki/Windows_10
Периодические издания:
Информатика. Методический журнал для учителей информатики. М.: Издательский дом «Первое сентября». Издается ежемесячно.
|