CN109670317B - 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法 - Google Patents

一种基于原子控制流图的物联网设备继承性漏洞挖掘方法 Download PDF

Info

Publication number
CN109670317B
CN109670317B CN201811578939.0A CN201811578939A CN109670317B CN 109670317 B CN109670317 B CN 109670317B CN 201811578939 A CN201811578939 A CN 201811578939A CN 109670317 B CN109670317 B CN 109670317B
Authority
CN
China
Prior art keywords
vulnerability
node
μcfg
iot
firmware
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.)
Active
Application number
CN201811578939.0A
Other languages
English (en)
Other versions
CN109670317A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201811578939.0A priority Critical patent/CN109670317B/zh
Publication of CN109670317A publication Critical patent/CN109670317A/zh
Application granted granted Critical
Publication of CN109670317B publication Critical patent/CN109670317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于原子控制流图的物联网设备继承性漏洞挖掘方法,步骤包括:1)将μCFG形式化表述为<S,V,E,H>,生成和存储μCFG;2)根据漏洞信息发布平台发布的KV信息构建DBμCFG(KV);3)获取特定IoT设备的固件并基于该固件构建DBμCFG(IoT);4)根据DBμCFG(KV)和DBμCFG(IoT)检索对比并输出漏洞检索报告。本发明为了解决使用哈希校验对物联网设备固件进行继承性漏洞快速检测时的准确性问题,提出了原子控制流图的概念和技术,以及完整的基于原子控制流图的物联网设备继承性漏洞挖掘方法。本发明可以提高漏洞挖掘人员在分析物联网设备漏洞时的速度和准确率,进而提高物联网设备行业的安全漏洞挖掘能力。

Description

