TranslateProject/translated/tech/20161111 Can Linux containers save IoT from a security meltdown.md
2017-01-08 21:25:03 +08:00

15 KiB
Raw Blame History

###Linux容器能否弥补IoT的安全短板

在这个最后的物联网系列文章中Canonical和Resin.io向以Linux容器技术作为物联网安全性和互操作性的解决方案发起挑战。

Artik 7 |

尽管受到日益增长的安全威胁物联网炒作没有显示减弱的迹象。为了刷存在感公司正忙于重新安排物联网的路线图。物联网大潮迅猛异常比移动互联网革命渗透地更加深入和广泛。IoT像黑洞一样吞噬一切包括智能手机它通常是我们在物联网世界中的窗口有时作为我们的集线器或传感器端点。

新的物联网处理器和嵌入式主板继续重塑技术版图。自从9月份推出[Linux和开源硬件IoT] 5系列文章之后我们看到了面向物联网网关的“Apollo Lake]”SoC [Intel Atom E3900] 6以及新三星Artik模块包括用于网关并由Linux驱动的64位Artik 7 COM及自带RTOS的Cortex-M4 Artik。 ARM为具有ARMv8-M和TrustZone安全性的IoT终端发布了[Cortex-M23和Cortex-M33] 8内核。

安全是这些产品的卖点。最近攻击Dyn服务并在一天内摧毁了美国大部分互联网的未来僵尸网络将基于Linux的物联网推到台前 - 当然这种方式似乎不太体面。通过DDoS攻击可以黑掉物联网设备其设备所有者同样可能直接遭受恶意攻击。

Cortex-M33 和 -M23

Dyn攻击让我们更加笃定物联网将更加自信地在受控制和受保护的工业环境而不是家用环境中向前发展。这不是因为消费者[物联网安全技术] 9不可用,但除非产品设计之初就以安全为目标,否则如我们的[智能家居集线器系列] 10中的许多解决方案,后期再考虑安全就会增加成本和复杂性。

在物联网系列的最后一个未来展望的部分我们将探讨两种基于Linux的面向Docker的容器技术这些技术被提出作为物联网安全解决方案。容器还可以帮助解决在[物联网框架] 11中探讨的开发复杂性和互操作性障碍的问题。

我们与Canonical的Ubuntu客户平台工程副总裁Oliver Ries讨论了Ubuntu Core和Docker友好的容器式Snaps包管理技术。我们还就新的基于Docker的物联网方案ResinO采访了Resin.io首席执行官和联合创始人Alexandros Marinos。

Ubuntu Core 与快照管理

Canonical面向物联网的[Snappy Ubuntu Core] 12版本的Ubuntu是围绕一个类似容器的快照包管理机制构建并提供应用商店支持。 snap技术最近[自行发布] 13用于其他Linux发行版。 11月3日Canonical发布了[Ubuntu Core 16] 14,该版本改进了白标应用商店和更新控制服务。

