Мы часто пишем о безопасности мобильных ОС, публикуем информацию о найденных уязвимостях, описываем слабые стороны защиты и способы взлома. Мы писали и о слежке за пользователями Android, и о зловредных приложениях, которые встраиваются прямо в прошивку, и о неконтролируемой утечке пользовательских данных в облако производителя. Какая же из современных мобильных платформ наиболее безопасна для пользователя — или хотя бы наименее небезопасна? Попробуем разобраться.
 

Что такое безопасность?

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

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

Сегодня мы коротко опишем основные достоинства и проблемы во всех современных мобильных ОС, которые имеют хоть какое-то распространение. В список входят Google Android, Apple iOS и Windows 10 Mobile (увы, но Windows Phone 8.1 назвать современной уже нельзя). Бонусом пойдут BlackBerry 10, Sailfish и Samsung Tizen.

 

Старички: BlackBerry 10

Прежде чем приступать к описанию актуальных платформ, скажем пару слов о BlackBerry 10, которая уже сошла с дистанции. Почему BlackBerry 10? В свое время система активно продвигалась как «самая безопасная» мобильная ОС. В чем-то это было действительно так, что-то, как всегда, преувеличили, что-то было актуальным три года назад, но безнадежно устарело сегодня. В целом нам нравился подход компании BlackBerry к безопасности; впрочем, не обошлось и без провалов.

Плюсы:

  • Микроядерная архитектура и система доверенной загрузки — это действительно безопасно. Прав суперпользователя за все время существования системы не получил никто (между прочим, пытались неоднократно, в том числе в серьезных конторах — BlackBerry далеко не всегда была аутсайдером).
  • Также невозможно обойти пароль на разблокирование устройства: спустя десять неудачных попыток данные в устройстве полностью уничтожаются.
  • Нет никаких встроенных облачных сервисов и нет целенаправленной слежки за пользователем. Данные не передаются на сторону, если только пользователь не решит установить облачное приложение самостоятельно (опционально поддерживаются такие службы, как OneDrive, Box.com, Dropbox).
  • Образцовая реализация корпоративных политик безопасности и удаленного контроля через BES (BlackBerry Enterprise Services).
  • Надежное (но опциональное) шифрование как встроенного накопителя, так и карт памяти.
  • Облачных резервных копий нет совсем, а локальные шифруются с помощью безопасного ключа, привязанного к BlackBerry ID.

Минусы:

  • Данные по умолчанию не шифруются. Впрочем, компания может активировать шифрование на устройствах сотрудников.
  • Шифрование данных блочное, одноранговое; отсутствует понятие классов защиты и что-либо, хотя бы отдаленно напоминающее Keychain в iOS. Например, данные приложения Wallet можно извлечь из резервной копии.
  • В учетную запись BlackBerry ID можно зайти просто с логином и паролем; двухфакторная аутентификация не поддерживается. Сегодня такой подход совершенно неприемлем. Кстати, если известен пароль от BlackBerry ID, можно извлечь ключ, с помощью которого расшифруется созданный привязанным к данной учетке бэкап.
  • Защита от сброса к заводским настройкам и защита от кражи очень слабая. Она обходится простой заменой приложения BlackBerry Protect при сборке автозагрузчика или (до BB 10.3.3) понижением версии прошивки.
  • Отсутствует рандомизация MAC-адреса, что позволяет отслеживать конкретное устройство с помощью точек доступа Wi-Fi.
BlackBerry 10 умеет шифровать как внутреннюю память, так и SD-карту
BlackBerry 10 умеет шифровать как внутреннюю память, так и SD-карту

Еще один звоночек: BlackBerry охотно сотрудничает с правоохранительными органами, оказывая максимально возможную помощь в поимке преступников, которые пользуются смартфонами BlackBerry.

В целом при грамотной настройке (а пользователи, выбравшие BlackBerry 10, как правило, настраивают свои устройства вполне грамотно) система способна обеспечить как приемлемый уровень безопасности, так и высокий уровень приватности. Впрочем, «опытные пользователи» могут свести все преимущества на нет, установив на смартфон взломанную версию Google Play Services и получив все прелести присмотра «Большого Брата».

 

Экзотика: Tizen и Sailfish

Tizen и Sailfish — явные аутсайдеры рынка. Аутсайдеры даже в большей степени, чем Windows 10 Mobile или BlackBerry 10, доля которой упала ниже отметки 0,1%. Их безопасность — это безопасность «неуловимого Джо»; о ней мало что известно лишь потому, что они мало кому интересны.

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

  • Если не проводились серьезные независимые исследования, то говорить о безопасности платформы нельзя. Критические уязвимости вскроются не раньше, чем платформа получит распространение. Но будет поздно.
  • Зловредного ПО нет лишь из-за слабой распространенности платформы. Тоже в каком-то роде защита.
  • Механизмы безопасности недостаточны, отсутствуют или описаны лишь на бумаге.
  • Любые сертификации говорят лишь о том, что устройство прошло сертификацию, но ровным счетом ничего не говорят о фактическом уровне безопасности.
 

Jolla Sailfish

С Sailfish ситуация неоднозначная. С одной стороны, система как бы жива: на ее основе время от времени анонсируются какие-то устройства, и даже «Почта России» приобрела большую партию устройств с запредельно высоким ценником. С другой — пользователям предлагают заплатить стоимость крепкого середнячка на Android за модель под управлением Sailfish, обладающую характеристиками китайского дешевого смартфона трехлетней (!) давности. Такой подход сработает в единственном случае: если модели на Sailfish будут закупаться за бюджетные деньги, после чего раздаваться государственным служащим нижнего звена. Разумеется, о какой-то там безопасности при таком подходе думать участникам сделки совсем не интересно.

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

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

Sailfish OS
Sailfish OS
Sailfish OS
Sailfish OS
Sailfish OS
 

Samsung Tizen

Несколько особняком от остальных «экзотических» платформ стоит Samsung Tizen. В отличие от Ubuntu Touch и Sailfish, Tizen — вполне распространенная система. Под ее управлением работают десятки моделей умных телевизоров Samsung, а также умные часы и несколько бюджетных смартфонов (Samsung Z1–Z4).

Как только Tizen получила заметное распространение, за систему взялись независимые исследователи. Результат неутешителен: в первые же месяцы было найдено более сорока критических уязвимостей. Процитируем слова Амихая Нейдермана, который провел исследование безопасности Tizen:

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

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

Телевизор Samsung под управлением Tizen
Телевизор Samsung под управлением Tizen
 

Apple iOS

Apple мы будем хвалить. Да, это закрытая экосистема, и да, ценник несопоставим с техническими возможностями, но тем не менее устройства под управлением iOS были и остаются самыми безопасными из распространенных коммерческих решений. В основном это касается текущих моделей поколений iPhone 6s и 7 (и, пожалуй, SE).

Более старые устройства обладают меньшим запасом прочности. Для стареньких iPhone 5c, 5s и 6 уже есть способы разблокирования загрузчика и атаки на пароль устройства (за подробностями можно обратиться к разработчикам — компании Cellebrite). Но даже для этих устаревших устройств взлом загрузчика — дело трудоемкое и весьма недешевое (в Cellebrite просят за услугу несколько тысяч долларов). Думаю, мой или твой телефон никто таким способом ломать не станет.

