[发明专利]基于量子神经网络的软件漏洞检测方法及装置有效
申请号: | 202210367516.4 | 申请日: | 2022-04-08 |
公开(公告)号: | CN114676437B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 单征;周鑫;庞建民;王俊超;岳峰;夏冰;舒国强;刘福东;刘文甫;许瑾晨;郭佳郁;赵博;宋智辉 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06N20/00;G06N10/60 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 刘莹莹 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 量子 神经网络 软件 漏洞 检测 方法 装置 | ||
本发明提供一种基于量子神经网络的软件漏洞检测方法及装置。该方法包括:步骤1:定位待检测目标程序中的API函数;步骤2:根据所述API函数对所述待检测目标程序进行切片,得到若干个代码片段;步骤3:对每个所述代码片段中的变量名和/或功能名称进行标准化;步骤4:基于标准化后的若干个所述代码片段构建字典,然后按照二进制编码方式对所述字典中的每个单词进行编码,得到每个单词对应的二进制向量,接着对每个单词对应的二进制向量进行量子态角度编码,得到每个单词对应的量子态;步骤5:将每个单词对应的量子态输入至训练好的基于量子神经网络的软件漏洞检测模型,得到所述待检测目标程序中的漏洞。
技术领域
本发明涉及量子计算与网络安全技术领域,尤其涉及一种基于量子神经网络的软件漏洞检测方法及装置。
背景技术
随着网络的快速发展和普及,网络安全仍然是行业亟待解决的关键问题。软件漏洞检测作为网络安全的核心问题,已有很多研究,如静态分析和动态分析。随着机器学习技术的兴起,基于机器学习的软件漏洞检测成为热点。目前,该领域主要包括基于属性的软件代码测量、代码相似度检测等。
尽管经典机器学习已被证明适用于软件漏洞检测,但该研究存在一定的局限性,主要表现在以下方面:(1)依赖于安全专家定义软件漏洞特征,只能挖掘已知漏洞信息,因为在实际应用环境中无法挖掘未知漏洞信息,应用范围相对有限;(2)基于神经网络的漏洞检测能力与训练数据的规模成正比,训练数据的扩大也会导致神经网络训练成本的增加;(3)大规模的神经网络训练所需要的记忆存储空间也是极大的,经典神经网络结构的扩展会导致经典计算机的存储性能瓶颈。
发明内容
针对基于经典机器学习的软件漏洞检测存在一定局限性的问题,本发明提供一种基于量子神经网络的软件漏洞检测方法及装置。
一方面,本发明提供一种基于量子神经网络的软件漏洞检测方法,包括:
步骤1:定位待检测目标程序中的API函数;
步骤2:根据所述API函数对所述待检测目标程序进行切片,得到若干个代码片段;
步骤3:对每个所述代码片段中的变量名和/或功能名称进行标准化;
步骤4:基于标准化后的若干个所述代码片段构建字典,然后按照二进制编码方式对所述字典中的每个单词进行编码,得到每个单词对应的二进制向量,接着对每个单词对应的二进制向量进行量子态角度编码,得到每个单词对应的量子态;
步骤5:将每个单词对应的量子态输入至训练好的基于量子神经网络的软件漏洞检测模型,得到所述待检测目标程序中的漏洞。
进一步地,所述基于量子神经网络的软件漏洞检测模型的训练过程包括:
步骤A1:收集已知漏洞信息的程序作为训练程序;
步骤A2:定位所述训练程序中的API函数;
步骤A3:根据所述API函数对所述训练程序进行切片,得到若干个代码片段;
步骤A4:判断每个代码片段中是否存在漏洞,对存在漏洞的代码片段和不存在漏洞的代码片段分别设置不同标签;
步骤A5:对每个所述代码片段中的变量名和/或功能名称进行标准化;
步骤A6:基于标准化后的若干个所述代码片段构建字典,然后按照二进制编码方式对所述字典中的每个单词进行编码,得到每个单词对应的二进制向量,接着对每个单词对应的二进制向量进行量子态角度编码,得到每个单词对应的量子态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210367516.4/2.html,转载请声明来源钻瓜专利网。