Файл: Основные защитные механизмы ОС семейства Unix (Шифрование тома в Mac OS).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 72

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • владелец файла;
  • защита доступа к файлу: права владельца, группы, остальных пользователей.

По этим трем категориям регламентируются три действия: чтение из файла (R), запись в файл (W) и исполнение файла (X). В каждом файле по этим трем категориям определено – какой пользователь может читать, какой писать, а кто может запускать его в качестве процесса.

Требуется рассмотреть три режима более подробно:

  • чтение(R): если пользователю предоставляется доступ на чтение файла или каталога, то пользователь может просматривать содержимое файла или файлов каталога.
  • запись(W): пользователь может читать и записывать в файл, если разрешена только запись для каталога, то пользователь может добавлять и удалять файлы в каталог, но не сможет их просматривать.
  • выполнение(x): выполнять файл как программу(исполняемый), если доступ дан на каталог, то пользователь может, читать/писать файлы в каталоге, менять атрибуты этих файлов.

На рисунке 3 представлен пример редактирования прав доступа к файлу.

Рисунок 3. Пример редактирования прав доступа файла

Как видно на примере, в списке присутствует группа everyone, для которой возможно выбрать значение «Нет доступа». Everyone — это все пользователи, кроме владельца папки. Этот вариант полезен если требуется скрыть конфиденциальную информацию.

Традиционные разрешения файла или каталога состоит из 10 байт.

Первый байт обозначает тип: обычный или каталог. Следующие три байта – права владельца: чтение, запись, исполнение. Следующие три байта указывают на права группы. Следующие три байта относятся к правам других пользователей на этот файл.

Следует помнить, что изменение разрешений каталога меняют разрешения файлов, находящихся в данном каталоге.

В Mac OS X можно выполнять манипуляции с группами и пользователями не только путём графического интерфейса, но и используя терминал.

Так, чтобы определить, к каким группам относится пользователь можно воспользоваться командой:

dscl . search /Groups GroupMembership USERNAME

, где USERNAME - имя пользователя.

На рисунке 4 представлен пример выполнения данной команды.

Рисунок 4. Пример поиска групп, в которые входит пользователь

Для проверки прав пользователя через терминал, можно воспользоваться командой:

ls -la filename

, где filename - полный путь к файлу или каталогу.

На рисунке 8 представлен пример выполнения такой команды.


Рисунок 8. Пример проверки разрешений на файл через терминал

Данная система позволяет гибко настроить доступ к файлам и папкам, создать общие файлы или скрыть конфиденциальные. Это простая, но в тоже время очень эффективная система защиты файлов.

Списки контроля доступа

Традиционная система разрешений Unix довольно ограничена по своим возможностям. Используется только 9 бит для каждого объекта файловой системы: владелец, группа-владельца, все остальные. Простота и мощность данной системы вполне приемлемы, но бывают случаи, когда требуется найти другое решение. Например, когда требуются права доступа на файл для двух разных групп. Это может вызвать некоторые сложности.

Для преодоления таких сложностей были созданы списки контроля доступа. Они позволяют задавать более детальные правила доступа. ACL были реализованы на уровне ядра в Mac OS 10.4.

ACL состоит из записей типа пользователь или группа и разрешённое/запрещённое действие для конкретного объекта файловой системы - access control entries (ACE). Т.е., например, для решения задачи с доступом к файлу двух разных групп пользователей в рамках ACL не возникает проблем с реализацией, в отличии от POSIX.

Детализация контроля доступа к файлам с помощью ACL гораздо больше.

Управление ACL происходит через терминал, к сожалению, Apple решило не реализовывать графический интерфейс для данной задачи. Скорее всего по соображениям безопасности, так как обычному пользователю знания ACL обычно не нужны, а системному администратору требуется знать и владеть терминалом Mac OS, тем более, что для Mac OS Server создан минимальный графический интерфейс.

