iOS vs Android: какая ОС безопаснее?

ios vs android

В своей свежей публикации профессор Университета Джонса Хопкинса (одного из ведущих научных центров США), специалист по криптографии Мэтью Грин (Matthew Green) затронул весьма интересный и вместе с тем щекотливый вопрос: какая операционная система, Android или iOS, надежнее с точки зрения безопасности? Чтобы это выяснить надо сперва обратиться к шифрованию данных, которое сводится к двум основным способам: полное шифрование диска (Full Disk Encryption, FDE) и шифрование отдельных файлов (File-based Encryption, FBE).

Первый способ обеспечивает простую и надежную защиту всех данных на мобильном устройстве, но имеет ряд недостатков. В случае его применения доступ к содержимому смартфона или планшета  предоставляется только после ввода пароля (пин-кода или другого способа идентификации) пользователем. Причем доступ не только на пользовательском, но и системном уровне. Другими словами, пока вы не введете пароль, смартфон превращается в «кирпич». Казалось бы ничего страшного — если бы, например, не произвольная перезагрузка смартфона. Загрузившись вновь, смартфон не запустит никаких уведомлений (будь то сигнал будильника или входящий звонок) пока вы не разблокируете его вводом пароля. Apple от этого подхода отказалась начиная с iOS 4 в 2010, а Google — начиная с Android 7.0 Nougat лишь в этом году. Причем если найти устройство на более ранней, чем iOS 4, прошивке практически невозможно, то доля Android 7 среди всех Android-устройств составляет всего 0.3% (по данным Google по состоянию на 07.11.2016). Т.е. в настоящее время абсолютное большинство владельцев смартфонов на Android подвержено риску пропустить уведомления в случае произвольной перезагрузки своего устройства.

Как вы догадываетесь, вместо FDE в iOS и новейшей версии Android в настоящее время применяется FBE — шифрование на уровне отдельных данных. Но между двумя мобильными ОС возникает ряд довольно существенных отличий. В операционной системе Apple применяется четыре уровня доступа к данным:

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

Что касается Android 7.0 Nougat, то её новая система шифрования (Direct Boot) сводится всего к двум способам защиты данных:

  • Данные зашифрованы до тех пор, пока пользователь не введет пароль;
  • Данные доступны даже до ввода пароля.

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

Блог Мэтью Грина