一种基于原子控制流图的物联网设备继承性漏洞挖掘方法
技术领域
本发明涉及一种基于原子控制流图的物联网设备继承性漏洞挖掘方法。
背景技术
继承性漏洞是指程序版本迭代过程中,由于代码复用而存在的漏洞。当某继承性漏洞在程序的某个版本被发现时,其相邻版本通常也会存在该漏洞。例如,以CVE(CommonVulnerabilities and Exposures,通用漏洞披露平台)发布的编号为CVE-2016-5195的“脏牛”漏洞为例,该漏洞存在于Linux Kernel(Linux Kernel是一种流行的开源操作系统核心)中,影响范围覆盖Linux Kernel 2.x至4.18.13之间的所有版本。该漏洞源于Linuxkernel中处理写时拷贝(Copy-on-Write)操作时存在竞争条件漏洞,攻击者可利用该漏洞以低权限对只读内存写入数据,进一步提升权限至管理员权限(root)。该漏洞的LinuxKernel作为底层基础核心广泛用于服务器、路由器、手机,物联网设备等,如阿里云提供的基于CentOS和Ubuntu操作系统的云服务器,基于安卓操作系统的智能手机终端,基于Openwrt操作系统的路由器设备,基于ROS(机器人操作系统,Robot Operating System)的机器人设备等。攻击者可利用“脏牛”漏洞实现权限提升至管理员权限(root),进而对这些设备的完全控制。
IoT(物联网,Internet of Thing)物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。IoT由物联网设备和传感器构成,可通过互联网收集和传输数据。IoT设备是IoT的重要组成部分,但由于设备体积、能耗的限制,IoT设备通常运算能力不高,不可能安装防御软件,且IoT设备的安全补丁升级较为困难,经常会存在已经公开的已知漏洞,因此易被黑客入侵,其安全问题令人担忧。例如,2016年,Mirai僵尸网络感染了包括网络摄像头和路由器在内的30多万台物联网设备,该事件足以证明IoT领域安全问题的严重性与紧迫性。IoT设备形式多样,安全漏洞形态复杂。IoT设备的指令类型异构,包括X86,ARM,MIPS等。每种指令类型都有不同的处理器机制,同一源码库在不同指令类型下进行编译而生成的二进制程序文件差异很大。若采用二进制搜索技术对设备进行漏洞挖掘,则需要将代码在不同架构下进行编译,找出存在漏洞的二进制代码段,再与二进制固件文件做比对分析。该操作繁琐且鲁棒性低,程序编译受到编译器、体系结构、优化参数等因素的影响,导致生成的二进制文件存在差别。单纯采用二进制文件哈希比对的方式来检测整个函数与已知漏洞函数源代码的相似度是无法实现的。石志强等提出的一种面向嵌入式设备的固件漏洞检测方法及系统(专利号:CN106295335A)通过将二进制固件文件反编译,再从反编译结果中提取出的整个函数,将函数的特征编码为向量,再通过对向量的匹配来表示函数的相似度,但对与函数内部的部分片段的代码复用则无能为力。若采用控制流图技术对固件进行漏洞挖掘,则需要解决子图同构问题,而子图同构问题是NP完全问题,目前的子图同构搜索算法还不够高效,通过该方法进行IoT设备漏洞挖掘效率很低。
为了解决对整个函数匹配时精度低和使用控制流图的子图同构技术进行匹配时效率低的问题,本发明提出了一种基于原子控制流图的物联网设备继承性漏洞挖掘方法,该方法对于仅有代码片段复用的继承性漏洞代码也能够进行准确快速的进行比对检索。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种物联网设备固件漏洞挖掘的优化方法,提高IoT安全分析人员定位分析IoT设备二进制固件漏洞的速度和准确率,进而提高IoT行业的安全漏洞挖掘能力。
为实现上述目的,本发明采用如下技术方案:
本发明的一种基于原子控制流图的物联网设备继承性漏洞挖掘方法,其步骤包括:
1)一种μCFG生成及存储方法。μCFG是原子控制流图的简称,是具有语义结构的最小控制流图。定义Seg为代码段的简称,代码段是一段源代码或汇编代码的文本段。定义Vertex为μCFG节点的简称,是由Seg进行处理后得到的,能表示该Seg控制流结构的一个抽象结构。定义Edge为μCFG节点之间边的简称,是一条某Vertex指向另一Vertex的边。定义Hash为节点指纹的简称,是可以唯一标识某Vertex的一个固定位数的长整数。将μCFG形式化表述为<S,V,E,H>,S为Vertex所对应的Seg的集合,V为μCFG中的Vertex的集合,E为Vertex间Edge的集合,H为Hash的集合。该方法可以从原始代码生成μCFG,并将μCFG存储到DBμCFG。其中DBμCFG为控制流图数据库的简称,是以结构化的方式存储μCFG中的节点以及节点间的相互关系的一种数据库。
其具体步骤如下:
1a):首先将输入的原始代码解析并拆分为fSeg,再将fSeg递归拆分为mSeg和μSeg。fSeg为函数级Seg的简称,是一个函数的代码文本段。mSeg是中间Seg的简称,中间Seg包括循环结构Seg和判断结构Seg,循环结构Seg是一段最外层为循环结构的代码文本段,判断结构Seg是一段最外层为判断结构的代码文本段。μSeg是原子Seg的简称,是一段由mSeg拆分而来的代码段,一段连续的不包含判断结构和循环结构的最大Seg。
1b):将Seg进行归一化处理。归一化处理是将Seg的输入变量,中间变量,输出值,计算语句以及对其他函数的调用进行去特征化处理,并结构化的表示该段代码的控制流结构,生成Seg所对应的Vertex。定义μVertex是原子Vertex的简称,是由μSeg进行归一化处理而得到的Vertex。定义fVertex是函数Vertex的简称,是fSeg进行归一化处理而得到的Vertex。定义mSeg是中间Vertex的简称,是mSeg进行归一化处理而得到的Vertex。对fSeg,mSeg,μSeg分别进行归一化操作,得到fVertex,mSeg,μVertex。
1c)对于上述定义的S,S={Seg|Seg=fSeg∨Seg=mSeg∨Seg=μSeg}。对于上述定义的V,V={Vertex|Vertex=fVertex∨Vertex=mVertex∨Vertex=μVertex}。定义Edge(Vertex1,Vertex2),表示一条从Vertex1指向Vertex2的边。对于上述定义的E,E为Edge(Vertex1,Vertex2)的集合,(Vertex1,Vertex2)满足以下条件:<1>Vertex1,Vertex2∈V;<2>Seg1,Seg2∈S;<3>Vertex1由Seg1表示而来,Vertex2由Seg2表示而来;<4>Seg1包含Seg2。定义Hash(Vertex),表示节点Vertex的指纹计算函数,其计算规则如下:对于μVertex,Hash(Vertex)为μVertex文本的哈希值;对于fVertex和mVertex,为将该节点的一级子节点的节点指纹替换代码段中该一级子节点对应的代码段,并对得到的节点文本进行哈希计算,得到的结果即为Hash(Vertex)。对于上述定义的H,H={Hash(Vertex)|Vertex∈V}。
1d)将μCFG的每个部分<S,V,E,H>,存储在DBμCFG中。DBμCFG存储底层基于图数据库Neo4j,Neo4j是针对图结构特殊设计的数据库,可以方便表示节点之间的关系。在Neo4j中查询节点之间关系的速度很快,不受节点数量的影响。
上述步骤1)形式化定义了μCFG,指明了μCFG不可或缺的基本要素<S,V,E,H>,并描述了从原始代码到生成μCFG的方法,以及将μCFG存储到DBμCFG的方法。
2)一种DBμCFG(KV)构建方法。其中KV为已知漏洞的简称,KV是指已经被公开发布的,程序中存在的漏洞信息;DBμCFG(KV)为已知漏洞原子控制流图模板库的简称,DBμCFG(KV)是一种DBμCFG,其中存储的信息为基于KV生成的μCFG。该方法可以采集漏洞信息发布平台发布的KV信息,构建DBμCFG(KV)。
其具体步骤如下:
2a)构建KV采集器,该KV采集器可以从漏洞信息发布平台中采集KV信息,包括漏洞编号、种类、涉及项目名称以及涉及的代码文件内容。
2b)针对代码文件内容,构建基于KV的μCFG生成引擎。该生成引擎可以对KV源代码调用μCFG生成方法,生成μCFG。
2c)将μCFG存储到DBμCFG(KV)中。可以使用Hash(Vertex)作为键值对DBμCFG(KV)进行查询和遍历操作。
上述步骤2a)中,漏洞信息发布平台包括中国国家信息安全漏洞库,CVE,NVD(National Vulnerability Database,美国国家漏洞数据库),KV信息将从上述平台进行采集。
3)一种DBμCFG(IoT)构建方法。其中DBμCFG(IoT)为IoT设备原子控制流图数据库的简称。该方法可以采集物流网设备固件并构建DBμCFG(IoT)。其具体其步骤如下:
3a)构建针对IoT设备固件的提取器。该提取器可完成特定设备固件的获取,设备指令类型的获取,以及设备厂商、型号、版本号、生产日期等信息的获取。在IoT设备固件提取器中,针对不同的设备采取不同的固件提取解包方案。
3b)针对采用不同指令集的IoT设备固件分别构建反汇编器。该反汇编器可将使用该指令集的二进制固件反编译为汇编代码。在反汇编器中,对于不同指令集(x86,ARM,MIPS)的固件,需要采用不同的反汇编器解决方案。
3c)针对不同指令集的汇编代码构建μCFG生成引擎,该生成引擎可以对汇编代码调用μCFG生成方法,生成μCFG。
3d)将μCFG存储到DBμCFG(IoT)中。可以使用Hash(Vertex)作为键值对DBμCFG(IoT)进行查询和遍历操作。
4)构建IoT设备固件已知漏洞挖掘引擎。该挖掘引擎根据DBμCFG(KV)和DBμCFG(IoT),分析检测固件中存在的已知漏洞并输出漏洞检测结果。
其具体步骤包括:
4a)构建μCFG指纹比对引擎,该比对引擎从DBμCFG(IoT)中依次读取Hash(Vertex),并在DBμCFG(KV)中进行检索,对匹配的节点进行标记,输出漏洞比对结果。
4b)构建漏洞检测结果生成引擎。该生成引擎可以将漏洞比对结果进一步按照函数级别和库级别进行汇总,并按照漏洞的匹配率,漏洞的危害程度进行排序,最后输出漏洞检测结果。
本发明与现有技术相比的优点在于:
(1)本发明为了解决使用哈希校验对物联网设备固件进行继承性漏洞快速检测时的准确性问题,提出了原子控制流图的概念和技术,以及完整的基于原子控制流图的物联网设备继承性漏洞挖掘方法,可以提高漏洞挖掘人员在分析物联网设备漏洞时的速度和准确率,进而提高物联网设备行业的安全漏洞挖掘能力。
(2)本发明该自动化地将IoT(物联网的简称,Internet of Things)设备固件进行分析处理并输出漏洞检测结果,可以有效地辅助IoT安全分析人员发现物联网设备固件中的已知漏洞,提高IoT安全分析人员定位分析IoT设备二进制固件漏洞的速度和准确率,进而提高IoT行业的安全漏洞挖掘能力。
附图说明
图1是基于原子控制流图的IoT设备继承性漏洞快速检测优化方法流程图;
图2是μCFG生成方法和存储方法流程图;
图3是DBμCFG(KV)构建方法的流程图;
图4是一种DBμCFG(IoT)构建方法的流程图;
图5是IoT设备固件漏洞挖掘引擎的流程图。
具体实施方式
下面结合附图,对本发明做进一步的说明。
本实施例基于原子控制流图的物联网设备继承性漏洞挖掘方法,其总体流程如图1所示,主要包括以下步骤:
1)构建μCFG生成器,该生成器输入待构建的源代码或汇编代码,输出该代码的μCFG。
具体地,μCFG生成器的流程如图2所示。
1a)将输入代码拆分为fSeg,将每段函数作为fVertex,转到1b)。
1b)对于每个fSeg,使用递归方法深度优先遍历该函数段,拆分为mSeg和μSeg。对于Seg1和Seg2,若Seg2是由Seg1拆分而来,则Seg1是Seg2的父代码段,Seg2是Seg1的子代码段。转到1c)。
1c)对于μSeg,将该段代码的输入参数,输出参数,计算操作,对其他函数的调用操作进行归一化处理,封装为μVertex,转到1d)。
1d)对于fSeg和mSeg,将该段代码进行归一化处理,分别封装为fVertex和fVertex。并在μCFG中建立Edge(Vertex1,Vertex2)。转到1e)。
1e)在所有的函数段遍历结束后,对每个节点进行遍历。转到1f)。
1f)判断该节点是否为μVertex,若是,则转到1g),若不是,则转到1h)。
1g)对归一化操作后的μVertex进行Hash(μVertex)操作,计算节点指纹,转到1i)。
1h)按照固定顺序遍历其一级子节点,将该节点的一级子节点的节点指纹替换代码段中该一级子节点对应的代码段,对该节点进行Hash(Vertex)操作,生成该节点的指纹,转到1i)。
1i)将Vertex按Hash(Vertex)作为键值存储DBμCFG在中。
2)根据漏洞信息发布平台发布的KV信息构建DBμCFG(KV),从漏洞信息发布平台中获取漏洞信息并生成DBμCFG(KV)。
具体地,DBμCFG(KV)的建立方法如图3所示,具体说明如下:
2a)从漏洞信息发布平台中获取已经发布的KV信息,漏洞信息发布平台包括漏洞编号,种类,涉及的项目名称,涉及的代码文件内容及涉及的函数内容。转到2b)。
2b)根据漏洞所涉及的代码文件内容和漏洞所涉及的函数内容,采用μCFG生成方法,生成基于KV的μCFG,转到2c)。
2c)将生成的μCFG存储到DBμCFG(KV)。
3)构建DBμCFG(IoT)。
具体地,构建DBμCFG(IoT)的步骤流程如图4所示,具体说明如下:
3a)获取指定IoT设备固件的信息及文件:针对待分析的某种IoT设备,使用特定手段获取设备固件二进制文件,如从设备厂商官网下载固件文件、从公共固件库下载固件文件、串口读取固件文件或从设备闪存芯片读取固件文件,并搜集整理该固件的设备型号、版本号、设备厂商、生产信息、操作系统种类、指令集的类型等信息,转到3b)。
3b)对于不同指令集类型的IoT设备固件,采用不同的反汇编器进行反汇编处理:IoT设备的指令类型通常有ARM、MIPS、x86,对于每一种指令类型,采用不同的反汇编器,进行反汇编操作,转化为相应的汇编代码。
3c)对于汇编代码进行代码段分割,调用μCFG生成方法,生成IoT的μCFG,转到3d)。
3d)将生成的μCFG存储到DBμCFG(IoT)中。
4)构建IoT设备固件漏洞挖掘引擎,该挖掘引擎可以根据DBμCFG(KV)和DBμCFG(IoT)检索比对IoT设备中存在的漏洞并输出漏洞检索报告。
具体地,IoT设备固件漏洞比对方法的步骤流程如图5所示,具体说明如下:
4a)判断DBμCFG(IoT)中还有没有待检索的节点。若是,则转到4b);若否,则转到4e)。
4b)从DBμCFG(IoT)中读取一个节点的指纹,并做出已检索该指纹的标识,转到4c)
4c)如果在DBμCFG(KV)中存在该指纹,则转到4d),若不存在该指纹,则转到4a)。
4d)在DBμCFG(IoT)中,将找到的节点指纹对应的μCFG节点做出“已找到”标记,转到4a)。
4e)对于所有做出“已找到”标记的节点,将该节点的漏洞率设置为100%,并将这些节点存入待遍历队列。
4f)如果待遍历队列不为空,则转到4g),若待遍历队列为空,则转到4i)。
4g)从待遍历队列中取出一个节点,转到4h)。
4h)若该节点的父节点漏洞率未设置,则将父节点的漏洞率设置为0;将父节点的漏洞率设置为父节点当前漏洞率加上该节点的权重乘以该节点的漏洞率,其中该节点的权重为该父节点的子节点数的倒数;并把该父节点放入待遍历队列;转到4f)。
4i)倒序输出所有漏洞率大于阈值的函数级节点的信息报表,漏洞率数值越大的节点,则存在漏洞的可能性越高,其中阈值为用户手动设置,用于限制信息报表的数量。报表中包含的信息包括:IoT设备固件信息(固件类型,固件指令类型,固件版本号,固件厂商),漏洞列表(漏洞在固件中的位置,漏洞编号,漏洞类型,漏洞的威胁程度,漏洞所对应的项目名称),本次测试的日期时间,运行测试所需的时间,测试用机的型号、配置信息。
以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。

