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





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

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




Комментарии (31):

  1. v1000
    /#22116552

    не зря для «умного дома» придумали кличку «дом-дурачок»

    • siargy
      /#22116924

      дурачёк — разработчик, тяпляп и в продакшн

      • Yuriy_krd
        /#22117234

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

        • v1000
          /#22117748

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

          • El_Kraken_Feliz
            /#22117874

            Почему без шифорования? Кажется митсу WPA использовали, враг не пройдёт! XD

        • amarkevich
          /#22126030

          для упомянутого ESP8266 в СДК идет порт BearSSL, поэтому второй вариант не отмазка.

  2. KongEnGe
    /#22117362

    На прошлой неделе я хакнул свою кофеварку, и теперь она мне варит глинтвейн и пиво.

    • Cole
      /#22118684

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

      • Pro-dev-pm
        /#22119268

        А в случае восстания машин, она ещё и будет пить вместо хозяина.

  3. mixsture
    /#22117394

    Думаю, эта беда будет сохраняться и дальше. Как только устройству добавим безопасности — потребуется масса настроек перед первым запуском. А как их вводить, когда у кофеварки ни экрана толком нет, ни клавиатуры? Через 4 кнопочки на панели будем вводить сложные пароли или не дай бог какой-нибудь uuid?

    • gbg
      /#22117426 / +1

      Можно считать QR код с борта кофеварки телефоном, в котором будет PSK от ее AP
      Можно насвистывать настройки телефоном, если у девайса есть микрофон
      Можно намигивать настройки экраном телефона, если у девайса есть подобие камеры или фотодатчик.

      • mixsture
        /#22117502

        Да, собсно 2 варианта:
        либо пароль наклеен на кофеварку (у вас он в QR, но это не так важно),
        либо нужен административный разъем (сюда отнесу свист, мигание. но можно и проще — usb).

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

        • Andy_Big
          /#22117588

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

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

        • gbg
          /#22117620

          Очевидно, что этот ключ на наклейке нужен при первоначальной настройке устройства и будет при этом заменен.

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

          • cl0ne
            /#22118264

            Если действительно будет заменен, а не как с admin:admin на роутерах. Разумеется, тут уже пользователь ССЗБ, тем не менее.

          • K0styan
            /#22127734

            Вот URL на сайт — нафиг: в какой-то момент он превратится в тыкву.

        • tmin10
          /#22118578

          Просто сделать пароль — серийный номер, а дальше смена пароля. Если юзер ставить 123, то тут уже сам виноват. Можно политики навернуть, правда)

        • K0styan
          /#22127794

          Вопрос многогранный: с одной стороны, к устройству имеют физический доступ все сотрудники офиса, с другой — коллега, прицепившийся проводами к диагностическому разъёму будет выглядеть подозрительно.

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

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

    • Andy_Big
      /#22117438 / +1

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

    • vikarti
      /#22119418

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

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

      • tmin10
        /#22120516

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

  4. ilyaplot
    /#22117624

    Похоже, машинка варит неплохой кофе, раз удалось провернуть с ней такое.

    • kost
      /#22118998

      Качество кофе и наличие wifi никак не связано.

      • vladkorotnev
        /#22119348

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


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

  5. Karpion
    /#22118468

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

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

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

    Технически — безопасность можно обеспечить примерно такой защитой:

    1. Важные функции управления — доступны только через USB.
    2. USB-порт — закрыт заглушкой на винтах или даже замком. И заглушка — на задней стенке, т.е. для получения доступа надо отодвинуть устройство.
    Для WiFi — можно разрешать важные функции управления кнопкой, которая защищена аналогичной заглушкой.

    • tmin10
      /#22118590

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

    • Sly_tom_cat
      /#22119014

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

    • Ztare
      /#22131040

      мне кажется проблема только одна. В этих всех девайсах модуль связи распаян и не сменяем. Достаточно запретить IoT девайсы с впаянной насмерть нестандартной связью. Большинство проблем уйдет

      • Ztare
        /#22131050

        А вот что законами ограничить так это облачно неотвязываемый IOT. Превращающийся в тыкву из-за недостартапов или производитель поигрался и забросил.

  6. corvair
    /#22119408

    «Умный» увлажнитель Crane Smart Drop ведёт себя точно так же, с безопасностью скорее всего аналогично, то есть никак, функцию удалённого управления от греха подальше не использовал, поигрался и отключил, благо местное управление нормальное. Скоро начнётся сезон, тоже надо покопаться в ней :).
    Такой: crane-russia.ru/catalog/uvlazhniteli_vozdukha/smart_kapli/uvlazhnitel_vozdukha_crane_ee_5303w_smart_kaplya_belyy

  7. Wingtiger
    /#22121158

    А как вы защищаете свои умные устройства от взлома?

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


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