-
公开(公告)号:CN115577362B
公开(公告)日:2024-09-27
申请号:CN202211105496.X
申请日:2022-09-09
Applicant: 哈尔滨工业大学
IPC: G06F21/57 , G06F18/25 , G06F18/213
Abstract: 本发明公开了一种基于源代码和汇编代码跨模态特征增强的漏洞检测方法,所述方法从源代码中提取控制依赖和数据依赖相关的语法语义特征,从汇编代码中提取内存操作相关的语法语义特征,然后使用高级语言程序源代码与其语句对齐的汇编代码输入到跨模态特征增强和融合的双模态表示学习模型进行软件漏洞检测。该方法能够对高级语言源代码和汇编代码两种程序模态进行表示学习,利用源代码和汇编代码之间的语句对齐关系,分别在源代码模态和汇编代码模态提取漏洞相关的语义特征,并使用不同的深度学习网络和交叉注意力机制学习二者之间的语义关联性,充分利用两种模态程序的特征互补性进行特征级融合,从而提升软件漏洞检测的准确性。
-
公开(公告)号:CN114969763A
公开(公告)日:2022-08-30
申请号:CN202210700763.1
申请日:2022-06-20
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种基于seq2seq代码表示学习的细粒度漏洞检测方法,首先,提取漏洞候选关键节点作为切片准则,再使用程序切片技术提取程序中的切片代码段。然后,使用基于seq2seq深度学习模型,对切片代码段进行表示学习,生成包含语句间长依赖关系的语句向量表示序列,将序列中每条语句的向量表示送入检测器中,检测其是否为漏洞语句。该方法能够充分利用代码中的全局和局部语义信息,学习语句内和语句间的漏洞相关的特征,避免传统的基于深度学习分类模型对代码表示学习时难以捕获漏洞语句及其上下文之间的长依赖信息的问题,利用seq2seq模型对代码进行表示学习生成的语句向量表示序列,更适合语句级的细粒度漏洞检测。
-
公开(公告)号:CN116561771B
公开(公告)日:2025-05-13
申请号:CN202310650119.2
申请日:2023-06-02
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种基于合约语义图与深广特征融合的智能合约漏洞检测方法,所述方法能够充分利用智能合约代码中数据流、控制流与fallback运行机制的相关信息,构建出包含丰富结构信息的智能合约语义图。然后结合代码token序列的顺序语义信息与智能合约语义图的结构语义信息,利用深度神经网络提取出智能合约的深度语义特征,同时基于预先定义好的可解释的人工漏洞检测规则,使用全连接层与激活函数构成的线性模型提取出智能合约的人工规则特征。最后,使用Wide&Deep模型对分别侧重广度和深度的两种特征进行融合,进行智能合约的漏洞检测。本发明可以有效表示智能合约中与漏洞相关的语义信息。
-
公开(公告)号:CN115859307B
公开(公告)日:2024-11-22
申请号:CN202211678532.1
申请日:2022-12-26
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种基于树型注意力和加权图匹配的相似漏洞检测方法,首先,分别为目标函数、漏洞函数和补丁函数生成FCG、vSCG、pSCG。其次,利用语句节点嵌入网络分别提取FCG、vSCG和pSCG语句节点的语义和语法信息。接着,利用图神经网络和加权图匹配方法构成的图匹配模型,学习并计算FCG和vSCG之间以及FCG和pSCG之间的相似度,然后利用计算的三元组损失函数调整网络参数,训练检测模型。最后,利用训练好的模型检测软件中的相似漏洞。本发明可以在捕获代码中与漏洞相关的语法和语义特征的同时,有效利用补丁信息区分仅有细微差异的漏洞和补丁函数,从而提高相似漏洞检测的准确率。
-
公开(公告)号:CN118747369A
公开(公告)日:2024-10-08
申请号:CN202410884698.1
申请日:2024-07-03
Applicant: 哈尔滨工业大学 , 上海浦东发展银行股份有限公司
Abstract: 本发明提出基于双重注意力机制和代码相似度的漏洞检测方法,属于漏洞检测技术领域。包括:提取未知待测函数对应的程序依赖图,将语句对应的抽象语法树拓展到程序依赖图的每个节点上,形成复合图;将标注的漏洞语句作为切片准则,在程序依赖图中找到切片节点,作为根节点,展开抽象语法树,形成切片复合图;学习语句内的语法和语义信息,生成由语义和语法特征向量组成的语句节点初始嵌入向量;学习源代码的结构特征,获取切片复合图和复合图的向量表示,计算两者之间的相似度;当相似度超过某个阈值,目标函数就被定义为潜在漏洞函数。解决缺少能有效利用已知漏洞代码的漏洞信息的同时,忽略甚至消除代码中冗余的无关信息的漏洞检测方法问题。
-
公开(公告)号:CN118690346A
公开(公告)日:2024-09-24
申请号:CN202410730438.9
申请日:2024-06-06
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种序列决策和概率采样指导的漏洞检测语句级可解释方法,所述方法如下:将待解释的漏洞代码按照语句进行拆分,探索器按顺序遍历代码中的语句;探索器利用待解释的检测模型中的代码表示网络,根据候选漏洞模式和当前语句生成决策向量;导航器根据决策向量返回当前语句与漏洞相关概率,探索器根据导航器生成的漏洞相关概率执行概率采样;探索器根据采样做出决策,更新候选漏洞相关语句集合;利用标签信息和候选漏洞相关语句集合,计算增益值和期望梯度,将通过反向传播以调整导航器;用探索器和训练好的导航器对待解释模型的漏洞检测结果进行解释。本发明可灵活应用于现有的漏洞检测模型,且适用于有或没有细粒度标签两种训练场景。
-
公开(公告)号:CN115080982B
公开(公告)日:2024-07-19
申请号:CN202210729780.8
申请日:2022-06-24
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种针对漏洞检测模型的组合对抗攻击方法,首先使用本发明中提出的4种代码扰动方法对程序骨架中可修改的语句进行扰动,生成大量语义相似的候选样本。其次,利用生成的候选样本初始化遗传算法的种群规模和成员,然后,根据不同的扰动方法设计变异算子,并对种群成员进行选择、交叉和变异操作生成新的种群;最后,判断每次迭代生成的新种群中是否存在适应度大于一定阈值的成员,如果存在,则表示成功获得对抗样本。根据本发明提出的多种代码扰动方法,可实现对各种语法要素执行语义保持的程序等价变换,从而提高生成的对抗样本质量。通过将遗传搜索策略与多种代码扰动方法相结合,能够提高对代码漏洞检测模型的攻击成功率和攻击效率。
-
公开(公告)号:CN112699377B
公开(公告)日:2023-04-28
申请号:CN202011613496.1
申请日:2020-12-30
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种基于切片属性图表示学习的函数级代码漏洞检测方法,首先引入新的切片准则,并提出切片属性图的概念,基于切片准则和程序切片技术生成代码的切片属性图,提取与漏洞候选关键点有依赖关系的图结构信息、节点属性信息和代码上下文信息;然后,利用关系图卷积神经网络并结合基于节点和子图的双重注意力机制,对切片属性图进行表示学习,以学习更全面、更准确的漏洞模式;最后对各个切片属性图的漏洞识别结果进行融合实现函数级别的漏洞检测,并确定漏洞候选语句的集合以及与漏洞相关联的语法要素。该方法能覆盖更多的漏洞候选关键点,充分学习和表示漏洞相关的结构、属性和上下文信息,提高漏洞检测的准确率。
-
公开(公告)号:CN116301824B
公开(公告)日:2025-04-29
申请号:CN202310131203.3
申请日:2023-02-17
Applicant: 哈尔滨工业大学
Abstract: 本发明公开了一种文档指导的API序列搜索方法,所示方法包括如下步骤:步骤1:通过挖掘API文档仓库获取API集合以及API文档字典;步骤2:通过挖掘代码仓库构建数据集以及用于搜索的API使用序列数据库;步骤3:对原始数据进行预处理,并将其转化成能被深度学习模型处理的特征向量;步骤4:构建网络模型;步骤5:训练网络模型,并使用训练好的网络模型实现API使用序列搜索。本发明通过将API文档作为模型训练的指导信息,辅助实现跨模态注意力与跨模态相似度计算,能够缓解功能描述和API使用序列之间的语义鸿沟问题,从而提高搜索的准确率。
-
公开(公告)号:CN114969763B
公开(公告)日:2024-07-16
申请号:CN202210700763.1
申请日:2022-06-20
Applicant: 哈尔滨工业大学
IPC: G06F21/57 , G06N3/0464 , G06N3/047 , G06N3/0455 , G06N3/08
Abstract: 本发明公开了一种基于seq2seq代码表示学习的细粒度漏洞检测方法,首先,提取漏洞候选关键节点作为切片准则,再使用程序切片技术提取程序中的切片代码段。然后,使用基于seq2seq深度学习模型,对切片代码段进行表示学习,生成包含语句间长依赖关系的语句向量表示序列,将序列中每条语句的向量表示送入检测器中,检测其是否为漏洞语句。该方法能够充分利用代码中的全局和局部语义信息,学习语句内和语句间的漏洞相关的特征,避免传统的基于深度学习分类模型对代码表示学习时难以捕获漏洞语句及其上下文之间的长依赖信息的问题,利用seq2seq模型对代码进行表示学习生成的语句向量表示序列,更适合语句级的细粒度漏洞检测。
-
-
-
-
-
-
-
-
-