Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

iOS_8_3_Security_WP_RS

.pdf
Скачиваний:
6
Добавлен:
27.03.2016
Размер:
899.5 Кб
Скачать

Безопасность iOS

iOS 8.3 или более новой версии

Июнь 2015 г.

Содержание

Стр. 4

Введение

Стр. 5

Безопасность системы

 

Безопасная последовательность загрузки

 

Авторизация системного ПО

 

Secure Enclave

 

Touch ID

Стр. 10 Шифрование и защита данных

Аппаратные функции безопасности Защита данных в файлах Пароли Классы защиты данных

Защита данных связки ключей

Доступ к паролям, сохраненным в Safari Хранилища ключей

FIPS 140-2

Стр. 19 Безопасность программ

Подпись кода программ Безопасность в процессе выполнения Расширения Группы программ

Защита данных в программах Аксессуары

HomeKit

HealthKit

Apple Watch

Стр. 29 Безопасность сети

SSL, TLS

VPN

Wi-Fi Bluetooth

Единый вход Безопасность AirDrop

Стр. 33 Интернет-службы

Apple ID iMessage FaceTime iCloud

Связка ключей iCloud Siri

Непрерывность Предложения Spotlight

Обзор безопасности iOS | Июнь 2015 г.

2

Стр. 47 Средства управления устройствами

Защита паролем

Модель создания пары iOS Принудительное применение конфигурации

Управление мобильными устройствами (MDM) Программа регистрации устройств

Apple Configurator

Ограничения устройств Ограничения только для сопровождаемых устройств Удаленное стирание

Функция «Найти iPhone» и блокировка активации

Стр. 54 Настройки конфиденциальности

Службы геолокации Доступ к персональным данным

Политика конфиденциальности

Стр. 56 Заключение

Всегда на страже безопасности

Стр. 57 Глоссарий

Обзор безопасности iOS | Июнь 2015 г.

3

Введение

Класс защиты данных

«Песочница» программы

ПО

Раздел пользователя

Раздел ОС

Зашифрованная файловая система

 

Ядро

Secure

Безопасный

Enclave

элемент

Криптографический модуль

Оборудование и прошивка

Ключ устройства Групповой ключ Корневой сертификат Apple

На данной схеме архитектуры безопасности iOS представлен визуальный обзор

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

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

Мы подумали о том, какие опасности подстерегают пользователей в среде персональных компьютеров, и при разработке iOS приняли новый подход

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

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

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

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

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

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

Этот документ состоит из следующих тематических разделов:

Безопасность системы.Интегрированные и безопасные программы

и оборудование, которые являются платформой для iPhone, iPad и iPod touch.

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

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

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

Интернет-службы.Сетевая инфраструктура Apple для отправки сообщений, синхронизации и резервного копирования.

Средства управления устройствами.Средства, которые предотвращают несанкционированное использование устройства и позволяют выполнить удаленное стирание в случае потери или кражи устройства.

Настройки конфиденциальности.Функции iOS, которые можно использовать для контроля доступа к службам геолокации и данным пользователей.

Обзор безопасности iOS | Июнь 2015 г.

4

Переход в режим обновления прошивки устройства (DFU)

При восстановлении устройства после перехода в режим DFU выполняется возврат в известное исправное состояние, в котором гарантированно присутствует только неизмененный код, который подписан компанией Apple. Переход в режим DFU можно выполнить вручную. Сначала подключите устройство к компьютеру с помощью USB-кабеля, затем одновременно

нажмите и удерживайте кнопки «Домой» и «Сон/Пробуждение». По прошествии 8 секунд отпустите кнопку «Сон/Пробуждение», продолжая удерживать кнопку «Домой». Примечание. В режиме DFU на экране устройства ничего не отображается. Если появляется логотип Apple,

значит кнопка «Сон/Пробуждение» удерживалась слишком долго.

Безопасность системы

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

иSecure Enclave. Эта архитектура является центром безопасности iOS

ине оказывает какого-либо влияния на удобство использования устройства.

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

Безопасная последовательность загрузки

На каждом этапе загрузки есть компоненты, которые подписаны Apple

с использованием криптографических методов для гарантии целостности и выполняются только после проверки цепочки доверия. Эти компоненты

включают загрузчики системы, ядро, расширения ядра и прошивку радиомодуля.

Сразу после включения устройства iOS процессор программ исполняет код загрузочного ПЗУ, которое доступно только для чтения. Этот неизменяемый код, называемый аппаратным корнем доверия, закладывается в процессе изготовления микросхемы и считается безоговорочно достоверным. Код загрузочного ПЗУ содержит открытый ключ корневого сертификата Apple. Используя этот ключ, перед выполнением загрузки устройство убеждается, что низкоуровневый загрузчик подписан Apple. Этот этап является первым звеном цепочки доверия,

в которой каждое звено убеждается в том, что следующее звено подписано Apple. Когда низкоуровневый загрузчик завершает свои процедуры, он проверяет

изапускает загрузчик системы, iBoot, который, в свою очередь, проверяет

изапускает ядро iOS.

Эта безопасная последовательность загрузки гарантирует, что низкие уровни программного обеспечения не подделаны, и позволяет запускать iOS только на проверенных устройствах Apple.

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

На устройствах с процессором A7 или более новой версией процессора из серии А сопроцессор Secure Enclave также задействует процесс безопасной загрузки, который гарантирует, что его специализированное программное обеспечение проверено и подписано Apple.

Обзор безопасности iOS | Июнь 2015 г.

5

Если одному из этапов этого процесса загрузки не удается загрузить или проверить следующий этап, процесс загрузки останавливается и на устройстве отображается сообщение о необходимости подключения к iTunes. Это состояние называется режимом восстановления. Если загрузочному ПЗУ не удается загрузить или проверить низкоуровневый загрузчик, оно переходит в режим DFU (обновление прошивки устройства). В обоих случаях необходимо подключить устройство к iTunes через USB и восстановить заводские настройки. Дополнительные сведения

о ручном переходе в режим восстановления см. в статье https://support.apple.com/ru-ru/HT1808. 

Авторизация системного ПО

Apple регулярно выпускает обновления программного обеспечения в ответ на возникающие проблемы безопасности и разрабатывает новые функции;

обновления предоставляются для всех поддерживаемых устройств одновременно. Пользователь получает уведомление о наличии обновления iOS на устройстве

и в iTunes. Обновления передаются через беспроводную сеть, что ускоряет установку и устранение обнаруженных проблем безопасности.

Вышеописанный процесс загрузки не позволяет устанавливать на устройства посторонний код — только код, подписанный Apple. Чтобы предотвратить возможность возврата к предыдущим версиям системы, в которых не заложено новейших обновлений системы безопасности, в iOS используется так называемая

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

На устройствах с процессором A7 или более новым процессором серии A есть сопроцессор Secure Enclave, который также использует авторизацию системного ПО для проверки целостности своего программного обеспечения и для защиты

от возврата к предыдущим версиям. См. раздел «Secure Enclave» ниже.

Обновить iOS на устройстве можно через iTunes или через беспроводную сеть. При использовании iTunes загружается и устанавливается полная копия iOS. При беспроводном обновлении загружаются только те компоненты, которые необходимы для обновления системы — тем самым оптимизируется расход трафика. Кроме того, обновления можно кэшировать на сервере в локальной сети, где установлена система OS X Server и запущена служба кэширования. Тогда устройствам iOS не придется обращаться к серверам Apple для загрузки обновлений.

При обновлении iOS программа iTunes (или само устройство, если выполняется беспроводное обновление) подключается к серверу авторизации установки Apple и отправляет ему список криптографических показателей для каждой части установочного пакета, которую предстоит установить (например, низкоуровневый загрузчик, iBoot, ядро, образ ОС), случайное специальное значение (nonce) для функции антиповтора и уникальный идентификатор устройства (ECID).

Сервер авторизации сверяет полученные значения с теми, для которых разрешена установка. Если соответствие найдено, сервер добавляет ECID к показателям

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

Обзор безопасности iOS | Июнь 2015 г.

6

Проверка цепочки доверия в момент загрузки позволяет убедиться, что подпись исходит от Apple, а значения показателей объекта, загруженного с диска,

в сочетании с ECID устройства, совпадают с теми, на которые распространяется подпись.

Все эти этапы гарантируют, что авторизация выполнена для данного конкретного устройства, а более старую версию iOS нельзя будет скопировать с одного устройства на другое. Значение nonce не позволяет злоумышленнику сохранить ответ сервера и использовать его для взлома устройства или какого-либо изменения системного ПО.

Secure Enclave

Secure Enclave — это сопроцессор, встроенный в процессор A7 или более новую версию процессора из серии А. В нем используется собственная безопасная загрузка и персонализированные обновления ПО, которые отделены от процессора программ. Он выполняет все криптографические операции для управления ключами системы защиты данных и обеспечивает целостность системы защиты данных даже в случае нарушения безопасности ядра.

Secure Enclave использует шифрованную память и включает в себя аппаратный генератор случайных чисел. Его микроядро построено на базе семейства L4 и содержит ряд модификаций, внесенных Apple. Обмен данными между Secure Enclave и процессором программ ограничен почтовым ящиком, который управляется прерываниями, и общими буферами данных в памяти.

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

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

Secure Enclave отвечает за обработку данных, получаемых датчиком Touch ID. Он сверяет отпечаток с зарегистрированными отпечатками и разрешает доступ или покупку от имени пользователя. Датчик Touch ID обменивается данными

с процессором по шине последовательного периферийного интерфейса. Процессор не может прочитать эти данные, а просто перенаправляет

их сопроцессору Secure Enclave. Для шифрования и аутентификации этих данных используется ключ сеанса, который согласовывается с помощью общего ключа устройства, выделенного для датчика Touch ID и Secure Enclave. При обмене ключом сеанса используется алгоритм защиты ключа AES: обе стороны предоставляют случайный ключ, который задает ключ сеанса и использует транспортное шифрование AES-CCM.

Обзор безопасности iOS | Июнь 2015 г.

7

Touch ID

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

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

Touch ID и пароли

Для использования Touch ID необходимо настроить устройство таким образом, чтобы для его разблокировки требовался пароль. Если Touch ID сканирует

и распознает зарегистрированный отпечаток пальца, устройство разблокируется, не запрашивая пароля. В любой момент вместо использования Touch ID можно ввести пароль. Также пароль требуется в следующих ситуациях:

устройство только что включено или перезапущено;

устройство не разблокировалось более 48 часов;

устройство получило команду удаленной блокировки;

пять неудавшихся попыток сравнения отпечатка пальца;

настройка или регистрация новых отпечатков пальцев в Touch ID.

Если включена технология Touch ID, устройство блокируется сразу после нажатия кнопки «Сон/Пробуждение». Если используется только пароль, многие пользователи задают отсрочку блокировки устройства, чтобы не вводить пароль при каждом использовании. При использовании Touch ID блокировка устройства выполняется при каждом переходе в режим сна, и при каждом пробуждении необходимо приложить палец к сканеру или ввести пароль.

Touch ID можно обучить распознаванию до пяти различных пальцев. Если зарегистрирован только один палец, вероятность случайного совпадения с отпечатком другого пользователя составляет 1 к 50 000. Однако Touch ID допускает только пять неудавшихся попыток сравнения отпечатка пальца, а затем для получения доступа пользователю потребуется ввести пароль.

Другие варианты использования Touch ID

Touch ID можно также настроить на утверждение покупок в iTunes Store, App Store и iBooks Store, чтобы пользователям не нужно было вводить пароль

Apple ID. Когда пользователь решает совершить покупку, устройство и магазин обмениваются токенами аутентификации. Токен и криптографическое значение nonce сохраняются в Secure Enclave. Значение nonce подписывается с помощью ключа Secure Enclave, общего для всех устройств и iTunes Store.

Кроме того, программы сторонних разработчиков могут использовать системные API для аутентификации пользователя с помощью Touch ID или пароля. Программа просто получает уведомление об успешном или неуспешном прохождении аутентификации; она не имеет доступа к Touch ID или данным, которые связаны

с зарегистрированными отпечатками пальцев.

Обзор безопасности iOS | Июнь 2015 г.

8

Touch ID также можно использовать для защиты элементов связки ключей —

вэтом случае Secure Enclave будет разблокировать элементы связки ключей только

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

Безопасность Touch ID

Датчик отпечатков пальцев активируется только, когда окружающее кнопку «Домой» емкостное сенсорное кольцо из нержавеющей стали распознает прикосновение пальца; затем усовершенствованная матрица сканирует палец и отправляет изображение в Secure Enclave.

Растровое изображение размером 88 на 88 пикселей и плотностью 500 точек на дюйм временно сохраняется в зашифрованном участке памяти Secure Enclave, векторизируется для анализа, а затем удаляется. Анализ использует угловое представление дактилоскопического узора, которое намеренно создается с потерями, чтобы нельзя было восстановить фактический отпечаток пальца пользователя. Полученная схема узловых точек сохраняется без какой-либо

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

и не включается в резервные копии iCloud или iTunes.

Каким образом Touch ID разблокирует устройство iOS

Если датчик Touch ID отключен, то при блокировке устройства ключи для класса защиты данных «Полная», хранящиеся в Secure Enclave, удаляются.

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

Если датчик Touch ID включен, то при блокировке устройства ключи не удаляются; они защищаются с помощью ключа, выделенного для подсистемы Touch ID

в Secure Enclave. Если пользователь пытается разблокировать устройство

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

Ключи, которые необходимы подсистеме Touch ID для разблокировки устройства, пропадают при перезагрузке устройства и удаляются Secure Enclave по прошествии 48 часов или пяти неудавшихся попыток распознавания Touch ID. 

Обзор безопасности iOS | Июнь 2015 г.

9

Шифрование и защита данных

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

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

Аппаратные функции безопасности

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

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

В каждом устройстве iOS имеется специализированный криптографический модуль AES 256, который встроен непосредственно в канал DMA между флэш-памятью

и основной системной памятью для повышения эффективности шифрования файлов.

Уникальный идентификатор устройства (UID) и идентификатор группы устройств (GID) — это 256-битные ключи AES, вшитые (UID) или скомпилированные

(GID) в процессор программ и Secure Enclave на этапе производства. Ни одна программа или микропрограмма не может прочитать их напрямую; им доступны только результаты операций шифрования и дешифрования, выполненных специализированными модулями AES на кристалле с использованием UID или GID в качестве ключа. Кроме того, UID и GID подсистемы Secure Enclave могут быть использованы только специализированным AES-модулем Secure Enclave. Идентификаторы UID являются уникальными для каждого устройства

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

по отношению к безопасности задач, таких как доставка системного программного обеспечения во время установки и восстановления. Интеграция этих ключей в микросхему предотвращает их подделку или обход и гарантирует, что они будут

доступны только модулю AES. Кроме того, идентификаторы UID и GID недоступны через JTAG и другие интерфейсы отладки.

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

из одного устройства в другое файлы будут недоступны. UID не связан ни с каким другим идентификатором устройства.

Обзор безопасности iOS | Июнь 2015 г.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]