读书频道 > 安全 > 嵌入式系统安全:安全与可信软件开发实战方法
2.7.3 直通技术
2015-12-09 14:26:02     我来说两句 
收藏    我要投稿   
从读者的角度出发,以通俗易懂的语言,结合丰富多彩的实例,详细介绍了嵌入式系统安全开发设计各方面的知识。通过行业标准和实际经验提出切实可行的嵌入式安全方法,这无论对于初学者还是资深开发者来说都具有一  立即去当当网订购

相反,直通模型(参见图2.26)使得客户操作系统可以直接访问物理I/O设备。依赖于CPU,客户驱动可以不做修改,或只做最小的半虚拟化适配。通过在拥有物理设备的客户和请求访问该设备的其他客户之间提供一个虚拟I/O接口,单个设备就可在多个客户之间共享。对于网络设备,该虚拟接口通常被称作虚拟开关(第2层),并且是大多数系统管理程序的通用特性。该直通模型提高了效率但丧失了鲁棒性,客户不正确的访问可能导致其他客户、应用程序或整个系统发生故障。这个模型将影响系统虚拟化首要的安全策略:为了在单个计算机上多操作系统实例安全共存的虚拟化环境隔离将被破坏。


 

当前,IOMMU使得直通I/O虚拟化模型对分派给虚拟机的内存直接访问没有风险。不管是正运行在虚拟机中的软件启动,还是外部器件本身启动(参见图2.27),MMU使得系统管理程序可以限制虚拟机对内存的访问,IOMMU则会限制I/O内存的访问(特别是DMA)。


 

IOMMU在嵌入式微处理器中越来越常见,像Intel核、Freescale QorIQ和ARM Cortex A15都有IOMMU。在Intel处理器中,IOMMU被称作Intel直接I/O虚拟化技术(Intel VT-d)。对于Freescale虚拟化使能的QorIQ处理器,如P4080,其IOMMU则称作外围器件访问管理单元(Peripheral Access Management Unit,PAMU)。对于Cortex A15(和其他支持ARM虚拟化扩展的ARM核[14]),其IOMMU则不是基础虚拟化规范的一部分。相反,ARM公司有个独立的知识产权供应,叫做系统MMU(System MMU,SMMU),可选择向ARM半导体制造商申请授权。另外,制造商也可以使用定制化的IOMMU实现,而不是ARM SMMU。还有,ARM TrustZone在ARM处理器的正常区域和安全区域之间提供了另一种形式的IOMMU:由CPU或外围器件发动的正常区域的访问都被限制在分配给正常区域的地址空间,而禁止访问安全区域中的内存。

IOMMU模型较没有IOMMU的直通模型具有了更高鲁棒性,同时又获得了优良的性能。但是,IOMMU还是一个相对较新的概念。

关键点 若干漏洞(规避保护的途径)在IOMMU中已被发现,我们必须在系统软件/系统管理程序供应商的帮助下小心地应对它们。

在大多数漏洞的攻击实例中,有故障的或不良的客户可以通过设备总线,或芯片级的操作,而不是直接内存访问,来破坏安全性。例如,在格林希尔软件公司的研究者已发现客户操作系统访问非自己所在虚拟机内存、拒绝其他虚拟机的执行服务、在默认系统管理程序中安装不良管理程序(在本章的后面将描述这种攻击)和让整个计算机宕机的方法——这些不良操作都是通过受IOMMU保护的设备来进行的。对于高可信和安全关键的运用,必须以不同的方式使用IOMMU,而不是传统的直通方法,因为基于该方法的客户操作系统对I/O设备只能进行不自由的访问。关于使用IOMMU无数取舍的问题超出了本书的范畴;可以咨询系统管理程序厂商以在总体上理解IOMMU和I/O虚拟化的选择与使用。

直通方法(使用了IOMMU,或没有使用IOMMU)的主要缺点是它难于保护跨多个虚拟机共享I/O设备的鲁棒性。有虚拟机会被分配直通设备的拥有权,对该设备具有独占式访问权,其他虚拟机必须依赖拥有设备的虚拟机方可请求该设备进行I/O。如果拥有设备的虚拟机被攻破,则所有的虚拟机都将被拒绝访问该设备的服务。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.7.2 仿真技术
下一篇:2.7.4 共享IOMMU
相关文章
图文推荐
2.9.3 静态可信根与
2.8 远程管理
2.7.6 微内核中的安
2.7.3 直通技术
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站