改进的有监督跨域协议缺陷预测算法.pdf
《改进的有监督跨域协议缺陷预测算法.pdf》由会员分享,可在线阅读,更多相关《改进的有监督跨域协议缺陷预测算法.pdf(6页珍藏版)》请在咨信网上搜索。
1、Computer Engineering and Applications计算机工程与应用2023,59(16)网络应用随着互联网时代的发展已经走入人们的生活,支撑着各个领域的发展,如通讯设备、工业生产、一体化控制、城市智慧建设等领域。网络通常是基于协议约定进行协调工作,完成指定的网络服务。然而,基于设计人员的经验,以及安全性等因素干扰,协议中往往存在若干缺陷。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要,甚至会发生安全故障。近十年中,严重的网络协议缺陷层出不穷。“永恒之蓝”爆发于 201
2、7 年 4 月 14 日晚,利用 Windows 系统的SMB协议缺陷来获取系统的最高权限,以此来控制被入侵的计算机,这个缺陷导致攻击者在目标系统上可以执行任意代码。基于SSH的文件传输协议SCP(securecopy protocol)被曝存在安全缺陷,SCP客户端无法验证SCP服务器返回的对象是否与请求的东西一致,该问题从1983年起就已经存在,直到2019年才发布补丁进行修复。2019年,波音737飞机发生事故,经调查报告显示为坠毁客机的自动防失速系统存在设计缺陷,协议代码存在缺陷。利用代码的复杂性、耦合度等特征,借助机器学习改进的有监督跨域协议缺陷预测算法周超,王震,秦富童,刘义中国人
3、民解放军63891部队摘要:针对软件代码的缺陷预测是常见的研究问题,但基于协议的代码缺陷预测暂时无人尝试研究。提出了改进的有监督跨域协议缺陷预测(enhanced supervised cross-domain protocol defect prediction,ESCPDP)算法,解决跨域缺陷预测中类不平衡及特征冗余等问题。首先提出Mean-ReSMOTE算法来解决数据集的类不平衡问题,其次提出Hybrid-RFE+算法对过采样后的数据进行特征选择,得到最优子集,最后使用支持向量机(support vector machine,SVM)构建有监督缺陷预测模型。在 NASA 数据集和自主搜集
4、构建的 Net协议缺陷数据集上,以 Acc、Recall和F1值作为评测指标对提出的模型进行验证,实验结果表明改进的有监督跨域协议缺陷预测算法要优于其他经典算法,具有更好的预测效果。关键词:缺陷预测;类不平衡;过采样;特征选择;有监督学习文献标志码:A中图分类号:TP393.08doi:10.3778/j.issn.1002-8331.2204-0442Enhanced Supervised Cross-Domain Protocol Defect Prediction AlgorithmZHOU Chao,WANG Zhen,QIN Futong,LIU YiUnit 63891 of PL
5、A,ChinaAbstract:Defect prediction for software code is a common research problem,but protocol-based code defect predictionis an unknown problem for the time being.In this paper,an enhanced supervised cross-domain protocol defect prediction(ESCPDP)algorithm is proposed to solve class imbalance and fe
6、ature redundancy problems in the cross-domain defectprediction.Firstly,mean-RESMOTE is proposed to solve the problem of class imbalance in the dataset.Secondly,Hybrid-RFE+is proposed to solve the problem of feature selection carried out on the over-sampled data for getting the optimalsubset.Finally,
7、support vector machine(SVM)is used to build a supervised defect prediction model.Acc,Recall and F1values are used as evaluation indexes to verify the proposed model on the NASA dataset and the Net protocol defect datasetindependently collected and constructed.Experimental results show that ESCPDP al
8、gorithm is superior to other classicalalgorithms and has better prediction effect.Key words:defect prediction;class imbalance;over-sampled;feature selection;supervised learning作者简介:周超(1993),男,硕士,助理工程师,研究方向为信息安全,E-mail:;王震(1986),男,硕士,工程师,研究方向为网络与信息安全;秦富童(1985),男,硕士,工程师,研究方向为信息安全;刘义(1977),男,博士,高级工程师,研
9、究方向为通信工程。收稿日期:2022-04-25修回日期:2022-07-05文章编号:1002-8331(2023)16-0256-062562023,59(16)技术判断出协议代码有无缺陷是一种可行的技术,及时发现协议代码中的安全隐患,可以减少带来的损失风险,避免事故的发生。但是,协议缺陷预测中数据集存在类分布不平衡等问题,即缺陷类数据和非缺陷类数据分布比例不均匀,现有的采样方法如ROS(random oversample)1、SMOTE(synthetic minority over-sampling technique)2、ADASYN(adaptive synthetic sampl
10、ing)3等生成样本多样化不足,本文将对此方面问题进行提升。不少研究人员已经建立了多样化针对软件缺陷代码模块的模型来进行缺陷预测,尚未对协议代码模块进行检验,且目前对特征冗余与类不平衡问题的考虑不完善。因此,本文提出了改进的有监督跨域协议缺陷预测算法,利用从软件缺陷代码中学习到的知识,通过均衡化处理进行协议代码缺陷预测,最终再基于传统的支持向量机(support vector machine,SVM)算法进行模型训练,主要提出了两个改进算法:(1)对数据集中的样本,提出Mean-ReSMOTE算法进行过采样,增加少数类样本,删除重复样本,减少机器学习模型的过度泛化。(2)对于过采样后的数据,提
11、出 Hybrid-RFE+算法进行特征选择,对数据集样本进行递归式搜寻、混合式特征选择,去除不相关、冗余的特征,提升机器学习模型的鲁棒性与准确率。最后,对过采样后与特征选择后的数据集进行训练。本文基于 NASA MDP 数据集和自主搜集构建的Net协议缺陷数据集进行实验,经过与传统机器学习算法对比发现,本文提出的两个算法都能取得较好的实验结果。1研究背景1.1跨域缺陷预测研究跨域缺陷预测是由于目标项目没有足够多的历史标记数据,而使用其他项目中的标记数据构建缺陷预测。根据源项目数据和目标项目数据是否相同的度量元,又可以进一步将这些方法划分为同构跨域缺陷预测和异构跨域缺陷预测。由于协议缺陷代码与软
12、件缺陷代码整体存在较高的相似度,本文针对自主搜集的协议代码,采用同构跨域预测。同构跨域缺陷预测可以分为无监督学习、半监督学习与有监督学习。基于有监督的跨项目预测方法直接使用源项目中标记的历史数据作为训练数据,并在该训练数据上构建预测模型,然后在目标项目上检验模型预测性能。本文使用的源项目和目标项目均为有标签数据,本文主要聚焦于有监督学习。跨域缺陷预测中,普遍存在源项目与目标项目分布差异过大、相似度较低的问题。源项目和目标项目数据来自不同的数据分布,因此在源项目上构建的缺陷预测模型通常在目标项目上表现不好。为了使得源项目中的数据可以有效地构建适用于目标项目的预测模型,亟待解决的问题是如何缩小两个
13、项目之间的差异。近年来,在跨项目缺陷预测领域中,研究人员已经提出了多种解决方法。为有效减少源项目和目标项目的差异,Pan等人4在源项目与目标项目中,分别度量特征度量元之间的相似性,选择两者中相似的度量元作为有效的特征度量,借助机器学习算法构建软件缺陷预测模型;Nam等人5提出 HDP(heterogeneous defect prediction)迁移学习方法,通过对特征进行选择与特征映射,将源项目与目标项目中与缺陷相关性较高的特征度量元映射到分布相似的空间中来减少差异分布;Jing等人6提出CCA+(canonical correlation analysis)方法找到源项目与目标项目的共有
14、软件度量空间减少分布差异;Turhan等人7通过计算源项目和目标项目欧氏距离,选择最近的k个项目作为训练数据用于后续模型训练。采用机器学习模型进行协议代码缺陷预测,输入端应该是代码的特征提取数据,代码的特征提取应该是依据某种度量元指标来进行。基于协议代码的复杂度,本文拟采用现有较为通用的度量元指标进行协议代码的特征提取,利用LOC度量指标、Halstead度量指标、运算复杂度等度量元指标进行考量。LOC度量计算代码中总行数、可执行代码行数、注释行数、代码中存在的注释行数等多种维度。此种度量主要是基于代码行角度,随着代码行数的增加,代码中出现缺陷的概率会增加。Halstead度量计算代码中的操作
15、数与操作符个数,综合考量代码的复杂情况,利用操作符和操作数基本指标,计算出程序模块的算法实现难度、编程工作量、操作符与操作数复杂度、程序所占体积等多种指标。此种度量主要是基于操作符和操作数,随着运算程度的复杂化,代码中出现缺陷的概率会增加。McCabe度量通过计算代码模块的圈复杂度(衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,即预防错误所需测试的最少路径条数)、基本复杂度(衡量程序非结构化程度,非结构成分降低了程序质量,增加了代码的维护难度,使程序难于理解)等指标。此种度量主要是基于代码复杂度,随着计算复杂度的增加,代码中出现缺陷的概率增加。具体有26个指标,如表1所示。1
16、.2类不平衡问题通常,一个项目中有缺陷模块的数量要远小于无缺陷模块的数量,因此缺陷数据集是类不平衡数据集。目前大多数缺陷预测模型并没有进行不平衡数据处理,因而数据集中多数类无缺陷数据的特征更加明显。这样导致分类器将大量的有缺陷模块误划分为无缺陷模块,周超,等:改进的有监督跨域协议缺陷预测算法257Computer Engineering and Applications计算机工程与应用2023,59(16)严重影响缺陷预测模型的预测性能。因此首先对源项目进行类不平衡数据处理,使得源项目中有缺陷模块和无缺陷模块的数量平衡。针对类不平衡问题,解决方案有欠采样和过采样。欠采样主要通过删除多数类样本的
17、数量,保持少数类样本和多数类样本数量一致,常见的算法有随机欠采样等。但是删除样本本身会导致模型学习信息减少。过采样技术主要是通过增加少数类样本来实现样本平衡,减少机器学习模型过度泛化的问题。常见的方法有随机过采样方法,通过随机选择少数类样本进行复制;SMOTE方法主要基于KNN算法对少数类样本生成一定数量的样本,保持样本数量平衡;Borderline-SMOTE8方法是 SMOTE 方法的一种改进,主要关注于多数类与少数类中难以分类的边界点;ADASYN算法考虑了不同特征之间的相关性及重要性不同,为不同的特征学习不同的权重;MAHAKIL9关注样本生成的多样性进行少数类生成,但生成的部分样本出
18、现误差,降低了机器学习模型的预测准确率。1.3特征选择方法有监督特征选择方法中,常见的可以分为三类:Filter类,Wrapper类,Embedded类。Filter类方法的特征选择过程独立于模型,其主要基于样本中的某项评价指标的分数进行选择,选择评价指标分数位于前列的特征,常见的指标有方差、皮尔森系数、信息熵等,其对特征的选择与模型的融合程度不足,部分情况下效果不理想。Kwak等人10提出了一种基于Parzen窗口计算输入变量和标签间的互信息。Dash等人11使用不一致度量去评估特征子集。孙广路等人12将最大信息系数理论作为评价标准,采用马尔科夫毯作为特征选择方法。Wrapper类特征选择算
19、法针对Filter类算法的不足进行改进,对特征子集的选择依赖于训练模型的评测性能。Yang等人13提出了基于包装器的多层感知器神经网络特征选择方法,提升了特征选择的表示能力与评价能力。张戈等人14提出ABC-CRO高维特征选择方法,将蜂群算法与改进化学反应算法相结合进行迭代选择。Embedded类方法是将特征选择过程嵌入到模型训练过程中,模型训练的同时也在进行特征选择。常见的代表性方法包括决策树算法,如ID315、C4.516、CART17等。三种方法对比而言,Filter类方法运行速度快,但缺少了对数据与模型的融合考虑过程;Wrapper类方法评价准则与效果相对较好,但是算法时间复杂度过高,
20、不太适用于高维数据的特征选择;Embedded类方法相对较少,性能的好坏主要取决于模型训练器的性能。2算法描述2.1算法框架图1为改进的有监督跨域协议缺陷预测算法的框架图。初始情况下,训练数据集少数类样本较少,多数类样本较多,存在较为明显的类不平衡问题,提出Mean-ReSMOTE算法进行过采样,实现二者的平衡;过采样后的数据集一般特征总数较多,存在部分冗余特征,提出Hybrid-RFE+算法进行特征选择,得到最优特征子集;最后借助支持向量机(SVM)分类器构建算法模型,对测试集进行预测,得出预测结果。度量元表示LOC_TOTALLOC_EXECUTABLELOC_CODE_AND_COMME
21、NTLOC_COMMENTSLOC_BLANKNUMBER_OF_LINESHALSTEAD_DIFFICULTYHALSTEAD_EFFORTHALSTEAD_VOLUMEHALSTEAD_PROG_TIMEHALSTEAD_LENGTHHALSTEAD_CONTENTHALSTEAD_LEVELPARAMETER_COUNTNUM_OPERATORSNUM_UNIQUE_OPERATORSNUM_OPERANDSNUM_UNIQUE_OPERANDSCYCLOMATIC_COMPLEXITYMAINTENANCE_SEVERITYESSENTIAL_COMPLEXITYESSENTIAL_
22、DENSITYPERCENT_COMMENTSCYCLOMATIC_DENSITYNORMALIZED_CYCLOMATIC_COMPLEXITYHALSTEAD_ERROR_EST概述给定模块的总行数模块可执行代码行数代码有注释行的行数注释行行数空行行数总行数实现算法的困难程度编程工作量程序在词汇上复杂性编程时间操作符与操作数总数程序容量反映程序效率模块参数个数操作数个数去重操作数个数操作符个数去重操作符个数圈复杂度可维护指数基本复杂度基本复杂度密度注释占比圈复杂度密度标准化圈复杂度程序错误预测值表1度量元指标选择Table 1Metric indicator selectionMean-R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 改进 监督 协议 缺陷 预测 算法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。