Сегодня мы поговорим о степени защищенности подобных систем и том, как можно сделать их безопаснее с помощью разработок, созданных в Университете ИТМО.
Amir Zmora / Flickr / CC
Что не так с умным домом
Часто разработчики не уделяют достаточного внимания безопасности создаваемых продуктов. Например, известен случай, когда исследователь информационной безопасности смог найти ссылку на интерфейс управления системой умного дома прямо в Google. Страница не была защищена паролем, так что он получил возможность управления всеми умными системами, а также узнал адрес дома и телефон его владельца.
Без проблем взломать умный дом можно и находясь прямо на месте. Как правило, при создании таких систем — особенно для жилых помещений — к существующей инфраструктуре просто «пристраивается» дополнительный уровень новых устройств. Новые гаджеты общаются между собой с помощью протоколов для беспроводного взаимодействия. И часто разработчики систем выбирают протоколы, которые не предполагают шифрования, так что перехватить данные может любой человек, подключившийся к сети помещения.
Где слабое звено системы
В общем случае схема системы умного дома представляет собой два основных потока данных, в которых передаются управляющие сигналы:
/ Формальная модель системы «Умный дом». Иллюстрация из статьи «Аутентификация устройств автоматизации в системе «умный дом» авторов проекта «Безопасный умный дом»
Первый поток находится между пользователем и управляющей системой — в нем передаются команды от человека компьютеру. Для этого используется интерфейс: терминал, мобильное устройство, веб-приложение и т.п. Основной поток данных — второй, между управляющей системой и конечными устройствами автоматизации.
Устройства автоматизации, управляющая система и информационный поток между ними – одни из самых уязвимых элементов в «умном доме». Чаще всего в современных системах коммуникация между их элементами идет по открытым каналам без обеспечения конфиденциальности и целостности данных. В итоге злоумышленники могут без особенных проблем прослушивать информационные потоки системы, получать доступ к ее конкретным элементам и в некоторых случаях, захватывать полный контроль над помещениями.
Как сделать умный дом безопаснее: проект Университета ИТМО
Именно на этот вопрос стремятся ответить участники проекта «Безопасный умный дом» — его развивает команда кафедры безопасных информационных технологий Университета ИТМО. Специалисты разрабатывают программно-аппаратный комплекс умного дома, который будет лишен основных минусов текущих систем.
Чтобы обезопасить систему, необходимо в первую очередь повысить защищенность всех описанных выше слабых звеньев. Например, выбрать безопасный способ передачи данных. Команда проекта провела анализ применяемых в подобных системах протоколов связи — по результатам этой работы выяснилось, что с точки зрения основных характеристик наилучшим выбором для таких систем является технология Zig-Bee. Этот протокол позволяет максимально повысить конфиденциальность, целостность и доступность данных.
Кроме того, система должна правильно реагировать на возможные атаки. Атакующий может не только перехватывать данные, но и попытаться физически вмешаться в работу устройств системы, например отключить их. В таком случае другие устройства должны заметить аномалию в виде недоступного первого гаджета.
/ Схема воздействия на устройства системы «Умный дом». Иллюстрация из статьи «Выявление аномалий в системах автоматизации объектов охраны» авторов проекта «Безопасный умный дом»
Любая попытка атаки влияет на характеристики системы умного дома — значит их необходимо анализировать. Если два устройства проводят мониторинг активности сети и выполняют анализ взаимодействия, то скрыть атаку вроде MITM или replay взломщик не сможет.
Для решения этой задачи участники проекта «Безопасный умный дом» разработали гибридную нейронную сеть, объединяющую две модели искусственных нейронных сетей: самоорганизующуюся сеть с конкуренцией (слой Кохонена) и многослойный персептрон.
После обучения искусственная нейронная сеть способна на основании входящих данных выносить решения о принадлежности текущего состояния узла сети к аномальному или обычному с точностью в 91,47%. Подробнее о работе над нейронной сетью, использующейся в проекте, можно прочитать здесь.
Для реализации аутентификации на стороне конечного гаджета используется решение на базе Arduino Uno с подключенным Ethernet контроллером enc28j60. Этот микроконтроллер поддерживает большое количество внешних устройств, так что может быть универсальным звеном для организации взаимодействия с разными элементами автоматизации. Подробнее архитектура системы описана в этой статье.
Заключение
Команда кафедры безопасных информационных технологий Университета ИТМО развивает проект «Безопасный умный дом» с 2015 года. За это время была разработана архитектура программно-аппаратного модуля, написан необходимый софт и выбраны безопасные протоколы передачи данных. Итоговый результат позволяет серьезно снизить применимость основных атак на системы умного дома:
/ Результаты проверки основных типов сетевых атак до и после встраивания устройства защиты. Иллюстрация из статьи «Аутентификация устройств автоматизации в системе «умный дом» авторов проекта «Безопасный умный дом»
Гибкость созданной безопасной умной сети позволяет объединять в ней практически любые устройства и безопасно передавать данные. Поэтому в будущем ее использование возможно не только в жилых объектах, но и на промышленных.
Дополнительные материалы по теме:
Комментарии (18)
satandyh
14.12.2016 14:00+2Эммм. И никаких подробностей не будет? Статья похожа на справку дипломного проекта. А таблица вообще без пояснений осталась. Ведь под моделью взаимной аутентификации может подразумеваться что угодно. Я не сведущ в zig-bee, но возможно в самом протоколе есть возможность аутентификации и прочее (надо только поискать в гугле). С этого взгляда можно говорить, что нейронная сеть тут вообще не при чем.
ColdSUN
14.12.2016 19:56Вот мне тоже не понятно, где сравнение протоколов? Какие вообще протоколы участвовали?
Чем ZigBee лучше Z-Wave например?
Насколько я знаю, в последней ревизии Z-Wave используется AES шифрование для всех соединений.
T-362
14.12.2016 14:23Самое слабое звено в умном доме — беспроводное общение между устройствами и их торчание в интернет. А почему бы не использовать PLC («интернеты через розетку») и локальную сеть принципиально не выпуская всё во внешние сети? В идеале большая часть устройств и систем умного дома подключена к питанию, огромная пропускная способность для них не нужна (разве что в лампочку поставлена винда-десятка, встроен микрофон и камера) — просто выкидываем нафиг вафлю из всего, а для внешнего управления в сеть торчит простая вебморда или SSH, а уже как защищать вебморды и SSH мы знаем.
XaKaTyP
14.12.2016 15:09ну, во первых, IoT не только для Гиков ;) Попробуйте объяснить офисному планктону с наборчиком от Xiaomi (прошу не считать рекламой), что такое SSH ;)
ну а во вторых — PLC, все же, хочет нормальные провода под себя, что, быть может, и есть в нормальных и крупных городах (хотя новые «стандарты говностроительства» говорят, скорее, об обратном), то в городах поменьше это уже, зачастую, старая и убитая проводка…
ну и в треьих — Берем лампочку вумную-вумную, прям генияльную, берем контроллер =) Лампочку вкручиваем в люстру, контроллер втыкаем в розетку, и… оба не видят друг друга ;) Вопрос — почему? ;)
ну, а в четвертых =) Ну а что делать с устройствами, которые не потребяют электричество от бытовой сети 220 (слаботочные)? Делать для них БП? так пассивное потребление того же БП съест всю прелесть такого слаботочного девайса — сверхмалое энергопотребление.
Мне мыслится, что все устройства, и правада, не стоит выпускать в инет. Надо делать через гейты. А уж гейты, в свою очередь, надо защищать по полной.T-362
14.12.2016 15:46Здраво, но относительно: Зачем делать умный дом если и стандартный «глупый» на ладан дышит плохой проводкой (да и не думаю что помехи будут хуже чем от полной хрущевки китайских рутеров для вафли)? От чего питаются слаботочные девайсы если никак не контактируют с домовой сетью питания (батарейки? тогда да — вафля и гейт wifi -> PLC с жестокими ограничениями)? Зачем контроллеру общаться с выключенной лампочкой (умные выключатели как гейт между лампочкой и системой?)? Зачем рассказывать планктону о SSH если он используется как протокол между приложением в его телефоне и системой дома вместо проприаритарной фигни или дырявого облака?
XaKaTyP
14.12.2016 16:05=) Я Вам открою секрет, но не все делают автоматизацию на стадии котлована квартиры =) Да и не у всех квартира своя, многие живут на съемных квартирах… вообщем не всем посильна капиталка по квартире, так проще.
Про слаботочки… Ну тогда это получается встраивание нескольких стандартов. Гейт уже работает и по PLC и по WiFi.
Контроллеру общаться с лампочкой? ну просто, чтоб оную включить, как минимум =)
Сейчас IoT идет просто по пути наименьшего сопротивления — WiFi есть уже почти у всех, PLC, это уже более дорогостоящий стандарт, в плане производства, что, в свою очередь, не сомненно, скажется и на стоиости =) много нюансов, но, по моему мнению, WiFi и правда является путем наименьшего сопротивления. Да и железная часть сейчас стоит копейки и достаточно миниатюрна, в отличие о того же PLC =)T-362
14.12.2016 16:57Ну насколько нужно разбомбить дом для PLC это отдельный вопрос где нужны эксперименты. В любом случае чем пихать во все кофеварки-холодильники-тостеры по вафле можно и о PLC подумать, никто не хочет что-бы сосед или школьник-кулхацкер пельмени разморозил.
Слаботочки — так как они питаются то? От этого многое зависит даже в том как будет работать гейт и нужен ли он (если слаботочка через преобразование домовой сети — наверняка можно перекинуть PLC в нее, если отдельная сети опять-же можно перекинуть, а если батареи то обойтись блутусом, например).
Лампочки — если ее можно включать извне контроллером (а не физической кнопкой питания) — значит на ней есть питание (и PLC) а мозг лампочки ее софтварно выключает — тогда какие проблемы?
Увы сейчас идет по пути уменьшения издержек а не сопротивления, таких издержек как безопасность, архитектура, производительность. Дай им волю они на JS будут софт для чипов писать а на контроллере крутить ноду.
Germanets
15.12.2016 11:46Самый интересный ответ про лампочку, как я понимаю — лампочка и розетка сидят на разных фазах.
XaKaTyP
16.12.2016 06:12Именно!:) Прошлый собеседник так и не ответил :) у него везде все строится по однофазной системе, и все должно заработать из коробки :) но не всегда так бывает ;) посему PLC не самый надёжный союзник в коммуникации умного дома ..
xsash
14.12.2016 14:48По идее самое правильное — это изолированная локальная сеть, где только одно устройство с одним (по ситуации, если нет дополнительный программ управления) портом 443 смотрит в глобальную сеть.
Ну и на веб-интерфейсе естественно должен быть пароль
ACooper
14.12.2016 19:38Идея не нова. Уже есть несколько стартапов ориентированных на защиту умных домов. Слету вспомнил dojo-labs, например. Но до серийных образцов пока никто так и не дошёл.
В прошлом году, в отсутствии таких решений, сделал, как мог, сам, на zabbix и правилах роутера. Пока внутренний параноик спит спокойно.
lehha
14.12.2016 22:50А проприетарность протокола ZigBee учитывается? Коммерческие проекты пилить без членского взноса просто невозможно и опасно.
microtrigger
15.12.2016 14:56У меня одного ощущение что у команды исследователей какой-то однобокий анализ и они более ZigBee, Z-Wave, Thread, WeMo не знают протоколов беспроводной связи?
Actee
Спасибо за материал! В этой сфере безопасность — один из основных сдерживающих факторов. Простых решений нет, но без продвижения в эту сторону и IoT будет на месте стоять