Claims (3)

1.一种基于原子控制流图的物联网设备继承性漏洞挖掘方法,其特征在于:包括以下步骤:
步骤1:生成原子控制流图μCFG,将原子控制流图μCFG形式化表述为<S,V,E,H>,其中S为节点所对应的代码段的集合,V为原子控制流图中的节点集合,E为节点之间的对应关系的集合,H为节点指纹的集合;从原始代码生成μCFG,并将μCFG存储到原子控制流图数据库DBμCFG
步骤2:采集漏洞信息发布平台发布的已知漏洞KV信息,使用步骤1的方法构建已知漏洞原子控制流图模板库DBμCFG(KV);
步骤3:采集物联网IoT设备固件,使用步骤1的方法构建物联网IoT设备原子控制流图数据库DBμCFG(IoT);
步骤4:构建物联网IoT设备固件已知漏洞挖掘引擎,该漏洞挖掘引擎通过对步骤2中构建的已知漏洞原子控制流图模板库DBμCFG(KV)和步骤3构建的物联网IoT设备原子控制流图数据库DBμCFG(IoT)进行基于节点指纹的比对检索操作,并对比对结果进行统计分析,得到物联网IoT设备固件中存在的已知漏洞,并得到漏洞检测结果;
所述步骤1中,节点集合V中的最小节点为原子节点μVertex,是由原子段μSeg归一化处理后生成,原子节点μVertex具有不可拆分的性质;
所述步骤1中,节点集合V中的节点Vertex使用节点指纹集合H中对应的节点指纹Hash(Vertex)作为唯一的标识,节点Vertex的Hash(Vertex)由以下方法计算而来:对于原子节点μVertex,Hash(Vertex)为μVertex文本的哈希值;对于fVertex和mVertex,为将该节点的一级子节点的节点指纹替换代码段中该一级子节点对应的代码段,并对得到的节点文本进行哈希计算,得到的结果即为Hash(Vertex);
所述步骤1中,原子控制流图数据库DBμCFG存储在图数据库Neo4j中;
所述步骤4中,在DBμCFG(KV)和DBμCFG(IoT)的比对过程中,使用节点指纹进行比对检索;在比对结果进行统计分析的过程中,使用子节点的漏洞率及子节点的权值来更新父节点的漏洞率,并递归执行该操作,以更新所有相关节点的漏洞率;
具体实现如下:
4a)判断DBμCFG(IoT)中还有没有待检索的节点,若是,则转到4b);若否,则转到4e);
4b)从DBμCFG(IoT)中读取一个节点的指纹,并做出已检索该指纹的标识,转到4c)
4c)如果在DBμCFG(KV)中存在该指纹,则转到4d),若不存在该指纹,则转到4a);
4d)在DBμCFG(IoT)中,将找到的节点指纹对应的μCFG节点做出“已找到”标记,转到4a);
4e)对于所有做出“已找到”标记的节点,将该节点的漏洞率设置为100%,并将这些节点存入待遍历队列;
4f)如果待遍历队列不为空,则转到4g),若待遍历队列为空,则转到4i);
4g)从待遍历队列中取出一个节点,转到4h);
4h)若该节点的父节点漏洞率未设置,则将父节点的漏洞率设置为0;若该节点的父节点漏洞率已设置,将父节点的漏洞率设置为父节点当前漏洞率加上该节点的权重乘以该节点的漏洞率,其中该节点的权重为该父节点的子节点数的倒数;并把该父节点放入待遍历队列;转到4f);
4i)倒序输出所有漏洞率大于阈值的函数级节点的信息报表,漏洞率数值越大的节点,则存在漏洞的可能性越高,其中阈值为用户手动设置,用于限制信息报表的数量;所述信息报表中包含的信息有:IoT设备固件信息、漏洞列表、本次测试的日期时间、运行测试所需的时间、测试用机的型号和配置信息;所述IoT设备固件信息包括固件类型、固件指令类型、固件版本号和固件厂商;所述漏洞列表包括漏洞在固件中的位置、漏洞编号、漏洞类型、漏洞的威胁程度和漏洞所对应的项目名称。
2.根据权利要求1所述的方法,其特征在于:所述步骤2中,所述漏洞信息发布平台为通用漏洞披露平台CVE,国家漏洞信息发布平台CNNVD和美国国家漏洞信息发布平台NVD。
3.根据权利要求1所述的方法,其特征在于:所述步骤3中,物联网IoT设备固件是已经编译后的二进制文件,该二进制文件的指令类型为x86、ARM或MIPS。
CN201811578939.0A 2018-12-24 2018-12-24 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法 Active CN109670317B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811578939.0A CN109670317B (zh) 2018-12-24 2018-12-24 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811578939.0A CN109670317B (zh) 2018-12-24 2018-12-24 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法

