【技术实现步骤摘要】
一种基于多任务深度学习的安全缺陷报告预测方法
本专利技术涉及一种安全缺陷报告预测方法,具体涉及一种基于多任务深度学习的安全缺陷报告预测方法。
技术介绍
随着软件的规模和复杂性日益增大,不可避免地会出现各种各样的软件缺陷。其中,安全相关的缺陷一旦被攻击者利用,将会对软件系统造成重大危害和损失。为了利于收集和管理软件缺陷,越来越多的软件公司比如Google、Mozilla已经建立了自己的缺陷报告追踪系统,用户可将发现的缺陷提交到系统上以便及时分派修复人员进行修复。由于缺乏安全相关的领域知识,缺陷报告提交者往往很难准确判断缺陷报告是否与安全相关,如果在提交报告时将安全相关的缺陷标记为非安全相关,那么势必会贻误安全缺陷修复的时机,对系统造成严重的安全威胁。采用人工方式识别安全相关的缺陷报告(以下简称“安全缺陷报告”)显然是非常耗时和不现实的。因此,自动识别安全缺陷报告具有重要意义。缺陷报告本身就具有文本描述信息差异性大的特点,又因正样本即安全缺陷报告(SecurityBugReport,SBR)在数据集中的比例较少导致类别不 ...
【技术保护点】
1.一种基于多任务深度学习的安全缺陷报告预测方法,其特征在于所述方法包括如下步骤:/n步骤1:挖掘缺陷报告仓库以及相关的安全漏洞管理网站,找出被开发人员或者维护人员标记为安全和非安全的缺陷报告,并且根据缺陷报告的严重程度内容为每个实例添加severity标签,构建用于训练和测试多任务深度学习模型的缺陷报告数据集;/n步骤2:对步骤1构建的缺陷报告数据集中缺陷报告的文本内容进行预处理,生成关于缺陷报告的专业领域语料库;/n步骤3:基于步骤2生成的关于缺陷报告的专业领域语料库,训练word2vec模型,生成词向量词典;/n步骤4:面向安全缺陷报告识别及与其相关缺陷的严重级别预测 ...
【技术特征摘要】
1.一种基于多任务深度学习的安全缺陷报告预测方法,其特征在于所述方法包括如下步骤:
步骤1:挖掘缺陷报告仓库以及相关的安全漏洞管理网站,找出被开发人员或者维护人员标记为安全和非安全的缺陷报告,并且根据缺陷报告的严重程度内容为每个实例添加severity标签,构建用于训练和测试多任务深度学习模型的缺陷报告数据集;
步骤2:对步骤1构建的缺陷报告数据集中缺陷报告的文本内容进行预处理,生成关于缺陷报告的专业领域语料库;
步骤3:基于步骤2生成的关于缺陷报告的专业领域语料库,训练word2vec模型,生成词向量词典;
步骤4:面向安全缺陷报告识别及与其相关缺陷的严重级别预测,建立多任务学习模型,所述多任务学习模型分为特征共享层和特定任务层两部分,其中:
特征共享层位于多任务学习模型的底层,用于提取预处理后的缺陷报告的共享语义特征;
特定任务层位于多任务学习模型的顶层,每个任务分别对应一个子网络,每个子网络采用有多个隐含层的全连接网络和一个softmax层实现面向特定任务的具有分辨力的特征提取以及特定的分类任务;
步骤5:训练步骤4建立的多任务学习模型,利用多个任务之间的潜在相关性,提升安全缺陷报告预测模型的泛化性能;
步骤6:更改用于实现特征共享层的深度神经网络,重复执行步骤5,选择效果最好的一种多任务深度学习模型用于安全缺陷报告的识别及其相关缺陷的严重级别预测;
步骤7:给定一个新提交的缺陷报告,使用步骤6中已训练的多任务深度学习模型识别其是否是安全缺陷报告,并预测其相关缺陷的严重级别。
2.根据权利要求1所述的基于多任务深度学习的安全缺陷报告预测方法,其特征在于所述步骤1的具体步骤如下:
步骤11:构建针对实际项目Chromium的安全缺陷报告数据集:借助开源Web爬虫平台Scrapy,按照报告提交的时间顺序,依次爬取Chromium缺陷报告仓库中的每个缺陷报告,利用正则表达式判断缺陷报告中是否包含“Bug-Security”字段,如果包含则将此缺陷报告标记为安全缺陷报告,否则标记为非安全缺陷报告;
步骤12:构建针对实际项目Mozilla的安全缺陷报告数据集:挖掘Mozilla项目的安全漏洞管理网站,获取与安全问题相关的缺陷报告信息,并从相关网页中提取缺陷报告的ID组成安全缺陷...
【专利技术属性】
技术研发人员:苏小红,蒋远,牟辰光,王甜甜,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:黑龙江;23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。