18 сентября

Особенности обновлений прошивки мобильных устройств

Блог компании НИИ СОКБИнформационная безопасностьРазработка под iOSIT-инфраструктураРазработка под Android
Обновлять или не обновлять прошивку на личном телефоне каждый решает самостоятельно.
Кто-то ставит CyanogenMod, кто-то не чувствует себя хозяином устройства без TWRP или jailbreak.
В случае с обновлением корпоративных мобильных телефонов процесс должен быть относительно единообразным, иначе IT-шникам даже Рагнарёк покажется забавой.

О том, как это происходит в «корпоративном» мире, читайте под катом.

Особенности обновлений прошивки мобильных устройств рисунок 1

Краткий ЛикБез


Мобильные устройства на базе iOS получают регулярные обновления аналогично устройствам на Windows, но при этом:

  • обновления выходят реже;
  • обновления получает большинство устройств, но не все.

Apple выпускает обновление iOS сразу для большинства своих устройств, кроме тех, которые снимаются с поддержки. При этом Apple поддерживает свои устройства достаточно долго. Например, обновление iOS 14 получат даже iPhone 6s, вышедшие в 2015 году. Конечно, не обходится без косяков, типа принудительного замедления старых аппаратов, которое, как утверждается, было сделано не с целью вынудить купить новый телефон, а для продления срока службы старого аккумулятора… Но в любом случае это лучше, чем ситуация с Android.

Android – это по сути своей франшиза. Оригинальный Android от Google встречается только на устройствах линейки Pixel и бюджетных устройствах, которые участвуют в программе Android One. На других устройствах встречаются только производные от Android – EMUI, Flyme OS, MIUI, One UI и т.д. Для безопасности мобильных устройств такое разнообразие – большая проблема.
Например, «сообщество» находит очередную уязвимость в Android или системных компонентах, которые лежат в его основе. Далее уязвимости присваивается номер в базе CVE, нашедший получает вознаграждение по одной из баунти-программ от Google, а уж потом Google выпускает заплатку и включает её в очередной релиз Android.

Получит ли её ваш телефон, если он не Pixel или не участник программы Android One?
Если вы купили новое устройство год назад, то, наверное, да, но не сразу. Производителю вашего устройства ещё нужно будет включить патч Google в свою сборку Android и протестировать её на поддерживаемых моделях устройств. Топовые модели поддерживают чуть дольше. Всем остальным остаётся смириться и не читать по утрам базу CVE, чтобы не портить себе аппетит.

Ситуация с мажорными обновлениями Android, как правило, ещё хуже. В среднем новая мажорная версия докатывается до мобильных устройств с кастомными Android не меньше, чем за квартал, а то и больше. Так обновление Android 10 от Google вышло в сентябре 2019, а устройства разных производителей, которым повезло заслужить возможность обновления, получали его вплоть до лета 2020.

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

Особенности обновлений прошивки мобильных устройств, Краткий ЛикБез, картинка 2

Дырявость сборок Android отдельных производителей стала причиной того, что Google изменил архитектуру Android, чтобы доставлять критичные обновления самостоятельно. Проект получил название Google Project Zero, около года назад о нём писали на Хабре. Фича относительно новая, но она встроена во все устройства с 2019 года, где есть сервисы Google. Многие знают, что эти сервисы платные для производителей устройств, которые платят за них роялти в Google, но мало кто знает, что дело не ограничивается коммерцией. Чтобы получить разрешение использовать сервисы Google на конкретном устройстве, производитель должен отдать свою прошивку в Google на проверку. При этом Google не принимает на проверку прошивки с древними Android. Это позволяет Google навязывать рынку свой Project Zero, что, надеемся, сделает Android устройства более безопасными.

Рекомендации корпоративным пользователям


В корпоративном мире используются не только публичные приложения, доступные в Google Play и App Store, но и приложения собственной разработки. Иногда жизненный цикл таких приложений прекращается в момент подписания акта приёма-передачи и оплаты услуг разработчика по договору.

В этом случае установка нового мажорного обновления ОС часто приводит к тому, что такие job-is-done приложения перестают работать. Бизнес-процессы останавливаются, а разработчиков нанимают повторно до возникновения следующего косяка. То же самое случается, когда корпоративные разработчики не успевают вовремя адаптировать свои приложения под новую ОС или новая версия приложения уже доступна, но пользователи её ещё не установили. В том числе для решения таких проблем предназначены системы класса UEM.