Итак, что мы имеем на сегодняшний день. Начнем с физической безопасности.

  1. Все iPhone и iPad iOS 8.0 и выше (а в настоящий момент актуальна iOS 10.3.2, которая еще более безопасна) применяют настолько стойкие методы защиты, что даже их производитель как официально, так и фактически отказывается извлекать информацию из заблокированных устройств. Независимые исследования (в том числе в лаборатории «Элкомсофт») подтверждают заявления Apple.
  2. В iOS предусмотрена (и действительно работает) система защиты данных в случае кражи или потери устройства. Доступны механизмы удаленного стирания данных и блокировки устройства. Украденное устройство невозможно будет разблокировать и перепродать, если злоумышленнику неизвестны как пароль на устройство, так и отдельный пароль от учетной записи Apple ID владельца. (Впрочем, китайским умельцам доступно все, и вмешательство в аппаратную часть устройства способно обойти эту защиту… для iPhone 5s и более старых устройств.)
  3. Многоуровневое шифрование данных «из коробки» идеально спроектировано и реализовано. Раздел данных шифруется всегда; используется блочный шифр с ключами, уникальными для каждого отдельного блока, при этом при удалении файла соответствующие ключи удаляются — а значит, восстановить удаленные данные в принципе невозможно. Ключи защищены выделенным сопроцессором, входящим в систему Secure Enclave, и вытащить их оттуда нельзя даже с jailbreak (мы пробовали). Данные при включении остаются зашифрованными, пока ты не введешь правильный пароль. Более того, некоторые данные (например, пароли к веб-сайтам, скачанная на устройство электронная почта) дополнительно шифруются в защищенном хранилище Keychain, причем часть из них невозможно извлечь даже с джейлбрейком.
  4. Ты не можешь просто воткнуть в компьютер iPhone и скачать с него данные (кроме фотографий). В iOS предусмотрена возможность установления доверительных отношений с компьютерами. При этом создается пара криптографических ключей, позволяющих доверенному компьютеру делать с телефона резервные копии. Но даже эту возможность можно ограничить с помощью корпоративной политики безопасности или фирменным приложением Apple Configurator. Безопасность бэкапов обеспечивается возможностью установить сложный пароль (пароль требуется исключительно для восстановления данных из резервной копии, поэтому в режиме повседневного использования мешаться не будет).
  5. Разблокировка iPhone сделана на достаточно безопасном уровне. Для разблокировки можно использовать как стандартный PIN-код из четырех цифр, так и более сложный пароль. Единственный дополнительный способ разблокирования устройства — отпечаток пальца. При этом реализация механизма такова, что у злоумышленника будет очень мало возможностей им воспользоваться. Данные отпечатка зашифрованы и будут удалены из оперативной памяти устройства после выключения или перезагрузки; через некоторое время, если устройство ни разу не разблокировалось; после пяти неудачных попыток; через некоторое время, если пользователь ни разу не вводил пароль для разблокировки устройства.

    PIN-код или датчик отпечатков — решать тебе
    PIN-код или датчик отпечатков — решать тебе
    PIN-код или датчик отпечатков — решать тебе
    PIN-код или датчик отпечатков — решать тебе
    PIN-код или датчик отпечатков — решать тебе
  6. В iOS есть опция, позволяющая автоматически удалять данные после десяти неудачных попыток входа. В отличие от BlackBerry 10, эта опция контролируется на уровне операционной системы; для старых версий iOS (вплоть до iOS 8.2) существуют способы ее обойти.

    В iOS можно ограничить запуск приложений отдельным паролем
    В iOS можно ограничить запуск приложений отдельным паролем
    В iOS можно ограничить запуск приложений отдельным паролем
    В iOS можно ограничить запуск приложений отдельным паролем
    В iOS можно ограничить запуск приложений отдельным паролем
 

Что у нас со слежкой за пользователем и с утечками?

В iOS есть отключаемая синхронизация с облаком через собственный сервис Apple iCloud. В частности, в iCloud обычно сохраняются:

  • резервные копии данных устройства;
  • синхронизированные данные — журнал звонков, заметки, календари, пароли в iCloud Keychain;
  • пароли и история посещения ресурсов в браузере Safari;
  • фотографии и данные приложений.

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

Любые виды синхронизации можно отключить
Любые виды синхронизации можно отключить
Любые виды синхронизации можно отключить
Любые виды синхронизации можно отключить
Любые виды синхронизации можно отключить

В iOS предусмотрен механизм для предотвращения слежки (система может представлять внешнему миру случайные идентификаторы модулей Wi-Fi и Bluetooth вместо фиксированных настоящих).

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

Нужно отметить, что в iOS давным-давно был реализован гранулярный контроль за разрешениями приложений. Ты можешь по отдельности разрешить или запретить каждому приложению такие вещи, как возможность работы в фоновом режиме (в «чистом» Android такой возможности нет!), доступ к местоположению, уведомлениям и тому подобное. Наличие этих настроек позволяет эффективно ограничивать слежку со стороны приложений, которые сделали такую слежку своим основным бизнесом (это касается как приложений класса Facebook, так и игр наподобие Angry Birds).

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

Что интересно, iOS начиная с 9-й версии защищена и от атак класса man in the middle с перехватом и подменой сертификата. И если в лаборатории «Элкомсофт» удалось отреверсить протокол бэкапов iCloud в 8-й версии системы, то в более новых ОС этого сделать не вышло по техническим причинам. С одной стороны, получаем гарантию безопасности передаваемых данных; с другой — у нас нет возможности достоверно убедиться в том, что на серверы не будет отправлена «лишняя» информация.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


13 комментария

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

А ты знал? 10 фактов о Python

Python — язык программирования с достаточно низким порогом вхождения, поэтому его часто вы…