基于UEFI的BIOS漏洞扫描装置及扫描方法制造方法及图纸

技术编号:17780198 阅读:36 留言:0更新日期:2018-04-22 08:57
本发明专利技术提供了基于UEFI的BIOS漏洞扫描装置,所述的装置包括:漏洞库,用于存储漏洞的特征码,在漏洞扫描过程中作为特征码匹配匹配对象,以验证待测BIOS是否存在漏洞;UEFI固件启动信息扫描单元,实现对启动项信息的获取、处理和分析,以验证启动项的合法性;BIOS配置信息扫描单元,实现对BIOS的基本配置信息的获取、分析,以判断是否符合正常启动的要求;驱动健康状况扫描单元,对UEFI BIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。该装置可以用于各种需要扫描基于UEFI的BIOS漏洞的场景,从而保证BIOS系统的安全可靠。本发明专利技术还提供了基于UEFI的BIOS漏洞扫描方法。

【技术实现步骤摘要】
基于UEFI的BIOS漏洞扫描装置及扫描方法
本专利技术涉及计算机
,具体的说是一种基于UEFI的BIOS漏洞扫描装置及扫描方法。
技术介绍
随着计算机技术和网络信息化的高速发展,计算机病毒爆发的次数以及新型计算机病毒出现的速度都呈现出逐年迅速上升的趋势,如何在第一时间发现、清除病毒成为业界非常关心的问题。为了解决传统BIOS的不足,Intel公司提出了新一代固件技术EFI,后来发展成为UEFI(统一可扩展固件接口)。该技术通过在硬件和操作系统之间增加一层抽象,屏蔽底层硬件特性。通过通用的方式对系统进行环境引导,同时UEFI还提供了一个调试环境,能够让用户在操作系统启动之前运行某些应用程序。固件层存在的安全漏洞已成为信息安全业界重要的威胁因素之一,利用其实施的攻击具有不易清除、难以检测、破坏性强等固有特点。因此研究基于固件层的攻击,从底层为计算机安全提供了有力的保障,具有重要的应用价值和研究意义。BIOS作为固件层必不可少的固件程序,是计算机启动后首先执行的程序,为计算机提供最底层、最直接的硬件控制。UEFI是新一代的BIOS标准,定义了操作系统与硬件平台固件之间的接口规范。它的出现不仅仅改变了传统BIOS的启动方式,解决了传统BIOS难以扩展等问题,并给用户提供了便利的底层开发环境,但同时也不可避免地带来了一些安全隐患。目前,现有技术缺乏对于BIOS漏洞的检测手段。
技术实现思路
为了解决上述问题,提供了一种基于UEFI的BIOS漏洞扫描装置及扫描方法,可以用于各种需要扫描基于UEFI的BIOS漏洞的场景,从而保证BIOS系统的安全可靠。本专利技术实施例提供了一种基于UEFI的BIOS漏洞扫描装置,所述的装置包括:漏洞库,用于存储漏洞的特征码,在漏洞扫描过程中作为特征码匹配匹配对象,以验证待测BIOS是否存在漏洞;UEFI固件启动信息扫描单元,实现对启动项信息的获取、处理和分析,以验证启动项的合法性;BIOS配置信息扫描单元,实现对BIOS的基本配置信息的获取、分析,以判断是否符合正常启动的要求;驱动健康状况扫描单元,对UEFIBIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。本专利技术实施例还提供了一种基于UEFI的BIOS漏洞扫描方法,所述的方法包括:S1:加载用于运行UEFI应用程序的UEFI运行环境;S2:BIOS配置信息扫描单元从SMBIOS数据表中获取BIOS配置信息;S3:BIOS漏洞扫描装置调用函数从全局变量中获取UEFI固件启动信息;S4:驱动健康状况扫描单元与EFIDriverHealthProtocol对接,获取驱动健康状况。进一步的,步骤S1的具体实现过程为:首先,加电后,将平台初始化,之后依次加载UEFI映像和UEFI启动管理器,成功进入系统;然后,终止启动服务返回启动菜单,在启动菜单中选择进入UEFI应用程序,载入临时操作系统,并建立临时操作系统环境。进一步的,步骤S2的具体实现过程为:利用协议EFI_SMBIOS_PROTOCOL定义的查询SMBIOS记录的接口来获取相应的BIOS信息。进一步的,步骤S3的具体实现过程为:S31:调用EFI_GET_VARIABLE()函数可以获取BootOrder中的值;S32:将步骤S31中获取的启动项变量中的描述符分离为各字段,并将各字段注册到BdsCommonOptionList结构中;S33:通过系统中的属性信息表获取启动性的状态信息。进一步的,步骤S4的具体实现过程为:S41:使用UEFI引导服务中提供的LocateHandleBuffer函数来检索平台中安装了EfiDriverHealthProtocol的驱动;S42:循环每一个检索到的驱动句柄,使用UEFI引导服务中提供的HandleProtocol函数来获得一个DriverHealthProtocol实例;S43:使用DriverHealthProtocol中的GetHealthStatus方法来获取该驱动以及驱动所管理的控制器的健康状态;S44:对返回的状态进行处理,通过COMPONENT_NAME_PROTOCOL获取该驱动或者控制器的名称。进一步的,所述的步骤S4还包括:S45:如果有处于非健康状态下的驱动,则将驱动名称以及驱动状态输出,提示用户需要修改。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:1、本装置通过BIOS配置信息扫描、启动项信息扫描以及驱动健康状态扫描,实现对BIOS漏洞的扫描,从而保证BIOS系统的安全可靠。同时,本装置与操作系统完全隔离,通过转换控制权的方式实现与固件层的信息交互。2、通过建立运行环境,并调用函数对接以实现BIOS配置信息、启动项信息以及驱动健康状态信息的获取,可以快速实现对BIOS漏洞的全面扫描,增强硬件架构的安全性。附图说明图1是本专利技术装置实施例的原理图;图2是本专利技术装置的实现原理图;图3是本专利技术方法实施例的流程图;图4是本专利技术运行环境加载的原理图;图5是本专利技术属性表的参考图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。实施例如图1所示,本专利技术实施例提供了一种基于UEFI的BIOS漏洞扫描装置,所述的装置包括漏洞库、UEFI固件启动信息扫描单元、BIOS配置信息扫描单元、驱动健康状况扫描单元。所述的漏洞库用于存储漏洞的特征码,在漏洞扫描过程中作为特征码匹配匹配对象,以验证待测BIOS是否存在漏洞。UEFI固件启动信息扫描单元,实现对启动项信息的获取、处理和分析,以验证启动项的合法性。BIOS配置信息扫描单元,实现对BIOS的基本配置信息的获取、分析,以判断是否符合正常启动的要求。驱动健康状况扫描单元,对UEFIBIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。如图2所示,本装置与操作系统完全隔离,通过转换控制权的方式实现与固件层的信息交互。如图3所示,本专利技术实施例还提供了一种基于UEFI的BIOS漏洞扫描方法,所述的方法包括:S1:加载用于运行UEFI应用程序的UEFI运行环境。UEFI允许通过装载UEFI应用程序和UEFI驱动来扩展架构固件。当加载UEFI驱动和UEFI应用程序的时候,驱动和应用程序有权使用UEFI所定义的所有的引导服务和运行时服务。图4显示了UEFI启动流程图:加电后,第一步是平台初始化,之后UEFI映像将被加载(包括加载UEFI驱动程序和应用程序)之后是加载UEFI启动管理器,如果成功进入系统,将终止启动服务返回启动菜单。而如果在启动菜单中选择进入UEFI应用程序,临时操作系统将被载入,并建立临本文档来自技高网
...
基于UEFI的BIOS漏洞扫描装置及扫描方法

