26 сентября 2016 в 19:57

Безопасность интернета вещей: прогресс, хайп и головная боль

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

Чтобы в будущем таких вопросов возникало меньше, сегодня я попробую сформулировать более-менее четкое определение IoT, исходя не из задач производства или рекламирования соответствующих устройств и систем, а скорее из необходимости их защиты. Кроме того, я приведу пару ссылок на интересные исследования специалистов «Лаборатории» по теме, постараюсь дать оценку ситуации с безопасностью «интернета вещей» в настоящий момент, и даже сделаю попытку заглянуть в будущее.

Источником информации о чудо-устройствах в этой статье является твиттер Internet of Shit — его автор уже год занимается отважной работой по разоблачению попыток разных производителей направить развитие вещей интернета в направлении полного провала. Впрочем, лучше воспринимать этот канал как современную техносатиру: пока мы ржем над 100500-м чайником с фейсбуком внутри, реальный IoT приходит к нам незаметно, и без спроса. В этом-то и заключается настоящая проблема.

В умном доме что-то пошло не так


Пожалуй главной новостью в контексте «интернета вещей» в этом году стало выключение хаба для умного дома Revolv. Разработанное одноименным стартапом, устройство поступило в продажу в 2013 году. Уже в 2014-м продажи были прекращены после того, как вендора выкупила Nest, входящая в конгломерат гуглокомпаний Alphabet. Проданные устройства поддерживались вендором, но 15 мая этого года по решению Nest буквально превратились в тыкву.


Относительно немногочисленные владельцы Revolv Smart Home Solution были в ярости, и это еще мягко сказано. Внимание СМИ привлекли как цветистые проклятия в сторону модного вендора умных решений, так и общие проблемы любых умных устройств. Дело даже не в том, что владельцы устройства лишились поддержки вендора и обновлений. Устройства просто перестали работать. Вообще. Совсем, так как выключили обязательную связь с инфраструктурой. Взамен вендор предложил полностью вернуть деньги, потраченные на устройство (300 долларов), но по сравнению с реальной ценой всей системы умного дома, в котором главное управляющее устройство вдруг перестало работать, это копейки.

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

Это выгодно отличало данную модель от конкурентов, которые работали с жестко заданным списком устройств. В идеальном мире это гарантировало возможность расширения умного дома с помощью новых устройств, даже если ранее поддерживаемые исчезали из продажи. Увы, разработчики не предусмотрели вероятность отключения собственной инфраструктуры. А зря. Это очень напоминает мне историю с отключением серверов поддержки Maemo — удачной, но не пережившей бизнес-турбулентность мобильной платформы Nokia. В том случае правда все обошлось: энтузиасты Nokia N900, более ранних и поздних устройств, собрали средства и перенесли серверы обновлений и раздачи софта на независимую площадку.

Попытки определиться с терминами


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

Это совокупность цифровых устройств, которые:

— Обмениваются данными по локальной беспроводной сети и/или через интернет.
— Работают автономно, зачастую круглосуточно, без регулярного взаимодействия с человеком (а то и вовсе без такового).

Мне кажется, дальнейшие уточнения избыточны и не нужны (ожидаю, что этот момент станет дискуссионным — что ж, велкам в комментарии). Фоторамка, зачем-то постоянная подключенная к сети через WiFi — это Internet of Things. Умный термостат и чайник — это оно. Телевизор со скайпом — да. Весы с твиттером, добавьте их в друзья. Беспроводные счетчики воды. Контроллеры солнечных батарей. Свечка с автоподжигом через смартфон.


Серьезно, свечка!

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

Безопасность IoT


Оценка безопасности интернета вещей (впрочем, как и любого другого класса устройств или технологий) делится на два направления: теоретическая (исследование теоретической уязвимости) и практическая (анализ реальных атак). Пример теории приведен выше. Вот здесь есть еще один технический анализ различных устройств, с такими ужасными, говорящими примерами:

CONFIG_*******_ROOT_PASSWORD=«sVGhNBRNyE57»
CONFIG_*******_ROOT_PASSWORD=«GFg7n0MfELfL»

Типичная (уже закрытая) уязвимость в IP-камере.

Примеры для более специализированных устройств тоже есть: вот анализ безопасности датчиков движения на дороге. Сюда же можно добавить закрытую на прошлой неделе уязвимость в суперкарах Tesla (взлом через WiFi), и множество других примеров.


