Security vs Cloud blog | Январь 2017

Security vs Cloud blog

Здесь найдете заметки по безопасности, облакам и предпринимательству

MCS 300 - безопасность в IoT и управление теплым полом

Как некто написал "не многие знают что буква S в аббревиатуре IoT означает Secure".
Воочию столкнулся с безопасностью в выпускаемых на рынок решениях IoT. 
Прикупил домой вот такой девайс для управления теплым полом по WiFi на кухне и балконе.


После установки я столкнулся с особенностями сурового российского IoT. 
Для начала выяснилось, что оные девайсы работают где-то день, и затем отваливаются от приложения. При этом Ping спокойно продолжает работать. Грешил на роутер, поменял настройки, поменял порты, наконец поменял роутер, но сказочный девайс всеравно требовал перезагрузки перед уходом из квартиры :) Хотя если выставить расписание, оно продолжало работать и после потери связи с ним.

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

Здесь возникла идея, как обеспечить приемлемый уровень безопасности для небезопасных IoT устройств.
Технически чтобы обеспечить защиту устройства можно сделать некоторый облачный шлюз, с фиксированным IP, для которого разрешить общение с устройством, а уже на самом шлюзе можно докрутить собственный механизм авторизации и реализовать протокол работы с устройством, "разобрав" родное приложение и протокол.
Другой вариант - запустить шлюз в локальной сети для управления устройством и уже с него обеспечить защищенный протокол работы с устройством. Чувствуется один из вариантов и придется реализовать.

Но на безопасности история не закончилась.
Через месяц работы внезапно обновилась прошивка устройств и они перестали отваливаться от сети. Я искренне поверил что разработчики пофиксили утечки, сделали какие-то очистки добы оно начало нормально работать, но оказалось они нашли универсальный способ. Руководствуясь принципом "Семь бед, один ресет" устройство перезапускалось каждый час, переподключалось к сети и спокойно работало дальше. И самое смешное, что такое решение действительно всех устроило тк постоянно устройство не нужно, а работоспособность в итоге была обеспечена. :)