一种针对漏洞检测模型的组合对抗攻击方法

    公开(公告)号:CN115080982B

    公开(公告)日:2024-07-19

    申请号:CN202210729780.8

    申请日:2022-06-24

    Abstract: 本发明公开了一种针对漏洞检测模型的组合对抗攻击方法,首先使用本发明中提出的4种代码扰动方法对程序骨架中可修改的语句进行扰动,生成大量语义相似的候选样本。其次,利用生成的候选样本初始化遗传算法的种群规模和成员,然后,根据不同的扰动方法设计变异算子,并对种群成员进行选择、交叉和变异操作生成新的种群;最后,判断每次迭代生成的新种群中是否存在适应度大于一定阈值的成员,如果存在,则表示成功获得对抗样本。根据本发明提出的多种代码扰动方法,可实现对各种语法要素执行语义保持的程序等价变换,从而提高生成的对抗样本质量。通过将遗传搜索策略与多种代码扰动方法相结合,能够提高对代码漏洞检测模型的攻击成功率和攻击效率。

    基于切片属性图表示学习的函数级代码漏洞检测方法

    公开(公告)号:CN112699377B

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

    申请号:CN202011613496.1

    申请日:2020-12-30

    Abstract: 本发明公开了一种基于切片属性图表示学习的函数级代码漏洞检测方法,首先引入新的切片准则,并提出切片属性图的概念,基于切片准则和程序切片技术生成代码的切片属性图,提取与漏洞候选关键点有依赖关系的图结构信息、节点属性信息和代码上下文信息;然后,利用关系图卷积神经网络并结合基于节点和子图的双重注意力机制,对切片属性图进行表示学习,以学习更全面、更准确的漏洞模式;最后对各个切片属性图的漏洞识别结果进行融合实现函数级别的漏洞检测,并确定漏洞候选语句的集合以及与漏洞相关联的语法要素。该方法能覆盖更多的漏洞候选关键点,充分学习和表示漏洞相关的结构、属性和上下文信息,提高漏洞检测的准确率。

    一种基于深度学习和强化学习的多粒度代码漏洞检测方法

    公开(公告)号:CN111753303B

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

    申请号:CN202010747186.2

    申请日:2020-07-29

    Abstract: 本发明公开了一种基于深度学习和强化学习的多粒度代码漏洞检测方法,步骤如下:1)解析源代码,获取代码对应的中间代码表示;2)对中间代码进行切片,获取比源程序更小的代码段;3)使用代码分段表示方法将输入的代码段转化为低维连续的实值向量;4)将代码段的向量表示输入到基于深度学习的粗粒度代码漏洞检测模型中,判断代码段是否包含缺陷;5)构建基于强化学习的细粒度代码漏洞检测模型,预测含有缺陷的代码段中具体引发漏洞的代码行。本发明提出一种完整的多粒度代码漏洞检测框架,并首次将强化学习应用到细粒度代码漏洞检测领域,以及提出一种新的代码分段表示学习模型以充分利用程序的语义信息,提高了漏洞检测的准确度和实用性。

    一种基于知识库和表示学习的缺陷报告自动分派方法

    公开(公告)号:CN111723021B

    公开(公告)日:2022-05-03

    申请号:CN202010728693.1

    申请日:2020-07-23

    Abstract: 本发明公开了一种基于知识库和表示学习的缺陷报告自动分派方法,所述方法利用知识库和表示学习技术,首先从缺陷报告仓库中提取结构化信息和文本信息,从而构建知识库。然后将知识库中的实体和关系以及文本描述初始化为相同维度的低维连续的实值向量。再利用改进的表示学习模型PTITransE学习实体和关系的向量表示。最后,基于实体和关系的向量表示,使用链接预测技术,为新提交的缺陷报告推荐合适的修复者。本发明首次将知识库和表示学习应用到缺陷分派领域,并提出一种新的表示学习模型以充分利用缺陷报告的文本和结构化信息,提高了缺陷分派的准确率。

    一种基于代码知识图谱和知识迁移的代码摘要生成方法

    公开(公告)号:CN111797242A

    公开(公告)日:2020-10-20

    申请号:CN202010611989.5

    申请日:2020-06-29

    Abstract: 本发明公开了一种基于代码知识图谱和知识迁移的代码摘要生成方法,所述方法如下:1、抽取并融合多源数据构建代码知识图谱;2、利用代码解析工具生成抽象语法树,遍历抽象语法树中的方法调用节点获取API调用序列;3、从代码知识图谱中搜索API调用序列中的API描述信息;4、挖掘大规模开源项目,构建API序列摘要生成数据集,训练文本摘要生成模型,学习与API功能相关的背景知识;5、构建代码摘要生成模型;6、在代码摘要数据集上训练代码摘要生成模型,并利用该模型生成代码摘要。本发明将代码知识图谱和知识迁移用于代码摘要生成任务,能加强模型提取代码功能语义信息的能力,辅助模型理解代码,提高代码摘要生成质量。

    一种基于深度学习和强化学习的多粒度代码漏洞检测方法

    公开(公告)号:CN111753303A

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

    申请号:CN202010747186.2

    申请日:2020-07-29

    Abstract: 本发明公开了一种基于深度学习和强化学习的多粒度代码漏洞检测方法,步骤如下:1)解析源代码,获取代码对应的中间代码表示;2)对中间代码进行切片,获取比源程序更小的代码段;3)使用代码分段表示方法将输入的代码段转化为低维连续的实值向量;4)将代码段的向量表示输入到基于深度学习的粗粒度代码漏洞检测模型中,判断代码段是否包含缺陷;5)构建基于强化学习的细粒度代码漏洞检测模型,预测含有缺陷的代码段中具体引发漏洞的代码行。本发明提出一种完整的多粒度代码漏洞检测框架,并首次将强化学习应用到细粒度代码漏洞检测领域,以及提出一种新的代码分段表示学习模型以充分利用程序的语义信息,提高了漏洞检测的准确度和实用性。

    一种文档指导的API使用序列搜索方法

    公开(公告)号:CN116301824B

    公开(公告)日:2025-04-29

    申请号:CN202310131203.3

    申请日:2023-02-17

    Abstract: 本发明公开了一种文档指导的API序列搜索方法,所示方法包括如下步骤:步骤1:通过挖掘API文档仓库获取API集合以及API文档字典;步骤2:通过挖掘代码仓库构建数据集以及用于搜索的API使用序列数据库;步骤3:对原始数据进行预处理,并将其转化成能被深度学习模型处理的特征向量;步骤4:构建网络模型;步骤5:训练网络模型,并使用训练好的网络模型实现API使用序列搜索。本发明通过将API文档作为模型训练的指导信息,辅助实现跨模态注意力与跨模态相似度计算,能够缓解功能描述和API使用序列之间的语义鸿沟问题,从而提高搜索的准确率。

    基于seq2seq代码表示学习的细粒度漏洞检测方法

    公开(公告)号:CN114969763B

    公开(公告)日:2024-07-16

    申请号:CN202210700763.1

    申请日:2022-06-20

    Abstract: 本发明公开了一种基于seq2seq代码表示学习的细粒度漏洞检测方法,首先,提取漏洞候选关键节点作为切片准则,再使用程序切片技术提取程序中的切片代码段。然后,使用基于seq2seq深度学习模型,对切片代码段进行表示学习,生成包含语句间长依赖关系的语句向量表示序列,将序列中每条语句的向量表示送入检测器中,检测其是否为漏洞语句。该方法能够充分利用代码中的全局和局部语义信息,学习语句内和语句间的漏洞相关的特征,避免传统的基于深度学习分类模型对代码表示学习时难以捕获漏洞语句及其上下文之间的长依赖信息的问题,利用seq2seq模型对代码进行表示学习生成的语句向量表示序列,更适合语句级的细粒度漏洞检测。

    在API知识图谱上基于Q学习的API序列搜索方法

    公开(公告)号:CN114969272B

    公开(公告)日:2024-07-02

    申请号:CN202210743639.3

    申请日:2022-06-27

    Abstract: 本发明公开了一种在API知识图谱上基于Q学习的API序列搜索方法,首先,设计了API本体结构,并从API文档与开源软件项目中抽取API知识用于构建API知识图谱。其次,通过Word2Vec词嵌入方法以及TransE表示学习方法生成强化学习的状态表示。再次,基于DQN方法,给出了基于强化学习的API序列搜索模型的训练算法。最后,基于训练好的强化学习模型,实现API序列搜索。本发明将API使用序列搜索任务转化为基于API知识图谱的路径搜索任务,能更好地保证搜索到的API序列的合法性。本发明采用强化学习实现API使用序列搜索,其独特的探索机制能探索更丰富的API调用方式,从而增强模型的泛化能力。

    一种文档指导的API使用序列搜索方法

    公开(公告)号:CN116301824A

    公开(公告)日:2023-06-23

    申请号:CN202310131203.3

    申请日:2023-02-17

    Abstract: 本发明公开了一种文档指导的API序列搜索方法,所示方法包括如下步骤:步骤1:通过挖掘API文档仓库获取API集合以及API文档字典;步骤2:通过挖掘代码仓库构建数据集以及用于搜索的API使用序列数据库;步骤3:对原始数据进行预处理,并将其转化成能被深度学习模型处理的特征向量;步骤4:构建网络模型;步骤5:训练网络模型,并使用训练好的网络模型实现API使用序列搜索。本发明通过将API文档作为模型训练的指导信息,辅助实现跨模态注意力与跨模态相似度计算,能够缓解功能描述和API使用序列之间的语义鸿沟问题,从而提高搜索的准确率。

Patent Agency Ranking