Курсовая работа

Курсовая работа

@mishashlayk

Введение

Мы живём в мире, где информация играет наибольшую или по крайней мере значительную роль в жизни людей. Почти каждый человек имеет доступ к Интернету, а значит может потреблять, передавать и генерировать информацию с помощью своего устройства, подключённого к сети.

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

В первой части своей курсовой работы я рассматриваю, какие средства безопасности применяются в компьютерах Apple, а во второй выполняю практические задания, демонстрирующие, как работают распространённые алгоритмы шифрования, функции хеширования и электронно-цифровая подпись.


Часть 1. Средства обеспечения безопасности устройств на платформе Mac.

1.1.       Определение платформы Mac

Платформа Mac или Macintosh — это линейка персональных компьютеров производства корпорации Apple. Устройства этой линейки работают под управлением операционных систем семейства Mac OS

Так как средства безопасности относятся к программному обеспечению, далее будем говорить непосредственно о Mac OS как о комплексном продукте, содержащим в себе не только операционную систему, но и ряд средств безопасности:

1.    Gatekeeper

2.    FileVault 2

3.    RemoteWipe

4.    iCloud Keychain

5.    Брандмауэр

6.    «Песочница»

7.    Time Machine

1.2.       Gatekeeper

Это функция, которая защищает Mac от вредоносного программного обеспечения. Она проверяет наличие идентификатора разработчика у приложения, скачанного откуда-либо помимо Mac App Store. В случае отсутствия идентификатора программа не запустится, если не поменять соответствующие установки вручную.

По умолчанию Gatekeeper разрешает устанавливать приложения из Mac App Store и ПО, подписанное разработчиком. Также есть режим максимальной защиты, при котором автоматически устанавливаются приложения только из Mac App Store, а остальные, даже подписанные, блокируются. При этом любому приложению можно вручную разрешить установку.

Идентификатор разработчика (Developer ID) можно получить только непосредственно от Apple.

1.3.       FileVault 2

Эта встроенная программа зашифровывает жёсткий диск Mac целиком, используя при этом стандарт XTS-AES 128. Apple говорит, что базовое шифрование осуществляется так быстро, что применение шифрования незаметно для конечного пользователя. FileVault 2 ещё может закодировать любой съемный носитель, тем самым помогая пользователю обеспечить безопасное резервное копирование Time Machine (система резервного копирования, о которой будет сказано в п.1.10.) или просто закодировать пользовательские данные на других внешних накопителях.

Ещё FileVault 2 позволяет в два этапа стереть все данные с Mac: сначала программа удаляет ключи шифрования, что исключает доступ к данным, как утверждает Apple; потом происходит тщательное удаление всех данных с диска.

1.3.1.  XTS-AES 128

AES (Advanced Encryption Standard — расширенный стандарт шифрования) — это блочное шифрование, шифрующее блоки данных по 128 бит. Для шифрования данных более 128 бит AES использует режимы блочного шифрования. Существует множество различных режимов блочного шифрования AES, являющихся частью спецификации AES.

XTS, спецификация которого определена IEEE Std 1619-2007, добавлен Национальным институтом стандартов и технологий США в список режимов блочного шифрования AES в 2010 году. XTS использует два ключа AES (см. Рис. 1). Один ключ используется для выполнения блочного шифрования AES; другой используется для шифрования "Tweak Value" (значения поправки). Эта зашифрованная поправка затем изменяется с помощью полиномиальной функции Галуа (GF) и XOR с обычным и зашифрованным текстом каждого блока. Функция GF обеспечивает дополнительное размытие и обеспечивает отсутствие превращения блоков одинаковых данных в одинаковый шифрованный текст. Это позволяет превращать каждый блок в уникальный шифрованный текст при одинаковом обычном тексте без использования векторов инициализации и сцепления блоков. Фактически текст почти (но не полностью) дважды шифруется с помощью двух независимых ключей. Дешифровка данных выполняется обратным процессом. Поскольку каждый блок независим и сцепление отсутствует, при повреждении хранимых шифрованных данных невосстановимыми будут только данные в поврежденном блоке. Для режимов сцепления блоков при дешифровании такие ошибки распространяются на другие блоки.

Рис. 1. Упрощенная схема режима XTS

1.4.       RemoteWipe

Эта функция позволяет:

1.    Удалить все личные данные и восстановить заводские настройки Mac;

2.    Удаленно установить пароль доступа;

3.    Вывести на экран сообщение с указаниями, как вернуть ноутбук законному владельцу;

4.    Приостановить работу Apple Pay;

5.    Определить местонахождение Mac на карте

