CN111913718B - 基于基本块上下文信息的二进制函数差分分析方法 - Google Patents

基于基本块上下文信息的二进制函数差分分析方法 Download PDF

Info

Publication number
CN111913718B
CN111913718B CN202010574982.0A CN202010574982A CN111913718B CN 111913718 B CN111913718 B CN 111913718B CN 202010574982 A CN202010574982 A CN 202010574982A CN 111913718 B CN111913718 B CN 111913718B
Authority
CN
China
Prior art keywords
basic block
basic
similarity
blocks
score
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
CN202010574982.0A
Other languages
English (en)
Other versions
CN111913718A (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202010574982.0A priority Critical patent/CN111913718B/zh
Publication of CN111913718A publication Critical patent/CN111913718A/zh
Application granted granted Critical
Publication of CN111913718B publication Critical patent/CN111913718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于基本块上下文信息的二进制函数差分分析方法,本发明利用哈希值进行基本块初步匹配,再结合基本块上下文信息对可能发生错位匹配的基本块进行精确对位匹配,并过滤匹配成功的基本块以完成函数差分分析。首先,对函数二进制代码进行反汇编及标准化处理;其次,以基本块为单位计算指令哈希并进行基本块初步匹配;然后,通过结合上下文信息的基本块匹配算法对可能发生错位匹配的基本块进行匹配;最后,收集两函数中未能匹配的基本块以完成函数差分分析。本方法的目标是在二进制函数间进行精准的基本块匹配,以完成准确的函数差分分析,有效解决了现有差分分析方法中存在的由基本块错位匹配导致的差分结果不准确问题。

Description

基于基本块上下文信息的二进制函数差分分析方法
技术领域
本发明属于二进制程序分析技术领域,特别涉及一种基于基本块上下文信息的二进制函数差分分析方法。
背景技术
二进制函数差分分析技术定量的度量了两个给定二进制函数间(或两段二进制代码间)的差异,并产生细粒度的基本块级别的匹配。其广泛应用于各类二进制分析工作,例如漏洞检测,补丁分析等,是二进制程序分析领域内的一项关键且基础的技术。基本块匹配是二进制差分分析技术的核心,基本块匹配试图将两个函数中相同的基本块进行匹配,函数间未匹配的基本块被认为是差异所在。然而,若两个函数在不同位置存在多个相同基本块,就可能出现错位匹配了相同基本块的问题,这导致基本块匹配准确率降低,对函数差分分析结果的准确性带来影响。
现有的静态差分分析方法多是依赖于代码语法信息,并未考虑到基本块间的相对位置关系以及函数控制流结构信息。此类方法由于没有考量基本块在函数中的对应位置,在基本块匹配过程中就很可能发生基本块错位匹配,导致差分分析结果不准确。
发明内容
为了解决上述由于基本块错位匹配导致差分分析结果不准确的问题,本发明提出了一种基于基本块上下文信息的二进制函数差分分析方法,利用哈希值进行初步基本块匹配,再结合基本块上下文邻接节点信息对可能发生错位匹配的基本块进行精确对位匹配,并通过过滤匹配成功的基本块完成函数差分分析。
为了实现上述目的,本发明采用的技术方案是:
一种基于基本块上下文信息的二进制函数差分分析方法,包括如下步骤:
S1:通过反汇编工具对输入的两个待差分二进制函数进行反汇编处理,分别构建出两函数以汇编指令表示的控制流图;
S2:对函数基本块信息进行提取及预处理,包括函数控制流图信息收集,指令标准化,基本块哈希值计算;
S3:利用基本块哈希值完成两函数相同基本块的初步匹配,即将两函数中哈希值相同的基本块进行匹配;
S4:针对基本块初步匹配结果,判断是否存在可能发生错位匹配的基本块,如果存在,则结合该基本块上下文信息再次进行匹配;如果不存在,则进入差分结果收集步骤;
S5:对于可能发生错位匹配的基本块,通过结合该基本块的上下文信息,计算两函数中与该基本块邻接的局部区域的相似度,再根据相似度得分,利用贪心策略完成基本块准确匹配,包括结合上下文信息的相似度计算和基本块贪心匹配;
S6:根据基本块匹配结果,过滤掉两函数中所有匹配成功的基本块对,收集两个函数中剩余未得到匹配的基本块,并将这些基本块作为函数差分分析结果,至此完成了函数差分分析,算法结束。
本发明进一步的改进在于:所述步骤S2中,对函数基本块信息进行提取及预处理,获取基本块邻接节点信息,完成基本块指令标准化及哈希值计算,步骤S2具体包括:
S201:控制流图信息提取:通过对函数控制流图的分析,收集如下信息:
1)基本块指令信息,一个基本块内的所有汇编指令;
2)基本块结构信息,一个基本块在控制流图中的所有邻接基本块;
S202:指令标准化:对基本块中的指令进行标准化处理,包括:
1)地址标准化:将具体的地址替换为“address”;
2)内存标准化:将内存寻址替换为“mem”;
3)寄存器标准化:将具体的寄存器替换为“reg”;
S203:基本块哈希值计算:将基本块中标准化后的指令当作字符串处理,并按照基本块内指令序列的顺序,将所有指令连接成为一个字符串,再对此字符串根据哈希算法计算哈希值。
本发明进一步的改进在于:所述步骤S3中,根据基本块哈希值计算结果,找出两个函数中哈希值相同的基本块,判定为相同基本块,并将相同哈希值的基本块放入同一个“篮子”,若一个“篮子”中仅有两个基本块且分别来源于两个函数,则这两个基本块互相匹配,若一个“篮子”中有多个分别来源于两个函数的基本块且来源于两个函数的基本块数量相等,则这些基本块互相匹配。
本发明进一步的改进在于:所述步骤S4中,判断是否存在可能发生错位匹配的基本块,其中,所述基本块错位匹配是指,在两函数中存在相同基本块且该基本块在两函数中的数量不一致,从而在基本块匹配过程中由于无法确定基本块对应位置而错位匹配了相同基本块,即未能正确地将两函数中相同位置的相同基本块进行匹配,基本块发生错位匹配需要满足两个条件:
1)两个函数中包含相同的基本块,即同一个“篮子”中,包含分别来自两个函数的基本块;
2)该相同基本块在两个函数中重复出现的次数不一致;
筛查所有“篮子”,找出满足上述条件的基本块。
本发明进一步的改进在于:所述步骤S5中,对可能发生错位匹配的基本块进行匹配,步骤S5具体包括:
S501:结合上下文信息的相似度计算:在一个可能发生基本块错位匹配的“篮子”中,对于分别来自于两个函数的相同基本块集合BB1和BB2,将BB1中每一个基本块与 BB2中每一个基本块分别组合,利用结合上下文信息的相似度计算方式计算所有基本块对之间的相似度得分,并放入候选集合;对每一个可能发生基本块错位匹配的“篮子”都进行上述处理;
S502:基本块贪心匹配:在每一个候选集合中迭代的执行如下操作:选择具有最高相似度得分的基本块对,判定其中的两个基本块相互匹配,并从候选集合中移除包含这两个基本块的所有基本块对,此迭代过程直至没有基本块对能够被匹配时结束。
本发明进一步的改进在于:所述步骤S501中,所述结合上下文信息的相似度计算方式具体为,对于待计算相似度的两个来自不同函数的相同基本块bb1和bb2,根据基本块信息分别得到与二者邻接的前续基本块集合与后续基本块集合,若bb1前续基本块集合bb1_pred与bb2前续基本块集合bb2_pred均为空,则二者前续基本块集合间相似度 pred_score=1;若bb1前续基本块集合bb1_pred或bb2前续基本块集合bb2_pred为空,则二者前续基本块集合间相似度pred_score=0;否则,利用基本块集合间相似度计算方式计算二者前续基本块集合间相似度pred_score,若bb1后续基本块集合bb1_succ与bb2 后续基本块集合bb2_succ均为空,则二者后续基本块集合间相似度succ_score=1;若bb1 后续基本块集合bb1_succ或bb2后续基本块集合bb2_succ为空,则二者后续基本块集合间相似度succ_score=0;否则,利用基本块集合间相似度计算方式计算二者后续基本块集合间相似度succ_score;最后,两函数中分别与bb1、bb2邻接的局部区域相似度得分 score采用如下公式计算:
Figure RE-GDA0002656509690000031
并以此相似度得分作为bb1与bb2的相似度得分,其中,pred_score为二者前续基本块集合间相似度,succ_score为二者后续基本块集合间相似度。
本发明进一步的改进在于:所述步骤S501中,所述基本块集合间相似度计算方式具体为,对于待计算相似度的两基本块集合set1,set2,每一个集合可能包含一至多个基本块,若集合set1中的基本块数量多于集合set2,则对于set1中的每一个基本块,利用基本块间实际相似度计算方式分别计算该基本块与set2中每一基本块的相似度得分,并保留最大值作为该基本块得分,之后计算set1中基本块的平均得分作为最终基本块的平均得分avr_score,否则,对于set2中的每一个基本块,利用基本块间实际相似度计算方式分别计算该基本块与set1中每一基本块的相似度得分,并保留最大值作为该基本块得分,之后计算set2中基本块的平均得分作为最终基本块的平均得分avr_score;最后两基本块集合间相似度得分采用如下公式计算:
Figure RE-GDA0002656509690000041
其中,set1,set2为输入的两个基本块集合,avr_score为集合中基本块的平均得分, len(set1)和len(set2)分别为set1和set2中基本块的个数。
本发明进一步的改进在于:所述步骤S501中,所述基本块间实际相似度计算方式具体为,对于待计算实际相似度的两个基本块bb1和bb2,分别将其内部标准化后的指令序列字符串顺序存入列表trace1和trace2,并取二者中较长列表的长度len_max,若 len_max=0,则两基本块间相似度得分score=0;否则,计算trace1与trace2编辑距离dist,并采用如下公式计算两基本块间相似度得分:
Figure RE-GDA0002656509690000042
此处的基本块相似度得分是度量两个基本块间的实际相似性,其中,len_max为trace1 与trace2中较长列表的长度,dist为trace1与trace2的编辑距离。
与现有技术相比,本发明的有益效果是:
(1)提出了一种结合上下文信息的基本块匹配方法,通过结合上下文信息的相似度计算方式,度量了两函数中特定相同基本块邻接的局部区域的相似度,再根据相似度得分,利用贪心策略完成基本块准确匹配;通过结合了函数控制流图结构信息,有效解决了函数基本块匹配过程中存在的错位匹配问题,提高了二进制函数差分分析结果的准确性;
(2)对汇编指令进行了标准化处理,减弱了在编译得到二进制函数时所使用的编译器及编译选项差异对函数差分分析造成的干扰;
(3)采用了基于哈希值的基本块初步匹配策略,仅对筛选出的可能发生错位匹配的基本块进行再次匹配,提高了函数基本块整体匹配速度。
附图说明
图1为本发明方法整体流程图;
图2为两个示例二进制函数控制流图。
图3为基本块1指令标准化前后处理图;
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面结合附图和实施例详细说明本发明的实施方式。
待差分的两个示例二进制函数如下所示(以函数汇编控制流图表示):
如图1所示,一种基于基本块上下文信息的二进制函数差分分析方法,包括如下步骤:
步骤S1:通过反汇编工具对输入的两个待差分二进制函数进行反汇编处理,分别构建出两函数以汇编指令表示的控制流图,如图2所示,即为二进制函数反汇编后以汇编指令表示的控制流图。
步骤S2:对函数基本块信息进行提取及预处理,获取基本块邻接节点信息,完成基本块指令标准化及哈希值计算,具体包括:
步骤S201:分别记录每一个基本块内的所有汇编指令,以及每一个基本块在控制流图中的所有邻接基本块,以基本块1为例,记录其中的六条指令,以及其无前续基本块,后续基本块为基本块2和基本块5;
步骤S202:根据三条标准化规则对基本块中的指令进行标准化处理,如图3所述;
步骤S203:对于每一个基本块,将基本块中每条标准化后的指令均当作字符串,并按顺序连接成为一条字符串,再对此字符串根据哈希算法计算哈希值,具体采用的哈希算法不做限定,以基本块2为例,连接成为的字符串为:“cmp mem,0jle address”,再对此字符串计算哈希值。
步骤S3:根据基本块哈希值计算结果,找出两个函数中哈希值相同的基本块,基本块1与基本块1’相同,放入一个“篮子”;基本块2与基本块2’相同,放入一个“篮子”;基本块3、基本块4和基本块4’相同,放入一个“篮子”;基本块5与基本块5’相同,放入一个“篮子”;因此,基本块1与基本块1’相匹配,基本块2与基本块2’相匹配,基本块5与基本块5’相匹配。
步骤S4:通过对每一个“篮子”的筛查,根据判断条件确定基本块3、基本块4和基本块4’可能发生错位匹配。
步骤S5:对基本块3、基本块4和基本块4’进行匹配,具体包括:
步骤S501:在此“篮子”中,分别计算基本块3与基本块4’结合上下文信息的相似度score1及基本块4与基本块4’结合上下文信息的相似度score2,放入候选集合;
对于score1的计算,具体包括:计算基本块3的前续基本块集合{基本块2}与基本块 4’的前续基本块集合{基本块2’,基本块3’}的相似度得分pred_score;则计算基本块2’与基本块2的相似度为1,基本块3’与基本块2的相似度为0,得到avr_score=0.5, pred_score=0.25;计算基本块3的后续基本块集合{基本块4}与基本块4’的后续基本块集合{基本块5’}的相似度得分succ_score;则计算基本块4与基本块5’的相似度为0.25,得到avr_score=0.25,succ_score=0.25;则score1=0.25;
对于score2的计算,具体包括:计算基本块4的前续基本块集合{基本块2,基本块3}与基本块4’的前续基本块集合{基本块2’,基本块3’}的相似度得分pred_score;则计算基本块2’与基本块2的相似度为1,基本块2’与基本块3的相似度为0,取最大值1;计算基本块3’与基本块2的相似度为0,基本块3’与基本块3的相似度为0,取最大值0;得到avr_score=0.5,pred_score=0.5;计算基本块4的后续基本块集合{基本块5}与基本块 4’的后续基本块集合{基本块5’}的相似度得分succ_score;则计算基本块5’与基本块5的相似度为1,得到avr_score=1,succ_score=1;则score2=0.75;
步骤S502:在此候选集合中选取具有最高的相似度得分的基本块对,即基本块4与基本块4’,将基本块4与基本块4’相匹配,并在候选集合中移除基本块3与基本块4’、基本块4与基本块4’,此时候选集合为空,再无基本块对能够被匹配,迭代过程结束。
步骤S6:在两个函数所有的基本块中,过滤掉基本块1与基本块1’、基本块2与基本块2’、基本块4与基本块4’、基本块5与基本块5’,收集到函数1中的基本块3及函数2中的基本块3’作为差分分析结果,算法结束。
总结:本发明的方法,较现有方法,在给定输入下,通过利用基本块哈希值及基本块上下文信息进行基本块匹配,并基于基本块匹配结果完成函数差分分析,有效解决了基本块错位匹配问题,提高了二进制函数差分分析结果的准确性。

