Обновление по воздуху — Википедия
Обновление по воздуху или OTA-обновление (англ. Over-The-Air update), также известное как программирование по воздуху (англ. OTA programming)[1] — обновление встроенной системы, которое передается через беспроводную сеть, такую как Wi-Fi или мобильная сеть[2][3][4]. Такие встроенные системы включают мобильные телефоны, планшеты, приставки, автомобили и телекоммуникационное оборудование. OTA-обновления для автомобилей и устройств интернета вещей (IoT) также могут называться Firmware Over-The-Air (FOTA)[5][6]. OTA-обновления могут затрагивать различные компоненты устройства, включая операционную систему, приложения, настройки конфигурации или параметры, такие как ключи шифрования.
Терминология
[править | править код]Термин OTA-обновление применяется исключительно к встроенным системам[4], а не к обычным компьютерам. До появления OTA-обновлений встроенные устройства можно было обновлять только путём прямого физического доступа (с помощью JTAG) или через проводное соединение (обычно через USB или последовательный порт).
Назначение
[править | править код]Передача обновлений по воздуху позволяет распространять их в более широких масштабах[7], снижает затраты на доставку обновлений и способствует их более быстрому принятию пользователями.
Реализация
[править | править код]Поставщик обновлений может решать, разрешать ли пользователям отказываться от обновлений, а также может отключать некоторые функции на устройствах до установки обновления. После установки обновления пользователь может не иметь возможности его откатить.
OTA-обновления разрабатываются таким образом, чтобы быть максимально компактными, что снижает потребление энергии, нагрузку на сеть и требуемый объём памяти. Это достигается путем передачи только разницы между старой и новой версией прошивки, а не всей прошивки целиком. Разница между двумя версиями прошивки создается с помощью дифференциации данных[англ.], после чего конечному устройству передается так называемый delta-файл, который оно использует для обновления[8].
Отрасли применения
[править | править код]Смартфоны
[править | править код]На смартфонах, планшетах и других устройствах OTA-обновление представляет собой обновление прошивки или операционной системы, которое загружается через интернет. Ранее для обновления пользователям требовалось подключать устройства к компьютеру через USB. OTA-обновления могут добавлять новые функции, устранять уязвимости в безопасности или исправлять ошибки программного обеспечения.
Среди двух основных мобильных операционных систем поддержка OTA-обновлений в iOS появилась с версии iOS 5[9]. Обновления iOS распространяются исключительно компанией Apple, что обеспечивает их широкую доступность и высокую скорость распространения. Как правило, крупные обновления iOS устанавливаются на 60-70 % iPhone в течение нескольких месяцев после их выпуска[10][11][12].
OTA-обновления Android распространяются не напрямую Google, а производителями (например, Samsung) и операторами связи[13]. Это привело к проблеме фрагментации Android, когда пользователи получают обновления с задержками или вовсе остаются без них[11][12]. Фрагментация усложняла разработку сторонних приложений (из-за несовместимости версий ОС на разных устройствах)[14] и создавала угрозы безопасности, так как задерживала выпуск критически важных исправлений[15].
Google сократил проблему фрагментации с помощью нескольких инициатив:
- Project Treble (2017) — позволил производителям выпускать обновления ОС без необходимости повторного тестирования драйверов для каждого обновления[13][16].
- Project Mainline (2019) — позволил Google обновлять ключевые компоненты Android[16] и доставлять исправления безопасности[17] через Google Play Store, не требуя полного обновления ОС[16].
Проект Mainline значительно сократил роль посредников в процессе OTA-обновлений[18][17].
С версии Android 8.0 обновления OTA используют схему A/B-разделов, при которой обновление устанавливается в фоновом режиме на второй раздел (B), а при следующей перезагрузке устройство переключается на него, что значительно сократило время установки обновлений[19].
Автомобильная отрасль
[править | править код]Автомобили могут поддерживать OTA-обновления для своих мультимедийных систем, карт навигации, телематического блока управления[англ.] или электронных блоков управления (бортовых компьютеров, отвечающих за большинство функций автомобиля)[20]. В автомобилях именно телематический блок управления отвечает за загрузку и установку обновлений[4], которые передаются через мобильные сети, аналогично смартфонам. Во время установки OTA-обновления автомобиль нельзя эксплуатировать. Перед обновлением система проверяет подлинность пакета, а после завершения установки — целостность всех затронутых систем[20].
OTA-обновления предоставляют ряд преимуществ. Например, в прошлом компании Volkswagen пришлось отозвать 11 миллионов автомобилей для исправления ошибки в программном обеспечении системы контроля выбросов. Другие автопроизводители отзывали автомобили из-за ошибок в ПО, влияющих на работу тормозов или подушек безопасности, что требовало посещения сервисного центра. OTA-обновления позволяют избежать необходимости обращаться в дилерские центры, снижая затраты на гарантийное обслуживание и сокращая время простоя для клиентов. Кроме того, OTA-обновления позволяют быстрее развертывать новые функции и исправления ошибок, делая автомобили более конкурентоспособными и ускоряя внедрение улучшений. Например, OTA-обновления могут улучшить работу систем помощи водителю и повысить безопасность автомобиля[5][20].
Однако OTA-обновления также открывают новую уязвимость для хакеров, так как недостатки в системе обновлений могут позволить злоумышленникам удаленно захватить контроль над автомобилем. В прошлом уже обнаруживались подобные уязвимости, и многие автопроизводители внедрили программы раскрытия уязвимостей[20][21]. Потенциальные угрозы, связанные с OTA-обновлениями, включают подмену данных, манипуляцию с файлами (tampering), отказ в обслуживании, утечку информации и эскалацию привилегий. Например, хакер может прервать установку обновления (flashing fail), что может повредить систему автомобиля и привести к его некорректной работе. Другая угроза — установка произвольных прошивок (arbitrary flashings), когда хакер заставляет автомобиль загрузить вредоносное обновление[5].
Интернет вещей (IoT)
[править | править код]С развитием концепций беспроводных сенсорных сетей (англ. Wireless Sensor Networks) и интернета вещей (IoT), где сети состоят из сотен или тысяч узлов, OTA-обновления вышли на новый уровень. Впервые они стали применяться в нелицензируемых частотных диапазонах (868 МГц, 900 МГц, 2400 МГц) с низким энергопотреблением и низкой скоростью передачи данных, используя такие протоколы, как 802.15.4 и Zigbee[22].
Сенсорные узлы[англ.] часто расположены в удаленных или труднодоступных местах. Например, компания Libelium реализовала систему OTA-программирования для устройств Zigbee в беспроводных сенсорных сетях. Эта система позволяет обновлять прошивку без физического доступа к устройству, экономя время и деньги при необходимости перепрограммирования узлов[23].
Интернет-маршрутизаторы
[править | править код]OTA-обновления схожи с методами распространения прошивки, используемыми в других массовых потребительских устройствах[англ.], таких как кабельные модемы, которые используют TFTP для удаленного получения нового программного обеспечения, что сокращает время, затрачиваемое как владельцем устройства, так и конечным пользователем, на техническое обслуживание.
В беспроводных сетях также доступна технология удаленной настройки (англ. Over-the-Air Provisioning, OTAP), хотя по умолчанию она отключена по соображениям безопасности. Эта функция позволяет точке доступа (AP) автоматически обнаруживать IP-адрес своего контроллера. Если она включена, контроллер передает другим точкам доступа дополнительную информацию в пакетах управления радиоресурсами (англ. Radio Resource Management Packets, RRM), помогая новой точке доступа находить контроллер. Однако эти данные передаются в открытом виде, что делает их уязвимыми для перехвата, поэтому по умолчанию OTAP отключен.
Сотовые сети
[править | править код]Удаленное конфигурирование (англ. Over-the-Air Provisioning, OTAP) также применяется в сотовых сетях, позволяя операторам дистанционно настраивать мобильные телефоны (или мобильные станции, как их называют в индустрии) и обновлять параметры сети, хранящиеся на SIM-карте. Это может происходить в любое время, пока телефон включен. Синонимом OTAP является термин Over-the-Air Parameter Administration (OTAPA). OTA-настройка позволяет телефонам оставаться правильно сконфигурированными, когда оператор вносит изменения в сеть, а также обеспечивает корректные настройки для таких функций, как WAP (ранняя версия мобильного интернета), MMS и мобильные данные (которые требуют настройки Access Point Name, APN).
Похожий термин Over-the-Air Service Provisioning (OTASP) относится к первоначальному беспроводному программированию телефона, то есть его активации. Во время активации телефон получает параметры, такие как номер телефона, идентификационный номер мобильного устройства (англ. Mobile Identification Number, MIN) и системный идентификатор (англ. System ID), которые позволяют ему впервые подключиться к сотовой сети. OTASP также называют OTA-активацией или OTA-начальной настройкой (bootstrapping). Альтернативный метод — SIM-bootstrapping, когда телефон загружает настройки сети из SIM-карты. Однако у этого метода есть ограничения: настройки на SIM-карте могут устареть между моментом её производства и использованием, а некоторые устройства (например, промышленные модемы) вообще не используют SIM-карты[24][25].
Различные организации разработали стандарты для OTA-настройки. В 2001 году WAP Forum опубликовал стандарт WAP Client Provisioning, который позже был принят Open Mobile Alliance (OMA) и получил название OMA Client Provisioning (OMA CP). В рамках OMA CP телефоны получают «невидимые» SMS от оператора, содержащие конфигурационные параметры. Позднее появился стандарт OMA Device Management (OMA DM), который использует иной метод SMS-настройки — OMA Push. В этом случае «невидимое» SMS не содержит сами настройки, а только команду телефону (DM-клиенту) подключиться к DM-серверу (операторской платформе управления устройствами). После подключения сервер передает настройки телефону[25].
OTA-стандарты
[править | править код]Существует несколько стандартов, описывающих работу OTA-обновлений. Одним из первых был стандарт GSM 03.48[англ.]. В спецификации Zigbee также есть технология Zigbee Over-the-Air Upgrading Cluster, входящая в профиль Zigbee Smart Energy. Она обеспечивает независимый от производителя способ обновления прошивки устройств.
Похожие технологии
[править | править код]Обновление по воздуху похоже на методы доставки прошивок для пользовательской электроники[англ.], такими как кабельные модемы, использующие протокол TFTP для обновления прошивки.
См. также
[править | править код]Примечания
[править | править код]- ↑ White, Elecia. Making Embedded Systems: Design Patterns for Great Software : [англ.]. — "O'Reilly Media, Inc.", November 2011. — P. 197. — ISBN 978-1-4493-0214-6.
- ↑ Definition of OTA (англ.). PCMag. Дата обращения: 1 апреля 2023.
- ↑ Definition of Over The Air (англ.). Gartner. Дата обращения: 1 апреля 2023.
- ↑ 1 2 3 Kathiresh, M. Automotive Embedded Systems: Key Technologies, Innovations, and Applications : [англ.] / M. Kathiresh, R. Neelaveni. — Springer Nature, 2021-04-24. — P. 94–95. — ISBN 978-3-030-59897-6.
- ↑ 1 2 3 Maglaras, Leandros. Cybersecurity Issues in Emerging Technologies : [англ.] / Leandros Maglaras, Ioanna Kantzavelou. — CRC Press (Taylor & Francis), 2021-10-14. — ISBN 9780367626174. — doi:10.1201/9781003109952.
- ↑ Rayes, Ammar. Internet of Things From Hype to Reality: The Road to Digitization : [англ.] / Ammar Rayes, Samer Salam. — Cham : Springer International Publishing, 2019. — ISBN 978-3-319-99515-1. — doi:10.1007/978-3-319-99516-8.
- ↑ What are OTA Updates? Mobility Connected. Дата обращения: 16 января 2024.
- ↑ Kachman, Ondrej. Effective Over-the-Air Reprogramming for Low-Power Devices in Cyber-Physical Systems // Technological Innovation for Cyber-Physical Systems : [англ.] / Ondrej Kachman, Marcel Balaz. — Springer Cham, 2016. — ISBN 978-3-319-31164-7. — doi:10.1007/978-3-319-31165-4.
- ↑ Savov, Vlad. Apple's iOS 5: all the details (амер. англ.). Engadget (6 июня 2011). Дата обращения: 2 апреля 2023.
- ↑ Rossignol, Joe. Apple Reveals How Many iPhones and iPads Are Running iOS 16 and iPadOS 16 (англ.). MacRumors. Дата обращения: 2 апреля 2023.
- ↑ 1 2 Mearian, Lucas. Apple: iOS 15 now installed on more than 60% of all iPhones (англ.). Computerworld (21 января 2022). Дата обращения: 2 апреля 2023.
- ↑ 1 2 Evans, Jonny. Fragmented Android drives big dev to Apple (англ.). Computerworld (31 мая 2013). Дата обращения: 2 апреля 2023.
- ↑ 1 2 Amadeo, Ron. Google's "Project Treble" solves one of Android's many update roadblocks (амер. англ.). Ars Technica (12 мая 2017). Дата обращения: 2 апреля 2023.
- ↑ What is Android fragmentation, and can Google fix it? (англ.). Android Authority (5 сентября 2016).
- ↑ Nguyen-Vu, Long; Ahn, Jinung; Jung, Souhwan (2019-11-01). Android Fragmentation in Malware Detection. Computers & Security. 87: 101573. doi:10.1016/j.cose.2019.101573.
- ↑ 1 2 3 Amadeo, Ron. Android at I/O 2019: The Project Mainline update system and other highlights (амер. англ.). Ars Technica (22 мая 2019). Дата обращения: 2 апреля 2023.
- ↑ 1 2 Siddiqui, Aamir. Everything you need to know about Android's Project Mainline (англ.). XDA Developers (10 октября 2020). Дата обращения: 2 апреля 2023.
- ↑ Amadeo, Ron. Android 11—The Ars Technica Review (амер. англ.). Ars Technica (23 сентября 2020). Дата обращения: 2 апреля 2023.
- ↑ Amadeo, Ron. Android 8.0's "streaming OS updates" will work even if your phone is full (амер. англ.). Ars Technica (7 августа 2017). Дата обращения: 2 апреля 2023.
- ↑ 1 2 3 4 Halder, Subir; Ghosal, Amrita; Conti, Mauro (4 сентября 2020). Secure over-the-air software updates in connected vehicles: A survey. Computer Networks (англ.). 178: 107343. doi:10.1016/j.comnet.2020.107343. ISSN 1389-1286.
- ↑ Gitlin, Jonathan M. Hackers discover that vulnerabilities are rife in the auto industry (амер. англ.). Ars Technica (11 января 2023).
- ↑ Marcos Yarza; Gascón, David; Alberto Bielsa; Félix Genicio. Over the Air programming with 802.15.4 and ZigBee - OTA . www.Libelium.com. Libelium (9 мая 2011). Дата обращения: 28 мая 2012.
- ↑ Libelium.com 50 Sensor applications for a smarter world. Get inspired! www.Libelium.com. Libelium (2 мая 2012). Дата обращения: 28 мая 2012.
- ↑ Snyder, Randall A. Wireless Telecommunications Networking with ANSI-41 : [англ.] / Randall A. Snyder, Michael D. Gallagher. — McGraw Hill Professional, 2001-04-05. — P. 374–376. — ISBN 978-0-07-138358-5.
- ↑ 1 2 Brenner, Michael. The Open Mobile Alliance: Delivering Service Enablers for Next-Generation Applications : [англ.] / Michael Brenner, Musa Unmehopa. — John Wiley & Sons, 2008-02-28. — P. 273–279. — ISBN 978-0-470-51918-9.