КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Методы и средства обеспечения конфиденциальности информации в операционных системах семейства Windows NT и Linux.Рассмотрим механизмы обеспечения конфиденциальности информации, применяемые в современных операционных системах. Windows В ОС семейства WindowsNT конфиденциальность информации обеспечивается следующими механизмами: Аутентификация пользователей. Разграничение доступа к конфиденциальной информации на основании дискреционной модели. Шифрование информации. Очистка файла подкачки. Механизм виртуальной памяти. В ос Windows как и в любой современной операционной системы встроен механизм аутентификации пользователей. По умолчанию для аутентификации пользователей используется связка логин+пароль. Основную роль в идентификации и аутентификации (проверки подлинности) пользователей играет SAM (Security Account Database - диспетчер учетных записей). Эта база данных находится на каждом компьютере, где установлена операционная система Windows. Она располагается в отдельном файле в папке \Windows\System32\Config. Этот файл так и называется - SAM. В него входят следующие учетные записи: пользователей, групп. Кроме того, для контроллера домена в базе данных присутствуют еще две записи: компьютеров домена и домена. Информация в этой базе данных хранится в служебном формате, а доступ к ней ограничен со стороны ОС. Любое обращение к этой базе со стороны пользователя (копирование, чтение, запись и т.д.) блокируется. Кроме этого, данная база данных при загрузке ОС копируется в реестр. Пароли в базе данных SAM не хранятся в открытом виде. Для шифрования этих паролей используется хеширование. Для дополнительной зашиты базы данных SAM используется программа syskey. Syskey – программа Windows (в NT 4 начиная с Service Pack 3, в 2000/XP – по умолчанию), которая добавляет новый уровень безопасности в хранение хешей паролей в базе данных SAM. Главная ее функция состоит в уменьшении вероятности оффлайновой атаки за счет дополнительного шифрования паролей. Подсистема безопасности в Windows построена таким образом, что для аутентификации помимо паролей возможно использовать другие методы: например смарт-карты, сертификаты,электронные ключи (e-token, ru-token), биометрические идентификаторы. Для каждого метода аутэнтификации возможна реализация собственного интерфейса входа в систему. Такая расширяемость достигается благодаря использованию для операций аутентификации dll библиотек – пакетов аутентификации. Важным элементом подсистемы аутентификации является политика использования паролей. Она позволяет задавать минимальную длину пароля, набор используемых символов, сроки действия пароля, частоту смены паролей пользователями. Применения данной политики гарантирует формирование устойчивых паролей пользователями и затрудняет применения атак по подбору паролей. В случае продолжительного простоя системы возможна автоматическая блокировка рабочего стола. Для разблокировки необходимо ввести корректные аутентификационные данные. В операционных системах MicrosoftWindows применяется дискреционное управление доступом к объектам.Обращаться к объектам могут только прошедшие AU пользователи. Объекты разграничения доступа в Windows имеют дескриптор безопасности, содержащий информацию о владельце объекта (его идентификаторе безопасности SID, SecurityIdentifier) и дискреционном списке управления доступом к объекту (DiscretionaryAccessControlList, DACL), правом редактирования которого обладают владелец объекта и администратор. Владелец файла может лишить администратора права изменения разрешений на доступ к объекту. Администратор обладает специальной привилегией смены владельца на другого пользователя, обладающего такой же специальной привилегией (например, на самого себя). Управление разграничением доступа к файлам и папкам возможно с помощью Проводника Windows (, принтеру – с помощью функции Принтеры и факсы Панели управления, реестру Windows – с помощью Редактора реестра regedit.exe Права доступа к объектам в операционной системе Windows делятся на специальные, стандартные (общие) и родовые (generic). Специальные права зависят от типа объекта разграничения доступа. Например, к файлам и папкам могут применяться следующие специальные права: - обзор папок (выполнение файлов); - содержание папки (чтение данных из файла); - чтение атрибутов; - чтение дополнительных атрибутов; - создание файлов (запись данных в файл); - создание папок (дозапись данных в файл); - запись атрибутов; - запись дополнительных атрибутов; - удаление подпапок и файлов (только для папок). Стандартные права доступа к объектам операционной системы Windows не зависят от типа объекта. Определены следующие стандартные права доступа; - удаление; - чтение; - запись; - изменение; - чтение разрешений; - смена разрешений; - смена владельца; Каждое из родовых разрешений представляет собой логическую группу специальных и стандартных разрешений. Например, для файлов и папок родовое право доступа «Изменение» включает все разрешения кроме «Удаление подпапок и файлов», «Смена разрешений» и «Смена владельца». Существующий в Windows механизм наследования облегчает администраторам задачи назначения разрешений и управления ими. Благодаря этому механизму разрешения, установленные для контейнера, автоматически распространяются на все объекты этого контейнера. Например, файлы, создаваемые в папке, наследуют разрешения этой папки. Запрещение права доступа имеет более высокий приоритет, чем его разрешение, если только объект не наследует от различных папок противоречащие друг другу значения этих параметров. В таких случаях в силу вступает значение, унаследованное от родительского контейнера, ближайшего к объекту в иерархической структуре. Дочерние объекты наследуют только наследуемые разрешения. К вновь созданным в сеансе пользователя объектам права доступа в Windows назначаются одним из следующих способов: 1. На основе явно заданного субъектом (управляемой пользователем программой) и корректного по форме дескриптора безопасности (например, при вызове системных функций CreateFile или CreateDirectory при создании файлов или папок); 2. На основе механизма наследования (если при создании объекта дескриптор безопасности не задается); 3. Из полученного при начале сеанса маркера доступа субъекта, создающего объект (если наследование невозможно). Механизмы шифрования, встроенные в ос Windows: Шифрованная файловая система EFS Поддержка протокола IPSec Поддержка технологии VPN Шифрованная файловая система EFS используется для хранения шифрованных файлов на томах файловой системы NTFS 5.0. После того как файл или папка зашифрованы, с ними можно работать так же, как и с другими файлами или папками, т.е. шифрование прозрачно для пользователя, зашифровавшего файл. Это означает, что перед использованием файл не нужно расшифровывать. Можно, как обычно, открыть файл и изменить его.Для шифрования файлового объекта используется случайный симметричный файловый ключ. Поддерживаемые алгоритмы шифрования – DESX, AES, 3DES. Файловый ключ шифруется открытым ключом пользователя [и ключом агента восстановления; по умолчанию – Администратор]. Закрытый ключ пользователя хранится в профиле в зашифрованном виде. Для шифрования используется мастер-ключ. Мастер-ключ аналогично хранится в профиле пользователя и шифруется алгоритмом 3DES с ключом, основанным на пароле пользователя. Работа с EFS аналогична использованию разрешений для файлов и папок. Задача обоих методов — ограничение доступа к данным. Однако разрешения для файлов и папок не защитят, если злоумышленник получит физический доступ к данным, например, подключив жесткий диск к другому компьютеру или загрузившись с помощью другой операционной системы, имеющей доступ к томам NTFS. При попытке же открыть или скопировать зашифрованный файл или папку он получит исчерпывающий ответ: «Нет доступа». В новых версиях Windows (7, Vista, Server 2008) EFS была заменена другой технологией - BitLocker Drive Encryption.BitLocker позволяет защищать данные путём полного шифрования диска(ов). Поддерживаются следующие алгоритмы шифрования: AES 128 AES 128 c Elephant diffuser (используется по умолчанию) AES 256 AES 256 c Elephant diffuser Поддержка виртуальной памяти использует файл подкачки системы для выгрузки страниц памяти на диск, когда они не используются. Во время работы Windows файл подкачки открыт операционной системой в монопольном режиме и хорошо защищен. Однако если на компьютере допускается загрузка других операционных систем, необходимо убедиться, что при завершении работы Windows выполняется очистка ее файла подкачки. Это гарантирует, что уязвимые сведения из памяти процессов, которые могли попасть в файл подкачки, не станут доступны пользователям, получившим прямой несанкционированный доступ к этому файлу. По умолчанию очистка страничного файла отключена. Её включение производится через оснастку групповой политики или в реестре Windows. Каждый процесс в ОС Windows имеет собственно виртуальное адресно пространство, доступ к которому запрещён из адресного пространства другого процесса. Linux Аутентификация пользователей PAM (Pluggable Authentication Modules) Разграничение доступа Виртуальная память Во время авторизации осуществляется проверка доступности для пользователя определенного сервиса, предоставляемого системой, например сервиса login для входа в систему или сервиса удаленного копирования файлов ftp. Можно разрешить одному пользователю копировать файлы, но в то же время запретить использовать login, другому, наоборот, запретить пользоватся ftp, но предоставить возможность отправлять почту. Первым делом во всех этих случаях осуществляется проверка соответствия имени пользователя и пароля. Если данный этап пройден, следует проверка доступности сервиса. Типичной является ситуация, когда записи о пользователях находятся локально в файле паролей. В этом случае проверка соответствия производится по нему. Система производит проверку соответствия на основании файла паролей /etc/passwd, в котором хранятся необходимые атрибуты пользователя; этот файл доступен только для чтения. Сами пароли хранятся отдельно в файле /etc/shadow, точнее даже не пароли, а их уникальные необратимые хэши. Этот файл не доступен ни для чтения, ни для записи никому, кроме «суперпользователя». Для защиты данных файлов от несанкционированных изменения в большинство современных дистрибутивов Linux включены средства контроля целостности. Во всех современных unix-like системах механизм аутентификации отделен от программ, с помощью которых она осуществляется. Это стало возможным благодаря использованию PAM (Pluggable Authentication Modules) - Подключаемых Аутентификационных Модулей. Такие программы, как login, su, passwd, в современных системах сами не работают с паролями, а делают запрос к PAM, которая осуществляет всю процедуру аутентификации и возвращает ответ: УСПЕХ (PAM_SUCCESS) или НЕУДАЧА (PAM_AUTH_ERR), а прикладная программа лишь выводит сообщение пользователю в зависимости от ответа PAM. Таким образом, прикладным программам совершенно неважно, каким образом PAM осуществляет аутентификацию, поэтому администратор может внедрить иные механизмы аутентификации, не перекомпилируя никаких прикладных программ. Основные функции, или действия, или задачи которые выполняет система PAM - разбиты на четыре группы которые имеют определенные названия: группа auth - это действия связанные непосредственно с аутентификацией. То есть действия или функции которые позволяют определить, что вы это вы. Это может быть аутентификация по паролю, по смарт-карте, биометрическая аутентификация (отпечаток пальца и т.д.) и другие. группа account - это действия связанные с управлением учетными записями. Например, даже если вы аутентифицировались в системе, то вашей учетной записи можно поставить запрет на работу в определенное время суток. Или разрешить заходить в консольном режиме, но запретить заходить в графическом режиме. И т.д. группа session - действия этой группы осуществляют выделение пользователю необходимых для работы ресурсов. Самый простой пример - это разрешение на монтирование каталогов. группа password - действия, которые реализуют изменение аутентификационных данных пользователя. Чаще всего это действия по управлению паролями пользователя. Все эти действия или процедуры (функции) реализованы в виде отдельных модулей. То есть можно сказать, есть модули группы auth, модули группы account и т.д. Соответственно система PAM является модульной и если необходимо реализовать биометрическую аутентификацию, то необходимо просто установить модуль, которых может это процедуру выполнить. Так как GNU/Linux – многозадачная и многопользовательская ОС, в ней должны быть реализованы механизмы разграничения доступа. Этим занимается ядро системы. Все процессы в системе выполняются от имени и с правами некоего пользователя и группы. Под пользователем и группой в данном случае имеется в виду не конкретный человек, который знает пароль, а некая абстракция. Точнее сказать так: процесс существует в системе с некоторыми правами. Так как в системе Linux все представлено в виде файлов, то и права процесса, по сути, определяют доступность для него того или иного файла. Права эти описаны в индексах файлов. У каждого файла имеется описание режима доступа к нему для трех типов процессов: выполняемых от имени владельца файла, выполняемых не от имени владельца, но от имени владельца группы файла и для процессов вообще не имеющих никакого отношения к владельцам файла. Работа реального человека с компьютером так или иначе заключается в создании многочисленных нужных (xchat, например) и не совсем процессов. Поэтому очевидно, что каждый реальный пользователь имеет уникальный номер и все его процессы и созданные ими файлы обладают одинаковым, пользовательским, номером. В этом суть разграничения доступа. Linux позволяет расширить собственную модель разграничения доступа, описанную выше путём использования списков контроля доступа. Списки контроля доступа реализуются возможностями файловой системы. В ядро Linux по умолчанию встроена возможность использования мандатной модели разграничения доступа. Данная модель реализуется через SeLinux. SeLinux может работать параллельно с классической дискреционной системой контроля доступа. Оставаясь в рамках дискреционной системы контроля доступа, ОСLinux имеет фундаментальное ограничение в плане разделения доступа процессов к ресурсам — доступ к ресурсам основывается на правах доступа пользователя. Это классические права rwx на трех уровнях — владелец, группа-владелец и остальные. В SELinux права доступа определяются самой системой при помощи специально определенных политик. Политики работают на уровне системных вызовов и применяются самим ядром (но можно реализовать и на уровне приложения). SELinux действует после классической модели безопасности Linux. Иными словами, через SELinux нельзя разрешить то, что запрещено через права доступа пользователей/групп. Основная задача ядра системы – обеспечение выполнения процессов в системе, организация разделения времени и ресурсов, в том числе оперативной памяти. Ядро системы имеет полный доступ и контроль над ресурсами компьютера. Поэтому данные и код ядра системы в памяти отделены от остальных процессов. Таким образом, в ОС Linux реализованы два уровня выполнения: нулевой (уровень ядра) и первый (уровень прикладных процессов). Кроме того, Linux поддерживает сегментирование памяти, и прикладные процессы также отделены друг от друга и выполняются каждый в своем виртуальном адресном пространстве.
|