28.11.2012

Безопасность iOS (часть III)

image

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

Автор: Понуровский Иван

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

Сетевая безопасность

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

iMessage – встроенное приложение для обмена мгновенными сообщениями. В более ранних версиях обмениваться можно было только текстовыми сообщениями. Начиная с iOS 3.0, появилась поддержка MMS сообщений.

Другие мобильные платформы для защиты открытых портов могут потребовать дополнительной установки межсетевого экрана. Благодаря уменьшенной поверхности атаки (отсутствие необязательных сетевых утилит типа telnet), iOS дополнительного межсетевого экрана не требует. Кроме того, сообщения, передаваемые с помощью служб iMessage, FaceTime и Apple Push Notification Service полностью шифруются и аутентифицируются.

SSL, TLS

FaceTime – название приложения и соответствующего протокола для видеозвонков. FaceTime доступен для всех устройств Apple, имеющих камеру на передней панели.

iOS поддерживает протоколы Secure Socket Layer (SSL v3), а также Transport Layer Security (TLS v1.1, TLS v1.2) и Datagram Transport Layer Security (DLTS). Необходимо заметить, что протоколы SSL v3/TLS v1.0 считаются небезопасными, поскольку на них в недалеком прошлом была осуществлена известная атака под названием BEAST. Приложения типа Safari, Mail, Calendar автоматически используют вышеописанные протоколы для установки зашифрованного соединения между устройством и сетевыми сервисами. Кроме того, разработчики могут встраивать TLS и в свои приложения с помощью высокоуровневых API (платформа CFNetwork).

VPN

Apple Push Notification Service - служба уведомлений Apple, работающая на технологии push. Уведомления передаются по IP-каналу. Максимальный размер уведомления – 256 байтов.

VPN-сервисы практически не нуждаются в дополнительной настройке для работы с iOS-устройствами. Устройства под управлением iOS поддерживают множество механизмов аутентификации и протоколов различных фирм. Все они перечислены ниже.




  • Juniper Networks, Cisco, Aruba Networks, SonicWALL, Check Point, F5 Networks SSL-VPN. Для установления VPN-соединения с такими серверами пользователю нужно скачать соответствующее клиентское приложение из Apple Store;
  • Cisco IPSec с аутентификацией пользователя по паролю или токену RSA SecurID, а также аутентификация рабочей станции по разделяемому секрету или сертификату. Cisco IPSec поддерживает функцию “VPN-On-Demand” для доменов, указанных при настройке устройства. Другими словами, откуда бы пользователь ни пытался установить соединение с указанным доменом, соединение всегда будет зашифрованным;
  • L2TP/IPSec c аутентификацией пользователя по MS-CHAP v2 или RSA SecurID, а также аутентификация рабочей станции по разделяемому секрету;
  • PPTP c аутентификацией пользователя по MS-CHAP v2 или RSA SecurID.

Wi-Fi

Для обеспечения аутентифицированного доступа к беспроводной корпоративной сети iOS поддерживает большинство Wi-Fi протоколов. Протокол WPA2 Enterprise использует 128-битное AES-шифрование, которое гарантирует пользователям высший уровень защиты данных при их передаче по беспроводной сети. Кроме того, устройства с iOS поддерживают аутентификацию по протоколу RADIUS. Среди других поддерживаемых методов аутентификации можно назвать следующие: EAP-TLS, EAP-TTLS, EAP-FAST, EAP-SIM, PEAPv0, PEAPv1, LEAP.

Bluetooth

Сама спецификация Bluetooth подразумевает несколько режимов шифрования, безопасности и несколько уровней сервиса. Что касается непосредственно iOS, то операционная система обеспечивает третий режим шифрования (Encryption Mode 3), четвертый режим безопасности (Security Mode 4) и первый уровень сервиса (Service Level 1).

Encryption Mode 3 означает, что шифруется весь входящий и исходящий трафик.

Security Mode 4 – это режим, в котором все процедуры безопасности осуществляются после установления связи между устройствами. В четвертом режиме безопасности распределение ключа производится с помощью алгоритма Диффи-Хеллмана, основанного на эллиптических кривых (ECDH).