Итак, например, для создадим файл на рабочем столе с названием 1.txt. После чего, добавив в ACL запись о запрещении чтения данного файла. Для этого воспользуемся командой «chmod» с флагом «+a». Перед этим проверим права доступа к файлу командой «ls –le». Также, сделаем проверку после добавления записи в ACL. Но для начала просто откроем файл - рисунок 5.

Рисунок 5. Пример открытия файла 1.txt

Теперь, в терминале задаём нужные права, вернее, ограничивается чтение командой: «chmod +a "username deny read" filename»

Пример выполнения представлен на рисунке 6.


Рисунок 6. Пример добавления запрета на чтение файла для пользователя

Как видно, добавился запрет в ACL. Попытка прочесть файл приводит к появлению такого сообщения – рисунок 7.

Рисунок 7. Сообщение об отсутствии прав чтения файла

Проведём ещё проверку - добавим ограничение на поиск в каталоге. Для этого требуется добавить правила username deny search на требуемый каталог. Для примера создан каталог 1 на рабочем столе. В нём создан файл с уникальным именем e1k1.txt. Ищем данный файл командой mdfind. Первый раз файл найден, затем, добавляем запрет на поиск. Теперь, снова проверим поиск файла e2l2.txt - результатов нет. Пример выполнения данных команд представлен на рисунке 8.

Рисунок 8. Пример запрета поиска в каталоге

Как видно из представленных примеров ядро Mac OS X первоначально обращается к ACL. Если правило для объекта найдено, то исполняется требование записи ACL. Если правил нет, то проверяется POSIX.

Итак, общий вид команды для редактирования ACL выглядит так:

«chmod (+|-|=)a#? '<имя_пользователя|имя_группы> (разрешить|запретить) <список-разрешения>’ объект»

(+|-|=) - указывает, добавить/удалить запись в ACL или уровнять права двух файлов.

#? - определяет порядок списков.

Выводы по первой главе

Перечислены некоторые разновидности популярных файловых систем. В работе рассмотрена как основная файловая система для Mac OS X - HFS+.

В Mac OS X разработаны несколько методов защиты информации. В том числе файловая система HFS+ предоставляет такие методы как traditions unix permissions и ACLs.

Шифрование тома

Современные алгоритмы шифрования

Сегодня все шире используются два современных криптостойких алгоритма шифрования: отечественный стандарт ГОСТ 28147-89 и новый криптостандарт США – AES (Advanced Encryption Standard).

Алгоритм, определяемый ГОСТ 28147-89, имеет длину ключа шифрования 256 бит. Он шифрует информацию блоками по 64 бит (такие алгоритмы называются блочными), которые затем разбиваются на два субблока по 32 бит (N1 и N2). Субблок N1 обрабатывается определенным образом, после чего его значение складывается со значением субблока N2 (сложение выполняется по модулю 2, т. е. применяется логическая операция XOR), а затем субблоки меняются местами. Данное преобразование выполняется определенное число раз: 16 или 32 в зависимости от режима работы алгоритма. В каждом раунде выполняются две операции.


Первая – наложение ключа. Содержимое субблока N1 складывается по модулю 2[32] с 32-бит частью ключа Kx. Полный ключ шифрования представляется в виде конкатенации 32-бит подключей: K0, K1, K2, K3, K4, K5, K6, K7. В процессе шифрования используется один из этих подключей – в зависимости от номера раунда и режима работы алгоритма.

Вторая операция – табличная замена. После наложения ключа субблок N1 разбивается на 8 частей по 4 бит, значение каждой из которых заменяется в соответствии с таблицей замены для данной части субблока. Затем выполняется побитовый циклический сдвиг субблока влево на 11 бит.

В отличие от алгоритма ГОСТ 28147-89, который долгое время оставался секретным, американский стандарт шифрования AES, призванный заменить DES, выбирался на открытом конкурсе, где все заинтересованные организации и частные лица могли изучать и комментировать алгоритмы-претенденты.

