基于PFR的配置校验及恢复的方法、装置、设备、介质与流程

文档序号:32657669发布日期:2022-12-23 22:18阅读:26来源:国知局
基于PFR的配置校验及恢复的方法、装置、设备、介质与流程
基于pfr的配置校验及恢复的方法、装置、设备、介质
技术领域
1.本发明涉及配置校验恢复技术领域,具体涉一种基于pfr的配置校验及恢复的方法、装置、设备、介质。


背景技术:

2.pfr(platform firmware resilience,平台固件恢复)是用于支持nistsp 800-193文档的安全要求的安全技术,pfr的目的是用于保护平台资产、检测损坏固件等恶意或错误行为,以及恢复平台固件到良好状态的技术。其提供了多层固件攻击保护和固件恢复机制,因此增加了平台的弹性。通过其校验功能,成功实现规避恶意或错误bios,bmc等固件的刷新,以及刷新失败后固件版本的恢复,保证了服务器产品的容错能力,大大提高稳定性。
3.现有技术(公开号cn114579982a))公开一种基于pfr的固件升级的方法、系统、设备和存储介质,具体通过向管理模块下发将要对待更新设备进行固件升级操作的第一命令;响应于接收到所述第一命令,根据所述第一命令将待升级的固件存放到闪存中,并向pfr发送第二命令;响应于接收到所述第二命令,从所述闪存中读取固件信息,并通过内部验证模块进行验证;以及响应于验证通过,对所述待更新设备进行固件升级。通过内部的验证模块,将固件进行验证,保证了固件升级的安全性;通过人机交互模块将升级信息显示出来,方便技术人员的升级操作。
4.存在的问题是:仅添加了验证模块,缺少验证失败后的动作。仅适用于固件升级,当出现固件污染,固件挂死等情况,无法提供保护。侧重点在固件,无法全方位的保护整个平台。


技术实现要素:

