Bluetooth с низким энергопотреблением на ESP32 – блог

ivcvrdukrzgamzp  ewk Новости
Содержание
  1. ▍дополнительные меры безопасности
  2. ▍код, загружаемый в sram и используемый для проведения атаки
  3. ▍неожиданный результат
  4. Данные в sram, сохраняющиеся после горячей перезагрузки устройства
  5. Извлечение содержимого флеш-памяти в виде обычного текста
  6. Как заряжать huawei watch gt
  7. Как перенести данные с huawei honor на xiaomi redmi через сервисы google
  8. Как подключить часы к iphone
  9. Как скрыть приложение на android: видео
  10. На какие приложения негативно влияют алгоритмы huawei
  11. Настройка браслета
  12. Настройка профиля
  13. Первичная настройка приложения
  14. Перед тем, как приступить к решению проблемы, выполните следующие действия.
  15. Телефон завис на экране с логотипом после обновления
  16. Передача данных с huawei в xiaomi через bluetooth
  17. Путь к успеху
  18. Разработка приложений для usb-хостов и устройств с помощью платы esp 32-s3-usb-otg
  19. Регистрация и вход в аккаунт
  20. Связь esp32 по bluetooth в arduino ide
  21. Сопряженные bluetooth-устройства не подключаются к телефону повторно автоматически | huawei поддержка россия
  22. Функции и возможности часов хуавей и хонор
  23. Итоги
  24. Узнайте больше о Huawei

▍дополнительные меры безопасности

Очевидно, если не предпринять дополнительных мер безопасности, то постоянная доступность загрузчика UART сделает практически бесполезными механизмы защищённой загрузки и шифрования флеш-памяти. Поэтому компания Espressif реализовала дополнительные механизмы безопасности, которые основаны на технологии eFuse.

Речь идёт о битах, используемых для настройки параметров безопасности, хранящихся в особой памяти, которую часто называют OTP-памятью (One-Time-Programmable Memory, однократно программируемая память). Биты в такой памяти могут меняться лишь с 0 на 1, но не в обратном направлении.

Это гарантирует то, что если бит, включающий какую-то возможность, был установлен, он уже никогда не будет сброшен. Во время работы ESP32 в режиме функционирования загрузчика UART для отключения определённых возможностей используются следующие биты OTP-памяти:


Нас больше всего интересует бит OTP-памяти

DISABLE_DL_DECRYPT

, так как он отключает прозрачное дешифрование данных, хранящихся во флеш-памяти.

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

Если этот бит установлен, то, в режиме загрузки с помощью загрузчика UART, из памяти можно прочитать лишь зашифрованные данные. Функционал шифрования флеш-памяти, полностью реализованный на аппаратном уровне и прозрачный для процессора, включается лишь тогда, когда ESP32 загружается в обычном (Normal) режиме.

При выполнении атаки, о которой мы тут говорим, все эти биты установлены в 1.

▍код, загружаемый в sram и используемый для проведения атаки

Вот код, который мы, используя загрузчик UART, записали в SRAM.

#define a "addi a6, a6, 1;"
#define t a a a a a a a a a a
#define h t t t t t t t t t t
#define d h h h h h h h h h h

void __attribute__((noreturn)) call_start_cpu0() {
    uint8_t cmd;

    ets_printf("SRAM CODEn");

    while (1) {

        cmd = 0;
        uart_rx_one_char(&cmd);

        if(cmd == 'A') {                                    // 1
            *(unsigned int *)(0x3ff4808c) = 0x4001f880;
            *(unsigned int *)(0x3ff48090) = 0x00003a98;
            *(unsigned int *)(0x3ff4808c) = 0xc001f880;
        }
    }

    asm volatile ( d );                                     // 2

    "movi a6, 0x40; slli a6, a6, 24;"                       // 3
    "movi a7, 0x00; slli a7, a7, 16;"
    "xor a6, a6, a7;"
    "movi a7, 0x7c; slli a7, a7, 8;"
    "xor a6, a6, a7;"
    "movi a7, 0xf8;"
    "xor a6, a6, a7;"

    "movi a10, 0x52; callx8  a6;" // R
    "movi a10, 0x61; callx8  a6;" // a            
    "movi a10, 0x65; callx8  a6;" // e               
    "movi a10, 0x6C; callx8  a6;" // l               
    "movi a10, 0x69; callx8  a6;" // i               
    "movi a10, 0x7A; callx8  a6;" // z               
    "movi a10, 0x65; callx8  a6;" // e               
    "movi a10, 0x21; callx8  a6;" // !               
    "movi a10, 0x0a; callx8  a6;" // n               

    while(1);
}


В этом коде реализовано следующее (номера пунктов списка соответствуют номерам, указанным в комментариях):

  1. Обработчик команд с единственной командой, который выполняет сброс сторожевого таймера.
  2. Аналог NOP, реализованный на базе инструкций addi.
  3. Ассемблерный код, выводящий в последовательный интерфейс строку Raelize!.

▍неожиданный результат

Но, несмотря на то, что желаемого нам достичь не удалось, мы, анализируя результаты экспериментов, нашли кое-что неожиданное.

В одном из экспериментов в последовательный интерфейс вывелись данные, указывающие на то, что сбой привёл к исключению IllegalInstruction (недопустимая инструкция). Вот как это выглядело:

ets Jun  8 2022 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:4
load:0x3fff000c,len:3220
load:0x40078000,len:4816
load:0x40080400,len:18640
entry 0x40080740
Fatal exception (0): IllegalInstruction
epc1=0x661b661b, epc2=0x00000000, epc3=0x00000000, 
excvaddr=0x00000000, depc=0x00000000


При попытках вызвать сбой чипа подобные исключения возникают достаточно часто. Это справедливо и для ESP32. При возникновении большинства таких исключений регистр

PC

устанавливается в ожидаемое значение (то есть — там находится правильный адрес). Нечасто бывает так, чтобы в

PC

появилось бы такое интересное значение.

Исключение IllegalInstruction возникает из-за того, что по адресу 0x661b661b нет правильной инструкции. Мы решили, что это значение в регистр PC должно откуда-то попадать, и что само по себе оно там появиться не может.