AES (расширенный стандарт шифрования, Advanced Encryption Standard) – это блочное шифрование, шифрующее блоки данных в 128 бит. Для шифрования данных более 128 бит AES использует режим блочного шифрования. Существует множество различных режимов блочного шифрования AES, являющихся частью спецификации AES. Самым простым режимом блочного шифрования является Electronic Code Book (электронная кодовая книга, ECB). Cipher Block Chaining (сцепление блоков шифротекста, CBC) устраняет слабость защиты ECB. XTS - это один из самых современных режимов, обеспечивающий более сильную защиту данных, чем ECB и CBC.

Electronic Code Book (ECB) – этот режим шифрования просто повторяет процесс шифрования AES для каждого 128-битного блока данных. Этот режим шифрования не является идеальным решением, поскольку он плохо скрывает шаблоны данных. Одинаковые блоки данных не должны шифроваться способом, преобразующим их в одинаковый шифрованный текст. Поэтому режим блочного шифрования ECB считается слабой защитой и не рекомендуется к использованию.

Для устранения минусов ECB был разработан Cipher Block Chaining (CBC). Вектор инициализации (initialization vector, IV) из 128-бит генерируется и комбинируется с обычным текстом первого блока в секторе. Эти данные объединяются с помощью функции XOR. Полученные 128 бит данных затем шифруются с помощью алгоритма шифрования AES и сохраняются на носителе. Готовый шифрованный текст передается в следующий блок, где объединяется с обычным текстом в этом блоке, шифруется и сохраняется. Этот цепной процесс повторяется для каждого блока сектора. Процесс обеспечивает шифрование блоков одинаковых данных в полностью различный шифрованный текст. Поэтому CBC гораздо более защищенный, чем ECB, и считается подходящим для большинства областей применения. CBC широко используется во множестве флеш-накопителей с шифрованием.


XTS – это самый современный режим блочного шифрования. Он был добавлен NIST в список режимов блочного шифрования AES в 2010 году. XTS использует два ключа AES. Один ключ используется для выполнения блочного шифрования AES; другой используется для шифрования «Tweak Value» (значения поправки). Эта зашифрованная поправка затем изменяется с помощью полиномиальной функции Галуа (GF) и XOR с обычным и зашифрованным текстом каждого блока. Функция GF обеспечивает дополнительное размытие и обеспечивает отсутствие превращения блоков одинаковых данных в одинаковый шифрованный текст. Это позволяет превращать каждый блок в уникальный шифрованный текст при одинаковом обычном тексте без использования векторов инициализации и сцепления блоков. Фактически текст почти (но не полностью) дважды шифруется с помощью двух независимых ключей. Дешифровка данных выполняется обратным процессом. Поскольку каждый блок независим и сцепление отсутствует, при повреждении хранимых шифрованных данных невосстановимыми будут только данные в поврежденном блоке. Для режимов сцепления блоков при дешифровании такие ошибки распространяются на другие блоки.

Шифрование в Windows

BitLocker (точное название BitLocker Drive Encryption) — это технология шифрования содержимого дисков компьютера, разработанная компанией Microsoft. Она впервые появилась в Windows Vista.

С помощью BitLocker можно было шифровать тома жестких дисков, но позже, уже в Windows 7 появилась похожая технология BitLocker To Go, которая предназначена для шифрования съемных дисков и флешек.

BitLocker является стандартным компонентом Windows Professional и серверных версий Windows, а значит в большинстве случаев корпоративного использования он уже доступен. В противном случае вам понадобится обновить лицензию Windows до Professional.

Эта технология основывается на полном шифровании тома, выполняемом с использованием алгоритма AES (Advanced Encryption Standard). Ключи шифрования должны храниться безопасно и для этого в BitLocker есть несколько механизмов.

Самый простой, но одновременно и самый небезопасный метод — это пароль. Ключ получается из пароля каждый раз одинаковым образом, и соответственно, если кто-то узнает ваш пароль, то и ключ шифрования станет известен.

Чтобы не хранить ключ в открытом виде, его можно шифровать либо в TPM (Trusted Platform Module), либо на криптографическом токене или смарт-карте, поддерживающей алгоритм RSA.

TPM — микросхема, предназначенная для реализации основных функций, связанных с обеспечением безопасности, главным образом с использованием ключей шифрования.