Как стать автором
Обновить

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

S in IoT stands for Security

Блин, из-за кармы не плюсануть... Лучший камент треда.

Посмотрел на свою старую, еще советскую, алюминиевую турку, потом на кофемолку. Ничего не понял — где подвох-то…
Из нескольких сотен вакансий на HeadHunter не видел ни одной, где искали бы тестировщика IoT и умных устройств. Так что удивляться нечему.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий