Введение

Беспроводная доставка обновлений программного обеспечения

Обновление по беспроводной связи (или OTA-обновление), также известное как программирование по беспроводной связи (или OTA-программирование), — это обновление встроенной системы, которое осуществляется через беспроводную сеть, например Wi-Fi или сотовую сеть. К таким встроенным системам относятся мобильные телефоны, планшеты, ТВ-приставки, автомобили и телекоммуникационное оборудование. OTA-обновления для автомобилей и устройств Интернета вещей также могут называться обновлением прошивки по беспроводной связи (FOTA). По беспроводной связи можно обновлять различные компоненты, включая операционную систему устройства, приложения, параметры конфигурации или такие параметры, как ключи шифрования.

Терминология

Термин "обновление по воздуху" относится конкретно к встраиваемым системам или способствует увеличению скорости их внедрения.

Реализация

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

Смартфоны

На смартфонах, планшетах и других устройствах обновление «по воздуху» – это обновление прошивки или операционной системы, которое устройство загружает через интернет. Ранее пользователям приходилось подключать эти устройства к компьютеру через USB для выполнения обновления. Такие обновления могут добавлять новые функции, устранять уязвимости в системе безопасности или исправлять ошибки программного обеспечения. Две основные мобильные операционные системы – iOS и Android. iOS получила поддержку обновлений «по воздуху» в iOS 5. Обновления iOS распространяются исключительно компанией Apple, что обеспечивает широкую доступность и относительно высокий уровень внедрения. Основные выпуски iOS обычно устанавливаются на 60–70% iPhone в течение нескольких месяцев после выхода обновления. Обновления Android OTA распространяются не напрямую Google, а производителями оборудования (OEM, например, Samsung) и операторами сотовой связи. Это привело к неравномерной доступности обновлений и фрагментации Android, а также к проблемам с безопасностью из-за задержек в распространении обновлений безопасности. Google снизил фрагментацию Android благодаря проекту Treble 2017 года, который позволяет OEM выпускать обновления ОС без необходимости повторного тестирования драйверов оборудования для каждой версии, и проекту Mainline 2019 года, который позволяет Google обновлять компоненты Android через свой Play Store без необходимости полного обновления ОС.

Автомобильная промышленность

Автомобили могут поддерживать обновления OTA для своей бортовой информационно-развлекательной системы, навигационных карт, телематического блока управления или электронных блоков управления (бортовых компьютеров, отвечающих за большинство функций автомобиля). Обновления OTA предоставляют ряд преимуществ. В прошлом Volkswagen пришлось отозвать 11 миллионов автомобилей для устранения проблемы с программным обеспечением контроля выбросов, а другие производители проводили кампании по отзыву из-за программных ошибок, влияющих на тормозную систему или подушки безопасности, требуя от всех затронутых клиентов обращаться к дилеру для получения обновлений. Обновления OTA позволили бы избежать необходимости посещения дилерских центров, что снизило бы гарантийные расходы для производителей и сократило время простоя для клиентов. Обновления OTA также позволяют производителям быстрее внедрять новые функции и исправления ошибок, повышая конкурентоспособность автомобилей на рынке и ускоряя темпы улучшения продукции для потребителей. Например, обновления OTA могут улучшить системы помощи водителю и повысить безопасность автомобиля. Векторы атак, специфичные для обновлений OTA, включают "спуфинг, подделку, отказ от ответственности [атаки], утечку информации, отказ в обслуживании", атаки повторного воспроизведения и атаки повышения привилегий. Примеры сценариев включают успешное прерывание хакером текущего обновления (так называемый "сбой прошивки"), которое может повредить компьютерные системы автомобиля и привести к его неисправности в дальнейшем; другой сценарий – "произвольная прошивка", при которой хакеры обманом заставляют автомобиль установить вредоносное OTA-обновление. Сенсорные узлы часто располагаются в труднодоступных или удаленных местах. Например, Libelium разработала систему OTA-программирования для устройств Zigbee WSN. Эта система позволяет обновлять прошивку без физического доступа, экономя время и деньги, если узлы необходимо перепрограммировать.

Интернет-рутеры

OTA аналогичен методам распространения прошивки, используемым другими серийно выпускаемыми потребительскими электронными устройствами, такими как кабельные модемы, которые применяют TFTP для удалённого получения новых программ, тем самым сокращая время, затрачиваемое владельцем и пользователем устройства на техническое обслуживание. Беспроводное конфигурирование (OTAP) также доступно в беспроводных средах (однако оно отключено по умолчанию из соображений безопасности). Оно позволяет точке доступа (AP) обнаруживать IP-адрес своего контроллера. При включении контроллер сообщает другим точкам доступа о необходимости включать дополнительную информацию в пакеты управления радиоресурсами (RRM), которая поможет новой точке доступа узнать о контроллере. Однако эта информация передаётся в открытом виде, что делает её уязвимой для перехвата. Именно поэтому эта функция отключена по умолчанию.

Сотовые сети

Провижининг по воздуху (OTAP) – это форма обновления OTA, посредством которой операторы сотовой связи могут удаленно конфигурировать мобильный телефон (именуемый клиентом или мобильной станцией в профессиональной терминологии) и обновлять настройки сотовой сети, хранящиеся на его SIM-карте. Это может происходить в любое время, когда телефон включен. Термин "администрирование параметров по воздуху" (OTAPA) является синонимом. Различные организации по стандартизации выпустили стандарты провижининга OTA. В 2001 году WAP Forum опубликовал стандарт WAP Client Provisioning. После того, как Open Mobile Alliance поглотила WAP Forum, этот стандарт стал известен как OMA Client Provisioning (OMA CP). В OMA CP телефоны конфигурируются посредством "невидимых" SMS-сообщений, отправляемых сотовой сетью, которые содержат необходимые параметры. За OMA CP последовал более новый стандарт, OMA Device Management (OMA DM), использующий другую форму провижининга на основе SMS (называемую "OMA Push"). Сеансы OMA DM всегда инициируются клиентом. "Невидимое" SMS-сообщение не содержит настроек конфигурации; вместо этого оно сообщает телефону (DM-клиенту) о необходимости подключения к DM-серверу (управляемому оператором сотовой связи); после подключения DM-сервер отправляет клиенту команды конфигурации.

Стандарты ОТА

Существует ряд стандартов, описывающих функции обновления по воздуху (OTA). Одним из первых был стандарт серии GSM 03.48. Набор стандартов Zigbee включает в себя кластер Zigbee Over the Air Upgrading, являющийся частью профиля Zigbee Smart Energy и обеспечивающий интероперабельный (не зависящий от производителя) способ обновления прошивки устройства.