Publications (2)

Publication Number Publication Date
CN109670317A CN109670317A (zh) 2019-04-23
CN109670317B true CN109670317B (zh) 2021-02-02

Family

ID=66145911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811578939.0A Active CN109670317B (zh) 2018-12-24 2018-12-24 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法

Country Status (1)

Country Link
CN (1) CN109670317B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659502B (zh) * 2019-09-05 2021-09-28 中国科学院软件研究所 一种基于文本信息关联关系分析的项目版本检测方法及系统
CN110941832A (zh) * 2019-11-28 2020-03-31 杭州安恒信息技术股份有限公司 一种嵌入式物联网设备固件漏洞挖掘方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3247083A1 (en) * 2016-05-17 2017-11-22 Gemalto Sa System of flexible secure iot networks
CN106649218A (zh) * 2016-11-16 2017-05-10 中国人民解放军国防科学技术大学 一种基于SimHash算法的二进制文件快速比较方法
CN108768934B (zh) * 2018-04-11 2021-09-07 北京立思辰新技术有限公司 恶意程序发布检测方法、装置以及介质

Also Published As

Publication number Publication date
CN109670317A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
Alrabaee et al. Fossil: a resilient and efficient system for identifying foss functions in malware binaries
Cesare et al. Malware variant detection using similarity search over sets of control flow graphs
CN111400719B (zh) 基于开源组件版本识别的固件脆弱性判别方法及系统
Crussell et al. Andarwin: Scalable detection of android application clones based on semantics
CN108920954B (zh) 一种恶意代码自动化检测平台及方法
CN101924761A (zh) 一种依据白名单进行恶意程序检测的方法
CN108491228B (zh) 一种二进制漏洞代码克隆检测方法及系统
CN110659502B (zh) 一种基于文本信息关联关系分析的项目版本检测方法及系统
KR20170068814A (ko) 악성 모바일 앱 감지 장치 및 방법
CN111552969A (zh) 基于神经网络的嵌入式终端软件代码漏洞检测方法及装置
CN108563951B (zh) 病毒检测方法及装置
CN109670318B (zh) 一种基于核控制流图循环验证的漏洞检测方法
CN104866764B (zh) 一种基于对象引用图的Android手机恶意软件检测方法
CN113297580B (zh) 基于代码语义分析的电力信息系统安全防护方法及装置
US20230252145A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
CN109670317B (zh) 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法
CN103607381A (zh) 白名单生成及恶意程序检测方法、客户端和服务器
CN114090406A (zh) 电力物联网设备行为安全检测方法、系统、设备及存储介质
US20230252136A1 (en) Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information
CN103475671A (zh) 恶意程序检测方法
Feichtner et al. Obfuscation-resilient code recognition in Android apps
US20230048076A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20230254340A1 (en) Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information
CN113626823B (zh) 一种基于可达性分析的组件间交互威胁检测方法及装置
CN115408700A (zh) 基于二进制程序模块化的开源组件检测方法

Legal Events

Date Code Title Description
PB01 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