CN101976319A - 基于行为特征的BIOS固件Rootkit检测方法 - Google Patents

基于行为特征的BIOS固件Rootkit检测方法 Download PDF

Info

Publication number
CN101976319A
CN101976319A CN 201010553088 CN201010553088A CN101976319A CN 101976319 A CN101976319 A CN 101976319A CN 201010553088 CN201010553088 CN 201010553088 CN 201010553088 A CN201010553088 A CN 201010553088A CN 101976319 A CN101976319 A CN 101976319A
Authority
CN
China
Prior art keywords
behavior
bios
rootkit
statement
suspicious
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
Application number
CN 201010553088
Other languages
English (en)
Other versions
CN101976319B (zh
Inventor
张平
李清宝
郭致昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 201010553088 priority Critical patent/CN101976319B/zh
Publication of CN101976319A publication Critical patent/CN101976319A/zh
Application granted granted Critical
Publication of CN101976319B publication Critical patent/CN101976319B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种基于程序行为特征的针对计算机BIOS固件Rootkit的检测方法,属于计算机安全技术领域,主要用于应对利用BIOS实现的攻击和可能出现的BIOSRootkit。所述基于行为特征的BIOSRootkit检测方法,包括步骤a,对待分析的二进制BIOS镜像文件进行解析,步骤b,对解析出的二进制文件,按静态控制流的方式对代码进行逆向,将代码片段中的指令语义等价的映射到中间表示,构建程序的控制流图CFG;步骤c,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOSRootkit行为进行行为特征提取,根据行为特征库中的行为模板提取候选行为集合,采用逐步筛选的方法提取行为特征;步骤d,进行恶意行为可疑度判断,输出检测结果。

Description

基于行为特征的BIOS固件Rootkit检测方法
技术领域
本发明涉及一种基于程序行为特征的针对计算机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进行安全修补。能够有效地减少、降低、消除计算机BIOS存在的安全漏洞和安全隐患,防止计算机BIOS中代码被恶意修改,或被植入木马程序,从硬件层和固件层共同增强计算机信息系统安全,防备针对计算机BIOS而发生的各种攻击等安全事故,为高安全计算环境和网络环境的信息安全、信息保密提供可靠的终端安全防范和全面的保护。其存在的不足是:代码经过混淆变换很容易将变换前二进制级别的特征抹除,具有通用行为的木马经过变形后其二进制的特征完全不同,如果要精确的检测新的木马变种就需要根据变种不断的在特征库中添加新特征。同时还需要专业人员来追踪BIOS厂商发布的漏洞补丁和新增功能模块,对特征库进行维护,工作量非常大,而且很难跟上恶意代码的迅速增长。
发明内容
本发明针对现有技术不足,提出一种基于行为特征的BIOS固件Rootkit检测方法,该方法基于对BIOS镜像文件进行逆向分析,采用了语义模板的形式对可疑行为进行定义,通过三个层次筛选的方法定位可疑行为,再利用模式匹配的方法对行为的可疑度进行确定。本发明主要用于应对利用BIOS实现的攻击和可能出现的 BIOS Rootkit。
本发明所采用的技术方案:
一种基于行为特征的BIOS固件Rootkit检测方法,包括步骤a,对待分析的二进制BIOS镜像文件进行解析,通过识别解析出的BIOS模块的特征字,从数据库中读取出指导代码逆向的信息和该模块逻辑功能的形式化的描述信息; 
步骤b,对解析出的二进制文件,按静态控制流的方式对代码进行逆向,将代码片段中的指令语义等价的映射到中间表示,构建程序的控制流图CFG;
步骤c,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOS Rootkit行为进行行为特征提取,根据行为特征库中的行为模板提取候选行为集合,采用逐步筛选的方法提取行为特征;
步骤d,进行恶意行为可疑度判断,输出检测结果,根据BIOS Rootkit模式库DB3对所提取的可疑BIOS Rootkit行为进行组合,不同的组合模式中对行为的可疑度进行加权,按照匹配程度进行Rootkit检测结果的生成。
所述的基于行为特征的BIOS固件Rootkit检测方法,根据行为特征数据库DB2中定义的可疑行为进行行为特征提取,行为特征数据库DB2中的可疑行为采用语义模板的形式进行定义,将相同逻辑功能的行为定义为一个模板,根据语句之间的相关性对语句之间赋予不同的关联关系。
所述的基于行为特征的BIOS 固件Rootkit检测方法,语义模板采用类似c语言的表达式描述内存和寄存器的操作结果,表达式中的参数分别为寄存器、内存地址和立即数,行为的生成范式如下:
BH → S
| (S)
  |  S  ·  S
    |  S  &  S
    |  S  +  S
S   →          ε     |     α
其中BH表示行为,                                                
Figure 821318DEST_PATH_IMAGE001
表示构成行为的语句;ε表示空;关系符号解释如下:
Figure 57740DEST_PATH_IMAGE002
表示顺序关系,
Figure 418314DEST_PATH_IMAGE003
  表示与关系,
Figure 743116DEST_PATH_IMAGE004
表示或关系,( )表示优先级;以上关联关系描述行为的语句之间的控制流相关性,关联关系之间满足一定的优先级关系,即( )>  > & > +。
所述的基于行为特征的BIOS固件Rootkit检测方法,在中间表示上,用抽象语法树的形式定义语句,语句的类型分为跳转、调用、赋值指令三种类型,行为特征提取方法是以在行为模板与中间表示之间建立绑定关系再进行筛选的方式进行提取,提取过程通过三个筛选步骤来实现:首先,对输入的中间表示序列按照模板中语句类型、语句数目、语句之间的联系这三个条件进行划分,建立模板语句与中间表示语句之间的绑定关系,将不符合条件的语句排除实现初步筛选;其次,对划分后的每一个中间表示语句序列集合进行变量引用关系判断,将不符合模板中对应语句中变量引用关系的集合删除,实现第二遍筛选;最后,对剩余的中间表示集合中的变量的取值范围与模板中对应变量进行匹配,将不满足关系的集合删除,从而得到所满足行为模板所定义的行为。
所述的基于行为特征的BIOS固件Rootkit检测方法,根据BIOS镜像文件特征字从数据库DB1中读取镜像文件所属的BIOS型号和镜像文件的版本号,利用数据库DB1中对该版本号的BIOS镜像文件结构特征的描述来指导对文件格式的解析,针对其镜像文件所使用的压缩算法和结构特征对提取出的压缩模块进行解压,获取镜像文件完整的结构视图,实现初步的代码和数据分离。
所述的基于行为特征的BIOS固件Rootkit检测方法,对提取出的可疑行为进行分析,BIOS固件具有一定的特殊性,不同的代码模块具有不同的逻辑功能,同一种行为在不同的代码模块中具有的可疑程度不同,结合镜像文件的结构视图和Rootkit模式进行可疑度判定,将提取的行为与步骤a中读取的功能描述信息进行比较,如果在某个模块中提取的行为恰好是该模块正常情况下具有的逻辑功能,那么将该行为的可疑度设置为一个较低的值,否则设置为一个较高的值,  
所述的基于行为特征的BIOS固件Rootkit检测方法,在步骤d中,依据数据库DB3中存储的BIOS Rootkit模式对可疑行为进行匹配,将可疑行为按照Rootkit模式进行组合,通过对组合后的Rootkit可疑程度的比较,匹配程度较高的模式作为识别检测到的Rootkit模式,在不同的模式中行为之间的联系不同,因此行为所具有的权值也不同,DB3中组成该Rootkit模式的各个行为权值进行加权,最后按照匹配程度最高的BIOS Rootkit模式作为检测到的BIOS Rootkit输出,将每个行为的可疑度与行为的权值相乘求和作为Rootkit的可疑程度提交给用户。
本发明的积极效果:
1、本发明基于行为特征的BIOS固件Rootkit检测方法,能够有效的检测出在BIOS中植入的Rootkit,从固件层面保护计算机系统的安全,防范计算机系统安全攻击事故的发生。本发明针对BIOS固件中已知和未知的Rootkit进行检测,能够有效降低基于固件的恶意代码检测的复杂性,避开已有检测方法的一些固有的缺陷,具有一定的抵抗代码混淆的能力,从而提高检测的适应性和准确性。
2、本发明基于行为特征的BIOS固件Rootkit检测方法,为分析和检测基于固件的恶意代码提供新的辅助工具和技术手段,能帮助计算机安全专家提高工作效率,进一步提升计算机固件安全防护类软件的防护能力。
3、本发明基于行为特征的BIOS固件Rootkit检测方法,基于对BIOS进行逆向反编译,通过语义的方法提取BIOS Rootkit可疑行为,对可疑行为进行综合裁决,给出被植入Rootkit的可疑程度,避开了传统固件安全检测方法的弱点和缺陷,具有较好的通用性和可扩展性。 
附图说明
图1为本发明基于行为特征的BIOS固件Rootlit检测方法系统实现框架图;
图2为中断向量重定向行为树结构示例图。
具体实施方式
实施例一:参见图1,本发明基于行为特征的BIOS固件Rootkit检测方法具体实施过程如下:
1、文件格式解析
文件格式解析首先从BIOS镜像文件中提取出所属的固件型号以及镜像文件的版本号字段,然后根据这些信息从数据库DB1中读取对应的镜像文件的结构信息、模块特征和具体压缩算法,根据这些信息进行镜像文件拆分。对于压缩模块进行解压缩,提取整个镜像文件的结构视图。对于关键的模块,通过对BIOS规范和结构特点分析,事先建立指导逆向解析的信息和形式化的功能描述信息存储与DB1中。通过特征字段识别出关键模块,从数据库DB1中读取出指导逆向的信息来辅助对二进制模块的逆向,功能描述信息用来辅助检测。
2、二进制文件逆向
对于从镜像文件中分离出来的代码片段,按照静态控制流的方式进行逆向,将代码中的指令映射到中间表示RTL,并提取出代码片段的控制流图。通过识别模式切换指令和特征字来进行模式识别和切换。在BIOS代码中一些特殊的地址含义,这些特殊的地址通常是一些BIOS Rootkit经常操作的对象,在逆向过程中对指针的引用情况进行标记,供行为提取模块使用。
3、行为提取
为了降低行为提取的复杂度,首先对中间表示进行规范化处理。对于代码片段的中间表示进行表达式的复制传播,通过传播表达式中变量使用的位置都替换成变量被定义时的表达式。经过传播之后,简单操作的信息得到积累,删除无用的表达式后,中间表示的规模变小,其蕴含的信息变得丰富。根据行为特征库中定义的行为模板,对中间表示进行筛选提取行为。在行为提取时,首先关注带有标记的指针引用语句,以加快行为提取速度。
4、可疑度判定
在可疑度判定之前,对行为的可疑度进行调整。以降低误报率。用实际提取出的行为所能实现的功能与从数据库中读取出来的对应模块的功能描述信息进行比较,如果行为具有的功能超过了数据库中该模块定义的功能范围,那么对行为的可疑度不变,否则降低其可疑程度。按照Rootkit模式库中定义的BIOS Rootkit模式,对提取的行为进行组合。相同的行为在不同的BIOS Rootkit模式中,完成的功能不同,因此对行为的可疑度的加权亦不同。对组合的行为进行模式匹配,按照匹配程度选择匹配程度较高的模式作为最终检测到的BIOS Rootkit,将行为可疑度加权后的总和作为BIOS Rootkit的可疑度以及可能造成的危害输出给用户。
实施例二:参见图1、图2。本实施例基于行为特征的BIOS固件Rootkit检测方法,采用以下步骤对BIOS镜像文件进行Rootkit进行检测:
a.   对待分析的BIOS二进制镜像文件进行解析,根据BIOS镜像文件特征字
从数据库DB1中读取镜像文件所属的BIOS型号和镜像文件的版本号,针对其镜像文件所使用的压缩算法和结构特征对提取出的压缩模块进行解压。获取镜像文件完整的结构视图,实现初步的代码和数据分离。
b.  对提取出来的二进制代码模块进行逆向,将代码片段中的指令语义等价
的映射到中间表示,构建出程序的控制流图CFG,标记出指针的引用情况。
c.   根据数据库DB2中定义的可疑行为,进行行为提取。数据库DB2中的可
疑行为采用语义模板的形式进行定义,在提取行为之前需要对中间表示进行规范化处理。
d.  对提取出的可疑行为进行分析,将可疑行为按照Rootkit模式进行组合,
通过对组合后的Rootkit可疑程度的比较,判断BIOS是否被植入Rootkit工作。BIOS固件具有一定的特殊性,不同的代码模块具有不同的逻辑功能,同一种行为在不同的代码模块中具有的可疑程度不同,结合镜像文件的结构视图和Rootkit模式进行可疑度判定,生成判定结果。
在步骤a中,虽然不同型号的BIOS固件其镜像文件结构存在差异,但是都遵循一定的规范,具有模块化结构的特点。综合不同型号的BIOS镜像文件结构特点,建立一个通用的抽象结构框架。在DB1中存储各种型号的BIOS固件的镜像文件结构特征,代码入口点位置、模块长度、压缩算法和特征字段等。首先,进行镜像文件对应BIOS固件型号和版本号的确定,然后根据对应的文件结构特征进行镜像文件的模块拆分,最后根据某些模块的特征码进行功能识别。
在步骤b中,按静态控制流的方式对代码进行逆向,采用RTL(Register Transfer List)作为指令语义描述语言,将指令映射到中间表示结构,并提取出控制流图CFG。
在步骤c中,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOS Rootkit行为进行行为提取。
可疑BIOS Rootkit行为被定义为实现BIOS Rootkit所必须的一些操作。这些操作具有一定的逻辑功能,用语义模板对其进行描述。
语义模板采用类似C语言的表达式来表示,表达式中的参数分别为寄存器、内存地址和立即数。行为的生成范式如下:
BH → S
| (S)
  |  S  ·  S
    |  S  &  S
    |  S  +  S
S   →          ε     |     α
其中BH表示行为, 
Figure 941196DEST_PATH_IMAGE001
表示构成行为的语句;ε表示空;关系符号解释如下:
Figure 738251DEST_PATH_IMAGE002
表示顺序关系,两端的子项顺序不能互换位置,满足左结合规则;满足传递性质;
Figure 284770DEST_PATH_IMAGE003
 表示与关系,两端的子项可以整体互换位置,满足左结合规则;满足交换和传递性质;
Figure 458262DEST_PATH_IMAGE004
表示或关系,两端的子项中选取其中一项,满足左结合规则;满足交换和传递性质;( ) 表示优先级。以上关联关系描述行为的语句之间的控制流相关性,关联关系之间满足一定的优先级关系,即( )>  > & > +。
Figure 374583DEST_PATH_IMAGE001
表示构成行为的语句;ε表示空;在中间表示上,用抽象语法树的形式定义语句,语句的类型分为跳转、调用、赋值指令三种类型。跳转类型只有一个操作数,表示目标地址,用一元表达式描述;调用类型将函数调用和中断以及I/O等统一起来,一般的函数调用语句的操作数是目标地址,中断和I/O用抽象的函数来进行解析;赋值类型使用二元表达式表示,表达式左部表示目的地址,右部表示源地址。在程序中指令的操作数不同,其操作的对象也不同,对应于行为中的语句对表达式中变量的取值范围加以约束,来具体刻画行为,在同一个行为中,不同语句中相同的变量满足相同的约束条件。
一个行为可以用一个树结构来表示,如图2所示,表示向量号为0~0x2e之间的中断向量重定向行为。
行为提取方法是采用在行为模板和中间表示中建立连接的形式进行行为特征提取,按照不同的约束条件进行筛选,一个行为提取的三个筛选步骤可以用如下的三个函数来表示。
对于一个中间表示序列PIR{a1,a2,…,an}
STypesMatch:BH ×PIR → TBL 
TBL = {{ai,…,aj},{ak,…,ar},…,{ax,…,ay}}
SParaMatch: BH ×TBL → TBH
TBH = {{ak,…,ar},…,{ax,…,ay}}
SBoundMatch: BH ×TBH → {{ax,…,ay},Φ}
其中,函数STypesMatch接收一个行为模板和一段中间表示,按照模板中语句的类型、语句的数目以及语句之间的关系对中间表示进行划分,在行为的语句和中间表示之间建立语句绑定。行为的语句之间的关联关系使得它们之间的顺序变得灵活,在一段中间表示上满足行为类型的划分方法有多种,每一种划分提取出来的中间表示都有可能是行为模板的实例,一起构成了候选行为实例集合TBL。
函数SParaMatch接收行为模板和候选行为实例集合TBL,建立语句表达式的变量之间的绑定关系,根据行为模板语句表达式中变量的引用关系进行进一步筛选。将不满足模板中语句表达式的变量引用关系的行为实例删除,得到精简的行为候选集合TBH。
函数SBoundMatch接收行为模板和精简行为候选集合TBH,对变量进行约束条件匹配。对不满足约束条件的候选行为删除,如果精简行为候选集合为空,那么认为没有识别出行为,如果非空则认为识别出行为模板定义的行为。
由于指令直接映射的中间表示结构简单,这导致中间表示的规模较大,不利于行为提取。在行为提取前期,对中间表示进行规范化处理,缩减中间表示的规模。包括:表达式的复制传播,对一些无用的表达式进行清除。
在步骤d中,依据数据库DB3中存储的BIOS Rootkit模式对可疑行为进行匹配,匹配程度进行可疑性判决。在BIOS中,每一个模块都有一定的逻辑功能,当某一模块被植入Rootkit,那么Rootkit必然会使用以下两种方式之一来实现恶意功能:Rootkit利用该模块中已有的操作来实现,或者在该模块中添加额外的功能来实现。有一部分Rootkit的行为的逻辑功能与正常BIOS某些模块的功能相同,通常完全利用BIOS模块本身提供的功能,在模块中添加其它功能的情况较少。对所提取的行为所在的模块进行功能比对,如果在某个模块中提取的行为恰好是该模块正常情况下具有的逻辑功能,那么将该行为的可疑度设置为0,否则根据库中定义的值进行设置。最后按照匹配程度最高的BIOS Rootkit模式作为检测到的BIOS Rootkit输出,将行为的可疑度进行加权求和即为可疑程度显示给用户。

Claims (8)

1.一种基于行为特征的BIOS固件Rootkit检测方法,其特征是包括以下步骤:
步骤a,对待分析的二进制BIOS镜像文件进行解析,识别BIOS模块的特征字,根据特征字读取数据库中存储的两类信息,一类是模块结构信息,用于辅助逆向分析,另一类是对该模块的逻辑功能的形式化描述信息,用于辅助检测;
步骤b,对解析出的二进制文件,按静态控制流的方式对代码进行逆向分析,并进行代码间隙扫描,通过对代码片段中的指令进行语义等价的映射方式,将代码片段映射到中间表示结构,构建程序的控制流图CFG;
步骤c,先对中间表示进行简化,然后根据行为特征库DB2中存储的可疑BIOS Rootkit行为进行行为特征提取,根据行为特征库中的行为模板提取候选行为集合,采用逐步筛选的方法实现可疑行为定位和行为特征提取;
步骤d,进行恶意行为可疑度判断,输出检测结果,根据BIOS Rootkit模式库DB3对所提取的可疑BIOS Rootkit行为进行行为关联性分析,将提取的行为进行组合与模式库中的BIOS Rootkit模式进行匹配,匹配程度最高的模式作为检测出的BIOS Rootkit实例,并按照各个行为在该模式中的比重赋予不同的权值,最后计算出可疑程度。
2.根据权利要求1所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:根据行为特征数据库DB2中定义的可疑行为进行行为特征提取,行为特征数据库DB2中的可疑行为采用语义模板的形式进行定义,将相同逻辑功能的行为定义为一个模板,根据语句之间的相关性对语句之间赋予不同的关联关系。
3.根据权利要求2所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:语义模板采用表达式描述内存和寄存器的操作结果,表达式中的变量分别为寄存器、内存地址和立即数,行为的生成范式如下:
BH → S
|   (S)
|  S  ·  S
|  S  &  S
|  S  +  S
S   →        ε     |   α
其中BH表示行为,                                                
Figure 181179DEST_PATH_IMAGE001
表示构成行为的语句;ε表示空;关系符号解释如下:表示顺序关系,
Figure 820288DEST_PATH_IMAGE003
  表示与关系,
Figure 21462DEST_PATH_IMAGE004
表示或关系,( )表示优先级;以上关联关系描述行为的语句之间的控制流相关性,关联关系之间满足一定的优先级关系,即()> 
Figure 604890DEST_PATH_IMAGE005
 > & > +。
4.根据权利要求3所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:在中间表示上,语句的类型分为跳转、调用、赋值指令三种类型,用抽象语法树的形式定义语句,按照模板中语句类型、语句数量、语句之间的关联关系对输入的中间表示序列进行划分,并建立中间表示语句和模板语句之间的绑定关系,通过这种绑定关系定位所识别的行为在代码中的位置。
5.根据权利要求1、2、3或4所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:采用在行为模板和中间表示中建立绑定关系并多次筛选的形式进行行为特征提取,根据行为模板的定义在中间表示上提取出语句的数目、类型匹配的中间表示作为候选行为;对候选行为进行变量引用关系匹配和变量约束条件匹配,筛选出最终满足行为模板的行为。
6.根据权利要求5所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:根据BIOS镜像文件特征字从数据库DB1中读取镜像文件所属的BIOS型号和镜像文件的版本号,利用数据库DB1中对该版本号的BIOS镜像文件结构信息来指导对镜像文件中各个模块的解析和逆向,提取其中的压缩模块进行解压,获取镜像文件完整的结构视图,实现初步的代码和数据分离。
7.根据权利要求6所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:对提取出的可疑行为进行分析,对所提取的行为与步骤a中提取的功能描述信息进行比对,如果在某个模块中提取的行为恰好是该模块正常情况下具有的逻辑功能,那么将该行为的可疑度设置为一个较低的值,否则设置一个较高的值,根据BIOS固件不同的代码模块具有不同的逻辑功能,同一种行为在不同的代码模块中具有的可疑程度不同,对行为进行关联性分析,结合镜像文件的结构视图对Rootkit模式进行可疑度裁决,以降低误报率。
8.根据权利要求7所述的基于行为特征的BIOS固件Rootkit检测方法,其特征在于:在步骤d中,依据数据库DB3中存储的BIOS Rootkit模式对可疑行为的组合进行匹配,将可疑行为按照Rootkit模式进行组合,通过对组合后的Rootkit可疑程度的比较,匹配程度较高的模式作为识别检测到的Rootkit模式,在不同的模式中行为之间的联系不同,行为所具有的权值也不同,DB3中组成该Rootkit模式的各个行为权值进行加权最后按照匹配程度较高的BIOS Rootkit模式作为检测到的BIOS Rootkit输出,将行为的可疑度进行加权求和即为可疑程度显示给用户。
CN 201010553088 2010-11-22 2010-11-22 基于行为特征的BIOS固件Rootkit检测方法 Expired - Fee Related CN101976319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010553088 CN101976319B (zh) 2010-11-22 2010-11-22 基于行为特征的BIOS固件Rootkit检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010553088 CN101976319B (zh) 2010-11-22 2010-11-22 基于行为特征的BIOS固件Rootkit检测方法

Publications (2)

Publication Number Publication Date
CN101976319A true CN101976319A (zh) 2011-02-16
CN101976319B CN101976319B (zh) 2012-07-04

Family

ID=43576203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010553088 Expired - Fee Related CN101976319B (zh) 2010-11-22 2010-11-22 基于行为特征的BIOS固件Rootkit检测方法

Country Status (1)

Country Link
CN (1) CN101976319B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339371A (zh) * 2011-09-14 2012-02-01 奇智软件(北京)有限公司 一种检测恶意程序的方法、装置及虚拟机
CN102867144A (zh) * 2012-09-06 2013-01-09 北京奇虎科技有限公司 一种用于检测和清除计算机病毒的方法和装置
CN103065094A (zh) * 2011-12-28 2013-04-24 卡巴斯基实验室封闭式股份公司 用于检测目标为计算机引导过程的恶意软件的系统和方法
CN103632091A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 恶意特征提取方法、装置及存储介质
CN104133681A (zh) * 2014-07-28 2014-11-05 浪潮(北京)电子信息产业有限公司 一种ambari-web端架构分析方法
CN105740706A (zh) * 2015-12-25 2016-07-06 哈尔滨安天科技股份有限公司 基于api名称和立即数的启发式样本检测方法及系统
CN106295335A (zh) * 2015-06-11 2017-01-04 中国科学院信息工程研究所 一种面向嵌入式设备的固件漏洞检测方法及系统
CN107861729A (zh) * 2017-11-08 2018-03-30 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN107886012A (zh) * 2017-10-28 2018-04-06 天津大学 基于门级结构特征的单触发硬件木马检测方法
CN108733404A (zh) * 2018-05-28 2018-11-02 电子科技大学 一种针对fpga固件的精准逆向工程方法
CN109375945A (zh) * 2018-08-28 2019-02-22 中国人民解放军国防科技大学 物联网设备的固件版本探测方法及漏洞修复率评估方法
CN109684838A (zh) * 2018-11-23 2019-04-26 电子科技大学 一种针对以太坊智能合约的静态代码审计系统及方法
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法
CN111164660A (zh) * 2017-10-06 2020-05-15 索尼公司 信息处理装置、信息处理方法和程序
CN112287342A (zh) * 2020-09-23 2021-01-29 北京沃东天骏信息技术有限公司 物联网固件动态检测方法、装置、电子设备以及存储介质
CN113051858A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079003A (zh) * 2006-05-23 2007-11-28 北京金元龙脉信息科技有限公司 对计算机bios固件进行安全风险检测的系统和方法
WO2008005067A1 (en) * 2006-06-30 2008-01-10 Microsoft Corporation Identifying malware in a boot environment
CN101359351A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 针对恶意行为的多层语义标注及检测方法
CN101359352A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 分层协同的混淆后api调用行为发现及其恶意性判定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079003A (zh) * 2006-05-23 2007-11-28 北京金元龙脉信息科技有限公司 对计算机bios固件进行安全风险检测的系统和方法
WO2008005067A1 (en) * 2006-06-30 2008-01-10 Microsoft Corporation Identifying malware in a boot environment
CN101359351A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 针对恶意行为的多层语义标注及检测方法
CN101359352A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 分层协同的混淆后api调用行为发现及其恶意性判定方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339371A (zh) * 2011-09-14 2012-02-01 奇智软件(北京)有限公司 一种检测恶意程序的方法、装置及虚拟机
CN102339371B (zh) * 2011-09-14 2013-12-25 奇智软件(北京)有限公司 一种检测恶意程序的方法、装置及虚拟机
CN103065094A (zh) * 2011-12-28 2013-04-24 卡巴斯基实验室封闭式股份公司 用于检测目标为计算机引导过程的恶意软件的系统和方法
CN103065094B (zh) * 2011-12-28 2015-09-02 卡巴斯基实验室封闭式股份公司 用于检测目标为计算机引导过程的恶意软件的系统和方法
CN103632091A (zh) * 2012-08-21 2014-03-12 腾讯科技(深圳)有限公司 恶意特征提取方法、装置及存储介质
CN103632091B (zh) * 2012-08-21 2017-08-25 腾讯科技(深圳)有限公司 恶意特征提取方法、装置及存储介质
CN102867144A (zh) * 2012-09-06 2013-01-09 北京奇虎科技有限公司 一种用于检测和清除计算机病毒的方法和装置
CN102867144B (zh) * 2012-09-06 2015-08-19 北京奇虎科技有限公司 一种用于检测和清除计算机病毒的方法和装置
CN104133681A (zh) * 2014-07-28 2014-11-05 浪潮(北京)电子信息产业有限公司 一种ambari-web端架构分析方法
CN104133681B (zh) * 2014-07-28 2017-11-03 浪潮(北京)电子信息产业有限公司 一种ambari‑web端架构分析方法
CN106295335B (zh) * 2015-06-11 2021-09-24 中国科学院信息工程研究所 一种面向嵌入式设备的固件漏洞检测方法及系统
CN106295335A (zh) * 2015-06-11 2017-01-04 中国科学院信息工程研究所 一种面向嵌入式设备的固件漏洞检测方法及系统
CN105740706A (zh) * 2015-12-25 2016-07-06 哈尔滨安天科技股份有限公司 基于api名称和立即数的启发式样本检测方法及系统
CN105740706B (zh) * 2015-12-25 2019-05-07 哈尔滨安天科技股份有限公司 基于api名称和立即数的启发式样本检测方法及系统
CN111164660A (zh) * 2017-10-06 2020-05-15 索尼公司 信息处理装置、信息处理方法和程序
CN107886012A (zh) * 2017-10-28 2018-04-06 天津大学 基于门级结构特征的单触发硬件木马检测方法
CN107861729A (zh) * 2017-11-08 2018-03-30 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN107861729B (zh) * 2017-11-08 2021-08-24 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN108733404A (zh) * 2018-05-28 2018-11-02 电子科技大学 一种针对fpga固件的精准逆向工程方法
CN109375945A (zh) * 2018-08-28 2019-02-22 中国人民解放军国防科技大学 物联网设备的固件版本探测方法及漏洞修复率评估方法
CN109375945B (zh) * 2018-08-28 2022-04-12 中国人民解放军国防科技大学 物联网设备的固件版本探测方法及漏洞修复率评估方法
CN109684838B (zh) * 2018-11-23 2020-03-27 电子科技大学 一种针对以太坊智能合约的静态代码审计系统及方法
CN109740347A (zh) * 2018-11-23 2019-05-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法
CN109740347B (zh) * 2018-11-23 2020-07-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法
CN109684838A (zh) * 2018-11-23 2019-04-26 电子科技大学 一种针对以太坊智能合约的静态代码审计系统及方法
CN112287342A (zh) * 2020-09-23 2021-01-29 北京沃东天骏信息技术有限公司 物联网固件动态检测方法、装置、电子设备以及存储介质
CN113051858A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法
CN113051858B (zh) * 2021-03-22 2024-04-30 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法

Also Published As

Publication number Publication date
CN101976319B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN101976319A (zh) 基于行为特征的BIOS固件Rootkit检测方法
Li et al. Vulnerability detection with fine-grained interpretations
CN103761476B (zh) 特征提取的方法及装置
CN103473506B (zh) 用于识别恶意apk文件的方法和装置
CN101266550B (zh) 一种恶意代码检测方法
CN101438529B (zh) 经由动态转换的主动计算机恶意软件保护
CN103262088B (zh) 评估应用代码中的降级器代码的方法和装置
CN105550594A (zh) 安卓应用文件的安全性检测方法
CN113010209A (zh) 一种抗编译差异的二进制代码相似性比较技术
CN105683990A (zh) 用于保护动态库的方法和装置
CN114077741B (zh) 软件供应链安全检测方法和装置、电子设备及存储介质
CN113497809B (zh) 基于控制流和数据流分析的mips架构漏洞挖掘方法
CN105022958A (zh) 一种安卓应用中基于代码库安全规约的应用程序漏洞检测分析方法
CN103577323A (zh) 基于动态关键指令序列胎记的软件抄袭检测方法
CN112016138A (zh) 一种车联网自动化安全建模的方法、装置和电子设备
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
CN113885876A (zh) 一种参数校验方法、装置、存储介质及计算机系统
Argañaraz et al. Detection of vulnerabilities in smart contracts specifications in ethereum platforms
CN105793864A (zh) 检测恶意多媒体文件的系统和方法
CN113626829A (zh) 基于漏洞情报的智能终端操作系统漏洞修复方法及系统
Xing et al. The devil is in the detail: Generating system call whitelist for Linux seccomp
CN109299610B (zh) 安卓系统中不安全敏感输入验证识别方法
CN116361806A (zh) 基于多示例和注意力机制的智能合约分析方法及装置
Zhu et al. A firmware code gene extraction technology for IoT terminal
KR102269174B1 (ko) 스마트 컨트랙트 검증 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20121122