一种启动防护方法、装置、电子设备及存储介质与流程

文档序号:31763843发布日期:2022-10-12 03:46阅读:46来源:国知局
一种启动防护方法、装置、电子设备及存储介质与流程

1.本发明涉及服务器领域,特别涉及一种启动防护方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.基板管理控制器(bmc,baseboard management controller)是服务器中的核心部件,其设置有专用网口(bmc nic,network interface controller,网络接口控制器),外部可通过这一专用网口与基板管理控制器和服务器进行通信。相关技术中,由于基板管理控制器在启动过程中防护能力较弱,进而外部攻击者会通过基板管理控制器的专用网口对基板管理控制器的启动过程进行干扰,进而容易导致基板管理控制器无法启动。
3.因此,如何在基板管理控制器启动过程中,抵御通过基板管理控制器专用网口对服务器的攻击,是本领域技术人员所要面对的技术问题。


技术实现要素:

4.本发明的目的是提供一种启动防护方法、装置、电子设备及计算机可读存储介质,可在基板管理控制器启动的各个环节中,对来自基板管理控制器专用网口的威胁进行针对性防护,进而可有效保证基板管理控制器的正常启动。
5.为解决上述技术问题,本发明提供一种启动防护方法,包括:
6.当检测到基板管理控制器进入启动引导流程时,屏蔽通过所述基板管理控制器的专用网口中向所述基板管理控制器发送的通信数据流;
7.当检测到所述基板管理控制器完成对所述专用网口的初始化操作时,解除对所述通信数据流的屏蔽,并从所述通信数据流中提取待检测操作信息;
8.对所述待检测操作信息进行异常检测,并在确定所述待检测操作信息包含异常信息时,对所述待检测操作信息对应的异常操作进行屏蔽。
9.可选地,所述对所述待检测操作信息进行异常检测,包括:
10.从所述待检测操作信息中提取签名信息,并对所述签名信息进行签名验证;
11.当确定所述签名信息无效时,判定所述待检测操作信息中包含所述异常信息。
12.可选地,所述对所述待检测操作信息进行异常检测,包括:
13.从所述待检测操作信息中提取待检测源ip地址;
14.当确定所述待检测源ip地址不属于指定源ip地址时,判定所述待检测操作信息中包含所述异常信息。
15.可选地,在对所述待检测操作信息对应的异常操作进行屏蔽之后,还包括:
16.判断已完成屏蔽处理的通信数据流中是否存在所述异常操作对应的操作信息;
17.若是,则对所述专用网口进行软件屏蔽,直至检测到服务器进入系统引导流程时,解除对所述专用网口的软件屏蔽。
18.可选地,所述对所述专用网口进行软件屏蔽,包括:
19.查找所述专用网口的驱动程序,并对所述驱动程序进行屏蔽。
20.可选地,在解除对所述专用网口的软件屏蔽之后,包括:
21.判断所述通信数据流中是否存在所述异常操作对应的操作信息;
22.若是,则将所述异常操作对应的操作信息转发至所述基板管理控制器的指定接口,以使所述指定接口中的预设代码逻辑响应所述异常操作,并引导所述异常操作对应的攻击端进入死循环状态。
23.可选地,在检测到基板管理控制器进入启动引导流程之后,还包括:
24.记录所述基板管理控制器执行所述启动引导流程中各步骤对应的执行持续时间,并判断所述执行持续时间是否大于对应的目标步骤所预设的执行时间;
25.若是,则控制所述基板管理控制器重新执行所述目标步骤的上一步骤。
26.本发明还提供一种启动防护装置,包括:
27.第一屏蔽模块,用于当检测到基板管理控制器进入启动引导流程时,屏蔽通过所述基板管理控制器的专用网口中向所述基板管理控制器发送的通信数据流;
28.待检测操作信息提取模块,用于当检测到所述基板管理控制器完成对所述专用网口的初始化操作时,解除对所述通信数据流的屏蔽,并从所述通信数据流中提取待检测操作信息;
29.第二屏蔽模块,用于对所述待检测操作信息进行异常检测,并在确定所述待检测操作信息包含异常信息时,对所述待检测操作信息对应的异常操作进行屏蔽。
30.本发明还提供一种电子设备,包括:
31.存储器,用于存储计算机程序;
32.处理器,用于执行所述计算机程序时实现如上所述的启动防护方法。
33.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的启动防护方法。
34.本发明提供一种启动防护方法,包括:当检测到基板管理控制器进入启动引导流程时,屏蔽通过所述基板管理控制器的专用网口中向所述基板管理控制器发送的通信数据流;当检测到所述专用网口完成初始化操作时,解除对所述通信数据流的屏蔽,并从所述通信数据流中提取待检测操作信息;对所述待检测操作信息进行异常检测,并在确定所述待检测操作信息包含异常信息时,对所述待检测操作信息对应的异常操作进行屏蔽。
35.可见,本发明在检测到基板管理控制器进入启动引导流程时,可首先对通过基板管理控制器的专用网口中向基板管理控制器发送的通信数据流进行屏蔽,以阻止外部通信数据流对基板管理控制器执行启动引导流程的干扰;随后,在确定基板管理控制器完成对专用网口的初始化操作时,此时为避免无网络通信对基板管理控制器后续启动流程的干扰,可解除对通信数据流的屏蔽,并对通信数据流中包含的待检测操作信息继续进行异常检测;当发现待检测操作信息中包含异常信息时,则对该操作信息对应的异常操作进行屏蔽,即能够在基板管理控制器启动的各个环节中,对来自基板管理控制器专用网口的威胁进行针对性防护,进而可有效保证基板管理控制器的正常启动。本发明还提供一种启动防护装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
37.图1为本发明实施例所提供的一种启动防护方法的流程图;
38.图2为本发明实施例所提供的一种启动防护装置的结构框图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.基板管理控制器(bmc,baseboard management controller)是服务器中的核心部件,其设置有专用网口(bmc nic,network interface controller,网络接口控制器),外部可通过这一专用网口与基板管理控制器和服务器进行通信。相关技术中,由于基板管理控制器在启动过程中防护能力较弱,进而外部攻击者会通过基板管理控制器的专用网口对基板管理控制器的启动过程进行干扰,进而容易导致基板管理控制器无法启动。有鉴于此,本发明可提供一种启动防护方法,可在基板管理控制器启动的各个环节中,对来自基板管理控制器专用网口的威胁进行针对性防护,进而可有效保证基板管理控制器的正常启动。请参考图1,图1为本发明实施例所提供的一种启动防护方法的流程图,该方法可以包括:
41.s101、当检测到基板管理控制器进入启动引导流程时,屏蔽通过基板管理控制器的专用网口中向基板管理控制器发送的通信数据流。
42.基板管理控制器启动引导流程(bmc boot)是基板管理控制器在启动过程中所要执行的第一个流程,该控制器会在该流程中进行内核加载等一系列初始引导操作。由于在该流程中,基板管理控制器中各类复杂的防护机制仍处于加载或待加载状态,无法正常使用,因此该控制器在这一启动流程中基本没有抵御外部攻击的能力,容易被外部攻击者通过读写攻击的方式进行控制。例如,外部攻击者可通过基板管理控制器的专用网口向基板管理控制器发送控制信号,以此阻止该控制器正常启动,或是控制基板管理控制器将异常数据添加至系统内核中,以此威胁基板管理控制器及服务器的安全。应当说明的是,虽然在基板管理控制器启动引导流程中,上述专用网口还未完成初始化,但是其仍能够接收一些基础的读写信号,进而为外部攻击者攻击基板管理控制器及服务器提供了可能。也正是如此,本发明实施例需要对通过基板管理控制器的用网口向基板管理控制器发送的通信数据流进行专门检测,以避免基板管理控制器无法启动,或是不安全因素跟随基板管理控制器启动引导流程被加载至系统内核的情况发生。具体的,正如上文所述,在基板管理控制器启动引导流程中,该控制器的专用网口实际并未完成初始化,此时基板管理控制器及服务器并不会使用这一专用网口与外界进行通信,因此在这一流程中,可将通过基板管理控制器的专用网口中向基板管理控制器发送的所有通信数据流统统屏蔽,具体的,可对这一流程中接收到的所有通信数据进行忽略或丢弃。
43.当然,可以理解的是,由于基板管理控制器在执行启动引导流程时,不具有较强的防护能力,因而仍可能放行部分通信数据,而这部分通信数据则会对基板管理控制器执行启动引导流程带来干扰,例如导致基板管理控制器无法完成启动引导流程。因此,为进一步降低外部干扰对基板管理控制器的影响,还可对基板管理控制器自身执行启动引导流程的情况进行检测,并在确定基板管理控制器出现启动异常时进行自动修复。具体的,可为启动引导流程中的各个步骤预设对应的执行时间;同时,对基板管理控制器执行启动引导流程中各步骤对应的执行持续时间进行记录,并判断这一执行持续时间是否超出对应的预设执行时间,假若超过则可判定基板管理控制器存在异常情况,需要修复。进而,在发现异常步骤时,可控制基板管理控制器重新执行该步骤的上一步骤,以引导基板管理控制器重新进行启动,避免因某一步骤被干扰而导致无法启动的情况。需要说明的是,本发明实施例并不限定基板管理控制器启动引导流程中各步骤对应预设的执行时间,可根据实际应用需求进行设定。
44.在一种可能的情况中,在检测到基板管理控制器进入启动引导流程之后,还可以包括:
45.步骤11:记录基板管理控制器执行启动引导流程中各步骤对应的执行持续时间,并判断执行持续时间是否大于对应的目标步骤所预设的执行时间;若是,则进入步骤12;若否,则忽略;
46.步骤12:控制基板管理控制器重新执行目标步骤的上一步骤。
47.s102、当检测到基板管理控制器完成对专用网口的初始化操作时,解除对通信数据流的屏蔽,并从通信数据流中提取待检测操作信息。
48.需要说明的是,基板管理控制器在完成启动引导流程之后会执行内核初始化流程,而在后一流程中,基板管理控制器将对其所包含的各硬件单元进行初始化,其中便包括对专用网口的初始化。本发明实施例并不限定基板管理控制器专用网口的初始化方式,可参考基板管理控制器的相关技术。在完成专用网口初始化后,基板管理控制器便可通过该网口与外界进行通信,且,在后续的启动流程中,基板管理控制器也需要通过专用网口与外界进行通信,因此本发明实施例在确定专用网口已完成初始化后,将会自动解除对专用网口中的通信数据流的屏蔽。当然,可以理解的是,外部攻击仍然会通过专用网口对基板管理控制器及服务器进行启动干扰,因此本发明实施例将会从通信数据流中实时提取待检测操作信息,以便及时发现异常操作。
49.s103、对待检测操作信息进行异常检测,并在确定待检测操作信息包含异常信息时,对待检测操作信息对应的异常操作进行屏蔽。
50.需要说明的是,本发明实施例并不限定如何对待检测操作信息进行异常检测,例如可要求外部向服务器发送的操作信息中需包含签名信息,这一信息由服务器所掌握的密钥签名得到,进而在接收到待检测操作信息时,可对其包含的签名信息进行签名验证,如发现签名无效,则可判定待检测操作信息中包含异常信息。
51.在一种可能的情况中,对待检测操作信息进行异常检测,可以包括:
52.步骤21:从待检测操作信息中提取签名信息,并对签名信息进行签名验证;
53.步骤22:当确定签名信息无效时,判定待检测操作信息中包含异常信息。
54.需要说明的是,本发明实施例并不限定签名的具体方式及签名验证的具体方式,
可参考签名的相关技术。进一步,对待检测操作信息的异常检测,还可通过验证其包含的源ip地址来进行。具体的,服务器通常仅与内网中的少量设备进行通信,即该服务器所接收的通信数据通常仅来自少数几个内网设备。因此,只要对上述内网设备的ip地址进行记录,并确定待检测操作信息中的源ip地址并不属于上述指定源ip地址,便可确定待检测操作信息中包含异常信息。
55.在一种可能的情况中,对待检测操作信息进行异常检测,可以包括:
56.步骤31:从待检测操作信息中提取待检测源ip地址;
57.步骤32:当确定待检测源ip地址不属于指定源ip地址时,判定待检测操作信息中包含异常信息。
58.在确定待检测操作信息中包含异常信息之后,即能确定该信息对应的操作属于异常操作,进而需对异常操作进行屏蔽。当然,考虑到基板管理控制器仍可能存在对异常操作屏蔽不到位的情况,在屏蔽处理后,仍可对已完成屏蔽的通信数据流进行再次检测,以确定其中是否仍然包含异常操作对应的操作信息,若是则可确定先前的屏蔽存在不到位的情况,此时为保障基板管理控制器及服务器的正常启动,可先将专用网口进行软件屏蔽,直至服务器进入系统引导流程时,即服务器可具有更强防护能力时,再解除对专用网口的屏蔽。
59.在一种可能的情况中,在对待检测操作信息对应的异常操作进行屏蔽之后,还可以包括:
60.步骤41:判断已完成屏蔽处理的通信数据流中是否存在异常操作对应的操作信息;若是,则进入步骤42;若否,则忽略;
61.步骤42:对专用网口进行软件屏蔽,直至检测到服务器进入系统引导流程时,解除对专用网口的软件屏蔽。
62.当然,可以理解的是,当专用网口被屏蔽时,会影响到基板管理控制器及服务器的部分启动流程,此时,为方便运维人员排查,可生成相应的告警信息进行记录,以便运维人员查阅。需要说明的是,本发明实施例并不限定对专用网口进行软件屏蔽的具体方式。为不影响专用网口执行其他初始化操作,可对专用网口的驱动程序进行屏蔽。
63.在一种可能的情况中,对专用网口进行软件屏蔽,可以包括:
64.步骤51:查找专用网口的驱动程序,并对驱动程序进行屏蔽。
65.基于上述实施例,本发明在检测到基板管理控制器进入启动引导流程时,可首先对通过基板管理控制器的专用网口中向基板管理控制器发送的通信数据流进行屏蔽,以阻止外部通信数据流对基板管理控制器执行启动引导流程的干扰;随后,在确定基板管理控制器完成对专用网口的初始化操作时,此时为避免无网络通信对基板管理控制器后续启动流程的干扰,可解除对通信数据流的屏蔽,并对通信数据流中包含的待检测操作信息继续进行异常检测;当发现待检测操作信息中包含异常信息时,则对该操作信息对应的异常操作进行屏蔽,即能够在基板管理控制器启动的各个环节中,对来自基板管理控制器专用网口的威胁进行针对性防护,进而可有效保证基板管理控制器的正常启动。
66.基于上述实施例,本发明实施例还可对服务器的启动流程进行防护。具体的,在确定服务器进入系统引导流程时,假若依然从专用网口中提取到了异常操作对应的操作信息,在不影响服务器正常运行的情况下,还可采取引导攻击者进入崩溃死循环的方式应对攻击行为。在一种可能的情况中,在解除对专用网口的软件屏蔽之后,还可以包括:
67.s201、判断通信数据流中是否存在异常操作对应的操作信息;若是,则进入步骤s202;若否,则忽略。
68.应当指出的是,此处对异常操作的检测仍采用上述签名验证及源ip验证手段,可参考上述实施例。
69.s202、将异常操作对应的操作信息转发至基板管理控制器的指定接口,以使指定接口中的预设代码逻辑响应异常操作,并引导异常操作对应的攻击端进入死循环状态。
70.在本发明实施例中,额外在基板管理控制器中增设了一个指定接口,该接口中预设由多组代码逻辑,这些代码逻辑均是基于基板管理控制器现有的代码逻辑改造而来,不仅能够对异常操作进行响应,还能够引导异常操作对应的供给端进入死循环状态,即可为攻击者提供一个虚拟的空间,并在该空间中限制攻击者的攻击行为,以达到在不影响服务器正常运行的前提下,有效应对外部攻击的效果。需要说明的是,本发明实施例并不限定上述预设代码逻辑,可根据实际应用需求进行设定。
71.基于上述实施例,本发明实施例可利用预设的接口及代码逻辑引导攻击者进入崩溃死循环,进而可在在不影响服务器正常运行的情况下有效应对外部攻击。
72.下面基于具体的例子介绍上述启动防护方法,上述流程具体包括:
73.1.ft2000+arm服务器插电,基板管理控制器开始启动;
74.2.在进入bmc boot启动之前,安全防护就开始启动了,其会自动屏蔽bmc nic中的通信数据,并会自动判断是否有危害bmc异常启动的异常攻击;
75.3.如果存在异常的攻击行为,则会采取防护措施优化启动空间。具体的,会采用采取多次link traing,即引导bmc重复执行异常步骤对应的上一步骤,以及时发现异常并进行修复,以启动保持bmc引导启动时的安全无异常,同时对出现的安全攻击进行上报日志,提醒服务器维护人员有不稳定安全因素入侵;
76.4.在确定bmc nic完成初始化后,对进入文件程序进行动态安全数字签名校验安全可信根实时动态校验,bmc nic主要供服务器的bmc使用,对有安全的异常数字签名校验采取动态节点层层防护的设计方案。假若异常无法屏蔽,则可采取封闭接口的方式将其进行安全屏蔽;
77.5.服务器在进入系统引导时,会进一步判断是否受到异常攻击;
78.6.如果受到异常攻击,则可将异常攻击引导至bmc中的指定接口,以诱导其攻击bmc提供伪代码逻辑系列。本发明可设计bmc伪代码的小系统进程,以供外部攻击者攻击并反馈给攻击者实时模拟异常参数序列,最终诱导不稳定安全攻击进入疲劳休眠状态。
79.下面对本发明实施例提供的启动防护装置、电子设备及计算机可读存储介质进行介绍,下文描述的启动防护装置、电子设备及计算机可读存储介质与上文描述的启动防护方法可相互对应参照。
80.请参考图2,图2为本发明实施例所提供的一种启动防护装置的结构框图,该装置可以包括:
81.第一屏蔽模块201,用于当检测到基板管理控制器进入启动引导流程时,屏蔽通过基板管理控制器的专用网口中向基板管理控制器发送的通信数据流;
82.待检测操作信息提取模块202,用于当检测到基板管理控制器完成对专用网口的初始化操作时,解除对通信数据流的屏蔽,并从通信数据流中提取待检测操作信息;
83.第二屏蔽模块203,用于对待检测操作信息进行异常检测,并在确定待检测操作信息包含异常信息时,对待检测操作信息对应的异常操作进行屏蔽。
84.可选地,第二屏蔽模块203,包括:
85.签名验证子模块,用于从待检测操作信息中提取签名信息,并对签名信息进行签名验证;
86.第一判定子模块,用于当确定签名信息无效时,判定待检测操作信息中包含异常信息。
87.可选地,第二屏蔽模块203,包括:
88.ip提取子模块,用于从待检测操作信息中提取待检测源ip地址;
89.第二判定子模块,用于当确定待检测源ip地址不属于指定源ip地址时,判定待检测操作信息中包含异常信息。
90.可选地,该装置还可以包括:
91.第一判断模块,用于判断已完成屏蔽处理的通信数据流中是否存在异常操作对应的操作信息;
92.专用网口屏蔽模块,用于若是,则对专用网口进行软件屏蔽,直至检测到服务器进入系统引导流程时,解除对专用网口的软件屏蔽。
93.可选地,专用网口屏蔽模块,可以包括:
94.驱动屏蔽子模块,用于查找专用网口的驱动程序,并对驱动程序进行屏蔽。
95.可选地,该装置还可以包括:
96.第二判断模块,用于判断通信数据流中是否存在异常操作对应的操作信息;
97.引导模块,用于若是,则将异常操作对应的操作信息转发至基板管理控制器的指定接口,以使指定接口中的预设代码逻辑响应异常操作,并引导异常操作对应的攻击端进入死循环状态。
98.可选地,该装置还可以包括:
99.记录模块,用于记录基板管理控制器执行启动引导流程中各步骤对应的执行持续时间,并判断执行持续时间是否大于对应的目标步骤所预设的执行时间;
100.修复模块,用于若是,则控制基板管理控制器重新执行目标步骤的上一步骤。
101.本发明实施例还提供一种电子设备,包括:
102.存储器,用于存储计算机程序;
103.处理器,用于执行计算机程序时实现如上述的启动防护方法的步骤。
104.由于电子设备部分的实施例与启动防护方法部分的实施例相互对应,因此电子设备部分的实施例请参见启动防护方法部分的实施例的描述,这里不再赘述。
105.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的启动防护方法的步骤。
106.由于计算机可读存储介质部分的实施例与启动防护方法部分的实施例相互对应,因此存储介质部分的实施例请参见启动防护方法部分的实施例的描述,这里不再赘述。
107.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明
即可。
108.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
109.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
110.以上对本发明所提供的一种启动防护方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1