И, наконец, Service Level 1 – это уровень сервиса, требующий как аутентификации, так и авторизации. При первом уровне сервиса автоматический доступ предоставляется только доверенным устройства, неавторизованные устройства нужно авторизовать вручную.

В спецификации Bluetooth определено несколько так называемых профилей. Профиль – это совокупность функций и возможностей, которое способно выполнять устройство. iOS поддерживает шесть профилей:

  • Hands-Free Profile (HFP 1.5) – необходим для соединения устройства и беспроводной гарнитуры, звук передается в режиме моно;
  • Phone Book Access Profile (PBAP) – для обмена записями из телефонных книг между устройствами;
  • Advanced Audio Distribution Profile (A2DP) – предназначен для передачи звука в режиме стерео от устройства к беспроводной гарнитуре;
  • Audio/Video Remote Control Profile (AVRCP) – профиль позволяет использовать ваше устройство в качестве пульта дистанционного управления аудио/видео оборудования;
  • Personal Area Network Profile (PAN) – профиль использует протокол Bluetooth Network Encapsulation в качестве транспорта через Bluetooth-соединение;
  • Human Interface Device Profile (HID) – обеспечивает поддержку таких устройств, как мышка, джойстик, клавиатура.

Конфигурация настроек устройства

Специально для централизованной настройки параметров устройства (в том числе параметров безопасности) Apple разработала специальную утилиту iPhone Configuration Utility. Утилита, как правило, используется администраторами предприятия для массовой настройки устройств. В результате настройки создается так называемый конфигурационный профиль – файл в формате XML. Для поддержания целостности и конфиденциальности конфигурационный файл можно подписать и зашифровать; шифруется файл по стандарту CMS (RFC 3852). У администраторов также есть возможность “привязять” профиль к устройству, и запретить пользователю удалять его.

Профиль, создаваемый с помощью iPhone Configurator Utilility, может иметь несколько подразделов, на некоторых из них остановимся поподробнее:

1. General – содержит такую общую информацию о профиле, как название, краткое описание, возможность удаления профиля пользователем и.т.п.;

2. Passcode (Парольные политики) – здесь устанавливаются требования к сложности пароля; максимальная длина пароля; период смены пароля; время, через которое устройство будет автоматически блокироваться; парольная история; количество неправильных попыток ввода пароля, после которых вся информация с устройства будет стерта и.т.п. (см. Рисунок 1):

Рисунок 1. Парольные политики

3. Restrictions – в этом разделе администратор может ограничить функционал устройства (например, запретить/разрешить установку приложений, использование камеры); наложить ограничения на встроенные приложения Youtube, iTunes Store, Safari; настроить параметры облачного хранилища iCloud; сделать шифрование бэкапов принудительным и ограничить контент приложений, ТВ-передач и фильмов на основе системы рейтинга;

4. Wi-Fi – здесь указывается к какой беспроводной сети следует подключаться устройству, можно выбрать тип шифрования и при необходимости настроить прокси (см. Рисунок 2):

Рисунок 2. Настройки Wi-Fi

5. VPN - в настройках VPN указывается название соединения; тип соединения (L2TP, PPTP, IPSec(Cisco), Cisco AnyConnect, Juniper SSL, F5 SSL, SonicWALL Mobile Connect, Aruba VIA, Check Point Mobile VPN, Custom SSL); аутентификационные данные пользователя и прокси при необходимости (см. Рисунок 3):

Рисунок 3. Настройки VPN

6. Mail – настройка почтовой учетной записи;

7. Exchange ActiveSync – настройка синхронизации с Microsoft Exchange;

8. LDAP – настройки в этом разделе позволяют сделать более точным отображение контактов из адресной книги на учетные записи службы каталогов;

9. Calendar – настройки, служащие для синхронизации календаря устройства и корпоративного сервера календарей;

10. Subscribed Calendars – настройка, позволяющая подписаться на различные календари;

