Анализ некоторых популярных ОС с точки зрения их защищенности
Итак, ОС должна способствовать реализации мер безопасности или непосредственно поддерживать их. Примерами подобных решений в рамках аппаратуры и операционной системы могут быть: • разделение команд по уровням привилегированности; • сегментация адресного пространства процессов и организация защиты сегментов; • защита различных процессов от взаимного влияния за счет выделения каждому своего виртуального пространства; • особая защита ядра ОС; • контроль повторного использования объекта; • наличие средств управления доступом; • структурированность системы, явное выделение надежной вычислительной базы (совокупности защищенных компонентов), обеспечение компактности этой базы; • следование принципу минимизации привилегий — каждому компоненту дается ровно столько привилегий, сколько необходимо для выполнения им своих функций. Большое значение имеет структура файловой системы. Например, в ОС с дискреционным контролем доступа каждый файл должен храниться вместе с дискреционным списком прав доступа к нему, а, например, при копировании файла все атрибуты, в том числе и ACL, должны быть автоматически скопированы вместе с телом файла. В принципе, меры безопасности не обязательно должны быть заранее встроены в ОС — достаточно принципиальной возможности дополнительной установки защитных продуктов. Так, сугубо ненадежная система MS-DOS может быть усовершенствована за счет средств проверки паролей доступа к компьютеру и/или жесткому диску, за счет борьбы с вирусами путем отслеживания попыток записи в загрузочный сектор CMOS-средствами и т. п. Тем не менее, по-настоящему надежная система должна изначально проектироваться с акцентом на механизмы безопасности. MS-DOS ОС MS-DOS функционирует в реальном режиме (real-mode) процессора i80x86. В ней невозможно выполнение требования, касающегося изоляции программных модулей (отсутствует аппаратная защита памяти). Уязвимым местом для защиты является также файловая система FAT, не предполагающая у файлов наличия атрибутов, связанных с разграничением доступа к ним. Таким образом, MS-DOS находится на самом нижнем уровне в иерархии защищенных ОС. Unix Рост популярности Unix и все большая осведомленность о проблемах безопасности привели к осознанию необходимости достижения приемлемого уровня безопасности ОС, сохранив при этом мобильность, гибкость и открытость программных продуктов. В Unix есть несколько уязвимых с точки зрения безопасности мест, хорошо известных опытным пользователям, вытекающих из самой природы Unix (см., например, раздел «Типичные объекты атаки хакеров» в книге [Дунаев, 1996]). Однако хорошее системное администрирование может ограничить эту уязвимость. Относительно защищенности Unix сведения противоречивы. В Unix изначально были заложены идентификация пользователей и разграничение доступа. Как оказалось, средства защиты данных в Unix могут быть доработаны, и сегодня можно утверждать, что многие клоны Unix по всем параметрам соответствуют классу безопасности С2. Таким образом, безопасность ОС Unix может быть доведена до соответствия классу С2. Однако разработка на ее основе автоматизированных систем более высокого класса защищенности может быть сопряжена с большими трудозатратами. Windows NT/2000/XP С момента выхода версии 3.1 осенью 1993 года в Windows NT гарантировалось соответствие уровню безопасности С2. В 1999 году сертифицирована версия NT 4 с Service Pack 6а с использованием файловой системы NTFS в автономной и сетевой конфигурациях. Следует помнить, что этот уровень безопасности не подразумевает защиту информации, передаваемой по сети, и не гарантирует защищенности от физического доступа. Система защиты ОС 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 — относительно новая ОС, которая была спроектирована для поддержки разнообразных защитных механизмов, от минимальных до С2, и безопасность которой наиболее продумана. Дефолт-ный уровень называется минимальным, но он легко может быть доведен системным администратором до желаемого уровня.
|