一种基于GCC抽象语法树的缓冲区溢出漏洞检测方法

    公开(公告)号:CN101908006B

    公开(公告)日:2011-12-14

    申请号:CN201010240908.1

    申请日:2010-07-30

    Abstract: 本发明涉及一种缓冲区溢出漏洞的检测方法,特别涉及一种基于GCC抽象语法树的缓冲区溢出漏洞检测方法,属于信息安全技术领域。本发明利用GCC编译器对待分析源程序进行操作,生成抽象语法树;消除抽象语法树文本中所有与分析数据流、控制流无关的信息并保持有用信息的完整性;然后将其用于程序分析中,通过对抽象语法树上相关结点的监控来达到缓冲区溢出漏洞的分析和检测的目的。与传统的没有消除冗余的解析方法相比,本方法具有更好的实用性和更高的效率与准确率。

    一种结合指针分析的软件安全漏洞动态检测方法

    公开(公告)号:CN101833631B

    公开(公告)日:2011-04-13

    申请号:CN201010110545.X

    申请日:2010-02-09

    Abstract: 本发明涉及一种软件安全漏洞动态检测方法,特别涉及一种结合指针分析的软件安全漏洞动态检测方法,属于信息安全技术领域。本发明首先识别出待检测程序中的不安全指针,然后将其表示成为胖指针,再通过运行待检测程序,不断地查看胖指针中包含的指针状态信息找到待检测程序存在的漏洞。该方法能够同时检测多种漏洞,如缓冲区溢出漏洞和悬浮指针漏洞等,同时降低系统资源的消耗。

    一种基于最小集合覆盖的模糊测试方法和装置

    公开(公告)号:CN111897733B

    公开(公告)日:2023-04-07

    申请号:CN202010790762.1

    申请日:2020-08-07

    Abstract: 本发明公开了一种基于最小集合覆盖的模糊测试方法和装置,该方法利用深度神经网络为目标二进制程序产生测试用例集,并加入测试用例队列;利用最小集合覆盖理论,从所述测试用例队列中筛选出具有最大化路径覆盖率且测试用例数量最少的最小用例集合,以减少执行效果相同的重复测试用例的数量;以设定的一个或一个以上的测试用例选择标准,对所述最小用例集合中的测试用例进行排序,选择最优测试用例进行后续变异,继而实现模糊测试;将模糊测试过程中产生的有效测试用例加入深度神经网络测试用例训练集,离线地指导深度神经网络进行优化训练。使用本发明能够获得更小测试用例集以及更有效的测试用例,可以针对目标二进制程序进行有效地漏洞检测。

    一种代码克隆检测方法及系统
    24.
    发明公开

    公开(公告)号:CN115878177A

    公开(公告)日:2023-03-31

    申请号:CN202211426993.X

    申请日:2022-11-15

    Abstract: 本发明公开了一种代码克隆检测方法及系统,根据代码生成抽象语法树AST,遍历AST获得多条AST路径,组成AST路径组,解决了抽象语法树很深导致梯度消失问题;遍历代码托管平台,将源代码对应的AST路径组中的每条AST路径转换成词向量,多个词向量组成AST路径组对应的语义向量,得到多个语义向量构成语义向量集,语义向量集在每次检测时不必重复生成且持续更新,提高了执行效率;最后利用比较聚合模型对待测目标代码片段语义向量与语义向量集中的语义向量逐一组成的语义向量表示对进行处理,先对细粒度的AST路径进行路径匹配,通过加权聚合将细粒度特征反映到待测目标代码片段,再进行相似性检测,解决了传统方法采用孪生网络模型导致检测准确率不高的问题。

    一种文件转换方法和装置
    26.
    发明授权

    公开(公告)号:CN107341403B

    公开(公告)日:2020-11-27

    申请号:CN201710607870.9

    申请日:2017-07-24

    Abstract: 本发明公开了一种文件转换方法和装置,应用于二进制文件分析框架angr中,包括:获取待检测Android应用的dex文件;将所述dex文件转换为所述angr框架支持的二进制格式的第一文件;加载所述第一文件到所述angr框架中并对所述第一文件进行符号执行分析,根据所述符号执行分析结果辅助判断待检测Android应用是否存在漏洞。本发明实施例的技术方案通过对Android应用的可执行文件进行转换处理,使其能够成功加载到angr框架,利用angr对Android应用进行基于符号执行的漏洞检测,从而为Android应用漏洞检测提供了新的解决方案,保证Android应用的安全性。

    一种基于变量关联树的基本类型重构方法

    公开(公告)号:CN109117142B

    公开(公告)日:2020-11-24

    申请号:CN201810793986.0

    申请日:2018-07-19

    Abstract: 本发明公开了一种基于变量关联树的基本类型重构方法,是一种轻量级的基本数据类型重构方法。该方法具体为:将待处理的二进制程序转化为汇编程序后以函数为单元进行如下处理:提取函数单元中汇编指令的操作数,构建变量关联树VRT,并建立对应的变量地址映射表VAM,利用汇编程序中寄存器和汇编指令中的变量类型信息作为第一约束规则,利用VRT中各变量间的运算关系作为第二约束规则,采用第一和第二约束规则分别对VRT中的节点的类型约束信息属性进行更新,采用汇编程序中已知函数的参数和返回值的类型信息在VRT上进行传播,获得最终VRT,以上过程中实时更新VAM中变量的类型约束信息属性。所有函数单元分析完成得到的VAM包含了基本类型重构结果。

    基于深度学习的云端恶意程序检测系统及方法

    公开(公告)号:CN111931179A

    公开(公告)日:2020-11-13

    申请号:CN202010814447.8

    申请日:2020-08-13

    Abstract: 本发明公开了基于深度学习的云端恶意程序检测系统及方法,属于软件安全技术领域,该方案效率更高、准确率更高。该系统包括信息获取模块、数据预处理模块以及训练模型模块。信息获取模块具体为:程序样本集中包含恶意程序检测时所使用的程序样本;程序自动执行样本用于在虚拟机中自动执行程序样本;虚拟机中每次运行一个程序样本,并在运行过程中提取系统实时参数信息和动态链接库信息,程序样本执行完成后,保存虚拟机快照,分析虚拟机快照得到内存取证信息;各信息送入数据预处理模块。数据预处理模块进行数据预处理得到动态链接库特征向量、系统实时参数矩阵以及内存取证矩阵送入到训练模型模块。训练模型模块预先构建并训练神经网络模型。

    基于LSTM和BiLSTM的智能合约漏洞检测方法和装置

    公开(公告)号:CN111898134A

    公开(公告)日:2020-11-06

    申请号:CN202010768571.5

    申请日:2020-08-03

    Abstract: 本发明公开了一种基于长短期记忆网络或双向长短期记忆网络的智能合约漏洞检测方法;在数据处理阶段,对智能合约样本进行漏洞分类及标签标记;将智能合约样本转化为操作码序列X,提取包含关键操作码的上下文序列,并重组为新的操作码序列Y;针对每一种漏洞建立基于长短期记忆网络或双向长短期记忆网络的二元分类模型,利用智能合约样本的操作码序列Y对每一种漏洞训练一个二元分类模型,作为智能合约漏洞检测模型;在智能合约漏洞检测阶段,按照语义序列化阶段的处理方式将待检测智能合约处理成操作码序列Y,然后输入各智能合约漏洞检测模型,实现对多种漏洞的检测。使用本发明能够缩短训练时间,提高检测模型的稳定性和分类准确性。

    一种基于抽象语法树的智能合约重入漏洞检测方法

    公开(公告)号:CN110162474B

    公开(公告)日:2020-09-15

    申请号:CN201910390316.9

    申请日:2019-05-10

    Abstract: 本发明公开了一种基于抽象语法树的智能合约重入漏洞检测方法,首先利用编译器solc生成源程序代码的抽象语法树;对抽象语法树进行逐步遍历分析,针对每个合约检测在执行 .call.value()()转账函数之后是否还存在合约账户余额的变化,以及合约内是否存在互斥锁;对于某个合约,如果执行 .call.value()()转账函数之后还存在合约账户余额的变化,且互斥锁不存在,则判定该合约存在重入漏洞的危险。使用本发明能够提高分析效率,降低误报率。

Patent Agency Ranking