Типичное IoT-устройство
IoT — сегмент рынка крайне молодой, только пробующий делать первые серьезные шаги. Конечно, IP-камеры и прочие датчики существуют уже давно, но полноценно назвать их «умными» язык не поворачивается. При этом одной из проблем рынка является, как ни странно, цикл разработки, потому что он подразумевает не только создание физического девайса, но и написание ПО для него в условиях крайне ограниченных ресурсов. Это 20 лет назад несколько мегабайт памяти под приложение было нормой. Сейчас же, когда оптимизация потребления ресурсов пользователям (да и разработчикам) только снится, а для топовых продуктов нормальны утечки памяти или нереальная прожорливость (привет, Chrome), работа в условиях пары сотен килобайт флеш-памяти на энергоэффективном микроконтроллере кажется наказанием для тех девелоперов, кто плохо себя вел в прошлом году.
Но это не единственная проблема IoT. Не мне вам рассказывать, насколько беспомощными являются умные устройства в плане информационной безопасности. Истории о ботнетах из IP-камер, холодильников и прочих микроволновок периодически всплывают в медиа, начиная еще с 2015 года. Добавим в это «блюдо» еще и «соус» из всяких умных колонок и ассистентов типа Alexa или Алисы, и мы получим пугающую картину; со времен китайских ноунейм-камер, продукты от Amazon и Яндекса обзавелись еще и возможностью совершать онлайн-заказы по запросу владельца. Собственно, именно эти функции нового поколения IoT-устройств и заставили производителей ПО начать шевелиться, а именно — укреплять рубежи цифровой обороны наших говорящих ящиков и прочих датчиков.
Вот только, как это обычно и бывает со всякими стандартами в молодом сегменте, единства подхода нет. Ведь безопасность устройства можно обеспечить, как минимум, тремя путями: разверсткой облачной платформы для управления IoT, укреплением безопасности на уровне прошивки устройства и так называемым Gateway-рубежом, то есть защитой сети IoT на уровне маршрутизатора и шлюза внутреннего интранета на стыке с внешним миром.
Минимум три компании-гиганта из трех различных сегментов IT-рынка прямо сейчас работают в указанных направлениях — пытаются упростить разработку и параллельно укрепить рубежи цифровой обороны.
SDK от Google и облачные платформы
Как обычно поступает поисковой гигант, когда речь о вхождении на какой-нибудь рынок? Ну, про тактику «купить, скопировать лучшее, закрыть» мы все очень хорошо знаем, но вот в случае IoT-устройств покупать пока особо некого. Тут у нас безлюдно, только компания ARM скалой возвышается над всей этой пустошью. Так что компания Google пошла по второму излюбленному пути — выстраивая платформу с последующим созданием экосистемы вокруг нее.
Google любит замкнутые на самой себе экосистемы. Если опустить вопиющие провалы на стезе социальных сетей, то компания создает экосистемы и выстраивает вокруг них сообщества с завидной стабильностью. А что самое главное — она умеет их поддерживать и развивать. Но пока через умные холодильники и прочие IoT-девайсы нельзя показывать рекламу, то и экосистема для Google в этом направлении интересна лишь в далекой перспективе. Речь идет о платформе Google Cloud IoT для обработки, анализа и хранения данных умных девайсов. Но этого было недостаточно, потому что с устройств эти данные надо как-то снимать. Учитывая отсутствие всеобщего стандарта, сделать это не так и просто.
Именно поэтому поисковой гигант пошел еще и по третьему своему самому любимому пути и анонсировал собственную SDK для разработчиков под IoT-устройства, написанную на Embedded C. Почему это был третий типичный путь для Google? Ну, если поисковой гигант не может «купить и закрыть», или быстро выстроить экосистему, подвязать ее с уже существующими сервисами и платформами компании и крутить рекламу, то он выпускает инструменты для разработчиков. И ждет. Тем более, платформа как инструмент уже есть, почему бы не выпустить SDK?
Продукт, который получил название Cloud IoT Device SDK, был разработан совместно с ARM, Microchip Technology и NXP Semiconductors. Конечно же, инструмент open source. Цель Cloud IoT Device SDK — помощь в прототипировании и тестировании перед этапом коммерческого внедрения продукта. SDK поддерживает широкий спектр микроконтроллерных устройств. Из преимуществ SDK выделяют то, что разработка применима к устройствам с экстремально малым энергопотреблением и флеш-памятью от 25 кбайт. Вообще, Venturebeat пишет, что разработка получилась сочной: SDK включает совместимость с realtime-OS, такими как Zephyr, ARM Mbed OS, ядро FreeRTOS (и многими другими), совместимость с POSIX-системами, присутствует асинхронный API, который позволяет работать вообще без ОС, а еще есть планировщик событий и прочее.
Исходники доступны на GitHub.
Что это означает для индустрии? В первую очередь, Google озаботилась последовательной работой в этом направлении. Учитывая доминирующее положение Android и перспективы удаленного управления устройствами через смартфоны и планшеты, выпуск специализированной SDK был только вопросом времени.
То что к работе были привлечены такие производители, как ARM, только добавляет уверенности в том, что мы не получим очередной «хром», жрущий столько ресурсов, сколько ему дают, а реальный работоспособный продукт, который учитывает специфику архитектуры современных IoT. Наличие полноценной платформы и возможность «обкатки на столе» программных решений до их коммерческого внедрения только повысит уровень конечных продуктов и ускорит их выход на рынок.
Информационная безопасность умных устройств
Сложно говорить о том, чего толком-то и не существует. Как бы ни распинались отдельные персонажи, что IoT-Security реально, мы-то с вами понимаем, что сами по себе IoT-девайсы абсолютно беззащитны и на 100% зависят от сети, к которой подключены. Собственно, из-за наплевательского отношения к security на местах мы и наблюдали стотысячные ботнеты из IP-камер несколько лет назад. Например, можно вспомнить ботнет Mirai.
Но этот вопрос надо решать. Ранее я упоминал Alexa и Алису — две эти сударыни на полном серьезе претендуют на доступ к кредиткам своих хозяев, чтобы заказывать для них пиццу или очередную безделушку с Amazon, eBay или Яндекс.маркета.
Яндекс.станция
На стезе борьбы за безопасность опять отметилась компания ARM.
Проект Platform Security Architecture Certified — это, по своей сути, программа сертификации для IoT-устройств. Способов применения у PSA два: это многоуровневые схемы обеспечения безопасности и наборы тестов API для разработчиков. Для создания PSA компания ARM привлекла несколько независимых исследовательских лабораторий в области информационной безопасности.
Вырос проект просто из набора документации по теме безопасности IoT-девайсов, в которой содержались рекомендации к разработке. Однако теперь в проекте информации намного больше, например, добавились модели кибератак, документация по анализу безопасности, серцификации по архитектуре аппаратной и программной части устройств и другое.
Еще один заметный проект в области безопасности IoT имеет отечественные корни, занимается им «Лаборатория Касперского». Эта компания пошла по наиболее очевидному для себя пути и обратила внимание на упоминаемую ранее уязвимость интранетов, в которых существуют IoT-устройства. Наиболее эффективный способ защиты сети — оборона «шлюзов с внешним миром», чем и занялись в ЛК. Конкретно сейчас они работают над проектом IoT Gateway, который представляет из себя прошивку для роутеров и маршрутизаторов. Весь проект базируется на KasperskyOS и, по всей видимости, является его подмножеством.
Маршрутизатор с KasperskyOS на борту
Согласно проспектам ЛК в разработке принимают активное участие непосредственные производители роутеров, которые пошли на сознательное сотрудничество с компанией для повышения безопасности своих устройств еще на стадии конвейера. Как минимум, в разработке должна участвовать компания Advantech — крупный производитель оборудования, с которым ранее «Лаборатория» сотрудничала в рамках проекта KICS for Networks по обеспечению информационной безопасности на производстве.
Вместо вывода
При всем внимании технологических гигантов и прочих компаний к IoT-сегменту наибольшую активность проявляет именно компания ARM — производитель микрочипов, на которых и работают все эти камеры, датчики и прочие энергоэффективные устройства. Сейчас доминирование ARM и желание компании сделать рынок шире играет всем на руку: она охотно сотрудничает с Google, нанимает частные лаборатории под специфические проекты и всячески пытается восстановить доверие широкой публики, которое было изрядно подорвано той же историей с Mirai и другими ботнетами.
Однако ARM — это не весь IoT. На рынке все еще хватает средних и откровенно неизвестных производителей электроники, которые плевать хотели на SDK от Google, инструменты тестирования и проверки безопасности и прочее и прочее. Серьезную работу делает «Лаборатория Касперского», и, я уверен, не только они движутся в направлении повышения защищенности роутеров и маршутизаторов. Но в наработках ЛК есть одна большая проблема — ее направленность, в первую очередь, на промышленный сегмент, о чем свидетельствуют прочие проекты компании в этом направлении и совместное прошлое с Advantech. Кроме того, подобные коммерческие продукты подразумевают поставку в пакете с остальным ПО компании, которое не всем и нужно.
Сколько мы шли к Micro-USB Type-B как стандарту зарядного разъема? Но не прошло и пары лет тишины и спокойствия, как пришел USB Type-C, а Lightining вообще никуда не исчезал. В плане безопасности и разработки IoT-устройств необходим компромисс, сопоставимый как раз с выбором «стандартного USB». Вот только добиться этого будет почти невозможно, потому что сейчас IoT развивается такими темпами, что любые стандарты устаревают за год-два. Есть надежда, что ARM и Google удастся консолидировать разработчиков вокруг себя и добиться некоего стандарта в разработке и ИБ, но тогда потребитель столкнется с очередной монополией, от которых уже тошно.
Впрочем, в любом случае, какое-то движение лучше застоя. Потому что IoT — это развитие для множества смежных с ним областей знания, пример, в области распознавания речи, ИИ и прочее. А за этими технологиями будущее.