【技术保护点】
一种基于UEFI的BIOS漏洞扫描装置,其特征是:所述的装置包括:漏洞库,用于存储漏洞的特征码,在漏洞扫描过程中作为特征码匹配匹配对象,以验证待测BIOS是否存在漏洞;UEFI固件启动信息扫描单元,实现对启动项信息的获取、处理和分析,以验证启动项的合法性;BIOS配置信息扫描单元,实现对BIOS的基本配置信息的获取、分析,以判断是否符合正常启动的要求;驱动健康状况扫描单元,对UEFI BIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。

【技术特征摘要】
1.一种基于UEFI的BIOS漏洞扫描装置,其特征是:所述的装置包括:漏洞库,用于存储漏洞的特征码,在漏洞扫描过程中作为特征码匹配匹配对象,以验证待测BIOS是否存在漏洞;UEFI固件启动信息扫描单元,实现对启动项信息的获取、处理和分析,以验证启动项的合法性;BIOS配置信息扫描单元,实现对BIOS的基本配置信息的获取、分析,以判断是否符合正常启动的要求;驱动健康状况扫描单元,对UEFIBIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。2.一种基于UEFI的BIOS漏洞扫描方法,其特征是:所述的方法包括:S1:加载用于运行UEFI应用程序的UEFI运行环境;S2:BIOS配置信息扫描单元从SMBIOS数据表中获取BIOS配置信息;S3:BIOS漏洞扫描装置调用函数从全局变量中获取UEFI固件启动信息;S4:驱动健康状况扫描单元与EFIDriverHealthProtocol对接,获取驱动健康状况。3.根据权利要求2所述的一种基于UEFI的BIOS漏洞扫描方法,其特征是:步骤S1的具体实现过程为:首先,加电后,将平台初始化,之后依次加载UEFI映像和UEFI启动管理器,成功进入系统;然后,终止启动服务返回启动菜单,在启动菜单中选择进入UEFI应用程序,载入临时操作系统,并建立临时操作系统环境。4.根据权利要求2所述的一种基于UEFI的BIOS漏洞扫描方法,其特征是:步骤S2的具体实现过程为:利用协议EFI...

【专利技术属性】
技术研发人员:杨晋博
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1