计算设备的安全引导制造技术

技术编号:36491667 阅读:19 留言:0更新日期:2023-02-01 15:05
描述了用于统一可扩展固件接口(UEFI)兼容设备的安全引导的技术。在一示例中,可以在计算设备的引导期间检测与计算设备的硬件组件相关联的驱动程序的执行。基于该检测,可以计算UEFI的系统表的第一驱动程序散列,其中系统表是存储计算设备的配置细节以及UEFI服务的数据结构。此后,可以基于检测到驱动程序的执行的完成来计算系统表的第二驱动程序散列。然后,可以比较第一驱动程序散列和第二驱动程序散列,以确定对UEFI的系统表的篡改。以确定对UEFI的系统表的篡改。以确定对UEFI的系统表的篡改。

【技术实现步骤摘要】
【国外来华专利技术】计算设备的安全引导

技术介绍

[0001]计算设备包括需要在操作之前进行配置的多个硬件组件。诸如统一可扩展固件接口(UEFI)之类的现代系统固件允许在计算设备引导期间执行与这样的硬件组件相关联的驱动程序。驱动程序的这样的执行促进硬件组件在计算设备引导期间被配置和初始化。
附图说明
[0002]参考附图提供了详细描述,在附图中:图1图示了根据本主题的一示例的用于确定对统一可扩展固件接口(UEFI)的篡改的计算设备;图2图示了根据本主题的另一个示例的用于确定对UEFI的篡改的计算设备;图3图示了根据本主题的一示例的用于确定对UEFI的篡改的方法;图4图示了根据本主题的一示例的用于UEFI兼容计算设备的安全引导的方法;以及图5图示了根据本主题的一示例的实现用于确定对计算设备中的UEFI的篡改的非暂时性计算机可读介质的系统环境。
具体实施方式
[0003]一般而言,统一可扩展固件接口(UEFI)通过在执行之前验证与各种硬件组件相关联的驱动程序来确保计算设备的安全引导。驱动程序的验证是通过证实与驱动程序相关联的数字签名来施行的,其中数字签名在其开发期间与驱动程序链接,并且指示驱动程序的真实性。
[0004]与硬件组件相关联的驱动程序一般以二进制格式可用,而没有任何与之相关联的源代码,其中驱动程序的二进制格式通过附随驱动程序的数字签名可验证。因此,如果驱动程序的源代码被篡改,例如在驱动程序开发期间被恶意代码篡改,并且此后被数字地签名,则驱动程序的完整性可能无法查明。因此,驱动程序的恶意代码可能损害UEFI连同存储在计算设备上的用户数据的安全性。
[0005]根据本主题的示例实现方式,描述了用于UEFI兼容计算设备的安全引导的技术。
[0006]在操作中,在引导计算设备时,检测用于配置计算设备的硬件组件的驱动程序的执行。基于该检测,计算UEFI的系统表的第一散列,其中系统表是存储计算设备的配置细节以及各种UEFI服务的数据结构。然后,允许执行驱动程序用于配置硬件组件以进行操作。一旦硬件组件的配置完成,就计算系统表的第二散列并且将其与第一散列进行比较。然后,确定第一散列和第二散列是否相等。
[0007]如果第一散列和第二散列不相等,则可以确定系统表已经被篡改。因此,可以发出指示对系统表的篡改的通知。在这样的情形下,对系统表所做出的修改可以被回滚,并且驱动程序可以被阻止任何进一步的执行。因此,在计算设备的随后引导期间,驱动程序的执行可以被阻止,并且计算设备可以在不初始化与驱动程序相关联的硬件组件的情况下引导。
[0008]另一方面,如果发现第一散列和第二散列相等,则可以确定尚未对系统表做出修改。在这样的情形下,计算设备可以继续进行正常引导。
[0009]因此,上述技术通过检测由与计算设备的硬件组件相关联的驱动程序对UEFI的系统表所做出的任何修改来确保UEFI的系统表的内容的完整性。此外,阻止驱动程序的进一步执行避免了恶意代码在计算设备的随后引导期间的执行,从而确保了计算设备的安全引导。
[0010]参考图1至图5进一步描述了上面的技术。应当注意的是,描述和各图仅仅图示了本主题的原理连同本文中描述的示例,并且不应当被解释为对本主题的限制。因此,要理解的是,可以设计尽管在本文中没有明确描述或示出但是体现了本主题原理的各种布置。此外,本文中的记载了本主题的原理、方面和实现方式的所有陈述以及其具体示例意图涵盖其等同物。
[0011]图1图示了根据本主题的一示例的用于确定对统一可扩展固件接口(UEFI)的篡改的计算设备100。计算设备100的示例可以包括但不限于膝上型计算机、台式计算机、平板和智能电话。
[0012]计算设备100可以包括可以在计算设备100的预操作系统(OS)初始化期间初始化的多个硬件组件。另外,多个组件中的每一个可以对应地具有与之相关联的驱动程序,其中每个驱动程序可以对应于多个回调函数。
[0013]在说明性示例中,与计算设备100的第一硬件组件相关联的第一驱动程序可以用于将数据发布到高级配置和功率接口(ACPI)表中,其中,ACPI表在一示例中可以存储计算设备100的硬件配置信息和功率管理信息。在所述示例中,要发布到ACPI表中的数据在对与计算设备100的第二硬件组件相关联的第二驱动程序的执行之后变得可用。在这样的情形下,第一驱动程序可以注册回调函数来监测该数据的可用性。当该数据的可用性被确定为真时,可以触发一事件来调用第一驱动程序的回调函数。因此,可以执行第一驱动程序的回调函数,并且可以在ACPI表中发布该数据。
[0014]计算设备100可以包括检测引擎102,以确定与计算设备100的硬件组件相关联的驱动程序的回调函数的执行。在计算设备100的预OS初始化期间,可以在驱动程序执行环境(DXE)阶段中检测回调函数的执行。
[0015]基于检测到回调函数的执行,计算设备100的散列引擎104可以计算UEFI的系统表的第一回调函数散列,其中系统表是存储计算设备的配置细节以及各种UEFI服务的数据结构。
[0016]散列引擎104可以随后检测回调函数的执行的完成。基于该检测,散列引擎104可以计算驱动程序的第二回调函数散列。
[0017]然后,计算设备100的确定引擎106可以将第一回调函数散列与第二回调函数散列进行比较,以查明系统表是否已被篡改。因此,可以标识由于执行回调函数而对系统表做出的任何修改,从而确保存储在系统表中的内容的完整性。
[0018]图2图示了根据本主题的另一个示例的用于确定对UEFI的篡改的计算设备100。如较早所描述,计算设备100的示例可以包括但不限于台式计算机、膝上型计算机、智能电话和平板。
[0019]计算设备100可以包括处理器202和耦合到处理器202的存储器204。可以通过使用
专用硬件以及能够执行指令的硬件来提供各图中所示出的各种元件的功能,包括被标记为“(一个或多个)处理器”的任何功能块。当由处理器提供时,这些功能可以由单个专用处理器、单个共享处理器、或多个个体处理器来提供,其中一些处理器可以是共享的。此外,术语“处理器”的明确使用将不应被解释为排他地指代能够执行指令的硬件,并且可以隐含地包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)。标准和/或定制的其它硬件也可以耦合到处理器202。
[0020]存储器204可以包括任何计算机可读介质,包括例如易失性存储器(例如,随机存取存储器(RAM))和/或非易失性存储器(例如,ROM、EPROM、闪速存储器等)。
[0021]另外,计算设备100还可以包括(一个或多个)引擎206,引擎206可以包括检测引擎102、散列引擎104、确定引擎106和修改引擎208。
[0022]在一示例中,(一个或多个)引擎206可以被实现为硬件、固件及其组合。在本文中描述的示例中,硬件和固件的这样的组合可以以若干种不同的方式实现。例如,引擎的固件可以是存储在非暂时性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:在具有统一可扩展固件接口(UEFI)的计算设备的引导期间,检测与计算设备的硬件组件相关联的驱动程序的执行;计算UEFI的系统表的第一驱动程序散列,其中所述系统表是存储计算设备的配置细节以及UEFI服务的数据结构;检测驱动程序的执行的完成;在驱动程序的执行完成时,计算系统表的第二驱动程序散列;以及比较第一驱动程序散列和第二驱动程序散列,以确定对UEFI的系统表的篡改。2.如权利要求1所述的方法,进一步包括基于确定对UEFI的系统表的篡改来阻止驱动程序。3.如权利要求2所述的方法,进一步包括在计算设备的随后引导期间阻止驱动程序的执行。4.如权利要求1所述的方法,进一步包括:标识耦合到计算设备的视频输出设备;以及在确定对系统表的篡改时,在视频输出设备上显示提供驱动程序的细节的通知。5.如权利要求1所述的方法,进一步包括撤销由驱动程序对系统表所做出的修改。6.如权利要求1所述的方法,其中所述驱动程序的执行是在计算设备的引导期间在驱动程序执行环境(DXE)阶段中被检测的。7.如权利要求6所述的方法,其中所述驱动程序是DXE驱动程序和UEFI驱动程序中的一个。8.如权利要求6所述的方法,进一步包括:在DXE阶段内触发系统管理模式(SMM),其中触发SMM将计算设备的处理器的状态保存在与其耦合的随机存取存储器(RAM)的安全区域中;以及将第一驱动程序散列和第二驱动程序散列存储在RAM的安全区域中。9.如权利要求1所述的方法,进一步包括:检测与计算设备的另一硬件组件相关联的另一驱动程序的回调函数的执行;计算系统表的第一回调函数散列;检测回调函数的执行的完成;在检测到回调函数的完成时,计算系统表的第二回调函数散列;将第一回调函数散列与第二回调函数散列进行比较;以及基于所述比较,确定对UEFI的系统表的篡改。10.如权利要求9所述的方法,进一步包括在计算设备的随后引导期间阻止回调函数的执行。11.一种系统,包括:检测引擎,用于在具有统一可扩展固件接口(UEFI)的计算设备的预操作系统(OS...

【专利技术属性】
技术研发人员:冯康宁黄哲逸CH
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1