CN113051576A - 控制方法和电子设备 - Google Patents

控制方法和电子设备 Download PDF

Info

Publication number
CN113051576A
CN113051576A CN202110346707.8A CN202110346707A CN113051576A CN 113051576 A CN113051576 A CN 113051576A CN 202110346707 A CN202110346707 A CN 202110346707A CN 113051576 A CN113051576 A CN 113051576A
Authority
CN
China
Prior art keywords
memory
operation request
controller
boot
host system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110346707.8A
Other languages
English (en)
Inventor
林泽波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202110346707.8A priority Critical patent/CN113051576A/zh
Publication of CN113051576A publication Critical patent/CN113051576A/zh
Priority to US17/550,761 priority patent/US11921599B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种控制方法和电子设备,其中,一种电子设备,包括:控制器;第一存储器,与该控制器连接,至少存储有引导系统;第二存储器,与该控制器连接,用于存储该引导系统的更新数据;其中,在电子设备完成开机自检后,该控制器控制该第一存储器处于不可访问状态,控制该第二存储器处于可访问状态。本申请的方案可以减少引导系统所受到的非法攻击。

Description

控制方法和电子设备
技术领域
本申请涉及数据处理技术领域,更具体地说,涉及一种控制方法和电子设备。
背景技术
如果电子设备中的基本输入输出系统(Basic Input Output System,BIOS)等引导程序(也可以称为引导系统)受到一些非法操作的攻击,则会导致引导程序所在的电子设备或者器件出现运行异常。
目前,只能是在引导程序受到攻击后通过一些方法恢复引导程序,但是却无法减少引导程序所受到的非法攻击。
发明内容
本申请提供了一种控制方法和电子设备。
其中,一种电子设备,包括:
控制器;
第一存储器,与所述控制器连接,至少存储有引导系统;
第二存储器,与所述控制器连接,用于存储所述引导系统的更新数据;
其中,在电子设备完成开机自检后,所述控制器控制所述第一存储器处于不可访问状态,控制所述第二存储器处于可访问状态。
在一种可能的实现方式中,该电子设备还包括:与所述第一存储器相连的主机系统;
所述主机系统,用于在所述电子设备开机启动的过程中,加载并运行所述第一存储器中的引导系统;
所述主机系统,还用于在所述电子设备完成开机自检后,获得针对所述引导系统的操作请求,所述操作请求用于请求操作所述引导系统;如确认所述操作请求不属于非法操作,将所述操作请求转发给所述控制器;
所述控制器,还用于基于所述操作请求,在所述第二存储器中存储针对所述引导系统的更新数据。
在又一种可能的实现方式中,所述控制器通过控制切断所述第一存储器的供电,以控制所述第一存储器处于不可访问状态。
在又一种可能的实现方式中,该电子设备还包括:供电模块;
所述第一存储器通过所述控制器上的可控端口与所述供电模块相连;
所述控制器通过控制切断所述可控端口与所述供电模块的连接,实现切断所述第一存储器的供电,使得所述第一存储器处于不可访问状态。
又一方面,本申请还提供了一种控制方法,包括:
在电子设备开机启动的过程中,通过主机系统加载并运行第一存储器中的引导系统;
在所述电子设备完成开机自检后,通过控制器控制所述第一存储器处于不可访问状态,并控制第二存储器处于可访问状态,所述第二存储器与所述控制器相连,且用于存储所述引导系统的更新数据。
在一种可能的实现方式中,该方法还包括:
在所述电子设备完成开机自检后,通过主机系统获得针对所述引导系统的操作请求,所述操作请求用于请求操作所述引导系统;
如果确认所述操作请求不属于非法操作,通过所述主机系统将所述操作请求发送给所述控制器,以通过所述控制器将操作产生的更新数据存至所述第二存储器。
在又一种可能的实现方式中,所述如果确认所述操作请求不属于非法操作,通过所述主机系统将所述操作请求发送给所述控制器,包括:
如通过所述主机系统检测到系统管理中断指示且确认所述操作请求不属于非法操作,将所述操作请求发送给所述控制器。
在又一种可能的实现方式中,通过所述主机系统确认所述操作请求不属于非法操作,包括:
通过所述主机系统确认所述操作请求满足合法操作条件,所述合法操作条件至少包括:所述系统管理中断指示由具备触发权限的软件程序触发生成,和/或,所述操作请求携带的验证数据为已配置的合法性验证数据。
在又一种可能的实现方式中,所述合法操作条件还包括:
如果所述操作请求用于请求更新所述引导系统的参数数据,所述操作请求所请求更新的参数数据符合所述引导系统的系统规范中定义的参数变量格式。
在又一种可能的实现方式中,还包括:
在开机自检过程中,依据所述更新数据更新所述第一存储器中的所述引导系统。
又一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的控制方法。
通过以上方案可知,本申请在电子设备完成开机自检之后,会通过控制器控制电子设备中用于存储引导系统的第一存储器处于不可访问状态,并控制第二存储器处于可访问状态,使得针对引导系统相关数据的操作被转移到第二存储器,而无法操作引导系统所在的第一存储器,从而可以避免直接对第一存储器中的引导系统进行操作,从而可以降低由于非法操作而导致引导系统被攻击的风险。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的电子设备的一种组成结构示意图;
图2为本申请实施例提供的电子设备的又一种组成结构示意图;
图3为本申请实施例提供的电子设备在一种应用示例中的组成结构示意图;
图4为本申请实施例提供的控制方法的一种流程示意图;
图5为本申请实施例提供的控制方法的又一种流程示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,先对本申请的电子设备的组成结构进行介绍。
如图1所示,其示出了本申请提供的电子设备的一种组成结构示意图,本实施例的电子设备可以包括:
控制器101;
第一存储器102,与该控制器连接,至少存储有引导系统;
以及第二存储器103,与该控制器连接,用于存储该引导系统的更新数据。
其中,在电子设备完成开机自检后,控制器101控制该第一存储器处于不可访问状态,控制该第二存储器处于可访问状态。
其中,第一存储器为引导系统所在的存储器,因此,电子设备基于第一存储器中引导系统的数据运行引导系统。
而该第二存储器可以为本申请中设置的,在引导系统运行后,用于存储针对该引导系统的操作所请求更新的更新数据。因此,该第二存储器中并未存储引导系统的完整数据,而仅仅是存储针对引导系统的操作相关的操作数据。
可以理解的是,该第一存储器和第二存储器所采用的存储器类型可以有多种可能,本申请对此不加限制。如,如果控制器基于串行外围设备接口(serial peripheralinterface,SPI)与存储器通信,则该第一存储器和第二存储器可以为SPI闪存(SPI flash)设备。
在本申请中,引导系统可以为电子设备中某个部件内的固件程序,也可以是电子设备的系统固件程序,根据引导系统的不同,第一存储器及其在电子设备中的设置位置也会有所不同,后续会以几种可能的情况为例进行说明。
在申请中,该控制器的具体形式可以有多种可能,具体可以根据需要设置。如,该控制器可以为嵌入式控制器(embedded controller,EC)、现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或者其他控制芯片等。
在本申请中,控制器控制第一存储器处于不可访问状态实际上使得第一存储器对于电子设备为不可见状态,以使得电子设备无法访问该第一存储设备。
由以上可知,本申请,在电子设备完成开机自检之后,会通过控制器控制电子设备中用于存储引导系统的第一存储器处于不可访问状态,从而可以避免了非法操作操作该第一存储器内的引导系统,自然也就避免了非法操作攻击第一存储器中的引导系统。
同时,在控制器控制第一存储器处于不可访问状态,控制第二存储器处于可访问状态,使得电子设备针对引导系统相关数据的操作被转移到第二存储器,而不影响针对引导系统相关数据的正常操作。
可以理解的是,本申请的引导系统可以有多种可能,下面以几种可能情况进行说明。
在一种可能的实现方式中,该引导系统除了包括用于实现电子设备开机自检以及系统自检的系统引导程序之外,还可以包括电子设备中的处理器件的固件程序。
如,引导系统可以包括嵌入式控制器EC中的固件程序。相应的,第一存储器可以存储EC的固件程序,在EC无法访问到自身存储器内存储的固件程序的情况下,可以通过引导程序访问该第一存储器中的固件程序。在该种情况下,控制器可以为前面提到的FPGA或者是在该EC之外单独设置的另一个EC。
又如,该引导系统可以包括显卡中的固件程序。相应的,该第一存储器可以存储显卡的固件程序的存储器,显卡可以通过引导系统访问该第一存储器中的固件程序。
在又一种可能的实现方式中,该引导系统可以为用于实现电子设备开机自检以及系统自检的系统引导程序。
如,引导系统可以为基本输入输出系统(Basic Input Output System,BIOS),或者是统一的可扩展固件接口(UEFIUnified Extensible Firmware Interface,UEFI)。
相应的,该第一存储器可以为电子设备中用于存储BIOS系统或者UEFI系统的存储器,也称为系统存储器。
如,该第一存储器可以为电子设备中主机系统相连的存储器。
下面结合引导系统为BIOS或者UEFI等系统引导程序为例,对本申请的电子设备进行介绍。如图2所示,其示出了本申请提供的电子设备的又一种组成结构示意图。
在本申请实施例中,该电子设备包括:
主机系统201;
与主机系统相连的第一存储器202;
与第一存储器以及主机系统相连的控制器203;
以及与控制器203相连的第二存储器204。
其中,第一存储器202,至少存储有引导系统,如BIOS或者UEFI系统。
该主机系统201,用于在电子设备开机启动的过程中,加载并运行所述第一存储器中的引导系统。其中,通过运行该引导程序可以完成电子设备的开机自检等相关操作。
如,以引导系统为BIOS系统为例,在电子设备开机启动后,电子设备会加载并运行BIOS系统,并通过BIOS系统完成开机自检等相关操作。
其中,主机系统为电子设备中的核心部分,在主机系统上可以运行电子设备的操作系统。
主机系统至少可以包括电子设备的中央处理器(central processing unit,CPU)。如,主机系统可以是包括CPU和南桥的系统。又如,主机系统可以集成有CPU的主板芯片等等。
在本申请中,在电子设备完成开机自检后,控制器203会控制该第一存储器处于不可访问状态,控制该第二存储器处于可访问状态。
可以理解的是,在第一存储器处于可访问状态下,主机系统上运行的操作系统、引导系统以及程序等都可以访问该第一存储器;而在第一存储器处于不可访问状态时,操作系统、引导系统以及其他程序都无法访问该第一存储器。
可以理解的是,由于第二存储器不与主机系统相连,主机系统无法直接访问第二存储器,因此,主机系统对第二存储器的操作均需要经过控制器。
进一步的,为了减少对第二存储器中的非法操作,主机系统在获得操作请求之后还可以先进行过滤处理,再将过滤后的不属于非法操作的操作请求转发给控制器。
具体的,该主机系统201,还用于在电子设备完成开机自检后,获得针对引导系统的操作请求,操作请求用于请求操作该引导系统;如确认操作请求不属于非法操作,将该操作请求转发给该控制器203。
其中,该操作请求可以为针对引导系统的数据的写操作或者修改操作等等。
其中,操作请求不属于非法操作是指属于主机系统设定的不会对引导系统的数据造成攻击的操作请求。
相应的,控制器,还用于基于该操作请求,在该第二存储器中存储针对引导系统的更新数据。
其中,该引导系统的更新数据为基于该操作请求确定出的,引导系统最终需要更新到的最新数据。
如,操作请求为写操作,则控制器可以在该第二存储器中存储该写操作所请求写入的引导系统的数据。
又如,操作请求为用于请求修改该引导系统的数据的修改操作,那么由于第二存储器中并未存储该引导系统,而仅仅是存储针对该引导系统的操作请求所产生的数据,因此,可以在第二存储器中直接存储该修改操作所期望修改的引导系统的数据项及该数据项最终期望的目标取值。例如,操作请求为需要将引导系统中参数A的取值由a修改为b,那么操作请求可以指示有修改参数A为取值b,因此,可以在第二存储器中存储该参数A的取值为b。
可以理解的是,在本实施例中,在电子设备完成开机自检后,控制器可以控制与主机系统相连且用于存储引导系统的第一存储系统处于不可访问状态,使得主机系统等不能访问第一存储器,因此,即使存在非法操作也无法直接攻击到引导系统。
同时,在主机系统之外的控制器中连接一第二存储器,由于第二存储器并未直接与主机系统相连,主机系统等不能直接访问该第二存储器。而且通过主机系统对操作请求进行过滤,并将不属于非法操作的操作请求转发给控制器,使得控制器向第二存储器中存储的引导系统的更新数据不会存在非法数据,也就保证了第二存储器中数据安全性。
可以理解的是,由于电子设备完成开机自检之后,电子设备的第一存储器内的引导系统便可以访问,因此,为了能够在电子设备开机自检后,仍能够保证针对引导系统的数据的正常操作,本申请会在第二存储器中存储引导系统的更新数据。在此基础上,为了能够使得用户针对引导系统的更新数据能够生效,在电子设备关机之后,如果电子设备再次开机,则可以依据该第二存储中的更新数据更新第一存储器中的引导系统。
因此,在一种可选方式中,在电子设备开机自检过程中,还可以主机系统还可以依据第二存储器中存储的更新数据更新该第一存储器中的引导系统。
可以理解的是,在实际应用中,控制器控制第一存储器处于不可访问状态的方式可以有多种,如,在一种可能的实现方式中,控制器可以控制切断第一存储器的供电,以控制第一存储器处于不可访问状态。
在一种可能的实现方式中,该电子设备还可以供电模块。在此基础上,第一存储器可以通过控制器上的可控端口与供电模块相连。
相应的,控制器可以通过控制切断可控端口与供电模块的连接,实现切断该第一存储器的供电,使得该第一存储器处于不可访问状态。
如,该可控端口可以为通用型之输入输出(General-purpose input/output,GPIO)端口等,对此不加限制。
为了便于理解本申请方案,下面结合本申请的电子设备的一种应用示例进行说明,以控制器为电子设备中的嵌入式控制器,引导系统为BIOS系统为例,并假设主机系统、控制器之间通过SPI通信为例说明。如图3,其示出了本申请的电子设备在一种应用示例中的组成结构示意图。
由图3可以看出,该电子设备包括:主机系统301和与主机系统相连嵌入式控制器302。
其中,该主机系统301可以连接有第一SPI闪存设备303,该第一SPI闪存设备用于存储该BIOS程序。
可以理解的是,根据主机系统的不同类型,该第一SPI闪存设备与主机系统的连接方式也会有所不同。如,主机系统为包含CPU系统在内的主板时,该第一SPI闪存设备可以设置在主板上,从而作为主机系统的一部分,如图1是以该种情况为例说明。
又如,主机系统为集成有CPU等的芯片时,该主机系统可以连接有第一SPI闪存设备,对此不加限制。
在图3中,是以主机系统包括CPU和南桥为例说明,CPU通过南桥与第一SPI闪存设备相连,其中,南桥中还可以包括有SPI接口控制器,南桥通过SPI接口控制器连接第一SPI闪存设备。SPI接口控制器用于连接基于SPI标准协议的设备的连接控制。如图3所示,通过该主机系统中的SPI接口控制器连接有第一SPI闪存设备和嵌入式控制器。
其中,在本申请中,嵌入式控制器302外接有一第二SPI闪存设备304,该第二SPI闪存设备304用于存储电子设备开机自检后,请求操作BIOS程序的更新数据。
如图3所示,嵌入式控制器302设置有GPIO端口,且第一SPI闪存设备通过该GPIO端口与一供电模块的电源输入端305相连。
在此基础上,嵌入式控制器302通过控制GPIO端口控制电源输入端与该第一SPI设备连通,则可以使得供电模块为该第一SPI设备供电。
相应的,如果嵌入式控制器302通过GPIO端口切断电源输入端与该第一SPI设备的连接,则第一SPI闪存设备处于断电状态,此时,第一SPI闪存设备对主机系统不可见,因此,电子设备上的操作系统以及软件程序等都不能访问该第一SPI闪存设备。
而嵌入式控制器302与第二SPI闪存设备相连。如,嵌入式控制器302可以通过SPI接口控制器与第二SPI闪存设备相连。
其中,该第二SPI闪存设备直接与一供电模块的电源输入端306相连,以保证第二SPI闪存设备处于持续供电状态,以使得嵌入式控制器可以访问该第二SPI闪存设备。
在本申请,在电子设备启动之后,主机系统会加载并运行第一SPI闪存设备中的BIOS程序,以通过该BIOS程序完成开机自检等相关操作。
相应的,在主机系统完成开机自检之后,主机系统向嵌入式控制器发送用于指示开机自检完成的通知。嵌入式控制器获得该通知后,会通过如上方式切断第一SPI闪存设备的供电。在此基础上,电子设备通过主机系统(如主机系统上运行的操作系统)获得针对BIOS的操作请求,主机系统(如通过主机上的BIOS程序)对操作请求进行风险过滤,并将不属于非法操作的操作请求转发给嵌入式控制器。
结合以上电子设备的结构的相关介绍,下面结合流程图对本申请的控制方法进行介绍。
如图4所示,其示出了本申请一种控制方法一个实施例的流程示意图,本实施例的方法可以包括:
S401,在电子设备开机启动的过程中,通过主机系统加载并运行第一存储器中的引导系统。
该第一存储器与主机系统相连,且用于存储该引导系统。
S402,在电子设备完成开机自检后,通过控制器控制该第一存储器处于不可访问状态,并控制第二存储器处于可访问状态。
其中,第二存储器与控制器相连,且用于存储引导系统的更新数据,具体可以参见前面的相关介绍,在此不再赘述。
如前面装置实施例相似,在电子设备完成开机自检之后,会通过控制器控制电子设备中用于存储引导系统的第一存储器处于不可访问状态,从而避免了对该第一存储器内的引导系统的任意操作,自然也就避免了非法操作攻击第一存储器中的引导系统。
同时,在控制器控制第一存储器处于不可访问状态,控制第二存储器处于可访问状态,使得电子设备针对引导系统相关数据的操作被转移到第二存储器,而不影响针对引导系统相关数据的正常操作。
可以理解的是,为了减少第二存储设备中存储对于引导系统造成攻击的更新数据,在本申请中,在该电子设备完成开机自检后,可以通过主机系统获得针对该引导系统的操作请求,该操作请求用于请求操作该引导系统。如,主机系统可以通过操作系统或者引导系统获得该操作请求。
相应的,如果主机系统确认该操作请求不属于非法操作,通过该主机系统将操作请求发送给该控制器,以通过控制器将操作产生的更新数据存至该第二存储器。
如,主机系统可以通过操作系统判断该操作请求是否属于非法请求。
在一种可选方式中,主机系统可以通过引导系统判断该操作请求是否属于非法操作,并在引导系统确认该操作请求不属于非法操作的情况下,将该操作请求转发给控制器。
可以理解的是,主机系统判断操作请求是否为非法操作请求的具体实现可以有多种可能。
如,在一种可能的情况中,为了能够保证操作请求不属于非法操作,一般都需要操作请求携带用于表征合法性的验证数据,如果该操作请求携带的验证属于预先已配置的合法性验证数据,则可以确认该操作请求不属于非法操作。
其中,合法性验证数据可以为用户设置在引导系统中的密码,以及,引导系统的厂商密钥签名等等中的一种或者几种,具体可以根据需要设定。
在又一种可能的情况中,如果操作请求用于请求更新引导系统的参数数据,还可以判断操作请求所请求更新的参数数据是否符合引导系统的系统规范中定义的参数变量格式。相应的,如果该操作请求所请求更新的参数数据符合引导系统的系统规范中定义的参数变量格式,则可以确认操作请求不属于非法操作。
可以理解的是,在实际应用中,还可以结合以上两种可能情况来综合判断操作请求是否属于非法操作请求。如,操作请求用于请求更新引导系统的参数数据的情况下,需要同时满足该操作请求携带的验证数据为合法性验证数据,且该操作请求所请求更新的参数数据符合引导系统的系统规范中定义的参数变量格式,才可以确定该操作请求不属于非法操作请求。
当然,非法操作请求的判断条件还可以有其他可能,对此不加限制。
可以理解的是,为了保证针对引导系统的操作请求可以被转移到第二存储器,在本申请中,在操作系统或者一些应用程序等在向主机系统发起操作请求后,可以通过预先设定的软件程序来触发生成系统管理中断(System Management Interrupt,SMI)指示。在本申请中结合SMI,来使得主机针对操作请求进行非法性检测。
具体的,如通过主机系统检测到系统管理中断指示且确认该操作请求不属于非法操作的情况下,将操作请求发送给控制器。
其中,通过主机系统确认操作请求不属于非法操作,可以是确认操作请求满足合法操作条件,该合法操作条件可以包括:系统管理中断指示由具备触发权限的软件程序触发生成。
可以理解的是,在操作请求为合法操作请求的情况下,在操作系统或者应用程序等生成操作请求后,必然会调用具有触发系统管理中断的软件程序以生成系统管理中断,在此基础上,主机系统才会分析该操作请求的合法性,并在操作请求不属于非法操作的情况下,将操作请求转发给该控制器。因此,可以主机系统可以基于检测到的系统管理中断指示是否合法,来判断操作请求是否合法。
可以理解的是,该合法操作条件还可以是前面提到的几种不属于非法操作的可能情况中的一种或者几种,对此不加限制。
其中,判断是否为非法操作的方式可以参见提到的几种情况中的一种或者几种,对此不加限制。
在一种可选方式中,在主机系统获得SMI指示后,会进入主机系统(如CPU)的系统管理模式(System Management Mode,SMM),从而使得BIOS系统(也称为BIOS程序)或者是UFFI系统(也称为UEFI程序)处理操作请求。因此,本申请可以由BIOS系统或者UEFI系统检测操作请求不属于非法操作请求后,转发给控制器处理。
下面以引导系统为BIOS系统,控制器为嵌入式控制器,且由在主机系统获得系统管理中断后,由BIOS程序处理操作请求为例说明。
如图5所示,其示出了本申请一种控制方法又一个实施例的流程示意图,本实施例的方法可以包括:
S501,在电子设备开机启动的过程中,通过主机系统加载并运行第一存储器中的BIOS系统。
S502,在电子设备完成开机自检后,通过嵌入式控制器控制切断第一存储器的供电,并维持该控制器连接的第二存储器的供电。
如BIOS系统完成开机自检后通知嵌入式控制器已完成开机自检,则嵌入式控制器切断第一存储器的供电。
该步骤是以通过控制器控制该第一存储器处于不可访问状态,并控制第二存储器处于可访问状态的一种实现方式为例说明,对于其他实现方式也同样适用于本实施例。
S503,通过主机系统获得针对该BIOS程序的操作请求。
其中,操作请求用于请求操作该BIOS系统。
S504,如果主机系统获得目标对象针对该操作请求的系统管理中断指示,控制主机系统进入系统管理模式,以由主机系统上运行的BIOS系统处理该操作请求。
其中,该目标对象可以为主机系统运行的应用程序或者操作系统等。
可以理解的是,如果主机系统在获得操作请求的同时或者之后,会获得系统管理中断指示,则主机系统确认请求操作BIOS系统(替换为其他引导系统也类似)的不属于经过嵌入式控制器(或者FEPA等控制器)向第二存储器更新BIOS系统的模式。然而,由于此时第一存储器处于不可访问模式,因此主机系统也无法基于操作请求直接操作第一存储器,因此,主机系统也认为该操作请求不合法,从而可以直接丢弃或者说忽略该操作请求,以避免BIOS等引导系统被攻击。
需要说明的是,本实施例是以引导系统为BIOS系统为例,对于引导系统为其他情况下,在主机系统获得系统管理中断之后,仍然会触发进入SMM模式,并由BIOS系统(或者UEFI系统)来触发该操作请求。
S505,如通过BIOS系统确认该目标对象属于具有触发系统管理中断权限的软件程序,通过BIOS系统确定该操作请求所需操作的数据类型。
可以理解的是,对BIOS系统(或者其他引导系统)的写操作或者修改操作可以是针对BIOS系统的数据参数或者BIOS系统的程序代码进行修改,因此,该数据类型可以分为参数数据和代码两种。
其中,具有触发系统管理中断权限的软件程序可以为一种或者多种,软件程序的类型可以包括操作系统或者指定的应用程序,如,引导系统(如BIOS系统)厂商提供的应用程序等。
S506,如果BIOS系统确认该操作请求所需操作的数据类型为参数数据,通过BIOS系统检测是否该操作请求所请求更新的参数数据符合BIOS系统的系统规范中定义的参数变量格式,且操作请求携带的验证数据为已配置的合法性验证数据,如果是,则执行步骤S508;如果否,则忽略该操作请求。
在本实施例中,在操作请求用于请求更新BIOS系统的参数数据的情况下,在操作请求对应的系统管理中断指示由设定的合法软件程序,操作请求所请求更新的参数数据符合BIOS系统的系统规范中定义的参数变量格式,且操作请求携带的验证数据为已配置的合法性验证数据时,才判断该操作请求为合法操作请求。
S507,如果BIOS系统确认该操作请求所需操作的数据类型为代码,通过BIOS系统检测操作请求携带的验证数据是否为已配置的合法性验证数据,如果是,则执行S508;如果否,则忽略该操作请求。
在操作请求用于请求更新BIOS系统的代码情况下,在操作请求对应的系统管理中断指示由设定的合法软件程序,且操作请求携带的验证数据为已配置的合法性验证数据时,才判断该操作请求为合法操作请求。
当然,该步骤S506以及步骤S508仅仅是以判断操作请求不属于非法操作的一种情况为例说明,对于前面提到的其他情况也同样适用于本实施例。
S508,通过BIOS系统将该操作请求发送给嵌入式控制器。
S509,通过嵌入式控制器将操作请求对应操作产生的更新数据存至该第二存储器。
需要说明的是,本实施例是以控制器为嵌入式控制器为例说明,如果将嵌入式控制器替换为其他控制器也同样适用。
可以理解的是,在以上方法实施例中,在电子设备重启之后,需要基于配置的引导系统的更新数据更新引导系统,以使得引导系统的更新数据生效。因此,在电子设备开机自检过程中,通过主机系统可以依据该第二存储器中的更新数据更新该第一存储器中的引导系统。
可以理解的是,在方法实施例中,关于电子设备中各个部件及各个部件之间的交互控制有些描述的相对简单,具体可以参见前面电子设备的相关实施例,在此不再赘述。
另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的控制方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电子设备,包括:
控制器;
第一存储器,与所述控制器连接,至少存储有引导系统;
第二存储器,与所述控制器连接,用于存储所述引导系统的更新数据;
其中,在电子设备完成开机自检后,所述控制器控制所述第一存储器处于不可访问状态,控制所述第二存储器处于可访问状态。
2.根据权利要求1所述的电子设备,还包括:与所述第一存储器相连的主机系统;
所述主机系统,用于在所述电子设备开机启动的过程中,加载并运行所述第一存储器中的引导系统;
所述主机系统,还用于在所述电子设备完成开机自检后,获得针对所述引导系统的操作请求,所述操作请求用于请求操作所述引导系统;如确认所述操作请求不属于非法操作,将所述操作请求转发给所述控制器;
所述控制器,还用于基于所述操作请求,在所述第二存储器中存储针对所述引导系统的更新数据。
3.根据权利要求1所述的电子设备,所述控制器通过控制切断所述第一存储器的供电,以控制所述第一存储器处于不可访问状态。
4.根据权利要求3所述的电子设备,还包括:供电模块;
所述第一存储器通过所述控制器上的可控端口与所述供电模块相连;
所述控制器通过控制切断所述可控端口与所述供电模块的连接,实现切断所述第一存储器的供电,使得所述第一存储器处于不可访问状态。
5.一种控制方法,包括:
在电子设备开机启动的过程中,通过主机系统加载并运行第一存储器中的引导系统;
在所述电子设备完成开机自检后,通过控制器控制所述第一存储器处于不可访问状态,并控制第二存储器处于可访问状态,所述第二存储器与所述控制器相连,且用于存储所述引导系统的更新数据。
6.根据权利要求5所述的方法,还包括:
在所述电子设备完成开机自检后,通过主机系统获得针对所述引导系统的操作请求,所述操作请求用于请求操作所述引导系统;
如果确认所述操作请求不属于非法操作,通过所述主机系统将所述操作请求发送给所述控制器,以通过所述控制器将操作产生的更新数据存至所述第二存储器。
7.根据权利要求6所述的方法,所述如果确认所述操作请求不属于非法操作,通过所述主机系统将所述操作请求发送给所述控制器,包括:
如通过所述主机系统检测到系统管理中断指示且确认所述操作请求不属于非法操作,将所述操作请求发送给所述控制器。
8.根据权利要求7所述的方法,通过所述主机系统确认所述操作请求不属于非法操作,包括:
通过所述主机系统确认所述操作请求满足合法操作条件,所述合法操作条件至少包括:所述系统管理中断指示由具备触发权限的软件程序触发生成,和/或,所述操作请求携带的验证数据为已配置的合法性验证数据。
9.根据权利要求8所述的方法,所述合法操作条件还包括:
如果所述操作请求用于请求更新所述引导系统的参数数据,所述操作请求所请求更新的参数数据符合所述引导系统的系统规范中定义的参数变量格式。
10.根据权利要求6所述的方法,还包括:
在开机自检过程中,依据所述更新数据更新所述第一存储器中的所述引导系统。
CN202110346707.8A 2021-03-31 2021-03-31 控制方法和电子设备 Pending CN113051576A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110346707.8A CN113051576A (zh) 2021-03-31 2021-03-31 控制方法和电子设备
US17/550,761 US11921599B2 (en) 2021-03-31 2021-12-14 Control method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110346707.8A CN113051576A (zh) 2021-03-31 2021-03-31 控制方法和电子设备

