CN109711161A - 一种监控方法及电子设备 - Google Patents
一种监控方法及电子设备 Download PDFInfo
- Publication number
- CN109711161A CN109711161A CN201811467875.7A CN201811467875A CN109711161A CN 109711161 A CN109711161 A CN 109711161A CN 201811467875 A CN201811467875 A CN 201811467875A CN 109711161 A CN109711161 A CN 109711161A
- Authority
- CN
- China
- Prior art keywords
- firmware interface
- interface driver
- driver
- loaded
- firmware
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006399 behavior Effects 0.000 claims description 60
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种监控方法及电子设备,其中,所述方法包括:接收针对待加载的固件接口驱动的加载指令;所述加载指令用于指示加载所述固件接口驱动;如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接口驱动,并对所述固件接口驱动进行监控。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种监控方法及电子设备。
背景技术
固件层存在的安全漏洞已成为信息安全业界重要的威胁因素之一,利用其 实时的攻击具有不易清除、难以检测、破坏性强等固有特点。因此,研究基于 固件层的攻击,从底层为计算机安全提供了有力的保障,具有重要的应用价值 和研究意义。
固件接口(Extensible Firmware Interface,EFI)驱动,比如:统一的可扩 展固件接口(Unified Extensible Firmware Interface,UEFI)驱动,定义了操作 系统和硬件平台固件之间的接口规范。但是一些恶意厂商会在固件接口驱动中 加入恶意的代码,不可避免地带来安全隐患。因此,在加载固件接口驱动时, 需要识别出加入恶意代码的恶意固件接口驱动,以保证系统的安全性。
相关技术中,为了识别出恶意固件接口驱动,预先在系统和授权的固件接 口驱动中加入证书,在加载固件接口驱动之前,通过预先加入的证书对待加载 的固件接口驱动进行认证,对认证通过的固件接口驱动进行加载,认证未通过 的固件接口驱动不加载。其中,将一些安全但未预先设置证书的固件接口驱动 误认为是恶意固件接口驱动,导致这类驱动无法正常加载运行。
发明内容
本申请实施例提供了一种监控方法及电子设备,能够有效监控固件接口驱 动的安全性。
本申请实施例提供的监控方法,应用于电子设备,所述方法包括:
接收针对待加载的固件接口驱动的加载指令;所述加载指令用于指示加载 所述固件接口驱动;
如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接口驱动, 并对所述固件接口驱动进行监控。
本申请实施例提供的电子设备,所述电子设备包括存储器、处理器及存储 在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程 序时实现上述的监控方法的步骤。
本申请实施例中,在加载固件接口驱动时,如果加载的固件接口驱动为不 受信任固件接口驱动,在加载不受信任的固件接口驱动的同时,对加载的固件 接口驱动进行监控,以监控加载的固件接口驱动是否存在恶意行为;在有效识 别出恶意的固件接口驱动的同时,不会通过简单的预先设置判断规则将不信任 的固件接口驱动直接否定而不加载,从而避免一些安全但不符合预先设定的判 断规则的固件接口驱动误认为是恶意固件接口驱动,导致这类驱动无法正常加 载运行,有效识别固件接口的安全性。
附图说明
图1为本申请实施例监控方法的实现流程示意图一;
图2为本申请实施例监控方法的实现流程示意图二;
图3为本申请实施例监控方法的实现流程示意图三;
图4为本申请实施例监控方法的实现流程示意图四;
图5为本申请实施例基于EFI系统的计算机系统组成示意图;
图6为本申请实施例EFI启动执行流程示意图;
图7为本申请实施例监控装置的结构示意图;
图8为本申请实施例电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处 所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提 供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施 例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实 施。
在本发明的各种实施例中:接收针对待加载的固件接口驱动的加载指令; 所述加载指令用于指示加载所述固件接口驱动;如果所述固件接口驱动为不受 信任固件接口驱动,加载所述固件接口驱动,并对所述固件接口驱动进行监控。
本申请实施例提供一种监控方法,该方法应用于电子设备,该方法应用于 电子设备,电子设备中的各功能模块可以由设备(如终端设备、服务器或服务 器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、 蜂窝等各种方式通信)协同实现。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式, 例如提供为存储介质(存储有用于执行本申请实施例提供的监控方法的指令)。
本申请实施例提供一种监控方法,如图1所示,该监控方法包括:
S101、接收针对待加载的固件接口驱动的加载指令;
所述加载指令用于指示加载所述固件接口驱动。
当电子设备接收到开机指令或重启指令加电,进入驱动执行环境阶段中, 遍历固件接口系统中所有的固件接口驱动,并调度所遍历的固件接口驱动至队 列中,作为待加载的固件接口驱动等待被加载。
这里,固件接口系统中的固件接口驱动根据获取源不同,包括两种类型: 系统固件接口驱动和外载固件接口驱动。其中,系统固件接口驱动为内嵌入系 统中作为系统的一个模块的固件接口驱动,可由开发人员在嵌入到电子设备的 系统的源代码中。外载固件接口驱动为系统中不包括源代码的通过外载的比如: 内存卡、显卡、网卡等芯片装载到电子设备中的接口驱动。
固件接口系统中的每个固件接口驱动都是一个独立的模块,固件接口驱动 之间通过protocol(程序)通信,每个protocol对应一个全局唯一标识符(Globally UniqueIdentifier,GUID)。一个固件接口驱动可通过启动服务中的开启protocol 和GUID打开对应的protocol,从而使用打开的protocol所提供的服务。
对于一待加载的固件接口驱动,当接收到加载指令时,判断该待加载的固 件接口驱动是否为不受信任的固件接口驱动。
在判断待加载的固件接口驱动是否为不受信任的固件接口驱动时,可预设 判断策略,如果待加载的固件接口驱动满足设定的判断策略,则待加载的固件 接口驱动为受信任的固件接口驱动,如果待加载的固件接口驱动不满足设定的 判断策略,则待加载的固件接口驱动为不受信任的固件接口驱动。
在本申请实施例中,判断策略可根据实际需求进行设置,比如:设置一受 信任固件接口驱动列表,如果受信任列表中的接口驱动列表中包括有待加载的 固件接口驱动,则确定待加载的固件接口驱动满足设定的判断策略,为受信任 的固件接口驱动;否则确定待加载的固件接口驱动不满足设定的判断策略,为 不受信任的固件接口驱动。又比如:通过设定的安全证书对待加载的固件接口 驱动进行安全认证,如果待加载的固件接口驱动通过安全认证,确定待加载的 固件接口驱动满足设定的判断策略,为受信任的固件接口驱动;如果待加载的 固件接口驱动未通过安全认证,确定待加载的固件接口驱动不满足设定的判断 策略,为不受信任的固件接口驱动。又比如:确定来自于电子设备对应的厂商 以外的第三方厂商,且在固件接口系统中没有源代码的固件接口驱动,确定为 可不受信任的固件接口驱动。
需要说明的是,本申请实施例中,对判断策略的判断规则不进行任何的限 定,用户可根据实际需求进行设置。
S102、如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接 口驱动,并对所述固件接口驱动进行监控。
如果确定待加载的固件接口驱动不满足设定的判断策略,则待加载的固件 接口驱动为不受信任的固件接口驱动,此时,基于加载指令加载该固件接口驱 动,并对该固件接口驱动进行监控,以判断固件接口驱动是否存在恶意行为, 识别该附件接口驱动是否为恶意固件接口驱动。
对一固件接口驱动进行监控时,可通过以下监控方式中的至少一种进行监 控:
方式一、判断设定项信息在加载固件接口驱动之前和之后是否发生变化。
方式二、对设定的安全监控程序进行监控,确定设定的安全监控程序是否 被调用。
方式三、监控是否存在与网络访问。
在方式一中,如果监控到设定项信息在加载固件接口驱动之前和之后发生 变化,确定设定项信息被加载的不受信任的接口固件驱动修改,表明不受信任 的接口固件驱动存在恶意行为,为恶意接口固件驱动。
其中,设定项可包括:主板芯片/CPU设定,UEFI启动设定,中断设定等 与系统安全关联的设定项。
在方式二中,如果确定设定的安全监控程序被调用,表明不受信任的接口 固件驱动存在恶意行为,为恶意接口固件驱动。其中,在监控安全监控服务是 否被调用时,可在安全监控服务中设置监控点,基于设置的监控点监控安全监 控服务是否被调用。
其中,安全监控程序可包括:网络访问protocol、系统管理中断(SystemManagement Interrupt,SMI)服务登记(SMI Handler Register)程序等与系统安 全关联的程序。这里,安全监控程序可根据用户实际需求进行设置,本申请实 施例对安全监控程序不进行任何的限定。
在方式三中,如果确定存在网络访问,表明不受信任的接口固件驱动存在 恶意行为,为恶意接口固件驱动。其中,网络访问可包括通过网络访问protocol 进行的网络访问,也可包括绕过网络访问protocol直接通过电子设备的网卡进 行的网络访问。
需要说明的是,本申请实施例中,对电子设备对加载的固件接口驱动进行 监控的监控方式不进行任何的限定,用户可根据实际需求进行设置。
在实际应用中,可确定待加载的固件接口驱动对应的权限等级,根据对应 的权项等级对固件接口驱动进行监控。其中,不同的权限等级对应不同的禁止 行为,待加载的固件接口驱动对应的权限等级可预先设置。比如:待加载的固 件接口驱动的权限等级为一级时,待加载的固件接口驱动,对应的禁止行为为 网络访问,即不允许固件接口驱动进行网络访问,此时,通过监控方式三对固 件接口驱动进行监控。又比如:待加载的固件接口驱动的权限等级为二级时, 待加载的固件接口驱动,对应的禁止行为为设定项修改,即不允许固件接口驱 动进行设定项信息的修改,此时,通过监控方式一对固件接口驱动进行监控。
本申请实施例中,通过对不受信任的固件接口驱动的加载过程进行监控, 以有效判断出加载的固件接口驱动是否存在恶意行为,是否为恶意固件接口驱 动。
当电子设备确定当前加载的固件接口驱动为恶意固件接口驱动时,停止该 固件接口驱动的加载,并可将该固件接口驱动所申请的内存清除,也可向发出 告警,以提示用户当前存在恶意固件接口驱动。
本申请实施例中,在加载固件接口驱动时,如果加载的固件接口驱动为不 受信任固件接口驱动,在加载不受信任的固件接口驱动的同时,对加载的固件 接口驱动进行监控,以监控加载的固件接口驱动是否存在恶意行为;在有效识 别出恶意的固件接口驱动的同时,不会通过简单的预先设置判断规则将不信任 的固件接口驱动直接否定而不加载,从而避免一些安全但不符合预先设定的判 断规则的固件接口驱动误认为是恶意固件接口驱动,导致这类驱动无法正常加 载运行,有效识别固件接口的安全性。
本申请实施例提供一种监控方法,该方法应用于电子设备,该方法应用于 电子设备,电子设备中的各功能模块可以由设备(如终端设备、服务器或服务 器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、 蜂窝等各种方式通信)协同实现。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式, 例如提供为存储介质(存储有用于执行本申请实施例提供的监控方法的指令)。
图2为本申请实施例的一种监控方法的实现流程示意图,如图2所示,该 监控方法包括:
S201、接收针对待加载的固件接口驱动的加载指令;
所述加载指令用于指示加载所述固件接口驱动。
当电子设备接收到开机指令或重启指令加电,进入驱动执行环境阶段后, 遍历固件接口系统中所有的固件接口驱动,并调度所遍历的固件接口驱动至队 列中,作为待加载的固件接口驱动等待被加载。
这里,固件接口系统中的固件接口驱动根据获取源不同,包括两种类型: 系统固件接口驱动和外载固件接口驱动。其中,系统固件接口驱动为内嵌入系 统中作为系统的一个模块的固件接口驱动,可由开发人员在嵌入到电子设备的 系统的源代码中。外载固件接口驱动为系统中不包括源代码的通过外载的比如: 内存卡、显卡、网卡等芯片装载到电子设备中的接口驱动。
S202、确定所述固件接口驱动对应的硬件;
在加载待加载的固件接口驱动之前,确定待加载的固件接口驱动对应的硬 件。其中,固件接口驱动对应的硬件为该固件接口驱动所作用的硬件,比如: 内存、CPU、显卡、硬盘、网卡、线缆等电子设备中的硬件。
在固件接口系统中,包括多个固件接口驱动,各固件接口驱动负责不同的 功能,比如:内存对应的固件接口驱动初始化内存,CPU对应的固件接口驱 动初始化CPU。其中,固件接口系统还有设置一个固件接口驱动用于遍历外载 的芯片卡,还可设置一个固件接口驱动用于初始化硬盘、线缆等特定的硬件。
对于固件接口系统中各固件接口驱动,可通过系统固件接口检测各固件接 口驱动对应的硬件,对于固件接口系统的系统固件接口而言,能够获知各固件 接口驱动对应的硬件。
S203、如果电子设备中不存在所述固件接口驱动对应的硬件,不加载所述 固件接口驱动;
在S202中确定待加载的固件接口驱动对应的硬件后,确定电子设备中是否 包括有待加载的固件接口驱动对应的硬件。如果不包括,则不加载该待加载的 固件接口驱动,此时,触发加载队列中的下一个等待加载的固件接口驱动中对 应的加载指令。如果电子设备中包括有待加载的固件接口驱动对应的硬件,则 判断该待加载的固件接口驱动是否为不受信任的固件接口驱动。
比如、待加载的固件接口驱动对应的硬件为芯片S,而电子设备中的硬件 包括有:显卡、存储卡、网卡等芯片,但不包括芯片S。此时,不加载当前待 加载的固件接口驱动。
这里,对于系统固件接口驱动和外载固件接口驱动,都可进行电子设备中 是否存在对应的硬件的判断,从而将一些不需要加载或加载之后并不使用的固 件接口驱动直接不加载。只有待加载的固件接口驱动对应硬件在电子设备中存 在,该固件接口驱动才允许被加载运行。
在判断待加载的固件接口驱动是否为不受信任的固件接口驱动时,可预设 判断策略,如果待加载的固件接口驱动满足设定的判断策略,则待加载的固件 接口驱动为受信任的固件接口驱动,如果待加载的固件接口驱动不满足设定的 判断策略,则待加载的固件接口驱动为不受信任的固件接口驱动。
S204、如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接 口驱动,并对所述固件接口驱动进行监控。
如果确定待加载的固件接口驱动不满足设定的判断策略,则待加载的固件 接口驱动为不受信任的固件接口驱动,此时,基于加载指令加载该固件接口驱 动,并对该固件接口驱动进行监控,以判断固件接口驱动是否存在恶意行为, 识别该附件接口驱动是否为恶意固件接口驱动。
在一实施例中,所述对所述固件接口驱动进行监控,包括:
记录第一设定项信息和第二设定项信息;所述第一设定项信息为加载所述 固件接口驱动之前的设定项信息;所述第二设定项信息为加载所述固件接口驱 动之后的设定项信息;对比所述第一设定项信息和所述第二设定项信息以判定 所述固件接口驱动是否存在恶意修改行为。
这里,将加载固件接口驱动之前的设定项信息即第一设定项信息和加载固 件接口驱动之后的设定项信息即第二设定项信息进行对比,如果第二设定项信 息发生改变,则表征加载的固件接口驱动对设定项的信息进行了修改,存在恶 意行为。
其中,设定项可为设定的chipset设定,主板芯片/CPU设定,UEFI Setup 设定,中断设定。主板芯片/CPU设定可包括:英特尔可信任执行技术(Trusted ExecutionTechnology,TXT)设定、英特尔管理引擎(Management Engine, ME)设定、内存写保护设定、串行外设接口(Serial Peripheral Interface,SPI) 只读存储器(Read Only Memory,ROM)写保护设定等;UEFI启动设定可包 括:安全引导Secure Boot设定、可信计算平台模块(Trusted Platform Module, TPM)设定、网络Network设定、基板管理控制器(BaseboardManagement Controller,BMC)设定等;中断设定包括:中断向量表、SMI中断服务程序等。
比如:在加载不受信任固件接口驱动固件接口驱动A之前,中断向量表中 的中断服务包括有:中断服务1、中断服务2和中断服务3,在加载固件接口驱 动A之后,中断向量表中的中断服务包括有:中断服务1、中断服务2、中断 服务3和中断服务4,此时,确定固件接口驱动A对中断向量表进行了修改, 则固件接口驱动A存在恶意行为。
又比如:在加载不受信任固件接口驱动固件接口驱动B之前,中断向量表 中的中断服务包括有:中断服务1、中断服务2和中断服务3,在加载固件接口 驱动B之后,直到固件接口驱动加载完成,并运行后,中断向量表中的中断服 务包括有:中断服务1、中断服务2和中断服务3,此时,确定固件接口驱动B 未对中断向量表进行修改,则固件接口驱动A不存在恶意行为。
在一实施例中,所述对所述固件接口驱动进行监控,包括:
在所述网络访问程序中设置禁用监控点,所述禁用监控点用于指示所述网 络访问程序禁止被调用;检测网络访问程序是否被调用;如果所述网络访问程 序被调用,确定所述固件接口驱动存在恶意修改行为。
在网络访问protocol中设置监控点,禁止网络访问protocol提供服务,并 对网络访问protocol的调用进行监控;当通过网络访问protocol张的监控点检 测到网络访问protocol被调用时,则确定当前加载的不受信任的固件接口驱动 存在恶意行为。
这里,可在待加载的固件接口驱动为不受信任度的固件接口驱动时,在加 载该不受信任的固件接口驱动前,在网络访问protocol中启用监控点。在待加 载的固件接口驱动为受信任度的固件接口驱动时,可不启用网络访问protocol 中的监控点。
在一实施例中,所述对所述固件接口驱动进行监控,包括:监控网卡驱动 是否存在数据传送;如果所述网卡驱动存在数据传送,确定所述固件接口驱动 存在恶意修改行为。
如果待加载的固件接口驱动为不受信任度的固件接口驱动,电子设备的固 件接口系统在加载不受信任的固件接口驱动之前,向网卡驱动发送通知消息, 以通知网卡驱动设定网络访问禁用标识,并基于网络访问禁用标识进行数据传 送的监控。在加载固件接口驱动过程中,如果网卡驱动发现有数据传送事件, 在屏蔽传送数据事件的同时,向固件接口系统发送告警,此时,电子设备的固 件接口系统确认当前加载的固件接口驱动存在恶意行为,为恶意固件接口驱动。
在一实施例中,所述对所述固件接口驱动进行监控,包括:检测系统管理 中断登记程序是否被调用;如果所述系统管理中断登记程序被调用,确定所述 固件接口驱动存在恶意修改行为。
系统管理中断登记程序,即SMI服务登记程序用于SMI服务的登记,如果 待加载的固件接口驱动为不受信任度的固件接口驱动,电子设备的固件接口系 统在加载不受信任的固件接口驱动之前,在SMI服务登记程序中设置监控点, 以监控SMI服务登记程序是否被调用。如果SMI服务登记程序被调用,则表明 当前加载的固件接口驱动在注册并安装中断服务程序,确定所述固件接口驱动 存在恶意修改行为。其中,通过SMI服务登记程序注册并安装中断服务程序, 能够在电子设备开机结束后,通过中断触发的方式调用运行SMI。
当电子设备确定当前加载的固件接口驱动为恶意固件接口驱动时,停止该 固件接口驱动的加载,并可将该固件接口驱动所申请的内存清除,也可向发出 告警,以提示用户当前存在恶意固件接口驱动。
本申请实施例中,在加载固件接口驱动时,如果加载的固件接口驱动为不 受信任固件接口驱动,在加载不受信任的固件接口驱动的同时,对加载的固件 接口驱动进行监控,以监控加载的固件接口驱动是否存在恶意行为;在有效识 别出恶意的固件接口驱动的同时,不会通过简单的预先设置判断规则将不信任 的固件接口驱动直接否定而不加载,从而避免一些安全但不符合预先设定的判 断规则的固件接口驱动误认为是恶意固件接口驱动,导致这类驱动无法正常加 载运行,有效识别固件接口的安全性。进一步地,只有待加载的固件接口驱动 对应硬件在电子设备中存在,该固件接口驱动才允许被加载运行,从而将一些 不需要加载或加载之后并不使用的固件接口驱动直接不加载,提高系统的资源 利用率和开机速度。
本申请实施例提供一种监控方法,该方法应用于电子设备,该方法应用于 电子设备,电子设备中的各功能模块可以由设备(如终端设备、服务器或服务 器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、 蜂窝等各种方式通信)协同实现。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式, 例如提供为存储介质(存储有用于执行本申请实施例提供的监控方法的指令)。
图3为本申请实施例的一种监控方法的实现流程示意图,如图3所示,该 监控方法包括:
S301、遍历所述电子设备中外载固件接口驱动得到外载固件接口驱动列表;
当电子设备接收到开机指令或重启指令加电,进入驱动执行环境阶段中, 遍历固件接口系统中所有的固件接口驱动,并调度所遍历的固件接口驱动至队 列中,作为待加载的固件接口驱动等待被加载。
这里,固件接口系统中的固件接口驱动根据获取源不同,包括两种类型: 系统固件接口驱动和外载固件接口驱动。其中,系统固件接口驱动为内嵌入系 统中作为系统的一个模块的固件接口驱动,可由开发人员在嵌入到电子设备的 系统的源代码中。外载固件接口驱动为系统中不包括源代码的通过外载的比如: 内存卡、显卡、网卡等芯片装载到电子设备中的接口驱动。
此时,可根据所遍历的外载固件接口驱动的标识、名称、厂家、载入时间 等固件接口驱动信息生成外载固件接口驱动列表,在外载固件接口驱动列表中 包括有电子设备中的外载固件接口驱动的固件接口驱动信息。其中,外载固件 接口驱动列表中可包括遍历的所有的外载固件接口驱动的固件接口驱动信息, 也可包括有部分的外载固件接口驱动的固件接口驱动信息。
当外载固件接口驱动列表中包括部分的外载固件接口驱动时,可根据各固 件接口驱动的固件接口驱动信息来确定添加的外载固件接口驱动列表中的外载 固件接口驱动。比如:根据固件接口驱动的厂商信息来确定添加的外载固件接 口驱动列表中的外载固件接口驱动,遍历的所有的外载固件接口驱动对应的厂 商分别厂商A、厂商B、厂商C,可将厂商B和厂商C对应的固件接口驱动添 加到外载固件接口驱动列表中。
S302、将所述外载固件接口驱动列表进行显示;
将S301中的外载固件接口驱动列表输出至显示界面,此时,用户可从电子 设备的显示屏幕上看到外载固件接口驱动列表中的外载固件接口驱动。其中, 在显示外载固件接口驱动列表时,可展示外载固件接口驱动列表中各外载固件 接口驱动的固件接口驱动信息,以提示用户各外载固件接口驱动的信息。
在显示外载固件接口驱动列表时,可提供用于接收用户选择的接口,使得 用户通过提供的接口对外载固件接口驱动列表中的外载固件接口驱动进行选择 操作。
S303、接收用户的选择操作,根据所述选择操作确定所述外载固件接口驱 动列表中的不受信任固件接口驱动;
通过显示界面提供的接口接收用户的选择操作,根据接收的选择操作确定 不受信任固件接口驱动。
用户的选择操作可为针对受信任固件接口驱动的第一选择操作,将第一选 择操作对应的外载固件接口驱动作为受信任固件接口驱动,将外载固件接口驱 动列表中除第一选择操作对应的外载固件接口驱动以外的外载固件接口驱动作 为不受信任固件接口驱动。
用户的选择操作可为针对不受信任固件接口驱动的第二选择操作,将第二 选择操作对应的外载固件接口驱动作为不受信任固件接口驱动,将外载固件接 口驱动列表中除第二选择操作对应的外载固件接口驱动以外的外载固件接口驱 动作为受信任固件接口驱动。
这里,可根据用户对外载固件接口驱动列表的选择操作所确定的受信任固 件接口驱动生成受信任固件接口驱动列表,以通过受信任固件接口驱动列表确 定待加载的固件接口驱动为受信任的固件接口驱动还是不受信任的固件接口驱 动。
S304、接收针对待加载的固件接口驱动的加载指令;
所述加载指令用于指示加载所述固件接口驱动。
对于一待加载的固件接口驱动,当接收到加载指令时,判断该待加载的固 件接口驱动是否为不受信任的固件接口驱动。
在判断待加载的固件接口驱动是否为不受信任的固件接口驱动时,可预设 判断策略,如果待加载的固件接口驱动满足设定的判断策略,则待加载的固件 接口驱动为受信任的固件接口驱动,如果待加载的固件接口驱动不满足设定的 判断策略,则待加载的固件接口驱动为不受信任的固件接口驱动。
S305、如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接 口驱动,并对所述固件接口驱动进行监控。
如果确定待加载的固件接口驱动不满足设定的判断策略,则待加载的固件 接口驱动为不受信任的固件接口驱动,此时,基于加载指令加载该固件接口驱 动,并对该固件接口驱动进行监控,以判断固件接口驱动是否存在恶意行为, 识别该附件接口驱动是否为恶意固件接口驱动。
对一固件接口驱动进行监控时,可通过以下监控方式中的至少一种进行监 控:
方式一、判断设定项信息在加载固件接口驱动之前和之后是否发生变化。
方式二、对设定的安全监控程序进行监控,确定设定的安全监控程序是否 被调用。
方式三、监控是否存在与网络访问。
在方式一中,如果监控到设定项信息在加载固件接口驱动之前和之后发生 变化,确定设定项信息被加载的不受信任的接口固件驱动修改,表明不受信任 的接口固件驱动存在恶意行为,为恶意接口固件驱动。
在方式二中,如果确定设定的安全监控程序被调用,表明不受信任的接口 固件驱动存在恶意行为,为恶意接口固件驱动。其中,在监控安全监控服务是 否被调用时,可在安全监控服务中设置监控点,基于设置的监控点监控安全监 控服务是否被调用。
在方式三中,如果确定存在网络访问,表明不受信任的接口固件驱动存在 恶意行为,为恶意接口固件驱动。
在实际应用中,可确定待加载的固件接口驱动对应的权限等级,根据对应 的权项等级对固件接口驱动进行监控。其中,不同的权限等级对应不同的禁止 行为,待加载的固件接口驱动对应的权限等级可预先设置。比如:待加载的固 件接口驱动的权限等级为一级时,待加载的固件接口驱动,对应的禁止行为为 网络访问,即不允许固件接口驱动进行网络访问,此时,通过监控方式三对固 件接口驱动进行监控。又比如:待加载的固件接口驱动的权限等级为二级时, 待加载的固件接口驱动,对应的禁止行为为设定项修改,即不允许固件接口驱 动进行设定项信息的修改,此时,通过监控方式一对固件接口驱动进行监控。
需要说明的是,本申请实施例中,对电子设备对加载的固件接口驱动进行 监控的监控方式不进行任何的限定,用户可根据实际需求进行设置。
本申请实施例中,通过对不受信任的固件接口驱动的加载过程进行监控, 以有效判断出加载的固件接口驱动是否存在恶意行为,是否为恶意固件接口驱 动。
当电子设备确定当前加载的固件接口驱动为恶意固件接口驱动时,停止该 固件接口驱动的加载,并可将该固件接口驱动所申请的内存清除,也可向发出 告警,以提示用户当前存在恶意固件接口驱动。
本申请实施例中,在加载固件接口驱动时,如果加载的固件接口驱动为不 受信任固件接口驱动,在加载不受信任的固件接口驱动的同时,对加载的固件 接口驱动进行监控,以监控加载的固件接口驱动是否存在恶意行为。进一步地, 在遍历固件接口系统中的固件接口驱动后,将外载固件接口驱动及时显示给用 户,提示用户电子设备中的外载固件接口驱动,并通过用户的选择操作确定不 受信任的外载固件接口驱动,从而基于与用户的交互在第一时间确定出不受信 任的外载固件接口驱动。
本申请实施例提供一种监控方法,该方法应用于电子设备,该方法应用于 电子设备,电子设备中的各功能模块可以由设备(如终端设备、服务器或服务 器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、 蜂窝等各种方式通信)协同实现。
当然,本申请实施例不局限于提供为方法和硬件,还可有多种实现方式, 例如提供为存储介质(存储有用于执行本申请实施例提供的监控方法的指令)。
图4为本申请实施例的一种监控方法的实现流程示意图,如图4所示,该 监控方法包括:
S401、接收针对待加载的固件接口驱动的加载指令;
所述加载指令用于指示加载所述固件接口驱动。
当电子设备接收到开机指令或重启指令加电,进入驱动执行环境阶段中, 遍历固件接口系统中所有的固件接口驱动,并调度所遍历的固件接口驱动至队 列中,作为待加载的固件接口驱动等待被加载。
这里,固件接口系统中的固件接口驱动根据获取源不同,包括两种类型: 系统固件接口驱动和外载固件接口驱动。其中,系统固件接口驱动为内嵌入系 统中作为系统的一个模块的固件接口驱动,可由开发人员在嵌入到电子设备的 系统的源代码中。外载固件接口驱动为系统中不包括源代码的通过外载的比如: 内存卡、显卡、网卡等芯片装载到电子设备中的接口驱动。
固件接口系统中的每个固件接口驱动都是一个独立的模块,固件接口驱动 之间通过protocol(程序)通信,每个protocol对应一个全局唯一标识符(Globally UniqueIdentifier,GUID)。一个固件接口驱动可通过启动服务中的开启protocol 和GUID打开对应的protocol,从而使用打开的protocol所提供的服务。
对于一待加载的固件接口驱动,当接收到加载指令时,判断该待加载的固 件接口驱动是否为不受信任的固件接口驱动。
在判断待加载的固件接口驱动是否为不受信任的固件接口驱动时,可预设 判断策略,如果待加载的固件接口驱动满足设定的判断策略,则待加载的固件 接口驱动为受信任的固件接口驱动,如果待加载的固件接口驱动不满足设定的 判断策略,则待加载的固件接口驱动为不受信任的固件接口驱动。
S402、记录加载所述固件接口驱动之前的内存配置信息;
在基于加载指令时加载待加载的不受信任的固件接口驱动之前,对电子设 备中的内存配置信息进行记录,确定加载不受信任的固件接口驱动之前的内存 的分配情况。
S403、如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接 口驱动,并对所述固件接口驱动进行监控;
如果确定待加载的固件接口驱动不满足设定的判断策略,则待加载的固件 接口驱动为不受信任的固件接口驱动,此时,基于加载指令加载该固件接口驱 动,并对该固件接口驱动进行监控,以判断固件接口驱动是否存在恶意行为, 识别该附件接口驱动是否为恶意固件接口驱动。
对一固件接口驱动进行监控时,可通过以下监控方式中的至少一种进行监 控:
方式一、判断设定项信息在加载固件接口驱动之前和之后是否发生变化。
方式二、对设定的安全监控程序进行监控,确定设定的安全监控程序是否 被调用。
方式三、监控是否存在与网络访问。
在方式一中,如果监控到设定项信息在加载固件接口驱动之前和之后发生 变化,确定设定项信息被加载的不受信任的接口固件驱动修改,表明不受信任 的接口固件驱动存在恶意行为,为恶意接口固件驱动。
在方式二中,如果确定设定的安全监控程序被调用,表明不受信任的接口 固件驱动存在恶意行为,为恶意接口固件驱动。其中,在监控安全监控服务是 否被调用时,可在安全监控服务中设置监控点,基于设置的监控点监控安全监 控服务是否被调用。
在方式三中,如果确定存在网络访问,表明不受信任的接口固件驱动存在 恶意行为,为恶意接口固件驱动。
需要说明的是,本申请实施例中,对电子设备对加载的固件接口驱动进行 监控的监控方式不进行任何的限定,用户可根据实际需求进行设置。
本申请实施例中,通过对不受信任的固件接口驱动的加载过程进行监控, 以有效判断出加载的固件接口驱动是否存在恶意行为,是否为恶意固件接口驱 动。
S404、如果确定所述固件接口驱动存在恶意修改行为,根据所述内存配置 信息清除所述固件接口驱动申请的内存。
如果确定当前加载的固件接口驱动存在恶意修改行为,为恶意固件驱动时, 将当前加载的固件接口驱动所申请的内存清除,将内存配置恢复到加载当前加 载的固件接口驱动之前的内存配置。
确定当前加载的固件接口驱动所申请的内存时,可在内存申请的程序里面 加上监控点,记录当前加载的固件接口驱动时内存申请的程序分配出去的内存 位置和大小,根据内存申请的程序记录的为当前加载的固件接口驱动所分配的 内存位置和大小,将当前加载的固件接口驱动申请的内存清除。
在一实施例中,如果确定所述固件接口驱动存在恶意修改行为,所述方法 还包括以下至少之一:显示告警信息;禁止运行所述固件接口驱动;停止所述 电子设备的运行;移除所述固件接口驱动所在的硬件。
如果确定当前加载的固件接口驱动存在恶意修改行为,为恶意固件驱动时, 可确定当前加载的固件接口驱动的监控等级,根据监控等级进行对应的处理。
不同的监控等级对应不同的处理方式:比如:监控等级为一级,显示一个 警告信息,继续开机;监控等级为二级,显示警告信息,并将该恶意固件接口 驱动记录为永久禁运行,然后继续开机;监控等级为二级,显示警告信息,并 将该恶意驱动记录为永久禁运行,并且停机提示用户将当前固件接口驱动对应 的硬件拔除。
固件接口驱动的监控等级可由用户预先设置,也可根据固件接口驱动的恶 意行为确定,比如:固件接口驱动进行网络访问时,监控等级为一级;固件接 口驱动修改设定项信息时,监控等级为二级;固件接口驱动进行网络访问且修 改设定项信息时,监控等级为三级。
在本申请实施例中,固件接口驱动的监控等级的设定可根据实际需求进行 设置。在实际应用中,如果待加载的固件接口驱动设置对应的权限等级时,监 控等级可对应权项等级设置,比如:固件接口驱动的权项等级为一级时,对应 的监控等级为一级;又比如,固件接口驱动的权项等级为一级时,对应的监控 等级为二级。
本申请实施例中,在加载固件接口驱动时,如果监控到加载的固件接口驱 动存在恶意行为,则将加载的固件接口驱动所申请的内存清除,恢复到加载该 固件接口驱动之前的内存配置情况。这里,如果监控到加载的固件接口驱动存 在恶意行为,可通过告警、禁止运行、停止电子设备的运行以及移除加载的固 件接口驱动所在的硬件等方式对电子设备进行保护,最大程度地减小恶意固件 驱动的行为对电子设备带来的损害。
电子设备的基于固件接口的计算机系统如图5所示,EFI提供给操作系统(Operating System,OS)的接口包括:EFI启动服务(Boot Services,BS)和 EFI运行时服务(Runtime Service,RT)以及隐藏在BS之后的丰富的Protocol。 EFI驱动和服务以Protocol的形式通过BS提供给OS。其中,EFI操作系统加 载器负责将计算机系统由Firmware环境进入OS环境。
当电子设备接收到开机指令或重启指令加电从开机到关机,如图6所示, 固件接口系统依次进入安全验证(Security,SEC)阶段、固件接口前期初始化 (Pre-EFIInitilization,PEI)阶段、驱动执行环境(Driver Execution Environment, DXE)阶段、启动设备选择(Boot Device Selection,BDS)阶段、操作系统加 载前期(Transient SystemLoad,TSL)阶段、系统运行(Run Time,RT)阶段 和灾难恢复(After Life,AL)阶段。每个阶段由不同的模块来实现,各阶段之 间都有定义好的接口。在操作系统启动前有四个阶段:SEC阶段、PEI阶段、 DXE阶段、BDS阶段。操作系统启动后有三个阶段:TSL阶段、RT阶段、运AL阶段。如图6所示,前三个阶段是EFI平台初始化阶段,DXE阶段结束后, EFI环境已经准备完毕。BDS和TSL是操作系统加载器(OS Loader)作为EFI 应用程序运行的加载操作系统阶段。
当电子设备接收到开机指令或重启指令加电,进入DXE阶段中,遍历固件 接口系统中所有的固件接口驱动,并调度所遍历的固件接口驱动至队列中,作 为待加载的固件接口驱动等待被加载。
这里,以EFI驱动为UEFI驱动为例,对本申请实施例提供的监控方法进 行示例性说明。
(1)、UEFI系统建立一个外载UEFI驱动“信任/不受信任”列表。可信 列表包含:有源代码的驱动。不受信任列表包含不在电子设备的准入供应商列 表(pproved vendorlist,AVL)中的外插卡加载的UEFI驱动。
这里,电子设备也可以提供一个“信任/不受信任”参考列表,让用户通过 用户界面进行设定和修改。对于不信任列表中的UEFI驱动的权限等级以及监 控等级也可以通过用户界面进行设定和修改。
UEFI驱动的权限等级不同,行为权限不同,行为权限可包括:是否允许在 没有硬件的情况下允许运行,是否允许使用网络,是否允许修改安全设定。
监控等级表征当监控到恶意UEFI驱动之后对恶意UEFI驱动的处理方式。 根据处理方式不同,监控等级可分为:
a.只是显示一个警告信息,继续开机
b.显示一个警告信息,并将该恶意驱动记录为永久禁运行,然后继续开机
c.显示一个警告信息,并将该恶意驱动记录为永久禁运行,并且停机提示 用户将对应的硬件拔除。
在实际应用中,权限等级和监控等级可对应设置,比如:
a.权限为没有硬件时候不允许运行,监控等级对应的处理方式为:显示警 告信息;
b.权限为没有硬件时候不允许运行+不允许使用网络,监控等级对应的处 理方式为:显示警告信息+永久禁运行。
c.权限为没有硬件时候不允许运行+不允许使用网络+不允许修改安 全设定,监控等级对应的处理方式:显示警告信息+永久禁运行+停机并提 示用户拔除硬件。
权限等级和监控等级可根据实际需求进行设置。
(2)、在开机过程中,当一个不受信任的UEFI驱动需要被加载进来的时 候,UEFI系统先确认对应的硬件是否存在于系统上。只有对应硬件存在,该 UEFI驱动才允许被加载运行。
UEFI驱动有两种加载来源:一个是基于外插硬件加载的外载UEFI驱动, 一个是System UEFI驱动。当是外插硬件时,UEFI系统检测到该硬件时候,会 询问改硬件是否有UEFI驱动需要加载,这种情况UEFI系统能够同时记录到改 硬件和其驱动的对应信息。当另外一种情况,UEFI驱动是从System UEFI驱动 直接加载的时候,UEFI系统在设计的时候就可以在代码中增加判断,在加载某 一个特定的UEFI驱动之前检查特定的硬件信息。
对于外载UEFI驱动,是先检测到硬件,然后再询问硬件是否有UEFI驱 动需要加载,若有,再加载其UEFI驱动。检测硬件的时候,可以通过读取硬 件的外围期间互联(Peripheral Component Interconnect,PCI)配置空间或者内 存信息来得到硬件的厂商、硬件类型等信息。这些检测在开机加载该UEFI驱 动前执行。
(3)、在该UEFI驱动加载之前和之后,UEFI系统检查是否有系统安全设 定的修改,例如一些重要的chipset设定、中断设定,如果系统安全设定被修改, 则确定当前加载的UEFI驱动存在恶意行为,为恶意UEFI驱动,从而防止UEFI 驱动的恶意行为。
(4)、UEFI系统在网络访问的Protocol和内存申请的Protocol里面加上监 控点。当一个不受信任的UEFI驱动被加载前,UEFI系统设定网络访问Protocol 禁用的标志,并在内存申请的Protocol里面记录被调用分配出去的内存位置以 及大小信息。在加载的UEFI驱动运行期间,如果有网络protocol被调用的情 况,UEFI系统则就发出警告或者停止该UEFI驱动的运行,并且清除该UEFI 驱动在被停止之前申请的内存。
这里,在网络访问Protocol里面设定一个标志位作为网络禁用标志。其中, 网络访问Protocol是系统UEFI建立的服务,其他所有的UEFI驱动都是可以使 用的。在一个不受信任的UEFI驱动加载之前,将网络禁用标志启动,然后再 加载这个不受信任的UEFI驱动。如果在加载的不受信任的UEFI驱动的运行期 间,未检测到加载的UEFI驱动调用网络访问Protocol使用网络服务,那么在 加载的UEFI驱动运行结束之后,UEFI系统会同时撤销这个网络禁用标志, 接下来加载UEFI驱动(包括System UEFI自身的驱动即System UEFI驱动或者 是受信任的UEFI驱动)是可以使用网络服务的。
(5)、当一个不受信任的UEFI驱动被加载前,在网卡数据包收发端设定 网络访问禁用的标志。在UEFI驱动运行期间,如果网卡发现有数据传送事件, 网卡固件则就发出警告,从防止有某些更加恶意的UEFI驱动不通过System UEFI的网络protocol做网络访问,可以增加从网卡数据包收发端的监控。
(6)、为了防止另外一种恶意驱动在初始化之后仍有活动痕迹,UEFI系统 在不受信任的UEFI驱动被加载之前和之后,检查中断服务列表是否有被修改, 包括SMI HandlerRegister服务是否有被调用来安装新的SMI服务,以及中断 向量表是否有被更改。
中断是在开机结束后,仍然可以通过中断触发的方式调用运行的服务。SMI 的使用需要事先安装好对应的中断服务程序。对SMI的监控是在SMI服务登记 程序中增加监控点,监控不受信任的UEFI驱动是否有调用这个安装程序来登 记新的SMI程序(恶意SMI程序)。
需要说明的是,本申请实施例提供的监控方法可由固件系统中的系统UEFI 执行。
为实现本申请实施例的方法,本申请实施例提供一种监控装置700,应用 于电子设备,该监控装置所包括的各单元、以及各单元所包括的各模块,可以 通过贴片设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施 的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理 器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor) 或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
如图8所示,该装置包括:接收单元701、加载单元702和监控单元703; 其中,
接收单元701,用于接收针对待加载的固件接口驱动的加载指令;所述加 载指令用于指示加载所述固件接口驱动;
加载单元702,用于如果所述固件接口驱动为不受信任固件接口驱动,加 载所述固件接口驱动;
监控单元703,用于对所述固件接口驱动进行监控。
在一实施例中,所述装置还包括:
确定单元,用于确定所述固件接口驱动对应的硬件;
加载单元702,还用于如果电子设备中不存在所述固件接口驱动对应的硬 件,不加载所述固件接口驱动。
在一实施例中,所述装置还包括:遍历单元、显示单元和选择单元;其中,
遍历单元,用于遍历所述电子设备中外载固件接口驱动得到外载固件接口 驱动列表;
显示单元,用于将所述外载固件接口驱动列表进行显示;
选择单元,用于接收用户的选择操作,根据所述选择操作确定所述外载固 件接口驱动列表中的不受信任固件接口驱动。
在一实施例中,监控单元703,用于:
记录第一设定项信息和第二设定项信息;所述第一设定项信息为加载所述 固件接口驱动之前的设定项信息;所述第二设定项信息为加载所述固件接口驱 动之后的设定项信息;
对比所述第一设定项信息和所述第二设定项信息以判定所述固件接口驱动 是否存在恶意修改行为。
在一实施例中,监控单元703,用于:
在所述网络访问程序中设置禁用监控点,所述禁用监控点用于指示所述网 络访问程序禁止被调用;
检测网络访问程序是否被调用;
如果所述网络访问程序被调用,确定所述固件接口驱动存在恶意修改行为。
在一实施例中,监控单元703,用于:
监控网卡驱动是否存在数据传送;
如果所述网卡驱动存在数据传送,确定所述固件接口驱动存在恶意修改行 为。
在一实施例中,监控单元703,用于:
检测系统管理中断登记程序是否被调用;
如果所述系统管理中断登记程序被调用,确定所述固件接口驱动存在恶意 修改行为。
在一实施例中,所述装置还包括:清除单元,用于:
记录加载所述固件接口驱动之前的内存配置信息;
如果确定所述固件接口驱动存在恶意修改行为,根据所述内存配置信息清 除所述固件接口驱动申请的内存。
在一实施例中,所述装置还包括:保护单元,用于如果确定所述固件接口 驱动存在恶意修改行为,执行以下至少之一:
显示告警信息;
禁止运行所述固件接口驱动;
停止所述电子设备的运行;
移除所述固件接口驱动所在的硬件。
需要说明的是,装置实施例的描述,与上述方法实施例的描述是类似的, 具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细 节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种电子设备,图8为本申请实施例电子设备的组成结 构示意图,如图8所示,所述设备800包括:一个处理器801、至少一个通信 总线802、用户接口803、至少一个外部通信接口804和存储器805。其中,通 信总线802配置为实现这些组件之间的连接通信。其中,用户接口803可以包 括显示屏,外部通信接口804可以包括标准的有线接口和无线接口。
其中,所述处理器801,配置为执行存储器中存储的计算机程序,以实现 以下步骤:
接收针对待加载的固件接口驱动的加载指令;所述加载指令用于指示加载 所述固件接口驱动;
如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接口驱动, 并对所述固件接口驱动进行监控。
相应地,本申请实施例再提供一种存储介质,即计算机可读存储介质,所 述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时 实现上述的监控方法的步骤。
以上电子设备和计算机可读存储介质实施例的描述,与上述方法实施例的 描述是类似的,具有同方法实施例相似的有益效果。对于本申请贴片设备和计 算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描 述而理解。
本申请实施例中,如果以软件功能模块的形式实现上述的监控方法,并作 为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基 于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质 中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或 者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储 介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟 或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何 特定的硬件和软件结合。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实 施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此, 在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指 相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合 在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序 号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻 辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例 序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装 置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由 语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物 品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可 以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所 述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式, 如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽 略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦 合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可 以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为
单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可 以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来 实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中, 也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一 个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软 件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储 介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介 质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者 光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样 的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包 括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络 设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包 括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应 以所述权利要求的保护范围为准。
Claims (10)
1.一种监控方法,应用于电子设备,所述方法包括:
接收针对待加载的固件接口驱动的加载指令;所述加载指令用于指示加载所述固件接口驱动;
如果所述固件接口驱动为不受信任固件接口驱动,加载所述固件接口驱动,并对所述固件接口驱动进行监控。
2.根据权利要求1所述的方法,其中,在加载所述固件接口驱动之前,所述方法包括:
确定所述固件接口驱动对应的硬件;
如果电子设备中不存在所述固件接口驱动对应的硬件,不加载所述固件接口驱动。
3.根据权利要求1所述的方法,其中,所述方法还包括:
遍历所述电子设备中外载固件接口驱动得到外载固件接口驱动列表;
将所述外载固件接口驱动列表进行显示;
接收用户的选择操作,根据所述选择操作确定所述外载固件接口驱动列表中的不受信任固件接口驱动。
4.根据权利要求1所述方法,其中,所述对所述固件接口驱动进行监控,包括:
记录第一设定项信息和第二设定项信息;所述第一设定项信息为加载所述固件接口驱动之前的设定项信息;所述第二设定项信息为加载所述固件接口驱动之后的设定项信息;
对比所述第一设定项信息和所述第二设定项信息以判定所述固件接口驱动是否存在恶意修改行为。
5.根据权利要求1所述方法,其中,所述对所述固件接口驱动进行监控,包括:
在所述网络访问程序中设置禁用监控点,所述禁用监控点用于指示所述网络访问程序禁止被调用;
检测网络访问程序是否被调用;
如果所述网络访问程序被调用,确定所述固件接口驱动存在恶意修改行为。
6.根据权利要求1所述方法,其中,所述对所述固件接口驱动进行监控,包括:
监控网卡驱动是否存在数据传送;
如果所述网卡驱动存在数据传送,确定所述固件接口驱动存在恶意修改行为。
7.根据权利要求1所述方法,其中,所述对所述固件接口驱动进行监控,包括:
检测系统管理中断登记程序是否被调用;
如果所述系统管理中断登记程序被调用,确定所述固件接口驱动存在恶意修改行为。
8.根据权利要求4至7任一项所述方法,其中,所述方法还包括:
记录加载所述固件接口驱动之前的内存配置信息;
如果确定所述固件接口驱动存在恶意修改行为,根据所述内存配置信息清除所述固件接口驱动申请的内存。
9.根据权利要求4至7任一项所述方法,其中,如果确定所述固件接口驱动存在恶意修改行为,所述方法还包括以下至少之一:
显示告警信息;
禁止运行所述固件接口驱动;
停止所述电子设备的运行;
移除所述固件接口驱动所在的硬件。
10.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述监控方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811467875.7A CN109711161B (zh) | 2018-12-03 | 2018-12-03 | 一种监控方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811467875.7A CN109711161B (zh) | 2018-12-03 | 2018-12-03 | 一种监控方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711161A true CN109711161A (zh) | 2019-05-03 |
CN109711161B CN109711161B (zh) | 2022-04-22 |
Family
ID=66255374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811467875.7A Active CN109711161B (zh) | 2018-12-03 | 2018-12-03 | 一种监控方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711161B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165499A (zh) * | 2020-12-01 | 2021-01-01 | 南京芯驰半导体科技有限公司 | 控制流监控方法、装置及存储介质 |
CN113515400A (zh) * | 2021-05-14 | 2021-10-19 | 恒安嘉新(北京)科技股份公司 | 一种关键信息基础设施的异常监测方法及装置 |
CN113811853A (zh) * | 2019-05-13 | 2021-12-17 | 戴尔产品有限公司 | 通过监测对bios或uefi属性做出的配置改变的链检测安全威胁 |
CN116049809A (zh) * | 2022-06-14 | 2023-05-02 | 荣耀终端有限公司 | 一种驱动调用方法和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101965571A (zh) * | 2008-03-11 | 2011-02-02 | 温科尼克斯多夫国际有限公司 | 用于防御对具有即插即用功能的系统的攻击的方法和设备 |
CN103491056A (zh) * | 2012-06-12 | 2014-01-01 | 中兴通讯股份有限公司 | 应用权限的控制方法及装置 |
CN103514411A (zh) * | 2012-06-25 | 2014-01-15 | 联想(北京)有限公司 | 启动电子设备的方法及电子设备安全系统 |
US20140129817A1 (en) * | 2010-06-11 | 2014-05-08 | Microsoft Corporation | Device booting with an initial protection component |
CN107944279A (zh) * | 2017-12-19 | 2018-04-20 | 郑州云海信息技术有限公司 | 基于uefi的bios漏洞扫描装置及扫描方法 |
-
2018
- 2018-12-03 CN CN201811467875.7A patent/CN109711161B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101965571A (zh) * | 2008-03-11 | 2011-02-02 | 温科尼克斯多夫国际有限公司 | 用于防御对具有即插即用功能的系统的攻击的方法和设备 |
US20140129817A1 (en) * | 2010-06-11 | 2014-05-08 | Microsoft Corporation | Device booting with an initial protection component |
CN103491056A (zh) * | 2012-06-12 | 2014-01-01 | 中兴通讯股份有限公司 | 应用权限的控制方法及装置 |
CN103514411A (zh) * | 2012-06-25 | 2014-01-15 | 联想(北京)有限公司 | 启动电子设备的方法及电子设备安全系统 |
CN107944279A (zh) * | 2017-12-19 | 2018-04-20 | 郑州云海信息技术有限公司 | 基于uefi的bios漏洞扫描装置及扫描方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113811853A (zh) * | 2019-05-13 | 2021-12-17 | 戴尔产品有限公司 | 通过监测对bios或uefi属性做出的配置改变的链检测安全威胁 |
EP3970037A4 (en) * | 2019-05-13 | 2023-01-18 | Dell Products, L.P. | DETECTION OF SECURITY THREATS BY MONITORING CHAINS OF CONFIGURATION CHANGES MADE TO BIOS OR UEFI ATTRIBUTES |
CN113811853B (zh) * | 2019-05-13 | 2024-06-14 | 戴尔产品有限公司 | 信息处理系统及用于其的方法、硬件存储器装置 |
CN112165499A (zh) * | 2020-12-01 | 2021-01-01 | 南京芯驰半导体科技有限公司 | 控制流监控方法、装置及存储介质 |
CN112165499B (zh) * | 2020-12-01 | 2021-02-12 | 南京芯驰半导体科技有限公司 | 控制流监控方法、装置及存储介质 |
CN113515400A (zh) * | 2021-05-14 | 2021-10-19 | 恒安嘉新(北京)科技股份公司 | 一种关键信息基础设施的异常监测方法及装置 |
CN116049809A (zh) * | 2022-06-14 | 2023-05-02 | 荣耀终端有限公司 | 一种驱动调用方法和设备 |
CN116049809B (zh) * | 2022-06-14 | 2023-11-07 | 荣耀终端有限公司 | 一种驱动调用方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109711161B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514159B2 (en) | Method and system for preventing and detecting security threats | |
CN109711161B (zh) | 一种监控方法及电子设备 | |
AU2016293058B2 (en) | Computer security systems and methods using asynchronous introspection exceptions | |
JP6918212B2 (ja) | 悪意のあるアプリケーションがアプリケーションサービスを活用することを防止するためのシステム及び方法 | |
US20050132122A1 (en) | Method, apparatus and system for monitoring system integrity in a trusted computing environment | |
JP2014509421A (ja) | Usbホストシステムの拡張usbプロトコルスタックのためのセキュリティ手段 | |
US20160217283A1 (en) | Method for Logging Firmware Attack Event and System Therefor | |
EP2876572B1 (en) | Firmware-level security agent supporting operating system-level security in computer system | |
US9245122B1 (en) | Anti-malware support for firmware | |
US9037823B2 (en) | Protecting IAT/EAT hooks from rootkit attacks using new CPU assists | |
US8887302B2 (en) | System, method and computer program product for utilizing code stored in a protected area of memory for securing an associated system | |
WO2021086654A1 (en) | Block device signature-based integrity protection for containerized applications | |
US20230009470A1 (en) | Workspace-based fixed pass-through monitoring system and method for hardware devices using a baseboard management controller (bmc) | |
KR101013419B1 (ko) | 시스템 보호 장치 및 방법 | |
CN115964725A (zh) | 一种数据保护方法及装置 | |
Corregedor et al. | Implementing Rootkits to address operating system vulnerabilities | |
KR101482903B1 (ko) | 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치 | |
Thekkumbadan et al. | Mechanism for Runtime Kernel Integrity Check without Additional IP and without TEE for Low/Mid Automotive Segments | |
EP3663947B1 (en) | Protected peripheral ports |
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 |