本发明专利技术涉及一种基于程序行为特征的针对计算机BIOS固件Rootkit的检测方法,属于计算机安全技术领域,主要用于应对利用BIOS实现的攻击和可能出现的BIOSRootkit。所述基于行为特征的BIOSRootkit检测方法,包括步骤a,对待分析的二进制BIOS镜像文件进行解析,步骤b,对解析出的二进制文件,按静态控制流的方式对代码进行逆向,将代码片段中的指令语义等价的映射到中间表示,构建程序的控制流图CFG;步骤c,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOSRootkit行为进行行为特征提取,根据行为特征库中的行为模板提取候选行为集合,采用逐步筛选的方法提取行为特征;步骤d,进行恶意行为可疑度判断,输出检测结果。
【技术实现步骤摘要】
本专利技术涉及一种基于程序行为特征的针对计算机BIOS固件Rootkit的检测方法, 属于计算机安全
,适用于对BIOS固件中植入Rootkit的检测。
技术介绍
围绕着争夺系统控制权的较量已经透过应用程序和操作系统内核的防线,深入到 计算机的底层器件,很多底层硬件设备成为双方较量的新战场。BIOS (Basic In and Out System)固件在计算机中主要执行POST (Power On Self Test),主要负责硬件检测和初始 化硬件,在自检和自举阶段对外设识别,将Options ROMs中的代码拷贝到内存中执行。BIOS 直接控制硬件的工作,对各种软硬件资源的访问基本不受限制。BIOS中的代码在操作系统 装载启动之前运行,在BIOS中植入的恶意代码能够绕过几乎所有的基于操作系统实现的 安全机制,因此,具有隐蔽性好,查杀难度大,抗清除等特点,是实现“永久控制”思想的一种 有效尝试。BIOS已经成为恶意代码编制者的新目标,BIOS Rootkit是这些恶意代码中危害 程度较大的一种。通常,一种恶意代码出现以后随之而来的是一系列的变种。这些变种与原始版本 的恶意代码相比,具有功能相似的特点,但因其使用了混淆技术,可以有效逃避特征码匹配 检测,这给传统的检测方法带来挑战。BIOS Rootkit也不例外。当前应用的BIOS Rootkit 检测方法主要有代码验证、完整性与特征码结合检测、动态监控等方法。代码验证是通过一 个执行模块在固件代码执行之前对其进行验证,经过验证保证了控制流安全,运行空间安 全和堆栈的安全。执行验证的模块对BIOS固件代码所使用的编译器有严格的限制,同时 要求程序具有良好的控制流结构和规范,这些严格的要求限制了该方法的适用范围和检测 能力。完整性与特征码相结合的方法通过对BIOS镜像文件进行校验,如果校验和与该种型 号的BIOS镜像文件出厂时的校验和不匹配,则认为不安全的。但是校验和的不匹配并不能 确定具体的原因,通过安全隐患特征库进行特征比对,如果匹配成功,那么就确定了具体的 安全漏洞。这种方法的局限在于厂商通常会对BIOS的一些缺陷和安全漏洞进行修补,缺陷 特征库的构建需要追踪不同的厂商和不同型号的BIOS镜像文件,通过专业人员的分析构 建。动态监控的方法可以认为是代码验证方法的一种变形,通过在BIOS中插入适当的模块 来监控BIOS执行过程中的关键位置,如果关键位置不符合预设条件,那么判定该BIOS不安 全。动态监控方法的限制在于需要对整个计算机系统的结构进行修改,包括CPU和主板。综上所述,BIOS Rootkit具有隐蔽性强、检测难度大、危害程度高等特点。目前针 对BIOS Rootkit的检测方法存在不足动态的方法需要修改原有的目标代码,对检测能力 的扩展性较差;用缺陷特征库的方法需要追踪不同型号和版本的变化,对于BIOS固件代码 分析的更新可能存在冲突,通用性不能满足需求。中国专利技术专利ZL 200610081081. 8 (授权公告号CN100451987C)公开了一种对计 算机BIOS固件进行安全风险检测的系统和方法,通过对BIOS采样和解析BIOS影像文件; 然后扫描BIOS的各种隐患;度量BIOS代码的完整性;输出检测结果,据此对BIOS进行安4全修补。能够有效地减少、降低、消除计算机BIOS存在的安全漏洞和安全隐患,防止计算机 BIOS中代码被恶意修改,或被植入木马程序,从硬件层和固件层共同增强计算机信息系统 安全,防备针对计算机BIOS而发生的各种攻击等安全事故,为高安全计算环境和网络环境 的信息安全、信息保密提供可靠的终端安全防范和全面的保护。其存在的不足是代码经过 混淆变换很容易将变换前二进制级别的特征抹除,具有通用行为的木马经过变形后其二进 制的特征完全不同,如果要精确的检测新的木马变种就需要根据变种不断的在特征库中添 加新特征。同时还需要专业人员来追踪BIOS厂商发布的漏洞补丁和新增功能模块,对特征 库进行维护,工作量非常大,而且很难跟上恶意代码的迅速增长。
技术实现思路
本专利技术针对现有技术不足,提出一种基于行为特征的BIOS固件Rootkit检测方 法,该方法基于对BIOS镜像文件进行逆向分析,采用了语义模板的形式对可疑行为进行定 义,通过三个层次筛选的方法定位可疑行为,再利用模式匹配的方法对行为的可疑度进行 确定。本专利技术主要用于应对利用BIOS实现的攻击和可能出现的BIOS Rootkit0本专利技术所采用的技术方案一种,包括步骤a,对待分析的二进制 BIOS镜像文件进行解析,通过识别解析出的BIOS模块的特征字,从数据库中读取出指导代 码逆向的信息和该模块逻辑功能的形式化的描述信息;步骤b,对解析出的二进制文件,按静态控制流的方式对代码进行逆向,将代码片段中 的指令语义等价的映射到中间表示,构建程序的控制流图CFG ;步骤c,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOS Rootkit 行为进行行为特征提取,根据行为特征库中的行为模板提取候选行为集合,采用逐步筛选 的方法提取行为特征;步骤d,进行恶意行为可疑度判断,输出检测结果,根据BIOS Rootkit模式库DB3对所 提取的可疑BIOS Rootkit行为进行组合,不同的组合模式中对行为的可疑度进行加权,按 照匹配程度进行Rootkit检测结果的生成。所述的,根据行为特征数据库DB2中 定义的可疑行为进行行为特征提取,行为特征数据库DB2中的可疑行为采用语义模板的形 式进行定义,将相同逻辑功能的行为定义为一个模板,根据语句之间的相关性对语句之间 赋予不同的关联关系。所述的,语义模板采用类似c语言的 表达式描述内存和寄存器的操作结果,表达式中的参数分别为寄存器、内存地址和立即数, 行为的生成范式如下BH — S (S)S · S S & S S + SS —εIα其中BH表示行为,《表示构成行为的语句;ε表示空;关系符号解释如下·表示顺序 关系,&表示与关系,+表示或关系,()表示优先级;以上关联关系描述行为的语句之间的控制流相关性,关联关系之间满足一定的优先级关系,即()>,>&>+。所述的,在中间表示上,用抽象语法 树的形式定义语句,语句的类型分为跳转、调用、赋值指令三种类型,行为特征提取方法是 以在行为模板与中间表示之间建立绑定关系再进行筛选的方式进行提取,提取过程通过三 个筛选步骤来实现首先,对输入的中间表示序列按照模板中语句类型、语句数目、语句之 间的联系这三个条件进行划分,建立模板语句与中间表示语句之间的绑定关系,将不符合 条件的语句排除实现初步筛选;其次,对划分后的每一个中间表示语句序列集合进行变量 引用关系判断,将不符合模板中对应语句中变量引用关系的集合删除,实现第二遍筛选;最 后,对剩余的中间表示集合中的变量的取值范围与模板中对应变量进行匹配,将不满足关 系的集合删除,从而得到所满足行为模板所定义的行为。所述的,根据BIOS镜像文件特征字 从数据库DBl中读取镜像文件所属的BIOS型号和镜像文件的版本号,利用数据库DBl中 对该版本号的BIOS镜像文件结构特征的描述来指导对文件格式的本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:张平,李清宝,郭致昌,
申请(专利权)人:张平,
类型:发明
国别省市:41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。