Publications (1)

Publication Number Publication Date
CN113051576A true CN113051576A (zh) 2021-06-29

Family

ID=76516629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110346707.8A Pending CN113051576A (zh) 2021-03-31 2021-03-31 控制方法和电子设备

Country Status (2)

Country Link
US (1) US11921599B2 (zh)
CN (1) CN113051576A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI813335B (zh) * 2022-06-06 2023-08-21 瑞昱半導體股份有限公司 嵌入式電子裝置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369707A (en) * 1993-01-27 1994-11-29 Tecsec Incorporated Secure network method and apparatus
US20050138171A1 (en) * 2003-12-19 2005-06-23 Slaight Thomas M. Logical network traffic filtering
US20060020844A1 (en) * 2004-07-22 2006-01-26 Gibbons Patrick L Recovery of custom BIOS settings
US7971056B2 (en) * 2006-12-18 2011-06-28 Microsoft Corporation Direct memory access for compliance checking
CN102436559B (zh) * 2010-09-29 2016-06-01 联想(北京)有限公司 一种状态切换方法及系统
CN103186748A (zh) * 2011-12-29 2013-07-03 鸿富锦精密工业(深圳)有限公司 电子装置及其密码保护方法
EP3172687B1 (en) * 2014-07-22 2018-12-19 Hewlett-Packard Development Company, L.P. Authorizing a bios policy change for storage
US10416981B2 (en) * 2016-05-12 2019-09-17 Dell Products L.P. Systems and methods for on-demand loading of added features for information handling system provisioning
CN111295644A (zh) * 2017-10-30 2020-06-16 惠普发展公司,有限责任合伙企业 保障硬件初始化
US10795581B2 (en) * 2019-01-25 2020-10-06 Dell Products L.P. GPT-based data storage partition securing system
WO2021194501A1 (en) * 2020-03-27 2021-09-30 Hewlett-Packard Development Company, L.P. Alternate operating systems
US20230195898A1 (en) * 2020-06-24 2023-06-22 Hewlett-Packard Development Company, L.P. Bios backup

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI813335B (zh) * 2022-06-06 2023-08-21 瑞昱半導體股份有限公司 嵌入式電子裝置

