CN109670319A - 一种服务器flash安全管理方法及其系统 - Google Patents
一种服务器flash安全管理方法及其系统 Download PDFInfo
- Publication number
- CN109670319A CN109670319A CN201811593679.4A CN201811593679A CN109670319A CN 109670319 A CN109670319 A CN 109670319A CN 201811593679 A CN201811593679 A CN 201811593679A CN 109670319 A CN109670319 A CN 109670319A
- Authority
- CN
- China
- Prior art keywords
- code
- flash
- starting
- starting code
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 25
- 238000011022 operating instruction Methods 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000012216 screening Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种服务器flash安全管理方法,包括:代码监测芯片接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取启动代码;CPU对启动代码进行安全校验,确定启动代码是否被篡改,若校验通过,则发送通过信号至代码监测芯片;代码监测芯片接收通过信号后,控制开机组件读取启动代码来完成flash的开机启动操作。本发明在开机前先对flash中的开机代码进行安全校验,确定启动代码未被篡改后再进行启动,从而提高服务器整体的安全性和可靠性。本发明还公开了一种执行上述方法的服务器flash安全管理系统。
Description
技术领域
本发明涉及服务器安全管理技术领域,特别是涉及一种服务器flash安全管理方法及其系统。
背景技术
服务器的SPI flash作为系统启动代码的存储介质,对于服务器系统安全至关重要。目前已出现一些恶意攻击SPI flash的黑客行为,通过篡改SPI flash中存储的代码信息,使服务器发生宕机等严重故障,某些情况下甚至可以随意获取服务器内的信息。
目前,在服务器主板上,SPI flash通过一级MUX(2选1选路芯片)连接至PCH和BMC。其中PCH作为系统总线启动通道,在开机过程中,获取flash中存储的BIOS代码,并运行各种系统寄存器设定来进行开机;BMC作为SPI flash远程刷新通道,通过IPMI(IntelligentPlatform Management Interface,智能平台管理接口)指令执行对flash存储区域的刷新动作。flash在某一时刻,只与其中的一个通道连接,通过控制外部MUX的通断,在两种通道中进行切换。
由于SPI flash总线只连接至PCH或BMC通道,flash中的数据不经过其他的链路,同时在启动、更新和运行过程中不会对flash的总线数据进行监控,使得当出现恶意代码攻击时,flash中的数据可以随意被篡改,进而导致服务器出现宕机等故障,某些情况下也可能出现用户数据被窃取,因而威胁到服务器整体的安全性,安全性和可靠性低。
因此,如何提供一种安全性和可靠性高的服务器flash安全管理方法及其系统是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种服务器flash安全管理方法及其系统,在开机前先对flash中的开机代码进行安全校验,确定启动代码未被篡改后再进行启动,从而提高服务器整体的安全性和可靠性。
为解决上述技术问题,本发明提供了一种服务器flash安全管理方法,包括:
代码监测芯片接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取所述启动代码;
所述CPU对所述启动代码进行安全校验,确定所述启动代码是否被篡改,若校验通过,则发送通过信号至所述代码监测芯片;
所述代码监测芯片接收所述通过信号后,控制开机组件读取所述启动代码来完成flash的开机启动操作。
优选地,所述代码监测芯片获得所述启动代码后,发送至CPU之前,还包括:
所述代码监测芯片判断所述启动代码内的启动指令是否为正常指令,判断完成后,将筛选出的正常指令发送至所述CPU进行安全校验。
优选地,所述代码监测芯片判断所述启动代码内的启动指令是否为正常指令的过程包括:
将所述启动代码内的启动指令依次与自身预存的白名单内的指令进行比较,判断当前比较的启动指令是否包含在所述白名单内,若包含,则所述当前比较的启动指令为正常指令,若未包含,则所述当前比较的启动指令为异常指令。
优选地,所述flash开机后,还包括:
所述代码监测芯片实时监测所述flash输出的运行指令,并判断监测到的所述运行指令是否为正常指令,若所述运行指令为正常指令,则将所述指令发送至对应的组件内运行,若所述运行指令为异常指令,则拦截所述运行指令。
优选地,还包括:
若所述启动代码未通过校验,则所述CPU通过所述代码监测芯片发送未通过信号至所述flash;
所述flash接收所述未通过信号后,从备份flash内获取原始启动代码进行自恢复,自恢复完成后,再次输入恢复后的启动代码。
为解决上述技术问题,本发明还提供了一种服务器flash安全管理系统,包括:
flash,用于保存启动代码;
代码监测芯片,用于接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取所述启动代码;接收所述通过信号后,控制开机组件读取所述启动代码来完成flash的开机启动操作;
所述CPU,用于对所述启动代码进行安全校验,确定所述启动代码是否被篡改,若校验通过,则发送通过信号至所述代码监测芯片。
优选地,所述开机组件包括集成南桥PCH和基板管理控制器BMC;所述flash包括BIOS flash;所述BIOS flash与所述PCH之间设置有第一2选1选路芯片MUX和第二MUX;
所述第一MUX的输入端连接所述BIOS flash的启动代码输出端;所述第一MUX的两个选通输出端分别连接所述第二MUX的输入端以及所述BMC的第一输入端;
所述第二MUX的两个输出端分别连接所述PCH以及所述代码监测芯片的启动代码输入端;所述代码监测芯片控制所述第一MUX和所述第二MUX的输出选通信号。
优选地,所述flash还包括BMC flash;所述BMC flash与所述BMC之间设置有第三MUX;所述第三MUX的输入端连接所述BMC flash的启动代码输出端;所述第三MUX的两个输出端分别连接所述BMC以及所述代码监测芯片的启动代码输入端;所述代码监测芯片控制所述第三MUX的输出选通信号。
优选地,所述代码监测芯片具体为复杂可编程逻辑器件CPLD。
优选地,所述CPU与所述CPLD之间通过串行外设接口SPI或系统管理总线SMBUS总线互联。
本发明提供了一种服务器flash安全管理方法及其系统,代码监测芯片接收到开机指令后会读取flash保存的启动代码,并控制开机组件暂时无法获取到该启动代码,之后将该启动代码转发至CPU进行安全校验,校验通过后,代码监测芯片才允许开机组件获取到该启动代码进行启动。即本发明在开机之前,首先对flash的启动代码进行了安全校验,检测启动代码是否已经被篡改,只有校验通过,保证启动代码正常,并未被篡改的时候,才能允许开机代码获取该启动代码进行后续的启动操作。这种方式避免了出现恶意代码攻击时,使用flash中被篡改的启动代码进行启动导致的服务器宕机以及数据泄露的问题,从而提高了服务器整体的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种服务器flash安全管理方法的过程的流程图;
图2为本发明提供的另一种服务器flash安全管理方法的过程的流程图;
图3为本发明提供的另一种服务器flash安全管理方法的过程的流程图;
图4为本发明提供的一种服务器flash安全管理系统的结构示意图。
具体实施方式
本发明的核心是提供一种服务器flash安全管理方法及其系统,在开机前先对flash中的开机代码进行安全校验,确定启动代码未被篡改后再进行启动,从而提高服务器整体的安全性和可靠性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种服务器flash安全管理方法,参见图1所示,图1为本发明提供的一种服务器flash安全管理方法的过程的流程图;该方法包括:
步骤s1:代码监测芯片接收到开机指令后,读取flash保存的启动代码发送至CPU(Central Processing Unit,中央处理器),并控制开机组件暂停读取所述启动代码;
flash用于保存服务器启动时的启动代码,代码监测芯片接收到开机指令后,会对作为服务端的flash进行读操作。
正常情况下,flash内的启动代码会被用于执行启动程序的开机组件读取执行,但是为了保证开机组件执行的启动代码是正确的、未被篡改的,因此,在开机组件获得启动代码之前,需要由代码监测芯片控制开机组件暂停读取启动代码,之后代码监测芯片会将启动代码首先发送至CPU进行校验,校验通过后保证启动代码是正确的,然后才会允许开机组件得到启动代码进行启动。
步骤s2:CPU对启动代码进行安全校验,确定启动代码是否被篡改,若校验通过,即没有被篡改,则进入步骤s3;
可以理解的是,CPU目前设置有专用的封装模块,该封装模块的功能就是用于对服务器启动时的启动代码进行安全校验,因此,本发明在flash进行启动之前,直接利用CPU的该功能对启动代码进行安全校验,而不需要额外的进行校验程序的编写。
CPU在开机之前,首先对得到的启动代码进行安全校验,检测启动代码是否被篡改,只有启动代码没有被篡改,后续依据该启动代码进行启动时,才不会导致无法启动或者数据泄露的问题,若启动代码已经被篡改,表明flash受到过恶意用户的攻击,此时flash中的启动代码无法使用,不能据此进行开机启动。
步骤s3:CPU发送通过信号至代码监测芯片;
CPU校验通过后,需要告知代码监测芯片,代码监测芯片才会开放开机组件获取启动代码的路径,使开机组件能够读取校验通过的启动代码,并据此进行开机启动操作。
步骤s4:代码监测芯片接收通过信号后,控制开机组件读取启动代码来完成flash的开机启动操作。
可以理解的是,本发明在在上电的初始阶段,系统响应开机之前,首先对flash的启动代码进行了安全校验,检测启动代码是否已经被篡改,只有校验通过,保证启动代码正常,并未被篡改的时候,才能允许开机组件接收该启动代码进行后续的启动操作。这种方式避免了出现恶意代码攻击时,使用flash中被篡改的启动代码进行启动导致的服务器宕机以及数据泄露的问题,从而提高了服务器整体的安全性和可靠性。
在一种优选实施例中,参见图2所示,图2为本发明提供的另一种服务器flash安全管理方法的过程的流程图;步骤s11:代码监测芯片接收到开机指令后,读取flash保存的启动代码,并控制开机组件暂停读取启动代码之后,发送至CPU之前,还包括:
步骤s12:代码监测芯片判断启动代码内的启动指令是否为正常指令,判断完成后,将筛选出的正常指令发送至CPU进行安全校验。
可以理解的是,启动代码受到过恶意用户的篡改,则启动代码很可能会与正常的启动指令具有较大的区别。这种情况下,判断启动代码内容是否正常之前,可以首先筛选出一部分异常的指令。若代码指令为异常指令,则该启动指令不需要进行校验。只有那些正常指令才需要后续校验其内容是否正常。这种情况下通过基础的判断即可筛选出部分异常的指令,使得后续CPU仅需要对部分正常指令进行校验即可,减少了CPU的校验操作。相比内容校验来说,基础的指令正常与否的判断,过程要简单。因此,本实施例能够简化后续的校验过程,提高带启动代码的整体验证效率。
在一种优选实施例中,步骤s12的过程包括:
将启动代码内的启动指令依次与自身预存的白名单内的指令进行比较,判断当前比较的启动指令是否包含在白名单内,若包含,则当前比较的启动指令为正常指令,若未包含,则当前比较的启动指令为异常指令。
可以理解的是,通过预设白名单来进行正常指令的筛选,使得该筛选过程简化为基础的比对过程,启动指令只需要与白名单内的各个指令进行比较,即可判断启动指令是否正常,使正常指令的筛选过程简单快速。
在其他实施例中,也可不设置白名单,而是仅设置启动代码的格式要求。可以理解的是,当启动代码收到恶意篡改后,启动指令的格式很可能变得与之前不同,因此通过判断各个启动指令是否符合相应的格式要求,即可判断启动指令是否为异常指令。当然还可以采用其它的正常指令的筛选方式。本发明对此不作限定。
前述几种方法都是用来保证flash的正常开机的过程。参见图3所示,图3为本发明提供的另一种服务器flash安全管理方法的过程的流程图;进一步的,在一种优选实施例中,flash开机后(即服务器系统开机),还包括:
步骤s5:代码监测芯片实时监测flash输出的运行指令,并判断监测到的运行指令是否为正常指令,若运行指令为正常指令,则进入步骤s6;若运行指令为异常指令,则进入步骤s7;
可以理解的是,flash中除了启动代码之外,还包含一些在服务器正常运行过程中的运行指令,这些指令会在服务器正常运行过程中进行输出来控制相应的组件运行。当恶意用户攻击服务器篡改flash中的上述运行指令后,若服务器运行这些篡改后的运行指令,也会导致服务器运行故障或者数据泄露等问题。因此,本实施例在flash的输出总线上分支出一组信号,将其挂载至代码监测芯片的启动代码IO以外的IO上,用做开机之后运行过程中的指令监控,如果代码监测芯片监测到flash输出的异常指令,则会对异常指令进行拦截,从而实现开机之后flash中的数据保护。
步骤s6:将指令发送至对应的组件内运行;
步骤s7:拦截运行指令。
可见,通过增加上述操作,使得不仅在flash启动过程中能够避免恶意用户篡改启动代码后导致的服务器安全问题,还可以实时监测服务器运行过程中是否出现受到恶意篡改的运行指令,从而在服务器运行和维护过程中,监控flsah总线上的读写信息,对服务器硬件底层flash中的内容进行保护,拦截服务器在整个使用过程中遭受的恶意攻击行为,在原有上层软件功能保护的基础上,实现底层软件保护。
作为优选地,步骤s2还包括:若启动代码未通过校验,则进入步骤s31;
步骤s31:CPU通过代码监测芯片发送未通过信号至flash;
步骤s32:flash接收未通过信号后,从备份flash内获取原始启动代码进行自恢复,自恢复完成后,再次输入恢复后的启动代码,返回步骤s11。
可以理解的是,在CPU对启动代码进行校验时,可能出现未通过校验的情况,此时表明flash中的启动代码受到了恶意篡改无法使用,这种情况下,可以停止服务器的启动,直接导致启动失败,从而提醒工作人员服务器当前存在启动故障;或者也可以由CPU发送flash启动代码故障提示至工作人员的手机上。但这两种方式,均会导致本次启动失败,若用户着急使用服务器的话,就会影响用户的使用。因此,本实施例中,在检测到启动代码未通过校验时,CPU会通过代码监测芯片来告知flash该校验结果,flash得知后,会主动从备份的flash中获取原始的启动代码进行自恢复,通常备份的flash中的原始启动代码是未受到篡改的,因此,再次恢复完成后,可以不再次进行校验,而是直接由flash将自恢复后的启动代码发送至开机组件内进行开机。但是,为了保证启动代码的正确性,避免原始的启动代码也受到篡改的情况导致的服务器故障,本实施例在flash自恢复完成后,返回步骤s2,即再次对恢复后的启动代码进行了上述的验证过程,从而确保最终开机组件开机时执行的启动代码没有问题,极大的保证了服务器的正常开机,可靠性更高。并且这种自恢复的方式,不需要工作人员的参与,即只要备份的flash未受到恶意攻击,则服务器即可自行解决之前启动代码被篡改的故障,实现自动故障修复,便利性更高,尽可能保证了服务器的顺利启动。
本发明还提供了一种服务器flash安全管理系统,参见图4所示,图4为本发明提供的一种服务器flash安全管理系统的结构示意图。该系统包括:
flash,用于保存启动代码;
代码监测芯片,用于接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取启动代码;接收通过信号后,控制开机组件读取启动代码来完成flash的开机启动操作;
CPU,用于对启动代码进行安全校验,确定启动代码是否被篡改,若校验通过,则发送通过信号至代码监测芯片。
作为优选地,开机组件包括PCH(Platform Controller Hub,集成南桥)和BMC(Baseboard Manager Controller,基板管理控制器);flash包括BIOS(Basic Input/Output System,基本输入/输出系统)flash;BIOS flash与PCH之间设置有第一2选1选路芯片MUX和第二MUX;
第一MUX的输入端连接BIOS flash的启动代码输出端;第一MUX的两个选通输出端分别连接第二MUX的输入端以及BMC的第一输入端;
第二MUX的两个输出端分别连接PCH以及代码监测芯片的启动代码输入端;代码监测芯片控制第一MUX和第二MUX的输出选通信号。
可以理解的是,2选1选路芯片MUX的工作过程是,在输入端接收到信号后,依据其控制组件发送的输出选通信号,来选择性地控制自己的两个输出端中的一个输出接收到的信号。即MUX在某一时刻仅会有一个输出端导通。因此,第一MUX的功能是控制flash与PCH导通还是与BMC导通。第二MUX的功能是控制flash与PCH导通还是与代码监测芯片的启动代码输入端导通。
进一步可知,flash还包括BMC flash;BMC flash与BMC之间设置有第三MUX;第三MUX的输入端连接BMC flash的启动代码输出端;第三MUX的两个输出端分别连接BMC以及代码监测芯片的启动代码输入端;代码监测芯片控制第三MUX的输出选通信号。
可以理解的是,第三MUX功能是控制flash与BMC导通还是与代码监测芯片的启动代码输入端导通。
另外,各个MUX具体可以为SPI MUX,即MUX通过SPI接口与其他组件进行连接,当然,本发明不限定MUX的具体接口类型。
具体的,代码监测芯片具体为CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。当然,本发明不限定代码监测芯片的具体类型。
作为优选地,CPU与CPLD之间通过SPI(Serial Peripheral Interface,串行外设接口)或SMBUS(SystemManagementBus,系统管理总线)总线互联,作为CPU获取验证信息代码的通道。或者还可以通过LVSHIFT互联。
另外,BIOS flash与第一MUX、第一MUX与第二MUX、第二MUX与PCH和CPLD以及CPLD与LVSHIFT之间,均可通过SPI(3.3V)接口进行数据传输。LVSHIFT与CPU之间可通过SPI(1.0V)接口进行数据传输。当然,本发明不限定SPI的具体接口电压。
本发明通过CPU和CPLD配合使用,在服务器整机系统上增加PFR(PlatformFirmware Re-silence,平台固件保护功能)特性,这里的PFR特性即前述提到的安全校验功能。具体的,CPLD在校验阶段作为flash的host端,获取flash中本应被读取至PCH/BMC中的启动代码,通过内部白名单筛选正常指令。CPU在这一阶段通过与CPLD之间的总线获取flash中的启动代码,在CPU内核中运行高级算法,对flash固定存储区域内的启动代码进行校验。校验成功后发出通过信号,通知CPLD可以继续运行开机时序;校验失败后,flash中固定存储区代码从备份flash中获取原始的启动代码,进行自恢复;后续通过将flash的运行指令输出总线挂载至CPLD的一路IO上,由CPLD对其进行实时监测,并拦截异常指令。本发明通过增加CPLD的检测和CPU的校验功能,能够实现对底层软件(SPI flash,即具有SPI接口的flash)固有存储区、运行存储区的保护。该功能配合上层保护软件使用,可以对服务器整机系统底层到上层软件系统的全时保护,从而从更大范围上抵御黑客对服务器的恶意攻击。该方案实现也依赖于CPLD开发逻辑控制代码,完成指令校验及时序控制,从而完整实现总体功能。
本发明提供的服务器flash安全管理系统是用于实现上述服务器flash安全管理的方法的,因此,服务器flash安全管理系统与前述提供的服务器flash安全管理方法一一对应。
另外,本技术方案还可以应用在PC及交换机设计领域中。即应用于PC或交换机在开机时的启动代码校验过程。
以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种服务器flash安全管理方法,其特征在于,包括:
代码监测芯片接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取所述启动代码;
所述CPU对所述启动代码进行安全校验,确定所述启动代码是否被篡改,若校验通过,则发送通过信号至所述代码监测芯片;
所述代码监测芯片接收所述通过信号后,控制开机组件读取所述启动代码来完成flash的开机启动操作。
2.根据权利要求1所述的服务器flash安全管理方法,其特征在于,所述代码监测芯片获得所述启动代码后,发送至CPU之前,还包括:
所述代码监测芯片判断所述启动代码内的启动指令是否为正常指令,判断完成后,将筛选出的正常指令发送至所述CPU进行安全校验。
3.根据权利要求2所述的服务器flash安全管理方法,其特征在于,所述代码监测芯片判断所述启动代码内的启动指令是否为正常指令的过程包括:
将所述启动代码内的启动指令依次与自身预存的白名单内的指令进行比较,判断当前比较的启动指令是否包含在所述白名单内,若包含,则所述当前比较的启动指令为正常指令,若未包含,则所述当前比较的启动指令为异常指令。
4.根据权利要求3所述的服务器flash安全管理方法,其特征在于,所述flash开机后,还包括:
所述代码监测芯片实时监测所述flash输出的运行指令,并判断监测到的所述运行指令是否为正常指令,若所述运行指令为正常指令,则将所述指令发送至对应的组件内运行,若所述运行指令为异常指令,则拦截所述运行指令。
5.根据权利要求1-4任一项所述的服务器flash安全管理方法,其特征在于,还包括:
若所述启动代码未通过校验,则所述CPU通过所述代码监测芯片发送未通过信号至所述flash;
所述flash接收所述未通过信号后,从备份flash内获取原始启动代码进行自恢复,自恢复完成后,再次输入恢复后的启动代码。
6.一种服务器flash安全管理系统,其特征在于,包括:
flash,用于保存启动代码;
代码监测芯片,用于接收到开机指令后,读取flash保存的启动代码发送至CPU,并控制开机组件暂停读取所述启动代码;接收所述通过信号后,控制开机组件读取所述启动代码来完成flash的开机启动操作;
所述CPU,用于对所述启动代码进行安全校验,确定所述启动代码是否被篡改,若校验通过,则发送通过信号至所述代码监测芯片。
7.根据权利要求6所述的服务器flash安全管理系统,其特征在于,所述开机组件包括集成南桥PCH和基板管理控制器BMC;所述flash包括BIOS flash;所述BIOS flash与所述PCH之间设置有第一2选1选路芯片MUX和第二MUX;
所述第一MUX的输入端连接所述BIOS flash的启动代码输出端;所述第一MUX的两个选通输出端分别连接所述第二MUX的输入端以及所述BMC的第一输入端;
所述第二MUX的两个输出端分别连接所述PCH以及所述代码监测芯片的启动代码输入端;所述代码监测芯片控制所述第一MUX和所述第二MUX的输出选通信号。
8.根据权利要求7所述的服务器flash安全管理系统,其特征在于,所述flash还包括BMC flash;所述BMC flash与所述BMC之间设置有第三MUX;所述第三MUX的输入端连接所述BMC flash的启动代码输出端;所述第三MUX的两个输出端分别连接所述BMC以及所述代码监测芯片的启动代码输入端;所述代码监测芯片控制所述第三MUX的输出选通信号。
9.根据权利要求6-8任一项所述的服务器flash安全管理系统,其特征在于,所述代码监测芯片具体为复杂可编程逻辑器件CPLD。
10.根据权利要求9所述的服务器flash安全管理系统,其特征在于,所述CPU与所述CPLD之间通过串行外设接口SPI或系统管理总线SMBUS总线互联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593679.4A CN109670319B (zh) | 2018-12-25 | 2018-12-25 | 一种服务器flash安全管理方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811593679.4A CN109670319B (zh) | 2018-12-25 | 2018-12-25 | 一种服务器flash安全管理方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109670319A true CN109670319A (zh) | 2019-04-23 |
CN109670319B CN109670319B (zh) | 2022-04-15 |
Family
ID=66146778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811593679.4A Active CN109670319B (zh) | 2018-12-25 | 2018-12-25 | 一种服务器flash安全管理方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109670319B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377296A (zh) * | 2019-06-27 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种支持服务器主控板Flash烧录的系统及方法 |
CN110795738A (zh) * | 2019-09-19 | 2020-02-14 | 华为技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
CN111008165A (zh) * | 2019-10-31 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种四路服务器bios flash控制装置及方法 |
CN112579338A (zh) * | 2020-12-30 | 2021-03-30 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN113176965A (zh) * | 2021-04-25 | 2021-07-27 | 山东英信计算机技术有限公司 | 一种基于vr配置crc校验的防烧板方法、系统及介质 |
CN113204767A (zh) * | 2021-05-08 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种bmc启动方法、装置、设备及可读存储介质 |
CN113204804A (zh) * | 2021-04-25 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种安全模块、服务器主板和服务器 |
CN113448401A (zh) * | 2021-05-28 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种主板和服务器 |
US20230121492A1 (en) * | 2020-06-10 | 2023-04-20 | Inspur Suzhou Intelligent Technology Co., Ltd. | Monitoring and control method, circuit, and device for on-board trusted platform |
CN116628767A (zh) * | 2023-07-20 | 2023-08-22 | 常州楠菲微电子有限公司 | 一种预防系统启动后flash系统固件攻击方法及flash控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498605A (zh) * | 2009-03-02 | 2009-08-05 | 天津理工大学 | 一种可调谐多光谱视觉检测光源 |
US20110154106A1 (en) * | 2009-12-22 | 2011-06-23 | Brian Kelly | Dmi redundancy in multiple processor computer systems |
CN106886441A (zh) * | 2017-02-28 | 2017-06-23 | 郑州云海信息技术有限公司 | 一种服务器系统及flash配置方法 |
CN107885536A (zh) * | 2017-11-30 | 2018-04-06 | 建荣半导体(深圳)有限公司 | 一种嵌入式处理器的启动方法、嵌入式处理器及存储装置 |
-
2018
- 2018-12-25 CN CN201811593679.4A patent/CN109670319B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498605A (zh) * | 2009-03-02 | 2009-08-05 | 天津理工大学 | 一种可调谐多光谱视觉检测光源 |
US20110154106A1 (en) * | 2009-12-22 | 2011-06-23 | Brian Kelly | Dmi redundancy in multiple processor computer systems |
CN106886441A (zh) * | 2017-02-28 | 2017-06-23 | 郑州云海信息技术有限公司 | 一种服务器系统及flash配置方法 |
CN107885536A (zh) * | 2017-11-30 | 2018-04-06 | 建荣半导体(深圳)有限公司 | 一种嵌入式处理器的启动方法、嵌入式处理器及存储装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377296B (zh) * | 2019-06-27 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种支持服务器主控板Flash烧录的系统及方法 |
CN110377296A (zh) * | 2019-06-27 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种支持服务器主控板Flash烧录的系统及方法 |
CN110795738A (zh) * | 2019-09-19 | 2020-02-14 | 华为技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
WO2021052191A1 (zh) * | 2019-09-19 | 2021-03-25 | 华为技术有限公司 | 一种计算机的启动方法和控制器、存储介质以及系统 |
US11886595B2 (en) | 2019-09-19 | 2024-01-30 | Xfusion Digital Technologies Co., Ltd. | Computer boot method, controller, storage medium, and system |
CN111008165A (zh) * | 2019-10-31 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种四路服务器bios flash控制装置及方法 |
US20230121492A1 (en) * | 2020-06-10 | 2023-04-20 | Inspur Suzhou Intelligent Technology Co., Ltd. | Monitoring and control method, circuit, and device for on-board trusted platform |
CN112579338A (zh) * | 2020-12-30 | 2021-03-30 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN112579338B (zh) * | 2020-12-30 | 2023-03-24 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN113204804B (zh) * | 2021-04-25 | 2022-03-22 | 山东英信计算机技术有限公司 | 一种安全模块、服务器主板和服务器 |
CN113204804A (zh) * | 2021-04-25 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种安全模块、服务器主板和服务器 |
CN113176965A (zh) * | 2021-04-25 | 2021-07-27 | 山东英信计算机技术有限公司 | 一种基于vr配置crc校验的防烧板方法、系统及介质 |
CN113204767A (zh) * | 2021-05-08 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种bmc启动方法、装置、设备及可读存储介质 |
CN113448401A (zh) * | 2021-05-28 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种主板和服务器 |
CN116628767A (zh) * | 2023-07-20 | 2023-08-22 | 常州楠菲微电子有限公司 | 一种预防系统启动后flash系统固件攻击方法及flash控制器 |
CN116628767B (zh) * | 2023-07-20 | 2023-10-17 | 常州楠菲微电子有限公司 | 一种预防系统启动后flash系统固件攻击方法及flash控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN109670319B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670319A (zh) | 一种服务器flash安全管理方法及其系统 | |
EP2082322B1 (en) | Security features in interconnect centric architectures | |
JP2017224272A (ja) | ハードウェア障害回復システム | |
US6915441B2 (en) | Computer system with multiple backup management processors for handling embedded processor failure | |
CN111859398B (zh) | 一种基于tpcm的双bios安全验证装置及方法 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
TWI670952B (zh) | 網路切換控制系統 | |
CN108292342B (zh) | 向固件中的侵入的通知 | |
CN110197070A (zh) | 具开机的可信验证与容错移转的计算机系统及方法 | |
CN114116280A (zh) | 交互式bmc自恢复方法、系统、终端及存储介质 | |
CN110098965A (zh) | 一种服务器管理系统及方法 | |
WO2023065601A1 (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN109344104A (zh) | 电子设备及信号传输方法 | |
CN108897646B (zh) | 一种bios芯片的切换方法及基板管理控制器 | |
CN109582505B (zh) | 一种bios选项默认值的恢复系统、方法及装置 | |
CN116820827B (zh) | 一种节点服务器的基板管理控制器的控制方法及其系统 | |
US20030023887A1 (en) | Computer system with backup management for handling embedded processor failure | |
CN218824636U (zh) | 一种用于服务器硬盘背板的电源检测装置 | |
CN111008165A (zh) | 一种四路服务器bios flash控制装置及方法 | |
CN108629185B (zh) | 服务器可信平台度量控制系统及其运行方法 | |
CN111783162B (zh) | 数据保护实现方法、装置及计算机设备 | |
CN114860286A (zh) | 一种cpld无感升级方法、系统、存储介质及设备 | |
CN101158920B (zh) | 一种检测操作系统故障的方法和装置 | |
CN107179911A (zh) | 一种重启管理引擎的方法和设备 | |
CN109522200A (zh) | 一种提高多储存盘阵列稳定性的测试方法,系统及终端 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |