基于强化学习的Java反序列化漏洞检测系统及方法

    公开(公告)号:CN114462043A

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

    申请号:CN202111629096.4

    申请日:2021-12-28

    摘要: 本发明公开了一种基于强化学习的Java反序列化漏洞检测系统及方法,包括:漏洞数据采集;构建序列化感知的代码属性图SCPG,挖掘潜在漏洞调用链;利用强化学习对模糊测试的种子调度过程进行建模,训练模糊决策模型;对待检测的JAVA文件进行静态分析,构建序列化感知的代码属性图SCPG并识别潜在漏洞调用链,使用模糊决策模型对潜在漏洞调用链进行验证,输出存在利用风险的反序列化漏洞调用链。本发明可以一定程度上解决传统JAVA反序列化漏洞调用链挖掘方法中人工开销大、精度不高的问题;并且相较于基于变量可控性分析的JAVA反序列化漏洞调用链自动挖掘方法,本发明可以通过模糊测试对挖掘得到的潜在漏洞调用链进行验证,使得实际应用领域更广、精度更高。

    一种恶意软件包检测方法、系统、设备及存储介质

    公开(公告)号:CN118520459A

    公开(公告)日:2024-08-20

    申请号:CN202410408182.X

    申请日:2024-04-07

    申请人: 扬州大学

    摘要: 本发明公开了一种恶意软件包检测方法、系统、设备及存储介质,方法包括:从公开网站获取良性包,作为训练样本;对训练样本内的代码进行分析,生成对应代码的调用图和控制流图;根据所述调用图和控制流图,训练得到标准化代码行为序列;结合标准化代码行为序列,调整SecureBERT模型,筛选出可能具有恶意行为的软件包,并对SecureBERT模型进行训练;根据人工收集的专家知识,形成恶意特征集,通过对特征进行抽取,训练基于朴素贝叶斯分类器的二分类器;根据训练后SecureBERT模型,结合所述二分类器,生成集成分类器,通过集成分类器对恶意软件包完成检测与识别;本发明能够自适应的检测可疑的代码行为、避免客观因素对检测结果造成影响。

    一种基于双视图因果推理的可解释漏洞检测方法及系统

    公开(公告)号:CN117763560A

    公开(公告)日:2024-03-26

    申请号:CN202311689060.4

    申请日:2023-12-08

    申请人: 扬州大学

    IPC分类号: G06F21/57 G06N5/04

    摘要: 本发明公开了一种基于双视图因果推理的可解释漏洞检测方法及系统,所述漏洞检测方法包括以下步骤:S1、获取代码样本,所述代码样本包括训练样本和待检测样本,将所述训练样本依次经过数据增强、静态分析、构建代码属性图、特征抽取后得到训练数据集;将所述待检测样本依次经过静态分析、构建代码属性图、特征抽取后得到待检测数据集;S2、基于混合对比学习法处理所述训练数据集,建立漏洞检测模型;将所述待检测数据集输入所述漏洞检测模型,输出漏洞代码;S3、对所述漏洞代码进行因果推理,输出漏洞检测解释。本发明具有鲁棒性高、准确性高、简洁性强的特点。

    一种基于开发者画像的软件工程任务推荐方法

    公开(公告)号:CN109299473B

    公开(公告)日:2024-01-09

    申请号:CN201811361276.7

    申请日:2018-11-15

    申请人: 扬州大学

    摘要: 本发明公开了一种基于开发者画像的软件工程任务推荐方法,包括以下步骤:首先获取软件工程任务的描述文本、紧急程度E以及质量要求Q;之后提取描述文本的主题词并确定软件工程任务关键词T;然后对E、Q进行等级划分;之后通过GitHub和Stack Overflow中的数据获取开发者画像包括技能S、活跃度A、贡献度C和信誉度R;再对A、C、R进行等级划分;然后求取S和T之间的相似度Rdev,并求取每个开发者能完成所述软件工程任务的概率P;最后根据E、Q、A、C、R和P,对所有开发者进行优劣排序,选取最优的开发者完成软件工程任务。本发明有效地结合了开发者完成软件工程任务的历史记录以及开发者画像的更新功能,从而实时推荐出最合适的完成任务的开发者。

    面向软件缺陷知识的知识搜索方法

    公开(公告)号:CN110413732B

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

    申请号:CN201910641797.6

    申请日:2019-07-16

    申请人: 扬州大学

    IPC分类号: G06F16/33 G06F16/36 G06F11/36

    摘要: 本发明公开了一种面向软件缺陷知识的知识搜索方法,属于软件开发与维护领域,包括以下步骤:对用户输入的搜索问句进行预处理以形成问句的语法依赖树;根据语法依赖树抽取问题语义三元组,该三元组包括主语、关系与宾语;将问题语义三元组与现有的软件缺陷知识图谱三元组库进行匹配,获得匹配三元组集合;根据匹配三元组集合构建搜索结果子图,并返回给用户。本发明方法针对软件缺陷领域用户可能会搜索的问题条件进行语义分析,并结合知识图谱、自然语言处理这些日益成熟的技术将用户的问题转化成结构化的查询语言并和已有的知识图谱相关联,能够实现更好的搜索交互过程,为软件开发和维护领域提供良好的缺陷信息搜索平台,辅助修复过程。

    基于LSTM的漏洞自动分类方法、系统和计算机设备

    公开(公告)号:CN112115476B

    公开(公告)日:2023-10-24

    申请号:CN202010785734.0

    申请日:2020-08-06

    申请人: 扬州大学

    摘要: 本发明公开了一种基于LSTM的漏洞自动分类方法、系统和计算机设备,方法包括以下过程:训练长短期记忆网络LSTM;利用训练好的LSTM网络处理待分类的漏洞代码;基于NVD树图构建映射矩阵;根据所述映射矩阵以及待分类的漏洞代码对应的LSTM网络的输出,进行矩阵运算,获得待分类漏洞代码的类别。本发明将漏洞矩阵运用到漏洞分类技术中,利用了漏洞矩阵的结构特性,方便化了分类工作。以CWE·NVD为分类标准,在NVD类路径基础上进行漏洞的自动分类,解决了漏洞代码的模糊匹配问题,实现了标准缺陷漏洞库的矩阵化使用以及LSTM特性的极大化利用,同时实现了缺陷预测的自动化,具有较强的方便性,一定程度上为信息安全领域提供了帮助。

    漏洞补丁推荐方法、系统、计算机设备和存储介质

    公开(公告)号:CN111897946B

    公开(公告)日:2023-09-19

    申请号:CN202010652542.2

    申请日:2020-07-08

    申请人: 扬州大学

    摘要: 本发明公开了一种漏洞补丁推荐方法、系统、计算机设备和存储介质,方法包括:构建漏洞修复数据集,包括漏洞代码及对应的漏洞补丁源代码、漏洞类型特征、文档注释以及测试样例;构建并训练预训练模型;采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;对补丁进行优先级排序,基于该顺序为待修复的代码片段推荐补丁。本发明充分利用漏洞的特征类型,一方面更好的进行预训练模型的构建,发挥预训练模型的优势,另一方面,有利于减少补丁搜索空间,更快速的获取所需补丁。此外,本发明充分利用预训练模型在自然语言方面的优势,结合代码和文本两个部分,进行预训练模型的构建和训练,很好的克服了人为规定等方式的不足。

    一种基于图的端到端程序修复方法

    公开(公告)号:CN112463424B

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

    申请号:CN202011265976.3

    申请日:2020-11-13

    申请人: 扬州大学

    摘要: 本发明公开了一种基于图的端到端程序修复方法,属于软件调试领域,该方法包括:缺陷数据集构建;缺陷程序切片;缺陷代码图嵌入;构建和训练Graph2Seq模型;利用训练好的Graph2Seq模型生成修复补丁并验证补丁的正确性。本发明提出的方法使用图表征代码,可以充分挖掘代码缺陷语句及其上下文之间的语法、语义关联,更好地学习缺陷的特征,从而生成质量更高、可读性更强的修复补丁,达到自动修复程序缺陷的目的,能极大提升自动程序修复的效率。

    课程文本资源到课程知识图谱的自动映射方法

    公开(公告)号:CN114943000A

    公开(公告)日:2022-08-26

    申请号:CN202210605906.0

    申请日:2022-05-31

    申请人: 扬州大学

    发明人: 赵小龙 李斌

    摘要: 本发明公开了软件领域内的一种课程文本资源到课程知识图谱的自动映射方法,包括:步骤1)通过现有数据建立课程语料库,并实现对课程概念标签的抽取,最后构建数据集;步骤2)模型训练,利用数据集训练模型;步骤3)模型调优,使用对抗学习算法FGM参与模型BERT训练,得到FGM‑BERT模型;步骤4)模型预测,将待映射文本输入到训练后的模型中,根据模型的输出及验证时自动选择概率阈值,自动将文本映射到概念标签上,最终完成了到课程知识图谱的映射,本发明解决了多标签文本分类的问题,实现了互联网的习题和博客等课程文本资源到课程知识概念的有效映射。