Могут ли контейнеры Linux спасти IoT от падения безопасности?

В этом заключительном выпуске серии IoT Canonical и Resin.io стали лидерами в области контейнерных технологий Linux как решения проблем безопасности и совместимости IoT.

Перспектива открытого источника в Интернете вещей

Часть 6: Могут ли контейнеры Linux сохранить IoT от падения безопасности?

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


Артик 7

Новые IoT-ориентированные процессоры и встроенные платы продолжают изменять технологический ландшафт.
Начиная с нашей истории Linux и оборудования с открытым исходным кодом для IoT в сентябре, мы видели платы Intel Atom E3900 «Apollo Lake», предназначенные для шлюзов IoT, а также новые модули Samsung Artik , в том числе 64-битный Artik 7 COM под управлением Linux. для шлюзов и RTOS-готовых, Cortex-M4 Artik 0. ARM анонсировала ядра Cortex-M23 и Cortex-M33 для конечных точек IoT с защитой ARMv8-M и TrustZone.

Безопасность - это точка продажи этих продуктов, и на то есть веские причины.
Ботнет Mirai, который недавно атаковал службу Dyn и отключил большую часть американского Интернета на один день, вывел IoT на основе Linux на передний план - и не очень хорошо.
Подобно тому, как IoT-устройства могут быть превращены в темную сторону с помощью DDoS, эти устройства и их владельцы также могут стать жертвами непосредственно вредоносных атак.


Cortex-M33 и -M23

Атака Dyn укрепила мнение о том, что IoT будет более уверенно двигаться вперед в более контролируемой и защищенной промышленной среде, а не дома.
Дело не в том, что потребительская технология безопасности IoT недоступна, но если продукты не предназначены для обеспечения безопасности с нуля, как и многие решения в нашей истории умного дома , безопасность увеличивает стоимость и сложность.

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

Мы поговорили с Оливером Райсом (Oliver Ries), вице-президентом Canon Engineering Ubuntu Client Platform, о ядре Ubuntu его компании и его дружественной для Docker технологии управления пакетами Snaps.
Мы также взяли интервью у генерального директора и соучредителя Resin.io Александроса Мариноса о новой ResinOS для IoT на базе Docker.

Ubuntu Core привязывается к

Ion-ориентированная версия Canon Ubuntu для Snappy Ubuntu, основанная на IoT, построена вокруг механизма управления пакетными пакетами в виде контейнера и предлагает поддержку магазина приложений.
Технология Snaps была недавно выпущена для других дистрибутивов Linux.
3 ноября компания Canonical выпустила Ubuntu Core 16 , которая улучшает магазин приложений White Label и службы управления обновлениями.


Классическая архитектура Ubuntu (слева) против Ubuntu Core 16

(щелкните изображение, чтобы увеличить)

Механизм привязки предлагает автоматические обновления и помогает блокировать несанкционированные обновления.
Используя управление транзакционными системами, оснастки гарантируют, что обновления будут развернуты так, как задумано, или не будут реализованы вообще
В Ubuntu Core безопасность еще больше усиливается с помощью AppArmor и того факта, что все файлы приложений хранятся в отдельных хранилищах и доступны только для чтения.


LimeSDR

Ubuntu Core, который был частью нашего недавнего исследования IoT-ОС с открытым исходным кодом , теперь работает на платах Gumstix, дронах Erle Robotics, Dell Edge Gateways, Nextcloud Box , LimeSDR, домашнем концентраторе Mycroft, Intel Joule и SBC, совместимых с 96Boards от Linaro. спекуляция
Canonical также сотрудничает с сегментной группой Lino IoT и Embedded (LITE) в своем выпуске 96Boards IoT. Первоначально 96Boards IE ориентирован на Zephyr-управляемые платы Cortex-M4, такие как Seeed BLE Carbon , но расширится до плат шлюзов, которые могут работать с Ubuntu. ядро.

«Ядро и моментальные снимки Ubuntu имеют отношение от края к шлюзу к облаку», - говорит Райс из Canonical.
«Возможность запускать мгновенные пакеты в любом крупном дистрибутиве, включая Ubuntu Server и Ubuntu for Cloud, позволяет нам обеспечить согласованное взаимодействие.
Моментальные снимки можно обновить отказоустойчивым способом с помощью обновлений транзакций, что важно в мире IoT, переходящем на постоянные обновления для обеспечения безопасности, исправления ошибок или новых функций ».


Nextcloud Box

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

Райс также рекламирует технологию для сокращения времени разработки.
«Snap-пакеты позволяют разработчику доставлять один и тот же бинарный пакет на любую платформу, которая его поддерживает, тем самым сокращая затраты на разработку и тестирование, время развертывания и скорость обновления», - говорит Райс.
«Благодаря пакетам привязки разработчик полностью контролирует жизненный цикл и может немедленно обновлять его.
Пакеты Snap предоставляют все необходимые зависимости, поэтому разработчики могут выбирать, какие компоненты они используют ».

ResinOS: докер для IoT

