首页 > 新闻 > 国际 >

物联网(IoT)联网设备可靠运行的策略

2014-07-10 08:48:59   作者:   来源:CTI论坛   评论:0  点击:


  通过类型1的虚拟机 Hypervisor 实现多 OS 系统的应用

  在今天嵌入式设备中具备的多核处理器可提供更强大的处理能力和连接选项。这些设备使多个操作系统的整合成为引进互联性的可行安全方法,同时确保更重要的功能的执行。即使是在非常注重安全的行业,如汽车业,消费者现在也期待车载信息娱乐系统可提供智能手机和平板电脑所具备的应用程序。

  在物联网和车联网出现以前, 安全性和可靠性是通过物理分离实现的,通过同一或独立的面板上多个单独的处理器以确保设计的稳健性。有了现在的整合的嵌入式系统,引入连接性的一个推荐的方法是使用多个操作系统,由类型1 Hypervisor 实行分离,实际上分离和虚拟化设备资源,确保必要的汽车功能优先于连接应用程序的功能。

  图3说明了一个 Hypervisor,如 Mentor Graphics 的 Hypervisor,如何被用于汽车信息娱乐系统,该系统的连接应用程序功能是 Android 的而其他车载信息娱乐系统则是基于 Linux 的。

  一个 Hypervisor 不仅仅是如图3所示的简单分离,它还提供了一种机制限制周边设备进入特定的应用程序域。就车载信息娱乐系统而言,我们可能想要限制对车载 CAN 总线的使用,只允许车载信息娱乐系统接入CAN数据,而联网的 Android 应用程序接入数据只能通过进程间通信(IPC)和基于 Linux 车载信息娱乐系统应用程序。同时,我们想要 Linux 和 Android 都可以使用 本地的记忆卡查看媒体文件。图4说明了一个 Hypervisor 如何允许我们直接映射及准虚拟化外围设备。这使得开发者能够限制访问CAN总线及实现如记忆卡等其它资源的共享。

  用一个Hypervisor来分离和共享外围设备

  在真实场景中测试可靠性

  到现在为止我们已经说明了设计物联网系统的两种可能的方法,实时操作系统的使用和类型1 Hypervisor。当然多种不同的变更和理想的方法还要取决于具体的设备。然而所有连接系统都会受益于某种程度的测试以确保其实地操作的正确性。对连接设备的自动化安全峰值测试和压力测试就是一个例子,说明协议栈或过程控制功能的失败是可以检测的。此外,设备的功能性健康是可以在模拟攻击中确定的。应该执行的其他测试包括发送无效或分散的数据包,执行测试框架,探测已知的软件栈的漏洞。执行这些测试可以增加连接设备在实际应用中的鲁棒性。

  可更新性设计

  移动设备的用户熟知需经常性升级设备,修补漏洞,添加安全更新或增加设备性能 -- 所有这些都毫不费力地通过“空中下载技术”来完成。基于实时操作系统的进程模式和使用类型1 Hypervisor 都能促进嵌入式系统的设计,该系统可以一种安全的方式通过空中下载技术实现更新。通过分离可不断加载和卸载的应用子系统,这两种方法可随着时间的推移更新特定子系统,修复漏洞或在开发和实际应用时解决可靠性问题。

  结论

  物联网设备的广度和相关功能经常需要开发人员集成来自多种途径的代码,包括国内的,商业的和开源的。所有这些都会增加对物联网(IoT)联网设备的灵敏度和可靠性的负面冲击。使用包含进程模式的实时操作系统来分离应用子系统和使用类型1 Hypervisor 来整合多个操作系统对于在应用程序和系统中引进互联性是有效途径, 因后者在执行过程中需要较高水平或可靠性。

  除了选择合适的系统架构和技术方法,设计师还必须及时添加额外的测试来确保正确的操作,考虑设备的整个操作生命周期,具备快速,无缝,尽可能轻松地更新设备软件的能力。
 

分享到: 收藏

专题