[发明专利]引导固件沙箱化在审
申请号: | 201980061975.6 | 申请日: | 2019-09-16 |
公开(公告)号: | CN112740211A | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | C·T·卡伦贝格;R·沃杰茨祖科;X·S·科瓦;A·J·菲什 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/53;G06F9/4401;G06F12/14 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄倩 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 引导 固件沙箱化 | ||
本发明公开了涉及安全地引导计算机系统的技术。在一些实施方案中,引导加载程序启动引导序列以加载计算设备的操作系统,并且检测在引导过程期间要执行的外围设备的固件以初始化外围设备以供计算设备使用。响应于该检测,引导加载程序实例化将固件与引导加载程序隔离的沙箱。在各种实施方案中,固件从包括在外围设备中的选项只读存储器(OROM)加载,并且在引导序列期间执行以初始化外围设备。在一些实施方案中,引导加载程序将一个或多个存储器地址范围分配给固件,并且沙箱限制固件访问未包括在所分配的一个或多个地址范围内的存储器地址。
背景技术
技术领域
本公开整体涉及计算机系统,并且更具体地涉及系统引导。
当计算机系统通电时,其通常执行引导序列,该引导序列包括执行引导加载程序以便最终加载操作系统。在加载操作系统之前,引导加载程序可初始执行一组通电自测试以便验证系统硬件。引导加载程序还可启动固件的执行以初始化系统硬件。在一些情况下,该固件可在制造期间由设备的制造商安装。在其他情况下,该固件可从由硬件提供的只读存储器(ROM)加载,该ROM可在制造之后安装在系统中。这种类型的固件可被称为选项ROM(OROM)固件并用于初始化硬件,诸如图形卡、小型计算机系统接口(SCSI)设备等。
附图说明
图1是示出实现选项ROM中的固件的沙箱的计算设备的示例的框图。
图2是示出限制存储器访问的沙箱的示例的框图。
图3A是示出限制与引导加载程序的交互的沙箱的示例的框图。
图3B是示出促进图形驱动程序和图形卡之间的交互的沙箱的示例的框图。
图4A至图4C是示出用于沙箱化的方法的示例的流程图。
图5是示出示例性计算设备的框图。
本公开包括对“一个实施方案”或“实施方案”的标引。出现短语“在一个实施方案中”或“在实施方案中”并不一定是指同一个实施方案。特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。
在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物,诸如电子电路)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正被操作。“被配置为在显示器上渲染内容的图形卡”旨在涵盖例如具有在操作期间执行该功能的电路的卡,即使所考虑的集成电路当前未在使用(例如,电源未连接到它)。因此,被描述或表述成“被配置为”执行某个任务的实体是指用于实施该任务的物理的事物,诸如设备、电路、存储有可执行程序指令的存储器等等。该短语在本文中不被用于指代无形的事物。因此,“被配置为”结构在本文中不被用于指代软件实体,诸如应用编程接口(API)。
术语“被配置为”并不旨在意指“可配置为”。例如,未经编程的FPGA不会被认为是“被配置为”执行某个特定功能,虽然其可能“能被配置为”执行该功能并且在编程之后可以“被配置为”执行该功能。
所附权利要求书中的表述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980061975.6/2.html,转载请声明来源钻瓜专利网。