Claims (6)

1.一种基于基本块上下文信息的二进制函数差分分析方法,其特征在于,包括如下步骤:
S1:通过反汇编工具对输入的两个待差分二进制函数进行反汇编处理,分别构建出两函数以汇编指令表示的控制流图;
S2:对函数基本块信息进行提取及预处理,包括函数控制流图信息收集,指令标准化,基本块哈希值计算;
S3:利用基本块哈希值完成两函数相同基本块的初步匹配,即将两函数中哈希值相同的基本块进行匹配;
S4:针对基本块初步匹配结果,判断是否存在可能发生错位匹配的基本块,如果存在,则结合该基本块上下文信息再次进行匹配;如果不存在,则进入差分结果收集步骤;
S5:对于可能发生错位匹配的基本块,通过结合该基本块的上下文信息,计算两函数中与该基本块邻接的局部区域的相似度,再根据相似度得分,利用贪心策略完成基本块准确匹配,包括结合上下文信息的相似度计算和基本块贪心匹配;
步骤S5具体包括:
S501:结合上下文信息的相似度计算:在一个可能发生基本块错位匹配的“篮子”中,对于分别来自于两个函数的相同基本块集合BB1和BB2,将BB1中每一个基本块与BB2中每一个基本块分别组合,利用结合上下文信息的相似度计算方式计算所有基本块对之间的相似度得分,并放入候选集合;对每一个可能发生基本块错位匹配的“篮子”都进行上述处理;
对于待计算相似度的两个来自不同函数的相同基本块bb1和bb2,根据基本块信息分别得到与二者邻接的前续基本块集合与后续基本块集合,若bb1前续基本块集合bb1_pred与bb2前续基本块集合bb2_pred均为空,则二者前续基本块集合间相似度pred_score=1;若bb1前续基本块集合bb1_pred或bb2前续基本块集合bb2_pred为空,则二者前续基本块集合间相似度pred_score=0;否则,利用基本块集合间相似度计算方式计算二者前续基本块集合间相似度pred_score,若bb1后续基本块集合bb1_succ与bb2后续基本块集合bb2_succ均为空,则二者后续基本块集合间相似度succ_score=1;若bb1后续基本块集合bb1_succ或bb2后续基本块集合bb2_succ为空,则二者后续基本块集合间相似度succ_score=0;否则,利用基本块集合间相似度计算方式计算二者后续基本块集合间相似度succ_score;最后,两函数中分别与bb1、bb2邻接的局部区域相似度得分score采用如下公式计算:
Figure FDA0003308665800000021
并以此相似度得分作为bb1与bb2的相似度得分,其中,pred_score为二者前续基本块集合间相似度,succ_score为二者后续基本块集合间相似度;
S502:基本块贪心匹配:在每一个候选集合中迭代的执行如下操作:选择具有最高相似度得分的基本块对,判定其中的两个基本块相互匹配,并从候选集合中移除包含这两个基本块的所有基本块对,此迭代过程直至没有基本块对能够被匹配时结束;
S6:根据基本块匹配结果,过滤掉两函数中所有匹配成功的基本块对,收集两个函数中剩余未得到匹配的基本块,并将这些基本块作为函数差分分析结果,至此完成了函数差分分析,算法结束。
2.根据权利要求1所述基于基本块上下文信息的二进制函数差分分析方法,其特征在于,所述步骤S2中,对函数基本块信息进行提取及预处理,获取基本块邻接节点信息,完成基本块指令标准化及哈希值计算,步骤S2具体包括:
S201:控制流图信息提取:通过对函数控制流图的分析,收集如下信息:
1)基本块指令信息,一个基本块内的所有汇编指令;
2)基本块结构信息,一个基本块在控制流图中的所有邻接基本块;
S202:指令标准化:对基本块中的指令进行标准化处理,包括:
1)地址标准化:将具体的地址替换为“address”;
2)内存标准化:将内存寻址替换为“mem”;
3)寄存器标准化:将具体的寄存器替换为“reg”;
S203:基本块哈希值计算:将基本块中标准化后的指令当作字符串处理,并按照基本块内指令序列的顺序,将所有指令连接成为一个字符串,再对此字符串根据哈希算法计算哈希值。
3.根据权利要求1所述基于基本块上下文信息的二进制函数差分分析方法,其特征在于,所述步骤S3中,根据基本块哈希值计算结果,找出两个函数中哈希值相同的基本块,判定为相同基本块,并将相同哈希值的基本块放入同一个“篮子”,若一个“篮子”中仅有两个基本块且分别来源于两个函数,则这两个基本块互相匹配,若一个“篮子”中有多个分别来源于两个函数的基本块且来源于两个函数的基本块数量相等,则这些基本块互相匹配。
4.根据权利要求1所述基于基本块上下文信息的二进制函数差分分析方法,其特征在于,所述步骤S4中,判断是否存在可能发生错位匹配的基本块,其中,所述基本块错位匹配是指,在两函数中存在相同基本块且该基本块在两函数中的数量不一致,从而在基本块匹配过程中由于无法确定基本块对应位置而错位匹配了相同基本块,即未能正确地将两函数中相同位置的相同基本块进行匹配,基本块发生错位匹配需要满足两个条件:
1)两个函数中包含相同的基本块,即同一个“篮子”中,包含分别来自两个函数的基本块;
2)该相同基本块在两个函数中重复出现的次数不一致;
筛查所有“篮子”,找出满足上述条件的基本块。
5.根据权利要求1所述基于基本块上下文信息的二进制函数差分分析方法,其特征在于,所述步骤S501中,所述基本块集合间相似度计算方式具体为,对于待计算相似度的两基本块集合set1,set2,每一个集合可能包含一至多个基本块,若集合set1中的基本块数量多于集合set2,则对于set1中的每一个基本块,利用基本块间实际相似度计算方式分别计算该基本块与set2中每一基本块的相似度得分,并保留最大值作为该基本块得分,之后计算set1中基本块的平均得分作为最终基本块的平均得分avr_score,否则,对于set2中的每一个基本块,利用基本块间实际相似度计算方式分别计算该基本块与set1中每一基本块的相似度得分,并保留最大值作为该基本块得分,之后计算set2中基本块的平均得分作为最终基本块的平均得分avr_score;最后两基本块集合间相似度得分采用如下公式计算:
Figure FDA0003308665800000031
其中,set1,set2为输入的两个基本块集合,avr_score为集合中基本块的平均得分,len(set1)和len(set2)分别为set1和set2中基本块的个数。
6.根据权利要求5所述基于基本块上下文信息的二进制函数差分分析方法,其特征在于,所述步骤S501中,所述基本块间实际相似度计算方式具体为,对于待计算实际相似度的两个基本块bb1和bb2,分别将其内部标准化后的指令序列字符串顺序存入列表trace1和trace2,并取二者中较长列表的长度len_max,若len_max=0,则两基本块间相似度得分score=0;否则,计算trace1与trace2编辑距离dist,并采用如下公式计算两基本块间相似度得分:
Figure FDA0003308665800000041
此处的基本块相似度得分是度量两个基本块间的实际相似性,其中,len_max为trace1与trace2中较长列表的长度,dist为trace1与trace2的编辑距离。
CN202010574982.0A 2020-06-22 2020-06-22 基于基本块上下文信息的二进制函数差分分析方法 Active CN111913718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010574982.0A CN111913718B (zh) 2020-06-22 2020-06-22 基于基本块上下文信息的二进制函数差分分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010574982.0A CN111913718B (zh) 2020-06-22 2020-06-22 基于基本块上下文信息的二进制函数差分分析方法