6.    Получить сообщение, когда компьютер выйдет в сеть.

1.5.       iCloud Keychain и пароли в целом

iCloud Keychain или связка ключей iCloud — это облачный сервис, который хранит логины с паролями и данные кредитной карты с использованием AES 256. Благодаря тому, что сервис облачный, он предоставляет функции синхронизации, а благодаря тому, что встроенный — функции автозаполнения.

iCloud Keychain обретает ещё больший смысл благодаря встроенному в стандартный браузер Mac OS Safari генератора сложных (а значит и не запоминаемых) паролей.

Что же касается Apple ID, то тут предлагается использовать двухфакторную аутентификацию.

1.6.       Управление конфиденциальностью

В Mac OS можно настроить, какие приложения могут использовать данные о местоположении и диагностической информации, а какие нет. В Safari можно блокировать cookie и отслеживание действий пользователя. Существуют также вкладки «доступности», которые позволяют разрешать определенным приложениям «управлять компьютером» (как «выполнить от имени администратора» в Windows).

1.7.       Антифишинг

Фишинг — это форма мошенничества, при которой злоумышленники пытаются получить ценную информацию, например, имена пользователей, пароли и данные кредитных карт, создавая поддельные веб-сайты, которые выглядят, как настоящие сайты компаний — например, сайт банка или социальной сети. Технология защиты от фишинга в Safari может обезопасить от подобного мошенничества, выявляя подменённые веб-сайты. При посещении подозрительного сайта Safari предупреждает и предотвращает загрузку страницы.

1.8.       Брандмауэр

Брандмауэр — это программа, которую можно использовать для управления подключениями к компьютеру с других сетевых устройств.

С помощью брандмауэра для программ в OS X 10.5.1 и более поздних версий можно управлять подключениями на уровне программ (а не портов). Это позволяет более эффективно использовать преимущества защиты с помощью брандмауэра, а также помогает закрыть нежелательным программам доступ к сети через порты, используемые разрешенными программами.

Встроенный в Mac OS брандмауэр имеет несколько режимов работы:

1.8.1.  Блокировать все входящие подключения

В этом режиме блокируется приём входящих подключений всеми службами общего доступа, такими как «Общий доступ к файлам» и «общий экран». Системные службы по-прежнему могут принимать следующие входящие подключения:

·        configd для DHCP и других служб для настройки сети;

·        mDNSResponder для реализации Bonjour;

·        racoon для реализации IPSec.

1.8.2.  Разрешение для отдельных программ

В этом режиме по умолчанию приём входящих подключений блокируется. Исключения составляют программы, добавленные пользователем в «Параметры брандмауэра».

1.8.3.  Автоматически разрешать подписанному ПО входящие подключения

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

При запуске программы, которая не имеет цифровой подписи и не включена в список брандмауэра, на экране отображается диалоговое окно, где можно разрешить или запретить подключения для этой программы. В обоих случаях она будет добавлена в список брандмауэра, но в зависимости от ответа с той или иной пометкой (запрещать/разрешать).

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

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

1.8.4.  Невидимый режим

Если включить невидимый режим, компьютер не будет отвечать на проверочные запросы. Но он по-прежнему будет отвечать на запросы, поступающие от авторизованных программ. Неожиданные запросы, например ICMP (ping), игнорируются.

1.8.5.  Ограничения брандмауэра

Брандмауэр для программ предназначен для работы с интернет-протоколами TCP и UDP. Настройки брандмауэра не влияют на подключения AppleTalk. Брандмауэр можно настроить на блокировку входящих запросов ICMP, включив в дополнительных настройках невидимый режим. Доступ к более ранней технологии ipfw по-прежнему осуществляется из командной строки (в программе «Терминал»), а правила ipfw имеют более высокий приоритет по сравнению с правилами брандмауэра для программ. Все входящие пакеты, заблокированные ipfw, не обрабатываются брандмауэром для программ.

1.9.       «Песочница» и защита на уровне ядра

Sandbox или «Песочница» — это изолированная среда для потенциально опасных приложений. В Mac OS эта технология используется в Safari, где в «песочницу» помещаются наиболее уязвимые программные продукты:

1.    Встроенный инструмент просмотра PDF;

2.    Adobe Flash Player;

3.    Silverlight;

4.    QuickTime;

5.    Oracle Java.

Кроме того, Mac OS помещает в «песочницу» следующие приложения:

6.    Почта

7.    Сообщения

8.    FaceTime

9.    Календарь

10. Контакты

11. Фото

12. Заметки

13. Напоминания

14. Photo Booth

15. Быстрый просмотр

16. Game Center

17. Словарь