5.针对上述现有技术存在的问题,本发明提供一种基于pfr的配置校验及恢复的方法、装置、设备、介质。
6.第一方面,本发明技术方案提供一种基于pfr的配置校验及恢复的方法,包括如下步骤:
7.pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件;
8.固件激活后,收集当前机器的实际配置信息;
9.将收集的实际配置信息与配置json文件进行比较;
10.将比较结果不同的可恢复项进行配置恢复,将不可恢复项输出报出警告。
11.进一步的,pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件的步骤包括:
12.pfr固件校验通过,按照正常模式引导固件上电激活;
13.在固件有效区拷贝出预期需求的配置json文件;
14.若校验不通过,移除有效区域中错误的固件,恢复区拷贝固件到有效区;执行步
骤:按照正常模式引导固件上电激活。
15.进一步的,pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件的步骤之前包括:
16.按照设定预启动模式启动服务器;
17.对服务器固件进行数字验证;执行步骤:pfr固件校验完成后,若校验通过,按照正常模式引导固件上电激活。
18.进一步的,将比较结果不同的可恢复项进行配置恢复,将不可恢复项输出报出警告的步骤包括:
19.实际配置信息与配置json文件不同时,获取实际配置与配置json文件不同的项;
20.获取不同的可配置项连接部件库服务器,在线获取对应固件配置信息;
21.将在线获取的配置信息替换查找到的可恢复项;
22.将不可恢复的项输出告警。
23.通过pfr固件校验恢复和bmc配置校验恢复能极大地保证配置准确性,提高平台的容错容灾能力,比如对于无校验恢复能力的平台,当刷新损坏版本的bmc时,也会刷新不生效,但会使当前平台的bmc不可用,简而言之就是bmc挂死,后续只能通过人工烧录或连com口uboot的方式进行固件刷新,费事费力。本发明提供的校验恢复能力能大大削弱固件挂死带来的影响,当出现挂死时,只需ac断电,重新进行恢复即可。相较与传统方法,本发明的配置校验不仅仅针对固件,它覆盖这个平台,当平台配置出现错误,会连接部件库服务器实现自动恢复并打印出错误信息。针对非硬件物理层面的错误或非预期结果,提供一键矫正功能,如firmware和driver版本不符合预期,会一键升级,降低时间成本。
24.第二方面,本发明技术方案提供一种基于pfr的配置校验及恢复的装置,包括预期需求配置获取模块、收集模块、比较模块、配置恢复模块、告警模块;
25.预期需求配置获取模块,用于pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件;
26.收集模块,用于固件激活后,收集当前机器的实际配置信息;
27.比较模块,用于将收集的实际配置信息与配置json文件进行比较;
28.配置恢复模块,用于将比较结果不同的可恢复项进行配置恢复;
29.告警模块,用于将不可恢复项输出报出警告。
30.进一步的,该装置还包括执行模块和固件恢复模块;
31.执行模块,用于pfr固件校验通过,按照正常模式引导固件上电激活;
32.预期需求配置获取模块,用于在固件有效区拷贝出预期需求的配置json文件;
33.固件恢复模块,用于若校验不通过,移除有效区域中错误的固件,恢复区拷贝固件到有效区触发执行模块。
34.进一步的,所述装置还包括固件校验模块;
35.执行模块,还用于按照设定预启动模式启动服务器;
36.固件校验模块,用于服务器按照设定预启动模式启动后,对服务器固件进行数字验证,若校验通过,输出信息到执行模块按照正常模式引导固件上电激活;若校验不通过,输出信息到固件恢复模块。
37.进一步的,配置恢复模块包括配置项获取单元、配置恢复单元;
38.配置项获取单元,用于实际配置信息与配置json文件不同时,获取实际配置与配置json文件不同的项;
39.配置恢复单元,用于获取不同的可配置项连接部件库服务器,在线获取对应固件配置信息;将在线获取的配置信息替换查找到的可恢复项。
40.第三方面,本发明技术方案还提供一种电子设备,所述电子设备包括:
41.至少一个处理器;以及,
42.与所述至少一个处理器通信连接的存储器;其中,
43.存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的基于pfr的配置校验及恢复的方法。
44.第四方面,本发明技术方案还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的基于pfr的配置校验及恢复的方法。
45.从以上技术方案可以看出,本发明具有以下优点:即对平台的全部信息进行校验。当校验失败后尽可能的恢复原有配置,如有不可恢复项则提示警告。通过pfr固件校验恢复和bmc配置校验恢复能极大地保证配置准确性,提高平台的容错容灾能力,比如对于无校验恢复能力的平台,当刷新损坏版本的bmc时,也会刷新不生效,但会使当前平台的bmc不可用,简而言之就是bmc挂死,后续只能通过人工烧录或连com口uboot的方式进行固件刷新,费事费力。本发明提供的校验恢复能力能大大削弱固件挂死带来的影响,当出现挂死时,只需ac断电,重新进行恢复即可。相较与传统方法,本发明的配置校验不仅仅针对固件,它覆盖这个平台,当平台配置出现错误,会连接部件库服务器实现自动恢复并打印出错误信息。针对非硬件物理层面的错误或非预期结果,提供一键矫正功能,如firmware和driver版本不符合预期,会一键升级,降低时间成本。
46.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
47.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本发明一个实施例的方法的示意性流程图。
50.图2是本发明一个实施例的装置的示意性框图。
具体实施方式
51.通过向管理模块下发将要对待更新设备进行固件升级操作的第一命令;响应于接收到所述第一命令,根据所述第一命令将待升级的固件存放到闪存中,并向pfr发送第二命令;响应于接收到所述第二命令,从所述闪存中读取固件信息,并通过内部验证模块进行验证;以及响应于验证通过,对所述待更新设备进行固件升级。通过内部的验证模块,将固件
进行验证,保证了固件升级的安全性;通过人机交互模块将升级信息显示出来,方便技术人员的升级操作。存在的问题是包括仅添加了验证模块,缺少验证失败后的动作。仅适用于固件升级,当出现固件污染,固件挂死等情况,无法提供保护。侧重点在固件,无法全方位的保护整个平台。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
52.本发明实施例提供一种基于pfr的配置校验及恢复的方法,包括如下步骤:
53.步骤1:pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件;
54.步骤2:固件激活后,收集当前机器的实际配置信息;
55.步骤3:将收集的实际配置信息与配置json文件进行比较;
56.步骤4:将比较结果不同的可恢复项进行配置恢复,将不可恢复项输出报出警告。
57.在pfr固件校验恢复后,系统按照正常模式引导,pch、bios、bmc等上电激活,系统将在bmc flash区拷贝出预期需求的配置json文件,待系统成功引导后,通过bmc收集当前机器的实际配置信息,将其与预期需求的配置json文件对比,校验主板硬件firmware、pcie设备信息等,如硬盘的型号、数量、firmware、网卡的驱动版本等。当校验失败,即实际配置信息与预期需求配置不同时,机器尽可能的恢复配置,通过连接部件库服务器,在线获取对应firmware和驱动等,遇到不可恢复的情况,如部件型号或数量有误,会在bmc web下报出警告。
58.如图1所示,本发明实施例提供一种基于pfr的配置校验及恢复的方法,包括如下步骤:
59.s1:按照设定预启动模式启动服务器;
60.s2:对服务器固件进行数字验证;pfr固件校验通过,执行步骤s3;若校验不通过,执行步骤s11;
61.s3:按照正常模式引导固件上电激活;
62.s4:在固件有效区拷贝出预期需求的配置json文件;
63.s5:收集当前机器的实际配置信息;
64.s6:将收集的实际配置信息与配置json文件进行比较;
65.实际配置信息与配置json文件不同时,执行步骤s7,否则,结束;
66.s7:获取实际配置与配置json文件不同的项;
67.s8:获取不同的可配置项连接部件库服务器,在线获取对应固件配置信息;
68.s9:将在线获取的配置信息替换查找到的可恢复项;
69.s10:将不可恢复的项输出告警;
70.s11:移除有效区域中错误的固件,恢复区拷贝固件到有效区;执行步骤s3。
71.按照设定预启动模式启动服务器;对服务器固件进行数字验证;执行步骤:pfr固件校验完成后,若校验通过,按照正常模式引导固件上电激活。
72.也就是,首先运用pfr技术使得处理器按照一种特定的预启动模式(t-1)启动,这种模式下,只有cpu处理激活状态,所有有可能干扰引导路径的其他设备(比如pch/me和
bmc)处于复位状态。关键的引导固件(诸如bios,me,bmc等等)在t-1模式下需要数字验证。如果固件校验失败,pfr触发一个固件恢复事件,然后移除spi flash active区域中错误的固件,从gold中拷贝一份固件到spi flash active区域。从gold恢复拷贝中更新也是在t-1模式下执行的。如果校验成功,系统继续按照正常模式引导。
73.通过bmc收集当前机器的实际配置信息,将其与预期需求的配置json文件对比,校验主板硬件firmware、pcie设备信息等,如硬盘的型号、数量、firmware、网卡的驱动版本等。当校验失败,即实际配置信息与预期需求配置不同时,机器尽可能的恢复配置,通过连接部件库服务器,在线获取对应firmware和驱动等,遇到不可恢复的情况,如部件型号或数量有误,会在bmc web下报出警告。
74.也就是说,服务器上电后,首先进行pfr固件校验,pfr使系统按照一种特定的可信操作模式(t-1)引导,执行安全引导,固件更新和恢复操作。在这种预引导环境下,只有cpu0隔离上电,其他cpu,pch,bmc等部件保持复位状态。为了进入t-1模式,pfr cpld驱动信号触发板卡上电时序。
75.在t-1模式下,pfr cpld可以完全访问所有的spi设备。在这个阶段的重要操作如下:
76.(1)完成pch和bmc有效区和恢复区的固件数字签名验证。
77.pfr vcm和pfr cpld协助计算sha256哈希值进行验证。它也可以检查任何固件是否需要更新:pch/bmc恢复gold更新,数字vr/psu,hsbp固件更新等等。它通过验证更新候选副本的真实性执行更新操作。比如,pch或者bmc任一有效spi flash镜像被检测到受损,这将触发一个恢复操作,即完整删除有效备份,并且从最新gold恢复区域还原。在这里,cv configure verification,配置校验;
78.cr configure recovery,配置恢复。
79.(2)一旦t-1模式下的这些安全操作成功完成,系统继续正常引导。
80.系统继续正常引导后,pch、bmc启动,接下来进行bmc配置校验,在bmc flash中定义一个特定区域用于存放预期需求的配置信息,如部件型号数量、firmware、driver等。在bmc上电后,先将该flash中的文件拷贝出来。待bmc成功激活后,收集实际配置的信息。将之与预期需求信息对比,如有不同,对于可恢复项,连接部件库服务器,进行配置恢复,如进行部件firmware刷新,驱动版本更新等;对于不可恢复项,如硬盘型号或数量不符合预期结果,则通过bmc报出警告。
81.如图2所示,本发明实施例提供一种基于pfr的配置校验及恢复的装置,包括预期需求配置获取模块、收集模块、比较模块、配置恢复模块、告警模块;
82.预期需求配置获取模块,用于pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件;
83.收集模块,用于固件激活后,收集当前机器的实际配置信息;
84.比较模块,用于将收集的实际配置信息与配置json文件进行比较;
85.配置恢复模块,用于将比较结果不同的可恢复项进行配置恢复;
86.告警模块,用于将不可恢复项输出报出警告。
87.在有些实施例中,该装置还包括执行模块和固件恢复模块;
88.执行模块,用于pfr固件校验通过,按照正常模式引导固件上电激活;
89.预期需求配置获取模块,用于在固件有效区拷贝出预期需求的配置json文件;
90.固件恢复模块,用于若校验不通过,移除有效区域中错误的固件,恢复区拷贝固件到有效区触发执行模块。
91.所述装置还包括固件校验模块;
92.执行模块,还用于按照设定预启动模式启动服务器;
93.固件校验模块,用于服务器按照设定预启动模式启动后,对服务器固件进行数字验证,若校验通过,输出信息到执行模块按照正常模式引导固件上电激活;若校验不通过,输出信息到固件恢复模块。
94.需要说明的是,配置恢复模块包括配置项获取单元、配置恢复单元;
95.配置项获取单元,用于实际配置信息与配置json文件不同时,获取实际配置与配置json文件不同的项;
96.配置恢复单元,用于获取不同的可配置项连接部件库服务器,在线获取对应固件配置信息;将在线获取的配置信息替换查找到的可恢复项。
97.本发明实施例还提供一种电子设备,所述电子设备包括:处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:步骤1:pfr固件校验完成后,在固件flash区拷贝出预期需求的配置json文件;步骤2:固件激活后,收集当前机器的实际配置信息;步骤3:将收集的实际配置信息与配置json文件进行比较;步骤4:将比较结果不同的可恢复项进行配置恢复,将不可恢复项输出报出警告。
98.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
99.本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述方法实施例所提供的方法,例如包括:s1:按照设定预启动模式启动服务器;s2:对服务器固件进行数字验证;pfr固件校验通过,执行步骤s3;若校验不通过,执行步骤s11;s3:按照正常模式引导固件上电激活;s4:在固件有效区拷贝出预期需求的配置json文件;s5:收集当前机器的实际配置信息;s6:将收集的实际配置信息与配置json文件进行比较;实际配置信息与配置json文件不同时,执行步骤s7,否则,结束;s7:获取实际配置与配置json文件不同的项;s8:获取不同的可配置项连接部件库服务器,在线获取对应固件配置信息;s9:将在线获取的配置信息替换查找到的可恢复项;s10:将不可恢复的项输出告警;s11:移除有效区域中错误的固件,恢复区拷贝固件到有效区;执行步骤s3。
100.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明
的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1