Publications (2)

Publication Number Publication Date
CN111913718A CN111913718A (zh) 2020-11-10
CN111913718B true CN111913718B (zh) 2022-02-11

Family

ID=73226947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010574982.0A Active CN111913718B (zh) 2020-06-22 2020-06-22 基于基本块上下文信息的二进制函数差分分析方法

Country Status (1)

Country Link
CN (1) CN111913718B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553056B (zh) * 2021-07-21 2024-05-14 浙江大学 基于图匹配的llvm中间语言差分分析方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用
CN107967152A (zh) * 2017-12-12 2018-04-27 西安交通大学 基于最小分支路径函数胎记的软件局部抄袭证据生成方法
CN110414238A (zh) * 2019-06-18 2019-11-05 中国科学院信息工程研究所 同源二进制代码的检索方法及装置
US10491627B1 (en) * 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391849B (zh) * 2014-06-30 2017-12-15 浙江大学苏州工业技术研究院 融入时间上下文信息的协同过滤推荐方法
WO2016139516A1 (es) * 2015-03-02 2016-09-09 Universidad De Chile Sistema y procedimiento de control de acceso controlado por medio de un dispositivo óptico de bandas planas
CN107967208B (zh) * 2016-10-20 2020-01-17 南京大学 一种基于深度神经网络的Python资源敏感缺陷代码检测方法
US11720804B2 (en) * 2018-01-21 2023-08-08 Microsoft Technology Licensing, Llc. Data-driven automatic code review

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用
US10491627B1 (en) * 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
CN107967152A (zh) * 2017-12-12 2018-04-27 西安交通大学 基于最小分支路径函数胎记的软件局部抄袭证据生成方法
CN110414238A (zh) * 2019-06-18 2019-11-05 中国科学院信息工程研究所 同源二进制代码的检索方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Search-based Firmware Code Analysis Method for;yifei xu;《2018 IEEE Conference on Communications and Network Security (CNS): IEEE CNS 2018 - Posters》;20180813;第1-2页 *
基于行为motifs的多线程程序抄袭检测方法;刘烃 等;《计算机研究与发展》;20200115;第202-213页 *
肖雅娟.二进制代码函数相似度匹配技术研究.《 CNKI优秀硕士学位论文全文库》.2016, *