Also Published As

Publication number Publication date
US20220318110A1 (en) 2022-10-06
US11921599B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
US11520894B2 (en) Verifying controller code
EP3522059B1 (en) Perform security action based on inventory comparison
TWI643130B (zh) 用於在uefi安全開機資料庫中自動註冊任選rom的系統以及方法
EP2989579B1 (en) Redundant system boot code in a secondary non-volatile memory
US9852298B2 (en) Configuring a system
JP5767751B2 (ja) Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム
JP5889933B2 (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
TW201506788A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全啓動覆蓋技術
EP1832977A2 (en) Platform boot with bridge support
EP3399408B1 (en) Information processing apparatus and computer readable storage medium
WO2014175861A1 (en) Recovering from compromised system boot code
JP2007102791A (ja) 無許可のブートローダの実行を防止することによって安全性を高めた実行環境
US9519786B1 (en) Firmware integrity ensurance and update
US11341249B2 (en) Firmware security guarding method and electronic system using the same
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
CN113051576A (zh) 控制方法和电子设备
US10198270B2 (en) Dynamic hardware configuration via firmware interface at computing device boot
KR100977267B1 (ko) 신뢰할 수 있는 플랫폼에서의 물리적 존재 판정 방법
WO2021262161A1 (en) Authentication of hardware component firmware
CN111783162A (zh) 数据保护实现方法、装置及计算机设备
CN112219186A (zh) 用于将程序代码包安装到设备中的方法以及设备和机动车
JP7341376B2 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
US11132206B2 (en) Systems and methods for modifying boot operation of an information handling system
US20170017794A1 (en) Method and device for protecting a computing apparatus against manipulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination