[发明专利]一种基于代码仓库提交说明的PoC快速生成方法有效
申请号: | 201610625646.8 | 申请日: | 2016-08-02 |
公开(公告)号: | CN106294140B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 赵丝喆;武志飞;黄小芳;吴敬征;杨牧天;李牧;武延军 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明结合机器学习方法、深度学习方法和GPU并行计算提出了一种基于代码仓库提交说明的PoC快速生成方法。该方法首先使用并行机器学习方法构造分类器,对代码仓库的提交说明进行分类,筛选出含代码的commit段。接着使用并行深度学习方法对这些commit段进行语义分析,根据语义特征进一步筛选出含有PoC的commit段,生成PoC集合。本发明首次发现代码仓库的提交说明可以作为PoC的数据来源,并提供了有效可行的提取PoC方法,能够快速地生成PoC集合,为软件项目的安全测试、渗透测试等提供大量可靠的测试实例,同时降低安全技术人员搜集漏洞验证样本的难度,进而为安全漏洞的研究带来帮助。 | ||
搜索关键词: | 一种 基于 代码 仓库 提交 说明 poc 快速 生成 方法 | ||
【主权项】:
1.一种基于代码仓库提交说明的PoC快速生成方法,其步骤包括:1)从代码仓库提交说明中提取含有代码的commit段,生成待测集,包括:1‑1)根据代码仓库提交说明中的关键字将代码日志切割为多个commit段,人工挑选含代码的commit段作为正训练样本,不含代码的commit段作为负训练样本;1‑2)对正训练样本和负训练样本进行数据预处理,所述预处理包括对中文样本进行文本分词以及对英文样本进行去停止词和词根还原;1‑3)提取预处理后的正训练样本和负训练样本的特征,并进行文本向量化;1‑4)基于向量化的文本,采用并行机器学习方法对代码仓库提交说明中所有的commit段分类;根据步骤1‑4)分类的结果提取含有代码的commit段生成待测集;2)提取步骤1)生成的待测集中commit段的语义特征,并根据commit段中是否含有PoC打正负标签,将语义特征协同正负标签一同作为输入,训练生成PoC分类器;3)使用步骤2)生成的PoC分类器,对步骤1)生成的待测集进行并行分类,将含有PoC的commit段生成PoC集合,输出PoC,所述PoC是指用于验证安全漏洞的测试代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610625646.8/,转载请声明来源钻瓜专利网。