11. Contacts – настройка, благодаря которой устройство может получать доступ к корпоративному списку контактов;

12. Web Clips – в этом разделе можно добавить на домашний экран устройства иконки “web-clip”– закладки избранных веб-сайтов;

13. Credentials – при помощи настройки Credentials в устройство можно добавить цифровые сертификаты X.509;

14. SCEP (Simple Certificate Protocol Enrollment) – в данном разделе можно настроить параметры протокола SCEP (или “простого протокола регистрации сертификатов”). Благодаря SCEP устройство может автоматически получать сертификаты из Центра сертификации;

15. Mobile Device Management – с помощью этой настройки конфигурацией устройства можно будет управлять “по воздуху” через MDM-сервер. О том, что такое MDM, чуть ниже;

16. APN – и, наконец, последний раздел отвечает за настройку имени точки доступа (Access Point Name) устройства. Именно это настройка отвечает за то, как устройство будет соединяться с сотовой сетью.

Mobile Device Management

Mobile Device Management – это общее название систем, предназначенных для централизованного управления, мониторинга и защиты крупной инфраструктуры мобильных устройств. Сервис управления мобильными устройствами, как правило, предоставляется третьими сторонами. Среди крупных MDM-провайдеров можно выделить MobileIron, AirWatch, Zenprise, Good Technology.

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

Управление устройствами осуществляется MDM-сервером, причем в случае с iOS во взаимодействии также участвует Apple Push Notification Service. MDM-сервер может быть как корпоративным, так и принадлежать третьей стороне. Устройство периодически соединяется с MDM-сервером, чтобы проверить наличие ожидающих заданий и при необходимости выполняет их (например, получает файл конфигурации и применяет его). Причем всё взаимодействие с MDM-сервисом производится незаметно для пользователя. Упрощенная схема взаимодействия устройства с MDM-серверов представлена на Рисунке 4.

Рисунок 4. Сервис MDM

Заключение

Итак, базовые функции безопасности, функции шифрования и функции сетевой безопасности в совокупности своей воздвигают довольно высокий и прочный оплот защиты вокруг устройства и информации пользователя. Оплот прочный, но не неуязвимый. Как показало время и практика, абсолютно безопасных систем нет, и даже на кажущуюся неприступной систему рано или поздно найдется свой jailbreak. Конечно, jailbreak так или иначе понижает защищенность системы. Большую роль играет и правильная настройка системы. Но здесь мы опять возвращаемся к выбору каждого отдельного человека: каждый сам решает, делать ему jailbreak на своем устройстве или нет; каждый сам решает, что важнее: большая безопасность или большая свобода действии?

Памятуя о непрекращающихся холиварах на тему iOS vs. Android и тому подобных, хочу сказать, что я не ставил перед собой цель разрекламировать Apple и показать, какая это распрекрасная компания. Нет, мне интересно было разобраться именно в самой архитектуре безопасности, а хорошая она или плохая, каждый, повторюсь, решает сам.

Для дальнейшего изучения я наметил для себя три возможных направления: “вглубь”, “вдаль” и “вширь”. Во-первых, можно исследовать, как конкретно на программном или аппаратном уровне реализована та или иная функция безопасности (“вглубь”). Во-вторых, изучить историю развития архитектуры безопасности, начиная c iOS 1 и заканчивая недавно выпущенной iOS 6 (“вдаль”). И, в-третьих, изучить системы безопасности других мобильных платформ (Android, BlackBerry, Windows Mobile и.т.п.) и сравнить их между собой (“вширь”).

На этом всё. Надеюсь, мой рассказ был полезным и интересным.

Основные источники

  1. http://images.apple.com/ipad/business/docs/iOS_Security_May12.pdf
  2. http://images.apple.com/iphone/business/docs/iOS_MDM_Mar12.pdf
  3. http://help.apple.com/iosdeployment-ipcu/win/1.1/
  4. http://www.ece.umd.edu/class/ents650/BluetoothSecurity.pdf
  5. https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html
  6. http://habrahabr.ru/company/xakep/blog/132344/
или введите имя

CAPTCHA