Also Published As

Publication number Publication date
CN111913718A (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN111782512B (zh) 基于不平衡噪声集的多特征软件缺陷综合预测方法
CN106203377B (zh) 一种煤粉尘图像识别方法
CN111401914A (zh) 风险评估模型的训练、风险评估方法及装置
CN110209660A (zh) 欺诈团伙挖掘方法、装置及电子设备
CN107577605A (zh) 一种面向软件缺陷预测的特征聚类选择方法
CN104867137A (zh) 一种基于改进ransac算法的图像配准方法
CN108416373A (zh) 一种基于正则化Fisher阈值选择策略的不平衡数据分类系统
CN111913718B (zh) 基于基本块上下文信息的二进制函数差分分析方法
CN112116950B (zh) 基于深度度量学习的蛋白质折叠识别方法
CN110808084A (zh) 一种基于单样本二代测序数据的拷贝数变异检测方法
CN111914260A (zh) 一种基于函数差分的二进制程序漏洞检测方法
CN110059126B (zh) 基于lkj异常值数据的复杂关联网络分析方法及系统
CN110825642B (zh) 一种基于深度学习的软件代码行级缺陷检测方法
CN108664237A (zh) 一种基于启发式和神经网络的非api成员推荐方法
CN108228232B (zh) 一种针对程序中循环问题的自动修复方法
CN117152504A (zh) 一种空间相关性引导的原型蒸馏小样本分类方法
CN112270950A (zh) 一种基于网络增强和图正则的融合网络药物靶标关系预测方法
WO2023179014A1 (zh) 流量识别方法、装置、电子设备及存储介质
CN114998003B (zh) 一种基于图深度卷积神经网络算法识别洗钱的方法和装置
CN111767546A (zh) 一种基于深度学习的输入结构推断方法和装置
CN111913874A (zh) 一种基于语法结构变更分析的软件缺陷溯源方法
CN107077617A (zh) 指纹提取方法及装置
CN114710344B (zh) 一种基于溯源图的入侵检测方法
CN116503166A (zh) 一种以太坊链上交易资金的追踪方法及追踪系统
CN114064472B (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