一种基于聚类的软件漏洞序列特征的分析方法

文档序号:6585043阅读:171来源:国知局

专利名称::一种基于聚类的软件漏洞序列特征的分析方法
技术领域
:本发明涉及一种基于聚类的软件漏洞序列特征的分析方法,属于信息安全
技术领域

背景技术
:随着黑客攻击事件数量的不断上升,蠕虫在Internet上的泛滥,信息安全逐渐成为人们眼中的焦点。信息安全中的一个核心问题就是存在于计算机系统中的软件安全漏洞,恶意的攻击者可以利用这些安全漏洞提升权限,访问未授权资源,甚至破坏敏感数据。计算机软件的普遍应用带给人们越来越多的便捷,并日益影响人们的日常生活,但计算机软件中存在大量的错误及漏洞,隐藏着巨大的风险。阻止系统攻击和入侵的根本解决途径是在软件缺陷被利用之前发现并进行分析和研究。任何系统或软件的运行都会假定一个安全域,这个安全域是由安全策略规定的,在该域内的任何操作都是安全的、可控的,一旦超出该域或者违反了安全策略,系统或软件的运行就是不可控的、未知的。漏洞是由安全域切换到非安全域的触发点。漏洞是静态的、被动的、可触发的。一般而言,一条漏洞信息包括漏洞名称、漏洞级别、漏洞成因、漏洞影响、漏洞描述、受影响的系统、未受影响的系统、漏洞解决方案、漏洞利用类型和漏洞利用方法等,此外还要考虑漏洞来源、漏洞发布日期、漏洞参考信息等。现有的软件漏洞序列特征的分析方法有Petri网分析法,故障树分析法,粗糙集理论分析法,神经网络分析法等。但是,由于软件漏洞序列数据库中的软件漏洞序列特征是相当庞大的,这使得针对待测软件的疑似漏洞序列的特征分析很困难,而传统软件漏洞序列特征分析方法没有对软件漏洞序列数据库中的软件漏洞序列进行聚类分析,因此,针对待测软件的疑似漏洞序列的特征分析效率较低。本发明使用的重要的已有技术有K-means算法和Needleman-Wunsch算法。K-means算法是J.B.MacQueen于1967年提出的一种经典的基于分区的聚类算法,该算法利用K划分策略对数据集进行分区,得到的每个分区代表一个聚类。在科学和工业等应用领域产生了深远影响。K-means算法的实现步骤如下1.任意选择K个数据序列作为初始聚类簇中的数据序列的中心序列;2.根据聚类簇中数据序列的中心序列,计算中心序列与序列数据库D中序列的相似度,将每个序列分配给最相似的聚类簇结构;3.更新每个聚类簇的中心序列,重复步骤二,直到聚类结果不再变化,获得最终的聚类簇结构。Needleman-Wunsch算法是Needleman和Wunsch于1970年提出的串行求解双序列全局比对问题的经典算法。该算法基于动态规划算法并在其基础上进行改进,在序列全长范围内将序列的相似度进行比对,为全局序列比对提供了可行的操作方案。Needleman-Wunsch算法的实现步骤如下1.首先构建得分矩阵;2.根据所建得分矩阵,求解序列S和T的前缀子序列的最优值;3.然后求解更大规模的子序列的最优值,直到求得序列S和T的最优值;4.其次利用各阶段最优比对得分矩阵构造最优比对;5.最终获得最优比对的两条序列。
发明内容本发明的目的是提出一种基于聚类的软件漏洞序列特征的分析方法。本发明首先利用已有的软件漏洞序列,创建软件漏洞序列数据库;然后应用聚类技术分析数据库中的软件漏洞序列,产生多个软件漏洞序列聚类簇;通过相似度计算,找到与待测软件的疑似漏洞序列最相近的软件漏洞序列聚类簇;并采用序列比对方法将待测软件的疑似漏洞序列与最相近的软件漏洞序列聚类簇中的所有软件漏洞序列进行比对,进一步找到此软件漏洞序列聚类簇中与待测软件的疑似漏洞序列最相似的软件漏洞序列;最终,将此最相似的软件漏洞序列在软件漏洞序列数据库中所对应的相关漏洞信息作为安全报告输出。本发明的目的是通过下述技术方案实现的。首先给出相关概念的定义定义1软件漏洞序列是指会导致漏洞产生的一个有序的程序操作序列。定义2待测软件的疑似漏洞序列是指程序经过静态分析后,疑似为软件漏洞序列、需分析其漏洞原因的序列。定义3项集是组成软件漏洞序列的最小元素的集合;软件漏洞序列的最小元素(也称为项)是形式化表述漏洞特征的符号;形式化表示为L={lply…,1J,其中,L为项集,lp12,…,lm为组成软件漏洞序列的最小元素。定义4序列对从项集中任意选取两个项,并且选取的两个项的排列顺序与其在项集中的先后顺序保持一致,则称这两个项的组合为序列对;形式化表示为ek=<j)。本发明的一种基于聚类的软件漏洞序列特征的分析方法的具体操作步骤如下步骤一、利用已有的软件漏洞序列数据,创建软件漏洞序列数据库。收集已有漏洞检测工具检测到的软件漏洞序列数据,创建软件漏洞序列数据库。软件漏洞序列数据库用D表示,包含已确定的软件漏洞产生时的运行序列。D是元组〈SID,S,INF,CID〉的集合,其中SID是该软件漏洞序列的序列号,S是软件漏洞序列,INF是该软件漏洞序列的相关漏洞信息,CID是该软件漏洞序列的聚类号,是为了对软件漏洞序列进行聚类分析而设定的字段,以实现用不同的聚类号来表示漏洞序列属于不同的类。步骤二、采用聚类技术对软件漏洞序列数据库中的软件漏洞序列进行分类。其具体操作步骤如下第1步对步骤一建立的软件漏洞序列数据库中的软件漏洞序列进行预处理;其具体操作步骤为①根据软件漏洞序列数据库D包含的项集L,获得软件漏洞序列数据库中包含的序列对的集合E={ei,e2,…,ek},ek=l山.(i<j);②对于每个软件漏洞序列,用一组与序列对的集合E等长的向量进行描述,如果软件漏洞序列中包含序列对ek,其对应的向量值为1;否则,其对应的向量值为0;第2步采用聚类技术对第1步预处理后获得的软件漏洞序列进行聚类。采用K-means算法的具体操作如下①定义软件漏洞序列聚类簇结构每个软件漏洞序列聚类簇结构&由一个三维数组表示&={Xi,(countn,counti2,…,countin),;其中,i为正整数,1《i《K,是软件漏洞序列聚类簇的编号,K为人为定义的聚类簇的数量;Xi={xn,xi2,,xin}是软件漏洞序列聚类簇的中心序列,是一个n维向量,n为正整数,取值为项集中的序列对的数量;co皿tik是每个软件漏洞序列聚类簇中包含序列对ek的序列的个数A为该软件漏洞序列聚类簇中包含的软件漏洞序列。②任意选择K个软件漏洞序列作为初始软件漏洞序列聚类簇中软件漏洞序列的中心序列;③根据软件漏洞序列聚类簇中软件漏洞序列的中心序列,计算软件漏洞序列的中心序列与软件漏洞序列数据库中软件漏洞序列的相似度,将每个软件漏洞序列分类给最相似的软件漏洞序列聚类簇结构;④应用软件漏洞序列聚类簇的中心序列的获取方法,获取新的更新中心序列,更新每个软件漏洞序列聚类簇的中心序列,重复③,直到聚类结果不再变化,获得最终的软件漏洞序列聚类簇结构。所述软件漏洞序列聚类簇的中心序列的获取方法为为每个序列对ek定义一个最小支持度阈值9j(1《j《n),若软件漏洞序列聚类簇&内序列对ek的平均支持度大于等于9j,认为序列对ek是软件漏洞序列聚类簇Ci内软件漏洞序列的特征属性,Xik取l;否则,认为属性ek是软件漏洞序列聚类簇&内软件漏洞序列的非特征属性,Xik取0;如公式1所示。=<<formula>formulaseeoriginaldocumentpage6</formula>其中,|Cj表示&中序列的个数。③中所述软件漏洞序列的中心序列与软件漏洞序列数据库中软件漏洞序列的相似度通过公式2计算其中,Pl.S表示软件漏洞序列Pl所支持的序列对的集合;p2.s表示软件漏洞序列P2所支持的序列对的集合。步骤三、从待测软件的源程序中抽取待测软件的疑似漏洞序列;步骤四、寻找与待测软件的疑似漏洞序列最相似的软件漏洞序列聚类簇对待测软件的疑似漏洞序列与每个软件漏洞序列聚类簇的中心序列计算相似度,找到与其最相似的软件漏洞序列聚类簇Cj(1《j《K);如果该疑似漏洞序列不属于任何一个软件漏洞序列聚类簇,说明该待测软件的疑似漏洞序列序列是一个安全的运行序列,结束操作;如果该疑似漏洞序列属于软件漏洞序列聚类簇Cj,转到步骤五。所述待测软件的疑似漏洞序列与每个软件漏洞序列聚类簇的中心序列相似度的计算方法与软件漏洞序列中心序列与软件漏洞序列数据库中软件漏洞序列的相似度计算方法相同。步骤五、应用序列比对技术将待测软件的疑似漏洞序列和软件漏洞序列聚类簇Cj中的每个软件漏洞序列进行序列比对,得到与其最相似的软件漏洞序列Sj。步骤六、将软件漏洞序列数据库中与待测软件的疑似漏洞序列最相似的软件漏洞序列Sj所对应的漏洞信息INF作为安全报告输出。有益效果本发明方法通过对软件漏洞序列数据库中的软件漏洞序列进行聚类,待测软件的疑似漏洞序列只与获得的软件漏洞序列聚类簇中K个中心序列进行相似度度量,得到与其最相似的一个软件漏洞序列聚类簇,锁定待测软件的疑似漏洞序列的特征范围,直接排除其它(K-l)个软件漏洞序列聚类簇中的软件漏洞序列的特征,进一步采用序列比对方法判断待测软件的疑似漏洞序列与最相似的软件漏洞序列聚类簇中的哪条软件漏洞序列最相似,最终确定该待测软件的疑似漏洞序列的漏洞信息。本发明提高了软件漏洞序列的分析效率,对于大规模漏洞序列数据集的操作,本发明的优点会更加突出。图1为本发明具体实施方式的一种基于聚类的软件漏洞序列特征的分析方法的流程示意图;图2为本发明具体实施方式中的S和S3的Needleman-Wunsch算法计算过程示意图;图3为本发明具体实施方式中的S和S5的Needleman-Wunsch算法计算过程示意图。具体实施例方式下面结合具体实施方式对本发明技术方案进行详细描述。本发明的一种基于聚类的软件漏洞序列特征的分析方法的流程示意图如图1所示,具体操作步骤如下步骤一、利用已有的软件漏洞序列数据,创建软件漏洞序列数据库,如表1所示。表1软件漏洞序列数据库<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>步骤二、采用聚类技术对软件漏洞序列数据库中的软件漏洞序列进行分类。第1步对软件漏洞序列数据库中的软件漏洞序列进行预处理;预处理软件漏洞序列后,软件漏洞序列数据库中存储的10条软件漏洞序列被形式化为9维向量,如表2所示。表2预处理软件漏洞序列<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>第2步采用聚类技术对第1步经过预处理后获得的软件漏洞序列进行聚类。采用K-means算法对软件漏洞序列进行聚类,设置K=3,先假定前3条软件漏洞序列序列为3个软件漏洞序列聚类簇&,(:2,(:3的中心序列。计算后面的7条软件漏洞序列和3个软件漏洞序列聚类簇Q,C2,C3的中心序列的相似度,更新软件漏洞序列聚类簇的中心序列,相似度阈值设定为0.5。软件漏洞序列数据库中的软件漏洞序列被分为Q,C2,C3共3个软件漏洞序列聚类簇,被分配到软件漏洞序列聚类簇Q中的软件漏洞序列为S4,S9;被分配到软件漏洞序列聚类簇G中的软件漏洞序列为S2,S7;被分配到软件漏洞序列聚类簇(:3中的软件漏洞序列为S3,S5,S6,S8,S10,iQ,c2,c3的中心序列分别为s4,s2,s3。步骤三、从待测软件的源程序中抽取待测软件的疑似漏洞序列;步骤四、对待测软件的疑似漏洞序列Si与每个软件漏洞序列聚类簇的中心序列计算相似度。待测软件的疑似漏洞序列S=ABCBABB。软件漏洞序列S4的向量表示为p4={0,1,l,O,1,1,1,1,1},根据序列相似度的定义,分别计算S4与软件漏洞序列SnS2,S3的相似度,可得Sim(Pl,p4)=1/9,Sim(p2,p4)=0/7,Sim(p3,p4)=4/8,且三者之中最大的Sim(p3,p4)=4/8>0.5,因此,将S4分配到以S3为中心的软件漏洞序列聚类簇C3中。软件漏洞序列S5的向量表示为p5={0,0,0,0,1,l,O,1,1},分别计算Ss与软件漏洞序列SnS2,S3的相似度,可得Sim(Pl,p5)=4/9,Sim(p2,p5)=1/9,Sim(p3,p5)=7/8,且三者之中最大的Sim(p3,p5)=7/8>0.5,因此,将S5分配到以S3为中心的软件漏洞序列聚类簇Q中。软件漏洞序列S6的向量表示为p6={0,1,1,1,1,l,O,1,0},分别计算S6与软件漏洞序列SnS2,S3的相似度,可得Sim(Pl,p6)=4/8,Sim(p2,p6)=2/7,Sim(p3,p6)=6/8,且三者之中最大的Sim(p3,p6)=6/8>0.5,因此,将S6分配到以S3为中心的软件漏洞序列聚类簇Q中。同理可得,Sim(P2,p》=3/5>0.5,S7分配到以S2为中心序列的软件漏洞序列聚类簇C2中;Sim(p3,p8)=5/8>0.5,S8分配到以S3为中心序列的软件漏洞序列聚类簇C3中;Sim(p2,p7)=1>0.5,S9分配到以为中心序列的软件漏洞序列聚类簇Q中;Sim(p3,Pi。)=5/8>o.5,Si。分配到以S3为中心序列的软件漏洞序列聚类簇C3中。因此,经过第一轮软件漏洞序列间的相似度计算后,被分配到软件漏洞序列聚类簇Q中的软件漏洞序列有S工,S9;被分配到软件漏洞序列聚类簇C2中的软件漏洞序列有S2,S7;被分配到软件漏洞序列聚类簇(:3中的软件漏洞序列有S3,S4,S5,S6,S8,Sw,下面进行第二轮计算。根据K-means算法思想,要保证K个软件漏洞序列聚类簇内相似度高,且软件漏洞序列聚类簇间相似度低,进一步更新K个软件漏洞序列聚类簇的中心序列。因为Sim(Pl,p3)=5/8>0.5,而Sim(p3,p4)=4/8<5/8,因此,软件漏洞序列聚类簇Q的中心序列更新为S4,S工被分配到软件漏洞序列聚类簇C3中,而软件漏洞序列聚类簇C3的中心序列也需进一步选取。在软件漏洞序列S3,S4,S5,S6,S8,S1Q中,通过两两计算相似度,重新获得软件漏洞序列聚类簇Q的中心序列,最终,得到软件漏洞序列Sd乃然为更新后的中心序列。因此,采用K-means算法对漏洞序列库中的序列进行聚类处理后,可知10条软件漏洞序列被划分为3个软件漏洞序列聚类簇,软件漏洞序列S4,S9被分配到软件漏洞序列聚类簇Q中;软件漏洞序列S2,S7被分配到软件漏洞序列聚类簇C2中;软件漏洞序列S15S3,S5,S6,S8,S1Q被分配到软件漏洞序列聚类簇C3中。且3个软件漏洞序列聚类簇Q,C2,C3的中心序列分别为S4,S2,S3。假设待测软件的疑似漏洞序列S=ABCBABB,下面将待测软件的疑似漏洞序列S与软件漏洞序列聚类簇Q,C2,C3的中心序列S4,S2,S3分别进行相似度计算,判断待测软件的疑似漏洞序列S与哪个软件漏洞序列聚类簇最为相似。已知软件漏洞序列S4=CBCBCC,S2=ABA,S3=BCACCB,p4={0,0,0,0,1,l,O,1,1},P2={l,l,0,l,0,0,0,0,0},p3={0,1,1,1,1,1,1,1,1},首先,将待测软件的疑似漏洞序列S=ABCBABB转换为9维向量表示,序列对集合为{AA,AB,AC,BB,BA,BC,CA,CB},p={1,1,1,1,1,1,1,1,0}。通过相似度计算,Sim(p,p4)=3/9,Sim(p,p2)=3/8,Sim(p,p3)=7/9,且三者之中最大的Sim(p,p3)=7/9>0.5,表明待测软件的疑似漏洞序列S与软件漏洞序列聚类簇Q最为相似。步骤五、应用Needleman-Wunsch算法将待测软件的疑似漏洞序列S和软件漏洞序列聚类簇Cj中的每个软件漏洞序列进行序列比对,得到与其最相似的软件漏洞序列Sj。Needleman-Wunsch算法的实现步骤如下第1步首先构建(m+l)*(n+l)得分矩阵;第2步根据所建得分矩阵,求解待测软件的疑似漏洞序列S和与其最相似的软件漏洞序列聚类簇Cj中的软件漏洞序列Sj的前缀子序列的最优值;第3步然后求解更大规模子序列的最优值,直到求得序列S和Sj的最优值;第4步其次利用各阶段最优比对得分矩阵构造最优比对;第5步最终获得与待测软件的疑似漏洞序列S最优比对的软件漏洞序列。采用Needleman-Wunsch算法将待测软件的疑似漏洞序列S和软件漏洞序列聚类簇Q中的软件漏洞序列SnS3,S5,S6,S8,S1Q进行序列比对,得到与其最相似的软件漏洞序列。其中S丄=ACBAA,S3=BCACCB,S5=CABCBCCB,S6=BACBB,S8=BCBA,S10=BBCBA。S和S3的Needleman-Wunsch算法计算过程如图2所示;S和S5的Needleman-Wunsch算法计算过程如图3所示。根据上面的待测软件的疑似漏洞序列S和软件漏洞序列S3,S5的Needleman-Wunsch算法计算过程示意图,对待测软件的疑似漏洞序列S和软件漏洞序列聚类簇Q中的软件漏洞序列S3,S15S5,S6,S8,S1Q进行匹配,通过插入"_"来表示插入或删除相对应的字符而得到软件漏洞序列之间的最大相似性排列。Si和S的最优比对为S丄A_CBA__S:ABCBABBSs和S的最优比对为S3:_BC__B_S:ABCBABBS和Ss的最优比对为S:_ABCB__BS5:CABCBCCBSe和S的最优比对为S6:_B___BBS:ABCBABBSs和S的最优比对为S8:_BCBA__S:ABCBABBS^和S的最优比对为S10:_B_B_B_S:ABCBABB因此,待测软件的疑似漏洞序列s与软件漏洞序列聚类簇c3中的软件漏洞序列s5最为相似。步骤六、将软件漏洞序列数据库中与待测软件的疑似漏洞序列最相似的软件漏洞序列Sj所对应的漏洞信息INF作为安全报告输出。由于待测软件的疑似漏洞序列S与软件漏洞序列聚类簇C3中的软件漏洞序列S5最为相似,进一步从表1软件漏洞序列数据库中抽取软件漏洞序列Ss所对应的相关漏洞信息INF为来源校验错误,因此,可以判定待测软件的疑似漏洞序列S的漏洞特征为来源校验错误,并以安全报告形式输出。1权利要求一种软件漏洞特征操作序列的提取方法,其特征在于具体操作步骤如下步骤一、利用已有的软件漏洞序列数据,创建软件漏洞序列数据库;软件漏洞序列数据库含有软件漏洞序列的相关漏洞信息;步骤二、采用聚类技术对软件漏洞序列数据库中的软件漏洞序列进行分类;其具体操作步骤如下第1步对步骤一建立的软件漏洞序列数据库中的软件漏洞序列进行预处理;其具体操作步骤为①根据软件漏洞序列数据库D包含的项集L,获得软件漏洞序列数据库中包含的序列对的集合E={e1,e2…,ek},ek=lilj,其中i<j;②对于每个软件漏洞序列,用一组与序列对的集合E等长的向量进行描述,如果软件漏洞序列中包含序列对ek,其对应的向量值为1;否则,其对应的向量值为0;第2步采用聚类技术对第1步预处理后获得的软件漏洞序列进行聚类;步骤三、从待测软件的源程序中抽取待测软件的疑似漏洞序列;步骤四、寻找与待测软件的疑似漏洞序列最相似的软件漏洞序列聚类簇对待测软件的疑似漏洞序列与每个软件漏洞序列聚类簇的中心序列计算相似度,找到与其最相似的软件漏洞序列聚类簇Cj,1≤j≤K;如果该疑似漏洞序列不属于任何一个软件漏洞序列聚类簇,说明该待测软件的疑似漏洞序列序列是一个安全的运行序列,结束操作;如果该疑似漏洞序列属于软件漏洞序列聚类簇Cj,转到步骤五;步骤五、应用序列比对技术将待测软件的疑似漏洞序列和软件漏洞序列聚类簇Cj中的每个软件漏洞序列进行序列比对,得到与其最相似的软件漏洞序列Sj;步骤六、将软件漏洞序列数据库中与待测软件的疑似漏洞序列最相似的软件漏洞序列Sj所对应的漏洞信息作为安全报告输出。2.如权力要求1所述的一种软件漏洞特征操作序列的提取方法,其特征在于步骤二第2步采用K-means算法对第1步预处理后获得的软件漏洞序列进行聚类的具体操作步骤如下①定义软件漏洞序列聚类簇结构每个软件漏洞序列聚类簇结构Ci由一个三维数组表示:Ci={Xi,(countn,counti2,…,countin),Sj;其中,i为正整数,1《i《K,是软件漏洞序列聚类簇的编号,K为人为定义的聚类簇的数量;Xi二{Xil,xi2,…,xj是软件漏洞序列聚类簇的中心序列,是一个n维向量,n为正整数,取值为项集中的序列对的数量;co皿tik是每个软件漏洞序列聚类簇中包含序列对ek的序列的个数;Si为该软件漏洞序列聚类簇中包含的软件漏洞序列;②任意选择K个软件漏洞序列作为初始软件漏洞序列聚类簇中软件漏洞序列的中心序列;③根据软件漏洞序列聚类簇中软件漏洞序列的中心序列,计算软件漏洞序列的中心序列与软件漏洞序列数据库中软件漏洞序列的相似度,将每个软件漏洞序列分类给最相似的软件漏洞序列聚类簇结构;④应用软件漏洞序列聚类簇的中心序列的获取方法,获取新的更新中心序列,更新每个软件漏洞序列聚类簇的中心序列,重复③,直到聚类结果不再变化,获得最终的软件漏洞序列聚类簇结构;所述软件漏洞序列聚类簇的中心序列的获取方法为为每个序列对ek定义一个最小支持度阈值9j,1《j《n,若软件漏洞序列聚类簇Ci内序列对ek的平均支持度大于等于9j,认为序列对ek是软件漏洞序列聚类簇Ci内软件漏洞序列的特征属性,Xik取1;否则,认为属性ek是软件漏洞序列聚类簇&内软件漏洞序列的非特征属性,xik取0;如公式1所示;<formula>formulaseeoriginaldocumentpage3</formula>其中,|Ci|表示Ci中序列的个数。3.如权力要求1或2所述的一种软件漏洞特征操作序列的提取方法,其特征在于步骤二第2步中③所述软件漏洞序列的中心序列与软件漏洞序列数据库中软件漏洞序列的相似度以及步骤四中所述的待测软件的疑似漏洞序列与每个软件漏洞序列聚类簇的中心序列相似度通过公式2获得(2)其中,Pps表示软件漏洞序列Pl所支持的序列对的集合;P2.s表示软件漏洞序列P2所支持的序列对的集合。4.如权力要求1或2所述的一种软件漏洞特征操作序列的提取方法,其特征在于步骤五中所述的序列比对技术为Needleman-Wunsch算法;其实现步骤如下第1步构建(m+l)*(n+l)得分矩阵;第2步根据所建得分矩阵,求解待测软件的疑似漏洞序列S和与其最相似的软件漏洞序列聚类簇Cj中的软件漏洞序列Sjm的前缀子序列的最优值;第3步然后求解更大规模子序列的最优值,直到求得序列S和Sjm的最优值;第4步其次利用各阶段最优比对得分矩阵构造最优比对;第5步最终获得与待测软件的疑似漏洞序列S最优比对的软件漏洞序列。全文摘要本发明公开一种基于聚类的软件漏洞序列特征的分析方法,属于信息安全
技术领域
。本发明首先利用已有的软件漏洞序列,创建软件漏洞序列数据库;然后应用聚类技术分析数据库中的软件漏洞序列,产生多个软件漏洞序列聚类簇;通过相似度计算,找到与待测软件的疑似漏洞序列最相近的软件漏洞序列聚类簇;并采用序列比对方法将待测软件的疑似漏洞序列与最相近的软件漏洞序列聚类簇中的所有软件漏洞序列进行比对,进一步找到此软件漏洞序列聚类簇中与待测软件的疑似漏洞序列最相似的软件漏洞序列;最终,将此最相似的软件漏洞序列在软件漏洞序列数据库中所对应的相关漏洞信息作为安全报告输出。本发明提高了软件漏洞序列的分析效率。文档编号G06F11/36GK101739337SQ20091024189公开日2010年6月16日申请日期2009年12月14日优先权日2009年12月14日发明者任家东,吴迪,李立宁,王崑声,胡昌振申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1