Что такое обновление по fota

Что такое обновление по fota

Xakep #251. Укрепляем VeraCrypt

Сотрудник компании Kryptowire купил на отдыхе смартфон BLU R1 HD и случайно заметил, что устройство генерирует какой-то подозрительный сетевой трафик. Детальное изучение вопроса выявило, что девайс держал связь с китайскими серверами (bigdata.adups.com, bigdata.adsunflower.com, bigdata.adfuture.cn и bigdata.advmob.cn), принадлежащими компании Shanghai Adups Technology Company, более известной как Adups.

Вскоре исследователи Kryptowire поняли, что проблема не ограничивается одним устройством. Компания Shanghai Adups Technology Company разрабатывает и продает собственную систему обновления ПО FOTA (Firmware Over The Air), которую используют многие производители Android-устройств. В FOTA, по сути, встроен бэкдор, который постоянно держит связь с серверами китайской компании. Получив соответственную команду от сервера, FOTA может:

  • каждые 72 часа отправлять все SMS-сообщения с устройства на сервер Adups;
  • каждые 72 часа отправлять содержимое журнала звонков на сервер Adups;
  • собирать личные данные, позволяющие установить личность пользователя, и каждые 24 часа отправлять их на сервер Adups;
  • собирать информацию о IMSI и IMEI, геолокационные данные и список установленных приложений;
  • удалять или обновлять приложения;
  • скачивать и устанавливать новые приложения без ведома пользователя;
  • обновлять прошивку устройства;
  • удаленно выполнять произвольные команды и повышать свои привилегии на устройстве.

По данным Kryptowire вся вредоносная функциональность сконцентрирована внутри двух системных приложений, отключить или удалить которые пользователь попросту не может: com.adups.fota.sysoper и com.adups.fota.

Согласно информации, опубликованной на официальном сайте Adups, системой обновлений FOTA пользуются более 400 мобильных операторов, производителей и так далее. Решения компании используют более 700 млн Android-устройств по всему миру. Стоит сказать, что речь идет не только о бюджетных Android- смартфонах (хотя их явно большинство), но и о других гаджетах. Какие именно компании пользуются продуктами Adups, не подозревая об их опасности, точно неизвестно, но доподлинно известно, что в их число входят Huawei и ZTE.

Представители BLU Products уже прокомментировали обнародованную исследователями Kryptowire информацию и сообщили, что они не знали о том, на что способна FOTA, и вскоре удалят опасный продукт со своих девайсов. Согласно данным издания The New York Times, проблема затрагивала 120 000 устройств, и они уже получили обновления.

Читайте также:  Привести квадратичную форму к главным осям

UPD
Представители Huawei связались с изданием ArsTechnica и сообщили, что "указанная компания никогда не входила в списки доверенных поставщиков, и мы никогда не вели с ней никакого бизнеса".

Представители самой Adups заявили изданию The New York Times, что информация собиралась не для правительства Китая, просто "частная компания допустила ошибку".

FOTA обновление по воздуху, позволяет загружать прошивку (эскиз) по беспроводной сети. Это полезно, если ваши узлы недоступны, и вы хотите обновить прошивку или изменить какую-либо конфигурацию в коде.

FOTA может быть реализован по-разному, если использовать mcu Esp8266, 8bits 328p (например, Arduino Pro mini и т. Д.) или ARM.

  • На данный момент этот урок охватывает только 328p.
  • Для Esp8266 вы можете узнать, как использовать FOTA: http://esp8266.github.io/Arduino/versions/2.1.0-rc2/doc/ota_updates/ota_updates.html
  • Для плат ARM, таких как Arduino Zero, пока нет данных.

Теперь покажем вам, как начать работу с этим.

FOTA Загрузчик

Перед использованием FOTA вам необходимо записать правильный загрузчик.

Замечания для Нубов: коротко, загрузчик — это кусок кода, который выполняется при перезагрузке / запуске и позволяет загружать прошивку с помощью usb или других методов вместо использования AVRSPI.

В Mysensors мы можем использовать два вида FOTA:

  • Первый вариант: MYSBootloader, созданный Tekka из команды Mysensors.
  • Второй вариант: Dualoptiboot, который создан Lowpowerlab и является загрузчиком, используемым в Micro Sensebender.

MYSBootloader не требует внешней флэшки. Обновления FOTA FW передаются в автономном режиме, то есть MYSBootloader взаимодействует с контроллером и получает новый FW, который непосредственно записывается в MCU, после того, как FW передается и CRC проверяется, MYSBootloader передает новый эскиз / FW.

  • Плюсы: можно восстановление FOTA, даже с эскизом с ошибками (если эскиз зависает, он перезагружается по сторожевому таймеру и запустит MYSBootloader), внешняя флешка не требуется
  • Минусы: Специфика радио, т.е. разные загрузчики для RF24 и RFM69 радио (rfm69 работа в процессе), не в сети (без обработки данных датчиков во время fota). Отправитель MySensors не поддерживает загрузку через ftdi / serial (но в бете ведутся работы).
Читайте также:  Как сделать яндекс диск на компьютер

