company_banner

Кофе с ароматом ransomware: современные smart-устройства опаснее, чем кажутся


    На Хабре не раз поднимался вопрос информационной безопасности умных устройств. Стремясь побыстрее выпустить новую модель в серию, многие производители уделяют недостаточно внимания цифровой защите своих гаджетов. В итоге это приводит к курьезным ситуациям — например, выброшенная smart-лампочка может предоставить злоумышленникам доступ к корпоративной WiFi-сети.

    Проблема не только с лампочками. Взламывают умные холодильники, термостаты и даже целые автомобили. Но на этот раз взлому подвергся совсем уж безобидный девайс — кофеварка. Мартин Хрон, исследователь из Avast, изучил ПО и аппаратное обеспечение кофеварки Smarter. Результаты изучения весьма интересны. Подробнее о них — под катом.

    Что это за устройство?


    Аппарат ценой в $250 подключается по WiFi к телефону с приложением. Соответственно, удаленно можно задавать разные режимы работы кофеварки, выбирать виды напитков. В целом, это обычное для своего класса устройства.


    Мартин Хрон, приобретя девайс, попил кофе и решил оценить защищенность Smarter. Сразу же оказалось, что девайс подвержен взлому уже «из коробки».

    Насколько все плохо?


    Как оказалось, при включении кофеварка работает как WiFi-точка доступа. Это необходимо для подключения гаджета к приложению на смартфоне пользователя. Проблема в том, что соединение не защищено. Шифрования нет вообще, поэтому для Мартина не составило никакого труда изучить принцип взаимодействия кофеварки и смартфона по беспроводной сети.


    Уязвимые кофеварки Smarter в разных странах мира

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

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

    Для этого Мартин разобрал девайс и изучил его внутренности.

    Железо в Smarter


    Главное, что нужно было выяснить — какой процессор применяется в кофеварке. Кстати, еще лет 10 назад фраза вроде «процессор кофеварки» вызвала бы недоумение большинства читателей. Но сейчас это в порядке вещей.

    Так вот, после разбора кофеварки Мартин увидел это.

    image


    image


    1 – ESP8266 с модемным ПО AT modem firmware, 2 – STM32F05106 ARM Cortex M0 – основной чип, 3 – I2C EEPROM, 4 – порты отладки и программный интерфейс

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


    Теперь у исследователя было достаточно информации для того, чтобы написать на питоне скрипт для установки стороннего ПО, обманывающий кофеварку. Устройство считает, что проходит плановое обновление.


    Ну а после «обновления» можно радовать других пользователей кофеварки сообщениями вроде этого.


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


    Для того, чтобы все это сделать, Мартин модифицировал прошивку кофеварки, которую он изучал. Ее он добавил в приложение на Android (с iOS все было бы несколько сложнее). Ну а затем оставалось только «обновить» устройство при помощи кастомной прошивки.

    При включении кофеварка всегда транслирует SSID со значением «Smarter Coffee: xx», где XX-часть МАС-адреса устройства.

    Что дальше?


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

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

    И, кстати, кастомная прошивка Мартина блокирует все последующие —обновить кофеварку стандартным путем не получится. Нужно либо подключаться к сервисному порту, либо обновлять прошивку как-то еще.

    Насколько все это опасно?


    Если говорить о кофеварках, то не очень. Можно просто отказаться от использования продукции Smarter или других компаний (вряд ли только Smarter не использует шифрование).

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

    Как исправить ситуацию? Есть несколько способов:

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

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

    Selectel
    ИТ-инфраструктура для бизнеса

    Комментарии 36

      +5
      не зря для «умного дома» придумали кличку «дом-дурачок»
        0
        дурачёк — разработчик, тяпляп и в продакшн
          +1
          Вряд ли, основную вину стоит перекладывать на разрабов. Я склонен считать, что либо выделили небольшой бюджет на разработку ПО, либо технические характеристики устройства не позволяют реализовать более-менее адекватную ИБ.
            0
            По поводу разрабов — такое впечатление, что ИБ там на уровне «это пользовательское устройство — он сам себя взламывать не будет». И похожая тема с «умными» автомобилями. То, что рядом с автомобилем или домом может быть еще кто-то, кому гораздо удобнее подключаться к беспороводным интерфейсам без пароля или шифрования — почему-то забывают.
              0
              Почему без шифорования? Кажется митсу WPA использовали, враг не пройдёт! XD
              +1
              для упомянутого ESP8266 в СДК идет порт BearSSL, поэтому второй вариант не отмазка.
          +3
          На прошлой неделе я хакнул свою кофеварку, и теперь она мне варит глинтвейн и пиво.
            +1

            Хакните еще разок. Пусть она их еще и приносит)))

              0
              А в случае восстания машин, она ещё и будет пить вместо хозяина.
            0
            Думаю, эта беда будет сохраняться и дальше. Как только устройству добавим безопасности — потребуется масса настроек перед первым запуском. А как их вводить, когда у кофеварки ни экрана толком нет, ни клавиатуры? Через 4 кнопочки на панели будем вводить сложные пароли или не дай бог какой-нибудь uuid?
              +3
              Можно считать QR код с борта кофеварки телефоном, в котором будет PSK от ее AP
              Можно насвистывать настройки телефоном, если у девайса есть микрофон
              Можно намигивать настройки экраном телефона, если у девайса есть подобие камеры или фотодатчик.
                0
                Да, собсно 2 варианта:
                либо пароль наклеен на кофеварку (у вас он в QR, но это не так важно),
                либо нужен административный разъем (сюда отнесу свист, мигание. но можно и проще — usb).

                И оба слабенькие с точки зрения безопасности. Кофеварка ведь стоит в общественном месте — что наклейка, что разъем доступны.
                С наклейкой вообще все ужасно — это неизменяемый пароль. Вот уволился сотрудник, что теперь делать? как заставить его забыть пароль? он ведь может под окна офиса подойти и плевать во всех кофем из кофеварки ;)
                  0
                  С наклейкой вообще все ужасно — это неизменяемый пароль. Вот уволился сотрудник, что теперь делать? как заставить его забыть пароль?

                  Ничто ведь не мешает изменить этот пароль через приложение :) Как я понял, эта возможность даже в текущей реализации есть.
                    0
                    Очевидно, что этот ключ на наклейке нужен при первоначальной настройке устройства и будет при этом заменен.

                    Альтернативно, наклейка может быть урлом на сайт изготовителя машины, где нужно залогиниться, после чего получить временный пароль, который действует, скажем, в течении 10 минутного окна.
                      0
                      Если действительно будет заменен, а не как с admin:admin на роутерах. Разумеется, тут уже пользователь ССЗБ, тем не менее.
                        0
                        Вот URL на сайт — нафиг: в какой-то момент он превратится в тыкву.
                        0
                        Просто сделать пароль — серийный номер, а дальше смена пароля. Если юзер ставить 123, то тут уже сам виноват. Можно политики навернуть, правда)
                          0
                          Вопрос многогранный: с одной стороны, к устройству имеют физический доступ все сотрудники офиса, с другой — коллега, прицепившийся проводами к диагностическому разъёму будет выглядеть подозрительно.

                          Поэтому и защита тоже должна быть многоуровневой. Возможность задать нужный режим приготовления кофе — бог с ним, пусть будет через открытый wi-fi. Но с ограничением возможных сочетаний входных параметров на уровне API, а не только UI приложения.

                          А вот технические фокусы типа обновления прошивки, управления ролями и доступами тем, где это актуально, и т.д. — должны требовать бОльших телодвижений. Вплоть до вскрытия корпуса и зажимания кнопки под ним.
                        +1
                        Можно задавать для каждого экземпляра уникальный пароль на WiFi, который указывать на наклейке в паспорте/гарантийнике рядом с серийным номером.
                          0
                          Думать немного
                          — ну вот iVideon ж смогли к своим камерам добавить. Хотя казалось бы — через что там пароли вводить? Но — там есть камера а значит можно приложением QR-код сгенерировать.
                          — гугловские Chromecast'ы — тоже решили проблему (хотя в первом поколении надо цеплятся к временной WiFi сети)
                          — TP-Link'овские розетки Kasa — тоже — подключите, дождитесь пока индикатор замигает и подключитесь через приложение задав нужные доступы — индикатор переключится

                          Почему бы не создавать временную сеть на время установки (и выключать через 10 минут после подачи питания — пользователю надо — еще раз передернет питание), подключатся к ней приложением и затем задавать параметры нормальной сети, которую потом и использовать?

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

                            У производителя было два варианта, которые не требовали бы никаких аппаратных усложнений:
                            — Проверять подлинность прошивки перед прошивкой
                            — Полностью повесить процесс прошивки на ESP (обновление которого не подразумевается, как я понимаю, всё равно), чтобы от STM32 не требовалось никакое содействие и перепрошивка была возможна всегда. Тогда прошивка элементарно бы восстанавливалась бы официальной утилитой обновления.

                            Ещё был вариант рассудить, что кофеварка штука очень функционально ограниченная и там не особо то есть, что апргейдить программно. Это не тесла с автопилотом. А значит процесс обновления можно максимально усложнить, например, требовать нажать какую-нибудь кнопку где-то под корпусом, чтобы случайный прохожий уже точно таким не мог заниматься.
                            +1
                            Похоже, машинка варит неплохой кофе, раз удалось провернуть с ней такое.
                              +2
                              Качество кофе и наличие wifi никак не связано.
                                0

                                Намёк на ночные посиделки с отладчиком и литрами кофе, если будет варить откровенный шмурдяк, долго не просидишь :-)


                                А про то, что 'S' in IoT stands for 'Security' было ясно ещё тогда, когда емнип лаборатория Касперского признала Xiaomi'шный пылесос одним из самых защищённых — у них апдейты были в ZIP-архиве с паролем rockrobo, против плейнтекстовых у конкурентов.

                              0
                              Я полагаю, что единственный вариант принудить производителей думать о безопасности — это принимать гос.законы типа «если в устройстве будут обнаружены уязвимости — то производитель штрафуется на сумму, сопоставимую с ценой проданных устройств». Ну, в начале работы этого закона надо вводить маленькие штрафы; а по ходу дела — увеличивать штрафы до уровня, делающего невыгодным плевать на безопасность.

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

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

                              Технически — безопасность можно обеспечить примерно такой защитой:
                              1. Важные функции управления — доступны только через USB.
                              2. USB-порт — закрыт заглушкой на винтах или даже замком. И заглушка — на задней стенке, т.е. для получения доступа надо отодвинуть устройство.
                              Для WiFi — можно разрешать важные функции управления кнопкой, которая защищена аналогичной заглушкой.
                                +1
                                Как при пиратской раздаче считают число скачиваний х цена копии, так и тут: число уязвимых устройств х цена одного х коэффициент. Но только вот цена устройств подскочит, т.к. производитель будет нанимать команду дорогих спецов для поиска уязвимостей, потребители будут не довольны)
                                  0
                                  Я думаю достаточно обязать производителей в полном объеме компенсировать стоимость нового устройства всем владельцам, у которых в устройстве обнаружились уязвимости, если производитель не готов за свой счет эту уязвимость у них устранить.
                                    0
                                    мне кажется проблема только одна. В этих всех девайсах модуль связи распаян и не сменяем. Достаточно запретить IoT девайсы с впаянной насмерть нестандартной связью. Большинство проблем уйдет
                                      0
                                      А вот что законами ограничить так это облачно неотвязываемый IOT. Превращающийся в тыкву из-за недостартапов или производитель поигрался и забросил.
                                      0
                                      Я не знаю как это сейчас устроено, но можно просто подвести это под гарантийный случай. Все пломбы целы, повреждений корпуса нет, если кофеварка сломалась от неправильных команд по Wi-Fi, то поставщик должен её по гарантии починить. Даже если это простейшее подключение программатора и заливка прошивки, это в любом случае финансовые расходы, так что производителю не выгодно, если это будет происходить слишком часто.

                                      А вообще у всего этого есть обратная сторона медали — невозможность накатывания сторонних и кастомных прошивок. Потому что производителю проще не разбираться, а тупо запретить либо апгрейд прошивки вообще, либо реализовать полноценные цифровые подписи. Для кофеварки, конечно, вряд ли много будет желающих, но, скажем, use-case перепрошивки роутеров уже вполне имеются, со смартфонами ещё актуальнее. Ещё можно вспомнить Secure boot, Intel ME и т. д.
                                        0
                                        Со смартфонами пока проще — GPLv3 (я так понимаю ядро Linux и соответственно Android им лицензированы) им не позволяет блокировать устройство насмерть. Блокирование возможности заливки прошивок просто незаконно. Скорее всего только по этому очень многие смартфоны Android прошиваются. Современные средства защиты уже могли бы надежно все залочить везде.
                                        См. Тивоизация
                                      0
                                      «Умный» увлажнитель Crane Smart Drop ведёт себя точно так же, с безопасностью скорее всего аналогично, то есть никак, функцию удалённого управления от греха подальше не использовал, поигрался и отключил, благо местное управление нормальное. Скоро начнётся сезон, тоже надо покопаться в ней :).
                                      Такой: crane-russia.ru/catalog/uvlazhniteli_vozdukha/smart_kapli/uvlazhnitel_vozdukha_crane_ee_5303w_smart_kaplya_belyy
                                        0
                                        А как вы защищаете свои умные устройства от взлома?

                                        меня защищает моя зарплата.


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

                                          0
                                          S in IoT stands for Security
                                            0
                                            Посмотрел на свою старую, еще советскую, алюминиевую турку, потом на кофемолку. Ничего не понял — где подвох-то…

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

                                            Самое читаемое