18. Шрифты

19. Mac App Store.

А также есть защита в реальном времени: встроенная в процессор функция отключения выполнения (XD — eXecutive Display), которая позволяет отделить память с данными, и память команд. Это защищает от вирусов, стремящихся ввести Mac в заблуждение, заставив компьютер поступать с данными так же, как и с командами, с целью скомпрометировать систему.

Помимо этого, в Mac применяется ASLR (англ. Address space layout randomization — «рандомизация размещения адресного пространства») — технология, применяемая в операционных системах, при использовании которой случайным образом изменяется расположение в адресном пространстве процесса важных структур данных, а именно образов исполняемого файла, подгружаемых библиотек, кучи и стека.

Технология ASLR создана для усложнения эксплуатации нескольких типов уязвимостей. Например, если при помощи переполнения буфера или другим методом атакующий получит возможность передать управление по произвольному адресу, ему нужно будет угадать, по какому именно адресу расположен стек, куча или другие структуры данных, в которые можно поместить шелл-код. Сходные проблемы возникнут и при атаке типа «возврат в библиотеку» (return-to-libc): атакующему не будет известен адрес, по которому загружена библиотека. В приведённых примерах от атакующего скрыты конкретные адреса, и, если не удастся угадать правильный адрес, приложение скорее всего аварийно завершится, тем самым лишив атакующего возможности повторной атаки и привлекая внимание системного администратора.

1.10. Time Machine

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


2.      Часть 2

2.1.       Шифр Цезаря

2.1.1.  Задание

Используя шифр Цезаря, зашифруйте свои ФИО.

2.1.2.  Решение

Исходный текст: ЩУКИН МИХАИЛ ЮРЬЕВИЧ. Используем алфавит, содержащий 33 буквы и пробел, стоящий после буквы Я.

Ключом в шифре Цезаря является число 3. То есть каждая буква в исходном тексте сдвигается по алфавиту на 3 позиции. Таким образом получаем:

Исходный текст: «ЩУКИН МИХАИЛ ЮРЬЕВИЧ»;

Зашифрованный текст: «ЬЦНЛРВПЛШГЛОВБУЯЗЕЛЪ».

2.1.3.  Ответ

ЬЦНЛРВПЛШГЛОВБУЯЗЕЛЪ.

2.2.       Алгоритм шифрования ГОСТ 28147-89

2.2.1.  Задание

Выполните первый цикл алгоритма шифрования ГОСТ 28147-89 в режиме простой замены. Для получения 64 бит исходного текста используйте 8 первых букв из своих ФИО. Для получения ключа (256 бит) используют текст, состоящий из 32 букв. Первый подключ содержит первые 4 буквы.

2.2.2.  Решение

Исходные данные: «ЩУКИН МИ».

Ключ: «Мой дядя самых честных правил ко»

Для первого подключа Х используем первые 4 буквы ключа: «Мой ».

Переводим исходный текст и первый подключ в двоичную последовательность.


Таким образом, первые 64 бита определяют входную последовательность:

11011001  11010011  11001010  11001000

11001101  00100000  11001100  11001000

Следующие 32 бита определяют первый подключ:

11001100  11101110  11101001  00100000

2.2.2.1.       Вычисление суммы второй половины входной последовательности и ключа по mod 232

1100 1101 0010 0000  1100 1100 1100 1000

1100 1100 1110 1110  1110 1001 0010 0000

1001 1010 0000 1111  1011 0101 1110 1000

2.2.2.2.       Преобразование в блоке подстановки

Для каждого 4-битного блока вычислим его адрес в таблице подстановки. Номер блока соответствует номеру столбца, десятичное значение блока соответствует номеру строки в таблице.

номера блоков

8

7

6

5

4

3

2

1

 

1001

1010

0000

1111

1011

0101

1110

1000

номера строк

9

10

0

15

11

5

14

8

заполнение

2

14

4

2

12

3

5

6

 

результат

0010

1110

0100

0010

1100

0011

0101

0110

2.2.2.3.       Циклический сдвиг результата п.2.2.2.2. на 11 бит влево:

0001 0110 0001 1010  1011 0001 0111 0010

2.2.2.4.       2.2.2.4. Сложение по модулю 2 результата п.2.2.2.3. с первыми 32 битами входной последовательности:

1101 1001 1101 0011  1100 1010 1100 1000

0001 0110 0001 1010  1011 0001 0111 0010

1100 1111 1100 1001  0111 1001 1011 1010

2.2.3.  Ответ

1100 1111  1100 1001 0111 1001 1011 1010

2.3.       Алгоритм шифрования RSA

2.3.1.  Задание