Для Dualoptiboot требуется внешняя флешка: обновления FOTA FW передаются в режиме работы ноды, то есть пока узел активен. После того как все пакеты FW переданы и проверена CRC, узел перезагружается, копирует FW с внешней флешки в MCU. Это означает, что вам нужно вначале загрузить эскиз по ftdi, иначе fota не будет работать, поскольку он обрабатывается в эскизе.

  • Плюсы: Не требуется специфика работы радио в загрузчике, поэтому его можно использовать в разных схемах радио, онлайн (пока узел обрабатывает данные датчика)
  • Минусы: При неисправности FW (например, зависание эскиза из-за плохого кода) не может быть восстановлена ​​FOTA => придётся восстанавливать через последовательный порт, требуется внешняя флешка

Что для этого нужно

Почти во всех случаях вам понадобится следующее:

  • USBASP для записи загрузчика (или вы можете использовать ArduinoAsIsp, здесь не рассматривается)
  • Установить AVRDUDESS: http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ для конфигурации фьюзов
  • Arduino IDE 1.6.x
  • Mysensors библиотека
  • MYSController

Если вы хотите использовать загрузчик DualOptiboot, вам понадобятся:

  • SPI флешь, jedec совместимая, например AT25DF512C-SSHN-B. Совместимости с другими флеш-микросхемами вы можете проверить здесь https://forum.mysensors.org/topic/3160/ota-flash-types-for-mysensors
  • О некоторых проектах для использование флешки
  • Устройства MSMD уже встроена флешка
  • https://oshpark.com/shared_projects/m5Uugjx5
  • https://www.openhardware.io/view/18/OTA-and-Authentication-Evaluation-Board.
  • Sensebender Micro или Moteino уже встроена флешка

Теперь вы должны увидеть плату Sensebender Micro в Boards tools от Arduino Ide.

Запись загрузчика

Для программирования загрузчика мы используем Usbasp. Это простое в использовании и дешевое устройство. Подключите Usbasp к вашему устройству Arduino.

Вывод Arduino Nano/Micro/328p/Sensebender итд
MOSI D11
VTG VCC 3.3V
GND GND
RES RESET
SCK D13
MISO D12

В этом видео, описывается процесс первая запись загрузчика.

После этого нужно установить фьюзы в Avrdudess.

Конфигурация для устройств с кварцем 8MHz:

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

Конфигурация для устройств с кварцем 16Mhz:

Примечание: даже если вы используете клон Usbasp, выберите Usbasp в списке.

  1. Нажмите записать в разделе «Fuses&Lock bits». Затем зачитайте, чтобы проверить что фьюзы действительно записались. Не отключайте USBasp.
  2. Перейдите в Arduino Ide, в Board Manager, выберите SensebenderMicro, если вы хотите использовать загрузчик DualOptiboot FOTA. Или выберите Arduino Mini pro MYSBootloader
  3. Затем выберите процессор Atmel328 8Mhz, USBASP As programmer.
  4. Нажмите Tools Записать загрузчик. Вы получите несколько предупреждение SCK, но это не проблема, это может быть из за того что вы используете клон USBasp.

Вот теперь, наш FOTA Загрузчик прошился.

Если вы получаете ошибку

В некоторых версиях среды разработки Arduino не отображается USBasp. Если вы получите сообщение об ошибке, похожее на скриншот выше, исправление найдёте здесь: http://forum.arduino.cc/index.php?topic=415210.msg2862244#msg2862244

  • Вы можете использовать Avrdudess для записи загрузчика.
  • DualOptiboot: внутренний 8Mhz + 1.8V BOD.

Включение FOTA в вашем эскизе

Чтобы включить FOTA в эскизе, вам нужно добавить

Обновите ПО на своем устройстве, не используя USB подключение

Что такое FOTA?

FOTA означает "Firmware on the air" ("Прошивка по воздуху"). Эта функция позволяет удобно обновлять программное обеспечение смартфона до новой версии без подключение через USB кабель. Эта функция доступна, только когда LG выпускает новую версию прошивки для вашего устройства.

Как я могу это использовать?

Связаться с нами

ПОДДЕРЖКА
Руководства пользователя, обновление программного обеспечения, информация о гарантии и ремонте — все это всего в клике от Вас. Вся полезная информация о продуктах LG собрана в разделе поддержки.

Опрос по сайту

Поделитесь с нами вашим мнением о разделе Поддержка

Ссылка на основную публикацию
Что такое shell core
Офис built-to-suit Shell & core – состояние офисного помещения «под отделку», в данном помещении присутствуют только бетонная стяжка, стеклопакеты, подведенные...
Что лучше ps3 или ps4
PlayStation 4 выпуска 2013 года позиционируется на рынке как флагман нового поколения игровых приставок от Sony. Анонс новинки дал понять,...
Что лучше амд или нвидиа для игр
Война видеокарт никогда не прекращается. Если вы спросите консольного игрока, он вам подробно расскажет о бесконечном соперничестве между Xbox One...
Что такое sptd в daemon tools
Подлинный файл является одним из компонентов программного обеспечения SPTD Device Driver, разработанного Duplex Secure. Sptd.sys - это драйвер в Windows....
Adblock detector