Мы, в поисках объяснения, проанализировали код, который загрузили в SRAM. Просмотр бинарного кода, фрагмент которого показан ниже, позволил нам быстро узнать ответ на наш вопрос. А именно, тут легко найти значение 0x661b661b. Оно представлено двумя инструкциями addi a6, a6, 1, с помощью которых в коде реализован аналог NOP.

00000000  e9 02 02 10 28 04 08 40  ee 00 00 00 00 00 00 00  |....(..@........|
00000010  00 00 00 00 00 00 00 01  00 00 ff 3f 0c 00 00 00  |...........?....|
00000020  53 52 41 4d 20 43 4f 44  45 0a 00 00 00 04 08 40  |SRAM CODE......@|
00000030  50 09 00 00 00 00 ff 3f  04 04 fe 3f 4d 04 08 40  |P......?...?M..@|
00000040  00 04 fe 3f 8c 80 f4 3f  90 80 f4 3f 98 3a 00 00  |...?...?...?.:..|
00000050  80 f8 01 c0 54 7d 00 40  d0 92 00 40 36 61 00 a1  |....T}.@...@6a..|
00000060  f5 ff 81 fc ff e0 08 00  0c 08 82 41 00 ad 01 81  |...........A....|
00000070  fa ff e0 08 00 82 01 00  4c 19 97 98 1f 81 ef ff  |........L.......|
00000080  91 ee ff 89 09 91 ee ff  89 09 91 f0 ff 81 ee ff  |................|
00000090  99 08 91 ef ff 81 eb ff  99 08 86 f2 ff 5c a9 97  |...............|
000000a0  98 c5 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 3e 0c  |...f.f.f.f.f.f>.|
000000b0  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|
000000c0  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|
000000d0  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|
...
00000330  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|
00000340  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|
00000350  1b 66 1b 66 1b 66 1b 66  1b 66 1b 66 1b 66 1b 66  |.f.f.f.f.f.f.f.f|

Мы готовили с помощью этих инструкций «место для манёвра», используя их аналогично тому, как последовательности команд

NOP

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

PC

Но мы, конечно, были не против этим воспользоваться. Мы решили, что сможем загрузить данные из SRAM в регистр PC во время сбоя, устроенного тогда, когда данные из флеш-памяти копируются средствами ROM-кода.

Мы быстро поняли, что теперь у нас есть все ингредиенты для приготовления атаки, позволяющей, устроив единственный сбой, обойти системы защищённой загрузки и шифрования флеш-памяти. Тут мы использовали опыт, полученный в ходе выполнения ранее описанной нами атаки, когда нам удалось получить контроль над регистром PC.

Данные в sram, сохраняющиеся после горячей перезагрузки устройства

SRAM-память, используемая микроконтроллером ESP32, вполне обычна. Такая же используется многими чипами. Обычно она применяется совместно с ROM и отвечает за запуск первого загрузчика из флеш-памяти. Такую память удобно применять на ранних стадиях загрузки, так как перед её использованием не нужно ничего настраивать.

Опыт предыдущих исследований говорит нам о том, что данные, хранящиеся в SRAM, не изменяются до тех пор, пока их не перезапишут, или до тех пор, пока к ячейкам памяти не перестанет подводиться электричество. После холодной перезагрузки (то есть — цикла включения/выключения питания) чипа содержимое SRAM будет сброшено к состоянию, которое она имеет по умолчанию.

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

Воздействие холодной (выше) и горячей (ниже) перезагрузки на содержимое SRAM

Мы решили узнать о том, справедливо ли вышесказанное для ESP32. Мы выяснили, что для выполнения программной горячей перезагрузки можно воспользоваться аппаратным сторожевым таймером. Можно заставить сработать этот таймер и в том случае, когда чип находится в режиме загрузки с использованием загрузчика UART. В результате можно воспользоваться этим механизмом для перевода ESP32 в обычный режим загрузки.

Воспользовавшись тестовым кодом, загрузка которого в SRAM и выполнение которого были организованы с использованием загрузчика UART, мы определили, что данные в SRAM, и правда, сохраняются после горячей перезагрузки, инициированной сторожевым таймером. А это означает, что мы, записав в SRAM то, что нам нужно, можем загрузить ESP32 в обычном режиме.

Тут перед нами возник вопрос о том, как нам этим воспользоваться.

Извлечение содержимого флеш-памяти в виде обычного текста


Мы можем писать в регистр

PC

то, что нам нужно, но мы пока не можем извлечь содержимое флеш-памяти в виде обычного текста. Поэтому решено было воспользоваться возможностями загрузчика UART.

А именно, мы решили перейти прямо к загрузчику UART в то время, когда чип находится в режиме обычной загрузки. Для проведения этой атаки мы перезаписали инструкции addi в коде, загруженном в RAM, использовав вместо них адрес начала кода загрузчика UART (0x40007a19).

Загрузчик UART выводит в последовательный интерфейс строку, показанную ниже. Этот факт мы можем использовать для определения успешности атаки.

waiting for downloadn"

После того, как подобный эксперимент окажется успешным, мы можем просто воспользоваться

esptool.py

для запуска команды

read_mem

