郑黎黎,方菽兰,许德鹏,张伟峰
(1.成都赛博思安科技有限公司,四川 成都 610000;2.四川鼎诚司法鉴定中心,四川 成都 610011)
互联网发展至今,各种网络应用技术日趋完善,内容更是涵盖生活的方方面面,人们工作生活也越来越依赖网络。中国互联网络信息中心发布的第41次《中国互联网络发展状况统计报告》显示,截至2017年12月,中国网民规模达到7.72亿人,互联网普及率为55.8%,超过全球平均水平4.1个百分点。我国网民规模增长也日益稳定,互联网行业持续稳健发展,互联网已成为推动我国经济社会发展的重要力量[1]。随着互联网应用规模的扩大,网络安全问题越来越受到人们的重视。目前的网络入侵检测与防御设备如防火墙、IPS、IDS等设备大都使用基于规则的方式进行入侵检测和攻击防御,在面对未知威胁时表现乏力。针对上述问题,通过对网络用户的行为进行分析来检测用户和其行为是否异常的方法逐渐成为了网络入侵防御方面的研究热点。本文利用RC-HsMM算法和嵌套One-class SVM算法,设计出一种基于用户行为的Web异常检测系统。
对于用户请求行为的异常检测,模型采用速率异常检测与基于HsMM的模式异常检测相结合的异常检测策略。用户请求序列首先进行速率的异常检测,一旦发现异常即可告警,进行用户标记,之后将通过速率异常检测算法输出的数据输入到基于改进HsMM算法构建的用户访问模式异常检测模块进行用户访问模式异常检测,发现异常即可告警。
HsMM算法的实现采用Python的开源pyhsmm包,通过设定部分超参数来创建一个HsMM算法框架,之后使用训练数据进行训练从而得到模型参数。而对于驻留时间概率分布拟合的实现,模型采用了Python中的开源科学计算包scipy来实现。
对于用户身份异常的检测,模型使用两层One-class SVM模型嵌套的检测策略进行用户身份异常检测。首先,利用用户浏览行为数据中的页面行为数据来训练One-class SVM算法得到页面One-class SVM算法模型,利用该算法模型检测页面行为的异常程度得到页面行为异常度。其次,将页面行为异常度与会话行为数据一起作为会话One-class SVM算法模型的输入,最后通过训练与检测得到最终的用户身份异常检测结果。
对于身份异常检测,使用嵌套One-class SVM算法进行多方面的身份检测。其关键的地方是2个算法的核函数的选择,模型需要从数据集中训练来判定选择2个核函数的类型。One-class SVM算法是由scikit-learn中的OneClassSVM函数来实现的。
为了正确评价算法模型的优劣,本文引入了相关的评价指标(见表1)。其中,TP表示真实的类别为正常行为,算法评估结果为正常行为;FN表示真实的类别为正常行为,算法评估结果为异常行为;FP表示真实的类别为异常行为,算法评估结果为正常行为;TN真实的类别为异常行为,算法评估结果为异常行为。
表1 评价指标
评估算法模型的指标有准确率、召回率、F1值等。对于异常检测模型,主要关注异常行为检测是否准确与是否检测完全,所以重点是对检测准确率与漏检率的考核。
检测准确率ACC:
(1)
漏检率FPR:
(2)
将S3、S4、S5三个数据集用于速率异常检测算法的测试,三个数据集中主要包含有应用层DoS和暴力破解口令数据,分别计算速率异常检测算法的准确率和漏检率(见表2)。对于请求速率异常的检测,算法模型的检测率可以达到95%以上,漏检率在7%左右。
表2 速率异常检测算法评估
首先是对用户请求行为的检测,模型系统采用的请求速率异常检测与HsMM算法相结合的RC-HsMM检测算法,提高了HsMM算法自身对重复模式的检测率,同时也增强了模型系统对用户请求异常行为检测的能力。从对比实验结果可以看出,在用户请求异常检测方面,RC-HsMM算法相较其他比较的机器学习算法更适合本文提出的基于用户行为的Web异常检测模型。
对于用户身份异常检测,模型算法具有很好的检测效果,但其前提是需要收集大量的用户历史数据用于训练。此外,用户的异常操作数据量越大,模型的检测率就越高,漏检率就越小。所以在实际应用中,需要对用户的异常操作数据进行一定时间的收集才可以使用模型进行检测。基于嵌套的One-class SVM算法比其他机器学习算法在基于用户浏览行为的身份异常检测方面更具优势。
经过以上的实验与对比实验的结果分析,可以得出基于用户行为的Web异常检测模型系统具有很好的应用性与检测效果。
当今社会网络安全技术发展迅速,网络安全态势依然严峻。本文研究基于用户行为的Web异常检测模型可以有效地检测由用户入侵产生的异常行为,然而,模型仍然存在着一些不足需要改进,在今后的工作中需要进一步优化。
1)在用户请求异常检测中,RC-HsMM模型输入序列的长度是由用户请求速率控制的会话切分策略决定的,其存在一定的延时且稳定性较差,需要进一步改进。
2)在用户身份异常检测过程中,用户浏览行为与会话行为的特征相对较少。在今后的改进中,可进一步增加用户浏览行为属性。
3)在今后的研究中,可进一步对检测出来的异常进行分类,从而确定异常用户的目的。