Resin.io, который делает коммерческую платформу IoT с таким же названием, недавно выдвинул основанный на Yocto Linux ResinOS 2.0 как проект с открытым исходным кодом.
В то время как Ubuntu Core запускает механизмы контейнеров Docker в пакетах привязки, ResinOS запускает Docker на хосте.
Минималистичный ResinOS абстрагируется от сложности работы с кодом Yocto, что позволяет разработчикам быстро развертывать контейнеры Docker.


Архитектура ResinOS 2.0

(щелкните изображение, чтобы увеличить)

Как и CoreOS на основе Linux, ResinOS объединяет службы управления systemd и сетевой стек, обеспечивая безопасное развертывание обновленных приложений в гетерогенной сети.
Однако он предназначен для работы на устройствах с ограниченными ресурсами, таких как хакерские платы ARM, тогда как CoreOS и другие ориентированные на Docker ОС, такие как Project Atomic на базе Red Hat, в настоящее время работают только на x86 и предпочитают богатую ресурсами серверную платформу.
ResinOS может работать на 20 устройствах Linux и подсчета, включая Raspberry Pi, BeagleBone и Odroid-C1.

«Мы считаем, что контейнеры Linux еще важнее для встраиваемых систем, чем для облачных», - говорит Маринос из Resin.io.
«В облаке контейнеры представляют собой оптимизацию по сравнению с предыдущими процессами, но во встроенных они представляют долгожданное появление универсальной виртуализации».


BeagleBone

черный

По словам Мариноса, при применении к IoT виртуальные машины в полном объеме имеют проблемы с производительностью и ограничения на прямой доступ к оборудованию
Мобильные виртуальные машины, такие как OSGi и Android Dalvik, могут использоваться для IoT, но они требуют Java среди других ограничений.

Использование Docker может показаться естественным для корпоративных разработчиков, но как убедить встроенных хакеров перейти к совершенно новой парадигме?
«Вместо того, чтобы переносить практики из облачной оптовой торговли, ResinOS оптимизирована для встраиваемых систем», - отвечает Маринос.
Кроме того, по его словам, контейнеры лучше, чем обычные технологии IoT, в случае отказа.
«Если есть программный дефект, хост-ОС может оставаться работоспособной и даже подключенной.
Для восстановления вы можете либо перезапустить контейнер, либо отправить обновление.
Возможность обновления устройства без перезагрузки еще больше устраняет вероятность сбоев ».

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

По словам Мариноса, преимущества безопасности контейнеров дополняются другими технологиями.
«Поскольку сообщество Docker стремится внедрить подписанные изображения и аттестацию, они естественным образом переносятся в ResinOS, - говорит он.
«Аналогичные преимущества приобретаются, когда ядро ​​Linux укрепляется для повышения безопасности контейнера или получает возможность лучше управлять ресурсами, потребляемыми контейнером».

Контейнеры также хорошо вписываются в IoT-фреймворки с открытым исходным кодом, говорит Маринос.
«Контейнеры Linux просты в использовании в сочетании с почти бесконечным разнообразием протоколов, приложений, языков и библиотек», - говорит Маринос.
«Resin.io участвовал в AllSeen Alliance, и мы работали с партнерами, которые используют IoTctivity и Thread».

Будущее IoT: умные шлюзы и конечные точки

Маринос и Кэноникал Райс договариваются о нескольких будущих тенденциях в IoT.
Во-первых, первоначальная концепция IoT, в которой конечные точки на основе MCU связываются напрямую с облаком для обработки, быстро заменяется архитектурой туманных вычислений.
Это требует более интеллектуальных шлюзов, которые делают намного больше, чем агрегируют данные и транслируют между ZigBee и WiFi.

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


Некоторые последние IoT шлюзы: ReliaGate Eurotech 20-26 и Advantech UBC-221

(нажмите на картинку, чтобы увеличить)

«Интеллектуальные шлюзы принимают на себя многие функции обработки и управления, которые изначально предназначались для облака», - говорит Маринос.
«Соответственно, мы наблюдаем усиление стремления к контейнеризации, поэтому улучшения, связанные с функциями и безопасностью, могут быть развернуты с помощью облачного рабочего процесса.
Децентрализация обусловлена ​​такими факторами, как ограничение доступа к мобильным данным, развивающаяся правовая база и различные физические ограничения ».

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


Еще два шлюза IoT: контроллер MyOmega MYNXG IC2 (слева) и шлюз TechNexion LS1021A-IoT

(нажмите на картинку, чтобы увеличить)

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

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

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

Райс видит тенденцию «повышения интеллектуальности на грани» как в промышленных, так и в домашних шлюзах.
«Мы наблюдаем значительный рост в области ИИ, машинного обучения, компьютерного зрения и понимания контекста», - говорит Райс.
«Зачем запускать программное обеспечение для обнаружения лиц в облаке и нести задержки, пропускную способность и вычислительные затраты, когда одно и то же программное обеспечение может работать на грани?»

Как мы исследовали в нашей вводной истории этой серии IoT, существуют проблемы IoT, связанные с безопасностью, такие как потеря конфиденциальности и компромиссы от жизни в культуре наблюдения.
Есть также вопросы о целесообразности отказа от своих решений агентам ИИ, которые могут контролироваться кем-то другим.
Они не будут полностью решены с помощью контейнеров, снимков или любой другой технологии.

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

Прочитайте все статьи в этой серии

Эта статья защищена авторским правом © 2016 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.