CN106295335A - 一种面向嵌入式设备的固件漏洞检测方法及系统 - Google Patents
一种面向嵌入式设备的固件漏洞检测方法及系统 Download PDFInfo
- Publication number
- CN106295335A CN106295335A CN201510319074.6A CN201510319074A CN106295335A CN 106295335 A CN106295335 A CN 106295335A CN 201510319074 A CN201510319074 A CN 201510319074A CN 106295335 A CN106295335 A CN 106295335A
- Authority
- CN
- China
- Prior art keywords
- firmware
- function
- fingerprint
- leak
- dis
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种面向嵌入式设备的固件漏洞检测方法及系统,涉及嵌入式设备固件的漏洞挖掘与分析。本发明可利用固件中的函数之间的关联性,将已挖掘到的固件漏洞自动扩散到其他固件。其方法流程主要包括:固件爬取与漏洞收集,设备信息提取,固件的解码与反汇编,函数的指纹提取与匹配以及漏洞验证等步骤。本发明通过属性计数型指纹配合结构度量型指纹的方法兼顾了匹配的速度与精度,同时所用到的指纹特征均具有跨编译器和跨处理器平台的特性,因此保证了匹配时的强鲁棒性。
Description
技术领域
本发明涉及漏洞挖掘与分析领域,具体涉及一种面向嵌入式设备的固件漏洞检测方法及系统。
背景技术
随着物联网和工业4.0的稳步推进,嵌入式设备被广泛应用在生产和生活之中,并且发挥着越来越重要的作用。然而,由于传统的嵌入式设备厂商普遍缺乏安全意识,近年来有关嵌入式固件的漏洞不断被曝光。这些漏洞涉及的设备包括工业控制器、安防摄像头、路由器、数字电话、汽车控制器等。由嵌入式固件漏洞而引发的安全事件也不断被报导。目前针对嵌入式设备的漏洞挖掘方法主要是靠人工对某特定设备的固件进行挖掘。但是由于代码的模块化设计和开源共享等原因,嵌入式固件漏洞有着强关联的特点,即存在于某固件中的某函数的漏洞往往也会存在于其他固件中。目前缺少一种利用固件中的函数之间的关联性,将已挖掘到的固件漏洞自动扩散到其他固件的方法。
发明内容
有鉴于此,本发明致力于提供一种面向嵌入式设备的固件漏洞检测方法及系统。
本发明涉及的方法流程主要包括:固件收集与漏洞挖掘,设备信息提取,固件的解码与反汇编,函数的指纹提取与匹配以及漏洞验证等步骤。本发明的技术创新点在于通过属性计数型指纹配合结构度量型指纹的方法兼顾了匹配的速度与精度,同时所用到的指纹特征均具有跨编译器和跨处理器平台的特性,因此保证了匹配时的强鲁棒性。
为了实现上述目的,本发明采用以下技术方案:
一种面向嵌入式设备的固件漏洞检测方法,包括以下步骤:
1)收集嵌入式设备的固件并存入到固件库;
2)对收集到的固件进行设备信息识别,得到该固件的编码算法和使用的指令集;
3)对固件进行解码与反汇编得到固件的汇编函数,并提取汇编函数的函数指纹;
4)将固件函数指纹与提取得到的已知漏洞的漏洞函数指纹进行逐一匹配,将函数相似度大于设定阈值的固件函数指纹对应的函数作为疑似漏洞函数;
5)对疑似漏洞函数进行漏洞验证,完成面向嵌入式设备的固件漏洞检测。
进一步地,步骤1)中收集嵌入式设备的固件的方法包括:利用网页爬虫定期爬取各厂家在其固件更新网站上公开的固件。
进一步地,步骤2)包括在已有的知识库对收集到的固件进行设备信息识别,查询得到该固件的编码算法和使用的指令集;或者对收集得到的固件的编码算法和使用的指令集进行自动识别后,将该固件的设备信息连同对应的编码算法和指令集存入知识库中;所述知识库中主要保存了厂家产品系列与编码算法指令集间的映射关系。
进一步地,所述设备信息包括厂家信息,产品信息,固件版本号等。
进一步地,步骤3)中,利用同厂商同产品系列的固件编码与使用指令集的延续性,结合已有的知识库来选择解码算法和反汇编软件对固件进行解码和反汇编。
进一步地,步骤3)和4)中,所述函数指纹包括属性计数型指纹和结构度量型指纹,所述属性计数型指纹是指从函数程序中提取出数个软件度量特征,计算每个函数的n个不同的软件度量指标,以便将程序映射到一个n维的笛卡尔空间,然后利用向量空间模型来度量程序代码的相似性;所述结构度量型指纹是指通过对函数的指令序列、函数内部代码块结构、函数外部调用关系结构进行特征向量提取,并针对每个特征向量选用相应的匹配算法来计算相似性,然后将各个特性向量上的相似性进行加权相加得到函数的整体相似性。
进一步地,所述属性计数指纹包括但不限于:函数容量、函数栈帧大小、函数变量读写次数、函数控制流图(CFG)的圈复杂度、函数在调用链中的深度等。所述结构度量型指纹包括但不限于:去除依赖关系后的抽象操作码序列、函数控制流程图(CFG)、函数调用图(CG)等。
进一步地,步骤4)中,首先使用属性计数型指纹对匹配函数进行筛选,然后使用结构度量型指纹对筛选后的函数进行深度匹配得到最终的函数相似度。
一种面向嵌入式设备的固件漏洞检测系统,包括:
固件收集模块,用于收集嵌入式设备的固件并存入到固件库;
设备信息识别模块,用于识别收集得到的固件的设备信息,得到该固件的编码算法和使用的指令集;以及将固件的设备信息连同对应的编码算法和指令集存入知识库;
固件解码与反汇编模块,用于对固件进行解码与反汇编得到固件的汇编函数;
函数指纹提取与匹配模块,用于提取汇编函数的函数指纹,将其存入到固件函数指纹库中;用于提取漏洞函数的函数指纹,并将其存入到漏洞函数指纹库中;以及用于将漏洞函数指纹与固件函数指纹进行逐一匹配,将函数相似度大于设定阈值的固件函数指纹对应的函数存入疑似漏洞库;
漏洞验证模块,用于对疑似漏洞库中的漏洞函数进行漏洞验证,将验证成功的函数存入到漏洞库。
进一步地,上述系统还包括漏洞收集模块和漏洞函数定位模块,所述漏洞收集模块,用于挖掘和搜集到已知漏洞并存入漏洞库;所述漏洞函数定位模块,用于对漏洞库中的漏洞进行漏洞分析,定位到触发漏洞的漏洞函数。
进一步地,上述固件解码与反汇编模块还包括解码子模块和固件反汇编子模块,所述解码子模块用于将固件的压缩算法经过解码框架处理后得到二进制代码并保存到二进制代码库;所述固件反汇编子模块用于从二进制代码库中取出二进制代码,然后输入到一个反汇编框架中进行反汇编,并将经过反汇编处理后的信息输出到汇编代码库。
本发明的有益效果如下:
由于嵌入式系统中使用的处理器和编译器种类繁多,而且大多数使用的是RISC精简指令集,指令顺序容易被编译器进行打乱优化,综上,嵌入式固件中的函数体现出了比PC端软件更多的异构性。本发明通过提取函数中跨编译器和跨处理器平台的特征作为函数指纹,克服了上述异构性带来的挑战。
本发明采用先进行属性计数型指纹匹配然后进行结构度量型指纹匹配的方法提高了指纹匹配的速度和精度。
本发明可利用固件中的函数之间的关联性,将已挖掘到的固件漏洞自动扩散到其他固件。
附图说明
图1为本发明中的方法总体流程框图;
图2为本发明中的基于先验知识库的固件解码和反汇编流程示意图;
图3为本发明中的属性计数型指纹和结构度量性指纹的提取和匹配流程示意图;
图4为本发明中的系统结构框架图;
图5为本发明系统中固件收集流程示意图;
图6为本发明从固件库中识别设备信息的流程示意图;
图7为本发明对二进制代码进行反汇编处理的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。
该方法的总体框图如图1所示。包括:
a)利用网页爬虫定期爬取各厂家在其固件更新网站上公开的固件,并存入到固件库;
b)对固件库中的固件进行设备信息识别,若该固件的设备信息不在知识库中,则继续步骤c),否则从知识库中查询得到该固件的编码算法和使用的指令集后跳转到步骤d);
同厂家同产品系列的嵌入式设备往往具有相同的编码算法,拥有相同的处理器,使用相同的指令集。知识库中主要保存了厂家产品系列与编码算法指令集间的映射关系。
c)对收集得到的固件的编码算法和使用的指令集进行自动识别,并将该固件的设备信息连同对应的编码算法和指令集存入知识库中;
d)对其进行解码与反汇编得到固件的汇编函数;
e)提取汇编函数的函数指纹,并将其存入到固件函数指纹库中;
提取汇编函数函数指纹的方法采用公知技术手段便可实现,即通过分析反汇编软件(IDA)的输出文件来提取函数指纹。
f)将挖掘和搜集到的已知漏洞(如0day漏洞)存入漏洞库中;
g)对漏洞库中的漏洞进行漏洞分析,定位到触发漏洞的漏洞函数;
漏洞分析与定位漏洞函数采用的公知技术手段便可实现,即:通过二进制补丁分析的方法将漏洞定位到某个函数。
h)提取漏洞函数的函数指纹,并将其存入到漏洞函数指纹库中;
i)将漏洞函数指纹与固件函数指纹进行逐一匹配,若相似度大于设定的阈值则将固件函数指纹对应的函数存入疑似漏洞库中;
属性计数型函数指纹的一种定义方式为:
AF={CodeLen,FrameSize,DataRf,CalltoNum,CallfromNum,CycComplex}
式中CodeLen为函数代码长度,FrameSize为函数栈帧大小,DataRf为数据引用的数量,CalltoNum为调用其他函数的数量,CallfromNum为被其他函数所调用的数量,CycComplex为函数的圈复杂度。
结构度量型函数指纹的一种定义方式为:
SF={CFG,CF,StrRf}
式中CFG为函数的控制流程图,CF为函数的调用图,StrRf为函数中所引用的字符串。
例如,计算出固件函数A与漏洞函数B的属性计数型指纹的相似度Sim_af=0.88。计算出函数A与函数B的结构度量型指纹的相似度Sim_sf=0.76。综合相似度Sim=0.5*Sim_af+0.5*Sim_sf=0.82。相似度阈值设为δ=0.8。在该实例下Sim>δ,所以需要将该函数A存入疑似漏洞库中。
j)对疑似漏洞库中的漏洞函数进行漏洞验证,若验证成功则存入到漏洞库中。
漏洞验证过程采用公知技术手段便可实现,即:通过判断针对该漏洞函数的漏洞利用代码是否有效来进行漏洞验证。如果有效则验证成功,否则验证失败。
本发明在进行固件解码与反汇编时利用了同厂商同产品系列的固件编码与使用指令集的延续性,结合知识库中的已有的先验知识来选择解码算法和反汇编模块对固件进行自动解码和反汇编。相应的工作流程如图2所示。
函数的属性计数型指纹是指从函数程序中提取出数个软件度量特征,计算每个函数的n个不同的软件度量指标,以便将程序映射到一个n维的笛卡尔空间,然后利用向量空间模型来度量程序代码的相似性。属性计数型指纹具有匹配速度快的特点,但准确性较差。本发明使用该指纹对待匹配的函数样本进行初步筛选,排除掉相似度低于设定阈值的函数,高于阈值的函数进入结构度量型指纹匹配阶段。
函数的结构度量型指纹是指通过对函数的指令序列、函数内部代码块结构、函数外部调用关系结构进行特征向量提取,并针对每个特征向量选用相应的匹配算法来计算相似性,然后将各个特性向量上的相似性进行加权相加得到函数的整体相似性。结构度量型指纹具有匹配精度高的特点,但匹配速度较慢。本发明使用该指纹对经过筛选后的样本函数进行结构度量型指纹匹配,得到最终的函数相似性。
由于嵌入式系统中使用的处理器和编译器种类繁多,而且大多数使用的是RISC精简指令集,指令顺序容易被编译器进行打乱优化,综上,嵌入式固件中的函数体现出了比PC端软件更多的异构性。本发明通过提取函数中跨编译器和跨处理器平台的特征作为函数指纹,克服了上述异构性带来的挑战。整个指纹提取和匹配流程如图3所示。
本发明的系统结构图如图4所示,主要包括:固件收集模块,漏洞收集模块,设备信息识别模块,固件解码与反汇编模块,漏洞函数定位模块,函数指纹提取与匹配模块以及漏洞验证模块。其中:
该实例中的固件收集模块包括一个使用名为pyspider的开源爬虫软件和一个用户提交界面,收集后的固件存储在固件库中,如图4所示。
嵌入式固件通常通过采用某种压缩算法进行压缩处理,“解码”是指使用对应该压缩算法的解码算法进行解压。该实例中的设备信息识别和解码模块以Binary Analysis Toolkit(二进制代码分析套件)为核心。通过插件的方式,扩展对新的解码算法的支持,以及对设备信息识别的支持。经过解码框架处理后得到的二进制代码输出给固件反汇编框架。由设备信息识别插件识别到的设备信息输出到知识库中,如图5所示。
该实例中的固件反汇编模块从二进制代码库中取出二进制代码,然后输入到一个反汇编框架中进行反汇编。该反汇编框架以IDA为核心,通过IDC或Python脚本插件的方式扩展处理器模块和辅助功能模块(如:函数基址定位、加载基址定位、符号表关联与去匿名化等)。经过反汇编处理后的信息输出到汇编代码库中,如图6所示。
该实例中使用的属性计数型指纹包括函数容量、函数栈帧大小、函数变量读写次数、函数控制流图(CFG)的圈复杂度、函数在调用链中的深度。
其中:
函数容量定义为:V=N log2n,式中N为函数中的指令总数,n为函数中出现的指令的种类数;
函数栈帧大小指的是函数局部变量和函数参数的总大小;
函数控制流程图(CFG)的圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量方法,用于计算程序的基本的独立路径数目,该方法首先将程序代码转换为一个带有唯一入口和出口结点的控制流图,在程序控制流程图中,节点表示程序中一个顺序代码单元,边表示程序中的分支。一个有e条边和n个节点的控制流程图G,其圈复杂度定义为V(G)=e-n+2p式中:p=控制流图中的模块数,圈复杂度越大代表程序逻辑越复杂。
函数在调用链的深度表征了该函数所处的层次。若深度低,则该函数可能是上层应用函数,若深度深,则该函数可能是底层api函数。
该实例中使用的结构度量型指纹包括:去除依赖关系后的抽象操作码序列、函数控制流程图(CFG)、函数调用图(CG)。
函数调用图(CG:call graph):函数调用图描述了函数之间的调用关系,并以有向图的形式进行表达,有向图的节点为函数,有向图边的始点为作为调用方的函数,有向图边的终点为作为被调用方的函数。
函数控制流程图(CFG:control flow graph):函数控制流程图描述了函数内部连续程序块的传递和流向,并以有向图的形式进行表达,有向图的节点为连续程序块,有向图的边表示程序块的流向。
其中:
去除依赖关系后的抽象操作码序列指的是将无依赖关系的连续指令操作码按照字典顺序生成一个偏序,而有依赖关系的指令保持原顺序,然后将指令分布情况作为函数特征向量,以此来解决函数指令乱序的问题。另外这里所说的抽象指令是指将不同处理器平台的指令进行抽象统一(例如数据加载指令,调用指令等),目的是屏蔽不同处理器平台的机器码不一致的问题。还有使用操作码而不用操作数的原因是操作数非常容易变化。
综上所述,本发明公开了一种面向嵌入式设备的固件漏洞检测方法及系统。上面描述的应用场景和实施例,并非用于限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可做各种的更动和润饰,因此本发明的保护范围视权利要求范围所界定。
Claims (10)
1.一种面向嵌入式设备的固件漏洞检测方法,包括以下步骤:
1)收集嵌入式设备的固件并存入到固件库;
2)对收集到的固件进行设备信息识别,得到该固件的编码算法和使用的指令集;
3)对固件进行解码与反汇编得到固件的汇编函数,并提取漏洞函数的函数指纹;
4)将固件函数指纹与提取得到的已知漏洞的漏洞函数指纹进行逐一匹配,将函数相似度大于设定阈值的固件函数指纹对应的函数作为疑似漏洞函数;
5)对疑似漏洞函数进行漏洞验证,完成面向嵌入式设备的固件漏洞检测。
2.如权利要求1所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,步骤1)中收集嵌入式设备的固件的方法包括:利用网页爬虫定期爬取各厂家在其固件更新网站上公开的固件。
3.如权利要求1所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,步骤2)包括在已有的知识库对收集到的固件进行设备信息识别,查询得到该固件的编码算法和使用的指令集;或者对收集得到的固件的编码算法和使用的指令集进行自动识别后,将该固件的设备信息连同对应的编码算法和指令集存入知识库中;所述知识库中包括厂家产品系列与编码算法指令集间的映射关系。
4.如权利要求3所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,步骤3)中,利用同厂商同产品系列的固件编码与使用指令集的延续性,结合已有的知识库来选择解码算法和反汇编软件对固件进行解码和反汇编。
5.如权利要求1所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,步骤3)和4)中,所述函数指纹包括属性计数型指纹和结构度量型指纹,所述属性计数型指纹是指从函数程序中提取出数个软件度量特征,计算每个函数的n个不同的软件度量指标,将程序映射到一个n维的笛卡尔空间,然后利用向量空间模型来度量程序代码的相似性;所述结构度量型指纹是指通过对函数的指令序列、函数内部代码块结构、函数外部调用关系结构进行特征向量提取,并针对每个特征向量选用相应的匹配算法来计算相似性,然后将各个特性向量上的相似性进行加权相加得到函数的整体相似性。
6.如权利要求5所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,所述属性计数指纹包括:函数容量、函数栈帧大小、函数变量读写次数、函数控制流图的圈复杂度、函数在调用链中的深度;所述结构度量型指纹包括:去除依赖关系后的抽象操作码序列、函数控制流程图、函数调用图。
7.如权利要求5所述的面向嵌入式设备的固件漏洞检测方法,其特征在于,步骤4)中,首先使用属性计数型指纹对匹配函数进行筛选,然后使用结构度量型指纹对筛选后的函数进行深度匹配得到最终的函数相似度。
8.一种面向嵌入式设备的固件漏洞检测系统,包括:
固件收集模块,用于收集嵌入式设备的固件并存入到固件库;
设备信息识别模块,用于识别收集得到的固件的设备信息,得到该固件的编码算法和使用的指令集;以及将固件的设备信息连同对应的编码算法和指令集存入知识库;
固件解码与反汇编模块,用于对固件进行解码与反汇编得到固件的汇编函数;
函数指纹提取与匹配模块,用于提取汇编函数的函数指纹,将其存入到固件函数指纹库中;用于提取漏洞函数的函数指纹,并将其存入到漏洞函数指纹库中;以及用于将漏洞函数指纹与固件函数指纹进行逐一匹配,将函数相似度大于设定阈值的固件函数指纹对应的函数存入疑似漏洞库;
漏洞验证模块,用于对疑似漏洞库中的漏洞函数进行漏洞验证,将验证成功的函数存入到漏洞库。
9.如权利要求8所述的面向嵌入式设备的固件漏洞检测系统,其特征在于,还包括漏洞收集模块和漏洞函数定位模块,所述漏洞收集模块,用于挖掘和搜集到已知漏洞并存入漏洞库;所述漏洞函数定位模块,用于对漏洞库中的漏洞进行漏洞分析,定位到触发漏洞的漏洞函数。
10.如权利要求8所述的面向嵌入式设备的固件漏洞检测系统,其特征在于,所述固件解码与反汇编模块还包括解码子模块和固件反汇编子模块,所述解码子模块用于将固件的压缩算法经过解码框架处理后得到二进制代码并保存到二进制代码库;所述固件反汇编子模块用于从二进制代码库中取出二进制代码,然后输入到一个反汇编框架中进行反汇编,并将经过反汇编处理后的信息输出到汇编代码库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510319074.6A CN106295335B (zh) | 2015-06-11 | 2015-06-11 | 一种面向嵌入式设备的固件漏洞检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510319074.6A CN106295335B (zh) | 2015-06-11 | 2015-06-11 | 一种面向嵌入式设备的固件漏洞检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106295335A true CN106295335A (zh) | 2017-01-04 |
CN106295335B CN106295335B (zh) | 2021-09-24 |
Family
ID=57660141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510319074.6A Active CN106295335B (zh) | 2015-06-11 | 2015-06-11 | 一种面向嵌入式设备的固件漏洞检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106295335B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
CN106874755A (zh) * | 2017-01-22 | 2017-06-20 | 中国人民解放军信息工程大学 | 基于拟态安全防御零日攻击的多数一致逃逸错误处理装置及其方法 |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN108710564A (zh) * | 2017-09-15 | 2018-10-26 | 苏州棱镜七彩信息科技有限公司 | 基于大数据的源代码综合评测平台 |
CN108710492A (zh) * | 2018-04-20 | 2018-10-26 | 四川普思科创信息技术有限公司 | 一种识别app程序中第三方库的方法 |
CN109525556A (zh) * | 2018-10-18 | 2019-03-26 | 中国电力科学研究院有限公司 | 一种用于确定嵌入式系统固件中协议漏洞的轻量级方法及系统 |
CN109740347A (zh) * | 2018-11-23 | 2019-05-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
CN110413909A (zh) * | 2019-06-18 | 2019-11-05 | 中国科学院信息工程研究所 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
CN110941832A (zh) * | 2019-11-28 | 2020-03-31 | 杭州安恒信息技术股份有限公司 | 一种嵌入式物联网设备固件漏洞挖掘方法、装置及设备 |
CN110990058A (zh) * | 2019-11-28 | 2020-04-10 | 中国人民解放军战略支援部队信息工程大学 | 软件相似性度量方法及装置 |
CN111026012A (zh) * | 2019-11-29 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | Plc固件级漏洞的检测方法、装置、电子设备及存储介质 |
CN111310188A (zh) * | 2020-04-01 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种终端文件系统敏感信息检查方法及装置 |
CN111580822A (zh) * | 2020-04-22 | 2020-08-25 | 中国科学院信息工程研究所 | 基于vex中间语言的物联网设备组件版本信息提取方法 |
CN111884989A (zh) * | 2020-06-02 | 2020-11-03 | 全球能源互联网研究院有限公司 | 一种针对电力web系统的漏洞探测方法和系统 |
CN112199685A (zh) * | 2020-09-25 | 2021-01-08 | 浙江大学计算机创新技术研究院 | 一种基于架构相似性的智能终端设备衍生漏洞挖掘方法 |
CN112818357A (zh) * | 2021-03-11 | 2021-05-18 | 北京顶象技术有限公司 | 一种自动化的批量IoT固件风险评估方法和系统 |
CN113515749A (zh) * | 2021-07-12 | 2021-10-19 | 国网山东省电力公司电力科学研究院 | 一种固件安全性评估方法及系统 |
CN113703773A (zh) * | 2021-08-26 | 2021-11-26 | 北京计算机技术及应用研究所 | 一种基于nlp的二进制代码相似性比对方法 |
CN114500043A (zh) * | 2022-01-25 | 2022-05-13 | 山东省计算中心(国家超级计算济南中心) | 基于同源性分析的物联网固件漏洞检测方法及系统 |
CN115277198A (zh) * | 2022-07-27 | 2022-11-01 | 西安热工研究院有限公司 | 一种工控系统网络的漏洞检测方法、装置及存储介质 |
CN115640577A (zh) * | 2022-09-20 | 2023-01-24 | 中国人民解放军国防科技大学 | 一种针对二进制物联网固件程序的漏洞检测方法和系统 |
CN116049835A (zh) * | 2023-03-08 | 2023-05-02 | 中汽智联技术有限公司 | 汽车固件的安全漏洞检测方法、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814053A (zh) * | 2010-03-29 | 2010-08-25 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
CN101976319A (zh) * | 2010-11-22 | 2011-02-16 | 张平 | 基于行为特征的BIOS固件Rootkit检测方法 |
CN102810062A (zh) * | 2012-06-14 | 2012-12-05 | 中国人民解放军信息工程大学 | 基于相似度判定的嵌入式操作系统内核版本识别方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
-
2015
- 2015-06-11 CN CN201510319074.6A patent/CN106295335B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814053A (zh) * | 2010-03-29 | 2010-08-25 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
CN101976319A (zh) * | 2010-11-22 | 2011-02-16 | 张平 | 基于行为特征的BIOS固件Rootkit检测方法 |
CN102810062A (zh) * | 2012-06-14 | 2012-12-05 | 中国人民解放军信息工程大学 | 基于相似度判定的嵌入式操作系统内核版本识别方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
Non-Patent Citations (1)
Title |
---|
程金宏: "程序代码相似度度量研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
CN106874755B (zh) * | 2017-01-22 | 2019-07-12 | 中国人民解放军信息工程大学 | 多数一致逃逸错误处理装置及方法 |
CN106874755A (zh) * | 2017-01-22 | 2017-06-20 | 中国人民解放军信息工程大学 | 基于拟态安全防御零日攻击的多数一致逃逸错误处理装置及其方法 |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
CN107688748B (zh) * | 2017-09-05 | 2019-09-24 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
CN108710564A (zh) * | 2017-09-15 | 2018-10-26 | 苏州棱镜七彩信息科技有限公司 | 基于大数据的源代码综合评测平台 |
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN108710492A (zh) * | 2018-04-20 | 2018-10-26 | 四川普思科创信息技术有限公司 | 一种识别app程序中第三方库的方法 |
CN109525556A (zh) * | 2018-10-18 | 2019-03-26 | 中国电力科学研究院有限公司 | 一种用于确定嵌入式系统固件中协议漏洞的轻量级方法及系统 |
CN109525556B (zh) * | 2018-10-18 | 2022-01-11 | 中国电力科学研究院有限公司 | 一种用于确定嵌入式系统固件中协议漏洞的轻量级方法及系统 |
CN109740347A (zh) * | 2018-11-23 | 2019-05-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
CN109740347B (zh) * | 2018-11-23 | 2020-07-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
CN110413909A (zh) * | 2019-06-18 | 2019-11-05 | 中国科学院信息工程研究所 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
CN110413909B (zh) * | 2019-06-18 | 2022-06-10 | 中国科学院信息工程研究所 | 基于机器学习的大规模嵌入式设备在线固件智能识别方法 |
CN110990058B (zh) * | 2019-11-28 | 2020-08-21 | 中国人民解放军战略支援部队信息工程大学 | 软件相似性度量方法及装置 |
CN110990058A (zh) * | 2019-11-28 | 2020-04-10 | 中国人民解放军战略支援部队信息工程大学 | 软件相似性度量方法及装置 |
CN110941832A (zh) * | 2019-11-28 | 2020-03-31 | 杭州安恒信息技术股份有限公司 | 一种嵌入式物联网设备固件漏洞挖掘方法、装置及设备 |
CN111026012A (zh) * | 2019-11-29 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | Plc固件级漏洞的检测方法、装置、电子设备及存储介质 |
CN111310188A (zh) * | 2020-04-01 | 2020-06-19 | 全球能源互联网研究院有限公司 | 一种终端文件系统敏感信息检查方法及装置 |
CN111580822A (zh) * | 2020-04-22 | 2020-08-25 | 中国科学院信息工程研究所 | 基于vex中间语言的物联网设备组件版本信息提取方法 |
CN111884989A (zh) * | 2020-06-02 | 2020-11-03 | 全球能源互联网研究院有限公司 | 一种针对电力web系统的漏洞探测方法和系统 |
CN111884989B (zh) * | 2020-06-02 | 2023-07-21 | 全球能源互联网研究院有限公司 | 一种针对电力web系统的漏洞探测方法和系统 |
CN112199685A (zh) * | 2020-09-25 | 2021-01-08 | 浙江大学计算机创新技术研究院 | 一种基于架构相似性的智能终端设备衍生漏洞挖掘方法 |
CN112199685B (zh) * | 2020-09-25 | 2024-04-19 | 浙江大学计算机创新技术研究院 | 一种基于架构相似性的智能终端设备衍生漏洞挖掘方法 |
CN112818357A (zh) * | 2021-03-11 | 2021-05-18 | 北京顶象技术有限公司 | 一种自动化的批量IoT固件风险评估方法和系统 |
CN113515749A (zh) * | 2021-07-12 | 2021-10-19 | 国网山东省电力公司电力科学研究院 | 一种固件安全性评估方法及系统 |
CN113703773A (zh) * | 2021-08-26 | 2021-11-26 | 北京计算机技术及应用研究所 | 一种基于nlp的二进制代码相似性比对方法 |
CN114500043A (zh) * | 2022-01-25 | 2022-05-13 | 山东省计算中心(国家超级计算济南中心) | 基于同源性分析的物联网固件漏洞检测方法及系统 |
CN115277198A (zh) * | 2022-07-27 | 2022-11-01 | 西安热工研究院有限公司 | 一种工控系统网络的漏洞检测方法、装置及存储介质 |
CN115640577A (zh) * | 2022-09-20 | 2023-01-24 | 中国人民解放军国防科技大学 | 一种针对二进制物联网固件程序的漏洞检测方法和系统 |
CN115640577B (zh) * | 2022-09-20 | 2023-11-14 | 中国人民解放军国防科技大学 | 一种针对二进制物联网固件程序的漏洞检测方法和系统 |
CN116049835A (zh) * | 2023-03-08 | 2023-05-02 | 中汽智联技术有限公司 | 汽车固件的安全漏洞检测方法、设备和存储介质 |
CN116049835B (zh) * | 2023-03-08 | 2023-06-23 | 中汽智联技术有限公司 | 汽车固件的安全漏洞检测方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106295335B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106295335A (zh) | 一种面向嵌入式设备的固件漏洞检测方法及系统 | |
CN111125716B (zh) | 一种以太坊智能合约漏洞检测方法及装置 | |
CN112733137B (zh) | 一种面向漏洞检测的二进制代码相似性分析方法 | |
US9031934B2 (en) | Estimation of a filter factor used for access path optimization in a database | |
CN109743311A (zh) | 一种WebShell检测方法、装置及存储介质 | |
CN111177733A (zh) | 一种基于数据流分析的软件补丁检测方法及装置 | |
CN113900923A (zh) | 一种跨指令集架构的二进制函数相似性检查系统及方法 | |
CN113468525B (zh) | 针对二进制程序的相似漏洞检测方法及装置 | |
CN114500043B (zh) | 基于同源性分析的物联网固件漏洞检测方法及系统 | |
CN109976806B (zh) | 基于字节码序列匹配的Java语句块克隆检测方法 | |
CN100377089C (zh) | 二进制翻译中经由跳转表的多目标分支语句的识别方法 | |
CN112068883B (zh) | 精简指令集下大型二进制固件参数个数识别方法 | |
CN113312268A (zh) | 一种智能合约代码相似检测方法 | |
KR20180129623A (ko) | 연관된 다중 파일 정적 분석 장치 | |
CN113536308A (zh) | 软件基因视角下多粒度信息融合的二进制代码溯源方法 | |
CN115022026A (zh) | 一种区块链智能合约威胁检测装置及方法 | |
CN110825642B (zh) | 一种基于深度学习的软件代码行级缺陷检测方法 | |
CN102799528B (zh) | 一种用于电路板级测试的脚本调试方法、装置及其系统 | |
CN109670317B (zh) | 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法 | |
CN115408700A (zh) | 基于二进制程序模块化的开源组件检测方法 | |
CN107291617A (zh) | 一种基于隐式污点传播的漏洞分析方法 | |
CN114089980A (zh) | 编程处理方法、装置、解释器及非易失性存储介质 | |
Bugerya et al. | Recovery of high-level intermediate representations of algorithms from binary code | |
CN111796832A (zh) | 热补丁文件生成方法、装置、设备及存储介质 | |
CN117688210A (zh) | 结合嵌入相似性与函数调用图的二进制函数识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |