[发明专利]漏洞测试模型训练方法和装置有效
申请号: | 201910464058.4 | 申请日: | 2019-05-30 |
公开(公告)号: | CN110297764B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 张润琦;燕赟;张晓磊 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/04;G06N3/0464;G06N3/08 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 朱颖;刘芳 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞 测试 模型 训练 方法 装置 | ||
本发明提供一种漏洞测试模型训练方法和装置。该方法包括:获取多个训练数据和多个训练数据中每个训练数据对应的标签信息,标签信息用于表示训练数据是否能够发现漏洞。分别对每个训练数据进行分段处理,得到每个训练数据对应的特征点。根据每个训练数据对应的特征点以及每个训练数据对应的标签信息,对原始测试模型进行训练,得到漏洞测试模型。从而降低了人工检测的成本,提高了漏洞测试模型的漏洞命中率,保证了漏洞测试模型的可靠性。
技术领域
本发明涉及技术领域,尤其涉及一种漏洞测试模型训练方法。
背景技术
任何系统的漏洞(bug)基本上是无法穷举的。为了尽可能多发现bug,通常会选择bug高命中率的测试用例(case)对软件代码进行测试。
目前会采用人工测试的方式,随机筛选多个case,并对多个case的优先级进行排序,再基于该排序依次采用对应的case对软件代码进行测试。
然而,测试资源是有限的,case的数量是庞大的(可达到万级),采用人工检测的方式不仅会消耗大量的时间,且有些bug高命中率的case将无法筛选到,使得case的漏洞命中率较低。
发明内容
本发明提供一种漏洞测试模型训练方法和装置,以解决现有的人工检测过程耗时长且漏洞命中率低的问题。
第一方面,本发明提供一种漏洞测试模型训练方法,包括:
获取多个训练数据和多个训练数据中每个训练数据对应的标签信息,所述标签信息用于表示所述训练数据是否能够发现漏洞;
分别对每个所述训练数据进行分段处理,得到每个所述训练数据对应的特征点;
根据每个所述训练数据对应的特征点以及每个所述训练数据对应的标签信息,对原始测试模型进行训练,得到漏洞测试模型。
可选地,所述根据每个所述训练数据对应的特征点以及每个所述训练数据对应的标签信息,对原始测试模型进行训练,得到漏洞测试模型,包括:
将每个所述训练数据对应的特征点进行切词处理;
将切词处理后的特征点输入文本卷积网络,得到第一词向量;
根据所述第一词向量以及每个所述训练数据对应的标签信息对所述原始测试模型进行训练,得到所述漏洞测试模型。
可选地,所述特征点包括步骤信息;并且,所述根据所述第一词向量以及每个所述训练数据对应的标签信息对所述原始测试模型进行训练,得到所述漏洞测试模型,包括:
确定每个所述训练数据中的步骤信息,并获取所述步骤信息对应的第一词向量;
将所述步骤信息对应的第一词向量输入循环神经网络RNN,得到第二词向量;
根据除所述步骤信息之外的其他特征点对应的第一词向量、所述第二词向量以及每个所述训练数据对应的标签信息,对所述原始测试模型进行训练,得到所述漏洞测试模型。
可选地,所述原始测试模型包括N个隐层和全连接层,N为正整数。
可选地,所述特征点包括如下信息中的至少一个:名称、预期结果、所述训练数据所属的模块、优先级、严重性和所述训练数据的描述信息。
可选地,所述方法还包括:
获取M个待测试用例,M为正整数;
分别将M个待测试用例输入所述漏洞测试模型中,得到每个待测试用例能够发现漏洞的概率;
根据所述每个待测试用例能够发现漏洞的概率,从所述M个待测试用例中确定P个目标待测试用例,所述目标待测试用例用于对代码进行测试,P≤M,P为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910464058.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据采集装置以及方法
- 下一篇:软件可靠性早期评估方法