Интернет-курс по дисциплине
«Безопасность клиентских операционных систем»

Кафедра Информационной безопасности
Лихоносов А.Г.
Интернет-курс по дисциплине
«Безопасность клиентских операционных систем»
Тема 1. Основные понятия, структура операционной системы..
Вопрос 1. Понятие об архитектуре аппаратных средств.
Вопрос 2. Что такое операционная система. Структура вычислительной системы.
Вопрос 3. Режимы работы операционных систем.
Список использованных источников:
Тема 2. Классификация операционных систем
Вопрос 1. Особенности алгоритмов управления ресурсами.
Вопрос 2. Поддержка многозадачности.
Вопрос 3. Поддержка многонитевости.
Вопрос 4. Особенности аппаратных платформ.
Вопрос 5. Особенности областей использования.
Вопрос 6. Особенности методов построения.
Вопрос 7. Основные принципы построения операционных систем.
Вопрос 8. Пользовательский интерфейс операционных систем.
Вопрос 9. Обзор современных операционных систем.
Список использованных источников:
Тема 3. Основные понятия и положения защиты информации в информационно-вычислительных системах
Вопрос 1. Предмет защиты информации.
Вопрос 2. Объект защиты информации.
Тема 4. Угрозы безопасности информации в информационно-вычислительных системах
Вопрос 1. Анализ угроз информационной безопасности.
Вопрос 2. Методы обеспечения информационной безопасности.
Тема 5. Требования профиля защиты
Тема 6. Программно-технический уровень информационной безопасности
Вопрос 1. Основные понятия программно-технического уровня информационной безопасности.
Вопрос 2. Требования к защите компьютерной информации.
Тема 7. Модели безопасности основных операционных систем..
Вопрос 1. Механизмы защиты операционных систем.
Вопрос 2. Анализ защищенности современных операционных систем.
Вопрос 3. Система безопасности операционной системы Windows NT.
Вопрос 4. Защита в операционной системе Unix.
Вопрос 5. Защита в операционной системе Novell Netware.
Список использованных источников
Методические указания по изучению темы
Методические указания для студентов.
Предметом изучения является технология, методы и средства информационной безопасности в клиентских операционных системах. Объектом изучения выступает информационная безопасность информационных систем.
Место дисциплины в учебном процессе университета
Настоящая дисциплина включена в учебные планы Академии по всем программам подготовки специалистов по специальности «Информационные системы и технологии», специализация «Безопасность информационных систем». Дисциплина «Безопасность клиентских операционных систем» является необходимым элементом профессиональной подготовки инженеров, специализирующихся в области информационных систем.
Цель и задачи дисциплины
Целью дисциплины «Безопасность клиентских операционных систем» является формирование у студентов базовых навыков по применению методов защиты клиентских операционных систем, дать студентам знания: различных аспектов, связанных с обеспечением безопасности клиентских операционных систем, механизмов и сервисов безопасности компьютерных систем.
Прикладной задачей является:
· раскрытие терминологического аппарата по безопасности клиентских операционных систем, общих принципов защиты операционных систем;
· представление о возможных угрозах клиентским операционным системам;
· изучение нормативных требований и руководящих документов по обеспечению безопасности клиентских операционных систем;
· обучение методикам проведения мероприятий защиты клиентских операционных систем.
В результате изучения курса студенты должны:
Знать:
· основные определения и положения безопасности клиентских операционных систем;
· классификацию угроз и уязвимостей существующим клиентским операционным системам;
· основные защитные механизмы клиентских операционных систем;
· программно-аппаратные средства защиты клиентских операционных систем;
· встроенные механизмы защиты современных клиентских операционных систем;
· добавочные средства защиты информации для клиентских операционных систем;
· руководящие документы регламентирующие безопасность клиентских операционных систем.
Уметь:
· четко классифицировать угрозы безопасности клиентским операционным системам;
· описать процесс принятия решения при выборе технологии;
· разрабатывать и внедрять модели обеспечения безопасности клиентским операционным системам;
· проводить протоколирование и аудит безопасности клиентских операционных систем;
· спроектировать комплексную систему безопасности.
Приобрести навыки:
· практической работы со специализированным, прикладным программным обеспечением безопасности клиентских операционных систем;
· применение стандартов и разработки политики безопасности клиентских операционных систем;
· оценки безопасности клиентских операционных систем;
· подбора экспертных систем для решения различных задач.
Иметь представление:
· о безопасности клиентских операционных систем как части системы обеспечения информационной безопасности и защите информации в информационных системах;
· о требованиях международных и отечественных нормативных документов (стандартов) по обеспечению безопасности клиентских операционных систем;
· о принципах построения и концептуальных основах операционных систем;
· об управлении задачами и памятью в операционных системах;
· об управлении файлами и вводом-выводом в операционных системах;
· основные понятия и положения защиты информации в информационно вычислительных системах;
· об угрозах безопасности информации в информационно-вычислительных системах;
· о моделях безопасности основных клиентских операционных систем.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Стремительное развитие информационных технологий привело к формированию информационной среды, оказывающей влияние на все сферы человеческой деятельности. Однако с развитием информационных технологий возникают и стремительно растут риски, связанные с их использованием, появляются совершенно новые угрозы, с последствиями, от реализации которых человечество раньше не сталкивалось.
Одним из главных инструментов для реализации конкретных информационных технологий являются информационные системы, задача обеспечения безопасности которых является приоритетной, так как от сохранения конфиденциальности, целостности и доступности информационных ресурсов зависит результат деятельности информационных систем.
Операционная система является важнейшим программным компонентом любой вычислительной машины, поэтому от уровня реализации политики безопасности в каждой конкретной операционной системе во многом зависит и общая безопасность информационной системы.
В связи с этим знания в области современных методов и средств обеспечения безопасности операционных систем являются необходимым условием для формирования специалиста по информационной безопасности.
Появление общего программного обеспечения в ЭВМ относят к 1953 г., когда в СССР появилась одна из первых теоретических работ по автоматизации программирования для цифровых ЭВМ (А. П. Ершов), а в Массачусетском технологическом институте (США) была создана экспериментальная «операционная система», применявшаяся в учебных целях. Затем появились специализированные операционные системы (ОС) для обслуживания оборонных вычислительных систем реального времени. Однако эти разработки имели экспериментальный, исследовательский характер и широкого распространения в то время не получили. Тем не менее, потребности практического использования ЭВМ в различных предметных областях, необходимость более эффективного использования ЭВМ, повышение производительности труда разработчиков программного обеспечения, а также стремление расширить рынок сбыта ЭВМ вызвали стремительный прогресс в создании теории и инструментальных средств общего программного обеспечения вычислительных систем.
Построение вычислительных машин основано на трех принципах:
1. Принцип цифрового представления данных (чисел, команд, обозначение операций, букв, слов и т. д.). Единицами данных в ЭВМ являются бит, байт, слово и т. п.
2. Принцип адресности данных – все данные и любые объекты программы хранятся в ячейках памяти, имеющих адрес.
3. Принцип программного управления (Ч. Беббидж, 1834 г.)– управление вычислительным процессом осуществляется с помощью программы, находящейся в памяти ЭВМ.
Все универсальные вычислительные машины, в том числе и персональные компьютеры, имеют структуру, показанную на рис.1.
Впервые такую структуру вычислительных машин предложил Джон фон Нейман в 1945 г., поэтому ЭВМ с такой структурой называют машинами фон Неймана.

Рис. 1. Общая структура универсальной ЭВМ: АЛУ – арифметическо-логическое устройство; УУ – устройство управления; ВУ – внешние устройства; ОЗУ – оперативное запоминающее устройство
Конкретная аппаратурная реализация схемы изменялась от поколения к поколению ЭВМ. Например, в современных компьютерах АЛУ и УУ объединены в единое устройство – центральный процессор. Кроме того, в ЭВМ ввели систему прерываний. Появились многопроцессорные ЭВМ, позволяющие осуществлять параллельную обработку данных в компьютере. Тем не менее, функциональная структура существующих компьютеров в основном соответствует структуре машины фон Неймана.
Архитектура вычислительной системы – общая логическая организация цифровой вычислительной системы, определяющая процесс обработки данных в конкретной вычислительной системе и включающая методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения.
Большинство из выпускаемых сейчас компьютеров выполнено в соответствии с принципом открытой архитектуры, впервые примененном в персональной ЭВМ IBM PC (фирма IBM, 1981 г.).
Классификация программных средств.
Программное обеспечение вычислительных систем принято делить на следующие виды:
· общее (системное) программное обеспечение (ОПО);
· специальное программное обеспечение (СПО).
Введем ряд определений.
В состав общего программного обеспечения вычислительных систем входят:
· программные средства управления обработкой данных, включая операционные системы;
· обслуживающие (сервисные) программы (утилиты);
· инструментальные программные средства.
Специальное ПО делят на следующие виды:
· прикладные программы (приложение) общего назначения;
· прикладные программы пользователя.
Прикладные программы общего назначения можно разделить на следующие группы:
· программа офисного назначения;
· программа экономического назначения;
· издательские системы;
· компьютерная графика, видео, анимация и звук;
· системы управления базами данных;
· прочие прикладные программы общего назначения.
Можно видеть, что современные компьютеры и их программное обеспечение глубоко внедрилось практически во все сферы человеческой деятельности: науку, производство, экономику, право и т. д.
Функционирование прикладных программ любого назначения происходит под управлением и при участии программ, относящихся к категории системного программного обеспечения.
Место и функции системного программного обеспечения.
Системное ПО играет роль «прослойки» между пользователем и техническими средствами вычислительной системы. На различных этапах работы с компьютером в качестве такой «прослойки» выступают разные программы и пакеты программ системного ПО, выполняя при этом отличающиеся назначением функции.
Основой системного ПО является операционная система.
Операционная система (ОС) цифровой вычислительной системы – система программ, предназначенная для обеспечения определенного уровня эффективности цифровой вычислительной системы за счет автоматизированного управления ее работой и предоставляемого пользователям набора услуг.
Основными функциями ОС являются:
· автоматическое выполнение действий по запуску задач в обработку и их завершению;
· диспетчеризация (планирование обработки задач);
· распределение памяти между различными задачами;
· управление ходом выполнения задач в вычислительной системе;
· распределение задачам необходимых ресурсов ВС;
· синхронизация выполнения задач;
· поддержка выполнения операций ввода/вывода данных;
· ведение учета работы системы (при необходимости).
Выполнение своих функций ОС осуществляется с помощью соответствующих программных комплексов управления, которые носят название супервизорных программ (супервизоров или менеджеров).
Супервизорная программа – машинная программа, являющаяся обычно частью операционной системы, которая управляет выполнением других машинных программ и регулирует поток работ в системе управления данными.
Супервизор – часть управляющей программы, координирующая распределение ресурсов вычислительной системы.
В целом современные операционные системы представляют собой иерархическую структуру (рис. 2).

Рис. 2. Структура операционной системы
В основе иерархии находится аппаратура вычислительной машины, называемая иногда «чистой машиной» или «голым железом».
На следующем уровне иерархии (иногда на следующих нескольких уровнях) находятся некоторые функции ядра операционной системы. В совокупности с этими функциями ядра (называемыми еще «примитивами») компьютер становится расширенной машиной, т. е. машиной, которая представляет для операционной системы и пользователей не только свой машинный язык, но и ряд дополнительных возможностей.
Выше над ядром расположены программы ОС для обеспечения выполнения задач пользователя (управления внешними устройствами, обслуживание операций ввода/вывода и т. п.). На вершине иерархии находятся программы пользователя.
В подобных иерархических системах принято, как правило, следующее ограничение: допускается обращение только сверху вниз в иерархии, т. е. средства каждого уровня могут обращаться только к тем функциям, которые находятся на ближайшем нижележащем уровне.
Обслуживающие (сервисные) программы (утилиты) предназначены для выполнения различных вспомогательных функций и разделяются на следующие типы: программы-упаковщики (архиваторы); антивирусные программы; программы резервирования; программы диагностики компьютера; программы оптимизации дисков; программы динамического сжатия дисков.
Инструментальные программные средства, называемые также средствами разработки приложений и системами программирования, являются орудием автоматизации разработок программного обеспечения ЭВМ, обеспечивающим повышение производительности труда разработчиков и надежности ПО.
К инструментальным программным средствам относятся:
· компиляторы и интерпретаторы;
· автономные отладчики (дебагеры, от англ. Debug «удаление насекомых»);
· интегрированные оболочки;
· средства создания приложений типа клиент-сервер и т. п.
Существующие инструментальные программные средства обеспечивают разработчиков ПО всем необходимым набором функций для создания мощного программного обеспечения решения прикладных задач любой мощности для практически всех предметных областей.
Принципы работы вычислительной системы.
Всякая вычислительная система создается для решения некоторого множества вычислительных или информационных задач, которые в совокупности называются задачами обработки данных.
Для успешного решения любой задачи в вычислительной системе необходимо иметь:
· программу, реализующую алгоритм решения задачи;
· аппаратные средства ВС для ввода программы, выполнения программы, получения дополнительной информации и вывода результатов;
· дополнительные программные средства, необходимые для решения прикладной задачи (стандартные программы).
Существует три вида систем обработки данных (СОД), отличающихся друг от друга требованиями к скорости получения результатов решения задач:
· системы реального времени (СРВ), в которых требования к скорости обработки информации очень высокие из-за необходимости решения задач в темпе реального времени (примером являются системы навигации и управления летательными аппаратами);
· системы оперативной обработки (СОО), в которых планирование заданий на обработку данных осуществляется, исходя из требования минимальности времени выполнения каждого полученного задания. Примером такого вида систем является система обработки данных для персонала боевых расчетов пунктов управления;
· системы пакетной обработки (СПО), в которых основным требованием является минимизация простоя оборудования при решении поставленных задач.
Запуск прикладной программы в работу, предоставление ей необходимых аппаратных мощностей и программных средств осуществляется операционной системой.
Из чего состоит любая вычислительная система?
Во-первых, из того, что в англоязычных странах принято называть словом hardware, или техническое обеспечение: процессор, память, монитор, дисковые устройства и т.д., объединенные магистральным соединением, которое называется шиной. Некоторые сведения об архитектуре компьютера имеются в приложении 1 к настоящей лекции.
Во-вторых, вычислительная система состоит из программного обеспечения. Все программное обеспечение принято делить на две части: прикладное и системное. К прикладному программному обеспечению, как правило, относятся разнообразные банковские и прочие бизнес-программы, игры, текстовые процессоры и т. п.
Под системным программным обеспечением, как было уже сказано, обычно понимают программы, способствующие функционированию и разработке прикладных программ. Надо сказать, что деление на прикладное и системное программное обеспечение является отчасти условным и зависит от того, кто осуществляет такое деление. Так, обычный пользователь, неискушенный в программировании, может считать Microsoft Word системной программой, а, с точки зрения программиста, это – приложение. Компилятор языка Си для обычного программиста – системная программа, а для системного – прикладная. Несмотря на эту нечеткую грань, данную ситуацию можно отобразить в виде последовательности слоев (см. рис. 3), выделив отдельно наиболее общую часть системного программного обеспечения – операционную систему:

Рис. 3. Слои программного обеспечения компьютерной системы
Что такое ОС?
Большинство пользователей имеет опыт эксплуатации операционных систем, но тем не менее они затруднятся дать этому понятию точное определение. Давайте кратко рассмотрим основные точки зрения.
Операционная система как виртуальная машина.
При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером.
Архитектура большинства компьютеров на уровне машинных команд очень неудобна для использования прикладными программами. Например, работа с диском предполагает знание внутреннего устройства его электронного компонента – контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т. д. Ясно, что средний программист не в состоянии учитывать все особенности работы оборудования (в современной терминологии – заниматься разработкой драйверов устройств), а должен иметь простую высокоуровневую абстракцию, скажем, представляя информационное пространство диска как набор файлов. Файл можно открывать для чтения или записи, использовать для получения или сброса информации, а потом закрывать. Это концептуально проще, чем заботиться о деталях перемещения головок дисков или организации работы мотора. Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные подробности организации прерываний, работы таймера, управления памятью и т. д. Более того, на современных вычислительных комплексах можно создать иллюзию неограниченного размера оперативной памяти и числа процессоров. Всем этим занимается операционная система. Таким образом, операционная система представляется пользователю виртуальной машиной, с которой проще иметь дело, чем непосредственно с оборудованием компьютера.
Операционная система как менеджер ресурсов.
Операционная система предназначена для управления всеми частями весьма сложной архитектуры компьютера. Представим, к примеру, что произойдет, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер. Мы получили бы мешанину строчек и страниц, выведенных различными программами. Операционная система предотвращает такого рода хаос за счет буферизации информации, предназначенной для печати, на диске и организации очереди на печать. Для многопользовательских компьютеров необходимость управления ресурсами и их защиты еще более очевидна. Следовательно, операционная система, как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
Операционная система как защитник пользователей и программ.
Если вычислительная система допускает совместную работу нескольких пользователей, то возникает проблема организации их безопасной деятельности. Необходимо обеспечить сохранность информации на диске, чтобы никто не мог удалить или повредить чужие файлы. Нельзя разрешить программам одних пользователей произвольно вмешиваться в работу программ других пользователей. Нужно пресекать попытки несанкционированного использования вычислительной системы. Всю эту деятельность осуществляет операционная система как организатор безопасной работы пользователей и их программ. С такой точки зрения операционная система представляется системой безопасности государства, на которую возложены полицейские и контрразведывательные функции.
Операционная система как постоянно функционирующее ядро.
Наконец, можно дать и такое определение: операционная система – это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами. Казалось бы, это абсолютно правильное определение, но, как мы увидим дальше, во многих современных операционных системах постоянно работает на компьютере лишь часть операционной системы, которую принято называть ее ядром.
Как мы видим, существует много точек зрения на то, что такое операционная система. Невозможно дать ей адекватное строгое определение. Нам проще сказать не что есть операционная система, а для чего она нужна и что она делает. Для выяснения этого вопроса рассмотрим историю развития вычислительных систем.
Краткая история эволюции вычислительных систем.
Мы будем рассматривать историю развития именно вычислительных, а не операционных систем, потому что hardware и программное обеспечение эволюционировали совместно, оказывая взаимное влияние друг на друга. Появление новых технических возможностей приводило к прорыву в области создания удобных, эффективных и безопасных программ, а свежие идеи в программной области стимулировали поиски новых технических решений. Именно эти критерии – удобство, эффективность и безопасность – играли роль факторов естественного отбора при эволюции вычислительных систем.
Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет.
Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств).
Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей.
Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.
Существенная часть времени уходила на подготовку запуска программы, а сами программы выполнялись строго последовательно. Такой режим работы называется последовательной обработкой данных. В целом первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования.
Второй период (1955 г.– начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы.
С середины 50-х годов начался следующий период в эволюции вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов. Применение транзисторов вместо часто перегоравших электронных ламп привело к повышению надежности компьютеров. Теперь машины могут непрерывно работать достаточно долго, чтобы на них можно было возложить выполнение практически важных задач. Снижается потребление вычислительными машинами электроэнергии, совершенствуются системы охлаждения. Размеры компьютеров уменьшились. Снизилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование ЭВМ коммерческими фирмами. Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появляются первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упрощается процесс программирования. Пропадает необходимость взваливать на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.
Изменяется сам процесс прогона программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает необходимые ресурсы. Такая колода получает название задания. Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно продолжительное) время.
Смена запрошенных ресурсов вызывает приостановку выполнения программ, в результате процессор часто простаивает. Для повышения эффективности использования компьютера задания с похожими ресурсами начинают собирать вместе, создавая пакет заданий.
Появляются первые системы пакетной обработки, которые просто автоматизируют запуск одной программы из пакета за другой и тем самым увеличивают коэффициент загрузки процессора. При реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Системы пакетной обработки стали прообразом современных операционных систем, они были первыми системными программами, предназначенными для управления вычислительным процессом.
Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС.
Следующий важный период развития вычислительных машин относится к началу 60-х – 1980 г. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Вычислительная техника становится более надежной и дешевой. Растет сложность и количество задач, решаемых компьютерами. Повышается производительность процессоров.
Повышению эффективности использования процессорного времени мешает низкая скорость работы механических устройств ввода-вывода (быстрый считыватель перфокарт мог обработать 1200 перфокарт в минуту, принтеры печатали до 600 строк в минуту). Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а печатается только после завершения задания. Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line) или подкачки-откачки данных. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.
Магнитные ленты были устройствами последовательного доступа, то есть информация считывалась с них в том порядке, в каком была записана. Появление магнитного диска, для которого не важен порядок чтения информации, то есть устройства прямого доступа, привело к дальнейшему развитию вычислительных систем. При обработке пакета заданий на магнитной ленте очередность запуска заданий определялась порядком их ввода. При обработке пакета заданий на магнитном диске появилась возможность выбора очередного выполняемого задания. Пакетные системы начинают заниматься планированием заданий: в зависимости от наличия запрошенных ресурсов, срочности вычислений и т.д. на счет выбирается то или иное задание.
Дальнейшее повышение эффективности использования процессора было достигнуто с помощью мультипрограммирования. Идея мультипрограммирования заключается в следующем: пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы. Эта идея напоминает поведение преподавателя и студентов на экзамене. Пока один студент (программа) обдумывает ответ на вопрос (операция ввода-вывода), преподаватель (процессор) выслушивает ответ другого студента (вычисления). Естественно, такая ситуация требует наличия в комнате нескольких студентов. Точно так же мультипрограммирование требует наличия в памяти нескольких программ одновременно. При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом, и не должна влиять на выполнение другой программы. (Студенты сидят за отдельными столами и не подсказывают друг другу.)
Появление мультипрограммирования требует настоящей революции в строении вычислительной системы. Особую роль здесь играет аппаратная поддержка (многие аппаратные новшества появились еще на предыдущем этапе эволюции), наиболее существенные особенности которой перечислены ниже.
Реализация защитных механизмов. Программы не должны иметь самостоятельного доступа к распределению ресурсов, что приводит к появлению привилегированных и непривилегированных команд. Привилегированные команды, например команды ввода-вывода, могут исполняться только операционной системой. Говорят, что она работает в привилегированном режиме. Переход управления от прикладной программы к ОС сопровождается контролируемой сменой режима. Кроме того, это защита памяти, позволяющая изолировать конкурирующие пользовательские программы друг от друга, а ОС – от программ пользователей.
Наличие прерываний. Внешние прерывания оповещают ОС о том, что произошло асинхронное событие, например, завершилась операция ввода-вывода. Внутренние прерывания (сейчас их принято называть исключительными ситуациями) возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС, например деление на ноль или попытка нарушения защиты.
Развитие параллелизма в архитектуре. Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.
Не менее важна в организации мультипрограммирования роль операционной системы. Она отвечает за следующие операции.
Организация интерфейса между прикладной программой и ОС при помощи системных вызовов.
Организация очереди из заданий в памяти и выделение процессора одному из заданий потребовало планирования использования процессора.
Переключение с одного задания на другое требует сохранения содержимого регистров и структур данных, необходимых для выполнения задания, иначе говоря, контекста для обеспечения правильного продолжения вычислений.
Поскольку память является ограниченным ресурсом, нужны стратегии управления памятью, то есть требуется упорядочить процессы размещения, замещения и выборки информации из памяти.
Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.
Поскольку программам может потребоваться произвести санкционированный обмен данными, необходимо их обеспечить средствами коммуникации.
Для корректного обмена данными необходимо разрешать конфликтные ситуации, возникающие при работе с различными ресурсами и предусмотреть координацию программами своих действий, т.е. снабдить систему средствами синхронизации.
Мультипрограммные системы обеспечили возможность более эффективного использования системных ресурсов (например, процессора, памяти, периферийных устройств), но они еще долго оставались пакетными. Пользователь не мог непосредственно взаимодействовать с заданием и должен был предусмотреть с помощью управляющих карт все возможные ситуации. Отладка программ по-прежнему занимала много времени и требовала изучения многостраничных распечаток содержимого памяти и регистров или использования отладочной печати.
Появление электронно-лучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы. Логическим расширением систем мультипрограммирования стали time-sharing системы, или системы разделения времени. В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного времени. Эти переключения происходят так часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В результате появляется возможность одновременной работы нескольких пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти. Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске, и фрагмент, который необходимо в данный момент выполнять, может быть загружен в оперативную память, а ненужный – выкачан обратно на диск. Это реализуется с помощью механизма виртуальной памяти. Основным достоинством такого механизма является создание иллюзии неограниченной оперативной памяти ЭВМ.
В системах разделения времени пользователь получил возможность эффективно производить отладку программы в интерактивном режиме и записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line-файлов привело к необходимости разработки развитых файловых систем.
Параллельно внутренней эволюции вычислительных систем происходила и внешняя их эволюция. До начала этого периода вычислительные комплексы были, как правило, несовместимы. Каждый имел собственную операционную систему, свою систему команд и т. д. В результате программу, успешно работающую на одном типе машин, необходимо было полностью переписывать и заново отлаживать для выполнения на компьютерах другого типа. В начале третьего периода появилась идея создания семейств программно совместимых машин, работающих под управлением одной и той же операционной системы. Первым семейством программно совместимых компьютеров, построенных на интегральных микросхемах, стала серия машин IBM/360. Разработанное в начале 60-х годов, это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ним последовала линия компьютеров PDP, несовместимых с линией IBM, и лучшей моделью в ней стала PDP-11.
Сила "одной семьи" была одновременно и ее слабостью. Широкие возможности этой концепции (наличие всех моделей: от мини-компьютеров до гигантских машин; обилие разнообразной периферии; различное окружение; различные пользователи) порождали сложную и громоздкую операционную систему. Миллионы строчек Ассемблера, написанные тысячами программистов, содержали множество ошибок, что вызывало непрерывный поток публикаций о них и попыток исправления. Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.
Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы.
Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и снижение стоимости микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т. п.).
Компьютеры стали использоваться не только специалистами, что потребовало разработки "дружественного" программного обеспечения.
Однако рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем.
В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.
В сетевых операционных системах пользователи могут получить доступ к ресурсам другого сетевого компьютера, только они должны знать об их наличии и уметь это сделать. Каждая машина в сети работает под управлением своей локальной операционной системы, отличающейся от операционной системы автономного компьютера наличием дополнительных средств (программной поддержкой для сетевых интерфейсных устройств и доступа к удаленным ресурсам), но эти дополнения не меняют структуру операционной системы.
Распределенная система, напротив, внешне выглядит как обычная автономная система. Пользователь не знает и не должен знать, где его файлы хранятся – на локальной или удаленной машине – и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем.
В дальнейшем автономные операционные системы мы будем называть классическими операционными системами.
Просмотрев этапы развития вычислительных систем, мы можем выделить шесть основных функций, которые выполняли классические операционные системы в процессе эволюции:
· Планирование заданий и использования процессора.
· Обеспечение программ средствами коммуникации и синхронизации.
· Управление памятью.
· Управление файловой системой.
· Управление вводом-выводом.
· Обеспечение безопасности
Каждая из приведенных функций обычно реализована в виде подсистемы, являющейся структурным компонентом ОС. В каждой операционной системе эти функции, конечно, реализовывались по-своему, в различном объеме. Они не были изначально придуманы как составные части операционных систем, а появились в процессе развития, по мере того как вычислительные системы становились все более удобными, эффективными и безопасными. Эволюция вычислительных систем, созданных человеком, пошла по такому пути, но никто еще не доказал, что это единственно возможный путь их развития. Операционные системы существуют потому, что на данный момент их существование – это разумный способ использования вычислительных систем. Рассмотрение общих принципов и алгоритмов реализации их функций и составляет содержание большей части нашего курса, в котором будут последовательно описаны перечисленные подсистемы.
Основные понятия, концепции ОС.
В процессе эволюции возникло несколько важных концепций, которые стали неотъемлемой частью теории и практики ОС. Рассматриваемые в данном разделе понятия будут встречаться и разъясняться на протяжении всего курса. Здесь дается их краткое описание.
Системные вызовы.
В любой операционной системе поддерживается механизм, который позволяет пользовательским программам обращаться к услугам ядра ОС. В операционных системах наиболее известной советской вычислительной машины БЭСМ-6 соответствующие средства "общения" с ядром назывались экстракодами, в операционных системах IBM они назывались системными макрокомандами и т.д. В ОС Unix такие средства называют системными вызовами.
Системные вызовы (system calls) – это интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис у операционной системы, осуществляя системный вызов. Имеются библиотеки процедур, которые загружают машинные регистры определенными параметрами и осуществляют прерывание процессора, после чего управление передается обработчику данного вызова, входящему в ядро операционной системы. Цель таких библиотек – сделать системный вызов похожим на обычный вызов подпрограммы.
Основное отличие состоит в том, что при системном вызове задача переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями.
В этом режиме работает код ядра операционной системы, причем исполняется он в адресном пространстве и в контексте вызвавшей его задачи. Таким образом, ядро операционной системы имеет полный доступ к памяти пользовательской программы, и при системном вызове достаточно передать адреса одной или нескольких областей памяти с параметрами вызова и адреса одной или нескольких областей памяти для результатов вызова.
В большинстве операционных систем системный вызов осуществляется командой программного прерывания (INT). Программное прерывание – это синхронное событие, которое может быть повторено при выполнении одного и того же программного кода.
Прерывания.
Прерывание (hardware interrupt) – это событие, генерируемое внешним (по отношению к процессору) устройством. Посредством аппаратных прерываний аппаратура либо информирует центральный процессор о том, что произошло какое-либо событие, требующее немедленной реакции (например, пользователь нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (например, закончено чтение данных с диска в основную память). Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически через фиксированный промежуток времени. Прерывания таймера используются операционной системой при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания. Аппаратное прерывание – это асинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.
Исключительные ситуации.
Исключительная ситуация (exception) – событие, возникающее в результате попытки выполнения программой команды, которая по каким-то причинам не может быть выполнена до конца. Примерами таких команд могут быть попытки доступа к ресурсу при отсутствии достаточных привилегий или обращения к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи. Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти. После устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). Обычно в таких случаях операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.
Файлы.
Файлы предназначены для хранения информации на внешних носителях, то есть принято, что информация, записанная, например, на диске, должна находиться внутри файла. Обычно под файлом понимают именованную часть пространства на носителе информации.
Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.
Процессы, нити.
Концепция процесса в ОС одна из наиболее фундаментальных. О ней будет изложено в следующих лекция
Архитектурные особенности ОС.
До сих пор мы говорили о взгляде на операционные системы извне, о том, что делают операционные системы. Дальнейший наш курс будет посвящен тому, как они это делают. Но мы пока ничего не сказали о том, что они представляют собой изнутри, какие подходы существуют к их построению.
Монолитное ядро.
По сути дела, операционная система – это обычная программа, поэтому было бы логично и организовать ее так же, как устроено большинство программ, то есть составить из процедур и функций. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (monolithic kernel). Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме. Таким образом, монолитное ядро – это такая схема операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур. Для монолитной операционной системы ядро совпадает со всей системой.
Во многих операционных системах с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который устанавливается операционная система. При этом можно выбрать список оборудования и программных протоколов, поддержка которых будет включена в ядро. Так как ядро является единой программой, перекомпиляция – это единственный способ добавить в него новые компоненты или исключить неиспользуемые. Следует отметить, что присутствие в ядре лишних компонентов крайне нежелательно, так как ядро всегда полностью располагается в оперативной памяти. Кроме того, исключение ненужных компонентов повышает надежность операционной системы в целом.
Монолитное ядро – старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство Unix-систем.
Даже в монолитных системах можно выделить некоторую структуру. Как в бетонной глыбе можно различить вкрапления щебенки, так и в монолитном ядре выделяются вкрапления сервисных процедур, соответствующих системным вызовам. Сервисные процедуры выполняются в привилегированном режиме, тогда как пользовательские программы – в непривилегированном. Для перехода с одного уровня привилегий на другой иногда может использоваться главная сервисная программа, определяющая, какой именно системный вызов был сделан, корректность входных данных для этого вызова и передающая управление соответствующей сервисной процедуре с переходом в привилегированный режим работы. Иногда выделяют также набор программных утилит, которые помогают выполнять сервисные процедуры.
Многоуровневые системы (Layered systems).
Продолжая структуризацию, можно разбить всю вычислительную систему на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1. Нижним уровнем в таких системах обычно является hardware, верхним уровнем – интерфейс пользователя. Чем ниже уровень, тем более привилегированные команды и действия может выполнять модуль, находящийся на этом уровне. Впервые такой подход был применен при создании системы THE (Technishe Hogeschool Eindhoven) Дейкстрой (Dijkstra) и его студентами в 1968 г. Эта система имела следующие уровни:
Рис. 4. Слоеная система THE
Слоеные системы хорошо реализуются. При использовании операций нижнего слоя не нужно знать, как они реализованы, нужно лишь понимать, что они делают. Слоеные системы хорошо тестируются. Отладка начинается с нижнего слоя и проводится послойно. При возникновении ошибки мы можем быть уверены, что она находится в тестируемом слое. Слоеные системы хорошо модифицируются. При необходимости можно заменить лишь один слой, не трогая остальные. Но слоеные системы сложны для разработки: тяжело правильно определить порядок слоев и что к какому слою относится. Слоеные системы менее эффективны, чем монолитные. Так, например, для выполнения операций ввода-вывода программе пользователя придется последовательно проходить все слои от верхнего до нижнего.
Виртуальные машины.
В начале лекции мы говорили о взгляде на операционную систему как на виртуальную машину, когда пользователю нет необходимости знать детали внутреннего устройства компьютера. Он работает с файлами, а не с магнитными головками и двигателем; он работает с огромной виртуальной, а не ограниченной реальной оперативной памятью; его мало волнует, единственный он на машине пользователь или нет. Рассмотрим несколько иной подход. Пусть операционная система реализует виртуальную машину для каждого пользователя, но не упрощая ему жизнь, а, наоборот, усложняя. Каждая такая виртуальная машина предстает перед пользователем как голое железо – копия всего hardware в вычислительной системе, включая процессор, привилегированные и непривилегированные команды, устройства ввода-вывода, прерывания и т.д. И он остается с этим железом один на один. При попытке обратиться к такому виртуальному железу на уровне привилегированных команд в действительности происходит системный вызов реальной операционной системы, которая и производит все необходимые действия. Такой подход позволяет каждому пользователю загрузить свою операционную систему на виртуальную машину и делать с ней все, что душа пожелает.

Рис. 5. Вариант виртуальной машины
Первой реальной системой такого рода была система CP/CMS, или VM/370, как ее называют сейчас, для семейства машин IBM/370.
Недостатком таких операционных систем является снижение эффективности виртуальных машин по сравнению с реальным компьютером, и, как правило, они очень громоздки. Преимущество же заключается в использовании на одной вычислительной системе программ, написанных для разных операционных систем.
Микроядерная архитектура.
Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью.
Рис. 6. Микроядерная архитектура операционной системы
Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро.
Основное достоинство микроядерной архитектуры – высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с передачей сообщений, что существенно влияет на производительность. Для того чтобы микроядерная операционная система по скорости не уступала операционным системам на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты, стараясь минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных операционных систем – необходимость очень аккуратного проектирования.
Смешанные системы.
Все рассмотренные подходы к построению операционных систем имеют свои достоинства и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Так, например, ядро операционной системы Linux представляет собой монолитную систему с элементами микроядерной архитектуры. При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра – так называемых модулей. В момент загрузки модуля его код загружается на уровне системы и связывается с остальной частью ядра. Внутри модуля могут использоваться любые экспортируемые ядром функции.
Другим примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком велико (более 1 Мбайт), чтобы носить приставку "микро". Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В то же время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. По мнению специалистов Microsoft, причина проста: чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен.
Таким образом, Windows NT можно с полным правом назвать гибридной операционной системой.
Режимы обработки данных.
Порядок представления прикладной программе перечисленных средств определяется режимом обработки данных, реализованных в операционной системе ЭВМ. Различают однопрограммные и мультипрограммные режимы обработки данных и, соответственно, работы ОС.
К однопрограммным режимам относятся:
· режим непосредственного доступа (РНД);
· пакетный однопрограммный режим (П1П).
Мультипрограммными режимами обработки данных являются:
· пакетный мультипрограммный режим (ПМП);
· режим разделения времени (РРВ).
Однопрограммные режимы обработки данных.
Режим непосредственного доступа широко применялся в ЭВМ первого поколения и используется при работе с современными персональными компьютерами. РНД характерен тем, что ЭВМ предоставляется только одному пользователю, который осуществляет взаимодействие с машиной посредством пульта управления (сейчас – клавиатура, мыши и дисплеи). Время решения каждой задачи в РНД складывается из времени Тт ввода программы и данных в ЭВМ, времени Тр работы процессора над решением задачи, времени Тву обмена данными с внешними устройствами (включая вывод результатов и обработки), времени Tоп обслуживания ЭВМ и задачи оператором ЭВМ при ее подготовке к запуску и по окончании решения задачи:
![]()
Коэффициент загрузки процессора при одной задаче составляет
![]()
Полное время решения N задач и коэффициент загрузки:


где i – номер задачи.
В РНД наличие ОС не обязательно.
Недостатками РНД являются:
· аппаратура и программы ЭВМ используются не эффективно;
· велики затраты времени программиста на управление машиной;
· предъявляются высокие требования к подготовке пользователя как оператора вычислительной машины.
Пакетный однопрограммный режим применяется в ВС, начиная с ЭВМ второго поколения. Несколько заданий для решения задач обработки собираются в один пакет, называемый пакет заданий (ПЗ). Пакет заданий оператор ЭВМ вводит в ЭВМ, где ПЗ сначала записывается во внешнюю память (магнитные диски, магнитные барабаны и т. п.). Затем операционная система машины последовательно считывает задания, входящие в ПЗ, и осуществляет выполнение необходимых в соответствиями с заданиями действий для решения задач пользователей. После завершения очередного задания происходит обращение к ОС, которая активирует начало выполнения следующего. После завершения последнего задания пакета оператор ЭВМ загружает в машину новый пакет заданий.
Режим П1П обладает следующими положительными чертами:
· более высокая пропускная способность;
· отсутствие специальных требований к аппаратуре ЭВМ;
· возможна его реализация на любой ЭВМ.
К недостаткам режима П1П относятся:
· необходимо наличие операционной системы;
· пользователь физически отделен от ЭВМ и решаемой им задачи;
· увеличивается реакция пользователя на полученные результаты решения;
· последовательный порядок выполнения заданий пакетов не позволяет увеличить загрузку оборудования вычислительной системы.
Многопрограммные режимы обработки данных.
Пакетный мультипрограммный режим широко применяется в ЭВМ третьего и последующих поколений.
ПМП является режимом классического мультипрограммирования, при котором в вычислительной системе находятся в обработке сразу несколько заданий. На входе в систему формируется набор пакетов заданий, которые оператор ЭВМ загружает в систему. После окончания ввода первого ПЗ операционная система начинает его обработку, не дожидаясь ввода второго и последующих ПЗ. Задания, принадлежащие одному пакету, выполняются последовательно (т. е. в режиме П1П). Задания, принадлежащие разным пакетам, выполняются параллельно. Первым начинает выполняться первое задание первого пакета. По мере освобождения ресурсов ОС активизирует выполнение заданий из других пакетов в порядке их следования внутри ПЗ.
Пакетный мультипрограммный режим обеспечивает наивысшую пропускную способность вычислительной системы, что достигается при наличии в ЭВМ следующих аппаратных средств:
· автономно управляемые внешние устройства;
· развитая система прерывания программ;
· средства защиты памяти от взаимного влияния программ.
Основным недостатком режима ПМП является практически полное устранение пользователя из системы и, как следствие, отсутствие связи пользователя со своей задачей.
Режим разделения времени существенно отличается от классического мультипрограммирования, реализованного в ПМП, и является в настоящее время основным режимом функционирования операционных систем. Главное в режиме разделения времени – это предоставление каждой задаче (или пользователю, работающему в диалоге с машиной) ресурсов ЭВМ на некоторый ограниченный интервал времени (квант). По истечении кванта времени данная программа свертывается операционной системой, развертывается следующая по очереди программа (или подключается следующий терминал пользователя), которой предоставляются ресурсы ЭВМ и т. д.
Режимы и дисциплины обслуживания.
Порядок обслуживания заданий (заявок на работу) в операционных системах с мультипрограммированием, т. е. реализующих режимы ПМП или РРВ, определяются принятыми в них режимами обслуживания и дисциплинами обслуживания.
Режимы обслуживания.
Режимом обслуживания называется правило отбора заявок на обслуживание.
Режимы обслуживания делятся на три вида:
· режим одиночного отбора заявок;
· режим группового отбора, когда на обслуживание отбирается вся очередь заявок определенного типа;
· смешанный режим отбора, когда для одних классов заявок производится одиночный отбор, а для других групповой.
Дисциплины обслуживания.
Дисциплиной обслуживания называется правило отбора заявок на обслуживание при заданном режиме обслуживания.
Для каждого из режимов обслуживания может быть применен один из следующих видов дисциплин обслуживания:
· бесприоритетное обслуживание;
· обслуживание с приоритетом;
· обслуживание по расписанию.
Разновидности дисциплины бесприоритетного обслуживания:
1. ОПП – обслуживание в порядке поступления («первый пришел – первый обслужен», FIFO);
2. ООП – обслуживание в обратном порядке («первый пришел – последний обслужен», LIFO);
3. ОСП – обслуживание в случайном порядке.
При бесприоритетном обслуживании считается, что все заявки имеют равное право на обслуживание.
Если требуется, чтобы заявки некоторого типа имели преимущества перед другими на их обслуживание операционной системой, то применяется дисциплина обслуживания с приоритетами:
· ДОП – дисциплина обслуживания с относительными приоритетами, когда приоритет заявки влияет только на ее место в очереди заявок на обслуживание;
· ДАП – дисциплина с абсолютными приоритетами, когда высоко приоритетная заявка получает преимущества не только перед заявками, стоящими в очереди, но и перед заявкой, получающей обслуживание;
· ДСП – дисциплина со смешанными приоритетами, при которой к одним группам заявок применяются относительные приоритеты, а к другим – абсолютные;
· ДДП – дисциплина обслуживания с динамическими приоритетами, когда значение приоритетов заявок может изменяться (расти) по мере их нахождения в очереди, обеспечивая тем самым первоочередное обслуживание заявок, долго находящихся в системе.
Дисциплина обслуживания по расписанию обеспечивает заданный пользователем порядок обработки заданий независимо от очередности их поступления в систему. Она применяется в тех случаях, когда результаты решения одной задачи являются входными данными для другой.
1. А. В. Гордеев. Операционные системы Издательство: Питер, 2009 г. 416 с.
2. Безопасность операционных систем : учебное пособие / А. А. Безбогов, А.В. Яковлев, Ю.Ф. Мартемьянов. - М. : "Издательство Машиностроение", 2007. - 220 с.
3. Олифер В.Г., Олифер Н.А. Сетевые операционные системы Спб.: Издательский дом Питер, 2001
4. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы Спб.: Издательский дом Питер, 2002
5. Операционная система UNIX. Издательство: БХВ-Петербург, 2007 г.
6. Операционные системы.Учебный курс. CD-ROM, 2006 г.
7. Снейдер Й. Эффективное программирование TCP/IP Издательский дом Питер, 2001
8. Соломон Д., Руссинович М. Внутреннее устройство Microsoft Windows 2000 СПб: Издательский дом Питер, М.: Русская редакция, 2001
9. Стивенс У. UNIX: Взаимодействие процессов СПб: Издательский дом Питер, 2002
10. Стивенс У. UNIX: разработка сетевых приложений СПб: Издательский дом Питер, 2003
11. Таненбаум Э. Современные операционные системы СПб.: Издательский дом Питер, 2002
12. Таненбаум Э. Компьютерные сети СПб.: Издательский дом Питер, 2003
13. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы СПб.: Издательский дом Питер, 2003
14. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть1. Основы и принципы. Издательство: Бином-Пресс, 2009 г. 1024 с.
15. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть 2. Распределенные системы, сети, безопасность. Издательство: Бином-Пресс, 2009 г
16. http://vv303.narod.ru/files/inst/olifer/chapter1/default.htm#1
17. http://www.intuit.ru/department/network/mswinserver2003/
18. http://citforum.ru/operating_systems/unix/contents.shtml
Некоторые сведения об архитектуре компьютера
Основными аппаратными компонентами компьютера являются: основная память, центральный процессор и периферийные устройства. Для обмена данными между собой эти компоненты соединены группой проводов, называемой магистралью (см. рис.1).

Рис. 1. Некоторые компоненты компьютера
Основная память используется для запоминания программ и данных в двоичном виде и организована в виде упорядоченного массива ячеек, каждая из которых имеет уникальный цифровой адрес. Как правило, размер ячейки составляет один байт. Типовые операции над основной памятью – считывание и запись содержимого ячейки с определенным адресом.
Выполнение различных операций с данными осуществляется изолированной частью компьютера, называемой центральным процессором (ЦП). ЦП также имеет ячейки для запоминания информации, называемые регистрами. Их разделяют на регистры общего назначения и специализированные регистры. В современных компьютерах емкость регистра обычно составляет 4–8 байт. Регистры общего назначения используются для временного хранения данных и результатов операций. Для обработки информации обычно организовывается передача данных из ячеек памяти в регистры общего назначения, выполнение операции центральным процессором и передача результатов операции в основную память.
Специализированные регистры используются для контроля работы процессора. Наиболее важными являются: программный счетчик, регистр команд и регистр, содержащий информацию о состоянии программы.
Программы хранятся в виде последовательности машинных команд, которые должен выполнять центральный процессор. Каждая команда состоит из поля операции и полей операндов, то есть тех данных, над которыми выполняется данная операция. Весь набор машинных команд называется машинным языком.
Выполнение программы осуществляется следующим образом. Машинная команда, на которую указывает программный счетчик, считывается из памяти и копируется в регистр команд. Здесь она декодируется, после чего исполняется. После выполнения команды программный счетчик указывает на следующую команду. Эти действия, называемые машинным циклом, затем повторяются.
Взаимодействие с периферийными устройствами
Периферийные устройства предназначены для ввода и вывода информации. Каждое устройство обычно имеет в своем составе специализированный компьютер, называемый контроллером или адаптером. Когда контроллер вставляется в разъем на материнской плате, он подключается к шине и получает уникальный номер (адрес). После этого контроллер осуществляет наблюдение за сигналами, идущими по шине, и отвечает на сигналы, адресованные ему.
Любая операция ввода-вывода предполагает диалог между ЦП и контроллером устройства. Когда процессору встречается команда, связанная с вводом-выводом, входящая в состав какой-либо программы, он выполняет ее, посылая сигналы контроллеру устройства. Это так называемый программируемый ввод-вывод.
В свою очередь, любые изменения с внешними устройствами имеют следствием передачу сигнала от устройства к ЦП. С точки зрения ЦП это является асинхронным событием и требует его реакции. Для того чтобы обнаружить такое событие, между машинными циклами процессор опрашивает специальный регистр, содержащий информацию о типе устройства, сгенерировавшего сигнал. Если сигнал имеет место, то ЦП выполняет специфичную для данного устройства программу, задача которой – отреагировать на это событие надлежащим образом (например, занести символ, введенный с клавиатуры, в специальный буфер). Такая программа называется программой обработки прерывания, а само событие прерыванием, поскольку оно нарушает плановую работу процессора. После завершения обработки прерывания процессор возвращается к выполнению программы. Эти действия компьютера называются вводом-выводом с использованием прерываний.
В современных компьютерах также имеется возможность непосредственного взаимодействия между контроллером и основной памятью, минуя ЦП, – так называемый механизм прямого доступа к памяти.
Рейтинг популярности операционных систем, апрель 2009 года
Компания Net Applications обнародовала новую статистику популярности операционных систем, согласно которой ОС Mac потеряла долю до 4,9% после последнего отчета. Windows получил еще 6 пунктов и с 93,2% прочно занимает лидирующую строчку в рейтинге. По непонятным соображениям, популярность iPhone упала с 0,6 до 0,25 процента, отмечает источник.
Полное доминирование платформы Windows оставило конкурентам лишь небольшие доли: Linux получил чуть более одного процента, Java ME - 0,29%, Symbian удостоился еще меньше внимания - 0,14%.
Рейтинг популярности составлялся на основе посещения клиентских веб-сайтов. Исследование носит немного неравномерный характер, поскольку ресурсы Net Applications недостаточно популярны в некоторых регионах, например, в Азии.
Возможно, именно поэтому Mac потерял столько много позиций.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления, по основным ресурсами компьютера (процессорами, памятью, устройствами), по особенностями использованных методов проектирования, по типам аппаратных платформ, по областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.
От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
· однозадачные (например, MS DOS, MSX);
· многозадачные (ОС ЕС, OS/2, Unix, Windows 95). Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:
1) однопользовательские (MS DOS, Windows 3.x, ранние версии OS/2);
2) многопользовательские (Unix, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
· невытесняющая многозадачность (NetWare, Windows 3.x);
· вытесняющая многозадачность (Windows NT, OS/2, Unix).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором –распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки – мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Sewer 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов – процессором. Важное влияние на облик операционной системы, в целом, на возможности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами – подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенаправление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных.
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована.
По типу аппаратуры различают операционные системы персональных компьютеров, миникомпьютеров, мейнфреймов, кластеров и сетей ЭВМ.
Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.
Очевидно, что ОС большой машины является более сложной и функциональной, чем ОС персонального компьютера. Так в ОС больших машин функции по планированию потока выполняемых задач, очевидно, реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощности, чем в ОС персональных компьютеров. Аналогично обстоит дело и с другими функциями.
Сетевая ОС имеет в своем составе средства передачи сообщений между компьютерами по линиям связи, которые совершенно не нужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат специальные программные компоненты, реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.
Многопроцессорные системы требуют от операционной системы особой организации, с помощью которой сама операционная система, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами системы. Параллельная работа отдельных частей ОС создает дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить эффект гонок и прочие нежелательные последствия асинхронного выполнения работ.
Другие требования предъявляются к операционным системам кластеров.
Кластер – слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе Unix-машин.
Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, специально разработанные таким образом, чтобы они могли быть легко перенесены с компьютера одного типа на компьютер другого типа, так, называемые мобильные ОС.
Наиболее ярким примером такой ОС является популярная система Unix. В этих системах аппаратно-зависимые места тщательно локализованы, так что при переносе системы на новую платформу переписываются только они. Средством, облегчающим перенос остальной части ОС, является написание ее на машинно-независимом языке, например на С, который и был разработан для программирования операционных систем.
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
· системы пакетной обработки (например, ОС ЕС[1]);
· системы разделения времени (Unix, VMS);
· системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, т. е. решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, т. е. множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, т. е. выбирается «выгодное» задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Системы реального времени применяются для управления различными техническими объектами такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами такими, как гальваническая линия, доменный процесс и т. п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется, исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть – в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся. Способы построения ядра системы – монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой – ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структурированность системы, состоящей из набора хорошо определенных объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS DOS, Windows, Unix (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера.
Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
Кроме того, операционные системы можно также разделить на группы, используя различные признаки классификации (см. табл. 1).
Таблица 1.
Классы операционных систем
|
№ |
Признак классификации |
Описание класса |
|
1 |
Мощность аппаратных средств |
персональные компьютеры; мини ЭВМ; большие ЭВМ; супер ЭВМ |
|
2 |
Количество ЭВМ, обслуживаемых ОС |
автономная ЭВМ; многомашинная ВС; сети ЭВМ (локальные и глобальные) |
|
3 |
Тип системы обработки данных |
система оперативной обработки; система пакетной обработки; система реального времени |
|
4 |
Режим обработки данных |
однопрограммный; пакетный мультипрограммный; разделения времени |
|
5 |
Режим обслуживания заявок |
одиночный отбор; групповой отбор; смешанный отбор |
|
6 |
Дисциплина обслуживания заявок |
без приоритетов; с приоритетами |
Частотный принцип реализации системных программ основан на выделении в алгоритмах и в обрабатываемых массивах ОС действий и данных по частоте их использования. Следствием применения частотного принципа в современных ОС – наличие многоуровневого планирования при организации работы ОС.
Принцип модульности отражает технологические и эксплуатационные свойства системы, предусматривая оформление функционально законченных компонентов ОС в виде отдельных модулей.
Принцип функциональной избирательности предусматривает выделение некоторого множества важных модулей, которые должны быть постоянно в «горячем» режиме для обеспечения эффективного управления вычислительным процессом. Этот выделенный набор модулей называют ядром ОС. При формировании состава ядра ОС ищут компромисс между двумя разноречивыми требованиями: в состав ядра должны войти наиболее часто используемые модули; объем памяти, занимаемый ядром ОС, должен быть как можно меньше. Программы ядра ОС постоянно находятся в оперативной памяти ЭВМ и называются резидентными. Программы ОС, подгружаемые в ОЗУ по мере необходимости из внешней памяти, называются транзитными.
Принцип генерируемости определяет такой способ исходного представления системной программы ОС, который позволяет настраивать эту системную программу, исходя из конкретной конфигурации аппаратных средств и круга решаемых проблем.
Принцип функциональной избыточности предусматривает обеспечение возможности выполнения одной и той же работы различными средствами.
Принцип перемещаемости предусматривает такое построение модулей ОС, при котором результаты работы не зависят от места их расположения.
Принцип защиты информации определяет необходимость разработки мер, ограждающих программы и данные пользователя от искажений или нежелательных влияний друг от друга, а также пользователей на ОС и обратно.
Принцип независимости программ от внешних устройств заключается в том, что связь программ с конкретными внешними устройствами осуществляется не на уровне подготовки программных устройств (трансляции или компиляции исходного кода, генерации выполняемого модуля), а в период планирования операционной системой ее выполнения.
Принцип открытости и наращиваемости ОС предусматривает возможность доступа к ней для анализа пользователями, специалистами, обслуживающим персоналом, а также изменения конфигурации ОС и ее мощности без осуществления процессов генерации.
Как любое техническое устройство, компьютер обменивается информацией с человеком посредством набора определенных правил, обязательных как для машины, так и для человека. Эти правила в компьютерной литературе называются интерфейсом. Интерфейс может быть понятным и непонятным, дружественным и нет. К нему подходят многие прилагательные. Но в одном он постоянен: он есть, и никуда от него не денешься.
Интерфейс, по определению – это правила взаимодействия операционной системы с пользователями, а также соседних уровней в сети ЭВМ. От интерфейса зависит технология общения человека с компьютером.
Классификация интерфейсов.
Как уже указывалось выше, интерфейс – это, прежде всего, набор правил. Как любые правила, их можно обобщить, собрать в «кодекс», сгруппировать по общему признаку. Таким образом, мы пришли к понятию «вид интерфейса» как объединение по схожести способов взаимодействия человека и компьютеров. Вкратце можно предложить следующую схематическую классификацию различных интерфейсов общения человека и компьютера (см. рис. 7).

Рис. 7. Типы интерфейсов, операционных систем и технологий реализаций
Современными видами интерфейсов являются:
Командный интерфейс – называется так потому, что в этом виде интерфейса человек подает «команды» компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.
WIMP-интерфейс (Window – окно, Image – образ, Menu – меню, Pointer – указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов – меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается «опосредственно», через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и «чистый» WIMP – интерфейс.
SILK-интерфейс (Speech – речь, Image – образ, Language – язык, Knowlege – знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный «разговор» человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.
Общественный интерфейс – основан на семантических сетях.
Пакетная технология.
Исторически вид пакетной технологии появился первым. Она существовала уже на релейных машинах Зюса и Цюзе (Германия, 1937 г.). Идея ее проста: на вход компьютера подается последовательность символов, в которых по определенным правилам указывается последовательность запущенных на выполнение программ. После выполнения очередной программы запускается следующая и т. д. Машина по определенным правилам находит для себя команды и данные. В качестве этой последовательности может выступать, например, перфолента, стопка перфокарт, последовательность нажатия клавиш электрической пишущей машинки (типа CONSUL). Машина также выдает свои сообщения на перфоратор, алфавитно-цифровое печатающее устройство (АЦПУ), ленту пишущей машинки.
Такая машина представляет собой «черный ящик» (точнее «белый шкаф»), в который постоянно подается информация и которая также постоянно «информирует» мир о своем состоянии. Человек здесь имеет малое влияние на работу машины – он может лишь приостановить работу машины, сменить программу и вновь запустить ЭВМ. Впоследствии, когда машины стали помощнее и могли обслуживать сразу нескольких пользователей, вечное ожидание пользователей типа: «Я послал данные машине. Жду, что она ответит. И ответит ли вообще?» – стало, мягко говоря, надоедать. К тому же вычислительные центры, вслед за газетами, стали вторым крупным «производителем» макулатуры. Поэтому с появлением алфавитно-цифровых дисплеев началась эра по-настоящему пользовательской технологии – командной строки.
Технология командной строки.
При технологии командной строки в качестве единственного способа ввода информации от человека к компьютеру служит клавиатура, а компьютер выводит информацию человеку с помощью алфавитно-цифрового дисплея (монитора). Эту комбинацию (монитор + клавиатура) стали называть терминалом, или консолью.
Команды набираются в командной строке, которая представляет собой символ приглашения и мигающий прямоугольник – курсор. При нажатии клавиши на месте курсора появляются символы, а сам курсор смещается вправо. Это очень похоже на набор команды на пишущей машинке.
Однако, в отличие от нее, буквы отображаются на дисплее, а не на бумаге, и неправильно набранный символ можно стереть. Команда заканчивается нажатием клавиши Enter (или Return.) После этого осуществляется переход в начало следующей строки. Именно с этой позиции компьютер выдает на монитор результаты своей работы. Затем процесс повторяется.
Технология командной строки уже работала на монохромных алфавитно-цифровых дисплеях. Поскольку вводить позволялось только буквы, цифры и знаки препинания, то технические характеристики дисплея были не существенны. В качестве монитора можно было использовать телевизионный приемник и даже трубку осциллографа.
Обе эти технологии реализуются в виде командного интерфейса – машине подаются на вход команды, а она как бы «отвечает» на них.
Преобладающим видом файлов при работе с командным интерфейсом стали текстовые файлы – их и только их можно было создать при помощи клавиатуры. На время наиболее широкого использования интерфейса командной строки приходится появление операционной системы Unix и появление первых восьмиразрядных персональных компьютеров с многоплатформенной операционной системой СР/М.
Графический интерфейс.
Идея графического интерфейса зародилась в середине 70-х гг., когда в исследовательском центре Xerox Palo Alto Research Center (PARC) была разработана концепция визуального интерфейса. Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Аппаратным основанием концепции, конечно же, явилось появление алфавитно-цифровых дисплеев на компьютерах, причем на этих дисплеях уже имелись такие эффекты, как «мерцание» символов, инверсия цвета (смена начертания белых символов на черном фоне обратным, т. е. черных символов на белом фоне), подчеркивание символов. Эти эффекты распространились не на весь экран, а только на один или более символов. Следующим шагом явилось создание цветного дисплея, позволяющего выводить, вместе с этими эффектами, символы в 16 цветах на фоне с палитрой (т. е. цветовым набором) из 8 цветов. После появления графических дисплеев, с возможностью вывода любых графических изображений в виде множества точек на экране различного цвета, фантазии в использовании экрана вообще не стало границ! Первая система с графическим интерфейсом 8010 Star Information System группы PARC, таким образом, появилась за четыре месяца до выхода в свет первого компьютера фирмы IBM в 1981 г. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы, используемые сначала на компьютерах Atari и Apple Macintosh, а затем и на IBM-совместимых компьютерах.
С более раннего времени и под влиянием также и этих концепций проходил процесс по унификации в использовании клавиатуры и мыши прикладными программами. Слияние этих двух тенденций и привело к созданию того пользовательского интерфейса, с помощью которого, при минимальных затратах времени и средств на переучивание персонала, можно работать с любым программным продуктом. Описание этого интерфейса, общего для всех приложений и операционных систем, и посвящена данная часть.
Графический интерфейс пользователя за время своего развития прошел две стадии. Об эволюции графического интерфейса с 1974 г. по настоящее время будет рассказано ниже.
Простой графический интерфейс.
На первом этапе графический интерфейс очень походил на технологию командной строки. Отличия от технологии командной строки заключались в следующем:
При отображении символов допускалось выделение части символов цветом, инверсным изображением, подчеркиванием и мерцанием. Благодаря этому повысилась выразительность изображения.
В зависимости от конкретной реализации графического интерфейса курсор может представляться не только мерцающим прямоугольником, но и некоторой областью, охватывающей несколько символов и даже часть экрана.
Эта выделенная область отличается от других, невыделенных частей (обычно цветом).
Нажатие клавиши Enter не всегда приводит к выполнению команды и переходу к следующей строке. Реакция на нажатие любой клавиши во многом зависит от того, в какой части экрана находится курсор.
Кроме клавиши Enter, на клавиатуре все чаще стали использоваться «серые» клавиши управления курсором.
Уже в этой редакции графического интерфейса стали использоваться манипуляторы (типа мыши, трекбола и т. п.). Они позволяли быстро выделять нужную часть экрана и перемещать курсор.
Подводя итоги, можно привести следующие отличительные особенности этого интерфейса:
· выделение областей экрана;
· переопределение клавиш клавиатуры в зависимости от контекста;
· использование манипуляторов и серых клавиш клавиатуры для управления курсором;
· широкое использование цветных мониторов.
Появление этого типа интерфейса совпадает с широким распространением операционной системы MS DOS. Именно она внедрила этот интерфейс в массы, благодаря чему 80-е годы прошли под знаком совершенствования этого типа интерфейса, улучшения характеристик отображения символов и других параметров монитора.
Типичным примером использования этого вида интерфейса является файловая оболочка Norton Commander (о файловых оболочках см. ниже) и текстовый редактор MultiEdit. А текстовые редакторы Лексикон, ChiWriter и текстовый процессор Microsoft Word for Dos являются примером, как этот интерфейс превзошел сам себя.
WIMP-интерфейс.
Вторым этапом в развитии графического интерфейса стал «чистый» интерфейс WIMP. Этот подвид интерфейса характеризуется следующими особенностями:
Вся работа с программами, файлами и документами происходит в окнах – определенных очерченных рамкой частях экрана.
Все программы, файлы, документы, устройства и другие объекты представляются в виде значков – иконок. При открытии иконки превращаются в окна.
Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления графического интерфейса, оно не имело в нем главенствующего значения, а служило лишь дополнением к командной строке. В чистом WIMP– интерфейсе меню становится основным элементом управления.
Широкое использование манипуляторов для указания на объекты. Манипулятор перестает быть просто игрушкой – дополнением к клавиатуре, а становится основным элементом управления. С помощью манипулятора УКАЗЫВАЮТ на любую область экрана, окна или иконки, ВЫДЕЛЯЮТ ее, а уже потом через меню или с использованием других технологий осуществляют управление ими.
Следует отметить, что WIMP требует для своей реализации цветной растровый дисплей с высоким разрешением и манипулятор. Также программы, ориентированные на этот вид интерфейса, предъявляют повышенные требования к производительности компьютера, объему его памяти, пропускной способности шины и т. п. Однако этот вид интерфейса наиболее прост в усвоении и интуитивно понятен. Поэтому сейчас WIMP-интерфейс стал стандартом де-факто.
Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows.
Речевая технология.
С середины 90-х гг. XX в., после появления недорогих звуковых карт и широкого распространения технологий распознавания речи, появилась так называемая «речевая технология» – SILK-интерфейс. При этой технологии команды подаются голосом путем произнесения специальных зарезервированных слов – команд, например:
«Проснись» – включение голосового интерфейса;
«Отдыхай» – выключение речевого интерфейса;
«Открыть» – переход в режим вызова той или иной программы. Имя программы называется в следующем слове;
«Буду диктовать» – переход из режима команд в режим набора текста голосом;
«Режим команд» – возврат в режим подачи команд голосом и некоторые другие.
Слова должны выговариваться четко, в одном темпе. Между словами обязательна пауза. Из-за неразвитости алгоритма распознавания речи такие системы требуют индивидуальной предварительной настройки на каждого конкретного пользователя.
«Речевая» технология является простейшей реализацией SILK-интерфейса.
Биометрическая технология.
Биометрическая технология возникла в конце 90-х гг. XX в. и на момент написания книги еще разрабатывается. Для управления компьютером используется выражение лица человека, направление его взгляда, размер зрачка и другие признаки. Для идентификации пользователя используется рисунок радужной оболочки его глаз, отпечатки пальцев и другая уникальная информация. Изображения считываются с цифровой видеокамеры, а затем с помощью специальных программ распознавания образов из этого изображения выделяются команды. Эта технология, повидимому, займет свое место в программных продуктах и приложениях, где важно точно идентифицировать пользователя компьютера.
Семантический интерфейс.
Семантический интерфейс возник в конце 70-х гг. XX в., с развитием искусственного интеллекта. Его трудно назвать самостоятельным видом интерфейса – он включает в себя и интерфейс командной строки, и графический, и речевой, и мимический интерфейс. Основная его отличительная черта – это отсутствие команд при общении с компьютером. Запрос формируется на естественном языке, в виде связанного текста и образов. По своей сути это трудно называть интерфейсом – это уже моделирование «общения» человека с компьютером.
С середины 90-х гг. XX в. автор уже не встречал публикаций, относящихся к семантическому интерфейсу.
Похоже, что в связи с важным военным значением этих разработок (например, для автономного ведения современного боя машинами-роботами, для «семантической» криптографии) эти направления были засекречены. Информация, что эти исследования продолжаются, иногда появляется в периодической печати (обычно в разделах компьютерных новостей).
Приведенная классификация ОС не является исчерпывающей. Более подробно особенности применения современных ОС рассмотрены в [Олифер, 2001].
Построение IT-инфраструктуры любого предприятия, как и приобретение домашнего компьютера, начинается с выбора операционных систем. Операционная система – наиболее важная часть программного обеспечения, управляющая ресурсами компьютера, на котором она выполняется (а иногда и других компьютеров сети), и предоставляющая пользователю определенные услуги. Этой категории программного обеспечения посвящена не одна сотня книг, да и самих операционных систем известно немало – в рамках одной журнальной статьи их невозможно даже перечислить. Поэтому сегодня мы ограничимся рассмотрением самых популярных операционных систем для настольных компьютеров и серверов.
Операционные системы для конечных пользователей.
Операционные системы для конечных пользователей (называемые также клиентскими операционными системами) предназначены для предоставления пользователям доступа к определенному набору приложений и для управления ресурсами компьютера. В последние несколько лет производители операционных систем, как правило, выпускают такие ОС в двух редакциях – для корпоративных и для домашних пользователей.
Операционные системы для корпоративных пользователей чаще всего ориентированы на работу с офисными и бизнес-приложениями, для обращения к корпоративным файловым и почтовым серверам, серверам приложений и иным корпоративным и внешним ресурсам, реже – для применения графических и мультимедиаприложений (например, в рекламно-издательском бизнесе). Поэтому такие ОС должны удовлетворять весьма жестким требованиям к надежности, безопасности, управляемости.
Что касается домашних ОС, то требования к их безопасности и управляемости не столь высоки, тогда как критерии поддержки технологий мультимедиа, использующихся в играх, приложениях для обработки любительского фото и видео и в иных подобных приложениях, могут оказаться довольно серьезными.
Отметим, что и корпоративные, и домашние пользователи в настоящее время предпочитают операционные системы с графическим пользовательским интерфейсом. Исключение составляют некоторые решения, клиентские части которых выполняются под управлением ОС с интерфейсом командной строки (например, MS DOS). Они удобны в том случае, когда в обязанности пользователей входит работа с одним-единственным корпоративным приложением, и число таких пользователей велико.
Впервые перспективность графического пользовательского интерфейса осознали основатели компании Apple Стивен Джобс и Стивен Возняк, увидевшие его в одной из исследовательских лабораторий Xerox. Их первый компьютер, выпущенный в 1983 году, обладал графическим пользовательским интерфейсом, а годом позже появился первый Macintosh с операционной системой Mac OS, которая в течение долгого времени была самой популярной операционной системой подобного класса.
Windows
Сегодня наиболее популярными операционными системами для конечных пользователей являются члены семейства продуктов Microsoft Windows, которые занимают в настоящее время основную долю рынка. Компания Microsoft начала работу над операционной системой с графическим пользовательским интерфейсом в 1981 году. Первая версия Windows, выпущенная в ноябре 1985 года, обладала гораздо меньшими возможностями, чем Mac OS, и вплоть до выпуска в 1990-м Windows 3.0 эта ОС была не слишком известной. Ситуация начала меняться с выходом версий 3.1 и 3.11, а умелая маркетинговая кампания в середине 90-х годов привела к резкому росту популярности Windows 95 и последующих продуктов этого семейства на рынке операционных систем для корпоративных рабочих станций и для домашних компьютеров.
Из наиболее применимых сегодня ОС данного семейства следует назвать Windows 2000 Professional и Windows XP.
Windows 2000 Professional
Windows 2000 Professional, являющаяся наследницей операционной системы Windows NT Workstation, сочетает в себе надежность Windows NT с некоторой гибкостью, присущей ранним версиям Windows, и позиционируется как ОС для корпоративных пользователей, в среде которых она довольно быстро завоевала популярность. Несмотря на то что эта операционная система была выпущена почти десять лет назад, она по-прежнему является одной из самых популярных систем для рабочих станций в корпоративном секторе – благодаря своей надежности, высокой производительности (достигнутой за счет изменений в системе управления памятью), средствам защиты файлов от удаления, удобным средствам настройки сетевого доступа. Отметим также появление стандарта Plug and Play, упрощающего подключение нового оборудования, и великолепную поддержку ноутбуков, ставших к 2000 году весьма распространенным типом компьютеров для корпоративных пользователей, в частности контроль питания и электроснабжения для устройств, поддерживающих интерфейс ACPI (Advanced Configuration and Power Interface).
Что касается применимости для игр и иных развлечений, характерных для домашних пользователей ОС, то официальной информации об этом нет, хотя в ряде случаев данная ОС используется и для этих целей.
Windows XP
Семейство операционных систем Windows XP было выпущено в 2001 году, вскоре после семейства продуктов Windows 2000. Сегодня Windows XP существует в двух редакциях: Home Edition – для домашних пользователей, а Professional – для корпоративных. Общим для обеих редакций данной операционной системы является поддержка мультимедиа, игр и иных развлекательных возможностей, однако Windows XP Professional обладает и рядом дополнительных средств, необходимых корпоративным пользователям (в частности, связанных с безопасностью данных).
Помимо особенностей, которые были характерны для ранних 32-разрядных версий Wndows, в Windows XP появилcя ряд средств, упрощающих поддержку и сопровождение рабочих станций, – это, например, возможность вернуться к предыдущей версии драйвера устройства без перезагрузки или к прежней конфигурации компьютера после неудачной установки нового устройства или программного обеспечения, инструменты автоматического восстановления после ошибок пользователя при конфигурации операционной системы, средства удаленного управления операционной системой. Из особенностей этой ОС, ориентированных на домашних пользователей, стоит отметить наличие средств записи CD, средства оцифровки звука, средства для одновременной работы приложений, запущенных разными пользователями, поддержку воспроизведения DVD с помощью MediaPlayer, а также игр и соответствующего оборудования.
Windows Vista
Windows Vista - это последняя версия Microsoft Windows, из серии графических операционных систем для персональных компьютеров, используется как для дома так и для работы. В линейке продуктов Windows NT новая система носит номер версии 6.0 (Windows 2000 – 5.0, Windows XP – 5.1, Windows Server 2003 – 5.2). Для обозначения «Windows Vista» иногда используют аббревиатуру «WinVI», которая объединяет название «Vista» и номер версии, записанный римскими цифрами. На раннем этапе разработки система была известна под кодовым именем Longhorn (по имени бара Longhorn Saloon вблизи лыжного курорта Вистлер в Британской Колумбии). Название «Vista» было объявлено 22 июля 2005 года. Спустя несколько месяцев Microsoft также переименовали Windows Longhorn Server в Windows Server 2008. Выпуск Windows Vista был запланирован на вторую половину года для корпоративных пользователей. Для широкой публики Vista стала доступна в январе 2007 года. Эти задержки в Microsoft объясняли недостатком времени на увеличение безопасности новой ОС. С 8 ноября 2006 года полноценная версия Windows Vista доступна для производителей оборудования. Публичный релиз для конечных пользователей состоялся 30 января 2007 года.
В переводе на русский «vista» означает «новые возможности», «открывающиеся перспективы».
Windows Aero - это оригинальный стиль оформления Windows Vista, применяемый по умолчанию для компьютеров с более чем 512 Mb ОЗУ и соответствующим спецификации «Vista Ready» видеоадаптером.
Технологии связанные с безопасностью.
Даже для конечных пользователей инновации, реализованные в Windows Vista – бескрайнее поле новой информации и неизведанный край для экспериментов, а что уж там говорить про специалистов. Тем не менее, при разработке семейства операционных систем Windows Vista значительное внимание было уделено вопросам повышенной надежности, безопасности, эксплуатационной эффективности, чётким процедурам упорядочения и просмотра данных, благодаря чему специалисты могут теперь сосредоточиться на наиболее важных аспектах эксплуатации оборудования. Windows Vista построена с учётом технологий безопасности из состава Windows XP с SP2, однако в ее архитектуру внесены изменения, лучше защищающие от непрерывно совершенствующихся угроз. Проектирование и разработка Windows Vista осуществлялись в соответствии с жесткими требованиями процесса SDL, который обеспечивает существенное снижение количества и серьёзности имеющих отношение к безопасности ошибок в конструкции и программном коде. В состав Windows Vista включены новые функции, обеспечивающие многоуровневую защиту. С точки зрения безопасности в Windows Vista реализовано большое количество улучшений и дополнительных компонентов защиты.
Например, Windows Vista позволяет минимизировать количество процессов и приложений, запущенных с привилегиями администратора. Из соображений совместимости с различным ПО в предыдущих версиях Windows слишком много пользователей и приложений имели высокие привилегии. Теперь все процессы и приложения по умолчанию будут запускаться с ограниченными привилегиями, и даже если в этих приложениях обнаружатся уязвимости, серьёзно повлиять на работу всей системы и причинить компьютеру вред они не смогут. Эта технология называется User Account Control. Каждый раз, когда какое-то действие требует более высоких привилегий, система спрашивает у пользователя, санкционирует он это действие или нет. Таким образом, в самой операционной системе реализована отсутствовавшая в предыдущих версиях ОС (включая Windows XP) защита от возможных последствий действий пользователя, наделенного высокими полномочиями.
Средство шифрования диска BitLocker, прежде называвшееся полным шифрованием тома – это функция защиты данных на аппаратном уровне для предотвращения доступа к корпоративным и личным данным на потерянных или украденных системах. Шифрование всего системного тома Windows не позволяет без соответствующих полномочий взломать защиту системы и файлов Windows с целью использования данных на потерянных или украденных компьютерах.
Оптимальным хранилищем для ключа шифрования с точки зрения функции BitLocker является чип доверенного платформенного модуля TPM версии 1.2. Если технология развертывается в системе без такой микросхемы, ключ шифрования записывается на USB-флэшку, в этом случае пользователь должен при каждой загрузке системы подключать к ней USB-носитель. Преимущество чипа ТРМ заключается во встроенной защите от подделки.
Защищенный режим веб-браузера Internet Explorer 7.0 в Windows Vista делает просмотр интернет-сайтов более безопасным. В этом режиме браузер работает с таким набором системных прав, который не позволит вредоносному коду незаметно внести изменения в критические области системы во время просмотра веб-сайтов. Защищенный режим не защищает от всех типов атак, но существенно ограничивает возможности для их проведения. Необходимо отметить, что Internet Explorer 7 доступен и в версии для Windows XP, но защищенный режим работы браузера возможен только в Windows Vista.
В состав Windows Vista входит программный пакет Windows Defender, который, по словам производителя, “защищает компьютеры пользователей от шпионского ПО и других нежелательных приложений”. Поскольку многие полагают, что именно Windows Defender обеспечит защиту от вредоносных программ, надо подчеркнуть, что Windows Defender не является антивирусным пакетом и покрывает только одно подмножество всех существующих вредоносных программ, не защищая от вирусов, троянских программ, червей и т.д.
Увидев Windows Defender в составе операционной системы, пользователи могут ошибочно подумать, что устанавливать дополнительное антивирусное ПО на Vista опасно. Однако Windows Defender намеренно разработан таким образом, чтобы сохранять совместимость с обычными антивирусными пакетами.
Windows Vista поддерживается службами Windows Update, автоматического обновления и Microsoft Update, а также программой проверки обновлений для программного обеспечения, в рамках которой обновления перед выпуском подвергаются всестороннему тестированию.
64-разрядные версии Windows Vista защищают компьютеры от переполнения буфера за счет поддержки реализованной в 64-разрядных процессорах функции предотвращения выполнения данных. 64-разрядные версии Windows также поддерживают технологию Microsoft PatchGuard, которая предотвращает внесение исправлений в ядро Windows программами, не имеющими соответствующих полномочий.
Все драйверы режима ядра, выполняющиеся на компьютере под управлением 64-разрядной версии Windows Vista, должны быть подписаны разработчиком. Подписание драйверов не является гарантией безопасности, однако позволяет распознавать и предотвращать многие атаки.
Linux
Когда в 1991 году финский студент Линус Торвальдс начинал работу над Linux, то мало кто ожидал такого успеха от очередного клона UNIX. Однако в течение последующих лет тысячи энтузиастов поработали над кодом этой операционной системы, а затем сотрудник Массачусетсского технологического института (MIT) Ричард Столлмен разработал для Linux проект GNU, который сегодня превратился в единую платформу GNU/Linux и послужил основой движения Open Source (программированию с открытым кодом).
В настоящее время Linux пользуется огромной популярностью, а созданием ее кода занимаются не только энтузиасты, но и многие крупные производители коммерческого ПО, в том числе IBM, Novell, Oracle, Sun Microsystems. Наиболее широко Linux применяется как серверная платформа, но многие производители ПО и средств разработки всерьез рассматривают ее и как пользовательскую операционную систему по двум причинам – невысокие требования этой ОС к аппаратным ресурсам и отсутствие альтернатив Windows на рынке клиентских операционных систем для наиболее распространенной аппаратной платформы.
Сначала Linux обладала только интерфейсом командной строки, но сейчас для этой операционной системы существует несколько графических оболочек, включающих инструменты, сходные с имеющимися в Windows (файловый менеджер, средства для работы с Интернетом и электронной почтой, инструменты конфигурации ОС, а также офисные решения), что и делает ее привлекательной для конечных пользователей. Отметим, что сегодня для Linux создано немало программного обеспечения для конечных пользователей, в том числе офисные пакеты от Sun Microsystems и Corel, графические пакеты, игры и средства разработки приложений.
Хотя у исходного текста Linux не существует конкретного правообладателя, имеется ряд компаний, продающих коммерческие дистрибутивы этой операционной системы, предназначенные для решения конкретных задач, в том числе дистрибутивы для домашних ПК и для корпоративных рабочих станций. Именно благодаря этим дистрибутивам данная ОС стала доступна конечным пользователям, не специализирующимся в настройке Linux, ибо эта процедура до недавнего времени была не столь проста, как установка и настройка Windows.
Из последних значительных событий в мире Linux можно выделить официальное открытие исходных кодов операционной системы OpenSolaris компании Sun Microsystems, которого прогрессивное OpenSource-сообщество ожидало уже более полугода. Вместе с исходными кодами были обновлены и средства их просмотра, инструменты для сборки, база данных и т.д. (получить более детальную информацию и загрузить OpenSolaris для личного пользования можно по адресу: http://www.opensolaris.org/).
Кроме того, компания REAL Software наконец-то анонсировала Visual Basic для Linux, стандартная редакция которого будет распространяться бесплатно. Также недавно были выпущены (пока еще неофициально) портированные на платформу AMD64 системы Slackware и Debian GNU/Linux. А новая версия виртуальной машины Xen 3.0.0, планируемая к выпуску уже в августе, будет поддерживать многопроцессорные архитектуры. Xen может использоваться для запуска «Linux в Linux» и входит во многие популярные дистрибутивы, включая SUSE и Red Hat, однако до нынешнего момента ее поддержка была ограничена только одним процессором. Машина Xen получилась настолько удачной, что компания Sun Microsystems постепенно заменяет ею свой слой эмуляции Linux в Solaris – Janus, который был ключевой функцией 10-й версии этой ОС.
Mac OS и Mac OS X
Mac OS изначально создавалась как операционная система с графическим пользовательским интерфейсом. Уровень поддержки графики и мультимедиа в ранних версиях Mac OS был более высоким, чем в современных им версиях Windows, благодаря чему компьютеры Macintosh до сих пор широко применяются в издательском деле и в смежных отраслях. Именно в Mac OS впервые появилась поддержка таких привычных ныне устройств, как мышь, дисководы для компакт-дисков, технология Plug and Play, поддержка стандарта подключения внешних устройств USB, а также простые средства настройки сетевого доступа.
Однако список программного обеспечения и оборудования, совместимого с Mac OS, весьма ограничен, вследствие чего стоимость эксплуатации программно-аппаратных комплексов с Mac OS намного выше, чем Windows-совместимых компьютеров.
Отметим, что появление 32-разрядных версий Windows, обладавших возможностями, ранее характерными только для Mac OS, равно как и удачная маркетинговая политика компании Microsoft, привело к заметному сокращению доли рынка, занимаемой Mac OS. Свою роль сыграло и то, что в Mac OS поддержка многозадачности была существенно ограничена по сравнению с Windows, а это создавало определенные неудобства в работе пользователей.
Из особенностей последних версий Mac OS отметим великолепную поддержку работы с цифровым видео и звуком.
Дальнейшим развитием Mac OS стала операционная система Mac OS X, в создании которой принимали участие университетские ученые. Эта операционная система была основана на BSD UNIX, поэтому проблемы с поддержкой многозадачности здесь были решены. Особенностями последней версии Mac OS X v10.4 Tiger являются поддержка 64-разрядных приложений, наличие менеджера виртуальной памяти, возможность полной изоляции приложений друг от друга, поддержка многозадачности, а также целый спектр различных приложений для широкого круга пользователей, включая средства обработки мультимедийных данных, офисные приложения, а также средства интеграции в Windows- и Linux-сети.
Серверные операционные системы.
Назначением серверных операционных систем обычно является управление приложениями, обслуживающими пользователей корпоративной сети или внешних пользователей, – такими как системы управления базами данных, серверы приложений, средства управления сетями, службы каталогов, средства обмена сообщениями и групповой работы, Web-серверы, почтовые серверы. Требования к производительности и надежности указанных операционных систем очень высоки. Наиболее дорогостоящие версии серверных операционных систем поддерживают кластеры (наборы однотипных компьютеров, между которыми делится нагрузка при выполнении одной и той же задачи), обладают средствами так называемого горячего резервирования и дублирования (то есть осуществляют эти операции без перезагрузки операционной системы). Что касается типично пользовательских задач, то их решение поддерживают далеко не все серверные ОС.
Хотя доля Windows на рынке серверных операционных систем сейчас довольно значительна, но все же не столь велика, как на рынке клиентских ОС. Помимо продукции Microsoft на этом рынке популярны серверные операционные системы IBM, Hewlett-Packard, Novell, Sun Microsystems и др. Кроме того, достаточно велика и доля операционных систем с открытым исходным кодом. Согласно последнему отчету Gartner, сегодня Linux-сегмент является самым быстрорастущим на рынке серверных операционных систем: за последний год он увеличился на 118%, а суммарный объем продаж составил 655 млн. долл. Лидирующим игроком в области СУБД, причем как для Linux, так и в других сегментах, является корпорация Oracle: 80,5% под Linux и 34,1% в других сегментах. За ней следуют IBM – 33,7%, а на долю Microsoft остается менее 20%.
Серверные версии Windows
Windows 2000
Windows 2000 на данный момент принадлежит к числу самых популярных операционных систем Microsoft в корпоративном секторе. Она выпускается в нескольких редакциях, отличающихся масштабируемостью и назначением. В составе Windows 2000 имеются службы, облегчающие управление серверами, сетями и рабочими станциями, службы каталогов Active Directory, средства подключения удаленных пользователей, терминальные службы для удаленного управления компьютерами.
Для Windows 2000 существуют версии серверных СУБД и серверов приложений от всех ведущих производителей, средства групповой работы и обмена сообщениями, средства управления сетями и приложениями.
Windows Server 2003
Создание семейства Windows Server 2003 стало следующим шагом в развитии серверных операционных систем Windows 2000. Основными особенностями данного семейства ОС являются наличие в их составе платформы Microsoft .NET Framework, а также поддержка Web-сервисов XML (вплоть до наличия в составе операционной системы UDDI-сервера).
Windows Server 2003 тоже существует в нескольких редакциях, различающихся назначением, масштабируемостью и уровнем доступности, – начиная от редакции для развертывания Web-приложений и обслуживания небольших компаний и заканчивая редакцией с поддержкой симметричной многопроцессорной обработки с использованием до 32 процессоров для обработки транзакций в режиме реального времени. Две старшие редакции этой операционной системы – Windows Server 2003 Enterprise Edition и Windows Server 2003 Datacenter Edition – доступны для 32- и 64-разрядных платформ.
Microsoft Windows Server 2008
Microsoft Windows Server 2008 (кодовое имя «Longhorn Server») – новая версия серверной операционной системы от Microsoft. Эта версия должна стать заменой Windows Server 2003 как представитель операционных систем поколения Vista (NT 6.x).
Windows Server 2008 первая операционная система Windows, выпущенная со встроенным Windows PowerShell, расширяемой оболочкой с интерфейсом командной строки и сопутствующим языком сценариев, разработанным Microsoft. Язык сценариев PowerShell был разработан специально для выполнения административных задач, и может заменить собой потребность в cmd.exe и Windows Script Host.
Самовосстанавливающаяся NTFS.
Если в предыдущих версиях Windows операционная система обнаруживала ошибки в файловой системе тома NTFS, она отмечала том как «грязный»; исправление ошибок на томе не могло быть выполнено немедленно. С самовосстанавливающейся NTFS вместо блокировки всего тома блокируются только поврежденные файлы/папки, остающиеся недоступными на время исправления. Благодаря этому больше нет необходимости перезагрузки сервера для исправления ошибок файловой системы.
Также операционная система теперь отображает информацию S.M.A.R.T. жестких дисков чтобы помочь определить возможные сбои жёсткого диска. Впервые эта возможность появилась в Windows Vista.
Server Manager.
Server Manager это новое, основанное на ролях средство управления Windows Server 2008. Он является комбинацией Управление данным сервером и Мастер настройки безопасности из Windows Server 2003. Server Manager является улучшенным диалогом Мастер настройки сервера который запускался по умолчанию в Windows Server 2003 при входе в систему. Теперь он позволяет не только добавлять новые роли, но ещё и объединяет в себе все операции, которые пользователи могут выполнять на сервере, а также обеспечивает консолидированное, выполненное в виде единого портала отображение текущего состояния каждой роли.
На данный момент невозможно удаленное использование Server Manager, однако запланированно создание клиентской версии.
Интерфейс.
В сравнении с Windows Server 2003, интерфейс системы Windows 2008 Server значительно изменён и похож на стиль Aero, который имеется в Windows Vista. Кроме того, Windows Server 2008 можно установить вообще без графического интерфейса, только действительно необходимые службы. В этом случае управление сервером осуществляется в консольном режиме
Windows Server 2008 R2 - серверная версия Windows 7. Выйдет в продажу 22 октября 2009. Как и Windows 7, Windows Server 2008 R2 будет использовать ядро Windows NT 6.1. Новые возможности включают улучшенную виртуализацию, новую версию Active Directory, Internet Information Services 7.5 и поддержку до 256 процессоров. Система выйдет только в 64-разрядном варианте. Также удалена поддержка загрузки Windows с разделов, содержащих MBR
Microsoft анонсировала Windows Server 2008 R2 на конференции Professional Developers Conference как серверный вариант Windows 7. 7 января 2009 года бета-версия Microsoft Windows Server 2008 R2 стала доступна подписчикам Microsoft TechNet и MSDN, участвовавшим в программе предварительного ознакомления с Windows 7. 9 января бета-версия стала общедоступной для скачивания в Центре загрузки Microsoft.. 30 апреля 2009 - релиз-кандидат (RC) стал доступен подписчикам TechNet и MSDN. 5 мая 2009 - Windows Server 2008 R2 RC доступен в Центре загрузки Microsoft 6 августа 2009 - релиз Windows Server 2008 R2 RTM доступен подписчикам TechNet и MSDN. Выпуск в продажу состоится 22 октября 2009 года
Новые компоненты.
Microsoft объявила ряд новых компонентов Windows Server 2008 R2 включая:
Улучшенная поддержка виртуализации: программа Live Migration, поддержка Cluster Shared Volumes (Falilover Clustering) и Hyper-V, умешьшенное потребление электропитания
Поддержка Корзины для удалённых объектов Active Directory
Internet Information Services 7.5: новый сервер FTP, расширения безопасности DNS, DirectAccess
Поддержка до 256 процессоров (Windows Server 2008 - до 64 процессоров)
Возможность классификации файлов отвечающих за ту или иную роль сервера. Поддержка нескольких типов классификации на одном файле
Возможность удаления GUI после установки
Поддержка iSCSI
Усовершенствованная платформа веб-приложений
Сервер Windows Server 2008 R2 содержит множество усовершенствований, превращающих его в самую надежную платформу веб-приложений на основе Windows Server среди всех версий Windows. Он содержит обновленную роль веб-сервера и службы IIS 7.5 и обеспечивает поддержку .NET в режиме установки Server Core. При создании служб IIS 7.5 в них были внесены усовершенствования, предоставляющие администраторам веб-серверов удобные средства развертывания веб-приложений и управления ими и повышающие тем самым надежность и масштабируемость. Кроме того, службы IIS 7.5 упрощают управление и расширяют возможности настройки среды веб-сервера.
Кроме перечисленного, входящие в состав Windows Server 2008 R2 службы IIS и веб-платформа упрощают поддержку веб-приложений и управление ими, повышают безопасность веб-приложений и эффективность служб передачи файлов, позволяют расширять функциональность веб-приложений и повышают их доступность и производительность
Server Core.
Windows Server 2008 включает вариант установки называемый Server Core (русск. Установка ядра сервера). Server Core – это существенно облегченная установка Windows Server 2008 в которую не включена оболочка Windows Explorer. Вся настройка и обслуживание выполняется при помощи интерфейса командной строки Windows, или подключением к серверу удалённо посредством Консоли управления. При этом доступны Блокнот и некоторые элементы панели управления, к примеру, Региональные Настройки.
В Windows Server 2008 произошло значительное обновление Служб Терминалов (Terminal Services). Службы Терминалов теперь поддерживают Remote Desktop Protocol 6.0. Самое заметное усовершенствование, названное Terminal Services RemoteApp, позволяет опубликовать одно конкретное приложение, вместо всего рабочего стола.
Другая важная особенность, добавленная в Службы Терминалов – Terminal Services Gateway и Terminal Services Web Access (теперь полностью через web-интерфейс). Terminal Services Gateway позволяет авторизованным компьютерам безопасно подключаться к Службам Терминалов или Удаленному Рабочему Столу из интернета используя RDP через HTTPS без использования VPN. Для этого не требуется открывать дополнительный порт на межсетевом экране; трафик RDP туннелируется через HTTPS. Terminal Services Web Access позволяет администраторам обеспечивать доступ к службам терминалов через Web-интерфейс. При использовании TS Gateway и TS RemoteApp, передача данных происходит через HTTP(S) и удаленные приложения выглядят для пользователя так, как будто они запущены локально. Несколько приложений запускаются через один сеанс чтобы гарантировать отсутствие потребности в дополнительных лицензиях на пользователя.
Благодаря Terminal Services Easy Print администраторам больше нет необходимости устанавливать какие-либо драйверы для принтеров на сервер. При этом Easy Print Driver перенаправляет пользовательский интерфейс и все возможности исходного принтера. Помимо этого, он улучшает производительность при передаче заданий на печать за счет перевода заданий в формат XPS перед отправкой клиенту.
UNIX и ее разновидности
Операционная система UNIX была создана в конце 60-х годов в Bell Laboratories фирмы AT&T. Ядро этой операционной системы, написанное на ассемблере, было невелико, а остальная часть ОС была написана на языке С. По этой причине UNIX может переноситься на самые разнообразные аппаратные платформы, что привело к появлению как коммерческих, так и некоммерческих версий данной ОС.
Общими для всех версий UNIX характеристиками являются многопользовательский режим со средствами защиты данных от несанкционированного доступа, реализация мультипрограммной обработки в режиме разделения времени, использование механизмов виртуальной памяти и свопинга, унификация операций ввода-вывода, иерархическая файловая система, наличие разнообразных средств взаимодействия процессов, в том числе межсетевого.
Серверные версии Linux
В настоящее время Linux весьма популярна в качестве серверной платформы, в том числе и для коммерческого применения. Список СУБД и серверов приложений для Linux довольно велик, ибо, будучи обеспокоенными ростом доли Windows на рынке серверных операционных систем, многие крупные производители аппаратного и программного обеспечения, в том числе Oracle, IBM, Hewlett-Packard, Novell, начали вкладывать немалые средства в развитие Linux, производить серверные приложения для Linux, готовые аппаратно-программные серверные решения на основе Linux, а также реализовывать совместимость с Linux в производимых ими коммерческих операционных системах – наиболее показательным примером здесь, пожалуй, является Novell Enterprise Server, построенный на основе Novell NetWare и SUSE Linux.
Из последних обновлений в области серверных версий Linux можно отметить новую линейку систем уровня предприятия от компании Mandrakelinux (Франция), производителя популярного в России и за рубежом дистрибутива Mandrakelinux. Входящие в нее продукты – многоцелевой сервер Mandrakelinux Corporate Server 3.0 и рабочая станция Mandrakelinux Corporate Desktop – отличаются от стандартных версий более длинным жизненным циклом (12-18 месяцев), гарантированным сопровождением в течение 5 лет, дополнительными приложениями, а также специальной программой технической поддержки. Наличие нескольких схем обслуживания позволяет выбрать тот вариант, который лучше всего удовлетворяет запросам конкретного пользователя. Так, на уровне Premium Support служба технической поддержки работает в режиме 24Ѕ7, а время реакции на телефонный звонок не превышает одного рабочего дня.
Одним из серьезных преимуществ ОС Linux является низкая стоимость ее приобретения. Правда, справедливости ради отметим, что, хотя эта операционная система является некоммерческим продуктом, дистрибутивы Linux, сертифицированные на совместимость с тем или иным аппаратным или программным обеспечением (например, с той или ной коммерческой СУБД), – обычно продукты коммерческие, нередко сравнимые по стоимости с аналогичными версиями Windows.
FreeBSD
FreeBSD – некоммерческая версия UNIX, доступная для 32- и 64-разрядных платформ Intel, DEC Alpha и ряда других. Основой FreeBSD послужил дистрибутив BSD UNIX, выпущенный группой исследования вычислительных систем Калифорнийского университета Беркли. Данная операционная система обладает модулями совместимости с приложениями других версий UNIX и динамически загружаемыми модулями ядра, позволяющими добавлять во время работы поддержку новых типов файловых систем, сетевых протоколов или эмуляторов без перегенерации ядра.
FreeBSD нередко используется Интернет-провайдерами, а также применяется в качестве операционной системы для корпоративных брандмауэров.
Solaris
Операционная система Sun Solaris входит в число самых известных коммерческих версий UNIX и представляет собой одну из наиболее популярных платформ для разработки корпоративных решений: для нее существует около 12 тыс. различных приложений, в том числе серверы приложений и СУБД почти всех ведущих производителей. Данная ОС доступна для платформ UltraSPARC и x86.
Solaris соответствует требованиям многих промышленных стандартов и отличается высокой масштабируемостью. Для подавляющего большинства приложений эта операционная система обеспечивает практически линейный рост производительности при увеличении числа процессоров за счет симметричных многопроцессорных вычислений. В состав 10-й версии Solaris входят такие ключевые приложения для создания корпоративной инфраструктуры, как сервер приложений, служба каталогов, средства доставки сообщений, Web-сервер, сервер для создания порталов, а также средства автоматического определения ошибок и самовосстановления, средства виртуализации, динамическая файловая система, расширенные средства безопасности.
HP-UX
ОС HP-UX, разработанная в компании Hewlett-Packard, является потомком AT&T System V. Ее последняя версия (11i) доступна для двух аппаратных платформ – PA_RISC и Intel Itanium – и ориентирована главным образом на серверы производства Hewlett-Packard.
Масштабируемость HP-UX 11i довольно высока: одна копия операционной системы поддерживает до 256 процессоров и кластеры до 128 узлов. Кроме того, данная платформа поддерживает подключение и отключение аппаратного обеспечения (в том числе и процессоров), а также резервное копирование без перезагрузки.
К особенностям HP-UX 11i, отличающим эту ОС от других платформ, можно отнести средства интеграции с Windows и Linux, в том числе для переноса в HP-UX Java-приложений, разработанных для этих платформ. Версия HP-UX 11i поддерживает Linux API, что позволяет осуществлять перенос приложений между HP-UX и Linux. В целом выбор программного обеспечения для данной операционной системы весьма широк – доступны J2EE-серверы и Web-серверы ведущих производителей, службы каталогов, серверные СУБД.
AIX
AIX является клоном UNIX производства IBM, предназначенным для выполнения на серверах IBM pSeries и RS/6000.
В числе характеристик AIX 5L – наличие полностью 64-разрядных ядер, драйверов устройств и среды исполнения приложений (при этом имеется и 32-разрядное ядро, равно как и поддержка 32-разрядных приложений), поддержка 256 Гбайт оперативной памяти, файлов объемом до 1 Тбайт, поддержка кластеров (до 32 компьютеров), удобные средства администрирования, наличие развитых средств сетевой поддержки, возможности автонастройки и автооптимизации с помощью управления мощностью и разгрузкой процессоров, системой упреждающего анализа неисправностей.
Как и HP-UX, операционная система AIX обладает совместимостью с Linux, что дает возможность переноса приложений между этими платформами.
Mac OS X Server
Серверная операционная система Mac OS X Server, основанная на BSD UNIX, была создана специалистами компании Apple совместно с рядом университетских ученых. В 1999 году версия Mac OS X Server была выпущена в виде продукта OpenSource, что позволило адаптировать Mac OS X для заказчиков, а также привлечь разработчиков к дальнейшему развитию этой ОС.
Mac OS X характеризуется наличием менеджера виртуальной памяти, возможностью полной изоляции приложений друг от друга, поддержкой многозадачности. Хотя в Mac OS X имеются средства, свойственные настольным платформам (эмулятор предыдущих версий Mac OS, средства работы с мультимедиаданными, почтовый клиент), она позиционируется в первую очередь как серверная платформа. Последняя версия этой операционной системы, Mac OS X Server version 10.4 Tiger, поддерживает выполнение 64-разрядных приложений, содержит средства совместимости с сетями на основе Windows, Linux, Mac OS, средства поддержки LDAP-каталогов различных производителей – в частности, Microsoft имеет в своем составе ряд продуктов для создания корпоративной инфраструктуры, например средства управления обновлениями, антивирусное ПО, сервер мгновенного обмена сообщениями.
Многие производители СУБД и серверов приложений уже выпустили для Mac OS X Server версии своих продуктов, но на данный момент доля серверов, работающих под управлением этой операционной системы, весьма незначительна.
NetWare и Open Enterprise Server
В начале 90-х годов Novell NetWare была доминирующей сетевой операционной системой и пользовалась заслуженной популярностью благодаря своей надежности. В настоящее время эта ОС довольно широко применяется, но уже не занимает лидирующих позиций на рынке серверных ОС. Сегодня эта операционная система в основном используется в качестве сетевого и файлового серверов, серверов печати и групповой работы (существует продукт для групповой работы Novell GroupWise, серверная часть которого выполняется под управлением NetWare). Кроме того, данную ОС можно использовать и в качестве сервера приложений, поскольку в ее состав входит J2EE-сервер Novell exteNd Application Server.
Novell NetWare характеризуется высокой степенью надежности и масштабируемости, отличным уровнем безопасности данных, устойчивостью к сбоям, способностью управлять большим количеством рабочих станций и внешних устройств.
Отметим, что компания Novell, помимо NetWare, выпускает и решение под названием Novell Open Enterprise Server, сочетающее в себе NetWare и SUSE LINUX Enterprise Server и содержащее в своем составе множество инфраструктурных приложений, характерных для обеих платформ, в частности СУБД MySQL, Web-сервер Apache, серверы приложений Tomcat и ExteNd.
1. Дать определение и характеристику основных режимов работы, дисциплин и режимов обслуживания заявок в вычислительных системах.
2. Дать определение и характеристику классов программных средств.
3. Изложить классификацию ОС.
4. Охарактеризовать основные принципы построения ОС.
5. Перечислить виды интерфейсов ОС. Охарактеризовать пакетную технологию как интерфейс. Дать описание интерфейса командной строки.
6. Дать описание графических интерфейсов. В каких ОС они применяются?
7. Охарактеризовать речевую технологию как интерфейс.
8. Охарактеризовать биометрическую технологию как интерфейс.
9. Охарактеризовать семантический интерфейс.
1. А. В. Гордеев. Операционные системы Издательство: Питер, 2009 г. 416 с.
2. Безопасность операционных систем : учебное пособие / А. А. Безбогов, А.В. Яковлев, Ю.Ф. Мартемьянов. - М. : "Издательство Машиностроение", 2007. - 220 с.
3. Олифер В.Г., Олифер Н.А. Сетевые операционные системы Спб.: Издательский дом Питер, 2001
4. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы Спб.: Издательский дом Питер, 2002
5. Операционная система UNIX. Издательство: БХВ-Петербург, 2007 г.
6. Операционные системы.Учебный курс. CD-ROM, 2006 г.
7. Снейдер Й. Эффективное программирование TCP/IP Издательский дом Питер, 2001
8. Соломон Д., Руссинович М. Внутреннее устройство Microsoft Windows 2000 СПб: Издательский дом Питер, М.: Русская редакция, 2001
9. Стивенс У. UNIX: Взаимодействие процессов СПб: Издательский дом Питер, 2002
10. Стивенс У. UNIX: разработка сетевых приложений СПб: Издательский дом Питер, 2003
11. Таненбаум Э. Современные операционные системы СПб.: Издательский дом Питер, 2002
12. Таненбаум Э. Компьютерные сети СПб.: Издательский дом Питер, 2003
13. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы СПб.: Издательский дом Питер, 2003
14. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть1. Основы и принципы. Издательство: Бином-Пресс, 2009 г. 1024 с.
15. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть 2. Распределенные системы, сети, безопасность. Издательство: Бином-Пресс, 2009 г
16. http://vv303.narod.ru/files/inst/olifer/chapter1/default.htm#1
17. http://www.intuit.ru/department/network/mswinserver2003/
18. http://citforum.ru/operating_systems/unix/contents.shtml
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Информационная безопасность – сравнительно молодая, быстро развивающаяся область информационных технологий. Под информационной безопасностью будем понимать защищенность информации и поддерживающей инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, которые могут нанести неприемлемый ущерб субъектам информационных отношений, в том числе владельцам и пользователям информации и поддерживающей инфраструктуры.
Защита информации – это комплекс мероприятий, направленных на обеспечение информационной безопасности.
С методологической точки зрения правильный подход к проблемам информационной безопасности начинается с выявления субъектов информационных отношений и интересов этих субъектов, связанных с использованием информационных систем (ИС). Угрозы информационной безопасности – это оборотная сторона использования информационных технологий.
Информационная безопасность – многогранная область деятельности, в которой успех может принести только систематический, комплексный подход. Для решения данной проблемы рассматриваются меры законодательного, административного, процедурного и программно-технического уровня.
Спектр интересов субъектов, связанных с использованием информационных систем, можно разделить на следующие категории: обеспечение доступности, целостности и конфиденциальности информационных ресурсов и поддерживающей инфраструктуры.
Успех практически любой деятельности в немалой степени зависит от умения распоряжаться такой ценностью, как информация. В нормативных документах[2] определено, что:
· «информационные ресурсы являются объектами собственности граждан, организаций, общественных объединений, государства»;
· «информация – сведения о лицах, предметах, событиях, явлениях и процессах (независимо от формы их представления), отраженные на материальных носителях, используемые в целях получения знаний и практических решений».
Информация имеет ряд особенностей:
· не материальна;
· хранится и передается с помощью материальных носителей;
· любой материальный объект содержит информацию о самом себе либо о другом объекте.
Информации присущи следующие свойства: Ценность информации определяется степенью ее полезности для владельца. Законом РФ «Об информации, информационных технологиях и о защите информации» гарантируется право собственника информации на ее использование и защиту от доступа к ней других лиц (организаций). Если доступ к информации ограничен, то такая информация называется конфиденциальной. Конфиденциальная информация может содержать государственную или коммерческую тайну.
Достоверность информации определяется достаточной для владельца точностью отражать объекты и процессы окружающего мира в определенных временных и пространственных рамках. Информация, искаженно представляющая действительность, может нанести владельцу значительный материальный и моральный ущерб. Если информация искажена умышленно, то ее называют дезинформацией.
Своевременность информации, т. е. соответствие ценности и достоверности определенному временному периоду, может быть выражена формулой
![]()
где
-
ценность информации в момент ее возникновения;
-
время от момента возникновения информации до момента определения ее стоимости;
-
время от момента возникновения информации до момента ее устаревания.
Предметом защиты является информация, хранящаяся, обрабатываемая и передаваемая в компьютерных (информационных) системах. Особенностями данного вида информации являются:
· двоичное представление информации внутри системы, независимо от физической сущности носителей исходной информации;
· высокая степень автоматизации обработки и передачи информации;
· концентрация большого количества информации в КС.
Объектом защиты информации является компьютерная (информационная) система или автоматизированная система обработки информации (АСОИ).
Информационная система – это организационно-упорядоченная совокупность информационных ресурсов, технических средств, технологий и персонала, реализующих информационные процессы в традиционном или автоматизированном режиме для удовлетворения информационных потребностей пользователей.
Информационная безопасность АСОИ – состояние рассматриваемой автоматизированной системы, при котором она, с одной стороны, способна противостоять дестабилизирующему воздействию внешних и внутренних информационных угроз, а с другой – ее наличие и функционирование не создает информационных угроз для элементов самой системы и внешней среды.
Информационная безопасность достигается проведением соответствующего уровня политики информационной безопасности.
Под политикой информационной безопасности понимают совокупность норм, правил и практических рекомендаций, регламентирующих работу средств защиты АСОИ от заданного множества угроз безопасности.
Система защиты информации – совокупность правовых норм, организационных мер и мероприятий, технических, программных и криптографических средств и методов, обеспечивающих защищенность информации в системе в соответствии с принятой политикой безопасности.
1) Основные положения безопасности информационных систем.
Что касается подходов к реализации защитных мероприятий по обеспечению безопасности информационных систем, то сложилась трехэтапная (трехстадийная) разработка таких мер.
Первая стадия – выработка требований – включает:
· определение состава средств информационной системы;
· анализ уязвимых элементов ИС;
· оценка угроз (выявление проблем, возникающих при наличия уязвимых мест);
· анализ риска (прогноз возможных последствий, вызывающих эти проблемы).
Вторая стадия – определение способов защиты – включает ответы на следующие вопросы:
· Какие угрозы должны быть устранены и в какой мере?
· Какие ресурсы системы должны быть защищаемы и в какой степени?
· С помощью каких средств должна быть реализована защита?
· Какова должна быть полная стоимость реализации защиты и затраты на эксплуатацию с учетом потенциальных угроз?
Третья стадия – определение функций, процедур и средств безопасности, реализуемых в виде некоторых механизмов защиты.
2) Основные принципы обеспечения информационной безопасности в АС.
Для защиты АС на основании руководящих документов Гостехкомиссии могут быть сформулированы следующие положения:
· Информационная безопасность АС основывается на положениях требованиях существующих законов, стандартов и нормативно-методических документов.
· Информационная безопасность АС обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер.
· Информационная безопасность АС должна обеспечиваться на всех технологических этапах обработки информации и во всех режимах функционирования, в том числе при проведении ремонтных и регламентных работ.
· Программно-технические средства защиты не должны существенно ухудшать основные функциональные характеристики АС (надежность, быстродействие, возможность изменения конфигурации АС).
Неотъемлемой частью работ по ИБ является оценка эффективности средств защиты, осуществляемая по методике, учитывающей всю совокупность технических характеристик оцениваемого объекта, включая технические решения и практическую реализацию средств защиты.
Защита АС должна предусматривать контроль эффективности средств защиты. Этот контроль может быть периодическим либо инициироваться по мере необходимости пользователем АС или контролирующим органом.
Рассмотренные подходы могут быть реализованы при обеспечении следующих основных принципов:
Принцип системности. Системный подход к защите информационных систем предполагает необходимость учета всех взаимосвязанных, взаимодействующих и изменяющихся во времени элементов, условий и факторов:
· при всех видах информационного проявления и деятельности;
· во всех структурных элементах;
· при всех режимах функционирования;
· на всех этапах жизненного цикла;
· с учетом взаимодействия объекта защиты с внешней средой.
Система защиты должна строиться не только с учетом всех известных каналов проникновения, но и с учетом возможности появления принципиально новых путей реализации угроз безопасности.
Принцип комплексности. В распоряжении специалистов по компьютерной безопасности имеется широкий спектр мер, методов и средств защиты компьютерных систем (современные СВТ, ОС, инструментальные и прикладные программные средства, обладающие теми или иными встроенными элементами защиты). Комплексное их использование предполагает согласование разнородных средств при построении целостной системы защиты, перекрывающей все существенные каналы реализации угроз и не содержащей слабых мест на стыках отдельных ее компонентов.
Принцип непрерывности защиты. Защита информации – это не разовое мероприятие и даже не конкретная совокупность уже проведенных мероприятий и установленных средств защиты, а непрерывный целенаправленный процесс, предполагающий принятие соответствующих мер на всех этапах жизненного цикла АС. Разработка системы защиты должна вестись параллельно с разработкой самой защищаемой системы. Это позволит учесть требования безопасности при проектировании архитектуры и, в конечном счете, позволит создать более эффективные (как по затратам ресурсов, так и по стойкости) защищенные системы. Большинству физических и технических средств защиты для эффективного выполнения своих функций необходима постоянная организационная поддержка (своевременная смена и обеспечение правильного хранения и применения имен, паролей, ключей шифрования, переопределение полномочий и т. п.). Перерывы в работе средств защиты могут быть использованы злоумышленниками для анализа применяемых методов и средств защиты, внедрения специальных программных и аппаратных «закладок» и других средств преодоления системы защиты после восстановления ее функционирования.
Разумная достаточность. Создать абсолютно непреодолимую систему защиты принципиально невозможно, при достаточных времени и средствах можно преодолеть любую защиту. Поэтому имеет смысл вести речь только о некотором приемлемом уровне безопасности. Высокоэффективная система защиты стоит дорого, использует при работе существенную часть мощности и ресурсов ИС и может создавать ощутимые дополнительные неудобства пользователям. Важно правильно выбрать тот достаточный уровень зашиты, при котором затраты, риск и размер возможного ущерба были бы приемлемыми.
Гибкость системы защиты. Часто приходится создавать систему защиты в условиях большой неопределенности. Поэтому принятые меры и установленные средства защиты, особенно в начальный период их эксплуатации, могут обеспечивать как чрезмерный, так и недостаточный уровень защиты. Для обеспечения возможности варьирования уровнем защищенности средства защиты должны обладать определенной гибкостью. Особенно важно это свойство в тех случаях, когда средства защиты необходимо устанавливать на работающую систему, нарушая процесс ее нормального функционирования.
Открытость алгоритмов и механизмов защиты. Суть принципа открытости алгоритмов и механизмов защиты состоит в том, что защита не должна обеспечиваться только за счет секретности структурной организации и алгоритмов функционирования ее подсистем. Знание алгоритмов работы системы защиты не должно давать возможности ее преодоления. Но это вовсе не означает, что информация конкретной системы защиты должна быть общедоступна – необходимо обеспечивать защиту от угрозы раскрытия параметров системы.
Принцип простоты применения средств защиты. Механизмы защиты должны быть интуитивно понятны и просты в использовании, применение средств защиты не должно быть связано со знанием специальных языков или с выполнением действий, требующих значительных дополнительных трудозатрат при обычной работе законных пользователей, а также не должно требовать от пользователя выполнения рутинных непонятных ему операций (ввод нескольких паролей и имен и т. д.).
В настоящее время выделяют этапы развития концепций обеспечения безопасности данных, сущность которых приведена в табл.2.
Таблица 2.
Этапы развития концепций обеспечения безопасности данных
|
Этапы развития концепций |
Характеристика этапа |
|
1 |
2 |
|
I этап 1960-1970 гг. |
Попытки обеспечить безопасность данных чисто формальными механизмами, содержащими, главным образом, технические и программные средства. Сосредоточение программных средств в рамках операционных систем и систем управления базами данных |
|
2 этап 1970-1976 гг. |
Развитие формальных механизмов защиты данных. Выделение управляющего компонента защиты данных – ядра безопасности. Развитие неформальных средств защиты. Формирование основ системного подхода к обеспечению безопасности данных |
|
3 этап 1976-1990 гт. |
Дальнейшее развитие механизмов второго этапа. Формирование взгляда на обеспечение безопасности данных как на непрерывный процесс. Развитие стандартов на средства защиты данных. Усиление тенденции аппаратной реализации средств защиты данных |
|
|
Формирование вывода о взаимосвязи обеспечения безопасности данных, архитектуры ИВС и технологии ее функционирования. Формирование системного подхода к проблеме обеспечения безопасности данных |
|
4 этап 1990 г.– по настоящее время |
Дальнейшее развитие механизмов третьего этапа. Формирование основ теории обеспечения безопасности данных в ИВС. Разработка моделей, методов и алгоритмов управления защитой данных в ИВС |
Настоящий профиль защиты определяет требования безопасности для клиентских операционных систем.
Операционные системы, соответствующие настоящему профилю защиты, могут использоваться в автоматизированных системах, обрабатывающих конфиденциальную информацию.
Содержание Профиля защиты состоит из пяти разделов:
1. Введение ПЗ.
2. Описание ОО.
3. Среда безопасности ОО.
4. Цели безопасности.
5. Требования безопасности ИТ .
6. Обоснование.
В основе ПЗ находиться ГОСТ Р ИСО/МЭК 15408–2002 «Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий» Части 1, 2, 3.
Настоящий ПЗ определяет требования безопасности для клиентских операционных систем (далее - объект оценки).
Объект оценки (ОО) - клиентская многозадачная и многопользовательская операционная система, обеспечивающая контролируемую защиту доступа (обычно именуемую дискреционным управлением доступом) субъектов (то есть, процессов пользователей) к объектам (например, данным или системным ресурсам) и располагающая возможностями по управлению используемыми аппаратными средствами.
Функционирование ОО подчинено определенной политике безопасности ОО, отраженной в функциональных требованиях безопасности ОО.
Операционные системы, соответствующие настоящему ПЗ, могут использоваться в автоматизированных системах, обрабатывающих конфиденциальную информацию.
1. Охарактеризуйте информацию и ее свойства.
2. Что является предметом и объектом защиты информации?
3. Чем определяется ценность информации? Приведите классификацию конфиденциальной информации.
4. Охарактеризуйте свойства достоверности и своевременности информации.
5. Дайте определения информационной безопасности АСОИ и политики информационной безопасности.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Угроза – это потенциальная возможность определенным образом нарушить информационную безопасность.
Угроза – это потенциально возможное событие, действие (воздействие), процесс или явление, которое может привести к нанесению ущерба чьим-либо интересам.
Угрозой информационной безопасности АС называется возможность реализации воздействия на информацию, обрабатываемую АС, приводящего к искажению, уничтожению, копированию, блокированию доступа к информации, а также возможность воздействия на компоненты АС, приводящего к утрате, уничтожению или сбою функционирования носителя информации, средства взаимодействия с носителем или средства его управления.
Попытка реализации угрозы называется атакой, а тот кто предпринимает такую попытку – злоумышленником. Потенциальные злоумышленники называются источниками угрозы.
Чаще всего угроза является следствием наличия уязвимых мест в защите информационных систем (таких как возможность доступа посторонних лиц к критически важному оборудованию или ошибки в программном обеспечении).
Промежуток времени от момента, когда появляется возможность использовать слабое место, и до момента, когда пробел ликвидируется, называется окном опасности, ассоциированным с данным уязвимым местом. Пока существует окно опасности, возможны успешные атаки на ИС.
Если речь идет об ошибках в ПО, то окно опасности «открывается» с появлением средств использования ошибки и ликвидируется при наложении заплат, ее исправляющих.
Для большинства уязвимых мест окно опасности существует сравнительно долго (несколько дней, иногда – недель), поскольку за это время должны произойти следующие события:
· должно стать известно о средствах использования пробела в защите;
· должны быть выпущены соответствующие заплаты;
· заплаты должны быть установлены в защищаемой ИС.
Новые уязвимые места и средства их использования появляются постоянно; это значит, во-первых, что почти всегда существую! окна опасности, и, во-вторых, что отслеживание таких окон должно производиться постоянно, а выпуск и наложение заплат – как можно более оперативно.
Некоторые угрозы нельзя считать следствием каких-то ошибок или просчетов, они существуют в силу самой природы современных ИС. Например, угроза отключения электричества или выхода его параметров за допустимые границы существует в силу зависимости аппаратного обеспечения ИС от качественного электропитания.
Рассмотрение наиболее распространенных угроз, которым подвержены современные информационные системы, дает представление о возможных угрозах, а также об уязвимых местах, которые эти угрозы обычно эксплуатируют, необходимо для того, чтобы выбирать наиболее экономичные средства обеспечения безопасности.
Угрозы, как и все в ИБ, зависят от интересов субъектов информационных отношений (и от того, какой ущерб является для них неприемлемым). Задание возможных угроз информационной безопасности проводится с целью определения полного перечня требований к разрабатываемой системе защиты. Перечень угроз, оценки вероятностей их реализации, а также модель нарушителя служат основой для анализа риска реализации угроз и формулирования требований к системе защиты АС. Кроме выявления возможных угроз, должен быть проведен их анализ на основе классификационных признаков. Каждый из признаков классификации отражает одно из обобщенных требований к системе защиты. При этом угрозы, соответствующие каждому признаку классификации, позволяют детализировать отражаемое этим признаком требование.
Угрозы можно классифицировать по нескольким критериям:
1) по аспекту информационной безопасности (доступность, целостность, конфиденциальность), против которого угрозы направлены в первую очередь;
2) по компонентам информационных систем, на которые угрозы нацелены (данные, программы, аппаратура, поддерживающая инфраструктура);
3) по способу осуществления (случайные/преднамеренные действия природного/техногенного характера);
4) по расположению источника угроз (внутри/вне рассматриваемой ИС).
Необходимость классификации угроз ИБ АС обусловлена тем, что архитектура современных средств автоматизированной обработки информации, организационное, структурное и функциональное построение информационно-вычислительных систем и сетей, технологии и условия автоматизированной обработки информации такие, что накапливаемая, хранимая и обрабатываемая информация подвержена случайным влияниям чрезвычайно большого числа факторов, в силу чего становится невозможным формализовать задачу описания полного множества угроз. Как следствие, для защищаемой системы определяют не полный перечень угроз, а перечень классов угроз.
Классификация всех возможных угроз информационной безопасности АС может быть проведена по ряду базовых признаков.
По природе возникновения.
· Естественные угрозы – угрозы, вызванные воздействиями на АС и ее компоненты объективных физических процессов или стихийных природных явлений, независящих от человека.
· Искусственные угрозы – угрозы информационной безопасности АС, вызванные деятельностью человека.
По степени преднамеренности проявления.
Угрозы случайного действия и/или угрозы, вызванные ошибками или халатностью персонала. Например:
· проявление ошибок программно-аппаратных средств АС;
· некомпетентное использование, настройка или неправомерное отключение средств защиты персоналом службы безопасности;
· неумышленные действия, приводящие к частичному или полному отказу системы или разрушению аппаратных, программных, информационных ресурсов системы (неумышленная порча оборудования, удаление, искажение файлов с важной информацией или программ, в том числе системных и т. п.);
· неправомерное включение оборудования или изменение режимов работы устройств и программ;
· неумышленная порча носителей информации;
· пересылка данных по ошибочному адресу абонента (устройства);
· ввод ошибочных данных;
· неумышленное повреждение каналов связи.
Угрозы преднамеренного действия (например, угрозы действий злоумышленника для хищения информации).
По непосредственному источнику угроз.
Угрозы, непосредственным источником которых является природная среда (стихийные бедствия, магнитные бури, радиоактивное излучение и т. п.).
Угрозы, источником которых является человек:
· внедрение агентов в число персонала системы (в том числе, возможно, и в административную группу, отвечающую за безопасность);
· вербовка (путем подкупа, шантажа и т. п.) персонала или отдельных пользователей, имеющих определенные полномочия;
· угроза несанкционированного копирования секретных данных пользователем АС;
· разглашение, передача или утрата атрибутов разграничения доступа (паролей, ключей шифрования, идентификационных карточек, пропусков и т. п.).
Угрозы, непосредственным источником которых являются санкционированные программно-аппаратные средства:
· запуск технологических программ, способных при некомпетентном пользовании вызывать потерю работоспособности системы (зависания или зацикливания) или необратимые изменения в системе (форматирование или реструктуризацию носителей информации, удаление данных и т. п.);
· возникновение отказа в работе операционной системы.
Угрозы, непосредственным источником которых являются несанкционированные программно-аппаратные средства:
· нелегальное внедрение и использование неучтенных программ (игровых, обучающих, технологических и других программ, не являющихся необходимыми для выполнения нарушителем своих служебных обязанностей) с последующим необоснованным расходованием ресурсов (загрузка процессора, захват оперативной памяти и памяти на внешних носителях);
· заражение компьютера вирусами с деструктивными функциями.
По положению источника угроз.
Угрозы, источник которых расположен вне контролируемой зоны территории (помещения), на которой находится АС:
· перехват побочных электромагнитных, акустических и других излучений устройств и линий связи, а также наводок активных излучений на вспомогательные технические средства, непосредственно не участвующие в обработке информации (телефонные линии, сети питания, отопления и т. п.);
· перехват данных, передаваемых по каналам связи, и их анализ с целью выяснения протоколов обмена, правил вхождения в связь и авторизации пользователя и последующих попыток их имитации для проникновения в систему;
· дистанционная фото- и видеосъемка.
Угрозы, источник которых расположен в пределах контролируемой зоны территории (помещения), на которой находится АС:
· хищение производственных отходов (распечаток, записей, списанных носителей информации и т. п.);
· отключение или вывод из строя подсистем обеспечения функционирования вычислительных систем (электропитания, охлаждения и вентиляции, линий связи и т. д.);
· применение подслушивающих устройств.
Угрозы, источник которых имеет доступ к периферийным устройствам АС (терминалам).
Угрозы, источник которых расположен в АС:
· проектирование архитектуры системы и технологии обработки данных, разработка прикладных программ, которые представляют опасность для работоспособности системы и безопасности информации;
· некорректное использование ресурсов АС.
По степени зависимости от активности АС.
Угрозы, которые могут проявляться независимо от активности АС:
· вскрытие шифров криптозащиты информации;
· хищение носителей информации (магнитных дисков, лент, микросхем памяти, запоминающих устройств и компьютерных систем).
Угрозы, которые могут проявляться только в процессе автоматизированной обработки данных (например, угрозы выполнения и распространения программных вирусов).
По степени воздействия на АС.
Пассивные угрозы, которые при реализации ничего не меняют в структуре и содержании АС (угроза копирования секретных данных).
Активные угрозы, которые при воздействии вносят изменения в структуру и содержание АС:
· внедрение аппаратных спецвложений, программных «закладок» и «вирусов» («троянских коней» и «жучков»), т. е. таких участков программ, которые не нужны для выполнения заявленных функций, но позволяют преодолеть систему защиты, скрытно и незаконно осуществить доступ к системным ресурсам с целью регистрации и передачи критической информации или дезорганизации функционирования системы;
· действия по дезорганизации функционирования системы (изменение режимов работы устройств или программ, забастовка, саботаж персонала, постановка мощных активных радиопомех на частотах работы устройств системы и т. п.);
· угроза умышленной модификации информации.
По этапам доступа пользователей или программ к ресурсам АС.
Угрозы, которые могут проявляться на этапе доступа к ресурсам АС (например, угрозы несанкционированного доступа в АС).
Угрозы, которые могут проявляться после разрешения доступа к ресурсам АС (например, угрозы несанкционированного или некорректного использования ресурсов АС).
По способу доступа к ресурсам АС.
Угрозы, направленные на использование прямого стандартного пути доступа к ресурсам АС:
· незаконное получение паролей и других реквизитов разграничения доступа (агентурным путем, используя халатность пользователей, подбором, имитацией интерфейса системы и т. д.) с последующей маскировкой под зарегистрированного пользователя («маскарад»);
· несанкционированное использование терминалов пользователей, имеющих уникальные физические характеристики, такие как номер рабочей станции в сети, физический адрес, адрес в системе связи, аппаратный блок кодирования и т. п.
Угрозы, направленные на использование скрытого нестандартного пути доступа к ресурсам АС:
· вход в систему в обход средств защиты (загрузка посторонней операционной системы со сменных магнитных носителей и т. п.);
· угроза несанкционированного доступа к ресурсам АС путем использования недокументированных возможностей ОС.
По текущему месту расположения информации, хранимой и обрабатываемой в АС.
Угрозы доступа к информации на внешних запоминающих устройствах (например, угроза несанкционированного копирования секретной информации с жесткого диска).
Угрозы доступа к информации в оперативной памяти:
· чтение остаточной информации из оперативной памяти;
· чтение информации из областей оперативной памяти, используемых операционной системой (в том числе подсистемой защиты) или другими пользователями, в асинхронном режиме, используя недостатки мультизадачных АС и систем программирования;
· угроза доступа к системной области оперативной памяти со сторон прикладных программ.
Угрозы доступа к информации, циркулирующей в линиях связи:
· незаконное подключение к линиям связи с целью работы во время пауз в действиях законного пользователя от его имени с вводом ложных сообщений или модификацией передаваемых сообщений;
· незаконное подключение к линиям связи с целью прямой подмены законного пользователя путем его физического отключения после входа в систему и успешной аутентификации с последующим вводом дезинформации и навязыванием ложных сообщений;
· перехват всего потока данных с целью дальнейшего анализа не в реальном масштабе времени.
Угрозы доступа к информации, отображаемой на терминале или печатаемой на принтере (например, угроза записи отображаемой информации на скрытую видеокамеру). Вне зависимости от конкретных видов угроз или их проблемно-ориентированной классификации АС удовлетворяет потребности эксплуатирующих ее лиц, если обеспечиваются следующие свойства информации систем ее обработки.
В качестве основного критерия будем использовать аспект ИБ, привлекая при необходимости остальные.
Угроза доступности (отказа служб) возникает всякий раз, когда в результате преднамеренных действий, предпринимаемых другим пользователем или злоумышленником, блокируется доступ к некоторому ресурсу вычислительной системы. Реально блокирование может быть постоянным – запрашиваемый ресурс никогда не будет получен, или оно может вызывать только задержку запрашиваемого ресурса, достаточно долгую для того, чтобы он стал бесполезным. В этих случаях говорят, что ресурс исчерпан.
Доступность информации – свойство системы (среды, средств и технологии обработки), в которой циркулирует информация, характеризующаяся способностью обеспечивать своевременный беспрепятственный доступ субъектов к интересующей их информации и готовность соответствующих автоматизированных служб к обслуживанию поступающих от субъектов запросов всегда, когда возникает в этом необходимость.
Самыми частыми и самыми опасными (с точки зрения размера ущерба) являются непреднамеренные ошибки штатных пользователей, операторов, системных администраторов и других лиц, обслуживающих ИС. Эти ошибки и являются собственно угрозами (неправильно введенные данные или ошибка в программе), иногда они создают уязвимые места, которые используют злоумышленники (по данным до 65% потерь – от непреднамеренных ошибок).
Другие угрозы доступности классифицируем по компонентам ИС, на которые нацелены угрозы:
· отказ пользователей;
· внутренний отказ информационной системы;
· отказ поддерживающей инфраструктуры.
Обычно, применительно к пользователям, рассматриваются следующие угрозы: нежелание работать с информационной системой; невозможность работать с системой в силу отсутствия соответствующей подготовки; невозможность работать с системой в силу отсутствия технической поддержки (неполнота документации, недостаток справочной информации и т. п.).
Основными источниками внутренних отказов являются: отступление от установленных правил эксплуатации; выход системы из штатного режима эксплуатации в силу случайных или преднамеренных действий пользователей или обслуживающего персонала (превышение расчетного числа запросов, чрезмерный объем обрабатываемой информации и т. п.); ошибки при (пере)конфигурировании системы; отказы программного и аппаратного обеспечения; разрушение данных; разрушение или повреждение аппаратуры.
По отношению к поддерживающей инфраструктуре рекомендуется рассматривать следующие угрозы: нарушение работы (случайное или умышленное) систем связи, электропитания, водо- и/или теплоснабжения, кондиционирования; разрушение или повреждение помещений; невозможность или нежелание обслуживающего персонала и/или пользователей выполнять свои обязанности.
Приведем некоторые примеры угроз и программных атак на доступность.
В качестве средства вывода системы из штатного режима эксплуатации может использоваться агрессивное потребление ресурсов (обычно – полосы пропускания сетей, вычислительных возможностей процессоров или ОЗУ). По расположению источника угрозы такое потребление подразделяется на локальное и удаленное. При просчетах в конфигурации системы локальная программа способна практически монополизировать процессор и/или физическую память, сведя скорость выполнения других программ к нулю.
Удаленное потребление ресурсов в последнее время проявляется в особенно опасной форме – как скоординированные распределенные атаки, когда на сервер с множества разных адресов с максимальной скоростью направляются вполне легальные запросы на соединение и/или обслуживание.
Угроза нарушения целостности включает в себя любое умышленное изменение информации, хранящейся в вычислительной системе или передаваемой из одной системы в другую, в том числе и несанкционированное изменение информации при случайных ошибках программного или аппаратного обеспечения. Санкционированными изменениями являются те, которые сделаны уполномоченными лицами с обоснованной целью (например, периодическая запланированная коррекция некоторой базы данных).
Целостность информации – существование информации в неискаженном виде (неизменном по отношению к некоторому фиксированному ее состоянию). Обычно субъектов интересует обеспечение более широкого свойства – достоверности информации, которое складывается из адекватности (полноты и точности) отображения состояния предметной области и непосредственно целостности информации, т. е. ее неискаженности.
Существует различие между статической и динамической целостностью. С целью нарушения статической целостности злоумышленник может: ввести неверные данные, изменить данные.
Угрозой целостности является не только фальсификация или изменение данных, но и отказ от совершенных действий. Если нет средств обеспечить «неотказуемостъ», компьютерные данные не могут рассматриваться в качестве доказательства.
Потенциально уязвимы с точки зрения нарушения целостности не только данные, но и программы. Внедрение рассмотренного выше вредоносного ПО – пример подобного нарушения.
Угрозами динамической целостности являются нарушение атомарности транзакций, переупорядочение, кража, дублирование данных или внесение дополнительных сообщений (сетевых пакетов и т. п.). Соответствующие действия в сетевой среде называются активным прослушиванием.
Угроза нарушения конфиденциальности заключается в том, что информация становится известной тому, кто не располагает полномочиями доступа к ней. В связи с данной угрозой используется термин «утечка».
Конфиденциальность информации – субъективно определяемая (приписываемая) характеристика (свойство) информации, указывающая на необходимость введения ограничений на круг субъектов, имеющих доступ к данной информации, и обеспечиваемая способностью системы (среды) сохранять указанную информацию в тайне от субъектов, не имеющих полномочий доступа к ней. Объективные предпосылки подобного ограничения доступности информации для одних субъектов заключены в необходимости защиты их законных интересов от других субъектов информационных отношений.
Конфиденциальную информацию можно разделить на предметную и служебную. Служебная информация (например, пароли пользователей) не относится к определенной предметной области, в информационной системе она играет техническую роль, но ее раскрытие особенно опасно, поскольку оно чревато получением несанкционированного доступа ко всей информации, в том числе предметной.
Многим субъектам приходится выступать в качестве пользователей не одной, а целого ряда систем (информационных сервисов). Если для доступа к таким системам используются многоразовые пароли или иная конфиденциальная информация, то наверняка эти данные будут храниться не только в голове, но и в записной книжке или на листках бумаги, которые пользователь часто оставляет на рабочем столе, а то и попросту теряет. И дело здесь не в неорганизованности людей, а в изначальной непригодности парольной схемы. Невозможно помнить много разных паролей; рекомендации по их регулярной смене только усугубляют положение, заставляя применять несложные схемы чередования или стараться свести дело к двум-трем легко запоминаемым паролям.
Описанный класс уязвимых мест можно назвать размещением конфиденциальных данных в среде, где им не обеспечена необходимая защита. Угроза же состоит в том, что кто-то не откажется узнать секреты, которые сами просятся в руки. Помимо паролей, хранящихся в записных книжках пользователей, в этот класс попадает передача конфиденциальных данных в открытом виде (в разговоре, в письме, по сети), которая делает возможным перехват данных. Для атаки могут использоваться разные технические средства (подслушивание или прослушивание разговоров, пассивное прослушивание сети и т. п.), но идея одна – получить доступ к данным в тот момент, когда они наименее защищены.
Перехват данных – очень серьезная угроза, и если конфиденциальность действительно является критичной, а данные передаются по многим каналам, их защита может оказаться весьма сложной и дорогостоящей. Технические средства перехвата хорошо проработаны, доступны, просты в эксплуатации, а установить их, например на кабельную сеть, может кто угодно, так что эту угрозу нужно принимать во внимание по отношению не только к внешним, но и к внутренним коммуникациям.
Опасной нетехнической угрозой конфиденциальности являются методы морально-психологического воздействия, такие как маскарад – выполнение действий под видом лица, обладающего полномочиями для доступа к данным.
К неприятным угрозам, от которых трудно защищаться, можно отнести злоупотребление полномочиями. На многих типах систем привилегированный пользователь (например системный администратор) способен прочитать любой (незашифрованный) файл, получить доступ к почте любого пользователя и т. д. Другой пример – нанесение ущерба при сервисном обслуживании. Обычно сервисный инженер получает неограниченный доступ к оборудованию и имеет возможность действовать в обход программных защитных механизмов.
Таковы основные угрозы, которые наносят наибольший ущерб субъектам информационных отношений.
На современном этапе развития информационных технологий подсистемы или функции защиты являются неотъемлемой частью комплекса по обработке информации. Информация не представляется «в чистом виде», на пути к ней имеется хотя бы какая-нибудь система защиты, и поэтому чтобы угрожать, атакующая сторона должна преодолеть эту систему. Однако не существует абсолютно стойкой системы защиты, вопрос лишь во времени и средствах, требующихся на ее преодоление. Исходя из данных условий, примем следующую модель: защита информационной системы считается преодоленной, если в ходе ее исследования определены все уязвимости системы. Поскольку преодоление защиты также представляет собой угрозу, для защищенных систем будем рассматривать ее четвертый вид – угрозу раскрытия параметров АС, включающей в себя систему защиты. С точки зрения практики любое проводимое мероприятие предваряется этапом разведки, в ходе которого определяются основные параметры системы, ее характеристики, в результате чего уточняется поставленная задача и выбираются оптимальные технические средства.
Угрозу раскрытия можно рассматривать как опосредованную. Последствия ее реализации не причиняют какой-либо ущерб обрабатываемой информации, но дают возможность реализоваться первичным или непосредственным угрозам, перечисленным выше. Введение данного вида угроз позволяет описывать с научно-методологической точки зрения отличия защищенных информационных систем от открытых. Для последних угроза разведки параметров системы считается реализованной.
1. Структуризация методов обеспечения информационной безопасности.
При рассмотрении вопросов защиты АС целесообразно использовать четырехуровневую градацию доступа к хранимой, обрабатываемой и защищаемой АС информации, которая поможет систематизировать как возможные угрозы, так и меры по их нейтрализации и парированию, т. е. может систематизировать и обобщить весь спектр методов обеспечения защиты, относящихся к информационной безопасности:
· уровень носителей информации;
· уровень средств взаимодействия с носителем;
· уровень представления информации;
· уровень содержания информации.
Данные уровни были введены исходя из того, что, во-первых, информация для удобства манипулирования чаще всего фиксируется на некотором материальном носителе, которым может быть бумага, дискета, CD-диск и т. п.
Во-вторых, если способ представления информации таков, что она не может быть непосредственно воспринята человеком, возникает необходимость в преобразованиях информации в доступный для человека способ представления. Например, для чтения информации с дискеты необходим компьютер, оборудованный дисководом соответствующего типа.
В-третьих, информация может быть охарактеризована способом своего представления. Язык жестов, язык символов и другие – все это способы представления информации.
В-четвертых, человеку должен быть доступен смысл представленной информации (семантика).
Защита носителей информации должна обеспечивать парирование всех возможных угроз, направленных как на сами носители, так и на зафиксированную на них информацию, представленную в виде изменения состояний отдельных участков, блоков, полей носителя. Применительно к АС защита носителей информации в первую очередь подразумевает защиту машинных носителей. Вместе с тем, необходимо учитывать, что носителями информации являются также каналы связи, документальные материалы, получаемые в ходе эксплуатации АС и т. п. Защита средств взаимодействия с носителем охватывает спектр методов защиты программно-аппаратных средств, входящих в состав АС, таких как средства вычислительной техники, операционная система, прикладные программы. В основном защита на данном уровне рассматривается как защита от несанкционированного доступа, обеспечивающая разграничение доступа пользователей к ресурсам системы. Защита представления информации, т. е. некоторой последовательности символов, обеспечивается средствами криптографической защиты. Защита содержания информации обеспечивается семантической защитой данных.
2. Классификация злоумышленников.
Возможности осуществления вредительских воздействий зависят от статуса злоумышленника по отношению к ИВС. Злоумышленником может быть:
Информацией о программных и аппаратных средствах ИВС и имеет возможность внедрения «закладок» на этапах создания и модернизации систем, но не получает доступа на эксплуатируемые объекты ИВС);
· сотрудник из числа обслуживающего персонала (работники службы безопасности информации, системные и прикладные программисты, инженерно-технический персонал);
· пользователь (имеет общее представление о структуре ИВС и механизмах ее защиты, но может осуществлять сбор информации методами традиционного шпионажа и попытками НСДИ);
· постороннее лицо (дистанционные методы шпионажа и диверсионная деятельность).
3. Основные направления и методы реализации угроз информационной безопасности.
К основным направлениям реализации злоумышленником информационных угроз относятся:
· непосредственное обращение к объектам доступа;
· создание программных и технических средств, выполняющих обращение к объектам доступа в обход средств защиты;
· модификация средств защиты, позволяющая реализовать угрозы ИБ;
· внедрение в технические средства АС программных или технических механизмов, нарушающих предполагаемую структуру и функции АС.
К числу основных методов реализации угроз ИБ АС относятся методы, приведенные в табл. 3.
Таблица 3.
Основные методы реализации угроз информационной безопасности АС
|
Уровень доступа к информации в АС |
Угроза раскрытия параметров системы |
Основные методы реализации угроз информационной безопасности |
||
|
Угроза нарушения конфиденциальности |
Угроза нарушения целостности |
Угроза отказа доступа к информации (отказа служб) |
||
|
Носителей информации |
Определение злоумышленником типа и параметров носителей информации |
Хищение (копирование) носителей информации, имеющих конфиденциальные данные. Использование специальных технических средств для перехвата побочных электромагнитных излучений и наводок (ПЭМИН) – конфиденциальные данные перехватываются злоумышленником изменением информативных сигналов из ЭМИ и наводок по цепям питания средств ВТ, входящей в АС |
Уничтожение машинных носителей информации |
Выведение из строя машинных носителей информации без уничтожения информации – выведение из строя электронных блоков в ней на жестких дисках и т. п. |
|
Средств взаимодействия с носителем |
Получение злоумышленником информации о программно-аппаратной среде: типе и параметрах средств ВТ, типе и версии ОС, составе прикладного ПО. Получение злоумышленником детальной информации о функциях, выполняемых АС. Получение злоумышленником данных о применяемых системах защиты |
Несанкционированный доступ пользователя к ресурсам АС путем преодоления систем защиты с использованием спецсредств, приемов, методов. Несанкционированное превышение пользователем полномочий. Несанкционированное копирование программного обеспечения. Перехват данных, передаваемых по каналам связи |
Уничтожение средств ВТ. Внесение пользователем несанкциониро-ванных изменений в программно-аппаратные компоненты АС и обрабатываемые данные. Установка и использование нештатного аппаратного и/или программного обеспечения. Заражение программными вирусами |
Проявление ошибок проектирования и разработки программно-аппаратных компонентов АС. Обход (отключение) механизмов защиты – загрузка злоумышленника нештатной операционной системы с дискеты. Использование режимов программно-аппаратных компонент АС и т. п. |
|
Представления информации |
Определение способа представления информации |
Визуальное наблюдение – конфиденциальные данные считываются с экранов терминалов, распечаток в процессе их печати и т. п. Раскрытие представления информации (Дешифрование данных) |
Внесение искажений в представление данных, уничтожение на уровне представления, искажение информации при передаче по ЛС. Уничтожение данных |
Искажение соответствия синтаксических и семантических конструкций языка – установление новых значений слов, выражений и т. п. |
|
Содержания информации |
Определение злоумышленником содержания данных, обрабатываемых в АС, на качественном уровне (мониторинг дешифрования сообщений) |
Раскрытие содержания информации на семантическом уровне к смысловой составляющей информации, хранящейся в АС |
Внедрение дезинформации |
Запрет на использование информации – имеющаяся информация по каким-либо причинам не может бытьи спользована |
1. Что понимается под угрозой информации? Назовите разновидности угроз информации.
2. Приведите классификацию угроз информации.
3. Какие основные направления и методы реализации угроз вам известны?
4. Поясните классификацию злоумышленников.
5. Охарактеризуйте причины и виды утечки информации.
6. Назовите и приведите примеры каналов утечки информации.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
В основе процессов проектирования, оценки и сертификации средств защиты информации, СВТ и АС в настоящее время лежит международный стандарт ISO 15408 Общие критерии оценки безопасности ИТ (Common Criteria for Information Technology Security Evaluation).
Общие критерии определяют требования безопасности, на основании которых проводится оценка уровня защищенности продуктов ИТ, общий набор понятий, структур данных и язык для формулирования вопросов и утверждений относительно безопасности продуктов ИТ.
В Общих критериях представлены две категории требований безопасности: функциональные требования и требования адекватности (гарантированности) механизмов безопасности. Функциональные требования определяют совокупность функций Объекта оценки, обеспечивающих его безопасность. Адекватность – это свойство Объекта оценки, дающее определенную степень уверенности в том, что механизмы безопасности Объекта оценки достаточно эффективны и правильно реализованы. Выводы об адекватности Объекта оценки делаются на основании знаний о его спецификации, реализации и функционировании. Для выражения функциональных требований и требований адекватности в Общих критериях используется единая терминология и стиль.
В Общих критериях определен ряд ключевых понятий, лежащих в основе концепции оценки защищенности продуктов ИТ. Среди них понятие Профиля защиты (Protection Profile), Задания по безопасности (Security Target) и Объекта оценки (Target of Evaluation). В качестве Объекта оценки может выступать любое СВТ или АС.
Профиль защиты представляет собой жестко структурированный документ, содержащий требования безопасности для определенного класса программно-технических средств. Помимо требований безопасности Профиль защиты описывает множество угроз безопасности и задач защиты, а также содержит обоснование соответствия между угрозами безопасности, задачами защиты и требованиями безопасности.
Задание по безопасности представляет собой жестко структурированный документ, определяющий, помимо требований безопасности, функциональную спецификацию механизмов безопасности конкретного продукта ИТ. Содержащиеся в Задании по безопасности требования безопасности определяются при помощи ссылок на соответствующие Профили защиты и требования Общих критериев. Специфичные для конкретного продукта ИТ требования формулируются отдельно и также включаются в Задание по безопасности. Кроме этого, Задание по безопасности содержит обоснование соответствия между требованиями безопасности и функциональной спецификацией Объекта оценки.
Руководящий документ
Руководство по разработке профилей защиты и заданий по безопасности
Гостехкомиссия России, 2003 год
5.1 Введение в профили защиты и задания по безопасности
6. Краткий обзор профилей защиты и заданий безопасности
6.3 Взаимосвязь между профилями защиты и заданиями по безопасности
6.5 Процесс разработки ПЗ и ЗБ
7. Описательные разделы профилей защиты и заданий по безопасности
7.1 Описательные части профиля защиты
7.2 Описательные части задания по безопасности
8.1 Идентификация и спецификация предположений безопасности
8.2 Идентификация и спецификация угроз
8.3 Идентификация и спецификация политики безопасности организации
9.1 Спецификация целей безопасности для ОО
9.2 Спецификация целей безопасности для среды ОО
10. Требования безопасности ИТ
10.1 Спецификация функциональных требований безопасности в профиле защиты
10.2 Спецификация в ПЗ требований доверия к безопасности
10.3 Спецификация требований безопасности в ЗБ
10.4 Требования безопасности для среды
11. Краткая спецификация объекта оценки
11.1 Спецификация функций безопасности информационных технологий
11.2 Спецификация механизма безопасности
11.3 Спецификация мер доверия к безопасности
12.1 Представление в профиле защиты логического обоснования цепей безопасности
12.2 Формирование логического обоснования требований безопасности в профиле защиты
13.1 Представление логического обоснования цепей безопасностив в задании по безопасности
13.2 Представление логического обоснования требований безопасностив в задании по безопасности
14. Профили защиты и задания по безопасности для составных ОО и ОО, входящих в состав других ОО
15. Функциональные пакеты и пакеты требований доверия к безопасности
15.1 Формирование функционального пакета
15.2 Спецификация пакета требований доверия к безопасности
Приложение 3 Методические рекомендации по формированию профиля защиты межсетевого экрана
Приложение 4 Методические рекомендации по формированию профиля защиты СУБД
Примеры угроз, политики безопасности организации, предположений безопасности, целей безопасности, требований безопасности
В данном Приложении приведены примеры угроз, ПБОр, предположений безопасности, целей безопасности в форме, рекомендуемой для ПЗ/ЗБ. Кроме того, Приложение содержит рекомендации по выбору функциональных компонентов, описанных в части 2 ОК, для спецификации характерных требований безопасности.
Формулировки угроз, ПБОр, предположений безопасности, целей и требований безопасности из данного Приложения могут быть адаптированы для использования в конкретных ПЗ/ЗБ. В приведенных примерах для указания на то, что определенный термин (например, источник угрозы, активы, подлежащие защите) может быть заменен термином, специфичным для конкретного ПЗ/ЗБ, соответствующий текст выделен курсивом.
При разработке ПЗ/ЗБ допускается использование формулировок угроз, ПБОр, предположений безопасности, целей и требований безопасности, отличных от приведенных в данном Приложении.
П2.1. Примеры угроз
При разработке ПЗ или ЗБ важным моментом является определение угроз. Ниже приведены примеры угроз.
T.ABUSE – необнаруженная компрометация активов ИТ (преднамеренная или нет) в результате санкционированных действий уполномоченного пользователя ОО.
T.ACCESS – уполномоченный пользователь ОО может получить доступ к информации или ресурсам без разрешения их владельца или лица, ответственного за данную информацию или данные ресурсы.
T.ATTACK – необнаруженная компрометация активов ИТ в результате попытки нарушителя (сотрудника организации или постороннего лица) выполнить действия, которые ему не разрешены.
T.CAPTURE – нарушитель может перехватить данные, передаваемые по сети.
T.CONSUME – уполномоченный пользователь ОО расходует общие ресурсы, ставя под угрозу возможность для других уполномоченных пользователей получить доступ к этим ресурсам или использовать эти ресурсы.
T.COVERT – уполномоченный пользователь ОО может (преднамеренно или случайно) передавать (по тайному каналу) секретную информацию пользователям, которые не имеют допуска к работе с данной информацией.
T.DENY – пользователь может участвовать в передаче информации (как отправитель или получатель), а затем впоследствии отрицать данный факт.
T.ENTRY – компрометация активов ИТ в результате использования ОО уполномоченным пользователем в ненадлежащее время дня или в ненадлежащем месте.
T.EXPORT – уполномоченный пользователь ОО может экспортировать информацию от ОО (в виде электронной или твердой копии) и впоследствии обрабатывать ее способами, противоречащими ее маркировке по степени секретности (конфиденциальности).
T.IMPERSON – нарушитель (постороннее лицо или сотрудник организации) может получить несанкционированный доступ к информации или ресурсам, выдавая себя за уполномоченного пользователя ОО.
T.INTEGRITY – целостность информации может быть поставлена под угрозу из-за ошибки пользователя, аппаратных ошибок или ошибок при передаче.
T.LINK – нарушитель может иметь возможность наблюдать за многократным использованием ресурсов или услуг какой-либо сущностью (субъектом или объектом) и, анализируя факты такого использования, получать информацию, которую требуется сохранить в секрете.
T.MODIFY – целостность информации может быть нарушена вследствие несанкционированной модификации или уничтожения информации нарушителем.
T.OBSERVE – нарушитель может иметь возможность наблюдать законное использование ресурса или услуги пользователем, в то время как пользователь желает сохранить в секрете факт использование этого ресурса или услуги.
T.SECRET пользователь ОО может (преднамеренно или случайно) наблюдать (изучать) информацию, сохраненную в ОО, к которой он не имеет допуска.
Следующие угрозы должны учитываться при формулировании целей безопасности для среды.
TE.CRASH – ошибка человека, отказ программного обеспечения, аппаратных средств или источников питания могут вызвать внезапное прерывание в работе ОО, приводящее к потере или искажению критичных по безопасности данных.
TE.BADMEDIA – Старение и износ носителей данных или ненадлежащее хранение и обращение со сменным носителем могут привести к его порче, ведущей к потере или искажению критичных по безопасности данных.
TE.PHYSICAL – критичные по безопасности части ОО могут быть подвергнуты физической атаке, ставящей под угрозу их безопасность.
TE.PRIVILEGE – компрометация активов ИТ может происходить в результате непреднамеренных или преднамеренных действий, предпринятых администраторами или другими привилегированными пользователями. TE.VIRUS – Целостность и/или доступность активов ИТ может быть нарушена в результате непреднамеренного занесения в систему компьютерного вируса уполномоченным пользователем ОО.
П2.2. Примеры политики безопасности организации
Данный пункт содержит два типичных примера ПБОр.
ПБОр на основе дискреционного принципа управления доступом (P.DAC) – право доступа к конкретным объектам данных определяется на основе:
а) идентификационной информации владельца объекта;
б) идентификационной информации субъекта, осуществляющего доступ;
в) явных и неявных прав доступа к объекту, предоставленных субъекту владельцем данного объекта.
ПБОр на основе мандатного принципа управления доступом (P.MAC) – право доступа к информации, маркированной по степени секретности (уровню конфиденциальности), определяется следующим образом:
а) данному лицу разрешен доступ к информации, только если оно имеет соответствующий допуск;
б) данное лицо не может изменять обозначение степени секретности (уровня конфиденциальности) информации в сторону снижения, если у него нет явных полномочий на выполнение таких действий.
Для каждой конкретной организации может потребоваться большая степень детализации ПБОр, чем в приведенных примерах.
П2.3. Примеры предположений безопасности
Данный подраздел содержит примеры предположений безопасности, относящихся к физической защите, персоналу и связности ОО и его среды.
П2.3.1. Примеры предположений, связанных с физической защитой
Предположение о расположении ресурсов ОО A.LOCATE – предполагается, что ресурсы ОО расположены в пределах контролируемой зоны, позволяющей предотвратить несанкционированный физический доступ.
Предположение о физической защите ОО A.PROTECT – предполагается, что аппаратные средства и программное обеспечение ОО, критичные по отношению к реализации политики безопасности, физически защищены от несанкционированной модификации со стороны потенциальных нарушителей.
П2.3.2. Примеры предположений, связанных с персоналом
A.ADMIN – предполагается, что назначены один или несколько уполномоченных администраторов, которые компетентны (обладают необходимой квалификацией), чтобы управлять ОО и безопасностью информации, которую содержит ОО. При этом данным администраторам можно доверять в том, что они не злоупотребят преднамеренно своими привилегиями с тем, чтобы нарушить безопасность.
A.ATTACK – предполагается, что нарушители имеют высокий уровень специальных знаний, мотивации и необходимые ресурсы.
A.USER – предполагается, что пользователи ОО обладают необходимыми привилегиями для доступа к информации, которой управляет ОО.
П2.3.3. Примеры предположений, имеющих отношение к связности
A.DEVICE – предполагается, что все соединения с периферийными устройствами находятся в пределах контролируемой зоны.
A.FIREWALL – предполагается, что межсетевой экран настроен таким образом, что он является единственной точкой сетевого соединения между частной (приватной) сетью и (потенциально) враждебной сетью.
A.PEER – предполагается, что любые другие системы, с которыми связывается ОО, принадлежат тому же органу управления, что и ОО, и работают при тех же самых ограничениях политики безопасности.
П2.4. Примеры целей безопасности для ОО
В данном подразделе приводятся примеры целей безопасности для ОО, которые могут использоваться при формировании ПЗ или ЗБ.
O.ADMIN – ОО должен предоставить уполномоченному администратору средства, позволяющие ему эффективно управлять ОО и его (ОО) функциями безопасности, а также гарантировать, что только уполномоченные администраторы могут получить доступ к таким функциональным возможностям.
O.ANON – ОО должен предусматривать средства разрешения субъекту использовать ресурс или услугу без раскрытия идентификационной информации пользователя другим сущностям (объектам или субъектам).
O.AUDIT – ОО должен предусматривать средства регистрации любых событий, относящихся к безопасности, чтобы помочь администратору в обнаружении потенциальных нарушений (атак) или неправильной настройки параметров, которые делают ОО уязвимым для потенциальных нарушений (атак), а также держать пользователей подотчетными за любые действия, которые они исполняют и которые связаны с безопасностью.
O.DAC – ОО должен предусматривать средства управления и ограничения доступа к объектам и ресурсам, по отношению к которым они являются владельцами или ответственными; по отдельным пользователям или идентифицированным группам пользователей – в соответствии с набором правил, определенных политикой безопасности P.DAC.
O.ENCRYPT – ОО должен предусматривать средства защиты конфиденциальности информации при передаче последней по сети между двумя конечными системами.
O.ENTRY – ОО должен иметь возможность ограничения входа (доступа к ОО) пользователя на основе времени и расположения устройства входа (доступа).
O.I&A – ОО должен выполнять уникальную идентификацию всех пользователей и аутентификацию (проверку подлинности) идентификационной информации до предоставления пользователю доступа к сервисам ОО.
O.INTEGRITY – ОО должен иметь средства обнаружения нарушения целостности информации.
O.LABEL – ОО должен хранить и сохранять целостность меток для информации, хранимой и обрабатываемой ОО. Вывод данных (экспорт) ОО должен иметь метки секретности (конфиденциальности), которые в точности соответствуют внутренним меткам секретности (конфиденциальности).
O.MAC – ОО должен защищать конфиденциальность информации, за управление которой ОО отвечает, в соответствии с политикой безопасности P.MAC, основанной на непосредственном сравнении индивидуальных разрешений (проверки полномочий информации) по отношению к информации, и маркировки секретности (конфиденциальности) информации (мандатный принцип контроля доступа).
O.NOREPUD – ОО должен иметь средства подготовки доказательства авторства для того, чтобы предотвратить возможность отрицания отправителем информации факта ее отправки получателю, и доказательства получения информации для того, чтобы предотвратить возможность отрицания получателем информации факта получения этой информации.
O.PROTECT – ОО должен иметь средства собственной защиты от внешнего вмешательства или вмешательства со стороны недоверенных субъектов или от попыток недоверенных субъектов обойти функции безопасности ОО.
O.PSEUD – ОО должен предусматривать средства для разрешения субъекту использовать ресурс или услугу без раскрытия идентификационной информации пользователя другим сущностям (объектам или субъектам) и в то же время держать эту сущность (субъект) подотчетной за это использование.
O.RBAC – ОО должен предотвращать доступ пользователей к выполнению операций над ресурсами ОО, на которые они явным образом не уполномочены.
O.RESOURCE – ОО должен иметь средства управления использованием ресурсов пользователями ОО и субъектами в целях предотвращения несанкционированного отказа в обслуживании.
O.ROLLBACK – ОО должен иметь средства возврата к состоянию правильного функционирования, позволяя пользователю отменить транзакции в случае неправильной последовательности транзакций.
O.UNLINK – ОО должен иметь средства, позволяющие сущности многократно использовать ресурсы или услуги, выполняя это обособленно от других сущностей (объектов или субъектов), имеющих возможность доступа к тем же ресурсам или услугам.
O.UNOBS – ОО должен иметь средства, позволяющие пользователю использовать ресурс или услугу без раскрытия другим сущностям факта использования ресурса или услуги.
П2.5. Примеры целей безопасности для среды
В данном подразделе приводятся примеры целей безопасности для среды, которые могут использоваться при формировании ПЗ или ЗБ
OE.AUDITLOG – администраторы ОО должны обеспечить эффективное использование функциональных возможностей аудита. В частности:
а) должны быть предприняты соответствующее действия (меры) для того, чтобы гарантировать непрерывное ведение журналов аудита, например, путем регулярного архивирования файлов регистрационных журналов перед очисткой журналов аудита с тем, чтобы обеспечить достаточное свободное пространство (на диске).
б) журналы аудита следует регулярно проверять и принимать соответствующие меры по обнаружению нарушений безопасности или событий, которые, по всей видимости, могут привести к таким нарушениям в будущем.
OE.AUTHDATA – ответственные за ОО должны обеспечить, чтобы данные аутентификации для каждой учетной записи пользователя ОО сохранялись в тайне и не раскрывались лицам, не уполномоченным использовать данную учетную запись.
OE.CONNECT – ответственные за ОО должны обеспечить отсутствие подключения к внешним системам или пользователям, которые могут нарушить безопасность ИТ.
OE.INSTALL – ответственные за ОО должны обеспечить безопасность ОО на этапах его поставки, установки и эксплуатации.
OE.PHYSICAL – ответственные за ОО должны обеспечить, чтобы те части ОО, которые являются критичными по отношению к реализации политики безопасности, были защищены от физического нападения, которое могло бы поставить под угрозу безопасность ИТ.
OE.RECOVERY – ответственные за ОО должны обеспечить, чтобы процедуры и/или механизмы были представлены таким образом, что после отказа системы или другой неисправности восстановление системы достигается без ущерба для безопасности ИТ.
П2.6. Пример демонстрации соответствия целей безопасности и угроз
В представленной ниже таблице приведен пример демонстрации соответствия целей безопасности и угроз. Сами же формулировки и угроз, и целей безопасности не всегда соответствуют формулировкам, приведенным выше.
|
Таблица П2.1 |
|||
|
Пример демонстрации соответствия целей безопасности и угроз |
|||
|
Активы |
Угрозы |
Цели безопасности |
|
|
Данные на носителях |
Данные раскрыты путем незаконного перемещения носителя |
Предупреждение |
Контроль перемещения носителя.Предотвращение раскрытия данных (путем шифрования и т.д.) |
|
Обнаружение |
Контроль хранения носителей. |
||
|
Обращение к данным, изменение, удаление, добавление в приложение или извлечение из приложения данных неуполномоченным лицом. |
Предупреждение |
Управление эксплуатацией (например, ограничение возможности использования прикладной программы или терминала приложений).Контроль прав доступа к данным. |
|
|
Обнаружение |
Аудит регистрационного журнала эксплуатации приложения, обнаружение незаконного умышленного изменения, искажения или хищения данных и контроль последовательной нумерации данных |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Данные раскрыты путем их выгрузки с носителя данных неуполномоченным лицом. |
Предупреждение |
Управление эксплуатацией (например, ограничение использования функции выгрузки или терминала приложения). Предотвращение раскрытия данных (путем шифрования и т.д.) |
|
|
Обнаружение |
Аудит информации журнала эксплуатации |
||
|
Данные на носителях |
Использование остаточной информации на носителе. |
Предупреждение |
Очистка памяти при удалении данных.Предотвращение раскрытия данных (путем шифрования и т.д.) |
|
Незаконное копирование данных. |
Предупреждение |
Управление эксплуатацией (например, ограничение использования функции копирования или терминала приложения).Контроль прав доступа к данным.Предотвращение раскрытия данных (путем шифрования и т.д.) |
|
|
Обнаружение |
Аудит эксплуатации.Контроль оригинала (например, при помощи идентификационных меток, встроенных в исходные тексты). |
||
|
Данные незаконно используются, или их использование затруднено из-за изменения атрибутов доступа к данным неуполномоченным лицом. |
Предупреждение |
Управление эксплуатацией (например, ограничение использования функции изменения атрибутов данных или терминала приложения).Контроль прав доступа к файлу регистрации атрибутов. |
|
|
Обнаружение |
Аудит эксплуатации |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Данные получены незаконно путем фальсификации файла. |
Предупреждение |
Управление эксплуатацией (например, ограничение использования функций создания и удаления файлов или рабочего терминала).Предотвращение раскрытия данных (путем шифрования и т.д.) |
|
|
Данные на носителях |
|
Обнаружение |
Аудит информации о владельцах файлов |
|
Данные повреждены из-за разрушения носителя. |
Предупреждение |
Физическая защита носителей, и управление доступом к месту их хранения. Дублирование хранимых носителей. |
|
|
Обнаружение |
Контроль хранимых носителей |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Данные уничтожены или их использование затруднено из-за неисправности устройства ввода-вывода. |
Предупреждение |
Контроль качества устройств ввода-вывода.Дублирование хранимых носителей |
|
|
Обнаружение |
Обнаружение отказов (средствами ОС).Аудит файла (журнала) регистрации выполнения программы. |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Обращение к данным, изменение, удаление, добавление в приложение или извлечение из приложения данных неуполномоченным лицом путем использования соответствующей команды |
Предупреждение |
Управление эксплуатацией (например, ограничение использования команд или терминала).Контроль прав доступа к данным |
|
|
Обнаружение |
Аудит информации из файла (журнала) регистрации операций, обнаружение незаконного умышленного изменения, искажения или хищения данных и контроль последовательной нумерации данных |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Зашифрованные данные не могут быть дешифрованы из-за потери секретного ключа |
Предупреждение |
Строгий контроль за использованием секретного ключа. |
|
|
Данные на носителях |
|
Реагирование |
Восстановление секретного ключа шифрования. |
|
Данные ошибочно удалены уполномоченным лицом. |
Предупреждение |
Обеспечение надлежащих руководств по эксплуатации, или автоматизация операций.Предотвращение операционных ошибок (например, путем повторной проверки и последовательной регистрации прав удаления). |
|
|
Обнаружение |
Аудит информации из журнала эксплуатации |
||
|
Реагирование |
Резервное копирование/ восстановление данных. |
||
|
Данные в телекоммуникационных линиях |
Данные перехвачены или разрушены в телекоммуникационной линии. |
Предупреждение |
Физическая защита телекоммуникационных линий, или контроль подключения оборудования к линиям.Предотвращение раскрытия данных, обнаружение незаконного умышленного изменения, искажения или хищения данных (например, путем шифрования передаваемых данных) |
|
Обнаружение |
Обнаружение незаконного умышленного изменения, искажения или хищения данных. |
||
|
Реагирование |
Повторная передача данных. |
||
|
Данные прослушиваются, незаконно умышленно изменены, искажены, похищены, удалены или дополнены в системе коммутации. |
Предупреждение |
Управление эксплуатацией коммутационной системы (например, ограничение использования анализаторов протоколов ЛВС) |
|
|
Данные в телекоммуникационных линиях |
Данные незаконно используются в результате подмены их адресата, отправителя или изменения атрибутов доступа в системе коммутации |
Предупреждение |
Защита передаваемых данных (путем шифрования и т.д.) Управление эксплуатацией системы коммутации (ограничение использования функции отладки). |
|
Обнаружение |
Управление обнаружением незаконного умышленного изменения, искажения или похищения данных. Аудит журнала, содержащего информацию о работе отладочных средств |
||
|
Реагирование |
Повторная передача данных. |
||
|
Связь заблокирована из-за повреждения линии. |
Предупреждение |
Установка резервных телекоммуникационных линий. Контроль качества телекоммуникационных линий |
|
|
Обнаружение |
Обнаружение повреждений (средствами ОС). |
||
|
Реагирование |
Повторная передача данных. |
||
|
Связь заблокирована из-за аномалий в канале связи |
Предупреждение |
Установка резервных каналообразующих устройств.Контроль качества каналов связи. |
|
|
Обнаружение |
Обнаружение отказов (средствами ОС). |
||
|
Реагирование |
Повторная передача данных. |
||
|
Несанкционированная повторная передача данных в неразрешенный адрес. |
Предупреждение |
Управление эксплуатацией системы коммутации (например, наложение ограничений на регистрацию программ) |
|
|
Обнаружение |
Предотвращение повторной передачи (путем использования порядковых номеров или временных меток). |
||
|
Прикладные программы (приложения) |
Выполнение приложения неуполномоченным лицом. |
Предупреждение |
Управление правами на выполнение программы.Управление эксплуатацией системы коммутации (ограничение числа дисплеев отображения работы программ).Управление расположением и маршрутом выполнения программ.Обеспечение безопасности в момент отсутствия оператора.Наложение ограничений на использование терминалов приложений. |
|
Обнаружение |
Аудит выполнения программ. |
||
|
Реагирование |
Резервирование / восстановление данных. |
||
|
Обращение к данным в библиотеке программ, модификация или удаление данных в библиотеке программ неуполномоченным лицом. |
Предупреждение |
Управление правами доступа к библиотекам программ.Управление функционированием (ограничение использования команд модификации).Ограничение использования терминалов. |
|
|
Обнаружение |
Аудит функционирования |
||
|
Реагирование |
Резервное копирование/восстановление программ |
||
|
Незаконное использование программы или затруднение ее использования путем изменения ее атрибутов доступа неуполномоченным лицом. |
Предупреждение |
Управление правами на выполнение программы.Управление правами на доступ к каталогу библиотеки программ. Управление функционированием (ограничение использования команд модификации) |
|
|
Обнаружение |
Аудит функционирования |
||
|
Прикладные программы (приложения) |
Аномалии в ходе выполнения программы из-за аппаратного отказа компьютера. |
Предупреждение |
Использование аппаратной конфигурации с дублированием. Контроль качества аппаратных средств. |
|
Обнаружение |
Обнаружение недостатков (средствами ОС) |
||
|
Реагирование |
Восстановление работоспособности аппаратного обеспечения. |
||
|
Прикладные процессы и данные |
Несанкционированное использование прикладных процессов (например, запросов по Telnet и FTP). |
Предупреждение |
Управление правами на выполнение программ.Использование межсетевых экранов (фильтров прикладного уровня).Использование инструкций по эксплуатации. |
|
Обнаружение |
Аудит выполнения программ |
||
|
Блокировка прикладных процессов (атаки, направленные на переполнение трафика, например, запросы на обработку потока ненужных данных) |
Предупреждение |
Назначить приоритеты обработки процессов.Запретить передачу электронной почты. |
|
|
Обнаружение |
Аудит сетевого доступа. |
||
|
Отрицание факта обмена данными или отрицание их содержания |
Предупреждение |
Принятие мер, препятствующих отказу (например, сохранение доказательств, используя третью доверенную сторону или функцию шифрования). Использование инструкций по эксплуатации. |
|
|
Отказ от авторства данных. |
Предупреждение |
Использование удостоверяющих сервисов (например, подтверждения авторства)Использование инструкций по эксплуатации |
|
|
Прикладные процессы и данные |
Несанкционированная передача данных |
Предупреждение |
Управление потоками данных (например, использование межсетевого экрана и применение правил базы данных). Контроль качества прикладных программ. Управление функционированием (например, наложение ограничений на регистрацию программ) |
|
Обнаружение |
Аудит доступа к данным. |
||
|
Несанкционированное использование данных или программ путем использования оставшихся в программах отладочных функций |
Предупреждение |
Управление правами на доступ к данным и на выполнение программ. Управление функционированием (например, ограничение возможности использовать функцию отладки). |
|
|
Обнаружение |
Аудит выполнения прикладной программы |
||
|
Необоснованный отказ от предоставления услуги |
Предупреждение |
Назначение приоритетов обработки процессов. Контроль качества прикладных программ. Обучение и обеспечение инструкциями эксплуатационного персонала.Контроль качества аппаратных средств обработки данных.Оценка производительности ресурсов обработки данных. |
|
|
Обнаружение |
Аудит выполнения прикладной программы |
||
|
Незаконное умышленное изменение, искажение, похищение, удаление или разрушение данных. |
Предупреждение |
Управление правами на использование данных. Управление созданием и пересылкой данных |
|
|
Обнаружение |
Обнаружение изменений данных |
||
|
Реагирование |
Резервное копирование данных. |
||
|
Прикладные процессы и данные |
Несанкционированное выполнение операций |
Предупреждение |
Управление правами на выполнение операций.Контроль места выполнения операций (удаленный, через Интернет и т.д.) |
|
Обнаружение |
Аудит выполнения операций |
||
|
Нарушение конфиденциальности |
Предупреждение |
Управление правами на использование конфиденциальной информации. Анонимность и использование псевдонимов.Обеспечение правильности завершения сеанса обработки данных. |
|
|
Отображаемые данные |
Просмотр данных неуполномоченным лицом. |
Предупреждение |
Физическая защита (изоляция) дисплея. Обеспечение выполнения требований эксплуатационной документации. |
|
Несанкционированное копирование или печать |
Предупреждение |
Обеспечение защиты во время отсутствия уполномоченного лица. Ограничение использования функций копирования и печати. Обеспечение выполнения требований эксплуатационной документации. |
|
|
Обнаружение |
Контроль подлинности (электронные метки). |
||
|
Вводимые данные |
Данные раскрыты во время ввода |
Предупреждение |
Контроль доступа в помещение, в котором расположен терминал ввода информации.Обеспечение выполнения требований эксплуатационной документации. |
|
Введенные данные несанкционированно изъяты (или удалены). |
Предупреждение |
Контроль носителя, на котором хранятся введенные данные. Обеспечение выполнения требований эксплуатационной документации |
|
|
Реагирование |
Резервное копирование вводимых данных. |
||
|
Данные, выводимые на печать |
Ознакомление или изъятие данных неуполномоченным лицом. |
Предупреждение |
Физическая защита печатаемых данных. Обеспечение выполнения требований эксплуатационной документации |
|
Несанкционированное копирование |
Предупреждение |
Защита от копирования. Обеспечение выполнения требований эксплуатационной документации. |
|
|
Обнаружение |
Контроль подлинности(электронная метка) |
||
|
Данные пользователей |
Пользователь (человек, система, терминал) не может быть идентифицирован |
Предупреждение |
Идентификация доступа. Идентификация (назначение идентификатора каждому пользователю/систе-ме; IP-адрес). Ограничение рабочих мест |
|
Обнаружение |
Аудит выполнения идентификации. |
||
|
Маскировка путем использования раскрытой идентификационной информации пользователя (человека, системы, терминала). |
Предупреждение |
Аутентификация пользователя. Контроль идентификационной информации. |
|
|
Обнаружение |
Аудит выполнения идентификации |
||
|
Пользователь не идентифицирован. |
Предупреждение |
Безотлагательная аутентификация (аутентификация до любых действий пользователя).Надежная идентификация.Аутентификация на основе секретного ключа, пароля, биометрических характеристик.Аутентификация с обратной связью |
|
|
Обнаружение |
Аудит выполнения аутентификации |
||
|
Данные пользователей |
Маскировка путем использования незаконно раскрытой информации аутентификации. |
Предупреждение |
Использование нескольких механизмов аутентификации. Управление доступом к серверу (раннее обнаружение атак; регистрация информации о выполнении аутентификации).Защита аутентификационной информации (однонаправленное шифрование). Ограничение путей доступа (например, запрет доступа с использованием общих телекоммуникационных линий и Интернет). Использование одноразовых паролей |
|
Обнаружение |
Аудит доступа к системе. |
||
|
Реагирование |
Блокировка работы пользователя. |
||
|
Маскировка путем незаконного (логического) вывода аутентификационной информации. |
Предупреждение |
Аутентификация (предотвращение логического вывода).Управление доступом к серверу (раннее обнаружение атак; обеспечение невозможности получения доступа к серверу на длительный период).Использование нескольких механизмов аутентификации.Управление аутентификационной информацией (например, предотвращение логического вывода, использование длинного секретного ключа шифрования, синтаксических правил генерации аутентификационной информации и изменение ее начального значения). |
|
|
Обнаружение |
Аудит доступа к системе. |
||
|
Реагирование |
Блокировка работы пользователя. Минимизация нежелательного воздействия (минимизация времени действия) |
||
|
Маскировка путем использования недействительной аутентификационной информации. |
Предупреждение |
Контроль срока действия аутентификационной информации. Управление аутентификационной информацией (например, контроль за уничтожением информации). |
|
|
Обнаружение |
Аудит доступа к системе. |
||
|
Данные пользователей |
Использование недействительного права из-за сбоя журнала регистрации прав пользователей |
Предупреждение |
Контроль за пользователями (безотлагательное отражение модификации прав пользователей). |
|
Обнаружение |
Аудит доступа к системе. |
||
|
Действия пользователя несанкционированно раскрыты (нарушение конфиденциальности). |
Предупреждение |
Управление правами доступа к регистрационной информации, имеющей отношение к пользователям. Анонимность и использование псевдонимов.Обеспечение правильности завершения сеанса обработки данных. |
|
|
Обнаружение |
Аудит доступа к системе. |
||
|
Отрицание факта передачи данных |
Предупреждение |
Предотвращение отказа от факта передачи данных. Обеспечение выполнения требований эксплуатационной документации. |
|
|
Обнаружение |
Аудит обмена данными. |
||
|
Отрицание владения данными. |
Предупреждение |
Автоматическая регистрация владельца в процессе формирования данных. |
|
|
Обнаружение |
Аудит доступа к системе. |
||
|
Отрицание факта приема данных. |
Предупреждение |
Предотвращение отказа от факта приема данных. Обеспечение выполнения требований эксплуатационной документации. |
|
|
Обнаружение |
Аудит обмена данными. |
||
|
Данные посланы несоответствующему получателю вследствие его маскировки под авторизованного пользователя или ошибки спецификации |
Предупреждение |
Аутентификация адресата. Обеспечение выполнения требований эксплуатационной документации |
|
|
Обнаружение |
Аудит обмена данными. |
||
|
Маскировка путем подделки информации аутентификации |
Предупреждение |
Управление правами доступа к аутентификационной информации. Проверка достоверности аутентификационной информации.Управление аутентификационной информацией (например, предотвращение фальсификации, надежная организация процесса аутентификации, физическая защита устройств аутентификации). |
|
|
Обнаружение |
Управление доступом к серверу (раннее обнаружение атак) |
||
|
Системные службы и данные |
Нарушение безопасности системы путем раскрытия секретного ключа шифрования. |
Предупреждение |
Создание секретных ключей шифрования достаточной стойкости и длины и использование стандартных протоколов передачи ключей. |
|
Обнаружение |
Аудит функционирования системы |
||
|
Реагирование |
Назначение нового секретного ключа |
||
|
Система незаконно используется пользователем, который выдает себя за оператора во время отсутствия оператора. |
Предупреждение |
Обеспечение надлежащей защиты во время отсутствия оператора (например, временное прекращение работы, сеанса и проведение повторной аутентификации). |
|
|
Системные службы и данные |
Нарушение безопасности системы вследствие несанкционированного действия или ошибки уполномоченного пользователя. |
Предупреждение |
Предотвратить ошибки уполномоченного пользователя (например, путем использования запросов подтверждения выполняемых действий). Управление правами пользователя (назначение минимально необходимых прав).Управление аудитом, разработка инструкций, повышение квалификации пользователей и применение штрафов. |
|
Обнаружение |
Аудит функционирования системы. |
||
|
Внедрение вирусов |
Предупреждение |
Проверка на отсутствие вирусов в полученных программах, а также файлах, присоединенных к сообщениям, поступающим по электронной почте.Управление доступом (назначение соответствующих прав доступа и защита файлов).Запрет использования данных или программ, полученных извне.Контроль инсталляции программ |
|
|
Обнаружение |
Аудит работы системы |
||
|
Реагирование |
Выполнение необходимых ответных действий (например, остановка системы или отключение от внешней системы). |
||
|
Системные службы и данные |
Несанкционированное проникновение в систему. |
Предупреждение |
Идентификация, аутентификация и подтверждение прав пользователей (авторизация) при доступе в систему. Управление конфигурацией системы (например, подключением оборудования и внешними соединениями).Управление пользователями. |
|
Обнаружение |
Аудит функционирования системы. |
||
|
Проникновение в систему, используя известные дефекты протоколов (например, протокола IP). |
Предупреждение |
Использование межсетевых экранов (фильтрация).Контроль доступа к системным ресурсам. Ограничение доступа к программам или сервисам, реализующим уязвимые протоколы. |
|
|
Обнаружение |
Аудит функционирования системы |
||
|
Нарушение безопасности системы вследствие несанкционированной замены системной программы. |
Предупреждение |
Контроль доступа к библиотеке системных программ. Управление функционированием (разработка документации по использованию системных программ) |
|
|
Обнаружение |
Аудит доступа к библиотеке программ. |
||
|
Реагирование |
Резервное копирование программ. |
||
|
Обслуживание прекращено из-за разрушения системной программы. |
Предупреждение |
Дублирование библиотеки системных программ. Контроль носителей программ и эксплуатации программ |
|
|
Несанкционированная системная операция. |
Предупреждение |
Управление правами на выполнение операций.Управление эксплуатацией (ограничения выполнения операций). |
|
|
Обнаружение |
Аудит эксплуатации. |
||
|
Информационное оборудование |
Повреждение или изъятие. |
Предупреждение |
Дублирование. Управление доступом в помещение, где расположено оборудование.Управление конфигурацией оборудования в период хранения. |
|
|
Отключение питания. |
Предупреждение |
Использование резервных источников электропитания. Использование источников бесперебойного питания |
|
|
|
Реагирование |
Возобновление электропитания. |
П2.7. Примеры функциональных требований безопасности
Данный подраздел в качестве примера идентифицирует функции безопасности, функциональные компоненты, описанные в части 2 ОК, которые могут быть использованы для формулирования соответствующих ФТБ.
Функции безопасности объединены в следующие группы:
· идентификация и аутентификация;
· управление доступом;
· аудит;
· целостность;
· доступность;
· приватность;
· обмен данными.
П2.7.1. Требования идентификации и аутентификации
Представленная ниже таблица П2.2 охватывает требования идентификации и аутентификации.
|
Таблица П2.2 |
||
|
Функциональные компоненты для требований идентификации и аутентификации |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Управление доступом в систему (регистрацией) |
Идентификация пользователей |
FIA_UID.1–2 |
|
Аутентификация пользователей |
FIA_UAU.1–2 |
|
|
Ограничение числа неудачных входов в систему |
FIA_AFL.1 |
|
|
Доверенный маршрут для входа в систему |
FTP_TRP.1 |
|
|
Управление доступом по времени и местоположению |
FTA_TSE.1 |
|
|
Выбор паролей |
Управление выбором сгенерированных пользователями паролей (например, минимальная длина, фильтры пароля, история пароля) |
FIA_SOS.1 |
|
Автоматическая генерация пароля ОО |
FIA_SOS.2 |
|
|
Окончание действия пароля |
FMT_SAE.1 |
|
|
Защита аутентификационных данных |
Скрытие пароля во время его ввода |
FIA_UAU.7 |
|
Защита от несанкционированной модификации и наблюдения |
FMT_MTD.1 |
|
|
Защита от повторной передачи |
FPT_RPL.1 |
|
|
Защита от копирования и подделки |
FIA_UAU.3 |
|
|
Защита от повторного использования аутентификационных данных (например, одноразовое использование пароля) |
FIA_UAU.4 |
|
|
Защищенный маршрут для изменения пароля |
FTP_TRP.1 |
|
|
Блокирование сеанса |
Блокирование вследствие бездействия пользователя |
FTA_SSL.1 |
|
Блокирование по запросу пользователя |
FTA_SSL.2 |
|
|
Завершение вследствие бездействия пользователя |
FTA_SSL.3 |
|
|
Учетные записи и профили пользователей |
Управление созданием, удалением и использованием учетных записей пользователя |
FMT_MTD.1 |
|
Определение атрибутов безопасности пользователя, содержащихся в его профиле |
FIA_ATD.1 |
|
|
Управление модификацией профилей пользователя (т.е. атрибутами безопасности пользователя) |
FMT_MTD.1 |
|
П2.7.2. Требования управления доступом
Представленная ниже таблица П2.3 охватывает требования управления доступом.
|
Таблица П2.3 |
||
|
Функциональные компоненты для требований управления доступом |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Дискреционное управление доступом |
Область действия политики безопасности (объекты, субъекты и действия, охватываемые политикой) |
FDP_ACC.1–2 |
|
Правила управления доступом субъектов к объектам |
FDP_ACF.1 |
|
|
Отмена прав в соответствии с политикой дискреционного управления доступом |
FDP_ACF.1 |
|
|
Управление, основанное на атрибутах дискреционного управления доступом |
Изменение прав доступа к объекту |
FMT_MSA.1 |
|
Задание атрибутов по умолчанию для вновь создаваемых объектов |
FMT_MSA.3 |
|
|
Изменение владельца объекта |
FMT_MSA.1 |
|
|
Изменение принадлежности к группе пользователей |
FMT_MSA.1 |
|
|
Мандатное управление доступом |
Область действия политики безопасности (объекты, субъекты и действия, охватываемые политикой) |
FDP_IFC.1–2 |
|
Правила управления доступом/информа-ционными потоками |
FDP_IFC.2 |
|
|
Отмена прав в соответствии с политикой мандатного управления доступом |
FDP_IFF.7–8 |
|
|
Ограничение скрытых каналов |
FDP_IFF.3–6 |
|
|
Управление, основанное на атрибутах мандатного управления доступом |
Изменение меток объекта |
FMT_MSA.1 |
|
Задание меток по умолчанию для вновь создаваемых объектов |
FMT_MSA.3 |
|
|
Изменение разрешений пользователям |
FMT_MSA.1 |
|
|
Выбор разрешения на установление сеанса связи при входе в систему |
FTA_LSA.1 |
|
|
Экспорт/импорт |
Импорт немаркированных данных |
FDP_ITC.1 |
|
Экспорт с использованием каналов/устройств связи |
FDP_ETC.1–2 |
|
|
Маркировка отпечатанных выходных данных |
FDP_ETC.2 |
|
|
Информационные метки |
Ограничения на значения информационных меток |
FDP_IFF.2.3 |
|
Правила, управляющие «плавающими» метками |
FDP_IFF.2.3 |
|
|
Повторное использование объекта |
Защита остаточной информации в файлах, памяти и т.д. |
FDP_RIP.1–2 |
|
Ролевое управление доступом |
Область действия политики безопасности (на основе ролей, операций) |
FDP_ACC.1–2 |
|
Правила контроля выполнения операций |
FDP_ACF.1 |
|
|
Идентификация ролей |
FMT_SMR.1–2 |
|
|
Осуществление управления доступом на основе разделения действий по доступу между несколькими субъектами |
FDP_ACF.1FMT_SMR.2.3 |
|
|
Управление на основе атрибутов ролей |
Управление полномочиями/авторизацией пользователей |
FMT_MSA.1 |
|
Изменение возможностей ролей |
FMT_MSA.1 |
|
|
Изменение ролей пользователей |
FMT_MSA.1 |
|
|
Управление доступом на основе межсетевого экрана |
Представление информационного потока в виде субъект-объект (например, на основе адресов и портов источника/адресата) |
FDP_IFC.1–2FDP_IFF.1 |
|
Представление информационного потока по отношению к сеансу связи (предполагает использование proxy-серверов) |
FTA_TSE.1 |
|
П2.7.3. Требования аудита
Представленная ниже таблица П2.4 охватывает требования аудита.
|
Таблица П2.4 |
||
|
Функциональные компоненты для требований аудита |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
События аудита |
Спецификация подлежащих аудиту событий и информации, подлежащей регистрации |
FAU_GEN.1 |
|
Управление выбором подлежащих аудиту событий |
FMT_MTD.1 |
|
|
Обоснование выбора подлежащих аудиту событий |
FAU_SEL.1 |
|
|
Учет действий отдельных пользователей (после получения доступа в систему) |
FAU_GEN.2 |
|
|
Обнаружение вторжений и ответная реакция |
Генерация сигнала нарушения и ответная реакция на неизбежное нарушение безопасности |
FAU_ARP.1 |
|
Определение правил, событий, последовательности событий или моделей (шаблонов), по которым можно предположить о возможности нарушения безопасности |
FAU_SAA.1–4 |
|
|
Защита журнала аудита |
Защита от потери данных, например, при переполнении журнала аудита, прерывании функционирования |
FAU_STG.2–4 |
|
Защита от несанкционированного доступа к данным аудита |
FAU_STG.1 |
|
|
Анализ журнала аудита |
Использование инструментальных средств анализа журналов аудита |
FAU_SAR.1–3 |
П2.7.4. Требования целостности
Представленная ниже таблица П2.5 охватывает требования целостности (включая данные аутентификации).
|
Таблица П2.5 |
||
|
Функциональные компоненты для требований целостности |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Целостность данных |
Обнаружение ошибок в хранимых данных |
FDP_SDI.1 |
|
Генерация и верификация значений контрольных сумм, односторонних хэш-функций, дайджестов сообщений и т.д. |
FDP_DAU.1 |
|
|
Откат транзакций (например, для баз данных) |
FDP_ROL.1 |
|
|
Целостность ОО |
Обнаружение несанкционированных изменений |
FPT_PHP.1–2 |
|
Противодействие несанкционированным изменениям |
FPT_PHP.3 |
|
|
Данные аутентификации |
Генерация и верификация цифровых подписей (сигнатур) |
FDP_DAU.2 |
|
Генерация и верификация цифровых сертификатов (например, сертификатов открытых ключей) |
FDP_DAU.2 |
|
П2.7.5. Требования доступности
Представленная ниже таблица П2.6 охватывает требования доступности.
|
Таблица П2.6 |
||
|
Функциональные компоненты для требований доступности |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Использованиересурсов |
Введение ограничений (квот) на использование общих ресурсов отдельными пользователями |
FRU_RSA.1–2 |
|
Ограничение числа сеансов, открываемых одним пользователем |
FTA_MCS.1–2 |
|
|
Обработка ошибок |
Поддержание функционирования ОО в случае отказа (отказоустойчивость) |
FRU_FLT.1–2 |
|
Обнаружение ошибки |
FPT_TST.1 |
|
|
Устранение ошибки |
FPT_RCV.1 |
|
|
Планирование |
Планирование действий/процессов согласно установленным приоритетам обслуживания |
FRU_PRS.1–2 |
П2.7.6. Требования приватности
Представленная ниже таблица П2.7 охватывает требования приватности.
|
Таблица П2.7 |
||
|
Функциональные компоненты для требований приватности |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Приватность идентификационной информации пользователей |
Защита от раскрытия идентификационной информации пользователя при использовании им сервисов или ресурсов |
FPR_ANO.1 |
|
Анонимное, но подотчетное использование сервисов или ресурсов путем применения псевдонимов пользователей |
FPR_PSE.1 |
|
|
Приватность использования ресурсов /сервисов |
Защита от раскрытия фактов использования конкретным пользователем определенных сервисов или ресурсов |
FPR_UNL.1 |
|
Скрытное использование определенных сервисов или ресурсов |
FPR_UNO.1 |
|
П2.7.7. Требования обмена данными
Представленная ниже таблица П2.8 охватывает требования обмена данными.
|
Таблица П2.8 |
||
|
Функциональные компоненты для требований обмена данными |
||
|
Требования безопасности |
Функциональные компоненты |
|
|
Конфиденциальность обмена данными |
Пользовательские данные |
FDP_UCT.1 |
|
Критичные по безопасности данные (например, ключи и пароли) |
FPT_ITC.1 |
|
|
Целостность передаваемых данных |
Пользовательские данные |
FDP_UIT.1–3 |
|
Критичные по безопасности данные (например, ключи и пароли). |
FPT_ITI.1–2 |
|
|
Невозможность отрицания фактов обмена информацией |
Доказательство отправления передаваемой информации |
FCO_NRO.1–2 |
|
Доказательство получения передаваемой информации |
FCO_NRR.1–2 |
|
Приложение 3
Методические рекомендации по формированию профиля защиты межсетевого экрана
П3.1. Введение ПЗ
Введение разрабатывается с учетом рекомендаций главы 7 настоящего Руководства.
П3.2. Описание ОО
В ПЗ представлено общее описание области применения ОО и его функциональных возможностей по обеспечению безопасности (так как единственное назначение ОО – обеспечение безопасности). Более детально это представлено в ЗБ, в частности:
а) идентификация операционной системы, под управлением которой работает межсетевой экран, и аппаратной платформы;
б) краткое описание среды функционирования, например, в части необходимости физической защиты ОО и различий между администратором межсетевого экрана и пользователями (которые не получают непосредственного доступа к межсетевому экрану).
П3.3. Среда безопасности ОО
П3.3.1. Предположения безопасности
Для межсетевого экрана может быть определен ряд предположений, связанных с обеспечением эффективности функционирования межсетевого экрана. Например:
а) межсетевой экран должен быть универсальным посредником, так как иначе существует возможность его (межсетевой экран) обойти;
б) только администраторы могут получить доступ к межсетевому экрану: данное предположение необходимо в целях ограничения возможностей, доступных нарушителям.
Предположения, относящиеся к использованию свойств безопасности, (например, управление и анализ журнала аудита), следует трактовать либо как цели безопасности для среды, либо как требования безопасности, не относящиеся к ИТ.
П3.3.2. Угрозы
Предполагается, что среда для межсетевого экрана включает частную сеть с одной стороны и потенциально враждебную сеть с другой стороны. Поэтому активы ИТ, подлежащие защите – это предоставляемые частной (приватной) сетью сервисы и информация, хранимая в частной сети. Источники угрозы, в основном, – это нарушители из враждебной (внешней) сети.
Далее приводится пример угрозы, которой должен противостоять межсетевой экран:
Нарушитель из враждебной (внешней) сети может использовать недостатки реализации сервисов для того, чтобы получить доступ к хостам (узлам частной сети) или другим сервисам.
Формулировка угрозы оперирует следующими понятиями:
а) источник угрозы – нарушитель из потенциально враждебной (внешней) сети;
б) активы ИТ, подверженные нападению – это хосты (узлы) или другие сервисы частной сети;
в) форма нападения – использование недостатков реализации сервисов.
Хотя большинство угроз, с которыми сталкивается межсетевой экран, связано с нарушителями из враждебной сети, существуют угрозы, когда нарушитель может находиться как во враждебной, так и в частной сети:
Нарушитель может получить доступ к межсетевому экрану, выдавая себя за администратора.
Идентифицированные угрозы, которым ОО не противостоит, отражают практические ограничения на межсетевой экран. Например, следующие:
а) определенные способы атак, применяемые нарушителями из враждебной сети, которым ОО не противостоит, такие как перехват сеанса и поиск (сниффинг) данных;
б) частная сеть может стать уязвимой для атак в результате действий злоумышленников из частной сети;
в) уязвимость частной сети со стороны вирусов, которые могут содержаться во входящем трафике – это также угроза, для противостояния которой межсетевой экран не предназначен;
г) частная сеть может стать уязвимой для атак в результате действия или бездействия администратора межсетевого экрана;
д) частная сеть может стать уязвимой для атак в результате непосредственной физической атаки на межсетевой экран.
Ниже приведена возможная (и заслуживающая особого внимания) угроза для межсетевого экрана, выполняющего роль шлюза прикладного уровня (далее – МЭ прикладного уровня):
Нарушители из враждебной сети используют новые, ранее неизвестные, методы атак, например, используя прежде заслуживающие доверия сервисы.
Из этого следует, что угроза со стороны нарушителей из враждебной сети динамическая (то есть непрерывно изменяющаяся), а, значит, сам ОО должен изменяться, например, определяя полномочия для новых прикладных программ.
П3.3.3. Политика безопасности организации
Должна существовать возможность настройки межсетевого экрана для реализации ряда различных правил ПБОр. В этом примере мало чего можно достичь формулировкой правил ПБОр, которым должен следовать ОО. Тем не менее можно сформулировать в общих чертах политику управления доступом, которая должна осуществляться межсетевым экраном.
П3.4. Цели безопасности
П3.4.1. Цели безопасности для ОО
Цели безопасности для межсетевого экрана можно сформулировать следующим образом:
а) Цель О1 – Основная цель безопасности должна определить требования к функциональным возможностям управления доступом, обеспечиваемым межсетевым экраном, например в виде ограничений допустимого диапазона адресов, списка хостов (узлов) и портов, к которым разрешен доступ.
б) Цель О2 – К межсетевому экрану прикладного уровня может быть предъявлено требование организовать серверы полномочий (сервер полномочий перехватывает попытки соединений с серверами и затем сам посылает запросы на нужные серверы от имени пользователей; когда сервер возвращает информацию, сервер полномочий пересылает ее пользователю) в целях противостояния атакам, основанным на недостатках реализации прикладных сервисов.
в) Цель О3 – Точно так же там может существовать требование аутентификации полномочий приложений.
г) Цель О4 – Требование к функциональным возможностям аудита, обеспечивающим средства регистрации событий, относящихся к безопасности.
д) Цель О5 – Требование к функциональным возможностям управления безопасностью в части функций, которые должны быть доступны администраторам, а также в части управления доступом к этим функциональным возможностям.
Пример цели безопасности для ОО:
Межсетевой экран должен, для определенных сервисов частной сети, выполнять необходимую аутентификацию конечного пользователя до установления соединения.
Это указывает на то, что в ОО должны быть реализованы функциональные возможности по идентификации и аутентификации. Заметим, что, так как в ПЗ не определяются сервисы, которые необходимо обеспечить, то в цели безопасности не определяется подмножество тех сервисов, которые требуют аутентификации. Данный вопрос оставляется на рассмотрение автору ЗБ, который (в обосновании ЗБ) должен обосновать список сервисов, которые требуют (или могут быть соответствующим образом настроены, чтобы требовать) аутентификации конечного пользователя.
П3.4.2. Цели безопасности для среды
Ниже приводится пример цели безопасности для среды, которая является требованием к использованию функциональных возможностей аудита:
Администраторы межсетевого экрана должны обеспечить эффективное использование и управление средствами аудита. В частности, должны быть выполнены соответствующие действие в целях обеспечения непрерывного ведения аудита, например, путем регулярного архивирования файлов журналов аудита с тем, чтобы обеспечить достаточное свободное пространство (на диске). Кроме того, файлы журналов аудита должны регулярно просматриваться, и соответствующие действия должны быть предприняты по обнаружению нарушений безопасности или событий, которые могут привести к нарушению безопасности в будущем.
Данная цель безопасности близко связана с целью безопасности для межсетевого экрана по обеспечению функциональных возможностей аудита.
П3.5. Требования безопасности ИТ
П3.5.1. Функциональные требования безопасности
Для непосредственного удовлетворения целей безопасности для ОО, описанным в предыдущем разделе, могут быть выбраны следующие ФТБ:
а) Цель безопасности О1 может быть удовлетворена соответствующим использованием либо FDP_ACF.1 (Управление доступом, основанное на атрибутах безопасности) и FDP_ACC.2 (Полное управление доступом), либо FTA_TSE.1 (Открытие сеанса с ОО).
б) Цель безопасности О2 может быть удовлетворена FIA_UAU.2 (Аутентификация до любых действий пользователя) и FIA_UID.2 (Идентификация до любых действий пользователя). Другие подходящие ФТБ: FIA_UAU.3 (Аутентификация, защищенная от подделок), FIA_UAU.4 (Механизмы одноразовой аутентификации) и FIA_UAU.5 (Сочетание механизмов аутентификации), поскольку они учитывают спецификацию более сильных опознавательных механизмов.
в) Цель безопасности О4 может быть удовлетворена FAU_GEN.1 (Генерация данных аудита) и FAU_ARP.1 (Cигналы нарушения безопасности) с тем, чтобы обеспечить анализ информации аудита в реальном масштабе времени.
г) Цель безопасности О5 может быть удовлетворена FMT_SMR.1 (Роли безопасности), вместе с FIA_UAU.2 и FIA_UID.2, использующими аутентификацию администратора межсетевого экрана.
После формирования начального набора остальные ФТБ выбираются главным образом для того, чтобы удовлетворить зависимости. Дополнительные ФТБ могут быть включены, потому что они обеспечивают полезную (если не существенную) поддержку полномочий; и, например, могут включать FIA_AFL.1 (Обработка отказов аутентификации), FPT_RVM.1 (Невозможность обхода ПБО) и FPT_SEP.3 (Полный монитор обращений).
Далее необходимо выбрать соответствующий уровень аудита (то есть, неопределенный, минимальный, базовый или детализированный). Этот уровень должен соответствовать целями безопасности для ОО.
Далее необходимо, где требуется, использовать операцию назначения.
П3.5.2. Требования доверия к безопасности ОО
Выбор требований доверия должен быть относительно простым. Если авторы ПЗ/ЗБ не считают необходимым расширение или усиление требований доверия, то выбор последних сводится к выбору соответствующего оценочного уровня доверия к безопасности. Например, анализируя характер угроз (включая относительно сложные атаки) и ценность активов ИТ, можно выбрать ОУД4 как наиболее подходящий.
П3.5.3. Требования безопасности для ИТ-среды
Совсем необязательно, чтобы межсетевой экран обеспечивал все функциональные возможности, необходимые для удовлетворения целей безопасности для ОО. Например, на операционную систему, под управлением которой работает межсетевой экран, можно возложить хранение журнала аудита межсетевого экрана. Авторы ПЗ поэтому должны решить, какие функциональные возможности должны выполняться межсетевым экраном, а какие могут обеспечиваться операционной системой, под управлением которой работает межсетевой экран.
Выбор требований доверия в этом случае соответствует выбору требований доверия для ИТ, например, ОУД4.
П3.6. Краткая спецификация ОО
П3.6.1. Функции безопасности ОО
При построении функций безопасности ИТ авторы ЗБ могут начинать с ФТБ и получать функции безопасности ИТ из них следующим образом:
а) следует добавить (где необходимо) определенные детали ОО для того, чтобы конкретизировать функциональные возможности, особенно для функций межсетевого экрана по управлению доступом (главное назначение ОО);
б) поддерживающие функции (особенно функции управления безопасностью) целесообразно специфицировать в краткой форме, но без потери существенных деталей; в некоторых случаях это приводит к комбинации нескольких функциональных требований в одной функции безопасности.
Пример первых:
ОО должен управлять доступом на основе:
· явного IP- адреса или имени хоста источника;
· явного номера порта источника;
· IP- адреса или имени хоста получателя;
· номера порта получателя.
Пример вторых:
Администратор межсетевого экрана и только он может выполнять следующие функции:
· отображать и изменять параметры межсетевого экрана по управлению доступом;
· инициализировать и изменять данные аутентификации пользователей;
· отображать и изменять атрибуты пользователей;
· выбирать события, которые нужно контролировать;
· выделять подмножество контролируемых событий, предположительно отображающих возможное или предстоящее нарушение безопасности;
· сопоставлять отдельные механизмы аутентификации с определенными событиями аутентификации;
· проверять целостность межсетевого экрана.
Таким образом, можно интегрировать требования нескольких ФТБ в одной функции безопасности ИТ (ФТБ необходимо определить, используя FMT_MSA.1.1, FMT_MOF.1.1, FMT_MTD.1.1 и FPT_TST.1.3).
П3.7. Обоснование ПЗ
П3.7.1. Обоснование целей безопасности
Демонстрация пригодности целей безопасности для того, чтобы противостоять угрозам, может быть осуществлена:
а) с использованием таблицы, показывающей, какие цели безопасности каким угрозам соответствуют (например, O.ACCESS (О1), которая определяет потребность в политике управления доступом межсетевого экрана, может соответствовать угрозам, относящимся к нарушителям из враждебной сети, типа IP-спуфинга (подмена IP-адреса) или атаки на уязвимые сервисы), обеспечивая отображение каждой цели безопасности по крайней мере на одну угрозу;
б) путем аргументации для каждой угрозы, почему идентифицированные цели безопасности являются соответствующими данной угрозе.
Пример объяснения пригодности дается ниже:
Угроза T.PROTOCOL. Нарушитель из враждебной сети может применить ненадлежащее использование протоколов сервисов (например, использование 'известного' номера порта для протокола, отличного от протокола, определенного для использования этого порта).
Цель O.ACCESS ограничивает хосты и порты сервисов, к которым можно обращаться, соответственно, из враждебных (внешних) сетей и частной сети. Цель O.AUDIT контролирует возможные атаки, предоставляя администратору межсетевого экрана средства их обнаружения и принятия соответствующих мер. Цель O.ADMIN обеспечивает необходимую поддержку, обеспечивая безопасное административное управление межсетевым экраном, поддерживаемое O.INSTALL и O.TRAIN.
П3.7.2. Обоснование функциональных требований безопасности
Демонстрацию пригодности ФТБ для удовлетворения целей безопасности для ОО можно представить следующим образом:
а) показ посредством таблицы, какие ФТБ каким целям безопасности соответствуют (например, FDP_ACF.1 и FDP_ACC.2 соответствует цели безопасности O.ACCESS (О1)), гарантируя, что каждое ФТБ отображается по крайней мере на одну цель безопасности;
б) обеспечение для каждой цели безопасности для ОО аргументации относительно того, почему идентифицированные ФТБ подходят для удовлетворения цели.
Пример обоснования пригодности дается ниже:
Цель O.ADDRESS. Межсетевой экран должен ограничить диапазон допустимых адресов частной и враждебной (внешней) сети (то есть внешний хост не может подменить внутренний хост).
FDP_ACF.1 вместе с FDP_ACC.2 обеспечивают возможность ограничения доступа как это требует O.ADDRESS, а FPT_RVM.1 обеспечивает, что эти функции вызываются всегда, когда требуется.
Демонстрация взаимной поддержки и внутренней согласованности может быть обеспечена, во-первых, посредством анализа зависимостей. Во-вторых, она может быть дополнена таблицей, демонстрирующей поддержку ФТБ со стороны других ФТБ для защиты от обхода, вмешательства и блокирования соответствующих ФБО. Она может сопровождаться объяснением содержания таблицы. Вместо рассмотрения каждого требования по порядку (что ведет к повторам), можно выделить общие вопросы, необходимые для понимания содержания таблицы. Например:
Атаки вмешательства предотвращаются:
· FPT_SEP.3, который поддерживает разделение на домены, и, в частности, предотвращает от вмешательства нарушителя в функции безопасности;
· функциями безопасности, которые ограничивают возможности модификации атрибутов или данных настройки уполномоченным администратором (например, основанные на FMT_MSA.1);
· функциями безопасности, которые предотвращают несанкционированную модификацию других данных, целостность которых является критичной для функции безопасности (т.е. основанные на FMT_MTD.1).
П3.7.3. Обоснование требований доверия к безопасности
Формирование этого раздела ПЗ не должно вызвать особых трудностей, если ПЗ ссылается на ОУД4 и в нем отсутствуют другие, более сильные требования доверия к безопасности. В этом случае было бы возможно утверждать, что ОУД4 содержит известный набор взаимно поддерживающих и внутренне непротиворечивых компонентов доверия, для которых все зависимости удовлетворены.
Приложение 4
Методические рекомендации по формированию профиля защиты СУБД
Ключевым звеном обеспечения информационной безопасности вычислительных систем является безопасность общего программного обеспечения, основу которого составляют используемые ОС и СУБД.
Суть предлагаемого методического подхода заключается в формировании требований безопасности СУБД в виде профиля защиты с учетом ограничений безопасности, накладываемых на ОС, под управлением которой работает СУБД.
При этом предполагается, что СУБД предназначена для работы с информацией, для которой необходимо обеспечить конфиденциальность, целостность и доступность на основе дискреционного принципа управления доступом.
Далее рассмотрим процесс формирования основных разделов профиля защиты СУБД.
П4.1. Введение ПЗ
Введение разрабатывается с учетом рекомендаций главы 7 настоящего Руководства.
П4.2. Среда безопасности объекта оценки
П4.2.1. Предположения безопасности
Для базы данных важно, чтобы формулировка предположений относительно среды безопасности ясно устанавливала возможности и границы ОО.
Например, могут быть сделаны следующие предположения:
Предположение A1. Объект оценки (СУБД) работает под управлением операционной системы, которая установлена и функционирует в безопасном режиме, то есть в соответствии с эксплуатационной документацией данного изделия ИТ.
Предположение A2. Ресурсы ОО и операционной системы, под управлением которой он работает, защищены от несанкционированного физического доступа.
Предположение A3. Все относящиеся к базе данных файлы и каталоги защищены от несанкционированного доступа операционной системой, под управлением которой работает ОО.
Главная задача разработчика ПЗ заключается в том, чтобы определить границы среды безопасности как непосредственно ОО, так и операционной системы, под управлением которой работает ОО. В дальнейшем в ПЗ определяются цели и требования к операционной системе (как части ИТ-среды).
Предположения, относящиеся к особенностям обеспечения безопасности (например, особенности накопления в журнале аудита и анализа информации, обеспечивающей контроль функционирования системы безопасности), могут формулироваться как цели безопасности для среды.
П4.2.2. Угрозы
Для базы данных защищаемые активы – это объекты базы данных (например, собственно данные). Объекты могут входить в состав данных, содержащихся в других объектах. Конфиденциальность, целостность и доступность информации, хранимой в этих объектах, должны быть обеспечены в соответствии с требованиями владельцев объектов.
Субъектами угрозы являются уполномоченные и неуполномоченные пользователи базы данных. Последняя категория включает как уполномоченных, так и неуполномоченных пользователей операционной системы, под управлением которой работает СУБД.
Дополнительными потенциальными источниками угроз целостности и доступности информации, содержащейся в базе данных, являются внешние события, такие как прерывания операций в результате сбоя в работе аппаратных средств, источников питания, носителей данных и т.д.
Две основные угрозы несанкционированного доступа к информации, содержащейся в базе данных, могут быть представлены следующим образом.
Угроза T1. Нарушитель получает доступ к базе данных в результате маскировки под уполномоченного пользователя или в результате анонимного доступа.
Угроза T2. Уполномоченный пользователь базы данных обращается к информации, содержащейся в этой базе данных, без разрешения пользователя, являющегося владельцем или ответственным за защиту данных.
В формулировке угроз определены источник угрозы, активы ИТ, подверженные нападению, и форма нападения.
Источник угрозы – это уполномоченный пользователь базы данных в T2, но мог бы быть и неуполномоченный или уполномоченный пользователь базы данных в T1.
Активы ИТ, подверженные нападению (в формулировке обеих угроз) – это информация, содержащаяся в объектах базы данных, к которым осуществляется доступ.
Форма нападения выражена в виде маскировки под законного пользователя или «анонимного доступа» в Т1 и «обращается к информации» в T2.
Угроза доступности информации, содержащейся в СУБД, может быть сформулирована следующим образом.
Угроза T3. Уполномоченный пользователь базы данных использует общие ресурсы базы данных таким образом, что ставит под угрозу доступность базы данных для других уполномоченных пользователей.
Следует отметить, что в угрозе T3, как и в угрозах Т1 и Т2, актив ИТ, подверженный риску, – это информация, содержащаяся в базе данных.
«Общие ресурсы базы данных» представляют собой простое средство реализации атаки на доступность информации, содержащейся в базе данных.
Наличие угроз, которым не противостоит ОО, обуславливает необходимость введения ограничений на функционирование СУБД. Рассмотрим пример такой угрозы.
Угроза TE1. База данных не может быть надежно защищена объектом оценки от пользователей с большими полномочиями, которые злоупотребляют предоставленными им привилегиями.
Обычно контрмерой угрозе злоупотребления привилегиями уполномоченным пользователем является аудит безопасности. Но существуют некоторые доверенные пользователи, которые имеют право удалять контрольные записи в журнале аудита и таким образом скрывать свои действия. В связи с этим необходимы соответствующие процедурные меры, гарантирующие то, что пользователи с большими полномочиями являются действительно заслуживающими доверия личностями. С учетом таких процедурных мер и должна быть сформулирована цель безопасности, соответствующая угрозе TE1.
П4.2.3. Политика безопасности организации
В качестве ПБОр для СУБД может быть выбрана, например, следующая:
Политика безопасности P1. Права доступа к определенным объектам базы данных определяются:
а) владельцем объекта;
б) результатом проверки подлинности субъекта, осуществляющего доступ;
в) правами доступа к объекту, предоставленными субъекту;
г) привилегиями, которыми обладает субъект.
П4.3. Цели безопасности
П4.3.1. Цели безопасности для ОО
С учетом сформулированных угроз цели безопасности для СУБД могут быть определены следующим образом.
Цель O1. Объект оценки должен обеспечивать идентификацию пользователей ОО.
Цель O2. Объект оценки должен обеспечить конечным пользователям возможности управления и ограничения доступа путем определения владельцев объектов БД и ответственных за эти объекты в соответствии с выбранной политикой безопасности P1.
Цель O3. Объект оценки должен иметь функции управления использованием общих ресурсов пользователями ОО, в том числе – функции ограничения числа параллельных сеансов.
Цель O1 основана на предположении о том, что требуемая проверка подлинности пользователя осуществляется операционной системой, под управлением которой работает ОО и которая является частью ИТ-среды. Необходимость осуществления операционной системой идентификации и аутентификации можно выразить в виде целей безопасности для среды.
П4.3.2. Цели безопасности для среды
Анализ угрозы TE1 показывает необходимость формулировки цели безопасности для среды, связанной с проблемой привилегированных пользователей.
Данную цель безопасности можно сформулировать следующим образом:
Цель ОЕ1. Лица, ответственные за эксплуатацию ОО, должны обеспечить проведение соответствующих процедурных и кадровых мероприятий, гарантирующих то, что только доверенным лицам назначены привилегии, позволяющие им:
а) модифицировать данные журнала аудита и настройки аудита;
б) модифицировать атрибуты безопасности пользователей (включая разрешения на использование привилегий пользователя).
Далее приводится пример цели безопасности для среды, которая (цель) является требованием по использованию операционной системы, под управлением которой работает ОО:
Цель ОЕ2. Лица ответственные за эксплуатацию ОО, должны обеспечить, чтобы данные аутентификации для каждой учетной записи пользователя операционной системы содержались в тайне и были недоступны лицам, не уполномоченным использовать данную учетную запись.
Цель ОЕ2 определяет потребность (выраженную в предположениях безопасности А1, А2, А3) в том, чтобы файлы базы данных были соответствующим образом защищены операционной системой. Если данные проверки подлинности (учетные записи) не защищены надлежащим образом, то нарушитель сможет обойти функции управления доступом.
П4.4. Требования безопасности ИТ
П4.4.1 Функциональные требования безопасности
Можно выбрать следующие функциональные требования безопасности, непосредственно удовлетворяющие описанные выше цели безопасности для ОО:
а) Цель О1, требующая идентификации пользователей объектом оценки (аутентификация предписана операционной системе), может быть удовлетворена ФТБ, определенными в компонентах FIA_UID.1 «Выбор момента времени идентификации» и FIA_USB.1 «Связи пользователь-субъект».
б) Цель безопасности O2, требующая управления доступом к объектам базы данных, может быть удовлетворена ФТБ, определенными в компонентах FDP_ACC.1 «Ограниченное управление доступом» и FDP_ACF.1 «Управление доступом, основанное на атрибутах безопасности».
в) Цель безопасности O3, требующая ограничений на использование общих ресурсов, может быть удовлетворена ФТБ, определенными в компонентах FRU_RSA.1 «Максимальные квоты» и FTA_MCS.1 «Базовое ограничение на параллельные сеансы».
Аналогично (путем выбора соответствующих компонент из Части 2 ОК для определения требуемых ФТБ) следует удовлетворять и другие цели безопасности, включенные в ПЗ (например, для определения требований аудита следует выбрать компонент FAU_GEN.1 «Генерация данных аудита»).
Сформировав начальный набор ФТБ, оставшиеся ФТБ следует выбирать таким образом, чтобы удовлетворить зависимости, установленные в Части 2 ОК, или определить другие сопутствующие функциональные возможности.
Например:
а) компонент FMT_MSA.3 «Инициализация статичных атрибутов» необходим (как зависимость для компонента FDP_ACF.1) для спецификации функции управления доступа по умолчанию для вновь созданного объекта базы данных;
б) компонент FMT_MSA.1 «Управление атрибутами безопасности» необходим для определения функций контроля за модификацией объектов или назначением атрибутов безопасности пользователей и атрибутов безопасности объектов. Может потребоваться операция итерации для определения контроля за атрибутами пользователей и атрибутами объектов отдельно, так как последние могут быть изменены владельцами объектов, а первые – только администратором.
в) компонент FDP_RIP.1 «Ограниченная защита остаточной информации» нужен, чтобы определить функциональные возможности повторного использования объекта в поддержку политики контроля доступа к базе данных.
г) компонент FAU_SAR.1 «Просмотр аудита» может быть выбран для того, чтобы определить, кто может просматривать данные аудита (например, уполномоченные пользователи могут иметь возможность читать записи аудита, касающиеся объектов, по отношению к которым они (пользователи) являются владельцами, в то время как только уполномоченный администратор может иметь возможность просматривать весь журнал аудита).
Далее необходимо принять решение об уровне аудита событий: минимальный, базовый или детализированный (см. п. 7.1.2).
Подходящий уровень выбирается, исходя из целей безопасности для ОО. При этом требование аудита не должно быть необоснованно завышено.
П4.4.2. Требования доверия к безопасности ОО
Требования доверия должны быть сформулированы на основе рассмотрения характера (природы) угроз. Для СУБД, предназначенной для хранения и обработки секретной информации, следует использовать требования доверия не ниже ОУД3.
П4.4.3. Требования безопасности для ИТ-среды
Разработку данного раздела ПЗ для СУБД необходимо вести с учетом функций ОС по обеспечению контроля доступа, идентификации и аутентификации. При этом некоторые требования могут быть определены в результате удовлетворения зависимостей ФТБ ОО. Требования доверия для ОС должны, по меньшей мере, соответствовать ОО, то есть в данном случае быть не ниже ОУБ3.
П4.5. Обоснование ПЗ
П4.5.1. Обоснование целей безопасности
Демонстрация соответствия целей безопасности идентифицированным угрозам может быть выполнена следующим образом:
а) в виде таблицы, показывающей, какие цели безопасности каким угрозам соответствуют (например, угрозе Т3 соответствует цель О3); при этом необходимо обеспечить соответствие каждой цели безопасности, по крайней мере, одной угрозе;
б) логическим обоснованием того, что цели безопасности противостоят угрозам.
Приведем пример обоснования целей безопасности.
Угрозе Т3 (Чрезмерное потребление ресурсов) непосредственно противостоит цель О3, которая гарантирует, что ОО имеет функции ограничения использования общих ресурсов, включая установку ограничений на число параллельных сеансов отдельных пользователей.
П4.5.2. Обоснование функциональных требований безопасности
Демонстрацию соответствия ФТБ целям безопасности для ОО можно представить следующим образом:
а) в виде таблицы, показывающей, какие ФТБ какие цели безопасности удовлетворяют (например, компоненты FRU_RSA.1 и FTP_MCS.1 соответствуют цели безопасности O3), при этом необходимо обеспечить соответствие каждого ФТБ, по крайней мере, одной цели безопасности;
б) логическим обоснованием соответствия ФТБ целям безопасности.
Приведем пример обоснования ФТБ.
Достижение цели О3 обеспечивается компонентом FRU_RSA.1, который предусматривает функции контроля использования общих ресурсов отдельными пользователями, и компонентом FTA_MCS.1, который предусматривает функции контроля числа параллельных сеансов пользователя.
Анализ зависимостей компонентов ФТБ также можно представить в виде таблицы.
Демонстрацию взаимной поддержки и внутренней последовательности требований безопасности можно обеспечивать, выделяя и комментируя дополнительные вспомогательные зависимости между идентифицированными ФТБ (включая, где необходимо, требования к операционной системе), не выделенные в анализе зависимостей. Это следует делать, рассматривая для каждого ФТБ, в свою очередь, потенциальную необходимость другого ФТБ с целью предотвращения обхода или вмешательства в работу соответствующих ФБО.
Приведем пример демонстрации взаимной поддержки требований безопасности.
а) компонент FDP_RIP.1 поддерживает компоненты FDP_ACC.1 и FDP_ACF.1, предотвращая обход ФБО, соответствующих данным компонентам, при многократном использовании объектов хранения данных и доступе к этим объектам различных субъектов;
б) компонент FMT_MSA.1 поддерживает компоненты FRU_RSA.1 и FTA_MCS.1, ограничивая возможности уполномоченного администратора изменять квоты пользователей по использованию ресурсов ОО;
в) компонент FAU_STG.1 «Защищенное хранение журнала аудита» поддерживает компонент FAU_GEN.1, защищая целостность журнала аудита.
П4.5.3. Обоснование требований доверия к безопасности
Формирование этого раздела ПЗ не должно вызвать особых трудностей, если ПЗ ссылается на ОУД3 и в нем отсутствуют другие, более сильные требования доверия к безопасности. В этом случае можно утверждать, что ОУД3 содержит известный набор взаимно поддерживающих и внутренне непротиворечивых компонентов доверия, для которых все зависимости удовлетворены.
Методические рекомендации по формированию профиля защиты доверенного центра инфраструктуры открытых ключей
Предлагаемый методический подход к формированию ПЗ ДЦ учитывает гибкость набора ФТБ, который зависит от типов сервисов, обеспечиваемых доверенным центром, например:
а) доверенный центр может обеспечивать или не обеспечивать сервисы конфиденциальности;
б) доверенный центр может предоставлять сервисы генерации ключей или может предполагать, что подписчики ДЦ выполняют действия по генерации ключей самостоятельно.
Исходя из этого, необходимо определить набор основных и дополнительных сервисов, предоставляемых ДЦ.
Основные сервисы представляют собой минимум сервисов, обеспечиваемых ДЦ, и относятся к регистрации подписчика, а также к выпуску, распределению, аннулированию и хранению в архиве сертификатов открытых ключей аутентификации.
Дополнительные сервисы ДЦ включают генерацию ключей, верификацию (проверку подлинности) сертификатов, управление сертификатами, восстановление ключей и создание резервных копий.
При делении сервисов на основные и дополнительные исходят из того, что подписчики ДЦ могут иметь собственные прикладные программы для выполнения таких функций, как генерация ключей, генерация и верификация цифровой подписи и так далее.
Разработка ПЗ ДЦ с учетом основных и дополнительных сервисов создает проблему совместимости с ОК, так как последний не позволяет задавать спецификацию необязательных требований безопасности в ПЗ.
Альтернативный подход разработки ПЗ для каждой возможной комбинации услуг ДЦ, учитывая множество возможных перестановок, представляется непрактичным.
Разрешение данной проблемы заключается в том, чтобы определить основной набор ФТБ в ПЗ, соответствующий основным сервисам ДЦ.
Кроме того, для каждого дополнительного сервиса может быть определен функциональный пакет для идентификации дополнительных ФТБ, необходимых для поддержки этого сервиса.
Сформированный таким образом ПЗ ДЦ может быть использован следующим образом:
а) при разработке задания по безопасности совместно с одним или более определенных функциональных пакетов в зависимости от услуг, предоставляемых ДЦ;
б) как основа для подготовки других ПЗ с учетом конкретного набора услуг ДЦ; такой ПЗ следует формировать на основе комбинации основного набора ФТБ соответственно с одним или более определенных функциональных пакетов. Данный подход приводит к созданию «семейства» ПЗ ДЦ.
П5.1. Введение ПЗ
Введение разрабатывается с учетом рекомендаций главы 7 настоящего Руководства.
П5.2. Среда безопасности объекта оценки
П5.2.1. Предположения безопасности
Для ДЦ важно, чтобы формулировка предположений относительно безопасности ясно устанавливала возможности и границы ОО.
Желательно, чтобы прикладные программы подписчика ДЦ, используемые для генерации цифровой подписи или для зашифрования/расшифрования информации, рассматривались как находящиеся вне рамок ОО.
Это приводит к следующим двум предположениям.
Предположение A1. Доверенный центр не будет сертифицировать (предоставлять поручительство за) открытый ключ, если не удовлетворяется требование к целостности алгоритма, по которому генерируется пара ключей.
Предположение A2. Подписчики имеют доступные технические средства, посредством которых они могут (при необходимости) генерировать собственные открытые/секретные ключи, генерировать и верифицировать цифровые подписи и верифицировать сертификаты открытых ключей.
Предположение А1 необходимо, потому что сертификат, выпущенный ДЦ, был бы девальвирован, если отсутствует доверие к выполнению подписчиком соответствующего алгоритма.
Предположение А2 необходимо для полноты (хотя доверенный центр может поддерживать это предположение, предоставляя соответствующие дополнительные услуги). Таким образом, предположение А2 заключается в том, что описанные функциональные возможности обеспечиваются прикладными программами подписчика, которые не включены в возможности ОО «Доверенный центр».
П5.2.2. Угрозы
Для ДЦ защищаемые активы ИТ – это сертификаты открытых ключей, сгенерированные или сохраненные (например, архивированные) ДЦ вместе с ключами, используемыми или сгенерированными ДЦ.
Открытые ключи и сертификаты, по своей природе, не требуют защиты их конфиденциальности; однако требуют обеспечения их целостности и доступности. С другой стороны, секретные ключи требуют защиты от раскрытия. Это могут быть ключи, используемые ДЦ для подписи сертификатов, или ключи подписчика, сгенерированные и сохраненные (для восстановления или создания резервных копий). Эти активы, в конечном счете, формируются на основе информации, которой обмениваются подписчики, чьи ключи и сертификаты используются для защиты. Сама информация находится вне управления ДЦ, но ключи и сертификаты находятся в его пределах.
Менее поддающийся оценке актив – это репутация организации, непосредственно использующей ДЦ; опять же этот актив также может быть скомпрометирован реализацией угроз по отношению к ключам и сертификатам.
Источниками угроз могут быть как злоумышленники, так и подписчики ДЦ, а также уполномоченные пользователи ОО.
В качестве примера можно привести следующие угрозы, имеющие отношение к основным сервисам ДЦ.
Угроза T1. Секретный ключ аутентификации подписчика раскрыт лицу, которое не имеет права его знать.
В формулировке угрозы определены источник угрозы, активы ИТ, подверженные нападению, и форма нападения.
Источник угрозы – лицо, которое не имеет права знать секретный ключ подписчика ДЦ.
Актив ИТ, подверженный нападению, – это секретный ключ подписчика ДЦ.
Форма нападения выражена термином «раскрыт», что указывает на то, что имеет место пассивное либо активное нападение (данный аспект следует более подробно изложить в сопровождающем угрозу объяснении).
Угроза Т2. Один (или более) сертификат открытых ключей аутентификации не может быть распространен надлежащим образом или предоставлен уполномоченному подписчику ДЦ.
Пример угрозы Т2 касается доступности сертификатов открытых ключей аутентификации.
В формулировке угрозы Т2 активами, подверженными нападению, являются сертификаты открытых ключей аутентификации.
В этом случае необходимо, до сопровождающего угрозу объяснения, идентифицировать возможные источники угроз (например, отказ самого ОО или маршрута связи подписчика ДЦ) и любые формы нападения (например, преднамеренные попытки блокирования обслуживания или, наоборот, отсутствие явного нападения, если источник угрозы – операционная ошибка в ОО).
Приведем примеры угроз, имеющих отношение к дополнительным сервисам ДЦ.
Угроза T3. Один или более секретных ключей подписчика не могут быть распределены или переданы лицу, имеющему на то законное право.
Эта угроза относится к дополнительному сервису, связанному с восстановлением ключей.
Данная угроза может иметь место, если доверенным центром предоставляются дополнительные сервисы по созданию резервных копий ключей или генерации секретных ключей.
П5.2.3. Политика безопасности организации
В качестве ПБОр для ДЦ может быть выбрана следующая.
Политика безопасности P1. Требуется, чтобы ДЦ соответствовал действующему законодательству и нормативным документам в области информационной безопасности.
П5.3. Цели безопасности
П5.3.1. Цели безопасности для ОО
Цели безопасности для ДЦ делятся на цели безопасности основных и дополнительных сервисов. Цели безопасности для ДЦ могут быть определены следующим образом.
Цель O1. Объект оценки должен обеспечить сервисы своевременной генерации, распределения и аннулирования сертификатов открытых ключей.
Цель O2. Объект оценки должен обеспечить сервисы верификации сертификатов открытых ключей, которая включает проверку цепочки сертификатов для доверенного субъекта (объекта).
Цель O3. Объект оценки должен обеспечить сервисы генерации цифровых подписей для подтверждения аутентичности.
Цели безопасности O1 и O2 имеют непосредственное отношение к основным сервисам ДЦ, предоставляемым подписчикам ДЦ.
Цель безопасности O3 напрямую не относится к основным сервисам ДЦ, но, тем не менее, должна быть удовлетворена для поддержки основного сервиса – генерации ключей. То есть ДЦ должен быть способен подписывать сертификаты открытых ключей, которые он генерирует.
Другие цели безопасности определяются в целях обеспечения надлежащей защиты активов ДЦ. Эти цели относятся к целям «стандартной операционной системы» по идентификации и аутентификации пользователей ДЦ, контролю доступа и аудиту событий, относящихся к безопасности.
В дополнение к «основному» набору целей безопасности для ОО определяются цели безопасности дополнительных сервисов, например, следующие.
Цель O4. Объект оценки должен иметь сервисы хранения ключевой информации, допускающие расшифрование сообщений от имени подписчика, являющегося владельцем ключа.
Цель безопасности О4 относится к дополнительному сервису по восстановлению ключей.
П5.3.2. Цели безопасности для среды
Цели безопасности для среды определяются в случае наличия требований для процедур поддержания целостности функционирования ДЦ.
Цель OЕ1. Лица, ответственные за эксплуатацию ДЦ, должны обеспечить использование соответствующих сервисов проверки процедур:
а) генерации сертификатов (чтобы гарантировать то, что неправильные данные не помещены в сертификат);
б) верификации сертификата (когда необходимо обеспечить информирование подписчиков ДЦ о положительном результате верификации сертификата).
Цель OЕ2. Лица, ответственные за эксплуатацию ДЦ, должны обеспечить наличие надлежащих процедур аутентификации подписчиков ДЦ и (при необходимости) третьих лиц.
Цель OЕ1 необходима для того, чтобы предотвратить компрометацию ДЦ в результате выпуска ненадлежащих (недостоверных) сертификатов.
Цель OЕ2 необходима для того, чтобы, например, заархивированные секретные ключи (в целях восстановления ключей или создания резервных копий ключей) не были бы раскрыты лицам, которые не имеют на это права.
П5.4. Требования безопасности ИТ
П5.4.1. Функциональные требования безопасности ОО
Первоначально выбираются ФТБ, непосредственно удовлетворяющие целям безопасности для ОО. Например, цель O1 требует, среди прочего, возможность генерации сертификатов открытых ключей. Это требование может быть сформулировано на основе элемента FDP_DAU.2.1 компонента FDP_DAU.2 (Аутентификация данных с идентификацией гаранта), следующим образом:
ФТБ1. ФБО должны предоставить возможность генерировать сертификаты открытых ключей, которые могут быть использованы как гарантия проверки правильности увязки определенного имени (идентификационных признаков) с определенным открытым ключом и владением связанным с ним секретным ключом. УТОЧНЕНИЕ: сертификаты открытых ключей должны быть сгенерированы в соответствии с определенным стандартом (например. X.509).
Другой элемент в компоненте FDP_DAU.2 – FDP_DAU.2.2 используется для определения требования возможности проверки сертификатов открытых ключей с тем, чтобы удовлетворить цель безопасности O2:
ФТБ2. ФБО должны предоставить доверенному центру возможность верификации сертификатов открытых ключей и идентификатора того ДЦ, который сгенерировал сертификат.
УТОЧНЕНИЕ: верификация сертификата должна включать, как минимум:
а) проверку цифровой подписи;
б) проверку срока действия;
в) проверку параметров аннулирования.
Цель безопасности O3 требует возможности генерации цифровых подписей как доказательство происхождения. Это ведет к использованию следующих ФТБ, определенных при помощи компонента FCO_NRO.1 (Избирательное доказательство отправления):
ФТБ3. ФБО должны быть способны генерировать цифровые подписи для передаваемой информации при запросе ДЦ.
ФТБ4. ФБО должны быть способны связать идентификационные признаки отправителя информации и информации, к которой прилагается цифровая подпись.
ФТБ5. ФБО должны предоставить возможность проверки цифровых подписей доверенным центром при [назначение: ограничения на цифровую подпись].
После того, как сформирован начальный набор ФТБ, остальные ФТБ выбираются с тем, чтобы удовлетворить зависимости или идентифицировать другие (поддерживающие) функциональные возможности. Например, следующее ФТБ, определенное на основе компонента FCS_CKM.1, необходимо для поддержки цели O1 и должно предусматривать генерацию ключей ДЦ для подписи сгенерированных сертификатов:
ФТБ6. ФБО должны генерировать пары ключей (открытый/секретный) ДЦ в соответствии с определенным алгоритмом генерации криптографических ключей [назначение: алгоритм генерации криптографических ключей] и определенной длиной криптографических ключей [назначение: длины криптографических ключей], которые удовлетворяют следующему: [назначение: список стандартов].
Так же на основе FCS_COP.1 определено ФТБ7 для поддержки ФТБ3 – ФТБ5 с тем, чтобы определить алгоритмы, используемые для генерации и верификации цифровых подписей:
ФТБ 7. ФБО должны выполнять генерацию цифровых подписей и их верификацию в соответствии с определенными криптографическими алгоритмами [назначение: криптографические алгоритмы] и длиной криптографических ключей [назначение: длины криптографических ключей], которые удовлетворяют следующему: [назначение: список стандартов].
Далее необходимо принять решение об уровне аудита событий (минимальный, базовый или детализированный).
Подходящий уровень выбирается, исходя из целей безопасности для ОО. При этом требование аудита не должно быть необоснованно завышено.
Профиль защиты ДЦ также включает набор функциональных пакетов, определяющих ФТБ, необходимые для поддержания безопасности дополнительных сервисов ДЦ, например, следующие:
ФТБ8. ФБО должны выполнять восстановление ключей в соответствии с указанным методом доступа к криптографическим ключам [назначение: метод доступа к криптографическим ключам], который должен удовлетворять следующему требованию: он должен обеспечить защиту секретной ключевой информации от несанкционированного раскрытия и модификации в процессе распределения.
Функциональное требование безопасности ФТБ8 сформулировано на основе элемента FCS_CKM.3.1 компонента FCS_CKM.3 «Доступ к криптографическим ключам» путем выполнения соответствующих операций назначения:
· тип доступа к криптографическим ключам – восстановление ключей;
· список стандартов – должен обеспечить защиту секретной ключевой информации от несанкционированного раскрытия и модификации в процессе распределения.
Элемент FDP_DAU.2.2 в компоненте FDP_DAU.2 «Аутентификация данных с идентификацией гаранта» используется для определения требования возможности проверки сертификатов открытых ключей подписчиками ДЦ (ФТБ8). При этом имеет место операция итерации, то есть повторное включение в ПЗ компонента FDP_DAU.2 (см. ФТБ1, ФТБ2) с другим выполнением операции назначения.
ФТБ9. ФБО должны предоставить подписчикам ДЦ возможность верификации сертификатов открытых ключей и идентификатора того ДЦ, который сгенерировал сертификат.
УТОЧНЕНИЕ: верификация сертификата должна включать, как минимум:
а) проверку цифровой подписи;
б) проверку срока действия;
в) проверку параметров аннулирования.
Незначительная модификация ФТБ9 может расширить возможности подписчиков ДЦ по проверке сертификатов подобно тому, как это выполняется доверенным центром.
П5.4.2. Требования доверия к безопасности ОО
Требования доверия должны быть сформулированы на основе анализа характера угроз, ценности активов и технической выполнимости требований доверия. Учитывая то, что ценность защищаемой информации может быть существенной, необходим относительно высокий уровень доверия. Однако, с учетом ограничений технической реализуемости можно выбрать уровень доверия ОУД4. В соответствии с ОК ОУД4 обеспечивает умеренно высокий уровень доверия безопасности проектирования.
П5.4.3. Требования безопасности для ИТ-среды
Для ДЦ нет требований безопасности для ИТ-среды: все требования безопасности должны быть удовлетворены ОО. Однако считается, что соответствующий ОО должен работать под управлением операционной системы, которая обеспечивает идентификацию и аутентификацию, управление доступом и функциональные возможности аудита, требуемые для защиты активов ДЦ, хранимых и обрабатываемых ОО.
П5.5. Обоснование ПЗ
П5.5.1. Обоснование целей безопасности
Демонстрация соответствия целей безопасности угрозам может быть выполнена следующим образом:
а) в виде таблицы, показывающей, какие цели безопасности каким угрозам противостоят (например, угрозе Т2 противостоят цели О1 и O3); при этом необходимо обеспечить соответствие каждой цели безопасности, по крайней мере, одной угрозе;
б) логическим обоснованием того, что цели безопасности противостоят угрозам.
Приведем пример обоснования целей безопасности.
Угрозе T2 противостоит цель безопасности O1, обеспечивающая сервисы безопасной генерации и распределения сертификатов открытых ключей. Цель O3 обеспечивает возможность генерации цифровых подписей в дополнение к генерации сертификатов.
П5.5.2. Обоснование функциональных требований безопасности
Демонстрацию соответствия ФТБ целям безопасности для ОО можно представить следующим образом:
а) в виде таблицы, показывающей, какие ФТБ какие цели безопасности удовлетворяют (например, ФТБ3–4 и ФТБ7 соответствует цели безопасности O3): при этом необходимо обеспечить соответствие каждого ФТБ, по крайней мере, одной цели безопасности;
б) логическим обоснованием соответствия ФТБ целям безопасности.
Приведем пример обоснования ФТБ.
Цель O3 удовлетворяется ФТБ3–4 и ФТБ7, обеспечивающими функциональные возможности генерации цифровой подписи.
Так как для каждого дополнительного сервиса ДЦ имеется соответствующая цель безопасности, необходимо отдельное обоснование для каждого сервиса.
Анализ зависимостей компонентов ФТБ можно представить в виде таблицы.
Демонстрацию взаимной поддержки и внутренней последовательности требований безопасности можно обеспечивать, выделяя и комментируя дополнительные зависимости между идентифицированными ФТБ (включая, где необходимо, требования к операционной системе), не выделенные в анализе зависимостей. Это следует делать, рассматривая для каждого ФТБ, в свою очередь, потенциальную необходимость другого ФТБ с целью предотвращения обхода или вмешательства в работу соответствующих ФБО.
Приведем примеры демонстрации взаимной поддержки требований безопасности.
а) ФТБ 6 обеспечивает безопасную генерацию ключей ДЦ и поэтому поддерживает те ФТБ, которые полагаются на использование этих ключей: ФТБ1, ФТБ2.
б) ФТБ3–4,7 обеспечивают сервис цифровой подписи и поэтому поддерживают те ФТБ, которые полагаются на генерацию цифровых подписей: ФТБ1.
в) ФТБ4–5,7 обеспечивают сервис проверки цифровой подписи и поэтому поддерживают те ФТБ, которые относятся к проверке цифровой подписи: ФТБ2.
П5.5.3. Обоснование требований доверия к безопасности
Формирование этого раздела ПЗ не должно вызвать особых трудностей, если ПЗ ссылается на ОУД4 и в нем отсутствуют иные требования доверия к безопасности. Оценочный уровень доверия ОУД4 содержит известный набор взаимно поддерживающих и внутренне непротиворечивых компонентов доверия, для которых все зависимости между компонентами удовлетворены.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Программно-технические меры, т. е. меры, направленные на контроль компьютерных сущностей – оборудования, программ и/или данных – образуют последний и самый важный рубеж информационной безопасности.
Напомним, что ущерб наносят в основном действия легальных пользователей, по отношению к которым процедурные
регуляторы малоэффективны. Главные враги – некомпетентность и неаккуратность при выполнении служебных обязанностей, и только программно-технические меры способны им противостоять.
В связи с этим именно компьютер (особенно находящийся в составе сети) следует в первую очередь рассматривать в качестве объекта защиты, а конечного пользователя – в качестве ее наиболее вероятного потенциального нарушителя. Как следствие, под сомнение ставится обоснованность концепции реализованной системы защиты в современных универсальных ОС. Эта система защиты заключается в построении распределенной схемы администрирования механизмов защиты, элементами которой, помимо администратора, выступают пользователи, имеющие возможность назначать и изменять права доступа к создаваемым ими файловым объектам.
На практике сегодня существует два подхода к обеспечению компьютерной безопасности:
1) использование только встроенных в ОС и приложения средств защиты;
2) применение, наряду со встроенными, дополнительных механизмов защиты. Этот подход заключается в использовании так называемых технических средств добавочной защиты – программных, либо программно-аппаратных комплексов, устанавливаемых на защищаемые объекты.
Существующая статистика ошибок, обнаруженных в ОС, а также сведения о недостаточной эффективности встроенных в ОС и приложения механизмов защиты, заставляет специалистов сомневаться в достижении гарантированной защиты от НСД, при использовании встроенных механизмов, и все большее внимание уделять средствам добавочной защиты информации.
Таким образом, важнейшим условием защищенности компьютерной информации является квалификация администраторов безопасности и сотрудников эксплуатирующих служб, которая, по крайней мере, не должна уступать квалификации злоумышленников, в противном случае не помогут никакие средства защиты.
Центральным для программно-технического уровня является понятие сервиса безопасности.
Далее рассмотрим следующие основные и вспомогательные сервисы:
· идентификация и аутентификация,
· управление доступом,
· протоколирование и аудит;
· шифрование;
· контроль целостности;
· экранирование;
· анализ защищенности;
· обеспечение отказоустойчивости;
· обеспечение безопасного восстановления;
· туннелирование;
· управление.
Совокупность перечисленных выше сервисов безопасности называют полным набором. Считается, что его, в принципе, достаточно для построения надежной защиты на программно-техническом уровне, правда, при соблюдений целого ряда дополнительных условий (отсутствие уязвимых мест, безопасное администрирование и т. д.).
Для проведения классификации сервисов безопасности и определения их места в общей архитектуре меры безопасности можно разделить на следующие виды:
· превентивные, препятствующие нарушениям ИБ;
· меры обнаружения нарушений;
· локализующие, сужающие зону воздействия нарушений;
· меры по выявлению нарушителя;
· меры восстановления режима безопасности.
Большинство сервисов безопасности попадает в число превентивных. Аудит и контроль целостности способны помочь в обнаружении нарушений; активный аудит, кроме того, позволяет запрограммировать реакцию на нарушение с целью локализации и/или прослеживания. Направленность сервисов отказоустойчивости и безопасного восстановления очевидна. Управление играет инфраструктурную роль, обслуживая все аспекты ИС.
Идентификацию и аутентификацию можно считать основой программно-технических средств безопасности, поскольку остальные сервисы рассчитаны на обслуживание именованных субъектов. Идентификация и аутентификация – это первая линия обороны, «проходная» информационного пространства организации.
Идентификация позволяет субъекту (пользователю, процессу, действующему от имени определенного пользователя, или иному аппаратно-программному компоненту) назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает. В качестве синонима слова «аутентификация» иногда используют словосочетание «проверка подлинности».
Аутентификация бывает односторонней (обычно клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.
В сетевой среде, когда стороны идентификации/аутентификации территориально разнесены, у рассматриваемого сервиса есть два основных аспекта:
· что служит аутентификатором (т. е. используется для подтверждения подлинности субъекта);
· как организован (и защищен) обмен данными идентификации/аутентификации.
· Субъект может подтвердить свою подлинность, предъявив, по крайней мере, одну из следующих сущностей:
· нечто, что он знает (пароль, личный идентификационный номер, криптографический ключ и т. п.);
· нечто, чем он владеет (личную карточку или иное устройство аналогичного назначения);
· нечто, что есть часть его самого (голос, отпечатки пальцев и т. п., т. е. свои биометрические характеристики).
В открытой сетевой среде между сторонами идентификации/аутентификации не существует доверенного маршрута; это значит, что в общем случае данные, переданные субъектом, могут не совпадать с данными, полученными и использованными для проверки подлинности. Необходимо обеспечить защиту от пассивного и активного прослушивания сети, т. е. от перехвата, изменения и/или воспроизведения данных. Передача паролей в открытом виде, очевидно, неудовлетворительна; не спасает положение и шифрование паролей, так как оно не защищает от воспроизведения. Нужны более сложные протоколы аутентификации.
Надежная идентификация и аутентификация затруднена не только из-за сетевых угроз, но и по целому ряду причин. Во-первых, почти все аутентификационные сущности можно узнать, украсть или подделать. Во-вторых, имеется противоречие между надежностью аутентификации, с одной стороны, и удобствами пользователя и системного администратора – с другой. В-третьих, чем надежнее средство защиты, тем оно дороже.
Современные средства идентификации/аутентификации должны поддерживать концепцию единого входа в сеть. Единый вход в сеть – это, в первую очередь, требование удобства для пользователей. Если в корпоративной сети много информационных сервисов, допускающих независимое обращение, то многократная идентификация/аутентификация становится слишком обременительной. К сожалению, пока нельзя сказать, что единый вход в сеть стал нормой, доминирующие решения пока не сформировались.
Парольная аутентификация – проста и уже давно встроена в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности. Тем не менее, по совокупности характеристик их следует признать самым слабым средством проверки подлинности.
Чтобы пароль был запоминающимся, его зачастую делают простым (имя подруги, название спортивной команды и т. п.). Иногда пароли с самого начала не хранятся в тайне, так как имеют стандартные значения, указанные в документации, и далеко не всегда после установки системы производится их смена.
Ввод пароля можно подсмотреть. Иногда для подглядывания используются даже оптические приборы. Пароли нередко сообщают коллегам, чтобы те могли, например, подменить на некоторое время владельца пароля. Пароль можно угадать «методом грубой силы», используя, скажем, словарь. Если файл паролей зашифрован, но доступен для чтения, его можно скачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (предполагается, что алгоритм шифрования известен).
Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты:
· наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т. п.);
· управление сроком действия паролей, их периодическая смена;
· ограничение доступа к файлу паролей;
· ограничение числа неудачных попыток входа в систему (это затруднит применение «метода грубой силы»);
· обучение пользователей;
· использование программных генераторов паролей (программа, основываясь на несложных правилах, порождает только благозвучные и, следовательно, запоминающиеся пароли).
Рассмотренные выше пароли можно назвать многоразовыми; их раскрытие позволяет злоумышленнику действовать от имени легального пользователя. Гораздо более сильным средством, устойчивым к пассивному прослушиванию сети, являются одноразовые пароли.
Наиболее известным программным генератором одноразовых паролей является система S/KEY компании Bellcore. Идея этой системы состоит в следующем. Пусть имеется односторонняя функция f (т. е. функция, вычислить обратную которой за приемлемое время не представляется возможным). Эта функция известна и пользователю, и серверу аутентификации. Пусть, далее, имеется секретный ключ К, известный только пользователю.
На этапе начального администрирования пользователя функция/применяется к ключу К n раз, после чего результат сохраняется на сервере. После этого процедура проверки подлинности пользователя выглядит так:
· сервер присылает на пользовательскую систему число (n - 1);
· пользователь применяет функцию / к секретному ключу К (п - 1) раз и отправляет результат по сети на сервер аутентификации;
· сервер применяет функцию / к полученному от пользователя значению и сравнивает результат с ранее сохраненной величиной. В случае совпадения подлинность пользователя считается установленной, сервер запоминает новое значение (присланное пользователем) и уменьшает на единицу счетчик (я).
Поскольку функция / необратима, перехват пароля, равно как и получение доступа к серверу аутентификации, не позволяют узнать секретный ключ К и предсказать следующий одноразовый пароль.
Система S/KEY имеет статус Internet-стандарта (RFC 1938).
Другой подход к надежной аутентификации состоит в генерации нового пароля через небольшой промежуток времени (например, каждые 60 секунд), для чего могут использоваться программы или специальные интеллектуальные карты. Серверу аутентификации должен быть известен алгоритм генерации паролей и ассоциированные с ним параметры; кроме того, часы клиента и сервера должны быть синхронизированы.
Биометрическая аутентификация представляет собой совокупность автоматизированных методов идентификации и/или аутентификации людей на основе их физиологических и поведенческих характеристик. К числу физиологических характеристик принадлежат особенности отпечатков пальцев, сетчатки и роговицы глаз, геометрия руки и лица и т. п. К поведенческим характеристикам относятся динамика подписи (ручной), стиль работы с клавиатурой. На стыке физиологии и поведения находятся анализ особенностей голоса и распознавание речи.
В общем виде работа с биометрическими данными организована следующим образом. Сначала создается и поддерживается база данных характеристик потенциальных пользователей. Для этого биометрические характеристики пользователя снимаются, обрабатываются, и результат обработки (называемый биометрическим шаблоном) заносится в базу данных (исходные данные, такие как результат сканирования пальца или роговицы, обычно не хранятся).
В дальнейшем для идентификации (и одновременно аутентификации) пользователя процесс снятия и обработки повторяется, после чего производится поиск в базе данных шаблонов. В случае успешного поиска личность пользователя и ее подлинность считаются установленными. Для аутентификации достаточно произвести сравнение с одним биометрическим шаблоном, выбранным на основе предварительно введенных данных.
На наш взгляд, к биометрии следует относиться весьма осторожно. Необходимо учитывать, что она подвержена тем же угрозам, что и другие методы аутентификации.
Во-первых, биометрический шаблон сравнивается не с результатом первоначальной обработки характеристик пользователя, а с тем, что пришло к месту сравнения. А, как известно, за время пути... много чего может произойти. Во-вторых, биометрические методы не более надежны, чем база данных шаблонов. В-третьих, следует учитывать разницу между применением биометрии на контролируемой территории, под бдительным оком охраны, и в «полевых» условиях, когда, например к устройству сканирования роговицы могут поднести муляж и т. п. В-четвертых, биометрические данные человека меняются, так что база шаблонов нуждается в сопровождении, что создает определенные проблемы и для пользователей, и для администраторов.
Но главная опасность состоит в том, что любая «пробоина» для биометрии оказывается фатальной. Пароли, при всей их ненадежности, в крайнем случае можно сменить. Утерянную аутентификационную карту можно аннулировать и завести новую. Палец же, глаз или голос сменить нельзя. Если биометрические данные окажутся скомпрометированы, придется как минимум производить существенную модернизацию всей системы.
1. Общие положения.
Естественным ходом развития информационных технологий явился принципиальный переход от открытости к защищенности при построении информационных систем. На сегодняшний день большинство программных продуктов, применяющихся для построения информационных систем, обладают встроенными средствами защиты.
Данную тенденцию наглядно иллюстрирует развитие ОС MS Windows. Можно четко проследить развитие встроенных в ОС механизмов защиты от Windows 3.1 (где механизмы защиты практически отсутствовали), к Windows NT (где механизмы защиты интегрированы в ядро ОС) и к Windows 2000 (где интеграция захватывает и внешние по отношению к разработчикам технологии защиты, такие как Kerbeios, IP-тунелирование и т. д.). То же самое можно сказать и о других семействах ОС. Например, в ОС FreeBSD в каждой из новых версий появляются новые механизмы защиты (firewall, nat). Такое же развитие средств защиты касается и прикладного программного обеспечения (ПО).
С учетом сказанного возникает ряд вопросов:
Достаточно ли встроенных в современные ОС и приложения механизмов защиты для обеспечения гарантированной защиты информации от НСД?
В предположении, что встроенных механизмов защиты недостаточно, то чем это вызвано?
Почему защищенность компьютерной информации остается недостаточной, несмотря на устойчивую тенденцию к усилению встроенных в современные универсальные ОС и приложения механизмов защиты?
Каким образом следует усиливать встроенные механизмы добавочными средствами защиты?
Какие функции должны обеспечивать и какими характеристиками должны обладать системы встроенной и добавочной защиты, чтобы обеспечить надежное противодействие попыткам НСД?
В предположении, что добавочные механизмы защиты необходимы, каким образом комплексировать в защищаемой вычислительной системе встроенные и добавочные механизмы защиты?
Используемые в настоящее время на практике подходы к защите компьютерной информации определяются следующими характеристиками:
· формализованными требованиями к набору и параметрам механизмов защиты, регламентирующими современные требования к обеспечению компьютерной безопасности;
· реальными механизмами защиты, реализуемыми при защите компьютерной информации (к ним относятся, прежде всего, средства защиты ОС, так как большинство приложений используют встроенные в ОС механизмы защиты);
· существующей статистикой угроз компьютерной безопасности – существующими успешными атаками на информационные компьютерные ресурсы.
Рассмотрим формализованные требования, т. е. требования соответствующих нормативных документов, регламентирующих требования к защите компьютерной информации от несанкционированного доступа. Затем рассмотрим механизмы защиты, реализованные в современных ОС и проанализируем, в какой мере ими выполняются требования соответствующих нормативных документов.
Этот анализ необходим, чтобы определиться с причиной низкой защищенности компьютерной информации. Если встроенные в современные ОС механизмы защиты в полной мере соответствуют формализованным требованиям к ним, то, следовательно, эти требования необходимо усиливать. В противном случае необходимо усиливать механизмы защиты с целью выполнения соответствующих требований.
Следующим шагом будет рассмотрение и анализ существующей статистики угроз компьютерной информации и определение причины уязвимости современных ОС. На основе этого, а также на основе нормативных документов определим дополнительные требования к защите компьютерной информации, которые не выполняются встроенными в ОС механизмами защиты.
Затем рассмотрим непосредственно методы и механизмы, которые должны быть реализованы средствами добавочной защиты в дополнение к встроенным в ОС защитным механизмам. Особое внимание уделим методам и механизмам добавочной защиты, позволяющим функционально расширять встроенные механизмы защиты в предположении возможности потенциальных угроз. Также отдельно будут рассмотрены архитектурные и технические решения по реализации добавочной защиты.
2. Классификация требований к системам защиты.
В общем случае следует говорить о необходимости учета двух (дополняющих друг друга) групп требований к системе защиты.
Первая группа требовании (необходимые требования) заключается в необходимости реализации системой защиты формализованных мер безопасности.
Формализованные требования к необходимым механизмам защиты информационных систем, в части их защиты от НСД, сформулированы в руководящих документах Гостехкомиссии России (ФСТЭК). Для других стран эти требования сформулированы в документах соответствующих организаций, например:
«Оранжевая книга» Критерии оценки надежных компьютерных систем Министерства обороны США;
«Согласованные критерии оценки безопасности информационных технологий» (Information Technology Security Evaluation Criteria, ITSEC, Европейские страны).
При этом отметим, что данные документы носят общий характер. В них не в полной мере предусматривается классификация объектов, для которых должна быть реализована защита. В частности, эти документы предъявляют единые требования для всех семейств ОС. И это несмотря на то, что ОС различных семейств имеют принципиально отличные принципы построения, а значит, для них различаются и способы НСД.
В указанных руководящих документах не дается рекомендаций по способам построения и администрирования защищенных систем, т. е. не сказано, как их строить. В этих документах лишь сформулированы требования к механизмам защиты информации и, отчасти, требования к их количественным характеристикам.
Данный подход к заданию формализованных требований, наверное, в целом оправдан, так как невозможно учесть в нормативных документах все тонкости построения и проектирования средств защиты сложных информационных систем, особенно при существующей динамике их развития.
Формализованные требования носят основополагающий характер – в том смысле, что в них формализованы требования к основополагающим механизмам защиты информации. Поэтому их возможное со временем изменение не может быть сколько-нибудь существенным без появления новых научно обоснованных технологий защиты информации. Само же изменение неизбежно и естественно ввиду меняющейся со временем статистики угроз информационной безопасности.
Вторая группа требований (дополнительные требования) заключается в необходимости учета существующей (текущей) статистики угроз для конкретного типа защищаемого объекта, а также потенциально возможных угроз.
Необходимость этой группы требований обусловлена тем, что формализованные требования не могут учитывать все возможные угрозы объектам всех типов, требующих защиты.
С учетом сказанного может быть сделан вывод о целесообразности рассмотрения условий необходимости и достаточности требований к защите информации. Необходимыми являются формализованные требования, определяемые соответствующими нормативными документами в области защиты информации. Достаточной является совокупность формализованных и дополнительных требований, формулируемых на основе анализа текущей статистики угроз защищаемому объекту, а также потенциально возможных угроз.
3. Формализованные требования к защите информации от НСД. Общие подходы к построению систем защиты компьютерной информации.
Как было сказано ранее, общие подходы в системах защиты целесообразно рассматривать относительно соответствия их принятым формализованным требованиям. Эти требования предъявляются к механизмам защиты, которые в той или иной мере реализуются современными ОС, приложениями и добавочными средствами защиты.
Защиту информации от НСД в нашей стране на сегодняшний день регламентируют нормативные документы Гостехкомиссии РФ:
· требования к защите средств вычислительной техники (СВТ), формализуют условия защищенности отдельно взятого средства – ОС, СУБД, приложения;
· требования к защите автоматизированных систем (АС), формализуют условия защищенности объекта с учетом:
· совокупности механизмов защиты, реализуемых установленными на защищаемом объекте средствами, включая ОС, СУБД, приложениями, добавочными механизмами защиты;
· дополнительные организационные меры, принимаемые для безопасного функционирования АС.
При этом отметим, что, как правило, приложения используют механизмы защиты ОС. Что касается СУБД, то механизмы защиты СУБД дополняют защитные механизмы ОС, так как возникает необходимость защиты дополнительных объектов доступа– «таблиц». И действительно, для ОС защищаемыми файловыми объектами являются: логические диски (тома), каталоги, файлы. При работе с базами данных сложность обусловлена тем, что таблицы различных пользователей, к которым должен разграничиваться доступ, могут находиться в одном файле. Таким образом, получается, что в общем случае невозможно управлять доступом к базам данных только механизмами защиты ОС. Однако это относится только к СУБД. Остальные приложения обычно довольствуются защитными механизмами ОС, т. е. можно сказать, что, как правило, все механизмы защиты автоматизированных систем (АС) по умолчанию реализуются собственно ОС.
В общем случае формализованные требования к обеспечению защиты компьютерной информации от НСД задаются формализованными требованиями к защите СВТ. Однако, в связи с вышесказанным, будем для оценки эффективности защитных механизмов ОС также использовать формализованные требования, применяемые к автоматизированным системам (АС). Это следует делать, потому что именно защитные механизмы ОС призваны обеспечивать необходимый уровень защиты автоматизированной системы (АС) в целом.
Аналогичные рассуждения могут быть проведены и относительно средства добавочной защиты. При этом, во-первых, оно может рассматриваться как отдельное СВТ, выполняющее формализованные требования, при этом встроенные в ОС механизмы защиты не должны рассматриваться; во-вторых, оно может рассматриваться как средство в составе АС (наряду с механизмами ОС, дополняя их). В этом случае встроенные в ОС и добавочные механизмы защиты должны в совокупности выполнять формализованные требования. Кроме того, для определенных классов защиты встроенные механизмы защиты должны быть сертифицированы.
Рассмотрим формализованные требования к защите компьютерной информации АС. При этом будем рассматривать первую группу АС (в соответствии с используемой классификацией), как включающую в себя наиболее распространенные многопользовательские АС, в которых одновременно обрабатывается и/или хранится информация разных уровней конфиденциальности. Причем не все пользователи имеют право доступа ко всей информации АС.
Первая группа АС содержит пять классов – 1Д, 1Г, 1В, 1Б и 1 А. Деление АС на соответствующие классы по условиям их функционирования с точки зрения защиты информации необходимо в целях разработки и применения обоснованных мер по достижению требуемого уровня защиты. Дифференциация подхода к выбору методов и средств защиты определяется важностью обрабатываемой информации, а также различием АС по своему составу, структуре, способам обработки информации, количественному и качественному составу пользователей и обслуживающего персонала. Требования к АС сведены в табл. 4.
Как видно, рассматриваемыми требованиями выделяются следующие основные группы механизмов защиты:
· механизмы управления доступом;
· механизмы регистрации и учета;
· механизмы криптографической защиты;
· механизмы контроля целостности.
Отметим, что первая группа «Подсистема управления доступом» является основополагающей для реализации защиты от НСД, так как именно механизмы защиты данной группы призваны непосредственно противодействовать несанкционированному доступу к компьютерной информации.
Таблица 4.
Требования к защищенности автоматизированных систем


Остальные же группы механизмов реализуются в предположении, что механизмы защиты первой группы могут быть преодолены злоумышленником. В частности, они могут использоваться:
· для контроля действий пользователя – группа «Подсистема регистрации и учета»;
· для противодействия возможности прочтения похищенной информации – группа «Криптографическая подсистема»;
· для контроля осуществленных злоумышленником изменений защищаемых объектов (исполняемых файлов и файлов данных) при осуществлении к ним НСД и для восстановления защищаемой информации из резервных копий – группа «Подсистема обеспечения целостности».
Кроме того, эти группы механизмов могут использоваться для проведения расследования по факту НСД.
Рассмотрим более подробно требования различных групп, а также соответствующие им основные подходы к защите компьютерной информации, реализуемые на сегодняшний день на практике. При этом имеет смысл остановиться лишь на двух классах:
1Г– задающим необходимые (минимальные) требования для обработки конфиденциальной информации;
1В – задающим необходимые (минимальные) требования для обработки информации, являющейся собственностью государства и отнесенной к категории секретной.
Требования к защите конфиденциальной информации.
Подсистема управления доступом должна удовлетворять следующим требованиям:
1. Идентифицировать и проверять подлинность субъектов доступа при входе в систему. Причем это должно осуществляться по идентификатору (коду) и паролю условно-постоянного действия длиной не менее шести буквенно-цифровых символов.
2. Идентифицировать терминалы, ЭВМ, узлы компьютерной сети, каналы связи, внешние устройства ЭВМ по их логическим адресам (номерам).
3. По именам идентифицировать программы, тома, каталоги, файлы, записи и поля записей.
4. Осуществлять контроль доступа субъектов к защищаемым ресурсам в соответствии с матрицей доступа.
Подсистема регистрации и учета должна:
1. Регистрировать вход (выход) субъектов доступа в систему (из системы), либо регистрировать загрузку и инициализацию операционной системы и ее программного останова. При этом в параметрах регистрации указываются:
· дата и время входа (выхода) субъекта доступа в систему (из системы) или загрузки (останова) системы;
· результат попытки входа – успешная или неуспешная (при НСД);
· идентификатор (код или фамилия) субъекта, предъявленный при попытке доступа;
· код или пароль, предъявленный при неуспешной попытке.
Регистрация выхода из системы или останова не проводится в моменты аппаратурного отключения АС.
2. Регистрировать выдачу печатных (графических) документов на «твердую» копию. При этом в параметрах регистрации указываются:
· дата и время выдачи (обращения к подсистеме вывода);
· краткое содержание документа (наименование, вид, код, шифр) и уровень его конфиденциальности;
· спецификация устройства выдачи (логическое имя (номер) внешнего устройства);
· идентификатор субъекта доступа, запросившего документ.
3. Регистрировать запуск (завершение) программ и процессов (заданий, задач), предназначенных для обработки защищаемых файлов. При этом в параметрах регистрации указывается:
· дата и время запуска;
· имя (идентификатор) программы (процесса, задания);
· идентификатор субъекта доступа, запросившего программу (процесс, задание);
· результат запуска (успешный, неуспешный – несанкционированный).
4. Регистрировать попытки доступа программных средств (программ, процессов, задач, заданий) к защищаемым файлам. В параметрах регистрации указывается:
· дата и время попытки доступа к защищаемому файлу с указанием ее результата (успешная, неуспешная – несанкционированная);
· идентификатор субъекта доступа;
· спецификация защищаемого файла.
5. Регистрировать попытки доступа программных средств к следующим дополнительным защищаемым объектам доступа: терминалам, ЭВМ, узлам сети ЭВМ, линиям (каналам) связи, внешним устройствам ЭВМ, программам, томам, каталогам, файлам, записям, полям записей.
При этом в параметрах регистрации указывается:
· дата и время попытки доступа к защищаемому файлу с указанием ее результата: успешная, неуспешная, несанкционированная;
· идентификатор субъекта доступа;
· спецификация защищаемого объекта [логическое имя (номер)].
Проводить учет всех защищаемых носителей информации с помощью их маркировки и с занесением учетных данных в журнал (учетную карточку).
Регистрировать выдачу (приемку) защищаемых носителей.
Осуществлять очистку (обнуление, обезличивание) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей. При этом очистка должна производиться однократной произвольной записью в освобождаемую область памяти, ранее использованную для хранения защищаемых данных (файлов).
Подсистема обеспечения целостности должна:
· Обеспечивать целостность программных средств системы защиты информации от НСД (СЗИ НСД), обрабатываемой информации, а также неизменность программной среды. При этом:
o целостность СЗИ НСД проверяется при загрузке системы по контрольным суммам компонент СЗИ;
o целостность программной среды обеспечивается использованием трансляторов с языка высокого уровня и отсутствием средств модификации объектного кода программ в процессе обработки и (или) хранения защищаемой информации.
· Осуществлять физическую охрану СВТ (устройств и носителей информации). При этом должны предусматриваться контроль доступа в помещение АС посторонних лиц, а также наличие надежных препятствий для несанкционированного проникновения в помещение АС и хранилище носителей информации. Особенно в нерабочее время.
· Проводить периодическое тестирование функций СЗИ НСД при изменении программной среды и персонала АС с помощью тест программ, имитирующих попытки НСД.
· Иметь в наличии средства восстановления СЗИ НСД. При этом предусматривается ведение двух копий программных средств СЗИ НСД, а также их периодическое обновление и контроль работоспособности.
Требования к защите секретной информации.
Подсистема управления доступом должна:
· Идентифицировать и проверять подлинность субъектов доступа при входе в систему. Причем это должно осуществляться по идентификатору (коду) и паролю условно-постоянного действия длиной не менее шести буквенно-цифровых символов.
· Идентифицировать терминалы, ЭВМ, узлы компьютерной сети, каналы связи, внешние устройства ЭВМ по их логическим адресам (номерам).
· По именам идентифицировать программы, тома, каталоги, файлы, записи и поля записей.
· Осуществлять контроль доступа субъектов к защищаемым ресурсам в соответствии с матрицей доступа.
· Управлять потоками информации с помощью меток конфиденциальности. При этом уровень конфиденциальности накопителя должен быть не ниже уровня конфиденциальности записываемой на него информации.
Подсистема регистрации и учета должна:
1. Регистрировать вход (выход) субъектов доступа в систему (из системы) либо регистрировать загрузку и инициализацию операционной системы и ее программного останова. При этом в параметрах регистрации указываются:
· дата и время входа (выхода) субъекта доступа в систему (из системы) или загрузки (останова) системы;
· результат попытки входа – успешная или неуспешная (при НСД);
· идентификатор (код или фамилия) субъекта, предъявленный при попытке доступа;
· код или пароль, предъявленный при неуспешной попытке.
Регистрация выхода из системы или останова не проводится в моменты аппаратурного отключения АС.
2. Регистрировать выдачу печатных (графических) документов на «твердую» копию. Выдача должна сопровождаться автоматической маркировкой каждого листа (страницы) документа порядковым номером и учетными реквизитами АС с указанием на последнем листе документа общего количества страниц. В параметрах регистрации указываются:
· дата и время выдачи (обращения к подсистеме вывода);
· краткое содержание документа (наименование, вид, код, шифр) и уровень его конфиденциальности;
· спецификация устройства выдачи (логическое имя (номер) внешнего устройства);
· идентификатор субъекта доступа, запросившего документ;
· объем фактически выданного документа (количество страниц, листов, копий) и результат выдачи (успешный – весь объем, неуспешный).
3. Регистрировать запуск (завершение) программ и процессов (заданий, задач), предназначенных для обработки защищаемых файлов. В параметрах регистрации указывается:
· дата и время запуска;
· имя (идентификатор) программы (процесса, задания);
· идентификатор субъекта доступа, запросившего программу (процесс, задание);
· результат запуска (успешный, неуспешный – несанкционированный).
4. Регистрировать попытки доступа программных средств (программ, процессов, задач, заданий) к защищаемым файлам. В параметрах регистрации указывается:
· дата и время попытки доступа к защищаемому файлу с указанием ее результата: (успешная, неуспешная – несанкционированная);
· идентификатор субъекта доступа;
· спецификация защищаемого файла;
· имя программы (процесса, задания, задачи), осуществляющих доступ к файлам;
· вид запрашиваемой операции (чтение, запись, удаление, выполнение, расширение и т. п.).
5. Регистрировать попытки доступа программных средств к следующим дополнительным защищаемым объектам доступа: терминалам, ЭВМ, узлам сети ЭВМ, линиям (каналам) связи, внешним устройствам ЭВМ, программам, томам, каталогам, файлам, записям, полям записей. В параметрах регистрации указывается:
· дата и время попытки доступа к защищаемому файлу с указанием ее результата (успешная, неуспешная – несанкционированная);
· идентификатор субъекта доступа;
· спецификация защищаемого объекта [логическое имя (номер)];
· имя программы (процесса, задания, задачи), осуществляющих доступ к файлам;
· вид запрашиваемой операции (чтение, запись, монтирование, захват и т. п.).
6. Регистрировать изменения полномочий субъектов доступа, а также статуса объектов доступа. В параметрах регистрации указывается:
· дата и время изменения полномочий;
· идентификатор субъекта доступа (администратора), осуществившего изменения.
7. Осуществлять автоматический учет создаваемых защищаемых файлов с помощью их дополнительной маркировки, используемой в подсистеме управления доступом. Маркировка должна отражать уровень конфиденциальности объекта.
8. Проводить учет всех защищаемых носителей информации с помощью их маркировки и с занесением учетных данных в журнал (учетную карточку).
9. Проводить учет защищаемых носителей с регистрацией их выдачи (приема) в специальном журнале (картотеке).
10. Проводить несколько видов учета (дублирующих) защищаемых носителей информации.
11. Осуществлять очистку (обнуление, обезличивание) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей. Причем очистка должна осуществляться двукратной произвольной записью в освобождаемую область памяти, ранее использованную для хранения защищаемых данных (файлов).
12. Сигнализировать о попытках нарушения защиты. Подсистема обеспечения целостности должна:
1) Обеспечивать целостность программных средств СЗИ НСД, обрабатываемой информации, а также неизменность программной среды.
При этом:
· целостность СЗИ НСД проверяется при загрузке системы по контрольным суммам компонент СЗИ;
· целостность программной среды обеспечивается использованием трансляторов с языка высокого уровня и отсутствием средств модификации объектного кода программ в процессе обработки и (или) хранения защищаемой информации.
2) Осуществлять физическую охрану СВТ (устройств и носителей информации). При этом должно предусматриваться постоянное наличие охраны на территории здания и помещений, где находится АС. Охрана должна производиться с помощью технических средств охраны и специального персонала, а также с использованием строгого пропускного режима и специального оборудования в помещении АС.
Предусматривать наличие администратора или целой службы защиты информации, ответственных за ведение, нормальное функционирование и контроль работы СЗИ НСД. Администратор должен иметь свой терминал и необходимые средства оперативного контроля и воздействия на безопасность АС.
Проводить периодическое тестирование функций СЗИ НСД при изменении программной среды и персонала АС с помощью специальных программных средств не реже одного раза в год.
Иметь в наличии средства восстановления СЗИ НСД, предусматривающие ведение двух копий программных средств СЗИ НСД и их периодическое обновление и контроль работоспособности.
Использовать только сертифицированные средства защиты. Их сертификацию проводят специальные сертификационные центры или специализированные предприятия, имеющие лицензию на проведение сертификации средств защиты СЗИ НСД.
4. Различия требований и основополагающих механизмов защиты от НСД.
Сравним две рассмотренные группы требований и их особенности для защиты информации различных категорий (конфиденциальной и секретной). Ясно, что ключевыми механизмами защиты, образующими основную группу механизмов защиты от НСД («Подсистема управления доступом») являются:
· идентификация и проверка подлинности субъектов доступа при входе в систему по идентификатору (коду) и паролю условно-постоянного действия;
· контроль доступа субъектов к защищаемым ресурсам в соответствии с матрицей доступа.
Дополнительным требованием и принципиальным отличием при защите секретной информации является то, что механизмом защиты должно осуществляться управление потоками информации с помощью меток конфиденциальности. При этом уровень конфиденциальности накопителя должен быть не ниже уровня конфиденциальности записываемой на него информации.
Все три перечисленных механизма являются основополагающими. Связаны они следующим образом: все права доступа к ресурсам (разграничительная политика доступа к ресурсам) задаются для конкретного субъекта доступа (пользователя). Поэтому субъект доступа (пользователь) должен быть идентифицирован при входе в систему, соответственно, должна быть проконтролирована его подлинность (аутентичность). Реализацию основ защиты компьютерной информации от НСД – разграничительную политику доступа к ресурсам осуществляют механизмы контроля доступа.
Следуя формализованным требованиям к системе защиты информации, основу реализации разграничительной политики доступа к ресурсам при обработке сведений конфиденциального характера является дискреционный механизм управления доступом. При этом реализуется дискреционная модель доступа к ресурсам.
Принципы организации и функционирования этой модели основаны на том, что права доступа задаются матрицей доступа, элементами которой являются разрешенные права доступа субъекта к объекту. Что касается контроля доступа, то он осуществляется непосредственно путем анализа прав доступа к объекту запрашивающего доступ субъекта. При этом анализируется, есть ли в матрице информация о разрешении доступа данного субъекта к данному объекту, или нет.
При защите секретной информации в основе разграничительной политики доступа (РПД) к ресурсам должен лежать помимо дискреционного (дискреционная модель управления доступом), мандатный механизм управления доступом (мандатная модель управления доступом).
В рамках мандатного механизма каждому субъекту (пользователю, приложению и т. д.) и каждому объекту (файлу, каталогу и т. д.) ставятся в соответствие специальные классификационные метки. Посредством этих меток субъектам и объектам назначаются классификационные уровни (уровни уязвимости, категории секретности и т. п.), являющиеся комбинациями иерархических и неиерархических категорий. Сам контроль и управление доступом осуществляется путем сопоставления классификационных меток субъекта и объекта доступа, отражающих их место в соответствующей иерархии. В общих чертах в этом и заключается мандатный механизм управления доступом, т. е. право доступа дается на основе сравнения меток объекта и субъекта. При этом, чтобы субъект получил доступ к объекту, его уровень конфиденциальности должен быть не ниже уровня конфиденциальности объекта.
Требования к практической реализации дискретного и мандатного механизмов управления доступом тесно связаны с требованиями к обеспечению целостности и очистки памяти.
Для системы защиты выполнение требования «Должна быть обеспечена целостность программных средств системы защиты информации от НСД (СЗИ НСД), обрабатываемой информации, а также замкнутость программной среды» обеспечивает возможность противодействия скрытым
действиям пользователей, направленных на получение НСД к информации в обход РПД. При этом не важно, чем будет пользоваться потенциальный нарушитель – программами собственной разработки, всевозможными отладочными средствами или иным ПО.
Требование к очистке памяти «Должна осуществляться очистка (обнуление, обезличивание) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей. Очистка осуществляется двукратной произвольной записью в освобождаемую область памяти, ранее использованную для хранения защищаемых данных (файлов)» обусловливает невозможность доступа пользователя к остаточной информации. Его необходимость вызвана тем, что при удалении файла на внешнем накопителе системными средствами осуществляется изменение разметки накопителя, но собственно информация остается. Она так и называется «остаточная информация». При этом ввиду того, что остаточная информация уже не является объектом доступа (она соответствующим образом не размечена на диске – не является файлом), дискреционный и мандатный механизмы контроля доступа не могут осуществлять РПД к этой информации. А это значит, что доступ к ней может быть осуществлен в обход подсистемы управления доступом.
1. Охарактеризуйте подходы к обеспечению компьютерной безопасности.
2. Перечислите основные и вспомогательные сервисы безопасности, дайте их классификацию.
3. Дайте характеристику групп требований к системе защиты.
4. Перечислите основные требования к защите конфиденциальной информации.
5. Перечислите основные требования к защите секретной информации.
6. Опишите основные различия требований и механизмов защиты от НСД для конфиденциальной и секретной информации.
Цели и задачи:
Цели и задачи изучения данной темы - получение общетеоретических знаний по теме. Серьезное и целенаправленное изучение данной темы познакомит студентов с аспектами применения в научно-теоретических исследованиях и на практике полученных теоретических знаний, а также с основами понятийного аппарата изучаемой дисциплины. В результате успешного изучения темы студент приобрет профессиональные компетенции в соответствии с требованиями ГОС ВПО.
Операционная система есть специально организованная совокупность программ, которая управляет ресурсами системы (ЭВМ, вычислительной системы, других компонентов ИВС) с целью наиболее эффективного их использования и обеспечивает интерфейс пользователя с ресурсами.
Операционные системы, подобно аппаратуре ЭВМ, на пути своего развития прошли несколько поколений.
ОС первого поколения были направлены на ускорение и упрощение перехода с одной задачи пользователя на другую задачу (другого пользователя), что поставило проблему обеспечения безопасности данных, принадлежащих разным задачам.
Второе поколение ОС характеризовалось наращиванием программных средств обеспечения операций ввода-вывода и стандартизацией обработки прерываний.
Надежное обеспечение безопасности данных в целом осталось нерешенной проблемой.
К концу 60-х гг. XX в. начал осуществляться переход к мультипроцессорной организации средств ВТ, поэтому проблемы распределения ресурсов и их защиты стали более острыми и трудноразрешимыми. Решение этих проблем привело к соответствующей организации ОС и широкому применению аппаратных средств защиты (защита памяти, аппаратный контроль, диагностика и т. п.).
Основной тенденцией развития вычислительной техники была и остается идея максимальной доступности ее для пользователей, что входит в противоречие с требованием обеспечения безопасности данных.
Под механизмами защиты ОС будем понимать все средства и механизмы защиты данных, функционирующие в составе ОС. Операционные системы, в составе которых функционируют средства и механизмы защиты данных, часто называют защищенными системами.
Под безопасностью ОС будем понимать такое состояние ОС, при котором невозможно случайное или преднамеренное нарушение функционирования ОС, а также нарушение безопасности находящихся под управлением ОС ресурсов системы. Укажем следующие особенности ОС, которые позволяют выделить вопросы обеспечения безопасности ОС в особую категорию:
· управление всеми ресурсами системы;
· наличие встроенных механизмов, которые прямо или косвенно влияют на безопасность программ и данных, работающих в среде ОС;
· обеспечение интерфейса пользователя с ресурсами системы;
· размеры и сложность ОС.
Большинство ОС обладают дефектами с точки зрения обеспечения безопасности данных в системе, что обусловлено выполнением задачи обеспечения максимальной доступности системы для пользователя.
Рассмотрим типовые функциональные дефекты ОС, которые могут привести к созданию каналов утечки данных.
Идентификация. Каждому ресурсу в системе должно быть присвоено уникальное имя – идентификатор.
Во многих системах пользователи не имеют возможности удостовериться в том, что используемые ими ресурсы действительно принадлежат системе.
Пароли. Большинство пользователей выбирают простейшие пароли, которые легко подобрать или угадать.
Список паролей. Хранение списка паролей в незашифрованном виде дает возможность его компрометации с последующим НСД к данным.
Пороговые значения. Для предотвращения попыток несанкционированного входа в систему с помощью подбора пароля необходимо ограничить число таких попыток, что в некоторых ОС не предусмотрено.
Подразумеваемое доверие. Во многих случаях программы ОС считают, что другие программы работают правильно.
Общая память. При использовании общей памяти не всегда после выполнения программ очищаются участки оперативной памяти (ОП).
Разрыв связи. В случае разрыва связи ОС должна немедленно закончить сеанс работы с пользователем или повторно установить подлинность субъекта.
Передача параметров по ссылке, а не по значению (при передаче параметров по ссылке возможно сохранение параметров в ОП после проверки их корректности, нарушитель может изменить эти данные до их использования).
Система может содержать много элементов (например, программ), имеющих различные привилегии.
Основной проблемой обеспечения безопасности ОС является проблема создания механизмов контроля доступа к ресурсам системы. Процедура контроля доступа заключается в проверке соответствия запроса субъекта предоставленным ему правам доступа к ресурсам. Кроме того, ОС содержит вспомогательные средства защиты, такие как средства мониторинга, профилактического контроля и аудита. В совокупности механизмы контроля доступа и вспомогательные средства защиты образуют механизмы управления доступом.[3]
Средства профилактического контроля необходимы для отстранения пользователя от непосредственного выполнения критичных с точки зрения безопасности данных операций и передачи этих операций под контроль ОС. Для обеспечения безопасности данных работа с ресурсами системы осуществляется с помощью специальных программ ОС, доступ к которым ограничен.
Средства мониторинга осуществляют постоянное ведение регистрационного журнала, в который заносятся записи о всех событиях в системе. В ОС могут использоваться средства сигнализации о НСД, которые используются при обнаружении нарушения безопасности данных или попыток нарушения.
Контроль доступа к данным. При создании механизмов контроля доступа необходимо, прежде всего, определить множества субъектов и объектов доступа. Субъектами могут быть, например, пользователи, задания, процессы и процедуры. Объектами – файлы, программы, семафоры, директории, терминалы, каналы связи, устройства, блоки ОП и т. д. Субъекты могут одновременно рассматриваться и как объекты, поэтому у субъекта могут быть права на доступ к другому субъекту. В конкретном процессе в данный момент времени субъекты являются активными элементами, а объекты – пассивными.
Для осуществления доступа к объекту субъект должен обладать соответствующими полномочиями. Полномочие есть некий символ, обладание которым дает субъекту определенные права доступа по отношению к объекту, область защиты определяет права доступа некоторого субъекта ко множеству защищаемых объектов и представляет собой совокупность всех полномочий данного субъекта.
При функционировании системы необходимо иметь возможность создавать новые субъекты и объекты. При создании объекта одновременно создается и полномочие субъектов по использованию этого объекта. Субъект, создавший такое полномочие, может воспользоваться им для осуществления доступа к объекту или же может создать несколько копий полномочия для передачи их другим субъектам.
С традиционной точки зрения средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты (пользователи и процессы) могут выполнять над объектами (информацией и другими компьютерными ресурсами). В данном разделе речь пойдет о логическом управлении доступом, которое, в отличие от физического, реализуется программными средствами. Логическое управление доступом – это основной механизм многопользовательских систем, призванный обеспечить конфиденциальность и целостность объектов и, до некоторой степени, их доступность (путем запрещения обслуживания неавторизованных пользователей).
Рассмотрим формальную постановку задачи в традиционной трактовке. Имеется совокупность субъектов и набор объектов. Задача логического управления доступом состоит в том, чтобы для каждой пары «субъект-объект» определить множество допустимых операций и контролировать выполнение установленного порядка.
Отношение «субъекты-объекты» можно представить в виде матрицы доступа, в строках которой перечислены субъекты, в столбцах – объекты, а в клетках, расположенных на пересечении строк и столбцов, записаны дополнительные условия (например, время и место действия) и разрешенные виды доступа. Фрагмент матрицы может выглядеть, например, как показано в табл. 5.
Таблица 5.
Фрагмент матрицы доступа
|
|
Файл |
Программа |
Линия связи |
Реляционная таблица |
|
Пользователь 1 |
orw с системной консоли |
e |
rw с 8:00 до 18:00 |
|
|
Пользователь 2 |
|
|
|
a |
Обозначение: «o» – разрешение на передачу прав доступа другим пользователям, «r» – чтение, «w» – запись, «e» – выполнение, «a» – добавление информации.
Тема логического управления доступом – одна из сложнейших в области информационной безопасности. Дело в том, что само понятие объекта (а тем более видов доступа) меняется от сервиса к сервису. Для операционной системы к объектам относятся файлы, устройства и процессы. Применительно к файлам и устройствам обычно рассматриваются права на чтение, запись, выполнение (для программных файлов), иногда на удаление и добавление. Отдельным правом может быть возможность передачи полномочий доступа другим субъектам (так называемое право владения). Процессы можно создавать и уничтожать.
Современные операционные системы могут поддерживать и другие объекты.
Для систем управления реляционными базами данных[4] объект – это база данных, таблица, представление, хранимая процедура. К таблицам применимы операции поиска, добавления, модификации и удаления данных, у других объектов. В результате при задании матрицы доступа нужно принимать во внимание не только принцип распределения привилегий для каждого сервиса, но и существующие связи между сервисами (приходится заботиться о согласованности разных частей матрицы). Аналогичная трудность возникает при экспорте/импорте данных, когда информация о правах доступа, как правило, теряется (поскольку на новом сервисе она не имеет смысла). Следовательно, обмен данными между различными сервисами представляет особую опасность с точки зрения управления доступом, а при проектировании и реализации разнородной конфигурации необходимо позаботиться о согласованном распределении прав доступа субъектов к объектам и о минимизации числа способов экспорта/импорта данных.
Матрицу доступа, ввиду ее разреженности (большинство клеток– пустые), неразумно хранить в виде двухмерного массива. Обычно ее хранят по столбцам, т. е. для каждого объекта поддерживается список «допущенных» субъектов вместе с их правами. Элементами списков могут быть имена групп и шаблоны субъектов, что служит большим подспорьем администратору. Некоторые проблемы возникают только при удалении субъекта, когда приходится удалять его имя из всех списков доступа; впрочем, эта операция производится нечасто.
Списки доступа – исключительно гибкое средство. С их помощью легко выполнить требование о гранулярности прав с точностью до пользователя. Посредством списков несложно добавить права или явным образом запретить доступ (например, чтобы наказать нескольких членов группы пользователей). Безусловно, списки являются лучшим средством произвольного управления доступом.
Подавляющее большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Основное достоинство произвольного управления – гибкость. К сожалению, у «произвольного» подхода есть ряд недостатков. Рассредоточенность управления доступом ведет к тому, что доверенными должны быть многие пользователи, а не только системные операторы или администраторы. Из-за рассеянности или некомпетентности сотрудника, владеющего секретной информацией, эту информацию могут узнать и все остальные пользователи. Следовательно, произвольность управления должна быть дополнена жестким контролем за реализацией избранной политики безопасности.
Второй недостаток, который представляется основным, состоит в том, что права доступа существуют отдельно от данных. Ничто не мешает пользователю, имеющему доступ к секретной информации, записать ее в доступный всем файл или заменить полезную утилиту ее «троянским» аналогом. Подобная «разделенность» прав и данных существенно осложняет проведение несколькими системами согласованной политики безопасности и, главное, делает практически невозможным эффективный контроль согласованности.
Возвращаясь к вопросу представления матрицы доступа, укажем, что для этого можно использовать также функциональный способ, когда матрицу не хранят в явном виде, а каждый раз вычисляют содержимое соответствующих клеток. Например, при принудительном управлении доступом применяется сравнение меток безопасности субъекта и объекта.
Удобной надстройкой над средствами логического управления доступом является ограничивающий интерфейс, когда пользователя лишают самой возможности попытаться совершить несанкционированные действия, включив в число видимых ему объектов только те, к которым он имеет доступ. Подобный подход обычно реализуют в рамках системы меню (пользователю показывают лишь допустимые варианты выбора) или посредством ограничивающих оболочек, таких как restricted shell в ОС Unix.
При принятии решения о предоставлении доступа обычно анализируется следующая информация:
1) идентификатор субъекта (идентификатор пользователя, сетевой адрес компьютера и т. п.). Подобные идентификаторы являются основой произвольного (или дискреционного) управления доступом;
2) атрибуты субъекта (метка безопасности, группа пользователя и т. п.). Метки безопасности – основа мандатного управления доступом.
Непосредственное управление правами доступа осуществляется на основе одной из моделей доступа:
· матричной модели доступа (модель Харрисона – Руззо–Ульмана);
· многоуровневой модели доступа (модель Белла – Лападулы).
Разработка и практическая реализация различных защищенных ОС привела Харрисона, Руззо и Ульмана к построению формальной модели защищенных систем. Схема модели Харрисона, Руззо и Ульмана (HRU-модели) приведена на рис. 8.

Рис. 8. Схема модели Харрисона, Руззо и Ульмана
1. Анализ выполнения современными ОС формализованных требований к защите информации от НСД.
Анализировать выполнение современными универсальными ОС требований, задаваемых для класса защищенности AC 1В, не имеет смысла в принципе. Для большинства ОС либо полностью не реализуется основной для данных приложений мандатный механизм управления доступом к ресурсам, либо не выполняется его важнейшее требование «Должно осуществляться управление потоками информации с помощью меток конфиденциальности.
При этом уровень конфиденциальности накопителя должен быть не ниже уровня конфиденциальности записываемой на него информации». В связи с этим далее будем говорить лишь о возможном соответствии средств защиты современных ОС классу АС 1Г (защита конфиденциальной информации).
В качестве альтернативных реализаций ОС рассмотрим семейства Unix и Windows (естественно, Windows NT/2000, так как о встроенных механизмах защиты ОС Windows 9х/ Me говорить вообще не приходится).
Сначала остановимся на принципиальном, даже, можно сказать, концептуальном противоречии между реализованными в ОС механизмами защиты и принятыми формализованными требованиями. Концептуальном в том смысле, что это противоречие характеризует не какой-либо один механизм защиты, а общий подход к построению системы защиты.
Противоречие состоит в принципиальном различии подходов (соответственно требований) к построению схемы администрирования механизмов защиты и, как следствие, это коренным образом сказывается на формировании общих принципов задания и реализации политики безопасности в организации, распределения ответственности за защиту информации, а также на определении того, кого относить к потенциальным злоумышленникам (от кого защищать информацию).
Для иллюстрации из совокупности формализованных требований к системе защиты конфиденциальной информации рассмотрим следующие два требования:
· право изменять правила разграничения доступа (ПРД) должно предоставляться выделенным субъектам (администрации, службе безопасности и т. д.);
· должны быть предусмотрены средства управления, ограничивающие распространения прав на доступ.
Данные требования жестко регламентируют схему (или модель) администрирования механизмов защиты. Это должна быть централизованная схема, единственным элементом которой выступает выделенный субъект, в частности, администратор (администратор безопасности). При этом конечный пользователь исключен в принципе из схемы администрирования механизмов защиты.
При реализации концепции построения системы защиты, регламентируемой рассматриваемыми требованиями, пользователь не наделяется элементом доверия, так как он может считаться потенциальным злоумышленником, что и имеет место на практике.
Теперь в общих чертах рассмотрим концепцию, реализуемую в современных универсальных ОС. Здесь «владельцем» файлового объекта, т. е. лицом, получающим право на задание атрибутов (или ПРД) доступа к файловому объекту, является лицо, создающее файловый объект. Так как файловые объекты создают конечные пользователи, то именно они и назначают ПРД к создаваемым им файловым объектам. Другими словами, в ОС реализуется распределенная схема назначения ПРД, где элементами схемы администрирования являются собственно конечные пользователи.
В данной схеме пользователь должен наделяться практически таким же доверием, как и администратор безопасности, при этом нести наряду с ним ответственность за обеспечение компьютерной безопасности. Отметим, что данная концепция реализуется и большинством современных приложений, в частности СУБД, где пользователь может распространять свои права на доступ к защищаемым ресурсам. Кроме того, не имея в полном объеме механизмов защиты компьютерной информации от конечного пользователя, в рамках данной концепции невозможно рассматривать пользователя в качестве потенциального злоумышленника. А как мы увидим далее, именно с несанкционированными действиями пользователя на защищаемом компьютере (причем как сознательными, так и нет) связана большая часть угроз компьютерной безопасности.
Отметим, что централизованная и распределенная схемы администрирования – это две диаметрально противоположные точки зрения на защиту, требующие совершенно различных подходов к построению моделей и механизмов защиты. При этом сколько-нибудь гарантированную защиту информации можно реализовать только при принятии концепции полностью централизованной схемы администрирования, что подтверждается известными угрозами ОС.
Возможности моделей, методов и средств защиты будем рассматривать применительно к реализации именно концепции централизованного администрирования. Одним из элементов данной концепции является рассмотрение пользователя в качестве потенциального злоумышленника, способного осуществить НСД к защищаемой информации.
2. Основные встроенные механизмы защиты ОС и их недостатки.
Кратко остановимся на основных механизмах защиты, встроенных в современные универсальные ОС. Сделаем это применительно к возможности реализации ими принятой нами для рассмотрения концепции защиты конфиденциальной информации.
Основные защитные механизмы ос семейства Unix.
Защита ОС семейства Unix в общем случае базируется на трех основных механизмах:
· идентификация и аутентификация пользователя при входе в систему;
· разграничении прав доступа к файловой системе, в основе которого лежит реализация дискреционной модели доступа;
· аудит, т. е. регистрация событий.
При этом отметим, что для различных клонов ОС семейства Unix возможности механизмов защиты могут незначительно различаться, однако будем рассматривать ОС Unix в общем случае, без учета некоторых незначительных особенностей отдельных ОС этого семейства.
Построение файловой системы и разграничение доступа к файловым объектам имеет особенности, присущие данному семейству ОС. Рассмотрим кратко эти особенности. Все дисковые накопители (тома) объединяются в единую виртуальную файловую систему путем операции монтирования тома. При этом содержимое тома проецируется на выбранный каталог файловой системы. Элементами файловой системы являются также все устройства, подключаемые к защищаемому компьютеру (монтируемые к файловой системе). Поэтому разграничение доступа к ним осуществляется через файловою систему.
Каждый файловый объект имеет индексный дескриптор, в котором среди прочего хранится информация о разграничении доступа к данному файловому объекту. Права доступа делятся на три категории: доступ для владельца, доступ для группы и доступ для остальных пользователей. В каждой категории определяются права на чтение, запись и исполнение (в случае каталога – просмотр).
Пользователь имеет уникальные символьный идентификатор (имя) и числовой идентификатор (UID)[5]. Символьный идентификатор предъявляется пользователем при входе в систему, числовой используется операционной системой для определения прав пользователя в системе (доступ к файлам и т. д.).
Принципиальные недостатки защитных механизмов ОС семейства Unix. Рассмотрим в общем случае недостатки реализации системы защиты ОС семейства Unix в части невыполнения требований к защите конфиденциальной информации, напрямую связанные с возможностью НСД к информации.
Для начала отметим, что в ОС семейства Unix, вследствие реализуемой ею концепции администрирования (не централизованная), невозможно обеспечить замкнутость (или целостность) программной среды. Это связано с невозможностью установки атрибута «исполнение» на каталог (для каталога данный атрибут ограничивает возможность «обзора» содержимого каталога). Поэтому при разграничении администратором доступа пользователей к каталогам, пользователь, как «владелец» создаваемого им файла, может занести в свой каталог исполняемый файл и, как его «владелец», установить на файл атрибут «исполнение», после чего запустить записанную им программу. Эта проблема непосредственно связана с реализуемой в ОС концепцией защиты информации.
Не в полном объеме реализуется дискреционная модель доступа, в частности, не могут разграничиваться права доступа для пользователя «root» (UID = 0), т. е. данный субъект доступа исключается из схемы управления доступом к ресурсам. Соответственно все запускаемые им процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности:
· несанкционированное получение прав root[6];
· запуск с правами root собственного исполняемого файла (локально либо удаленно внедренного), при этом несанкционированная программа получает полный доступ к защищаемым ресурсам и т. д.
Кроме того, в ОС семейства Unix невозможно встроенными средствами гарантированно удалять остаточную информацию. Для этого в системе абсолютно отсутствуют соответствующие механизмы.
Необходимо также отметить, что большинство ОС данного семейства не обладают возможностью контроля целостности файловой системы, т. е. не содержат соответствующих встроенных средств. В лучшем случае дополнительными утилитами может быть реализован контрольных файлов ОС по расписанию в то время, как важнейшей возможностью данного механизма можно считать контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и т. д.
Что касается регистрации (аудита), то в ОС семейства Unix не обеспечивается регистрация выдачи документов на «твердую копию», а также некоторые другие требования к регистрации событий.
Если же трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС необходимо управление доступом к узлам сети. Однако встроенными средствами зашиты некоторых ОС семейства Unix управление доступом к узлам не реализуется.
Из приведенного анализа видно, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, большинством ОС семейства Unix не реализуется в принципе, либо реализуется лишь частично.
Основные защитные механизмы ОС семейства Windows (NT/2000/XP).
Теперь кратко остановимся на основных механизмах защиты, реализованных в ОС семейства Windows, и проведем анализ защищенности ОС семейства Windows (NT/2000). Отметим, что здесь ряд объектов доступа (в частности, устройства, реестр ОС и т. д.) не являются объектами файловой системы. Поэтому возникает вопрос, как следует трактовать требование «Система защиты должна контролировать доступ наименованных субъектов (пользователей) к наименованным объектам (файлам, программам, томам и т. д.)». Не ясно, являются ли объектами доступа, к которым, следуя формальным требованиям, необходимо разграничивать доступ пользователей, например, реестр ОС и т. д.
В отличие от семейства ОС Unix, где все задачи разграничительной политики доступа к ресурсам решаются средствами управления доступом к объектам файловой системы, доступ в данных ОС разграничивается собственным механизмом для каждого ресурса. Другими словами, при рассмотрении механизмов защиты ОС Windows встает задача определения и задания требований к полноте разграничений (это определяется тем, что считать объектом доступа).
Также, как и для семейства ОС Unix, здесь основными механизмами защиты являются:
· идентификация и аутентификация пользователя при входе в систему;
· разграничение прав доступа к ресурсам, в основе которого лежит реализация дискреционной модели доступа (отдельно к объектам файловой системы, к устройствам, к реестру ОС, к принтерам и др.);
· аудит, т. е. регистрация событий.
Здесь явно выделяются (в лучшую сторону) возможности разграничений прав доступа к файловым объектам (для NTFS) – существенно расширены атрибуты доступа, устанавливаемые на различные иерархические объекты файловой системы (логические диски, каталоги, файлы). В частности, атрибут «исполнение» может устанавливаться и на каталог, тогда он наследуется соответствующими файлами.
При этом существенно ограничены возможности управления доступом к другим защищаемым ресурсам, в частности, к устройствам ввода. Например, здесь отсутствует атрибут «исполнение», т. е. невозможно запретить запуск несанкционированной программы с устройств ввода.
Принципиальные недостатки защитных механизмов ОС семейства Windows (NTI2000IXP). Прежде всего, рассмотрим принципиальные недостатки защиты ОС семейства Windows, напрямую связанные с возможностью НСД к информации. При этом в отличие от ОС семейства Unix в ОС Windows невозможна в общем случае реализация централизованной схемы администрирования механизмов защиты или соответствующих формализованных требований. Вспомним, что в ОС Unix это распространялось лишь на запуск процессов. Связано это с тем, что в ОС Windows принята иная концепция реализации разграничительной политики доступа к ресурсам (для NTFS).
В рамках этой концепции разграничения для файла приоритетнее, чем для каталога, а в общем случае – разграничения для включаемого файлового объекта приоритетнее, чем для включающего. Это приводит к тому, что пользователь, создавая файл и являясь его «владельцем», может назначить любые атрибуты доступа к такому файлу (т. е. разрешить к нему доступ любому иному пользователю). Обратиться к этому файлу может пользователь (которому назначил права доступа «владелец») вне зависимости от установленных администратором атрибутов доступа на каталог, в котором пользователь создает файл. Данная проблема непосредственно связана с реализуемой в ОС Windows концепцией защиты информации.
Далее, в ОС семейства Windows (NT/2000/XP) не в полном объеме реализуется дискреционная модель доступа, в частности, не могут разграничиваться права доступа для пользователя «Система». В ОС присутствуют не только пользовательские, но и системные процессы, которые запускаются непосредственно системой. При этом доступ системных процессов не может быть разграничен. Соответственно, все запускаемые системные процессы имеют неограниченный доступ к защищаемым ресурсам. С этим недостатком системы защиты связано множество атак, в частности, несанкционированный запуск собственного процесса с правами системного. Кстати, это возможно и вследствие некорректной реализации механизма обеспечения замкнутости программной среды.
В ОС семейства Windows (NT/2000/XP) невозможно в общем случае обеспечить замкнутость (или целостность) программной среды. Это связано совершено с иными проблемами, чем в ОС семейства Unix, в которых невозможно установить атрибут «исполнение» на каталог. Для выяснения сложности данного вопроса рассмотрим два способа, которыми в общем случае можно реализовать данный механизм, причем оба способа несостоятельны. Итак, механизм замкнутости программной среды в общем случае может быть обеспечен:
· заданием списка разрешенных к запуску процессов с предоставлением возможности пользователям запускать процессы только из этого списка. При этом процессы задаются полнопутевыми именами, причем средствами разграничения доступа обеспечивается невозможность их модернизации пользователем. Данный подход просто не реализуется встроенными в ОС механизмами;
· разрешением запуска пользователями программ только из заданных каталогов при невозможности модернизации этих каталогов. Одним из условий корректной реализации данного подхода является запрет пользователям запуска программ иначе, чем из соответствующих каталогов. Некорректность реализации ОС Windows данного подхода связана с невозможностью установки атрибута «исполнение» на устройства ввода (дисковод или CD-ROM). В связи с этим при разграничении доступа пользователь может запустить несанкционированную программу с диске-ты, либо с диска CD-ROM (очень распространенная атака на ОС данного семейства).
Здесь же стоит отметить, что с точки зрения обеспечения замкнутости программной среды [т. е. реализации механизма, обеспечивающего возможность пользователям запускать только санкционированные процессы (программы)] действия пользователя по запуску процесса могут быть как явными, так и скрытыми.
Явные действия предполагают запуск процессов (исполняемых файлов), которые однозначно идентифицируются своим именем. Скрытые действия позволяют осуществлять встроенные в приложения интерпретаторы команд.
Примером таковых могут служить офисные приложения. При этом скрытыми действиями пользователя будет запуск макроса.
В данном случае идентификации подлежит лишь собственно приложение, например, процесс winword.exe. При этом он может помимо своих регламентированных действий выполнять те скрытые действия, которые задаются макросом (соответственно, те, которые допускаются интерпретатором), хранящимся в открываемом документе. То же относится и к любой виртуальной машине, содержащей встроенный интерпретатор команд. При этом отметим, что при использовании приложений, имеющих встроенные интерпретаторы команд (в том числе офисных приложений), не в полном объеме обеспечивается выполнение требования по идентификации программ.
Возвращаясь к обсуждению недостатков, отметим, что в ОС семейства Windows (NT72000/XP) невозможно встроенными средствами гарантированно удалять остаточную информацию. В системе просто отсутствуют соответствующие механизмы.
Кроме того, ОС семейства Windows (NT/2000/XP) не обладают в полном объеме возможностью контроля целостности файловой системы. Встроенные механизмы системы позволяют контролировать только собственные системные файлы, не обеспечивая контроль целостности файлов пользователя. Кроме того, они не решают важнейшую задачу данных механизмов – контроль целостности программ (приложений) перед их запуском, контроль файлов данных пользователя и др.
Что касается регистрации (аудита), то в ОС семейства Windows (NT/2000/XP) не обеспечивается регистрация выдачи документов на «твердую копию», а также некоторые другие требования к регистрации событий.
Опять же, если трактовать требования к управлению доступом в общем случае, то при защите компьютера в составе ЛВС необходимо управление доступом к узлам сети (распределенный пакетный фильтр). В ОС семейства Windows (NT/2000/XP) механизм управления доступа к узлам в полном объеме не реализуется.
Что касается разделяемых сетевых ресурсов, то фильтрации подвергается только входящий доступ к разделяемому ресурсу а запрос доступа на компьютере, с которого он осуществляется, фильтрации не подлежит. Это принципиально, так как не могут подлежать фильтрации приложения, которыми пользователь осуществляет доступ к разделяемым ресурсам. Благодаря этому, очень распространенными являются атаки на протокол NETBIOS.
Кроме того, в полном объеме управлять доступом к разделяемым ресурсам возможно только при установленной на всех компьютерах ЛВС файловой системы NTFS. В противном случае невозможно запретить запуск несанкционированной программы с удаленного компьютера, т. е. обеспечить замкнутость программной среды в этой части.
Из приведенного анализа можно видеть, что многие механизмы, необходимые с точки зрения выполнения формализованных требований, ОС семейства Windows не реализуют в принципе, либо реализуют лишь частично.
С учетом сказанного можем сделать важный вывод относительно того, что большинством современных универсальных ОС не выполняются в полном объеме требования к защите АС по классу 1 Г. Это значит, что, учитывая требования нормативных документов, они не могут без использования добавочных средств защиты применяться для защиты даже конфиденциальной информации. При этом следует отметить, что основные проблемы защиты здесь вызваны не невыполнимостью ОС требований к отдельным механизмам защиты, а принципиальными причинами, обусловленными реализуемой в ОС концепцией защиты. Концепция эта основана на реализации распределенной схемы администрирования механизмов защиты, что само по себе является невыполнением формализованных требований к основным механизмам защиты.
3. Анализ существующей статистики угроз для современных универсальных ОС. Семейства ОС и общая статистика угроз.
На сегодняшний день существует достаточно большая статистика угроз ОС, направленных на преодоление встроенных в ОС механизмов защиты, позволяющих изменить настройки механизмов безопасности, обойти разграничения доступа и т. д. Таким образом, статистика фактов НСД к информации показывает, что большинство распространенных систем (универсального назначения) довольно уязвимы с точки зрения безопасности. И это несмотря на отчетливую тенденцию к повышению уровня защищенности этих систем.
Здесь необходимо отметить, что на практике современные информационные системы, предназначенные для обработки конфиденциальной информации, строятся уже с учетом дополнительных мер безопасности, что также косвенно подтверждает изначальную уязвимость современных ОС.
Рассмотрим операционные системы, фигурирующие в публикуемых списках системных и прикладных ошибок, позволяющих получить несанкционированный доступ к системе, понизить степень ее защищенности или добиться отказа в обслуживании (системного сбоя):

Общее количество известных успешных атак для различных ОС, представлено в табл. 6, а их процентное соотношение – на диаграмме рис. 9.
Вследствие того, что большинство атак для операционных систем, построенных на базе Unix (BSD или AT&T), достаточно похожи, целесообразно объединить их в одну группу. Тоже самое можно сказать и об ОС семейства.
Windows. Таким образом, далее будем рассматривать только семейства ОС: Unix, MS Windows, Novell NetWare.
Таблица 6.
Количество известных успешных атак для различных ОС


Рис. 9. Статистика соотношения угроз для различных ОС
Общее количество известных успешных атак для различных групп ОС представлено в табл. 7, а их процентное соотношение – на диаграмме рис. 10.
Таблица 7.
Общее количество успешных атак для различных групп ОС


Рис. 10. Статистика соотношения угроз для семейств ОС
Относительно ОС Novell следует заметить, что данная ОС изначально создавалась как защищенная (не универсального назначения) ОС, основной функцией которой был защищенный файловый сервис. Это, с одной стороны, должно было обеспечить ее более высокий уровень защищенности, с другой стороны, налагало определенные ограничения по использованию. Однако, начиная с пятой версии, данная ОС начала приобретать свойства универсальности (с точки зрения применяемых протоколов и приложений), что в какой-то мере сказалось и на уровне ее защищенности.
4. Обзор и статистика методов, лежащих в основе атак на современные ОС. Классификация методов и их сравнительная статистика
Анализируя рассматриваемые атаки, все методы, позволяющие несанкционированно вмешаться в работу системы, можно разделить на следующие группы:
· позволяющие несанкционированно запустить исполняемый код;
· позволяющие осуществить несанкционированные операции чтения/записи файловых или других объектов;
· позволяющие обойти установленные разграничения прав доступа;
· приводящие к отказу (Denial of Service) в обслуживании (системный сбой);
· использующие встроенные недокументированные возможности (ошибки и закладки);
· использующие недостатки системы хранения или выбора (недостаточная длина) данных об аутентификации (пароли) и позволяющие путем реверсирования, подбора или полного перебора всех вариантов получить эти данные;
· троянские программы;
· прочие.
Диаграмма, представляющая собой соотношение групп атак (для представленной выше их классификации) для ОС семейства Windows, представлена на рис. 11, для ОС семейства Unix– на рис. 12.
Из приведенного анализа можно сделать следующий важный вывод: угрозы, описанные в большинстве групп, напрямую используют различные недостатки ОС и системных приложений и позволяют при полностью сконфигурированных и работающих встроенных в ОС механизмах защиты осуществлять НСД, что подтверждает необходимость усиления встроенных механизмов защиты.
Анализируя представленную статистику угроз, можно сделать вывод, что большая их часть связана именно с недостатками средств защиты ОС, отмеченными выше, т. е. недостатками, связанными с невыполнением (полным, либо частичным) формализованных требований к защите, среди которых, в первую очередь, могут быть выделены:
· некорректная реализация механизма управления доступом, прежде всего, при разграничении доступа к защищаемым объектам системных процессов и пользователей, имеющих права администратора;
· отсутствие обеспечения замкнутости (целостности) программной среды.

Рис. 11. Соотношение групп атак для ОС семейства Windows

Рис. 12. Соотношение групп атак для ОС семейства Unix
Как видно, большинство атак осуществлялось либо с использованием некоторых прикладных программ, либо с применением встроенных в виртуальные машины средств программирования, т. е. возможность большинства атак напрямую связана с возможностью запуска злоумышленником соответствующей программы. При этом запуск может быть осуществлен как явно, так и скрыто, в рамках возможностей встроенных в приложения интерпретаторов команд.
Проведенный анализ известных угроз современным универсальным ОС полностью подтверждает, что большая их часть обусловлена именно реализуемым в ОС концептуальным подходом, состоящим в реализации схемы распределенного администрирования механизмов защиты. В рамках этой схемы пользователь рассматривается как доверенное лицо, являющееся элементом схемы администрирования и имеющее возможность назначать/изменять ПРД. При этом он не воспринимается как потенциальный злоумышленник, который может сознательно или несознательно осуществить НСД к информации, следовательно назначение механизмов добавочной защиты ОС состоит в реализации централизованной схемы администрирования механизмов защиты, в рамках которой будет осуществляться противодействие НСД пользователя к информации.
Операционная система Windows NT всегда обладала прекрасными и широко применимыми на практике возможностями защиты. Однократная регистрация в домене Windows NT предоставляет пользователям доступ к ресурсам всей корпоративной сети.
Полноценный набор инструментов Windows NT Server облегчает администраторам управление системой защиты и ее поддержку. Например, администратор может контролировать круг пользователей, имеющих права доступа к сетевым ресурсам: файлам, каталогам, серверам, принтерам и приложениям. Учетными записями пользователей и правами для каждого ресурса можно управлять централизованно.
С помощью простых графических инструментов администратор задает принадлежность к группам, допустимое время работы, срок действия и другие параметры учетной записи. Администратор получает возможность аудита всех событий, связанных с защитой доступа пользователей к файлам, каталогам, принтерам и иным ресурсам. Система также способна блокировать учетную запись пользователя, если число неудачных попыток регистрации превышает заранее определенное. Администраторы вправе устанавливать срок действия паролей, принуждать пользователей к периодической смене паролей и выбору паролей, затрудняющих несанкционированный доступ.
С точки зрения пользователя система защиты Windows NT Server полноценна и несложна в обращении. Простая процедура регистрации обеспечивает доступ к соответствующим ресурсам. Для пользователя невидимы такие процессы, как шифрование пароля на системном уровне. Пользователь сам определяет права доступа к тем ресурсам, которыми владеет. Например, чтобы разрешить совместное использование своего документа, он указывает, кто и как может с ним работать. Разумеется, доступ к ресурсам предприятия контролируется только администраторами с соответствующими полномочиями.
Более глубокий уровень безопасности – то, как Windows NT Server защищает данные, находящиеся в физической памяти компьютера. Доступ к ним предоставляется только имеющим на это право программам. Если данные больше не содержатся на диске, система предотвращает несанкционированный доступ к той области диска, где они содержались. При такой системе защиты никакая программа не «подсмотрит» в виртуальной памяти машины информацию, с которой оперирует в данный момент другое приложение.
Удаленный доступ через открытые сети и связь предприятий через Интернет стимулируют постоянное и быстрое развитие технологий безопасности. В качестве примера можно выделить сертификаты открытых ключей и динамические пароли. Архитектура безопасности Windows NT однозначно оценивается как превосходящая и эти, и многие будущие технологии. Перечислим функции безопасности Windows NT:
Информация о доменных правилах безопасности и учетная информация хранятся в каталоге Active Directory (служба каталогов Active Directory обеспечивает тиражирование и доступность учетной информации на многих контроллерах домена, а также позволяет удаленное администрирование).
В Active Directory поддерживается иерархичное пространство имен пользователей, групп и учетных записей машин (учетные записи могут быть сгруппированы по организационным единицам).
Административные нрава на создание и управление группами учетных записей пользователей могут быть делегированы на уровень организационных единиц (возможно установление дифференцированных прав доступа к отдельным свойствам пользовательских объектов).
Тиражирование Active Directory позволяет изменять учетную информацию на любом контроллере домена, а не только на первичном (копии Active Directory, хранящиеся на других контроллерах домена, обновляются и синхронизируются автоматически).
Доменная модель изменена и использует Active Directory для поддержки многоуровневого дерева доменов (управление доверительными отношениями между доменами упрощено в пределах всего дерева доменов).
В систему безопасности включены новые механизмы аутентификации, такие как Kerberos v5 и TLS (Transport Layer Security), базирующиеся на стандартах безопасности Интернета.
Протоколы защищенных каналов (SSL 3.0/TLS) обеспечивают поддержку надежной аутентификации клиента (осуществляется сопоставление мандатов пользователей в форме сертификатов открытых ключей с существующими учетными записями Windows NT).
Дополнительно к регистрации посредством ввода пароля может поддерживаться аутентификация с использованием смарт-карт.
В состав Windows NT входит Microsoft Certificate Server, позволяющий выдавать сотрудникам и партнерам сертификаты Х.509 версии 3. Системные администраторы могут указывать, сертификаты каких уполномоченных являются доверяемыми в системе и, таким образом, контролировать аутентификацию доступа к ресурсам.
Внешние пользователи, не имеющие учетных записей Windows NT, могут быть аутентифицированы с помощью сертификатов открытых ключей и соотнесены с существующей учетной записью. Права доступа, назначенные для этой учетной записи, определяют права внешних пользователей на доступ к ресурсам.
В распоряжении пользователей находятся средства управления парами закрытых (открытых) ключей и сертификатами, используемые для доступа к ресурсам системы.
Технология шифрования встроена в операционную систему позволяет использовать цифровые подписи для идентификации потоков.
1) Сервер аутентификации Kerberos.
Kerberos – это программный продукт, разработанный в середине 1980-х гг. в Массачусетсом технологическом институте и претерпевший с тех пор ряд принципиальны изменений. Клиентские компоненты Kerberos присутствуют в большинстве современных операционных систем. Kerberos предназначен для решения следующей задачи. Имеется открытая (незащищенная) сеть, в узлах которой сосредоточены субъекты – пользователи, а также клиентские и серверные программные системы. Каждый субъект обладает секретным ключом. Чтобы субъект С мог доказать свою подлинность субъекту S (без этого S не станет обслуживать С), он должен не только назвать себя но и продемонстрировать знание секретного ключа. С не может просто послать S свой секретный ключ, во-первых, потому, что сеть открыта (доступна для пассивного и активного прослушивания), а, во-вторых, потому, что S не знает (и не должен знать) секретный ключ С. Требуется менее прямолинейный способ демонстрации знания секретного ключа.
Система Kerberos представляет собой доверенную третью сторону (т. е. сторону, которой доверяют все), владеющую секретными ключами обслуживаемых субъектов помогающую им в попарной проверке подлинности.
Чтобы с помощью Kerberos получить доступ к S (обычно это сервер), С (как правило – клиент) посылает Kerbero запрос, содержащий сведения о нем (клиенте) и о запрашиваемой услуге. В ответ Kerberos возвращает так называемый билет, зашифрованный секретным ключом сервера и копию части информации из билета, зашифрованную секретным ключом клиента. Клиент должен расшифровать вторую порцию данных и переслать ее вместе с билетом серверу. Сервер, расшифровав билет, может сравнить его содержимое с дополнительной информацией, присланной клиентом. Совпадение свидетельствует о том, что клиент смог расшифровать предназначенные ему данные (ведь содержимое билета никому, кроме сервера и Kerberos, недоступно), т. е. продемонстрировал знание секретного ключа. Значит, клиент– именно тот, за кого себя выдает. Подчеркнем, что секретные ключи в процессе проверки подлинности не передавались по сети (даже в зашифрованном виде) – они только использовались для шифрования.
Как организован первоначальный обмен ключами между Kerberos и субъектами и как субъекты хранят свои секретные ключи – вопрос отдельный.
Проиллюстрируем описанную процедуру рис. 13 на котором обозначено: С и S – сведения (например, имя), соответственно, о клиенте и сервере; d 1 и d2 – дополнительная (по отношению к билету) информация; Tc.s– билет для клиента С на обслуживание у сервера S; Кс и Ks – секретные ключи клиента и сервера; {info}K – информация info, зашифрованная ключом К.

Рис. 13. Проверка сервером S подлинности клиента С
Протокол аутентификации Kerberos определяет взаимодействие между клиентом и сетевым сервисом аутентификации, известным как KDC (Key Distribution Center). В Windows NT KDC используется как сервис аутентификации на всех контроллерах домена. Домен Windows NT эквивалентен области Kerberos, но к ней обращаются как к домену. Реализация протокола Kerberos в Windows NT основана на определении Kerberos в RFC 1510, клиент Kerberos реализован в виде ПФБ (поставщика функций безопасности) Windows NT, основанном на SSPI. Начальная аутентификация Kerberos интегрирована с процедурой WinLogon. Сервер Kerberos (KDC) интегрирован с существующими службами безопасности Windows NT, исполняемыми на контроллере домена. Для хранения информации о пользователях и группах он использует службу каталогов Active Directory.
Протокол Kerberos усиливает существующие функции безопасности Windows NT и добавляет новые:
· повышенная скорость аутентификации при установлении начального соединения (сервер приложений не обращается к контроллеру домена для аутентификации клиента);
· делегирование аутентификации в многоярусных архитектурах клиент-сервер (при подключении клиента к серверу, последний имперсонирует (олицетворяет) клиента в этой системе, но если серверу для завершения транзакции нужно выполнить сетевое подключение к другому серверу, протокол Kerberos позволяет делегировать аутентификацию первого сервера и подключиться ко второму от имени клиента);
· транзитивные доверительные отношения для междудоменной аутентификации (т.е пользователь может быть аутентифицирован в любом месте дерева доменов) упрощают управление доменами в больших сетях с несколькими доменами.
Интеграция Kerberos. Протокол Kerberos полностью интегрирован с системой безопасности и контроля доступа Windows NT. Начальная регистрация в Windows NT обеспечивается процедурой WinLogon, использующей ПФБ Kerberos для получения начального билета TGT. Другие компоненты системы, например, Redirector, применяют интерфейс SSPI к ПФБ Kerberos для получения сеансового билета для удаленного доступа к файлам сервера SMB.
Взаимодействие Kerberos. Протокол Kerberos версии 5 реализован в различных системах и используется для единообразия аутентификации в распределенной сети.
Под взаимодействием Kerberos подразумевается общий протокол, позволяющий учетным записям аутентифицированных пользователей, хранящимся в одной базе, осуществлять доступ ко всем сервисам в гетерогенной среде. Взаимодействие Kerberos основывается на следующих характеристиках:
· общий протокол аутентификации пользователя или сервиса по основному имени при сетевом подключении;
· возможность определения доверительных отношений между областями Kerberos и создания ссылочных запросов билетов между областями;
· поддержка определенных в RFC 1510 требований к взаимодействию, относящихся к алгоритмам шифрования
· контрольных сумм, взаимной аутентификации и другим возможностям билетов;
· поддержка форматов маркера безопасности Kerberos версии 5 для установления контекста и обмена сообщениями.
Поддержка Kerberos открытых ключей. В Windows NT также реализованы расширения протокола Kerberos, поддерживающие дополнительно к аутентификации с совместно используемым секретным ключом аутентификацию, основанную на парах открытого (закрытого) ключа. Поддержка открытых ключей позволяет клиентам запрашивать начальный ключ TGT с помощью закрытого ключа, то время как KDC проверяет запрос с помощью открытого ключа, полученного из сертификата Х.509 (хранится в пользовательском объекте в каталоге Active Directory), Сертификат пользователя может быть выдан как сторонним уполномоченным сертификации (Certification Authority), так и Microsoft Certificate Server, входящим в Windows NT. После начальной аутентификации закрытым ключом используются стандартные протоколы Kerberos для получения сеансовых билетов на доступ к сетевым службам.
Модель безопасности Windows NT обеспечивает однородный и унифицированный механизм контроля за дотупом к ресурсам домена на основе членства в группах. Компоненты безопасности Windows NT доверяют хранимой в каталоге информации о защите. Например, сервис аутентификации Windows NT хранит зашифрованные пароли пользователей в безопасной части каталога объектов пользователя. По умолчанию операционная система «считает», что правила безопасности защищены и не могут быть изменены кем-либо несанкционированно. Общая политика безопасности домена также хранится в каталоге Active Directory.
Делегирование административных полномочий – гибкий инструмент ограничения административной деятельности рамками части домена. Этот метод позволяет предоставить отдельным сотрудникам возможность управления пользователями или группами в заданных пределах, и в то же время, не дает им прав на управление учетными записями, относящимися к другим подразделениям.
Права на определение новых пользователей или создание групп пользователей делегируются на уровне OU или контейнера, в котором создана учетная запись.
Существует три способа делегирования административных полномочий:
· на изменение свойств определенного контейнера, пример, LocalDomainPolicies самого домена;
· на создание и удаление дочерних объектов определенного типа (пользователи, группы, принтеры и пр.) внутри OU;
· на обновление определенных свойств некоторых дочерних объектов внутри OU (например, право устанавливать пароль для объектов типа User).
Делегировать полномочия просто. Достаточно выбрать лицо, которому будут делегированы полномочия, и указать, какие именно полномочия передаются. Интерфейс программы администрирования Active Directory позволяет без затруднений просматривать информацию о делегировании, определенную для контейнеров.
Наследование прав доступа означает, что информация об управлении доступом, определенная в высших слоях контейнеров в каталоге, распространяется ниже – на положенные контейнеры и объекты-листья. Существуют две модели наследования прав доступа: динамическая и статическая.
При динамическом наследовании права определяются путем оценки разрешений на доступ, назначенных непосредственно для объекта, а также для всех родительских объектов в каталоге. Это позволяет эффективно управлять доступом к части дерева каталога, внося изменения в контейнер, влияющий на все вложенные контейнеры и объекты-листья. Обратная сторона такой гибкости – недостаточно высокая производительность из-за времени определения эффективных прав доступа при запросе пользователя.
В Windows NT реализована статическая форма наследования прав доступа, иногда также называемая наследованием в момент создания. Информация об управлении доступом к контейнеру распространяется на все вложенные объекты контейнера. При создании нового объекта наследуемые права сливаются с правами доступа, назначаемыми по умолчанию. Любые изменения наследуемых прав доступа, выполняемые в дальнейшем на высших уровнях дерева, должны распространяться на все дочерние объекты. Новые наследуемые права доступа распространяются на объекты Active Directory в соответствии с тем, как эти новые права определены. Статическая модель наследования позволяет увеличить производительность.
2) Элементы безопасности системы.
Рассмотрим вопросы реализации политики безопасности: управление учетными записями пользователей и групп, исполнение и делегирование административных функций.
Учетные записи пользователей и групп. Любой пользователь Windows NT характеризуется определенной учетной записью. Под учетной записью понимается совокупность прав и дополнительных параметров, ассоциированных с определенным пользователем. Кроме того, пользователь принадлежит к одной или нескольким группам. Принадлежность к группе позволяет быстро назначать права доступа и полномочия.
К встроенным учетным записям пользователей относятся:
Guest – учетная запись, фиксирующая минимальные привилегии гостя;
Administrator – встроенная учетная запись для пользователей, наделенных максимальными привилегиями;
Krbtgt – встроенная учетная запись, используемая при начальной аутентификации Kerberos.
Кроме них имеются две скрытые встроенные учетные записи:
System -– учетная запись, используемая операционной системой;
Creator owner – создатель (файла или каталога). Перечислим встроенные группы:
· локальные (Account operators; Administrators; Backup operators; Guests; Print operators; Replicator; Server operators; Users);
· глобальные (Domain guests – гости домена; Domain Users – пользователи домена; Domain Admins – администраторы домена).
Помимо этих встроенных групп имеется еще ряд специальных групп:
· Everyone – в эту группу по умолчанию включаются вообще все пользователи в системе;
· Authenticated users – в эту группу включаются только аутентифицированные пользователи домена;
· Self – сам объект.
Для просмотра и модификации свойств учетной записи достаточно щелкнуть имя пользователя или группы и на экране появится диалоговое окно User Properties:
· General –- общее описание пользователя;
· Address – домашний и рабочий адрес пользователя;
· Account –- обязательные параметры учетной записи;
· Telephone/notes – необязательные параметры;
· Organization – дополнительные необязательные сведения;
· Membership – обязательная информация о принадлежности пользователя к группам;
· Dial-in – параметры удаленного доступа;
· Object – идентификационные сведения о пользовательском объекте;
· Security – информация о защите объекта.
Локальная политика безопасности регламентирует травила безопасности на локальном компьютере. С ее помощью можно распределить административные роли, конкретизировать привилегии пользователей, назначить правила аудита.
По умолчанию поддерживаются следующие области безопасности:
· политика безопасности – задание различных атрибутов безопасности на локальном и доменном уровнях так же охватывает некоторые установки на машинном уровне;
· управление группами с ограничениями – позволяет управлять членством в группах, которые, по мнению администратора, «чувствительны» с точки зрения безопасности системы;
· управление правами и привилегиями – позволяет редактировать список пользователей и их специфических прав и привилегий;
· деревья объектов– включают три области защиты: объекты каталога Active Directory, ключи реестра, локальную файловую систему; для каждого объекта в дереве шаблоны безопасности позволяют конфигурировать и анализировать характеристики дескрипторов защиты, включая владельцев объекта, списки контроля доступа и параметры аудита;
· системные службы (сетевые или локальные) – построенные соответствующим образом дают возможность независимым производителям программного обеспечения расширять редактор конфигураций безопасности для устранения специфических проблем.
Конфигурирование безопасности. Для конфигурирования параметров безопасности системы используются шаблоны.
Управление доступом к реестру. Реестр – это дерево объектов. Доступ к каждому объекту в дереве должен быть регламентирован.
Организация работ в ОС Unix основана на понятии познавательного процесса как единицы работы, управлении потребления ресурсов. Взаимодействие процессов внутри ядра (процесс вызывает ядро как подпрограмму) происходит по принципу сопрограмм. Последовательность вычислений внутри процесса строго выдерживается: процесс, в частности, не может активизировать ввод-вывод и продолжать вычисление параллельно с ним. В этом случае требуется создать параллельный процесс.
Ядро ОС Unix состоит из двух основных частей: управления процессами и управления устройствами. Управление процессами резервирует ресурсы, определяет последовательность выполнения процессов и принимает запросы на обслуживание. Управление устройствами контролирует передачу данных между ОП и периферийными устройствами.
В любой момент времени выполняется либо программа пользователя (процесс), либо команда ОС. В каждый момент времени лишь один пользовательский процесс активен, а все остальные приостановлены. Ядро ОС Unix служит для удовлетворения потребностей процессов.
Процесс – это программа на этапе выполнения. В некоторый момент времени программе могут соответствовать один или несколько процессов, или не соответствовать ни одного. Считается, что процесс является объектом, учтенным в специальной таблице ядра системы. Наиболее важная информация о процессе хранится в двух местах: в таблице процессов и в таблице пользователя, называемой также контекстом процесса. Таблица процессов всегда находится в памяти и содержит на каждый процесс по одному элементу, в котором отражается состояние процесса: адрес в памяти или адрес свопинга, размер, идентификаторы процесса и запустившего его пользователя. Таблица пользователя существует для каждого активного процесса и к ней могут непосредственно адресоваться только программы ядра (ядро резервирует по одному контексту на каждый активный процесс). В этой таблице содержится информация, требуемая во время выполнения процесса: идентификационные номера пользователя и группы, предназначенные для определения привилегий доступа к файлам, ссылки на системную таблицу файлов для всех открытых процессом файлов, указатель на индексный дескриптор текущего каталога в таблице индексных дескрипторов и список реакций на различные ситуации. Если процесс приостанавливается, контекст становится недоступным и немодифицируемым.
Каталоги файловой системы ОС Unix «спрятаны» от пользователей и защищены механизмами ОС. Скрытой частью файловой организации в ОС Unix является индексный дескриптор файла, который описывает расположение файла, его длину, метод доступа к файлу, даты, связанные с историей создания файла, идентификатор владельца и т. д.
Работа с таблицами является привилегией ядра, что обеспечивает сохранность и безопасность системы. Структура данных ядра ОС, обеспечивающих доступ к файлам, приведена на рис. 14.

Рис. 14. Структура данных ядра ОС Unix
При взаимодействии с ОС Unix пользователь можно обращаться к большому числу информационных объектов или файлов, объединенных в каталоги. Файловая система ОС Unix имеет иерархическую структуру.
В ОС Unix используется четыре типа файлов: объемные, специальные, каталоги, а в некоторых версиях ОС FIFO-файлы (First In – First Out). Обычные файлы содержат данные пользователей. Специальные файлы предназначены для организации взаимодействия с устройством ввода-вывода. Доступ к любому устройству реализуется как обслуживание запроса к специальному (дисковому) файлу. Каталоги используются системой для поддержания файловой структуры. Особенность каталогов состоит в том, что пользователь может читать их содержимое, не выполнять записи в каталоги (изменять структуру каталога может только ОС.
Схема типичной файловой системы ОС Unix приведена на рис. 15.

Рис. 15. Схема файловой системы ОС Unix
Управление доступом к системе. При включении пользователя в число абонентов ему выдается регистрационное имя (идентификатор) для входа в систему и пароль который служит для подтверждения идентификатора пользователя. В отдельных версиях ОС Unix, помимо идентификатора и пароля, требуется ввод номера телефона, с которого выполняется подключение к системе. Администратор системы и пользователь могут изменить пароль командой passwd. При вводе этой команды ОС запрашивает ввод текущего пароля, а затем требует ввести новый пароль. Если предложенный пароль не удовлетворяет требованиям системы, то запрос на ввод пароля может быть повторен. Earn предложенный пароль удовлетворителен, ОС просит ввести его снова, чтобы убедиться в корректности ввода пароля.
Пользователи, которым разрешен вход в систему, перечислены в учетном файле пользователей /etc/passwd. Этот текстовый файл содержит следующие данные: имя пользователя, зашифрованный пароль, идентификатор пользователя, идентификатор группы, начальный текущий каталог и имя исполняемого файла, используемого в качестве интерпретатора команд. Пароль шифруется, как правило, с использованием DES-алгоритма.
Управление доступом к данным. Операционная система Unix поддерживает для любого файла комплекс характеристик, определяющих санкционированность доступа, тип файла, его размер и точное местоположение на диске. При каждом обращении к файлу система проверяет право пользоваться им. Операционная система Unix допускает выполнение трех типов операций над файлами: чтение, запись выполнение. Чтение файла означает, что доступно его содержимое, а запись – что возможны изменения содержимого файла. Выполнение приводит либо к загрузке файла в ОП, либо к выполнению содержащихся в файле команд системного монитора Shell. Разрешение на выполнение каталога означает, что в нем допустим поиск с целью формирования полного имени на пути к файлу. Любой из файлов в ОС Unix имеет определенного владельца и привязан к некоторой группе. Файл наследует их от процесса, создавшего файл. Пользователь и группа, идентификаторы которых связаны с файлом, считаются его владельцами.
Идентификаторы пользователя и группы, связанные с процессом, определяют его права при доступе к файлам. По отношению к конкретному файлу все процессы делятся на три категории:
· владелец файла (процессы, имевшие идентификатор пользователя, совпадающий с идентификатором владельца файла);
· члены группы владельца файла (процессы, имеющие идентификатор группы, совпадающий с идентификатором группы, которой принадлежит файл);
· прочие (процессы, не попавшие в первые две категории).
Владелец файла обладает одними привилегиями на доступ к нему, члены группы, в которую входит файл – другими, все остальные пользователи – третьими. Каждый файл содержит код защиты, который присваивается файлу при его создании. Код защиты располагается в индексном дескрипторе файла и содержит десять символов, причем первый символ определяет тип файла, а последующие девять – право на доступ к нему. Три вида операций (чтение, запись и выполнение) и три категории (уровни привилегий на доступ: владельцев, групп и прочих пользователей) дают в совокупности девять возможных вариантов разрешений или запретов на доступ к файлу. Первые три символа определяют возможности чтения (г), записи (w) и выполнения (е) на уровне владельца, следующие три – на уровне группы, в которую входит владелец, и последние три – на уровне остальных пользователей. Наличие символов г, w и е указывает на соответствующее разрешение.
Если процесс требует доступа к файлу, то сначала определяется категория, в которую по отношению к этому файлу он попадает. Затем из кода защиты выбираются те три символа, которые соответствуют данной категории, и выполняется проверка: разрешен ли процессу требуемый доступ. Если доступ не разрешен, системный вызов, посредством которого процесс сделал запрос на доступ, отвергается ядром ОС.
По соглашению, принятому в ОС Unix, привилегированный пользователь имеет идентификатор, равный нулю. Процесс, с которым связан нулевой идентификатор пользователя, считается привилегированным. Независимо от кода защиты файла привилегированный процесс имеет право доступа к файлу для чтения и записи. Если в коде защиты хотя бы одной категории пользователей (процессов) есть разрешение на выполнение файла, привилегированный процесс тоже имеет право выполнять этот файл.
С помощью специальных команд владелец файла (привилегированный пользователь) может изменять распределение привилегий. Команда Change mode позволяет изменить код защиты, команда Change owner меняет право на владение файлом, а команда Change group – принадлежность к той или иной группе. Пользователь может изменять режимы доступа только для файлов, которыми он владеет.
Защита хранимых данных. Для защиты хранимых данных в составе ОС Unix имеется утилита crypt, которая читает данные со стандартного ввода, шифрует их и направляет на стандартный вывод. Шифрование применяется при необходимости предоставления абсолютного права владения файлом.
Восстановление файловой системы. Операционная система Unix поддерживает три основных набора утилит копирования: программы volcopy/labelit, dump/restor и cpio. Программа volcopy целиком переписывает файловую систему, проверяя с помощью программы labelit соответствие меток требуемых томов. Программа dump обеспечивает копирование лишь тех файлов, которые были записаны позднее определенной даты (защита накоплением). Программа restor может анализировать данные, созданные программой dump, и восстанавливать отдельные файлы или всю файловую систему полностью. Программа cpio предназначена для создания одного большого файла, содержащего образ всей файловой системы или какой-либо ее части.
Для восстановления поврежденной, например, в результате сбоев в работе аппаратуры файловой системы используются программы fsck и fsdb.
За сохранность файловой системы, адаптацию программного обеспечения к конкретным условиям эксплуатации, периодическое копирование пользовательских файлов, восстановление потерянных данных и другие операции ответственность возложена на администратора системы.
Усложненное управление доступом. В составе утилит ОС Unix находится утилита сгоп, которая предоставляет возможность запускать пользовательские программы в определенные моменты (промежутки) времени и, соответственно, ввести временные параметры для ограничения доступа пользователей.
Для управления доступом в ОС Unix также применяется разрешение установки идентификатора владельца. Такое разрешение дает возможность получить привилегии владельца файла на время выполнения соответствующей программы. Владелец файлов может установить режим, в котором другие пользователи имеют возможность назначать собственные идентификаторы режима.
Доступ, основанный на полномочиях, использует соответствие меток. Для этого вводятся метки объектов (файлов) и субъектов (процессов), а также понятия доминанты и равенства меток (для выражения отношения между метками). Создаваемый файл наследует метку от создавшего его процесса. Вводятся соотношения, определяющие права процессов по отношению к файлам.
Интерфейс дискретного доступа существенно детализирует имеющиеся механизмы защиты ОС Unix. Вводимые средства можно разделить на следующие группы:
· работа со списками доступа при дискретной защите;
· проверка права доступа;
· управление доступом на основе полномочий;
· работа привилегированных пользователей.
В рамках проекта Posix создан интерфейс системного администратора. Указанный интерфейс определяет объекты и множества действий, которые можно выполнить над объектами. В качестве классов субъектов и объектов предложены пользователь, группа пользователей, устройство, файловая система, процесс, очередь, вход в очередь, машина, система, администратор, программное обеспечение и др. Определены атрибуты таких классов, операции над классами и события, которые могут с ними происходить.
Авторизация доступа к данным сети. В NetWare реализованы три уровня защиты данных (рис. 16). Здесь под аутентификацией понимается:
· процесс подтверждения подлинности клиента при его подключении к сети;
· процесс установления подлинности пакетов, передаваемых между сервером и рабочей станцией.
Права по отношению к файлу (каталогу) определяют, какие операции пользователь может выполнить с файлом (каталогом). Администратор может для каждого клиента сети определить права по отношению к любому сетевому файлу или каталогу.

Рис. 16. Уровни защиты данных в Novell NetWare
Атрибуты определяют некоторые системные свойства файлов (каталогов). Они могут быть назначены администратором для любого сетевого файла или каталога.
Например, чтобы записать данные в файл, клиент должен:
· знать свой идентификатор и пароль для подключения к сети;
· иметь право записи данных в этот файл;
· файл должен иметь атрибут, разрешающий запись данных.
Следует отметить, что атрибуты файла (каталога) имеют более высокий приоритет, чем права пользователей по отношению к этому файлу.
Аутентификация пользователей при подключении к сети. Подключение к сети выполняется с помощью утилиты LOGIN.EXE. Эта программа передает на сервер идентификатор, введенный пользователем.
По этому идентификатору NetWare выполняет поиск соответствующего объекта пользователя в системной базе данных сетевых ресурсов. Если в базе данных хранится значение пароля для этого клиента, то NetWare посылает на рабочую станцию зашифрованный с помощью пароля открытый ключ (симметричное шифрование). На рабочей станции этот ключ расшифровывается с помощью пароля, введенного пользователем, и используется для получения подписи запроса (пакета) к серверу о продолжении работы. Сервер расшифровывает эту подпись с помощью закрытого ключа (асимметричное шифрование), проверяет ее и посылает подтверждение на рабочую станцию. В дальнейшем каждый NCP-пакет снабжается подписью, получаемой в результате кодирования открытым ключом контрольной суммы содержимого пакета и случайного числа Nonce. Это число генерируется для каждого сеанса. Поэтому - подписи пакетов не повторяются для разных сеансов, даже если пользователь выполняет те же самые действия.
NCP-пакеты могут подписываться и рабочими станциями, и файловым сервером. Для инициирования включения подписи в NCP-пакеты администратор может задать один из следующих уровней:
· сервер не подписывает пакет;
· сервер подписывает пакет, если этого требует клиент (уровень на станции больше или равен 2);
· сервер подписывает пакет, если клиент также способен это сделать (уровень на станции больше или равен 1);
· сервер подписывает пакет и требует этого от всех клиентов (иначе подключение к сети невозможно).
Права пользователей по отношению к каталогам и файлам. Права, которые могут быть предоставлены пользователю (или группе пользователей) по отношению к каталогу или файлу, перечислены в табл. 8.
Таблица 8.
Список возможных прав по отношению к каталогу или файлу
|
Право |
Обозначение |
Описание |
|
1 |
2 |
3 |
|
Supervisor |
S |
Предоставляет все права по отношению к каталогу или файлу, включая возможность назначения этого права другим пользователям. Не блокируется фильтром наследуемых прав IRF. Это право не может быть удалено ниже по дереву каталогов. |
|
Read |
R |
Чтение существующего файла (просмотр содержимого текстового файла, просмотр записей в файле базы данных и т.д.) |
|
Write |
W |
Запись в существующий файл (добавление, удаление частей текста, редактирование записей базы данных) |
|
Create |
C |
Создание в каталоге новых файлов (и запись в них) и подкаталогов. На уровне файла позволяет восстанавливать файл, если он был ошибочно удален. |
|
Erase |
E |
Удаление существующих файлов и каталогов. |
|
Modify |
M |
Изменение имен и атрибутов (файлов и каталогов), но не содержимого файлов. |
|
File Scan |
F |
Просмотр в каталоге имен файлов и подкаталогов. По отношению к файлу – возможность видеть структуру каталогов от корневого уровня до этого файла (путь доступа) |
|
Access Control |
A |
Возможность предоставлять другим пользователям все права, кроме Supervisor. Возможность изменять фильтр прав IRF. |
Права и фильтры (маски) наследуемых прав назначаются администратором сети с помощью утилит NetWare. Но назначение прав для каждого пользователя по отношению ко всем требуемым файлам и каталогам – это утомительная задача. В NetWare предлагается механизм наследования прав. Прежде всего введем некоторые определения.
Опекун (Trustees) – это пользователь (группа пользователей, другой объект), которому администратор с помощью утилиты (например, FILER) явно назначает права по отношению к какому-либо файлу или каталогу. Такие права называются опекунскими назначениями.
Фильтр наследуемых прав (IRF – Inherited Right Filter) – это свойство файла (каталога), определяющее, какие права данный файл (каталог) может унаследовать от родительского каталога. Фильтр назначается администратором с помощью утилиты (например, FILER).
Наследуемые права – права, передаваемые (распространяемые) от родительского каталога.
Эффективные права – права, которыми пользователь реально обладает по отношению к файлу или каталогу.
Права доступа к объектам NDS и их свойствам. Системная база данных сетевых ресурсов (СБДСР) представляет собой совокупность объектов, их свойств и значений этих свойств. В NetWare 4.x эта база данных называется NDS (NetWare Directory Services), а в NetWare 3.x– Bindery. Объекты NDS связаны между собой в иерархическую структуру, которую часто называют деревом NDS. На верхних уровнях дерева (ближе к корню [Root]) описываются логические ресурсы, которые принято называть контейнерными объектами. На самом нижнем (листьевом) уровне располагаются описания физических ресурсов, которые называют оконечными объектами.
В качестве контейнерных объектов используются объекты типа [Root] (корень), С (страна), О (организация), OU (организационная единица). Оконечные объекты – это User (пользователь), Group (группа), NetWare Server (сервер NetWare), Volume (том файлового сервера), Directories (директория тома) и т. д. Оконечные объекты имеют единое обозначение – CN.
В NetWare 4.x разработан механизм защиты дерева NDS. Этот механизм очень похож на механизм защиты файловой системы, который был рассмотрен ранее. Чтобы облегчить понимание этого механизма, оконечный объект можно интерпретировать как файл, а контейнерный объект – как каталог, в котором могут быть созданы другие контейнерные объекты (как бы подкаталоги) и оконечные объекты (как бы файлы). На рис. 17 представлена схема дерева NDS. Здесь символами [Root], С, О, OU обозначены контейнерные объекты, а символами CN – оконечные объекты.
В отличие от файловой системы здесь права по отношению к какому-либо объекту можно предоставить любому контейнерному или оконечному объекту дерева NDS. В частности допустимо рекурсивное назначение прав объекта по отношению к этому же объекту.

Рис. 17. Схема дерева NDS
Права, которые могут быть предоставлены объекту по отношению к другому или тому же самому объекту, перечислены в табл. 9.
Таблица 9.
Список возможных прав по отношению к объекту
|
Право |
Обозначение |
Описание |
|
1 |
2 |
3 |
|
Supervisor |
S |
Гарантирует все привилегии по отношению к объекту и его свойствам. В отличие от файловой системы это право может быть блокировано фильтром наследуемых прав IRF, который может быть назначен для каждого объекта. |
|
Browse |
B |
Обеспечивает просмотр объектов в дереве NDS. |
|
Create |
C |
Это право может быть назначено только по отношению к контейнерному объекту (контейнеру). Позволяет создавать объекты в данном и во всех дочерних контейнерах. |
|
Delete |
D |
Позволяет удалять объект из дерева NDS. |
|
Rename |
R |
Позволяет изменять имя объекта. |
Администратор сети может для каждого объекта в дереве NDS определить значения свойств этого объекта. Для объекта User– это имя Login, требования к паролю, пароль пользователя, пользовательский сценарий подключения и т. д.
1. Сформулируйте список функциональных дефектов с точки зрения защиты в используемой ОС.
2. Какие элементы безопасности содержит ОС Windows NT?
3. Назовите элементы безопасности ОС UNIX?
4. Охарактеризуйте элементы безопасности ОС Novell NetWare?
Защитные механизмы операционных систем
Решение вопросов безопасности операционных систем обусловлено их архитектурными особенностями и связано с правильной организацией идентификации и аутентификации, авторизации и аудита.
Перейдем к описанию системы защиты операционных систем. Ее основными задачами являются идентификация, аутентификация, разграничение доступа пользователей к ресурсам, протоколирование и аудит самой системы. Более подробную информацию об этом можно найти в [Дейтел, 1987], [Столлингс, 2001], [Таненбаум, 2002] и ряде других источников.
Идентификация и аутентификация
Для начала рассмотрим проблему контроля доступа в систему. Наиболее распространенным способом контроля доступа является процедура регистрации. Обычно каждый пользователь в системе имеет уникальный идентификатор. Идентификаторы пользователей применяются с той же целью, что и идентификаторы любых других объектов, файлов, процессов. Идентификация заключается в сообщении пользователем своего идентификатора. Для того чтобы установить, что пользователь именно тот, за кого себя выдает, то есть что именно ему принадлежит введенный идентификатор, в информационных системах предусмотрена процедура аутентификации (authentication, опознавание, в переводе с латинского означает "установление подлинности"), задача которой - предотвращение доступа к системе нежелательных лиц.
Обычно аутентификация базируется на одном или более из трех пунктов:
· то, чем пользователь владеет (ключ или магнитная карта);
· то, что пользователь знает (пароль);
· атрибуты пользователя (отпечатки пальцев, подпись, голос).
Пароли, уязвимость паролей
Наиболее простой подход к аутентификации - применение пользовательского пароля.
Когда пользователь идентифицирует себя при помощи уникального идентификатора или имени, у него запрашивается пароль. Если пароль, сообщенный пользователем, совпадает с паролем, хранящимся в системе, система предполагает, что пользователь легитимен. Пароли часто используются для защиты объектов в компьютерной системе в отсутствие более сложных схем защиты.
Недостатки паролей связаны с тем, что трудно сохранить баланс между удобством пароля для пользователя и его надежностью. Пароли могут быть угаданы, случайно показаны или нелегально переданы авторизованным пользователем неавторизованному.
Есть два общих способа угадать пароль. Один связан со сбором информации о пользователе. Люди обычно используют в качестве паролей очевидную информацию (скажем, имена животных или номерные знаки автомобилей). Для иллюстрации важности разумной политики назначения идентификаторов и паролей можно привести данные исследований, проведенных в AT&T, показывающие, что из 500 попыток несанкционированного доступа около 300 составляют попытки угадывания паролей или беспарольного входа по пользовательским именам guest, demo и т. д.
Другой способ - попытаться перебрать все наиболее вероятные комбинации букв, чисел и знаков пунктуации (атака по словарю). Например, четыре десятичные цифры дают только 10 000 вариантов, более длинные пароли, введенные с учетом регистра символов и пунктуации, не столь уязвимы, но тем не менее таким способом удается разгадать до 25% паролей. Чтобы заставить пользователя выбрать трудноугадываемый пароль, во многих системах внедрена реактивная проверка паролей, которая при помощи собственной программы-взломщика паролей может оценить качество пароля, введенного пользователем.
Несмотря на все это, пароли распространены, поскольку они удобны и легко реализуемы.
Шифрование пароля
Для хранения секретного списка паролей на диске во многих ОС используется криптография. Система задействует одностороннюю функцию, которую просто вычислить, но для которой чрезвычайно трудно (разработчики надеются, что невозможно) подобрать обратную функцию.
Например, в ряде версий Unix в качестве односторонней функции используется модифицированный вариант алгоритма DES. Введенный пароль длиной до 8 знаков преобразуется в 56-битовое значение, которое служит входным параметром для процедуры crypt(), основанной на этом алгоритме. Результат шифрования зависит не только от введенного пароля, но и от случайной последовательности битов, называемой привязкой (переменная salt). Это сделано для того, чтобы решить проблему совпадающих паролей. Очевидно, что саму привязку после шифрования необходимо сохранять, иначе процесс не удастся повторить. Модифицированный алгоритм DES выполняется, имея входное значение в виде 64-битового блока нулей, с использованием пароля в качестве ключа, а на каждой следующей итерации входным параметром служит результат предыдущей итерации. Всего процедура повторяется 25 раз. Полученное 64-битовое значение преобразуется в 11 символов и хранится рядом с открытой переменной salt.
В ОС Windows NT преобразование исходного пароля также осуществляется многократным применением алгоритма DES и алгоритма MD4.
Хранятся только кодированные пароли. В процессе аутентификации представленный пользователем пароль кодируется и сравнивается с хранящимися на диске. Таким образом, файл паролей нет необходимости держать в секрете.
При удаленном доступе к ОС нежелательна передача пароля по сети в открытом виде. Одним из типовых решений является использование криптографических протоколов. В качестве примера можно рассмотреть протокол опознавания с подтверждением установления связи путем вызова - CHAP (Challenge Handshake Authentication Protocol).
Опознавание достигается за счет проверки того, что у пользователя, осуществляющего доступ к серверу, имеется секретный пароль, который уже известен серверу.
Пользователь инициирует диалог, передавая серверу свой идентификатор. В ответ сервер посылает пользователю запрос (вызов), состоящий из идентифицирующего кода, случайного числа и имени узла сервера или имени пользователя. При этом пользовательское оборудование в результате запроса пароля пользователя отвечает следующим ответом, зашифрованным с помощью алгоритма одностороннего хеширования, наиболее распространенным видом которого является MD5. После получения ответа сервер при помощи той же функции с теми же аргументами шифрует собственную версию пароля пользователя. В случае совпадения результатов вход в систему разрешается. Существенно, что незашифрованный пароль при этом по каналу связи не посылается.
В микротелефонных трубках используется аналогичный метод.
В системах, работающих с большим количеством пользователей, когда хранение всех паролей затруднительно, применяются для опознавания сертификаты, выданные доверенной стороной (см., например, [Столлингс, 2001]).
Авторизация. Разграничение доступа к объектам ОС
После успешной регистрации система должна осуществлять авторизацию (authorization) - предоставление субъекту прав на доступ к объекту. Средства авторизации контролируют доступ легальных пользователей к ресурсам системы, предоставляя каждому из них именно те права, которые были определены администратором, а также осуществляют контроль возможности выполнения пользователем различных системных функций. Система контроля базируется на общей модели, называемой матрицей доступа. Рассмотрим ее более подробно.
Как уже говорилось в предыдущей лекции, компьютерная система может быть смоделирована как набор субъектов (процессы, пользователи) и объектов. Под объектами мы понимаем как ресурсы оборудования (процессор, сегменты памяти, принтер, диски и ленты), так и программные ресурсы (файлы, программы, семафоры), то есть все то, доступ к чему контролируется. Каждый объект имеет уникальное имя, отличающее его от других объектов в системе, и каждый из них может быть доступен через хорошо определенные и значимые операции.
Операции зависят от объектов. Hапример, процессор может только выполнять команды, сегменты памяти могут быть записаны и прочитаны, считыватель магнитных карт может только читать, а файлы данных могут быть записаны, прочитаны, переименованы и т. д.
Желательно добиться того, чтобы процесс осуществлял авторизованный доступ только к тем ресурсам, которые ему нужны для выполнения его задачи. Это требование минимума привилегий, уже упомянутое в предыдущей лекции, полезно с точки зрения ограничения количества повреждений, которые процесс может нанести системе. Hапример, когда процесс P вызывает процедуру А, ей должен быть разрешен доступ только к переменным и формальным параметрам, переданным ей, она не должна иметь возможность влиять на другие переменные процесса. Аналогично компилятор не должен оказывать влияния на произвольные файлы, а только на их хорошо определенное подмножество (исходные файлы, листинги и др.), имеющее отношение к компиляции. С другой стороны, компилятор может иметь личные файлы, используемые для оптимизационных целей, к которым процесс Р не имеет доступа.
Различают дискреционный (избирательный) способ управления доступом и полномочный (мандатный).
При дискреционном доступе, подробно рассмотренном ниже, определенные операции над конкретным ресурсом запрещаются или разрешаются субъектам или группам субъектов. С концептуальной точки зрения текущее состояние прав доступа при дискреционном управлении описывается матрицей, в строках которой перечислены субъекты, в столбцах - объекты, а в ячейках - операции, которые субъект может выполнить над объектом.
Полномочный подход заключается в том, что все объекты могут иметь уровни секретности, а все субъекты делятся на группы, образующие иерархию в соответствии с уровнем допуска к информации. Иногда это называют моделью многоуровневой безопасности, которая должна обеспечивать выполнение следующих правил.
· Простое свойство секретности. Субъект может читать информацию только из объекта, уровень секретности которого не выше уровня секретности субъекта. Генерал читает документы лейтенанта, но не наоборот.
· *-свойство. Субъект может записывать информацию в объекты только своего уровня или более высоких уровней секретности. Генерал не может случайно разгласить нижним чинам секретную информацию.
Некоторые авторы утверждают [Таненбаум, 2002], что последнее требование называют *-свойством, потому что в оригинальном докладе не смогли придумать для него подходящего названия. В итоге во все последующие документы и монографии оно вошло как *-свойство.
Отметим, что данная модель разработана для хранения секретов, но не гарантирует целостности данных. Например, здесь лейтенант имеет право писать в файлы генерала. Более подробно о реализации подобных формальных моделей рассказано в [Столлингс, 2002], [Таненбаум, 2002].
Большинство операционных систем реализуют именно дискреционное управление доступом. Главное его достоинство - гибкость, основные недостатки - рассредоточенность управления и сложность централизованного контроля.
Домены безопасности
Чтобы рассмотреть схему дискреционного доступа более детально, введем концепцию домена безопасности (protection domain). Каждый домен определяет набор объектов и типов операций, которые могут производиться над каждым объектом. Возможность выполнять операции над объектом есть права доступа, каждое из которых есть упорядоченная пара <object-name, rights-set>. Домен, таким образом, есть набор прав доступа. Hапример, если домен D имеет права доступа <file F, {read, write}>, это означает, что процесс, выполняемый в домене D, может читать или писать в файл F, но не может выполнять других операций над этим объектом. Пример доменов можно увидеть на рис. 18.
Рис. 18. Специфицирование прав доступа к ресурсам
Связь конкретных субъектов, функционирующих в операционных системах, может быть организована следующим образом.
· Каждый пользователь может быть доменом. В этом случае набор объектов, к которым может быть организован доступ, зависит от идентификации пользователя.
· Каждый процесс может быть доменом. В этом случае набор доступных объектов определяется идентификацией процесса.
· Каждая процедура может быть доменом. В этом случае набор доступных объектов соответствует локальным переменным, определенным внутри процедуры. Заметим, что когда процедура выполнена, происходит смена домена.
Рассмотрим стандартную двухрежимную модель выполнения ОС. Когда процесс выполняется в режиме системы (kernel mode), он может выполнять привилегированные инструкции и иметь полный контроль над компьютерной системой. С другой стороны, если процесс выполняется в пользовательском режиме, он может вызывать только непривилегированные инструкции. Следовательно, он может выполняться только внутри предопределенного пространства памяти. Наличие этих двух режимов позволяет защитить ОС (kernel domain) от пользовательских процессов (выполняющихся в user domain). В мультипрограммных системах двух доменов недостаточно, так как появляется необходимость защиты пользователей друг от друга. Поэтому требуется более тщательно разработанная схема.
В ОС Unix домен связан с пользователем. Каждый пользователь обычно работает со своим набором объектов.
Матрица доступа
Модель безопасности, специфицированная в предыдущем разделе (см. рис. 18), имеет вид матрицы, которая называется матрицей доступа. Какова может быть эффективная реализация матрицы доступа? В общем случае она будет разреженной, то есть большинство ее клеток будут пустыми. Хотя существуют структуры данных для представления разреженной матрицы, они не слишком полезны для приложений, использующих возможности защиты. Поэтому на практике матрица доступа применяется редко. Эту матрицу можно разложить по столбцам, в результате чего получаются списки прав доступа (access control list - ACL). В результате разложения по строкам получаются мандаты возможностей (capability list или capability tickets).
Список прав доступа. Access control list
Каждая колонка в матрице может быть реализована как список доступа для одного объекта. Очевидно, что пустые клетки могут не учитываться. В результате для каждого объекта имеем список упорядоченных пар <domain, rights-set>, который определяет все домены с непустыми наборами прав для данного объекта.
Элементами списка могут быть процессы, пользователи или группы пользователей. При реализации широко применяется предоставление доступа по умолчанию для пользователей, права которых не указаны. Например, в Unix все субъекты-пользователи разделены на три группы (владелец, группа и остальные), и для членов каждой группы контролируются операции чтения, записи и исполнения (rwx). В итоге имеем ACL - 9-битный код, который является атрибутом разнообразных объектов Unix.
Мандаты возможностей. Capability list
Как отмечалось выше, если матрицу доступа хранить по строкам, то есть если каждый субъект хранит список объектов и для каждого объекта - список допустимых операций, то такой способ хранения называется "мандаты" или "перечни возможностей" (capability list). Каждый пользователь обладает несколькими мандатами и может иметь право передавать их другим. Мандаты могут быть рассеяны по системе и вследствие этого представлять большую угрозу для безопасности, чем списки контроля доступа. Их хранение должно быть тщательно продумано.
Примерами систем, использующих перечни возможностей, являются Hydra, Cambridge CAP System [Denning, 1996].
Другие способы контроля доступа
Иногда применяется комбинированный способ. Например, в том же Unix на этапе открытия файла происходит анализ ACL (операция open). В случае благоприятного исхода файл заносится в список открытых процессом файлов, и при последующих операциях чтения и записи проверки прав доступа не происходит. Список открытых файлов можно рассматривать как перечень возможностей.
Существует также схема lock-key, которая является компромиссом между списками прав доступа и перечнями возможностей. В этой схеме каждый объект имеет список уникальных битовых шаблонов (patterns), называемых locks. Аналогично каждый домен имеет список уникальных битовых шаблонов, называемых ключами (keys). Процесс, выполняющийся в домене, может получить доступ к объекту, только если домен имеет ключ, который соответствует одному из шаблонов объекта.
Как и в случае мандатов, список ключей для домена должен управляться ОС. Пользователям не разрешается проверять или модифицировать списки ключей (или шаблонов) непосредственно. Более подробно данная схема изложена в [Silberschatz, 2002].
Смена домена
В большинстве ОС для определения домена применяются идентификаторы пользователей. Обычно переключение между доменами происходит, когда меняется пользователь. Но почти все системы нуждаются в дополнительных механизмах смены домена, которые используются, когда некая привилегированная возможность необходима большому количеству пользователей. Hапример, может понадобиться разрешить пользователям иметь доступ к сети, не заставляя их писать собственные сетевые программы. В таких случаях для процессов ОС Unix предусмотрена установка бита set-uid. В результате установки этого бита в сетевой программе она получает привилегии ее создателя (а не пользователя), заставляя домен меняться на время ее выполнения. Таким образом, рядовой пользователь может получить нужные привилегии для доступа к сети.
Недопустимость повторного использования объектов
Контроль повторного использования объекта предназначен для предотвращения попыток незаконного получения конфиденциальной информации, остатки которой могли сохраниться в некоторых объектах, ранее использовавшихся и освобожденных другим пользователем. Безопасность повторного применения должна гарантироваться для областей оперативной памяти (в частности, для буферов с образами экрана, расшифрованными паролями и т. п.), для дисковых блоков и магнитных носителей в целом. Очистка должна производиться путем записи маскирующей информации в объект при его освобождении (перераспределении). Hапример, для дисков на практике применяется способ двойной перезаписи освободившихся после удаления файлов блоков случайной битовой последовательностью.
Выявление вторжений. Аудит системы защиты
Даже самая лучшая система защиты рано или поздно будет взломана. Обнаружение попыток вторжения является важнейшей задачей системы защиты, поскольку ее решение позволяет минимизировать ущерб от взлома и собирать информацию о методах вторжения. Как правило, поведение взломщика отличается от поведения легального пользователя. Иногда эти различия можно выразить количественно, например подсчитывая число некорректных вводов пароля во время регистрации.
Основным инструментом выявления вторжений является запись данных аудита. Отдельные действия пользователей протоколируются, а полученный протокол используется для выявления вторжений.
Аудит, таким образом, заключается в регистрации специальных данных о различных типах событий, происходящих в системе и так или иначе влияющих на состояние безопасности компьютерной системы. К числу таких событий обычно причисляют следующие:
· вход или выход из системы;
· операции с файлами (открыть, закрыть, переименовать, удалить);
· обращение к удаленной системе;
· смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т. п.).
Если фиксировать все события, объем регистрационной информации, скорее всего, будет расти слишком быстро, а ее эффективный анализ станет невозможным. Следует предусматривать наличие средств выборочного протоколирования как в отношении пользователей, когда слежение осуществляется только за подозрительными личностями, так и в отношении событий. Слежка важна в первую очередь как профилактическое средство. Можно надеяться, что многие воздержатся от нарушений безопасности, зная, что их действия фиксируются.
Помимо протоколирования, можно периодически сканировать систему на наличие слабых мест в системе безопасности. Такое сканирование может проверить разнообразные аспекты системы:
· короткие или легкие пароли;
· неавторизованные set-uid программы, если система поддерживает этот механизм;
· неавторизованные программы в системных директориях;
· долго выполняющиеся программы;
· нелогичная защита как пользовательских, так и системных директорий и файлов. Примером нелогичной защиты может быть файл, который запрещено читать его автору, но в который разрешено записывать информацию постороннему пользователю;
· потенциально опасные списки поиска файлов, которые могут привести к запуску "троянского коня";
· изменения в системных программах, обнаруженные при помощи контрольных сумм.
Любая проблема, обнаруженная сканером безопасности, может быть как ликвидирована автоматически, так и передана для решения менеджеру системы.
Анализ некоторых популярных ОС с точки зрения их защищенности
Итак, ОС должна способствовать реализации мер безопасности или непосредственно поддерживать их. Примерами подобных решений в рамках аппаратуры и операционной системы могут быть:
· разделение команд по уровням привилегированности;
· сегментация адресного пространства процессов и организация защиты сегментов;
· защита различных процессов от взаимного влияния за счет выделения каждому своего виртуального пространства;
· особая защита ядра ОС;
· контроль повторного использования объекта;
· наличие средств управления доступом;
· структурированность системы, явное выделение надежной вычислительной базы (совокупности защищенных компонентов), обеспечение компактности этой базы;
· следование принципу минимизации привилегий - каждому компоненту дается ровно столько привилегий, сколько необходимо для выполнения им своих функций.
Большое значение имеет структура файловой системы. Hапример, в ОС с дискреционным контролем доступа каждый файл должен храниться вместе с дискреционным списком прав доступа к нему, а, например, при копировании файла все атрибуты, в том числе и ACL, должны быть автоматически скопированы вместе с телом файла.
В принципе, меры безопасности не обязательно должны быть заранее встроены в ОС - достаточно принципиальной возможности дополнительной установки защитных продуктов. Так, сугубо ненадежная система MS-DOS может быть усовершенствована за счет средств проверки паролей доступа к компьютеру и/или жесткому диску, за счет борьбы с вирусами путем отслеживания попыток записи в загрузочный сектор CMOS-средствами и т. п. Тем не менее по-настоящему надежная система должна изначально проектироваться с акцентом на механизмы безопасности.
MS-DOS
ОС MS-DOS функционирует в реальном режиме (real-mode) процессора i80x86. В ней невозможно выполнение требования, касающегося изоляции программных модулей (отсутствует аппаратная защита памяти). Уязвимым местом для защиты является также файловая система FAT, не предполагающая у файлов наличия атрибутов, связанных с разграничением доступа к ним. Таким образом, MS-DOS находится на самом нижнем уровне в иерархии защищенных ОС.
NetWare, IntranetWare
Замечание об отсутствии изоляции модулей друг от друга справедливо и в отношении рабочей станции NetWare. Однако NetWare - сетевая ОС, поэтому к ней возможно применение и иных критериев. Это на данный момент единственная сетевая ОС, сертифицированная по классу C2 (следующей, по-видимому, будет Windows 2000). При этом важно изолировать наиболее уязвимый участок системы безопасности NetWare - консоль сервера, и тогда следование определенной практике поможет увеличить степень защищенности данной сетевой операционной системы. Возможность создания безопасных систем обусловлена тем, что число работающих приложений фиксировано и пользователь не имеет возможности запуска своих приложений.
OS/2
OS/2 работает в защищенном режиме (protected-mode) процессора i80x86. Изоляция программных модулей реализуется при помощи встроенных в этот процессор механизмов защиты памяти. Поэтому она свободна от указанного выше коренного недостатка систем типа MS-DOS. Но OS/2 была спроектирована и разработана без учета требований по защите от несанкционированного доступа. Это сказывается прежде всего на файловой системе. В файловых системах OS/2 HPFS (high performance file system) и FAT нет места ACL. Кроме того, пользовательские программы имеют возможность запрета прерываний. Следовательно, сертификация OS/2 на соответствие какому-то классу защиты не представляется возможной.
Считается, что такие операционные системы, как MS-DOS, Mac OS, Windows, OS/2, имеют уровень защищенности D (по оранжевой книге). Но, если быть точным, нельзя считать эти ОС даже системами уровня безопасности D, ведь они никогда не представлялись на тестирование.
Unix
Рост популярности Unix и все большая осведомленность о проблемах безопасности привели к осознанию необходимости достичь приемлемого уровня безопасности ОС, сохранив при этом мобильность, гибкость и открытость программных продуктов. В Unix есть несколько уязвимых с точки зрения безопасности мест, хорошо известных опытным пользователям, вытекающих из самой природы Unix (см., например, раздел "Типичные объекты атаки хакеров" в книге [Дунаев, 1996]). Однако хорошее системное администрирование может ограничить эту уязвимость.
Относительно защищенности Unix сведения противоречивы. В Unix изначально были заложены идентификация пользователей и разграничение доступа. Как оказалось, средства защиты данных в Unix могут быть доработаны, и сегодня можно утверждать, что многие клоны Unix по всем параметрам соответствуют классу безопасности C2.
Обычно, говоря о защищенности Unix, рассматривают защищенность автоматизированных систем, одним из компонентов которых является Unix-сервер. Безопасность такой системы увязывается с защитой глобальных и локальных сетей, безопасностью удаленных сервисов типа telnet и rlogin/rsh и аутентификацией в сетевой конфигурации, безопасностью X Window-приложений. Hа системном уровне важно наличие средств идентификации и аудита.
В Unix существует список именованных пользователей, в соответствии с которым может быть построена система разграничения доступа.
В ОС Unix считается, что информация, нуждающаяся в защите, находится главным образом в файлах.
По отношению к конкретному файлу все пользователи делятся на три категории:
· владелец файла;
· члены группы владельца;
· прочие пользователи.
Для каждой из этих категорий режим доступа определяет права на операции с файлом, а именно:
· право на чтение;
· право на запись;
· право на выполнение (для каталогов - право на поиск).
В итоге девяти (3х3) битов защиты оказывается достаточно, чтобы специфицировать ACL каждого файла.
Аналогичным образом защищены и другие объекты ОС Unix, например семафоры, сегменты разделяемой памяти и т. п.
Указанных видов прав достаточно, чтобы определить допустимость любой операции с файлами. Например, для удаления файла необходимо иметь право на запись в соответствующий каталог. Как уже говорилось, права доступа к файлу проверяются только на этапе открытия. При последующих операциях чтения и записи проверка не выполняется. В результате, если режим доступа к файлу меняется после того, как файл был открыт, это не сказывается на процессах, уже открывших этот файл. Данное обстоятельство является уязвимым с точки зрения безопасности местом.
Наличие всего трех видов субъектов доступа: владелец, группа, все остальные - затрудняет задание прав "с точностью до пользователя", особенно в случае больших конфигураций. В популярной разновидности Unix - Solaris имеется возможность использовать списки управления доступом (ACL), позволяющие индивидуально устанавливать права доступа отдельных пользователей или групп.
Среди всех пользователей особое положение занимает пользователь root, обладающий максимальными привилегиями. Обычные правила разграничения доступа к нему не применяются - ему доступна вся информация на компьютере.
В Unix имеются инструменты системного аудита - хронологическая запись событий, имеющих отношение к безопасности. К таким событиям обычно относят: обращения программ к отдельным серверам; события, связанные с входом/выходом в систему и другие. Обычно регистрационные действия выполняются специализированным syslog-демоном, который проводит запись событий в регистрационный журнал в соответствии с текущей конфигурацией. Syslog-демон стартует в процессе загрузки системы.
Таким образом, безопасность ОС Unix может быть доведена до соответствия классу C2. Однако разработка на ее основе автоматизированных систем более высокого класса защищенности может быть сопряжена с большими трудозатратами.
Windows NT/2000/XP
С момента выхода версии 3.1 осенью 1993 года в Windows NT гарантировалось соответствие уровню безопасности C2. В настоящее время (точнее, в 1999 г.) сертифицирована версия NT 4 с Service Pack 6a с использованием файловой системы NTFS в автономной и сетевой конфигурации. Следует помнить, что этот уровень безопасности не подразумевает защиту информации, передаваемой по сети, и не гарантирует защищенности от физического доступа.
Компоненты защиты NT частично встроены в ядро, а частично реализуются подсистемой защиты. Подсистема защиты контролирует доступ и учетную информацию. Кроме того, Windows NT имеет встроенные средства, такие как поддержка резервных копий данных и управление источниками бесперебойного питания, которые не требуются "Оранжевой книгой", но в целом повышают общий уровень безопасности.
ОС Windows 2000 сертифицирована по стандарту Common Criteria. В дальнейшем линейку продуктов Windows NT/2000/XP, изготовленных по технологии NT, будем называть просто Windows NT.
Ключевая цель системы защиты Windows NT - следить за тем, кто и к каким объектам осуществляет доступ. Система защиты хранит информацию, относящуюся к безопасности для каждого пользователя, группы пользователей и объекта. Единообразие контроля доступа к различным объектам (процессам, файлам, семафорам и др.) обеспечивается тем, что с каждым процессом связан маркер доступа, а с каждым объектом - дескриптор защиты. Маркер доступа в качестве параметра имеет идентификатор пользователя, а дескриптор защиты - списки прав доступа. ОС может контролировать попытки доступа, которые производятся процессами прямо или косвенно инициированными пользователем.
Windows NT отслеживает и контролирует доступ как к объектам, которые пользователь может видеть посредством интерфейса (такие, как файлы и принтеры), так и к объектам, которые пользователь не может видеть (например, процессы и именованные каналы). Любопытно, что, помимо разрешающих записей, списки прав доступа содержат и запрещающие записи, чтобы пользователь, которому доступ к какому-либо объекту запрещен, не смог получить его как член какой-либо группы, которой этот доступ предоставлен.
Система защиты ОС Windows NT состоит из следующих компонентов:
· Процедуры регистрации (Logon Processes), которые обрабатывают запросы пользователей на вход в систему. Они включают в себя начальную интерактивную процедуру, отображающую начальный диалог с пользователем на экране и удаленные процедуры входа, которые позволяют удаленным пользователям получить доступ с рабочей станции сети к серверным процессам Windows NT.
· Подсистемы локальной авторизации (Local Security Authority, LSA), которая гарантирует, что пользователь имеет разрешение на доступ в систему. Этот компонент - центральный для системы защиты Windows NT. Он порождает маркеры доступа, управляет локальной политикой безопасности и предоставляет интерактивным пользователям аутентификационные услуги. LSA также контролирует политику аудита и ведет журнал, в котором сохраняются сообщения, порождаемые диспетчером доступа.
· Менеджера учета (Security Account Manager, SAM), который управляет базой данных учета пользователей. Эта база данных содержит информацию обо всех пользователях и группах пользователей. SAM предоставляет услуги по легализации пользователей, применяющиеся в LSA.
· Диспетчера доступа (Security Reference Monitor, SRM), который проверяет, имеет ли пользователь право на доступ к объекту и на выполнение тех действий, которые он пытается совершить. Этот компонент обеспечивает легализацию доступа и политику аудита, определяемые LSA. Он предоставляет услуги для программ супервизорного и пользовательского режимов, для того чтобы гарантировать, что пользователи и процессы, осуществляющие попытки доступа к объекту, имеют необходимые права. Данный компонент также порождает сообщения службы аудита, когда это необходимо.
Microsoft Windows NT - относительно новая ОС, которая была спроектирована для поддержки разнообразных защитных механизмов, от минимальных до C2, и безопасность которой наиболее продумана. Дефолтный уровень называется минимальным, но он легко может быть доведен системным администратором до желаемого уровня.
Заключение.
Решение вопросов безопасности операционных систем обусловлено их архитектурными особенностями и связано с правильной организацией идентификации и аутентификации, авторизации и аудита.
Наиболее простой подход к аутентификации - применение пользовательского пароля. Пароли уязвимы, значительная часть попыток несанкционированного доступа в систему связана с компрометацией паролей.
Авторизация связана со специфицированием совокупности аппаратных и программных объектов, нуждающихся в защите. Для защиты объекта устанавливаются права доступа к нему. Набор прав доступа определяет домен безопасности. Формальное описание модели защиты осуществляется с помощью матрицы доступа, которая может храниться в виде списков прав доступа или перечней возможностей.
Аудит системы заключается в регистрации специальных данных о различных событиях, происходящих в системе и так или иначе влияющих на состояние безопасности компьютерной системы.
Среди современных ОС вопросы безопасности лучше всего продуманы в ОС Windows NT.
1. Учебное пособие. Безопасность операционных систем. – НОУ ВПО «МФПА», 2009. – 160 с.
2. Безопасность операционных систем : учебное пособие / А. А. Безбогов, А.В. Яковлев, Ю.Ф. Мартемьянов. - М.: "Издательство Машиностроение", 2007. - 220 с.
1. А. В. Гордеев. Операционные системы Издательство: Питер, 2009 г. 416 с.
2. Олифер В.Г., Олифер Н.А. Сетевые операционные системы Спб.: Издательский дом Питер, 2001
3. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы Спб.: Издательский дом Питер, 2002
4. Операционная система UNIX. Издательство: БХВ-Петербург, 2007 г.
5. Операционные системы.Учебный курс. CD-ROM, 2006 г.
6. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть1. Основы и принципы. Издательство: Бином-Пресс, 2009 г. 1024 с.
7. Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. Операционные системы. Часть 2. Распределенные системы, сети, безопасность. Издательство: Бином-Пресс, 2009 г ГОСТ Р 52069.0-2003 – Защита информации. Система стандартов. Основные положения.
8. Скембрей, Джоел, Мак-Клар, Стюарт. Секреты хакеров. Безопасность Windows Server 2003 – готовые решения: пер. с англ. – М.: Издательский дом «Вильямс», 2004. – 512 с.
9. Маримото Р., Аббат Э., Робертс Э., Microsoft Windows Server 2003: решения экспертов / Пер. с англ. – М.: КУДИЦ-ОБРАЗ, 2005. – 784 с.
10. ГОСТ Р 34.10-2001 – Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
11. ГОСТ Р 50739-95 – Средства вычислительной техники. Защита от несанкционированного доступа к информации. Общие технические требования.
12. ГОСТ Р 51188-98 – Испытания программных средств на наличие компьютерных вирусов.
13. http://www.intuit.ru/ – Интернет–университет Информационных Технологий
17. http://www.securitylab.ru/
18. http://vv303.narod.ru/files/inst/olifer/chapter1/default.htm#1
19. http://www.intuit.ru/department/network/mswinserver2003/
20. http://citforum.ru/operating_systems/unix/contents.shtml
дисциплина «Безопасность клиентских операционных систем» в блок дисциплин модуля информационной безопасности и защиты информации факультета информационных систем и технологий. Изучение дисциплины осуществляется студентами на основе знаний, полученных на предыдущих курсах универсистета.
Основные фундаментальные положения дисциплины раскрываются на лекциях, причем лекции обязательно носят проблемно-поисковый характер. На первой вводной лекции преподаватель даст перечень основной и дополнительной литературы, укажет источники поиска необходимого материала, определит систему промежуточных и итоговых контролей.
На семинарские и практические занятия выносятся разделы, темы, модули, требующие особого участия преподавателя в их успешном усвоении. Самостоятельная работа студентов, как правило, организуется на основе выделения таких вопросов изучаемых тем, усвоение которых требует самостоятельного изучения и анализа студентом основных и дополнительных источников. Контроль усвоения студентами вынесенных на самостоятельную работу положений осуществляется в ходе тестирования, а также письменных блиц-опросов, контрольных на семинарских и практических занятиях.
Для успешной самостоятельной работы студент должен ознакомиться с наименованием тем и вопросов,
Для подготовки к семинарскому и практическому занятию нужно опираться на план занятия, тексты лекций по соответствующим темам, обязательно знание содержания по теме занятия. Для таких занятий, предполагающих решение ситуационных задач, необходимо наличие у студента необходимых и указанных источников.
Тестовые задания охватывают материал, освещенный на лекциях, разобранный на семинарских занятиях и усвоенный студентами самостоятельно. На тестировании не допускается использование лекций, учебников, нормативных актов. Студенты, имеющие положительные результаты по тестам и не пропускавшие семинарские и практические занятия, имеют право на получение экзаменационной оценки в виде среднеарифметического значения, полученного из оценок за тесты и за участие в семинарах.
Изучение дисциплины завершается сдачей экзамена. К экзамену допускаются только студенты, успешно прошедшие тестирования. Студенты, не получившие автоматически оценки за экзамен, вправе сдавать экзамен по экзаменационным билетам либо путем компьютерного тестирования по собственному выбору.
Практическое занятие проводится в целях приобретения студентами навыков применения на практике полученных теоретических знаний, а также проверки степени усвоения изученного теоретического материала.
При подготовке к занятию студентам необходимо изучить материал соответствующей лекции, рекомендованные источники, основную и дополнительную литературу, выполнить домашнее задание.
Цели выполнения лабораторных практикумов:
Изучить и получить навык применения программно-технических средств контроля выполнения требований политики безопасности организации.
Используя полученные знания, спланировать и описать области проверки безопасности операционных систем используемых в компании.
Получения навыков в создании итоговой документации по результатам протоколирования и аудита клиентских операционных систем.
Порядок оформления:
Ознакомьтесь с описанием деятельности и оснащения компании в соответствии с вашим вариантом.
Шрифт Tahoma 10. Интервал 1,5. Поля стандартные. Страницы работы должны быть пронумерованы. Формат документов MS Office полностью совместимым с версией 97-2003
Каждая таблица и рисунок должны быть пронумерованы и иметь название;
На каждую таблицу или рисунок должны быть ссылки из текста. При этом таблица или рисунок должны начинаться не далее следующей страницы;
Пункт не должен начинаться или заканчиваться списком, таблицей, рисунком;
Материал должен иметь четкую структуру изложения
Работы в электронном виде отправляются на ящик преподавателя. Тема письма «Практикум БКОС».
Крайний срок сдачи лабораторного практикума для проверке преподавателем за 3 календарных дня до проведения итогового мероприятия.
Работы, оформленные не в соответствии с требованиями или сданные после завершения срока сдачи работ, к защите не принимаются.
Выбрать операционную систему отвечающую интересам компании.
(ОБОСНУЙТЕ)
Осуществить подбор программного обеспечения вычислительных систем.
общее (системное) программное обеспечение (ОПО);
специальное программное обеспечение (СПО).
(ОБОСНУЙТЕ)
Осуществить подбор прикладных программ общего назначения, обслуживающие (сервисные) программы (утилиты)
программы-упаковщики (архиваторы);
антивирусные программы;
программы резервирования;
программы диагностики компьютера;
программы оптимизации дисков;
программы динамического сжатия дисков.
(ОБОСНУЙТЕ)
Осуществить подбор инструментальных программных средств.
компиляторы и интерпретаторы;
автономные отладчики (дебагеры, от англ. Debug «удаление насекомых»);
интегрированные оболочки;
средства создания приложений типа клиент-сервер и т. п.
(ОБОСНУЙТЕ)
Разработать ПОЛИТИКУ БЕЗОПАСНОСТИ компании исходя из выбранных Вами операционной системы и программно-аппаратных средств
Представить модель политики безопасности компании.
Представить форму технико-экономического обоснования создания и развития безопасности информационной системы, а также плана проведения мероприятий.
Варианты компаний:
1. Компания имеет 5 представительств, все пять в разных странах. Имеет 5 представительств в каждом от 50-100 чел. Головная компания 1000 чел в России. Отдел продаж в региональное представительство, административный отдел и отдел обработки данных. Направление деятельности компании - транснациональные грузовые перевозки.
2. Компания имеет одно представительство в России, которое является компанией, купленной годом ранее, занимающееся разработкой ПО. Головная компания до 500 чел. Представительство - до 300 чел. (Разные бренды). 2 домена – 2 бренда
3. Компания имеет головной офис со штатом 300 чел. Занимается продажей сотовых телефонов. По всей России 2000-3000 представительств – магазинах, есть упр. Менеджер (локальный отд. продаж) и тарифный отдел и отд. логистики.
4. Компания – 100 чел. Сфера деятельности аутсорсинг, услуги администрирования. Клиенты в большинстве стран мира. Компания обеспечивает полную поддержку инфраструктуры клиента.
5. Компания состоит из 3-х филиалов на территории РФ. ЦО в Москве. Численность ЦО 100 чел., в филиалах 20 чел. Занимается производством и разработкой средств аутентификации. Производство в филиалах, ЦО выполняет только административные действия.
6. Компания - холдинг с центральным офисом в г. Москве. Занимается созданием и разработкой интернет сайтов и в неё входит ещё 4 компании, находящиеся в 4 странах мира. В каждой компании до 50 человек.
Цели выполнения лабораторных практикумов:
Изучить и получить навык применения программно-технических средств контроля выполнения требований политики безопасности организации.
Используя полученные знания, спланировать и описать области проверки безопасности операционных систем используемых в компании.
Получения навыков в создании итоговой документации по результатам протоколирования и аудита клиентских операционных систем.
Порядок оформления:
Ознакомьтесь с описанием деятельности и оснащения компании в соответствии с вашим вариантом.
Шрифт Tahoma 10. Интервал 1,5. Поля стандартные. Страницы работы должны быть пронумерованы. Формат документов MS Office полностью совместимым с версией 97-2003
Каждая таблица и рисунок должны быть пронумерованы и иметь название;
На каждую таблицу или рисунок должны быть ссылки из текста. При этом таблица или рисунок должны начинаться не далее следующей страницы;
Пункт не должен начинаться или заканчиваться списком, таблицей, рисунком;
Материал должен иметь четкую структуру изложения
Работы в электронном виде отправляются на ящик преподавателя. Тема письма «Практикум БКОС».
Крайний срок сдачи лабораторного практикума для проверке преподавателем за 3 календарных дня до проведения итогового мероприятия.
Работы, оформленные не в соответствии с требованиями или сданные после завершения срока сдачи работ, к защите не принимаются.
Задание
Провести сравнительный анализ защиты информации в существующих клиентских операционных систем:
Windows (Windows XP, Windows Vista) и их модификации;
UNIX и их модификации;
Linux и их модификации;
Выявить слабые и сильные стороны на предмет защищенности исследуемых операционных систем.
! Ответ обосновать и представить по установленной форме
Цели выполнения лабораторных практикумов:
Изучить и получить навык применения программно-технических средств контроля выполнения требований политики безопасности организации.
Используя полученные знания, спланировать и описать области проверки безопасности операционных систем используемых в компании.
Получения навыков в создании итоговой документации по результатам протоколирования и аудита клиентских операционных систем.
Порядок оформления:
Ознакомьтесь с описанием деятельности и оснащения компании в соответствии с вашим вариантом.
Шрифт Tahoma 10. Интервал 1,5. Поля стандартные. Страницы работы должны быть пронумерованы. Формат документов MS Office полностью совместимым с версией 97-2003
Каждая таблица и рисунок должны быть пронумерованы и иметь название;
На каждую таблицу или рисунок должны быть ссылки из текста. При этом таблица или рисунок должны начинаться не далее следующей страницы;
Пункт не должен начинаться или заканчиваться списком, таблицей, рисунком;
Материал должен иметь четкую структуру изложения
Работы в электронном виде отправляются на ящик преподавателя. Тема письма «Практикум БКОС».
Крайний срок сдачи лабораторного практикума для проверке преподавателем за 3 календарных дня до проведения итогового мероприятия.
Работы, оформленные не в соответствии с требованиями или сданные после завершения срока сдачи работ, к защите не принимаются.
Задание
1. Приведите наиболее популярные в России антивирусные программы и их классификацию. Сделайте сравнительный анализ антивирусных продуктов, отмечая различные аспекты (оперативность, ресурсоёмкость, эффективность и т.д.).
2. Дайте характеристику и оценку следующим технологиям защиты от программ-шпионов и вирусов предлагаемых компанией Microsoft:
· Защитник Windows (Windows Defender).
· Windows Live Safety Center.
· Средство удаления вредоносных программ (Malicious Software Removal Tool).
· Windows Live OneCare.
· Microsoft Client Protection.
! Ответы обосновать и представить по установленной форме
Цели выполнения лабораторных практикумов:
Изучить и получить навык применения программно-технических средств контроля выполнения требований политики безопасности организации.
Используя полученные знания, спланировать и описать области проверки безопасности операционных систем используемых в компании.
Получения навыков в создании итоговой документации по результатам протоколирования и аудита клиентских операционных систем.
Порядок оформления:
Ознакомьтесь с описанием деятельности и оснащения компании в соответствии с вашим вариантом.
Шрифт Tahoma 10. Интервал 1,5. Поля стандартные. Страницы работы должны быть пронумерованы. Формат документов MS Office полностью совместимым с версией 97-2003
Каждая таблица и рисунок должны быть пронумерованы и иметь название;
На каждую таблицу или рисунок должны быть ссылки из текста. При этом таблица или рисунок должны начинаться не далее следующей страницы;
Пункт не должен начинаться или заканчиваться списком, таблицей, рисунком;
Материал должен иметь четкую структуру изложения
Работы в электронном виде отправляются на ящик преподавателя. Тема письма «Практикум БКОС».
Крайний срок сдачи лабораторного практикума для проверке преподавателем за 3 календарных дня до проведения итогового мероприятия.
Работы, оформленные не в соответствии с требованиями или сданные после завершения срока сдачи работ, к защите не принимаются.
Задание
Разработать модель безопасности компании (выбор компании не ограничен) с рассмотрением вопросов стоимости внедряемых средств защиты и соотношения затрат на защиту и получаемого эффекта, на основе современных стандартов в области информационной безопасности, в частности используя критерии оценки безопасности информационных технологий ISO/IEC 15408.
! Ответ обосновать и представить по установленной форме
Цели выполнения лабораторных практикумов:
Изучить и получить навык применения программно-технических средств контроля выполнения требований политики безопасности организации.
Используя полученные знания, спланировать и описать области проверки безопасности операционных систем используемых в компании.
Получения навыков в создании итоговой документации по результатам протоколирования и аудита клиентских операционных систем.
Порядок оформления:
Ознакомьтесь с описанием деятельности и оснащения компании в соответствии с вашим вариантом.
Шрифт Tahoma 10. Интервал 1,5. Поля стандартные. Страницы работы должны быть пронумерованы. Формат документов MS Office полностью совместимым с версией 97-2003
Каждая таблица и рисунок должны быть пронумерованы и иметь название;
На каждую таблицу или рисунок должны быть ссылки из текста. При этом таблица или рисунок должны начинаться не далее следующей страницы;
Пункт не должен начинаться или заканчиваться списком, таблицей, рисунком;
Материал должен иметь четкую структуру изложения
Работы в электронном виде отправляются на ящик преподавателя. Тема письма «Практикум БКОС».
Крайний срок сдачи лабораторного практикума для проверке преподавателем за 3 календарных дня до проведения итогового мероприятия.
Работы, оформленные не в соответствии с требованиями или сданные после завершения срока сдачи работ, к защите не принимаются.
Задание
1. Проведите анализ имеющихся на рынке услуг программно-технических средств используемых для протоколирования и аудита информационной безопасности. Оцените возможности предлагаемых средств и варианты их использования в компании (выбор компании не ограничен)
! Ответ обосновать и представить по установленной форме
1. Что такое файловая система ОС.
2. Что такое операционная система. Структура вычислительной системы.
3. Что представляет собой архитектура вычислительной системы.
4. Что входит в состав общего программного обеспечения вычислительных систем.
5. На какие группы можно разделить прикладные программы общего назначения.
6. Назовите принципы работы вычислительной системы
7. По каким признакам классифицируется ОС.
8. Основные принципы построения операционных систем.
9. Классификация интерфейсов.
10. Что представляют собой операционные системы для конечных пользователей.
11. Основные принципы обеспечения информационной безопасности операционных систем.
12. Основные требования профиля защиты «Безопасность информационных технологий. Операционные системы. Клиентские операционные системы».
13. Охарактеризуйте информацию и ее свойства.
14. Что является предметом и объектом защиты информации.
15. Чем определяется ценность информации. Приведите классификацию конфиденциальной информации.
16. Охарактеризуйте свойства достоверности и своевременности информации.
17. Дайте определения информационной безопасности АСОИ и политики информационной безопасности.
18. Перечислите основные методы обеспечения информационной безопасности.
19. Классификация злоумышленников.
20. Основные направления и методы реализации угроз информационной безопасности.
21. Что понимается под угрозой информации. Назовите разновидности угроз информации.
22. Приведите классификацию угроз информации.
23. Какие основные направления и методы реализации угроз вам известны.
24. Поясните классификацию злоумышленников.
25. Охарактеризуйте причины и виды утечки информации.
26. Назовите и приведите примеры каналов утечки информации
27. Охарактеризуйте подходы к обеспечению компьютерной безопасности.
28. Перечислите основные и вспомогательные сервисы безопасности, дайте их классификацию.
29. Перечислите основные требования к защите конфиденциальной информации.
30. Перечислите основные требования к защите секретной информации.
31. Опишите основные различия требований и механизмов защиты от НСД для конфиденциальной и секретной информации.
32. Сформулируйте список функциональных дефектов с точки зрения защиты в используемой ОС.
33. Какие элементы безопасности содержат ОС семейства Windows.
34. Назовите элементы безопасности ОС семейства UNIX.
35. Охарактеризуйте элементы безопасности ОС Novell NetWare.
36. Защитные механизмы операционных систем.
37. Что представляют собой идентификация и аутентификация.
38. Что представляет собой шифрование пароля.
39. Авторизация. Разграничение доступа к объектам ОС.
40. Что такое домены безопасности.
41. Выявление вторжений. Аудит системы защиты.
42. Шифрование данных с помощью алгоритма DES.
43. Основные защитные механизмы ОС семейства Unix.
44. Основные защитные механизмы ОС семейства Windows.
45. Управление рисками в информационных системах на базе операционных систем Microsoft.
46. Приведите определение понятий «протоколирование» и «аудит».
47. Назовите задачи, реализуемые протоколированием и аудитом.
48. Дайте характеристику задачи активного аудита.
49. Дайте характеристику сигнатурного метода активного аудита.
50. Охарактеризуйте функциональные компоненты активного аудита.
[1] Наиболее распространённая операционная система для машин ЕС ЭВМ. Первоначально представляла собой доработанный и русифицированный вариант OS/360 и OS/370. Обеспечивала пакетную обработку заданий, для написания которых применялся язык JCL.
[2] Закон Российской Федерации от 27 июля 2006 г. N 149-ФЗ «Об информации, информационных технологиях и о защите информации»
[3] ACL (англ. Access Control List — список контроля доступа, по-английски произносится «экл») — определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом.
Списки контроля доступа являются основой систем с избирательным управлением доступом. В типичных ACL каждая запись определяет субъект воздействия и операцию: например, запись (Vasya, delete) в ACL для файла XYZ даёт возможность пользователю Vasya удалить файл XYZ. В системе с моделью безопасности, основанной на ACL, когда субъект запрашивает выполнение операции над объектом, система сначала проверяет список разрешённых для этого субъекта операций, и только после этого даёт (или не даёт) доступ к запрошенному действию. При централизованном хранении списков контроля доступа можно говорить о матрице доступа, в которой по осям размещены объекты и субъекты, а в ячейках — соответствующие права. Однако в большом количестве систем списки контроля доступа к объектам хранятся отдельно для каждого объекта, зачастую непосредственно с самим объектом. Традиционные ACL системы назначают права индивидуальным пользователям, и со временем и ростом числа пользователей в системе списки доступа могут стать громоздкими. Вариантом решения этой проблемы является назначения прав группам пользователей, а не персонально. Другим вариантом решения этой проблемы является «Управление доступом на основе ролей», где функциональные подмножества прав к ряду объектов объединяются в «роли», и эти роли назначаются пользователям. Однако, в первом варианте группы пользователей также часто называются ролями. Файловые системы с ACLВ файловых системах для реализации ACL используется идентификатор пользователя процесса (UID в терминах POSIX).
Список доступа представляет собой структуру данных (обычно таблицу), содержащую записи, определяющие права индивидуального пользователя или группы на специальные системные объекты, такие как программы, процессы или файлы. Эти записи также известны как ACE (англ. Access Control Entries) в операционных системах Microsoft Windows и OpenVMS. В операционной системе Linux и Mac OS X большинство файловых систем имеют расширенные атрибуты, выполняющие роль ACL. Каждый объект в системе содержит указатель на свой ACL. Привилегии (или полномочия) определяют специальные права доступа, разрешающие пользователю читать из (англ. read), писать в (англ. write), или исполнять (англ. execute) объект. В некоторых реализациях ACE могут определять право пользователя или группы на изменение ACL объекта. Концепции ACL в разных операционных системах различаются, несмотря на существующий «стандарт» POSIX. (Проекты безопасности POSIX, .1e и .2c, были отозваны, когда стало ясно что они затрагивают слишком обширную область и работа не может быть завершена, но хорошо проработанные части, определяющие ACL, были широко реализованы и известны как «POSIX ACLs».) Сетевые ACLВ сетях ACL представляют список правил, определяющих порты служб или имена доменов, доступных на узле или другом устройстве третьего уровня OSI, каждый со списком узлов и/или сетей, которым разрешен доступ к сервису. Сетевые ACL могут быть настроены как на обычном сервере, так и на маршрутизаторе и могут управлять как входящим, так и исходящим трафиком, в качестве межсетевого экрана
[4] Реляционная база данных — база данных, основанная на реляционной модели. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют Реляционные СУБД. Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970 году. Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: каждый элемент таблицы — один элемент данных
все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.) каждый столбец имеет уникальное имя одинаковые строки в таблице отсутствуют порядок следования строк и столбцов может быть произвольным Базовыми понятиями реляционных СУБД являются: атрибут, отношение, кортеж.
[5] UID - В Unix-подобных операционных системах, пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID).
То, что пользователя идентифицирует UID, значит, что операционная система различает пользователей именно по UID (а не например, по логину). Во многих системах существует возможность создать две записи пользователя с разными логинами, но одинаковыми UID; в результате оба логина будут иметь одинаковые права, так как с точки зрения системы они неотличимы (так как имеют одинаковый UID). Это может использоваться злоумышленниками: проникнув в систему и получив права root, взломщик может создать себе аккаунт с UID=0, чтобы потом возвращаться в систему под логином, не привлекающим внимания, но получать права root.
Множество допустимых значений UID зависит от системы; в общем случае UID допускает использование значений от 0 до 65535 с некоторыми оговорками:
Суперпользователь всегда должен иметь UID, равный нулю (0).
Пользователю nobody обычно присваивается или наибольший из возможных UID (в противоположность cуперпользователю), или один из системных UID (см. ниже).
UIDы с 1 по 100 по соглашению резервируются под системные нужды; некоторые руководства рекомендуют резервировать UIDы со 101 по 499 (в Red Hat) или даже 999 (в Debian).
Значение UID ставится в соответствие пользователю в файле /etc/passwd. Файлы теневого пароля и Network Information Service также используют числовые UIDы. Идентификатор пользователя-владельца является необходимым атрибутом файла файловых систем Unix и процессов.
Некоторые операционные системы могут поддерживать 16-битные UIDы, что делает возможным создание 65536 уникальных идентификаторов, хотя современные системы с поддержкой 32-битных UIDов может иметь 4,294,967,296 (232) различных значений идентификаторов.
[6] root (от англ. root — корень; читается «рут»), или су́перпо́льзователь — это специальный аккаунт в UNIX-подобных системах с идентификатором (UID, User IDentifier) 0, владелец которого имеет право на выполнение всех без исключения операций.
Cуперпользователь UNIX-систем имеет логин «root» только по умолчанию, и легко переименовывается при необходимости.
Такая схема была придумана для облегчения администрирования. К примеру, на серверах Novell начинающие администраторы нередко допускают ошибку, «даруя независимость» ветви каталогов (теряя над ними всякий контроль); в UNIX подобное невозможно.
Пользователь root может становиться другим пользователем с помощью операции setuid, но не наоборот. Обычно это используется в целях безопасности, когда сервер при запуске собирает какую-то информацию о системе (для чего необходимы права суперпользователя), а затем отдаёт свои привилегии.