Skip to main content

mbed 操作系统 uVisor

ARM® mbed™ 操作系统 uVisor 是最低级别 mbed 操作系统的监督内核。 它可以借助内存保护单元 (MPU) 在 ARM Cortex™-M3、M4 和 M7 微控制器上创建独立的安全域。 我们将这些安全域称为“盒子”。 通过审慎地使用 uVisor 来分割和隔离软件堆栈的敏感部分,mbed 操作系统可为您的应用程序提供一系列安全组件盒子。 然后这些盒子就能提供可信的身份、安全的固件更新、Internet 服务访问权限和受保护的加密密钥,保护您的应用程序免遭漏洞利用程序、病毒攻击和恶意软件的侵害。

有关 ARM mbed 操作系统 uVisor 的最新信息,请访问 GitHub 存储库

问题

很明显,像 SSL 库这种苛求安全性的函数需要进行彻底的审查。 不太明显的是,如果我们想要防止一个系统组件中的错误危及其他组件,我们就需要对系统中的所有其他组件给予相同程度的关注。 但是,我们甚至连足够的关注都未能给予,而且由于维持 WiFi 连接或支持 ZigBee/BLE 通信涉及到大量代码,其产生的攻击面几乎无法核实,因此会对设备安全产生危害,尤其是当堆栈的重要部分往往只有二进制格式时。

更糟糕的是,要恢复常见类型的安全漏洞(攻击者执行的任意代码),可能就无法进行远程恢复。 攻击者可能在目标设备上运行感染更新的代码,从而使恶意软件驻留下来。 即使是通过硬件强制执行的可信根和安全引导加载程序也无法解决这个问题:驻留的恶意软件可以作为拒绝服务攻击的一部分躲过 RAM 和块重置命令或闪存擦除安全运行。

攻击者提取安全密钥的情况也是如此;您将无法安全轮换安全密钥,因为在设备上运行代码的攻击者将会像看明文一样实时看到密钥更新。

解决方案:通过硬件强制执行的 IoT 安全性

为了解决这种情况,我们需要使用 uVisor 来隔绝关键外围设备和大多数代码库,以尽可能减少攻击面。 uVisor 的设计理念是通过使用 Cortex-M 微控制器现有的硬件安全功能来限制对内存和外围设备的访问,从而为各个代码块提供通过硬件强制执行的隔间(沙箱)。

将微控制器的常规平面安全模型划分成区间式的构造块,可带来高级别的安全性,因为可以将安全漏洞或外部攻击的影响范围限制在不太敏感的功能块。 攻击者现在只能危害不受信任的一端(包含应用程序逻辑和通信堆栈),而不会影响保存有基础加密函数和实际密钥的私有端的安全性。 因为私有端现在与攻击高度隔离且很难受到危害,因此可以安全推断出公有端的安全状态。

了解更多信息

uVisor 代码和相关文档可在 GitHub 上获取。

有关 uVisor 库和 API 的信息,请参阅 uvisor-lib 存储库

 

 

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Arm websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.