软件漏洞分析中基于密度和网格的不确定数据流聚类算法
【摘要】:信息技术的高速发展极大方便了人们的日常生活,但大量的软件漏洞也随之产生。这些漏洞被恶意利用,造成重要信息的泄露从而达到非法目的。聚类作为一种无监督学习方法能够高效的检测漏洞进而防止重要机密信息的丢失。目前,大型软件的信息流动量巨大,所处理的信息通常是非精确的。所以,通过改进不确定性数据流聚类算法进而将其应用于漏洞检测问题具有重要的现实意义。
首先,现有的不确定演化数据流聚类算法对任意形状的不确定数据流聚类效果不是很理想,对用户输入的阈值过于敏感,并且对于噪声的干扰处理困难。本文提出一种基于密度的不确定演化数据流聚类算法DUGStream,使用基于概率和欧氏距离的相似性度量方法来对概率数据流进行相似性度量,采用概率半径作为自适应动态阈值以降低用户输入对算法的影响,并且周期性的检测微簇权值动态变化以删除真正的噪声点。在人工和真实的数据实验结果显示,DUGStream算法无论在聚类精度和聚类的可伸缩性上均优于Umicro算法。
第二,针对现有基于网格的不确定数据流聚类算法聚类精度不高,对用户输入阈值敏感,本文提出一种基于密度网格的不确定数据流聚类算法UG-Stream。在处理不确定数据流聚类时,数据空间中到达的不确定数据点首先被映射到网格中,通过设定动态的阈值并以此为依据对网格进行分类,设定概率方差对网格内部的数据点分布进行表征,从而选取出网格内部数据点分布均匀的核心稠密网格进行聚类。在人工合成的数据集和真实的数据集进行对比实验,其结果显示UG-Stream算法无论在聚类精度和聚类的速率上均优于UMicro算法。
第三,目前基于网格的不确定数据流聚类算法虽然能够够达到很高的聚类速率,但是对于网格聚类边界处理困难,本文提出一种不确定数据流的网格边界聚类算法UGBStream。在处理不确定数据流网格边界聚类时,通过概率方差对网格内部的数据点分布情况进行描述从而对边界网格进行分类。根据边界网格内部数据点作球型结构,通过球型结构与邻域网格的关系,对网格内部的数据点进行分配。在人工合成的数据集和真实的数据集实验下表明,UGBStream算法无论在聚类精度和聚类的效率上均优于DUCStream算法。