и для получения доступа к данным флеш-памяти, представленным в виде обычного текста. Например, следующая команда читает 4 байта из адресного пространства внешней флеш-памяти (

0x3f400000

esptool.py --no-stub --before no_reset --after no_reset read_mem 0x3f400000


К сожалению, такая команда не сработала. По какой-то причине ответ процессора выглядел как

0xbad00bad

, что указывало на то, что мы пытаемся читать данные из неразмеченной памяти.

esptool.py v2.8
Serial port COM8
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Crystal is 40MHz
MAC: 24:6f:28:24:75:08
Enabling default SPI flash mode...
0x3f400000 = 0xbad00bad
Staying in bootloader.

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

Просто для того чтобы попробовать что-то ещё, мы решили перейти прямо к обработчику команд самого загрузчика UART (0x40007a4e). После того, как мы окажемся в обработчике, мы сможем самостоятельно отправить команду read_mem прямо в последовательный интерфейс:

target.write(b'xc0x00x0ax04x00x00x00x00x00x00x00x40x3fxc0')


К сожалению, если перейти прямо в обработчик, то строка, которая выводится после входа в загрузчик UART (то есть —

waiting for downloadn

), не выведется. Из-за этого мы теряем простой и удобный способ идентификации удачных экспериментов. В результате мы решили отправлять вышеописанную команду во всех экспериментах, не обращая внимания на то, удачными они были или нет. Мы использовали очень короткий тайм-аут последовательного интерфейса для того чтобы минимизировать дополнительные затраты времени, связанные с этим тайм-аутом, возникающие практически всегда.

Через некоторое время мы увидели результаты первых успешных экспериментов!

Как заряжать huawei watch gt

В комплекте с часами Huawei Watch GT идет круглая зарядная площадка и USB-кабель. Эта площадка магнитная и защищает пользователя от неправильного размещения часов на ней. Для зарядки ваших часов расположите часы на площадке так, чтобы их зарядные контакты соединились.

Подключите идущий в комплекте кабель одним концом к круглом площадке, а другим к адаптеру питания (штекеру от смартфона). Воткните адаптер в сеть. При этом на часах отобразится процесс и уровень зарядки. Когда уровень достигнет 100%, снимите часы с зарядки и отключите зарядное устройство от источника питания.

Производитель рекомендует приобрести фирменный адаптер питания в официальных магазинах Huawei с такими характеристиками: напряжение 5 В, сила тока 1 А и более. Использование некачественных адаптеров может привести к медленной зарядке или перегреву устройства.

Если у вас нет под рукой такого адаптера, можно заряжать часы по USB-порту от ноутбуков, подходящих пауэрбанков и других устройств. Во время зарядки появится надпись Please ensure the charging port is clean before charging, предупреждающая вас о том, чтобы вы убедились в чистоте порта перед зарядкой. Во избежание замыкания и сбоев порт должен быть чистым и сухим.

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

Еще один способ — воспользоваться мобильным приложением Huawei Health. Перед первым использованием часов или после долгого неиспользования обязательно зарядите смарт-часы. Если они достигнут критически низкого уровня заряда, то начнут вибрировать и выключатся.

Как перенести данные с huawei honor на xiaomi redmi через сервисы google

Для того, чтобы перенести данные с Huawei Honor на Xiaomi Redmi воспользуйтесь следующей инструкцией:

  1. Создайте учетную запись Google, если не сделали этого ранее. Перейдите в настройки, откройте раздел «Аккаунты». Затем выберете – добавить учетную запись Google. Для завершения регистрации следуйте мастеру создания учетных записей и введите необходимые данные. Bluetooth с низким энергопотреблением на ESP32 - блог
  2. Активируйте резервное копирование. В большинстве устройств без видоизмененного интерфейса, параметр зовется – «Восстановление и сброс». Активируйте опцию, а так же ознакомьтесь с типом данных, что будут сохранены. Далее выберите учетную запись. Bluetooth с низким энергопотреблением на ESP32 - блог
  3. Важно! Для восстановления содержимой информации на новом Android телефоне, необходимо активировать «функцию автоматического восстановления». Bluetooth с низким энергопотреблением на ESP32 - блог
  4. Для мультимедийных файлов, следует перейти в Google диск, нажать кнопку «Добавить» и указать путь расположения файлов. Автоматическая загрузка фотографий и изображений, доступна в разделе настроек. Bluetooth с низким энергопотреблением на ESP32 - блог

Как подключить часы к iphone

Компания Apple славится своей «магией», которой сопровождается подключение любых фирменных аксессуаров к смартфону. Apple Watch в данном случае не стали исключением. Они сопрягаются с Айфоном не так, как обычные смарт-часы с Андроидом.

Инструкция для Apple iPhone выглядит так:

  1. Зарядите Apple Watch.
  2. Активируйте интернет и блютуз на телефоне.
  3. Наденьте часы на руку и запустите программу Watch (установлена по умолчанию, либо скачивается за пару кликов через App Store).
  4. На Apple Watch в течение пары секунд задержите кнопку над колесиком.image
  5. Выберете свой язык.
  6. Когда на экране Айфона появится уведомление, нажмите кнопку «Дальше».image
  7. Поднесите Apple Watch к телефону, а когда на экране появится следующее уведомление, нажмите кнопку «Создать пару».image
  8. Когда на телефоне появится окно видеорегистратора, наведите камеру Айфона к дисплею часов.
  9. Выберете руку, на которой будут использоваться Apple Watch.
  10. Подтвердите условия пользовательского соглашения.
  11. Установите на часы необходимые программы и придумайте для них код-пароль.image
  12. Дождитесь обновления часов до актуальной версии.image

Кому-то может показаться, что процесс подключения Apple Watch к Айфону очень сложный. Но это лишь на первый взгляд. Ведь в дальнейшем сопряжение будет происходить автоматически, если на iPhone активирован блютуз-модуль.

Подключение к Айфону часов других марок происходит способом, описанным для Андроид-устройств.

Как скрыть приложение на android: видео

Часто происходит так, что владелец смартфона, работающего на ОС Android, скачивает программы для личного использования и желает оградить их от посторонних глаз. Чтобы это сделать, необходимо научиться скрывать приложения различными способами. В данной статье мы ответим на вопрос: «Как скрыть приложение на Андроиде».

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

Нам потребуется выполнить следующие действия:

  1. Зайти в настройки смартфона.
  1. Среди пунктов найти «Диспетчер приложений». На некоторых устройствах предварительно нужно зайти во вкладку «Общие».
  1. Появится список, который можно перелистывать между вкладками «Загружено», «Выполняется» и «Все». Активируем третью вкладку.
  1. Выбираем приложение, которое необходимо отключить. В открывшемся окне нажимаем на кнопку «Отключить».
  1. Далее подтверждаем действие нажатием кнопки «Да».
  1. Иногда предлагается установить исходную версию. Если согласиться с этим, с телефона будут удалены все обновления для этой программы. Чтобы вернуть все обратно, выполните первые 3 пункта, после чего нажмите на кнопку «Включить».

Есть еще один стандартный способ, который позволит скрыть иконки в меню. Он подойдет практически для всех версий Андроид, в том числе чтобы убрать ярлыки из меню на телефоне Блеквей BV6000s. Так можно спрятать с рабочего стола не только стандартные программы (звонковые, СМС), а и скачанные (Телеграм, Ватсап). Чтобы воспользоваться этим методом, необходимо:

  1. Нажать на кнопку «Меню». После этого появится несколько пунктов.
  2. Выбрать «Скрыть».
  1. Поставить галочку возле тех иконок, которые нужно скрыть;
  1. Чтобы зайти в программу, нажмите на кнопку «Показать скрытые приложения».

На какие приложения негативно влияют алгоритмы huawei

Не все приложения подвержены этой проблеме. Huawei ведет список популярных приложений, которые не закрыты от выполнения своих задач в фоновом режиме. Кроме того, некоторые разработчики приложений хорошо интегрировали свои приложения для Android со смартфонами Huawei и не имеют проблем.

Но есть также длинный список приложений, на которые негативно влияют. Прежде всего, антивирусные приложения, такие как AVG Antivirus, Avast Antivirus, Kaspersky Mobile Antivirus, ESET Mobile Security & Antivirus, Bitdefender Mobile Security и другие.

Еще одна важная категория уязвимых приложений — это родительский контроль, например ESET Parental Control, Kaspersky Parental Control, Kids Place и другие. Большая проблема с этой категорией приложений заключается в том, что Huawei полностью отключает их, делая их бесполезными. Поэтому до свидания родительский контроль и ваш ребенок остается незащищенным.

Другие приложения, которые имеют большие проблемы — это фитнес-трекеры всех видов: Fitbit, Garmin, Endomondo, Strava, Under Armour Record и другие. Допустим, вы бегаете или тренируетесь для спорта. После того, как вы закроете экран, вполне вероятно, что ваш смартфон Huawei принудительно закроет ваше приложение для отслеживания, и, в конце концов, ничего не отслеживалось, потому что приложение было остановлено.

Подход Huawei также негативно влияет на навигационные приложения. Предположим, вы отправляетесь в отпуск и используете ЗДЕСЬ WeGo, чтобы узнать, как добраться до места, которое вы хотите посетить. Вы задаете пункт назначения, закрываете экран смартфона Huawei, кладете его в карман и начинаете слушать инструкции, которые вы получаете, в своей гарнитуре. Алгоритмы Huawei могут закрыть приложение навигации, чтобы сэкономить заряд батареи, потому что вы закрыли экран.

Другие типы приложений, на которые негативно влияют, это приложения VPN, диктофоны, приложения чата, приложения новостей, приложения на основе местоположения, все виды приложений отслеживания и т. Д. Чтобы решить эту проблему для всех типов приложений, выполните следующие шаги в этом руководство:

Настройка браслета

Здесь вы можете настроить разнообразные функции браслета, указать тип уведомлений или задать какие-либо параметры. Коротко рассмотрим некоторые из них. Huawei TruSleep. Как только вы включите эту функции, гаджет начнет детально анализировать ваш сон.

Он отслеживает разные фазы быстрого и медленного сна и по ним оценивает качество сна в диапазоне 1-100 единиц. Чтобы человек полноценно высыпался, ему нужно спокойно спать на протяжении нескольких меняющих друг друга фаз и просыпаться в нужной фазе, иначе будет ощущение разбитости.

Умный будильник.В гаджете предусмотрено пять будильников, один из которых можно сделать умным. Последний отслеживает ваши фазы сна и будит вас в наиболее удачной для пробуждения фазе (фазе быстрого сна). Например, если вы поставили будильник на семь утра, а оптимальная фаза наступила в 6.

40, то будильник завибрирует именно в это время. Если вы хорошо спали во всех фазах и проснулись в нужной фазе, то будете испытывать бодрость и легкость. Некоторые умные часы будят спящего даже за полтора-два часа до поставленного времени будильника, чтобы обеспечить попадание в эту самую фазу. Но в фитнес-трекере Honor Band 4 можно ограничить эту временную разницу.

Настройка уведомлений и погоды. Настройка уведомлений и погоды в трекере Honor Band 4 производится в этом же разделе по настройке браслета. Стоит сдвинуть ползунки в положение ВКЛ, как Huawei Health начнет присылать на браслет уведомления от различных приложений, установленных на вашем смартфоне.

Для правильного отображения прогноза погоды в вашем телефоне должен быть включен сбор геоданных, а приложение Huawei Health должно быть исключено из списка приложений, которые телефон переводит в спящий режим для оптимизации батареи. Последнее обычно регулируется в разделах телефона «Настройки» и «Оптимизация».

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

Настройка профиля

У приложения есть три основные вкладки: «Главное», «Упражнения» и «Я». Рекомендуем начать настройку с вкладки «Я», так как там задаются персональные физические данные. В частности, в разделе «Профиль» введите дату своего рождения, пол, рост и вес. Зачем это нужно?

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

Приложение huawei health как настроить уведомления
На вкладке «Цель» задаются те цели, которые будут вас мотивировать. В частности, желаемый вес и количество шагов, которое вам поможет обрести красивые формы. Когда вы достигнете поставленной цели, фитнес-трекер Honor Band 4 известит вас об этом. Чтобы еще больше мотивировать себя к тренировкам, вы можете отправлять свои значительные результаты друзьям в социальных сетях.Приложение huawei health как настроить уведомления
На вкладке «Цель» задаются те цели, которые будут вас мотивировать. В частности, желаемый вес и количество шагов, которое вам поможет обрести красивые формы. Когда вы достигнете поставленной цели, фитнес-трекер Honor Band 4 известит вас об этом. Чтобы еще больше мотивировать себя к тренировкам, вы можете отправлять свои значительные результаты друзьям в социальных сетях.Bluetooth с низким энергопотреблением на ESP32 - блог

Huawei Health может обмениваться данными и с другими приложениями по здоровью. В частности, это приложения MyFitnessPal и Fit. Первое из них пользователи относят к числу эффективных средств для похудения. Приложение собирает масштабные данные вплоть до объема груди и съеденных продуктов и составляет персональные программы по питанию и тренировкам, чтобы безопасно и эффективно снизить вес до желаемого. В нем даже есть сканер штрих-кодов, который выдает название и калорийность продукта по его штрих-коду в магазине. Приложение Fit поможет держать тело в тонусе, отследит вашу физическую активность в течение дня и поощрит вас баллами, а также даст советы о получении наибольшей пользы от тренировок. Чтобы установить связь с вашими профилями в Huawei Health и других приложениях, воспользуйтесь вкладкой «Отправка данных» все в том же разделе «Я».Приложение huawei health как настроить уведомления
И еще одна вкладка этого раздела — «Настройки». Здесь можно задать традиционную систему измерения в метрах, секундах, граммах или перейти на дюймы и фунты. По своему желанию можно отрегулировать отправку уведомлений о достижении поставленных целей или о превышении измеряемых величин допустимого порога. Некоторые настройки можно сделать и с самого браслета при нажатии экрана с шестеренкой.

Первичная настройка приложения

Инструкция на русском языке содержится в описании программы в магазине приложений. При первом запуске приложения пользователь должен выбрать регион проживания и принять лицензионное соглашение.

На главном экране программы отображается информация о:

  1. Занятиях, которые можно добавить с помощью команд: Записи занятий ➜ Значок с подписью «Добавить» ➜ Выбрать вид упражнения ➜ Длительность занятия ➜ Расстояние ➜ Дата ➜ Время начала ➜ Нажать на значок «✓» и сохранить внесенную информацию.
  2. Пульсе пользователя, которая находится во вкладке «Пульс». При нажатии на вкладку отобразится статистика пульсометра. Для настройки данных нужно нажать на значок шестеренки в правом верхнем углу.
  3. Графике сна, которая находится во вкладке «Сон».
  4. Весе пользователя. Данные можно вносить вручную с помощью значка «Создать запись» или автоматически с помощью синхронизации с умными весами. Для быстрого подключения весов к приложению нужно во вкладке «Вес» нажать на значок «Измерить». Появится предупреждение об отсутствии привязанных устройств и предложение о привязке. Если нажать на кнопку «ОК», то пользователя перебросит в список весов, которые можно привязать к приложению.

В нижней части экрана находится небольшая панель навигации, в которой отображается «Здоровье», «Упражнение», «Устройства» и «Я». Во вкладке «Я» находится основная информация о пользователе, а также информация о версии устройства в строке «Сведения», в случае необходимости обновления появляется соответствующее уведомление.

Перед тем, как приступить к решению проблемы, выполните следующие действия.

  1. Убедитесь, что на телефоне не был выполнен рутинг. В противном случае на телефон не будут поступать уведомления об онлайн-обновлении HOTA или телефон невозможно будет обновить с помощью онлайн-обновления HOTA.
  2. Зарядите телефон, чтобы заряда батареи было достаточно для включения телефона. Если уровень заряда батареи ниже 20%, систему невозможно обновить. Перед обновлением полностью зарядите телефон.
  3. Проверьте, установлена ли в телефоне карта памяти. Если да, извлеките ее. Сбой обновления HOTA может возникнуть в результате несовместимости карты памяти и телефона. Список поддерживаемых карт памяти может отличаться в зависимости от модели телефона.
  4. Убедитесь, что во внутренней памяти телефона или на карте памяти достаточно свободного места. Если места недостаточно, очистите карту памяти перед обновлением.
  5. Убедитесь, что процесс обновления не прерывается вручную. Например, процесс обновления может быть прерван, если нажать на кнопку питания и удерживать ее в течение 10 секунд или более.
  6. Убедитесь, что кнопки питания, увеличения и уменьшения громкости работают корректно и возвращаются в исходное положение после нажатия. Также убедитесь в отсутствии повреждений в результате контакта с водой. При наличии одной из этих проблем выполните следующие действия.
    1. На телефоне может отображаться меню принудительного обновления, на экране может появится сообщение о сбое установки ПО с красным восклицательным знаком. Также телефон может переходить в режим восстановления после включения. Если на телефоне отображается меню обновления, это не указывает на проблемы с обновлением. Перезагрузите телефон и проверьте, можно ли перейти на рабочий экран телефона.
    2. Если на телефоне все еще не отображается рабочий экран, сделайте резервную копию данных и обратитесь в авторизованный сервисный центр Huawei.
  1. Откройте Настройки, найдите и откройте раздел Приложения, нажмите на опцию Обновление или Обновление ПО и выберите . Затем перезагрузите телефон. Убедитесь, что ваше интернет-подключение стабильно, и повторно загрузите пакет обновления.
  2. Если проблема не решена, сделайте резервную копию данных и восстановите заводские настройки телефона.

Если проблема не решена, сохраните резервную копию данных и отнесите устройство в авторизованный сервисный центр Huawei.

  1. EMUI 9.0 и Magic UI 2.0 или ниже: откройте Настройки, найдите и выберите раздел Обновление системы, нажмите на кнопку Не запускается приложение на Андроиде - что делать? и выберите опцию и выберите опцию Загрузить полный пакет.

    EMUI 9.0.1 и Magic UI 2.0.1 или выше: откройте Настройки, найдите и откройте раздел Обновление ПО и нажмите Проверка обновлений. Затем загрузите пакет обновления и установите его.

  2. Если проблема не решена, сохраните резервную копию данных и отнесите устройство в авторизованный сервисный центр Huawei.

Пакет обновления может быть некорректным. Вы можете попробовать использовать приложения HiSuite или eRecovery для восстановления телефона. Выполните следующие действия.

  • Восстановление системы телефона с помощью eRecovery
  1. Выключите телефон, подключите его к компьютеру или зарядному устройству при помощи кабеля USB, нажмите и удерживайте кнопки повышения громкости и питания одновременно, пока телефон не завибрирует. Затем выберите пункты Update mode > eRecovery update. Некоторые модели, например, Mate 30 Pro и Mate 30 RS, не оснащены кнопкой регулировки громкости. В таком случае быстро нажмите на кнопку питания 5 раз подряд после вибрации телефона при включении.
  2. Перейдите в раздел Download latest version and recovery > Download and recovery; телефон выполнит поиск доступных сетей Wi-Fi. Выберите доступную сеть Wi-Fi. Система затем загрузит полный пакет последнего обновления HOTA. В режиме eRecovery загружается полный пакет HOTA.
  3. Когда загрузка будет завершена, система автоматически завершит процесс обновления. Не используйте телефон во время обновления. Когда обновление будет завершено, телефон перезагрузится автоматически.
  • Восстановление системы телефона с помощью приложения HiSuite
    1. Установите последнюю версию HiSuite на ваш компьютер.
    2. Откройте приложение HiSuite > System restoration > Continue > Start.

    3. Подождите, пока завершится процесс восстановления. Система будет восстановлена до версии по умолчанию.

    4. Телефон автоматически перезагрузится, и откроется рабочий экран. Это может занять некоторое время.

Если проблема не решена, сделайте резервную копию данных и обратитесь в авторизованный сервисный центр Huawei.

Телефон завис на экране с логотипом после обновления

  1. Если телефон завис на экране с логотипом на долгое время, зарядите его в течение 30 минут и более, затем попробуйте включить телефон повторно.
  2. Если телефон не включается, нажмите и удерживайте кнопку питания примерно 10 секунд, чтобы принудительно перезагрузить телефон.
  3. Если при загрузке телефон переходит в режим eRecovery, выберите опцию перезагрузки, чтобы проверить, может ли телефон включаться корректно.
  4. Если проблема не решена, подключите телефон к сети Wi-Fi и используйте режим eRecovery для восстановления системы телефона. Либо восстановите систему телефона с помощью приложения HiSuite.

Если проблема не решена, сохраните резервную копию данных и отнесите устройство в авторизованный сервисный центр Huawei.

Передача данных с huawei в xiaomi через bluetooth

Вы заинтересованы в беспроводной передаче данных от Huawei до Xiaomi? Если это так, то воспользуйтесь функцией Bluetooth, встроенной в каждое устройство Android.

Таким образом, это означает, что метод может избавить вас от необходимости загружать любую стороннюю программу. Но этот метод подходит для тех, кто хочет передавать только ограниченные данные, такие как фотографии, видео и документы.

Вот простое руководство, которое поможет вам перенести данные с Huawei на Xiaomi через Bluetooth

  1. Чтобы начать процесс, перейдите в «Настройки»> «Включить Bluetooth» на обоих телефонах. Держите телефоны Huawei и Xiaomi рядом, и пусть ваше устройство Xiaomi появится на вашем телефоне Huawei. Bluetooth с низким энергопотреблением на ESP32 - блог
  2. Когда появится телефон Xiaomi, выберите его и введите код для сопряжения обоих устройств.
  3. После успешного соединения между устройствами вы можете инициировать процесс передачи. Например, если вы хотите перенести изображения, перейдите в галерею Huawei, выберите нужные изображения и нажмите значок «Поделиться». Bluetooth с низким энергопотреблением на ESP32 - блог
  4. Теперь выберите «Bluetooth» и дайте процессу передачи завершиться.
  5. Передача данных через Bluetooth требует терпения. Кроме того, этот метод не подходит для передачи файлов любого типа, таких как сообщения, журналы вызовов и т. Д. Bluetooth с низким энергопотреблением на ESP32 - блог

Передача данных с Huawei на Xiaomi при помощи ShareMe – пошаговая инструкция

ShareMe, ранее называвшийся Mi Drop, очень удобен для передачи Huawei в Xiaomi. Сильной стороной приложения для Android-коммутатора является то, что оно может помочь вам выполнить работу без проводов и без подключения к интернету. Этот метод предлагает в 200 раз большую скорость, чем Bluetooth, и позволяет одним нажатием кнопки обмениваться файлами со старого устройства на новый телефон.

Вот простое руководство, чтобы узнать, как использовать ShareMe для передачи данных с Huawei Honor на Xiaomi Redmi

  1. На вашем телефоне Xiaomi откройте приложение ShareMe и нажмите «Получить».
  2. Загрузите приложение ShareMe из магазина приложений Google в своем телефоне Huawei. Выберите файлы, которые вы хотите передать, и нажмите «Отправить».
  3. Если устройства не могут подключиться через точку доступа, вы можете отсканировать QR-код со старого телефона, чтобы установить соединение. Итак, нажмите «Сканировать QR-код» на старом телефоне и отсканируйте код, созданный на вашем новом телефоне Xiaomi, чтобы начать передачу данных. Bluetooth с низким энергопотреблением на ESP32 - блог

Само собой разумеется, что передача данных через ShareMe потребует времени, в зависимости от того, сколько данных вы переносите, поэтому будьте терпеливы, чтобы процесс завершился. Однако, если передача прервана из-за какой-либо проблемы, вы можете возобновить процесс одним нажатием, не запуская весь процесс.

Путь к успеху

При проведении этой атаки мы использовали большую часть того кода, который ранее загружали в SRAM с помощью загрузчика UART. Из этого кода убраны лишь команды вывода символов в последовательный интерфейс, так как теперь нашей целью была установка регистра

PC

в нужное нам значение, то есть — получение возможности контролировать систему.

#define a "addi a6, a6, 1;"
#define t a a a a a a a a a a
#define h t t t t t t t t t t
#define d h h h h h h h h h h

void __attribute__((noreturn)) call_start_cpu0() {
    uint8_t cmd;
   
    ets_printf("SRAM CODEn");

    while (1) {

        cmd = 0;
        uart_rx_one_char(&cmd);

        if(cmd == 'A') {
            *(unsigned int *)(0x3ff4808c) = 0x4001f880;
            *(unsigned int *)(0x3ff48090) = 0x00003a98;
            *(unsigned int *)(0x3ff4808c) = 0xc001f880;
        }
    }

    asm volatile ( d );

    while(1);
}


После компиляции этого кода мы, прямо в его бинарном варианте, заменили инструкции

addi

на адрес

0x4005a980

. По этому адресу находится функция в ROM, которая выводит данные в последовательный интерфейс. Успешный вызов этой функции позволил бы нам узнать об успешно проведённой атаке.

Мы подготовились к тому, чтобы устраивать такие сбои, параметры которых соответствовали бы тому, что, в одном из предыдущих экспериментов, вызвал исключение IllegalInstruction. Через некоторое время мы обнаружили успешное завершение нескольких попыток эксперимента по загрузке в регистр PC заданного адреса.

Разработка приложений для usb-хостов и устройств с помощью платы esp 32-s3-usb-otg

Чипы серии ESP32-S, такие как ESP32-S2 и ESP32-S3, поставляются с интерфейсом USB OTG, а, в сентябре прошлого года, компания Espressif в статье под названием «ESP-USB: решение для беспроводной связи Espressif» представила плату ESP32-S3-USB-OTG. В статье они в основном сосредоточились на образцах кода USB с документацией только на китайском языке и предоставили немного подробностей о самой плате.

Ранее на этой неделе мы заглянули в официальный магазин компании на Aliexpress и заметили, что плата ESP32-S3-USB-OTG выставлена ​​на продажу за 35 долларов плюс доставка, теперь доступна дополнительная информация, так что давайте посмотрим на детали.

Технические характеристики платы ESP32-S3-USB-OTG:

  • Беспроводной модуль — модуль ESP32-S3-MINI-1-N8 с двухъядерным процессором ESP32-S3 Xtensa LX7 с подключением Wi-Fi 4 и Bluetooth 5.0, флэш-память QSPI 8 МБ
  • Хранилище — разъем для карты MicroSD
  • Дисплей — 1,3-дюймовый цветной ЖК-дисплей
  • USB
    • 1x полноскоростной хост-порт USB
    • 1x полноскоростной ведомый USB-порт
    • 1x порт Micro USB для отладки (консоль UART)
  • Расширение — 14х контактных площадок с 6х разъемами GPIO, JTAG, 3,3 В и GND
  • Разное — 2x светодиода, кнопки меню, вверх и вниз, кнопки загрузки и сброса, переключатель выбора BAT/5V
  • Источник питания
    • 5 В через USB-хост или порт Micro USB,
    • Дополнительная батарея 4,2 В/500 мАч
  • Размеры — подлежат уточнению

Страница Aliexpress ссылается на репозиторий Github: https://github.com/espressif/esp-dev-kits/tree/master/esp32-s3-usb-otg, но по какой-то причине он был удален. Но поскольку Git — это система контроля версий, мы все еще можем получить доступ к удаленному README на английском и китайском языках, что указывало нам на правильный репозиторий с полной информацией, включая схемы и макет печатной платы.

ESP32-S3-USB-OTG состоит из двух плат с материнской платой с модулем ESP32-S3 и большинством портов и дополнительной платой с ЖК-дисплеем. На фотографии ниже изображена нижняя часть материнской платы с 14 контактными площадками для ввода/вывода и JTAG, контактными площадками для пайки аккумулятора, а также светодиодами и микросхемой CP2102N USB to TTL.

Плата может использоваться для разработки приложений, использующих интерфейсы USB ESP32-S2/S3, таких как беспроводные устройства хранения данных, сетевые карты Wi-Fi, LTE MiFi, мультимедийные устройства, виртуальные клавиатуры и мыши. Вы найдете примеры кода на Github, в которых используются либо USB-устройство, либо хост-интерфейсы, в частности:

  • USB-хост
    • Поддержка USB-камеры для потоковой передачи видео, локального кодирования и хранения JPEG, передачи изображений через Wi-Fi и т. д.
    • USB-ключ 4G для доступа к сотовой сети, используйте точку доступа Wi-Fi, шлюзы Интернета вещей…
  • USB-устройство
    • USB-накопитель — плату можно преобразовать в беспроводной USB-диск, кард-ридер или музыкальный проигрыватель.
    • Устройство интерфейса пользователя (HID) с платой, действующей как сенсорная панель USB, клавиатура или геймпад
    • Мост USB-UART

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Регистрация и вход в аккаунт

При первом запуске приложения пользователь должен принять лицензионное соглашение, подтвердить регион проживания и зарегистрировать профиль. Порядок регистрации учетной записи для всех типов устройств одинаков, включая владельцев Honor и Huawei.

В разделе «Мой профиль» можно установить пол владельца смартфона, возраст, вес и рост. С учетом этих показателей программа будет определять расход калорий во время физической активности. Перенести данные приложения со старого на новый смартфон сложно, так как такой функционал почему-то не создан разработчиками.

Существует несколько вариантов переноса данных:

  1. Синхронизация с Google Fit, с помощью которого можно сохранить всю информацию и использовать ее после обновления или смены телефона. В таком случае использование программы Здоровье становится проблематичным.
  2. Перенос данных через вход в аккаунт. Для этого при первом запуске нужно выбрать любой регион кроме России или Украины. При выборе другого региона появится надпись «Войти в аккаунт». После входа в аккаунт Хуавей данные должны появиться, так как хранятся в облаке.
  3. Перенос данных с помощью бэкапа телефона и переноса всей информации на новое устройство. Проводится с помощью предустановленной программы Phone Clone. Инструкция по использованию программы содержится на официальном сайте Хуавей.

Точного способа переноса не существует, в каждом могут наблюдаться баги и ошибки. Возможен полный сброс данных программы.

Связь esp32 по bluetooth в arduino ide

Рассмотрим обмен данными смартфона и контроллера ESP32 посредством любой программы Bluetooth терминала, с помощью которой будем отправлять данные в микроконтроллер.

Наша задача состоит в том, чтобы установить беспроводное соединение смартфона с ESP32 и отображать прочитанные данные, включая и выключая светодиод.

При этом, прием логической единицы отображается включением светодиода, а прием логического нуля — выключением. Для разработки будем использовать уже знакомую среду Arduino IDE. Начнём программу с добавления файла библиотеки BluetoothSerial, которая переводит модуль в режим Bluetooth SPP.

Скачать последнюю версию библиотеки можно с ее официальной страницы на GitHub: ссылка на скачивание Bluetooth Serial Library

Далее — делаем выбор объекта для проведения передачи данных:

Следующий шаг — установка скорости последовательной передачи данных (у нас будет задана 9600 бод) и инициализация сигнала Bluetooth с именем, которое будет находиться смартфоном при установке соединения. Порт, к которому подключен светодиод, назначается в качестве выхода для нашего устройства.

Проверку данных входа, поступающих с модуля Bluetooth организуем в теле бесконечного цикла void. При этом, обнаружение поступивших данных сохраняется в заданной переменной входного сигнала.

Кроме этого производится печать значения переменной в последовательный монитор, для перекрестной проверки информации, получаемой с ARDUINO.

Таким образом, полученные данные, сохраненные в переменной входного сигнала, доступны для сравнения с ожидаемой величиной и последующей командной реализации. Следует обратить внимание, что формат значения, передаваемого из Bluetooth — «char», тогда как ARDUINO считывает десятичное значение символа.

В данном случае для char ‘0’ десятичное значение равно 48, для char ‘1’ — 49 (см. таблицу ASCII кодов).

Сопряженные bluetooth-устройства не подключаются к телефону повторно автоматически | huawei поддержка россия

Если Bluetooth-устройство находится вне зоны действия Bluetooth вашего телефона, оно отключится от телефона и не будет находиться в состоянии сопряжения. Если Bluetooth-устройство не подключилось автоматически после возвращения в зону действия Bluetooth-соединения, выполните следующие действия.

  1. Включите на телефоне функцию Автоподключение Bluetooth: откройте Настройки, найдите раздел Номер сборки и откройте экран О телефоне, затем нажмите Номер сборки семь раз подряд, пока на экране не появится сообщение «Вы стали разработчиком!» (потребуется ввести пароль разблокировки экрана). Вернитесь в Настройки, а затем найдите и откройте раздел Автоматическое подключение по Bluetooth (если этот переключатель недоступен, это означает, что он включен по умолчанию на вашем телефоне).
  2. Убедитесь, что расстояние между телефоном и Bluetooth-устройством не превышает рабочего диапазона Bluetooth (10 м).
  3. Повторно включите Bluetooth на телефоне и Bluetooth-устройстве и проверьте, решена ли проблема.
  4. Если проблема не решена, проведите вниз по строке состояния телефона, чтобы отобразилось меню быстрого доступа, затем нажмите и удерживайте Bluetooth, чтобы открыть экран настроек Bluetooth. Отмените сопряжение с Bluetooth-устройством на телефоне, затем повторно выполните сопряжение.

Функции и возможности часов хуавей и хонор

Смарт-часы, сделанные в Китае, отличаются низкой ценой, а их функционал сопоставим с возможностями Apple Watch. В этой связи все большую популярность продолжают набирать носимые аксессуары Huawei и Honor.

Honor – суббренд компании Хуавей, ориентированный на европейский рынок. По сути устройства двух марок очень похожи друг на друга.

Нельзя сказать, что на рынке можно встретить огромное количество моделей часов от Huawei и Honor. Как правило, каждый бренд выпускает по одному устройству в год. Поэтому есть смысл сравнить 2 самые популярные модели:

  • Huawei Watch GT2;
  • Honor Magic Watch 2.

Из таблицы станет ясно, чем отличаются устройства, и какими функциями они оснащены.

ОсобенностьHuawei Watch GT2Honor Magic Watch 2
Тип экрана и диагональAMOLED, 1,39 дюймаAMOLED, 1,2 дюйма
Разрешение дисплея454х454390х390
Габариты45,9х45,9х10,7 мм; 41 грамм
Материал корпусаСталь
Материал ремешкаКожаСиликон или кожа
ДатчикиАкселерометр, гироскоп, барометр, альтиметр, GPS, Bluetooth 5.1
ПульсометрЕсть
Уровень кислорода в кровиЕстьНет
Оповещение о звонкахЕсть
Защита корпусаIP 67
Аккумулятор455 мАч215 мАч

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

Единственное преимущество часов Хуавей – измерение уровня кислорода в крови. Кроме того, дизайн аксессуара Huawei более строгий. В этом смысле девайс Хонор ориентирован на молодую аудиторию. Также оценить определенную разницу между гаджетами можно после просмотра следующего видео.

Как бы то ни было, серьезных отличий по функциональности не замечено. Выбирать то или иное устройство необходимо отталкиваясь от собственного вкуса. Стоимость девайсов находится на примерно одинаковом уровне (12-15 тысяч рублей).

Помимо смарт-часов в линейке устройств Huawei и Honor есть умные браслеты, которые пользуются невероятной популярностью.

Итоги

В этом материале мы описали атаку на ESP32, при проведении которой мы обходим системы защищённой загрузки и шифрования флеш-памяти, устраивая всего один сбой в работе микроконтроллера. Более того, мы использовали уязвимость, эксплуатируемую при проведении атаки, для извлечения содержимого зашифрованной флеш-памяти в виде обычного текста.

Для того чтобы пошагово представить ход этой атаки, мы можем использовать FIRM.

Ход атаки

Вот краткое описание того, что происходит на разных шагах вышеописанной атаки:

  1. Activate (выбор инструментов для проведения атаки) — здесь используется комплекс Riscure Inspector FI.
  2. Inject (проведение атаки) — осуществляется электромагнитное воздействие на исследуемый микроконтроллер.
  3. Glitch (нарушение работы устройства) — происходит нарушение работы устройства, зависящее от параметров воздействия (время, место, мощность).
  4. Fault (неправильная работа устройства) — устройство начинает работать неправильно, но то, что именно случится на этом шаге, заранее неизвестно. Например, могут быть повреждены какие-то инструкции в памяти.
  5. Exploit (эксплуатация уязвимости) — использование загрузчика UART для выполнения кода, производящего запись данных в SRAM, и для организации горячей перезагрузки устройства. Осуществляется запись адреса обработчика команд загрузчика UART в регистр PC для вызова команды read_mem.
  6. Goal (достижение цели атаки) — осуществляется чтение данных из флеш-памяти в виде обычного текста.

Интересно то, что успех этой атаки зависит от двух слабостей ESP32. Первая слабость заключается в том, что загрузчик UART нельзя отключить. В результате он доступен всегда. Вторая слабость — это сохранение данных в SRAM после горячей перезагрузки устройства. Это позволяет, используя загрузчик UART, заполнить SRAM произвольными данными.

В информационном сообщении, которое относится к этой атаке, компания Espressif сообщает о том, что в более новых версиях ESP32 присутствуют механизмы, делающие подобную атаку невозможной.

Все стандартные встраиваемые системы уязвимы к атакам, выполняемым путём нарушения нормальной работы устройств. Поэтому неудивительно то, что к атакам по сторонним каналам уязвим и микроконтроллер ESP32. Подобные чипы попросту не спроектированы с расчётом на устойчивость к таким атакам. Но, что важно, это не значит, что подобные атаки не несут в себе никакого риска.

Наше исследование показало, что использование слабых мест чипа позволяет проводить успешные атаки, устраивая сбои. Большинство атак, о которых можно узнать из открытых источников, используют традиционные подходы, где основное внимание направлено на обход проверок. Мы встречали не особенно много сообщений об атаках, подобных той, которую описали.

Мы уверены в том, что полный потенциал подобных атак всё ещё исследован недостаточно. Большинство исследователей до последнего времени занималось лишь изучением методов нарушения работы чипов (шаги Activate, Inject, Glitch), а мы же пошли дальше, рассмотрев возможность работы с уязвимым чипом после сбоя (шаги Fault, Exploit, Goal).

Исследования до 2020 и после 2020 года

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

Оцените статью
Huawei Devices
Добавить комментарий