[发明专利]面向开源软件供应链的无CVE漏洞智能预警方法及电子设备在审
申请号: | 202211642886.0 | 申请日: | 2022-12-20 |
公开(公告)号: | CN116049830A | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 崔星;吴敬征;罗天悦;武延军 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/41;G06N3/0442;G06N3/0464;G06N3/08 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 软件 供应 cve 漏洞 智能 预警 方法 电子设备 | ||
1.一种面向开源软件供应链的无CVE漏洞智能预警方法,其特征在于,所述方法包括:
获取用于修复软件漏洞的相关安全代码的日志文本和代码信息;
基于所述代码信息中的添加代码内容和删除代码内容,得到修改向量表示,并根据所述修改向量表示,计算所述相关安全代码为无CVE漏洞代码的第一概率;
通过对所述日志文本进行分类,得到所述相关安全代码为无CVE漏洞代码的第二概率;基于所述第一概率和所述第二概率,计算所述相关安全代码的无CVE漏洞预警结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述代码信息中的添加代码内容和删除代码内容,得到修改向量表示,包括:
结合所述相关安全代码对应的文件,获取所述代码信息中的添加代码内容和删除代码内容;
基于BPE算法,分别获取所述添加代码内容和删除代码内容的字符序列;
将每一文件的所述添加代码内容和删除代码内容的字符序列分别进行拼接,得到各文件的添加代码内容拼接结果和删除代码内容拼接结果;
将各文件的添加代码内容拼接结果和删除代码内容拼接结果分别输入两个并行的CodeBERT模型,获得所述相关安全代码的添加代码内容和删除代码内容的向量编码;
对添加代码内容和删除代码内容的向量编码进行拼接,得到修改向量表示。
3.如权利要求2所述的方法,其特征在于,所述基于BPE算法,分别获取所述添加代码内容和删除代码内容的字符序列,还包括:
对所述代码信息中的注释内容进行判断清洗。
4.如权利要求2所述的方法,其特征在于,所述将各文件的添加代码内容拼接结果输入CodeBERT模型,获得所述相关安全代码的添加代码内容的向量编码,包括:
将添加代码内容拼接结果输入CodeBERT模型,以得到[CLS]对应的向量生成结果[CES];
对各文件的向量生成结果[CES]进行加权平均,得到所述相关安全代码的添加代码内容的向量编码。
5.如权利要求1所述的方法,其特征在于,所述通过对所述日志文本进行分类,得到所述相关安全代码为无CVE漏洞代码的第二概率,包括:
计算所述日志文本的文本向量;
将所述文本向量输入LSTM层以获得语义特征;
将所述语义特征输入CNN层,得到高级信息表示;
对所述高级信息表示进行分类,得到所述相关安全代码为无CVE漏洞代码的第二概率。
6.如权利要求5所述的方法,其特征在于,所述计算所述日志文本的文本向量之前,还包括:
去除所述日志文本中停用词和短词语;
和/或,
对所述日志文本中的词进行词形还原。
7.如权利要求5所述的方法,其特征在于,所述计算所述日志文本的文本向量,包括:
利用数据集训练Skip-Gram模型,得到词向量模型;
将所述日志文本中的词输入词向量模型,得到对应的词向量;
拼接所述词向量,得到所述日志文本的文本向量。
8.如权利要求6所述的方法,其特征在于,训练Skip-Gram模型的损失函数L=其中,wt表示第t时刻的目标词。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1-8中任一所述的面向开源软件供应链的无CVE漏洞智能预警方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-8中任一所述的面向开源软件供应链的无CVE漏洞智能预警方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211642886.0/1.html,转载请声明来源钻瓜专利网。