[ ![](http://hackerboards.com/files/canonical_ubuntucore16_diagram-sm.jpg) ][15] **传统Ubuntu架构 与 Ubuntu Core 16** (点击图片放大)

快照机制提供自动更新,并有助于阻止未经授权的更新。 使用事务系统管理,快照可确保更新按预期部署或根本不部署。 在Ubuntu Core中使用AppArmor进一步加强了安全性并且所有应用程序文件都只读且保存在隔离的孤岛中。

LimeSDR |

Ubuntu Core是我们最近展开的[开源物联网操作系统调查] 16的一部分现在运行在Gumstix主板Erle机器人无人机Dell Edge网关[Nextcloud Box] 17LimeSDRMycroft家庭集线器 英特尔的Joule和符合Linaro的96Boards规范的SBC上。 Canonical公司还与Linaro物联网和嵌入式LITE部门集团[96Boards物联网版] 18合作。最初96Boards IE专注于Zephyr驱动的Cortex-M4板卡如Seeed的[BLE Carbon] 19 它将扩展到可以运行Ubuntu Core的网关板卡。

“Ubuntu Core和快照具有从边缘到网关到云的相关性”Canonical的Ries说。 “能够在任何主要发行版包括Ubuntu Server和Ubuntu for Cloud上运行快照包使我们能够提供一致的体验。 Snaps可以使用事务更新以故障安全方式升级可用于安全性错误修复或新功能的持续更新这在物联网环境中非常重要。

Nextcloud盒子 |

安全性和可靠性是关注的重点Ries说。 “Snaps可以完全独立于彼此和操作系统运行使得两个应用程序可以安全地在单个网关上运行”他说。 “Snaps是只读的和经过认证的可以保证代码的完整性。

Ries还采用了减少开发时间的技术。 “Snap软件包允许开发人员向支持它的任何平台提供相同的二进制包从而降低开发和测试成本减少部署时间和提高更新速度。 “使用snap包开发人员完全控制开发生命周期并可以立即更新。 Snap包提供所有必需的依赖项因此开发人员可以选择定制他们使用的组件。

ResinOS: 为IoT而生的Docker

Resin.io公司与其商用IoT框架同名最近剥离了该框架的Yocto Linux [ResinOS 2.0] 20ResinOS 2.0将作为一个独立的开源项目运营。 Ubuntu Core在snap包中运行Docker容器引擎ResinOS在主机上运行Docker。 极致简约的ResinOS抽离了使用Yocto代码的复杂性使开发人员能够快速部署Docker容器。

[ ![](http://hackerboards.com/files/resinio_resinos_arch-sm.jpg) ][21] **ResinOS 2.0 架构** (点击图片放大)

与基于Linux的CoreOS一样ResinOS集成了系统控制服务和网络协议栈可通过异构网络安全地部署更新的应用程序。 但是它为在资源受限的设备如ARM黑客板上运行而设计与之相反CoreOS和其他基于Docker的操作系统例如基于Red Hat的Project Atomic目前仅能运行在x86上并且更喜欢资源丰富的服务器平台。 ResinOS可以在20个Linux设备上运行包括Raspberry PiBeagleBone和Odroid-C1等。

“我们认为Linux容器对嵌入式系统比对于云更重要”Resin.io的Marinos说。 “在云中,容器代表了对之前进程的优化,但在嵌入式中,它们代表了姗姗来迟的通用虚拟化“

BeagleBone Black |

当应用于物联网时完整的企业虚拟机有直接硬件访问的性能问题和限制Marinos说。像OSGi和Android的Dalvik这样的移动虚拟机可以用于IoT但是它们依赖Java并有其他限制。

对于企业开发人员来说使用Docker似乎很自然但是你如何说服嵌入式黑客转向全新的范式呢 “Marinos解释说”ResinOS不是把云技术的实践经验照单全收而是针对嵌入式进行了优化。”此外他说容器比典型的物联网技术更好地包容故障。 “如果有软件缺陷,主机操作系统可以继续正常工作,甚至保持连接。要恢复,您可以重新启动容器或推送更新。更新设备而不重新启动它的能力进一步消除了故障引发问题的机率。”

根据Marinos其他好处源自与云技术的一致性例如拥有更广泛的开发人员。容器提供了“跨数据中心和边缘的统一范式以及一种方便地将技术工作流基础设施甚至应用程序转移到边缘终端的方式。

Marinos说容器中的固有安全性优势正在被其他技术增强。 “随着Docker社区推动实现签名的图像和证据这些自然转移并应用到ResinOS”他说。 “当Linux内核被强化以提高容器安全性时或者获得更好地管理容器所消耗的资源的能力时会产生类似的好处。

容器也适合开源IoT框架Marinos说。 “Linux容器很容易与几乎各种协议应用程序语言和库结合使用”Marinos说。 “Resin.io参加了AllSeen联盟我们与使用IoTivity和Thread的伙伴合作。

IoT的未来智能网关与智能终端

Marinos和Canonical的Ries对未来物联网的几个发展趋势具有一致的看法。 首先物联网的最初概念其中基于MCU的端点直接与云进行通信以进行处理正在迅速被雾化计算架构取代。 这需要更智能的网关也需要比仅仅在ZigBee和WiFi之间聚合和转换数据更多的功能。

第二,网关和智能边缘设备越来越多地运行多个应用程序。 第三,许多这些设备将提供板载分析,这些在最新的[智能家居集线器] 22上都有体现。 最后,富媒体将很快成为物联网组合的一部分。

[ ![](http://hackerboards.com/files/eurotech_reliagate2026-sm.jpg) ][23] [ ![](http://hackerboards.com/files/advantech_ubc221-sm.jpg) ][24] **最新设备网关: Eurotechs [ReliaGate 20-26][1] 和 Advantechs [UBC-221][2]** (点击图片放大)

“智能网关正在接管最初为云服务设计的许多处理和控制功能”Marinos说。 “因此我们看到对容器化的推动力在增加可以在IoT设备中使用类似云工作流程来部署与功能和安全相关的优化。 去中心化是由移动数据紧缩,不断发展的法律框架和各种物理限制等因素驱动的。

Ubuntu Core等平台正在使“可用于网关的软件爆炸式增长”Canonical的Ries说。 “在单个设备上运行多个应用程序的能力吸引了众多单一功能设备的用户,以及现在可以产生持续的软件收入的设备所有者。

[ ![](http://hackerboards.com/files/myomega_mynxg-sm.jpg) ][25] [ ![](http://hackerboards.com/files/technexion_ls1021aiot_front-sm.jpg) ][26] **两种IoT网关: [MyOmega MYNXG IC2 Controller (左) 和TechNexions ][3][LS1021A-IoT Gateway][4]** (点击图片放大)

不仅是网关 - 终端也变得更聪明。 “阅读大量的物联网新闻报道你得到的印象是所有终端都运行在微控制器上”Marinos说。 “但是我们对大量的Linux终端如数字标牌无人机和工业机械等直接执行任务而不是作为操作中介数据转发感到惊讶。我们称之为影子IoT。

Canonical的Ries同意对简约技术的专注使他们忽视了新兴物联网领域。 “轻量化的概念在一个发展速度与物联网一样快的行业中初现端倪”Ries说。 “今天的高级消费硬件可以持续为终端供电数月。“

虽然大多数物联网设备将保持轻量和“无头”(一种配置方式,比如物联网设备缺少显示器,键盘等),它们装备有传感器如加速度计和温度传感器并通过低速率的数据流通信,但是许多较新的物联网应用已经使用富媒体。 “媒体输入/输出只是另一种类型的外设”Marinos说。 “总是存在多个容器竞争有限资源的问题,但它与传感器或蓝牙竞争天线资源没有太大区别。”

Ries看到了工业和家庭网关中“提高边缘智能”的趋势。 “我们看到人工智能机器学习计算机视觉和上下文意识的大幅上升”Ries说。 “为什么要在云中运行面部检测软件,如果相同的软件可以在边缘设备运行而又没有网络延迟和带宽及计算成本?“

当我们在这个物联网系列的[开篇故事] 27中探索时我们发现存在与安全相关的物联网问题例如隐私丧失和生活在监视文化中的权衡。还有一些问题如把个人决策交给可能由他人操控的AI裁定。这些不会被容器快照或任何其他技术完全解决。

Perhaps wed be happier if Alexa handled the details of our lives while we sweat the big stuff, and maybe theres a way to balance privacy and utility. For now, were still exploring, and thats all for the good. 如果Alexa可以处理生活琐碎而我们专注在要事上也许我们会更快乐。或许有一个方法来平衡隐私和效用现在我们仍在探索如此甚好。


via: http://hackerboards.com/can-linux-containers-save-iot-from-a-security-meltdown/

作者:Eric Brown 译者:firstadream 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出