[发明专利]基于UEFI的BIOS漏洞扫描装置及扫描方法在审
申请号: | 201711373147.5 | 申请日: | 2017-12-19 |
公开(公告)号: | CN107944279A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 杨晋博 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 济南诚智商标专利事务所有限公司37105 | 代理人: | 王汝银 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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的基本配置信息的获取、分析,以判断是否符合正常启动的要求;
驱动健康状况扫描单元,对UEFI BIOS加载的各种设备的驱动以及控制器的状态进行扫描,检测各驱动是否处于正常工作状态或者是否被恶意修改。
本发明实施例还提供了一种基于UEFI的BIOS漏洞扫描方法,所述的方法包括:
S1:加载用于运行UEFI应用程序的UEFI运行环境;
S2:BIOS配置信息扫描单元从SMBIOS数据表中获取BIOS配置信息;
S3:BIOS漏洞扫描装置调用函数从全局变量中获取UEFI固件启动信息;
S4:驱动健康状况扫描单元与EFI Driver Health Protocol对接,获取驱动健康状况。
进一步的,步骤S1的具体实现过程为:首先,加电后,将平台初始化,之后依次加载UEFI映像和UEFI启动管理器,成功进入系统;然后,终止启动服务返回启动菜单,在启动菜单中选择进入UEFI应用程序,载入临时操作系统,并建立临时操作系统环境。
进一步的,步骤S2的具体实现过程为:利用协议EFI_SMBIOS_PROTOCOL定义的查询SMBIOS记录的接口来获取相应的BIOS信息。
进一步的,步骤S3的具体实现过程为:
S31:调用EFI_GET_VARIABLE()函数可以获取Boot Order中的值;
S32:将步骤S31中获取的启动项变量中的描述符分离为各字段,并将各字段注册到Bds Common Option List结构中;
S33:通过系统中的属性信息表获取启动性的状态信息。
进一步的,步骤S4的具体实现过程为:
S41:使用UEFI引导服务中提供的Locate Handle Buffer函数来检索平台中安装了Efi Driver Health Protocol的驱动;
S42:循环每一个检索到的驱动句柄,使用UEFI引导服务中提供的Handle Protocol函数来获得一个Driver Health Protocol实例;
S43:使用Driver Health Protocol中的Get Health Status方法来获取该驱动以及驱动所管理的控制器的健康状态;
S44:对返回的状态进行处理,通过COMPONENT_NAME_PROTOCOL获取该驱动或者控制器的名称。
进一步的,所述的步骤S4还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711373147.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内核漏洞检测方法及装置
- 下一篇:一种权限控制方法和系统