4.5.2 参数选取与评估
MBNSA算法参数有两个的参数需要设定:相似度阈值ε和密度阈值δlow,ε定义了检测器的识别空间区域大小,δlow是检测器是否有效的阈值。
参数ε决定了空间网格的大小,进而影响了MBNSA算法的精度,因此ε的选取十分重要。ε越小,网格内的样本统计信息就越接近于该网格内所有点的空间分布,对自我空间划分的质量就越高,最小候选检测器集M也就能更精确的覆盖非我空间N;然而检测器的识别区域也随之变小,即专一性增强,系统需要产生更多的检测器来覆盖非我空间N,同时也增加了算法的时间复杂度和空间复杂度。反之ε越大,检测器集M对非我空间N的覆盖精确下降,同时专一性的下降不利于统计分析入侵行为的时间特征,然而随着检测器数量减少,算法的时间复杂度和空间复杂度也随之降低,因此需要均衡考虑。
选取合适的ε的首要原则是必须保证入侵检测的有效性,即MBNSA算法能正确区分自我空间与非我空间。从评估数据集中随机抽出10万个事件记录对象作为实验数据集,记为数据集E,其中正常连接记录67278个,入侵记录32722个,其中DOS类型11060个,R2L类型8320个,U2R类型6720个,Probing类型6622个,评估数据集中大约含有1%的噪声数据。
数据首先进行KECA降维处理,将原有的14维降到9维,极大降低了算法复杂度,9维的特征度量空间表示了网络连接的6个特征属性:①Service IP,②Client IP,③Duration,④Service,④Bytes,⑥Flags。
为了直观地评估不同ε值的效果,引入聚类纯洁度β——聚类中正常行为记录数和异常行为记录数中的最大值与记录总数的比率:
实验中采用了8种不同的ε值进行比较,将E中的每一个点映射到模式空间中,得的集合大小|Cne|,参数δlow是用来屏蔽噪声数据和异常数据对模型的干扰。实验中在ε取不同值下,δlow的设定原则是保证被滤掉的记录数不大于总记录数的1%,由集合Cne经滤噪后,得到集合
实验结果见表4-2。
表4-2 不同ε取值下的实验结果
对集合Z进行聚类处理。测试环境为:CPU为2.5GHz,内存为8G,操作系统为Windows7,64位,编程环境为VS2015。表4-3显示了聚类结果,其中为同一ε取值下所有聚类的纯洁度β的均值,t为运算时间(单位为秒),i为子空间的个数。
表4-3 不同ε取值下的和t
表4-3中,当ε=0.001时,由于空间网格足够小,接近于该网格内所有点的空间分布,使MBNSA算法能够很好地区分自我模式与非我模式,同时正如前面的分析,其时间复杂度和空间复杂度也最高。图4-6直观地显示了t与这两者之间的关系:
图4-6 t与关系图
相比ε为0.001,ε为0.005时聚类精度略微有所下降(0.9%),而聚类时间却缩短了约1/3,因此均衡考虑算法的精度和效率,ε选取0.005比较合适。当ε=0.005及δlow=10时,采用MBNSA算法对E进行处理,共产生10个子空间区域,其结果如表4-4所示。
表4-4 当ε=0.005及δlow=10时的聚类结果
表4-4中10个子空间共包含97680个记录数,约占总记录数的97.68%,也就是说大约2.32%的数据被滤掉,大于1%的噪声数据,这是由于训练数据集E的不完备性造成的,使部分高于δlow的c的邻域near(c)=∅,在聚类过程中被当作为强噪声区而被滤掉,即|Z|=5032而聚类后为4930,有102个c被裁减。表4-4中子空间1、4和7含有少量异类数据,这些异类数据处于子空间的边界上,如果提高密度阈值δlow,即收缩各个子类的空间范围,虽然可以提高各个子空间的纯洁度,但是会有更多的记录数被滤掉,如表4-5所示。当δlow=15时,子空间的纯洁度达到100%。
表4-5 当ε=0.005及δlow=15时的聚类结果
较高的密度阈值δlow造成过多的数据被滤掉(大约7.90%的数据被滤掉),会造成各个子空间的区域划分更加不完整(299个c被裁减)。由于IAIDM模型的训练数据集中只包含正常网络行为样本,如果因δlow设置不当而使自我空间的界定不完整,引发模型的e+上升。
总之,δlow既是有效检测器和无效检测器之间的分界线,也是自我空间与非我空间之间的分界线。δlow较小,自我空间的范围扩大,导致e-将可能增加,而e+将可能减小,反之亦然。因此需要根据网络环境的安全状况,适当的选取密度阈值δlow。