UEM системы обеспечивают оперативное управление смартфонами и планшетами, своевременно устанавливая и обновляя приложения на устройствах мобильных сотрудников. Кроме того, они могут откатить версию приложения к предыдущей в случае необходимости. Возможность отката версии назад является эксклюзивной фишкой UEM систем. Ни Google Play, ни App Store такой возможности не предоставляют.

UEM системы могут удалённо заблокировать или отложить обновление прошивки мобильных устройств. Поведение зависит от платформы и производителя устройств. На iOS в режиме supervised (о режиме читайте в нашем FAQ) можно отложить обновление до 90 дней. Для этого достаточно настроить соответствующую политику безопасности.

На Android устройствах производства Samsung можно бесплатно запретить обновление прошивки или воспользоваться дополнительным платным сервисом E-FOTA One, с помощью которого можно указать какие обновления ОС устанавливать на устройства. Это даёт администраторам возможность предварительно проверить поведение корпоративных приложений на новых прошивках своих устройств. Понимая трудоёмкость этого процесса, мы предлагаем своим заказчикам сервис на базе Samsung E-FOTA One, включающий услуги проверки работоспособности целевых бизнес-приложений на используемых у заказчика моделях устройств.

На Android устройствах других производителей аналогичной функциональности, увы, нет.
Запретить или отложить их обновление можно, разве что, с помощью страшилок, типа:
«Уважаемые пользователи! Не обновляйте свои устройства. Это может привести к неработоспособности приложений. При нарушении этого правила ваши обращения в службу технической поддержки рассматриваться/выслушиваться НЕ БУ-ДУТ!».

Ещё одна рекомендация


Следите за новостями и корпоративными блогами производителей операционных систем, устройств и платформ UEM. Буквально в этом году Google решил отказаться от поддержки одной из возможных мобильных стратегий, а именно fully managed device with work profile.

За этим длинным названием скрывается следующий сценарий:

До Android 10 UEM-системы полноценно управляли устройством И рабочим профилем (контейнером), в котором содержатся корпоративные приложения и данные.
Начиная с Android 11, возможен полноценный функционал управления только ИЛИ устройством ИЛИ рабочим профилем (контейнером).

Google объясняет нововведения заботой о конфиденциальности данных пользователей и своём кошельке. Если есть контейнер, то данные пользователя должны находиться вне зоны видимости и управления со стороны работодателя.

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

Google утверждает, что такой доступ к личному пространству отпугивал 38% процентов пользователей от установки UEM. Теперь UEM-вендорам остаётся «кушать что дают».

Особенности обновлений прошивки мобильных устройств, Рекомендации корпоративным пользователям, картинка 3

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

Малоизвестные факты


В завершение еще несколько малоизвестных фактов об обновлении мобильных ОС.

  1. Прошивки на мобильных устройствах иногда можно откатить. Как показывает анализ поисковых фраз, фразу «как восстановить Android» ищут чаще, чем «обновление Android». Казалось бы, фарш нельзя провернуть назад, но иногда всё-таки можно. Технически защита от отката базируется на внутреннем счётчике, который увеличивается не с каждой версией прошивки. В рамках одного значения этого счётчика откат становится возможен. Это то, что касается Android. В iOS ситуация чуть отличается. С сайта производителя (или бесчисленного числа зеркал) можно скачать образ iOS конкретной версии для конкретной модели. Чтобы установить его по проводу с помощью iTunes, Apple должен подписать прошивку. Обычно в первые несколько недель после выхода новой версии iOS Apple подписывает предыдущие версии прошивок, чтобы пользователи, чьи устройства после обновления глючат, могли вернуть себе более стабильный билд.
  2. Во времена, когда jailbreak сообщество ещё не разбежалось по крупным компаниям, можно было изменить версию отображаемую версию iOS в одном из системных plist. Так можно было, например, сделать iOS 6.2 из iOS 6.3 и обратно. Зачем это было нужно, расскажем в одной из следующих статей.
  3. Очевидна всеобщая любовь производителей к программе для прошивки смартфонов Odin. Лучшего инструмента для прошивки ещё не сделали.

Пишите, обсудим, … может и поможем.
Теги:обновление прошивкимобильные устройстваandroid osiosуправление мобильными устройствамиgoogle
Хабы: Блог компании НИИ СОКБ Информационная безопасность Разработка под iOS IT-инфраструктура Разработка под Android
0
3k 15
Комментарии 4
Лучшие публикации за сутки