С практикой все интереснее. Теслу и чайники пока никто не ломает ввиду их малочисленности: пока не набрана критическая масса устройств, открывающая неминуемый интерес со стороны киберпреступников. Отслеживать и анализировать точечные атаки, даже если они происходят, крайне сложно и для обычных компьютеров, а тут подавно. Тем не менее, примеры есть, но относятся они к устройствам, которые не все согласны причислять к IoT — это роутеры, IP-веб-камеры и умные телеприставки. Повторюсь, в предложенной модели причисления устройств к IoT с точки зрения безопасности эти девайсы, доступные уже многие годы, законно занимают почетное место.

Так вот, эти знакомые и понятные устройства наглядно демонстрируют ситуацию с безопасностью в IoT в целом. Дефолтные пароли, доступные снаружи интерфейсы управления с типичными веб-уязвимостями, не говоря уж о некоторых примерах дыр, позволяющих выполнять произвольный код. Результат понятен: десятки, а то и сотни тысяч постоянно включенных в сеть и никак не управляемых владельцами устройств объединены в ботнет, использующийся для DDoS-атак и других криминальных активностей, не говоря уж о краже приватной информации. В конце прошлой недели произошла одна из крупнейших DDoS-атак (целью стал блог эксперта Брайана Кребса) — 665 гигабит в секунду. Если предварительная оценка компании Akamai (которая так и не смогла отразить атаку) подтвердится, это будет заодно и крупнейшая атака ботнетом из IoT-устройств.

Светлое Мрачное Неизбежное будущее


Атака на полтерабита — это уже серьезно, но в контексте развития «интернета вещей» это мелочи. Развитие IoT предполагает, что сетевые устройства, работающие автономно, будут исчисляться не сотнями тысяч, а десятками миллиардов. Если к этому времени не будут введены новые методы их защиты (очевидно, лучшие, чем в примерах настоящего времени) и методы закрытия уязвимостей (соответственно, будет решен вопрос обновления софта), у нас будут проблемы. И, в отличие от настоящего времени, когда мы можем покупать интернет-холодильник, а можем и не покупать, выбора уже не будет. Для оценки масштаба приведу эту новость о заключении контракта на установке умных счетчиков газа и электричества — 53 миллиона устройств только в одной стране (и это планы уже трехлетней давности).


Казалось бы, что может пойти не так с компьютером в очках, который отправляет все в Snapchat?

Уязвимость, и, хуже того, невозможность обновления миллиардов устройств приведет к массе проблем, которые могут затронуть как ничего не подозревающих пользователей, так и повлиять на работоспособность критически важной инфраструктуры. Аргумент, что в индустриальных системах другой IoT мне не кажется надежным: во-первых рост объемов производства приведет к консьюмеризации, во-вторых — критерии автономной работы и сетевого подключения сохраняются и в этом случае, уже сейчас.

Какие подходы могут быть использованы для защиты? Пример устройства Revolv намекает на то, что рынок рано или поздно придет к двум-трем основным платформам, на которых будут строиться все IoT-системы, и хаоса станет меньше. Скорее всего так и будет, как это уже произошло с количеством платформ для смартфонов в конце нулевых или операционных систем для ПК в 90-х годах прошлого века. А если нет? Концепция безопасности вряд ли должна строиться исходя из законов рынка.

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

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

Disclaimer: Данная колонка основана на реальных событиях, но все еще отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.
Автор: @f15
Ловим вирусы, исследуем угрозы, спасаем мир

