微软工程师揭秘IoT安全解决方案:Azure Sphere

从微控制器开始的多层防御…

微软Ignite大会上,Galen Hunt 面前的桌上放着一堆方形的微控制器芯片。

有人拿走了一片。我知道是谁,哈哈。

Hunt是一名杰出的工程师,也是 Azure Sphere/Azure硬件系统组总经理,在构建Sphere这个微软网络边界设备安全服务及框架期间耗费了大量时间研究微控制器单元(MCU)。

业内对联网设备安全问题关注得太晚。Ignite大会访谈时,Hunt表示:以微控制器为大脑的设备每年发售90亿台左右。其中大多数设备都不联网,99%都没有任何连接。

4年前,有人带着内置WiFi的微控制器规格说明书走进我的办公室。就在那时,我意识到了自己面对的是计算领域的未来。

这些联网设备的问题之一,是置入MCU的网络栈太过简陋。大多数都没有任何安全功能,只靠“物理隔离”推拒攻击者。随着IoT的爆炸式增长,物理隔离也消失了,随时联网成为了常态。

微软最终创建了 Azure Sphere——能令生产商依靠内置安全保护其联网智能设备的三段式解决方案。Hunt面前的那堆芯片就是Sphere安全的起点。

我们不是在造芯片。我们只是往芯片中加了个IP块。该IP块之于硬件,就好像库之于软件一样。

该IP块被称为“岩体安全子系统”( Pluton Security Subsystem ),是每个 Azure Sphere MCU 的组成部分。其主要功能是在MCU所在设备中提供硬件信任根。芯片制造过程中,这块硅片会产生一个唯一的密钥,作为加密和身份验证的基础。该子系统提供了基于加密身份的安全启动、其他一些加密加速器、密钥存储和其他信任功能的基本硬件基础。

Azure Sphere 的第二个部分是操作系统,基于Linux的操作系统为固件和应用代码铺设了多层防御。外层不仅可能遭受攻击,还有可能被侵入,所以内层要知道如何防护和恢复安全的外层。

安全防御层来自于可根据生产商自身设备需求而修改的开源代码包。这种设计的目的是要让系统足够灵活,能适应各种需求。

然后就是 Azure Sphere 安全服务了——保持每个设备更新到最新固件和应用软件的云服务。该服务还提供设备及生产商应用云之间基于证书的身份验证。

Azure Sphere 典型安装会每天检查软件更新状况,微软建议生产商构建自己的代码,以便 Azure Sphere 软件运行在一块CPU上,而厂商应用代码在完全隔离的CPU上执行——即便完全断网也能执行故障恢复的那种。

Azure Sphere 的架构思想基于Hunt与人合著的论文:《高安全设备的七个属性》。他表示:我特意用了‘属性’一词而不是‘原则’或‘标准’,因为属性是可以测量的东西。

Azure Sphere 开发者工具包目前已上线。

《高安全设备的七个属性》论文地址:

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/SevenPropertiesofHighlySecureDevices.pdf

上一篇:branch.io漏洞令6.85亿网民面临跨站攻击

下一篇:研究人员表示英特尔安全声明就是个“厚颜无耻的谎言”