Сгенерируйте открытый и закрытый ключи в алгоритме шифрования RSA, выбрав простые числа p и q из первой сотни. Зашифруйте сообщение, состоящее из ваших инициалов.

2.3.2.  Решение

2.3.2.1.       Генерация ключей

Выберем два простых числа: p = 59 и q = 11

Тогда модуль n = pq= 59*11 = 649, а функция Эйлера j(n) = (p-1)(q-1) = 58*10 = 580.

Закрытый ключ d выбираем из условий d < j(n) и d взаимно просто с j(n), т.е. d и j(n) не имеют общих делителей. Пусть d=21.

Открытый ключ e выбираем из условий e<j(n) и de=1(mod j(n)):e<580, 21e=1(mod 580). Последнее условие означает, что число 21e-1 должно делиться на 580 без остатка. Таким образом, для определения e нужно подобрать такое число k, что 21e-1 = 580k. При k=8 получаем 21e=4640+1 или e=221.

В нашем случае: открытый ключ имеет значение (221, 649), cекретный ключ имеет значение (21, 649).

2.3.2.2.       Шифрование

Для зашифровывания используем алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

Представим шифруемое сообщение «ЩМЮ» как последовательность целых чисел. Пусть буква «Щ» соответствует числу 27, буква «М» – числу 14 и буква «Ю» – числу 32. Зашифруем сообщение, используя открытый ключ:

С1 = (27221) mod649= 346; С2 = (14221) mod649= 47; С3 = (32221) mod649=362.

Таким образом, исходному сообщению соответствует криптограмма (346, 47, 362)

2.3.2.3.       Расшифрование

Расшифруем сообщение, пользуясь секретным ключом:

М1 = (34621) mod 649=27

М2 = (4721) mod 649=14

М3 = (36221) mod 649= 32

2.3.3.  Ответ

В результате расшифрования было получено исходное сообщение (27, 14, 32), то есть «ЩМЮ».

2.4.       Функция хеширования

2.4.1.  Задание

Найти хеш–образ своей Фамилии, используя хеш–функцию , где n = pq, p и q взять из п.2.3.

2.4.2.  Решение

Хешируемое сообщение «ЩУКИН». Возьмем два простых числа p=59, q=11. Определим n = pq= 59*11 = 649. Вектор инициализации H0 выберем равным 5. Хешируемое слово можно представить последовательностью чисел (32, 21, 12, 10, 15) по номерам букв в алфавите. Таким образом, n=649, H0=5, M1=32, M2=21, M3=12, M4=10, M5=15.

Используя формулу , получим хеш-образ сообщения «ЩУКИН»:

H1 = (H0+M1)2 mod n = (5 + 32)2 mod 649 = 71

H2 = (H1+M2)2 mod n = (71 + 21)2 mod 649 =27

H3 = (H2+M3)2 mod n = (27 + 12)2 mod 649 =223

H4 = (H3+M4)2 mod n = (223 + 10)2 mod 649 =422

H5 = (H4+M5)2 mod n = (422 + 15)2 mod 649 =163

2.4.3.  Ответ

В итоге получаем хеш-образ сообщения «ЩУКИН», равный H = 163.

2.5.       Электронная цифровая подпись

2.5.1.  Задание

Используя хеш-образ своей Фамилии, вычислите электронную цифровую подпись по схеме RSA.

2.5.2.  Решение

Пусть хеш-образ Фамилии равен 163, а закрытый ключ алгоритма RSA равен (21, 649). Тогда электронная цифровая подпись сообщения, состоящего из Фамилии, вычисляется по правилу

s = (163)21 mod 649 = 53.

Для проверки ЭЦП, используя открытый ключ (221, 649), найдем

H = (53)221 mod 649 = 163.

2.5.3.  Ответ

s = 53. Поскольку хеш-образ сообщения совпадает с найденным значением H, то подпись признается подлинной.

Список литературы

1.    Macintosh https://ru.wikipedia.org/wiki/Macintosh

2.    Как зарегистрировать аккаунт разработчика Apple? https://www.apple-iphone.ru/review/kak-zaregistrirovat-akkaunt-razrab/

3.    Mac OS — Безопасность https://www.apple.com/ru/macos/security/

4.    Средства безопасности Mac OS X Yosemite https://www.kaspersky.ru/blog/sredstva-bezopasnosti-mac-os-x-yosemite/14952/

5.    Накопители с шифрованием https://www.kingston.com/ru/usb/encrypted_security/xts_encryption

6.    ОС OS X: сведения о брандмауэре для программ https://support.apple.com/ru-ru/HT201642

Report Page