Комментарии (23)

  • 0
    Кажется вполне очевидным вывод. Вещи подключенные в интернет должны соединятся только с вашим локальным компьютером или специальным компьютером, но физически находящимся у Вас. Пользователь сможет сам решать какие данные ему отдавать сторонним сервисам, а какие нет. Или какие устройства можно включать через интернет, а какие нет.
    • 0

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

      • +1
        Речь не о взломе, а об отключении вендором серверов.
      • 0
        Вы заблуждаетесь, и очень сильно!
        Взлом роутера (специализированного устройства для подключения локальной сети к интернету) и единичного устройства уровня чайник, лампочка — это кардинально разный уровень.

        И главное — разделяй и властвуй. Роутер я могу пойти и купить новый (читай другой компании) и частично решить проблему со взломом, а вот заменить модуль подключений в каждой лампочке будет сложнее.
  • 0
    Зачем каждой кофеварке/зубной щетке давать доступ в интернет? Вот выше уже написали — нужно одно устройство, объединяющее все умные приборы в доме. Но тут опять-же вопрос в надежности, а то будет потом: «Ваш холодильник заблокирован! Для разблокировки отправьте SMS на короткий номер...». 100500 проприетарных протоколов — неразбириха и необоснованная стоимость конечных устройств из-за патентных отчислений, открытые протоколы — (возможно) частая необходимость латать дыры в защите… а сделать что-то одно, но надежное не дадут маркетинговые реалии.
    • +1
      Зачем каждой кофеварке/зубной щетке давать доступ в интернет?
      ИИ зубной щетки будет грустно без Интернета
    • +2
      Зачем каждой кофеварке/зубной щетке давать доступ в интернет?

      Потому что идея слежки за всеми даёт невероятные возможности. Можно не только знать, что Вы пьете 10 чашек кофе в день, а соседи 2 чашки. Можно увидеть картину в целом городе. Соответственно не только одной семье предлагать больше кофе в рекламе, но и заранее знать, что какие-то семьи живут на износ, до сердечно сосудистых заболеваний им остается совсем немного. И это на целый город.
      Зубная щётка — это стоматолог.
      • 0
        Щетка подключается к смартфону по BLE, сбрасывает данные в приложение, приложение их переваривает и сбрасывает на сервер.

        Прямое подключение щетки к интернету не нужно даром.
        • 0
          Щётка пример выдуманный, но весьма хороший. В Вашем примере пользователь может: 1. Не запустить на смартфоне приложение; 2. использовать сторонний аналогичный софт. Например, вместо смартфона (я на них работал и считаю, что их производительность катастрофически мала) я предлагаю юзать полноценный ПК.
          Производители же крайне заинтересованы, чтобы у Вас в доме был только управляемый с панели и их сервиса прибор с датчиками. Но вся логика будет на их сервере.
          То есть если кто-то может удаленно включить утюг в моём доме — то безопасности нет совсем.
          ps
          Все в теме пишут одно и то же, просто разными словами.
          • 0
            1. С тем же успехом он может вашу щетку к интернету не подключить.
            2. Не может.
            • 0
              вашу щетку

              Из всех умных вещей в моей квартире — это датчик движения с лампочкой накаливания. Без интернета :)
              2. Не может.

              Теперь щётка — не удобный пример. Например, матрац https://geektimes.ru/company/medgadgets/blog/274370/
              Было бы у меня немеряно денег и времени (слуга, которому можно поручить разобраться с этим и совершить покупку) я бы себе такую подстилку купил. Её выгода очевидна, она тестирует Ваше здоровье во сне. Недостаток также на лицо, информация сбрасывается в облако, а не на мой ПК. Если бы сбрасывали в мой ПК в стандарте json и именно мой ПК проводил бы анализ то так или иначе могли бы появится аналоги. Пока вся логика где-то там в облаке у кого-то, аналогов не будет. Могут скопировать датчики и написать софт с нуля.
              Это плохо для пользователя и хорошо для производителя.
              • 0
                Для пользователя это не плохо — для пользователя это всё равно.

                Все мечты о прекрасных некоммерческих аналогах стабильно разбиваются о быт: что-то я вокруг вижу крайне мало прекрасных некоммерческих аналогов хоть чего-нибудь, в 9 случаях из 10 получается УГ, которым пользоваться можно только от безысходности.
  • +3
    Отдельные, защищенные каналы связи, собственные надежные методы авторизации

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

  • 0
    читаешь такие статьи и думаешь — вот еще причины почему те же Z-Wave — лучще чем такое:
    — привязка по сути только к производителю чипов (часть протокола — закрыта).
    — Интернет для работы такой системы вообще то не нужен совсем, управляющий модуль ставиться локально и есть конкуренция на рынке управляющих модулей (и даже возможность сделать свой на rPI сделать). Да, есть варианты «управляющего модуля» которые используют облако, для тех кто без облаков жить не может. Никто не заставляет их использовать. Есть — опенсорсные варианты (и там например есть возможность сделать бридж из Apple HomeKit в Z-Wave).

    недостатки — например цена железа.
    у той же компании Z-Wave.me (одно из производителей) даже блог на ГТ есть + есть статьи не от них.
    • +2
      Ни для одной системы «умного дома» доступ в интернет не является жизненно необходимым в силу каких-либо коренных причин.

      Все эти белогривые лошадки растут из двух причин:
      1) модное слово
      2) разработчикам так проще
      • 0
        Не модно и тем более не проще! интернет доступ — это контроль, это информация о клиентах, которую возможно в будущем можно будет продать или использовать.
        • 0
          Да никому нахрен этот контроль не нужен в реальной жизни, кроме монстров типа гугла, для которых основной бизнес — продажа рекламы.

          Выкатить новую фичу в облаке — это 100 % покрытие клиентов через пятнадцать минут, а в прошивке локального хаба — 80 % через полгода. Не говоря уж о том, что фигачить высокоуровневую логику и красивые интерфейсы на восьмиголовом сервере куда приятнее, чем на SoM с 600 МГц и 256 МБ памяти.
          • 0
            Не перебарщивайте, головной центр так или иначе будет присутствовать в любой конфигурации умного дома, просто в 'облачном' варианте он будет посредником. Нужно быть очень глупым разработчиком, чтобы нагружать свои сервера интерфейсом, когда клиент так или иначе поставит нужное железо.

            Не путайте пожалуйста обновления и полную зависимость работы узлов от центра.
            • 0
              Эмм… а вы вообще «умных домов» много видели? Ну, хотя бы один?

              Все эти белогривые лошадки появились только с приходом в тему радужных стартапов типа SmartThings (расскажите им, что они очень глупые, кстати), у которых в половине случаев таки нет возможности работать локально. Точно так же, как у классических систем (от HDL и KNX до Z-Wave) в проект если какой-то доступный снаружи сервис и прикручивается, то сугубо опционально.
          • 0
            Выкатить новую фичу в облаке — это 100 % покрытие клиентов через пятнадцать минут

            Важный момент, о котором пишут в статье. Сломать всё у клиентов — это 15 минут порезвиться на сервере, влияние на который покупатели не имеют. Вот решили закрыть компанию, закрыли облако и все работающие интернет вещи стали кирпичами.
  • +1
    Никто ничего не будет делать для абстрактного общего блага в этом мире стремящемся исключительно к баблу. А если среди сообщества технически образованных людей и найдутся Доны Кихоты, желающие бескорыстно заняться этим всеобщим благом, то их энтузиазм потонет в простых желаниях миллионов миллиардов домохозяек иметь самую последнюю (красненькую!) модель умной кофеварки «вот прямо сейчас» приправленных простым нежеланием заморачиваться на какую-то там безопасность. А если они не захотят заморачиваться, то и производители подавно не захотят тратить лишние пару чатлов на написание адекватной фирмвари.
    Готовьтесь, в общем. Нас ждёт чудесный новый мир цифрового хаоса с редкими, сопротивляющимися из последних сил, островками порядка в виде критических технологических сетей типа АЭС и иже с ним. А над всем этим будут гордо летать вояки со своими отдельными протоколами и без устали охранять нас от инопланетян и прочих невиданных единорогов.
    P.S. Извините, настроение плохое становится, при мыслях о перспективах.
  • 0
    Рынок рано или поздно придет к двум-трем основным платформам, на которых будут строиться все IoT-системы, и хаоса станет меньше.
    Хаоса меньше, а вот безопасность вряд ли улучшится.
    Хороший пример — смартфоны. Толку-то, что платформ осталось совсем мало, если наиболее крупная из них архитектурно не приспособлена к централизованному обновлению и, как следствие, львиная доля устройств не обновляется вовсе?
  • 0
    Пример устройства Revolv намекает на то, что рынок рано или поздно придет к двум-трем основным платформам, на которых будут строиться все IoT-системы, и хаоса станет меньше. Скорее всего так и будет, как это уже произошло с количеством платформ для смартфонов в конце нулевых или операционных систем для ПК в 90-х годах прошлого века.


    Удивительным образом люди, пишущие тексты про IoT, продолжают в упор не понимать, что такое IoT.

    Компьютер — это одна вещь. Смартфон — это вторая вещь. А интернет вещей — это все вещи.

    Можно, например, помечтать, что все стиральные машинки возьмут да и придут вдруг к использованию двух-трёх микроконтроллеров с типовыми прошивками; а то что за безобразие — в одной STM, в другой Atmel, в третьей вообще Samsung 8-битный, на который даже даташита не найдёшь.

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

    По крайней мере, это куда более реалистично, чем две-три платформы на всю бытовую технику вообще.

    P.S. Revolv — это тот, который полгода назад пристрелили? Хороший пример.

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

Самое читаемое Разработка