时间:2024-06-19
于 翔,陈 盈,陈 爽
(1.台州学院 电子与信息工程学院,浙江 台州 318000;2.台州学院 航空工程学院,浙江 台州 318000)
异常检测作为信息安全领域中广泛应用的技术,通常被用来检测违反统计规则的异常行为或异常数据。随着物联网时代的到来,人们可以方便地获得大量的数以百万计的传感器数据,由于无线传感器网络具有机动灵活等优点,所以其被广泛用于物联网应用中[1]。目前,有超过200颗在轨卫星正在捕获来自地球观测的遥感数据,这些数据被用于预测异常,如气候异常或地质异常的情况。此外,目前几乎所有的汽车生产线都通过传感器数据检测来发现异常情况。
大多数传统的异常检测方法都依赖于已知模式的类别,无论是正常模式还是异常模式。只有当检测到的行为与已知的异常模式相匹配时,才能被识别为异常。当出现新的异常行为时,其可能被错误地检测为正常[2]。有鉴于此,在一些异常检测策略中引入了机器学习的方法,可以从新出现的行为中学习,以更新现有的异常模式。然而,来自传感器的数据的变化情况以及数据变化的相关性仍常常被忽略[3]。假设部署在某林区的一个温度传感器在某一时刻向中心管理节点发回一个异常温度值,但随后它会发回一系列正常的温度值。这种异常可能是由于阳光透过露珠聚焦于温度传感器上而产生。当阳光的照射角度改变时,温度值自然恢复正常。显然,这种情况不应该触发警报。但是,如果温度传感器不断地将异常温度值发送回中心管理节点,这就可能是一个真正的警报。因此,有必要提出一种启发式方法准确、科学地检测异常行为和异常事件。
鉴于传统的异常检测方法不能满足无线传感器网络环境下的物联网异常检测要求,研究人员相继提出了一系列基于无线传感器网络的物联网异常检测方法。2015年,陈等人提出了一种全分布式通用异常检测方法(GAD),该方法使用图论并通过时空相关性进行实时异常检测[4],但是GAD无法有效检测到由一系列相关异常行为组成的异常事件。2017年,刘等人提出了一种无监督异常检测框架,该框架能够从空间维度和时间维度检测异常行为和事件。尽管该方法充分考虑了传感器数据的相关性,但却忽视了数据变化的情况[5]。
本文提出的基于时间维度的异常事件检测方法TDB-AEDM(Time Dimension-Based Anomalous Events Detection Method)通过分析传感器数据变化的情况,可以准确地检测出个体异常以及异常事件。在TDB-AEDM中,异常检测到的个体行为不会被视为异常事件,只有当同一传感器发送的行为(数据)持续显示异常时,这些传感器数据才可能触发异常事件。
在大多数情况下,数据极值比正常数据更应该引起人们的关注,例如金融危机预警、气候极端异常、银行贷款异常等。在本节中,首先将给出个体异常行为和异常事件的定义,其次介绍基于无监督学习的聚类方法等,最后在此基础上提出TDB-AEDM异常检测模型。
如图1所示,基于时间的异常行为与其时间维度上的上下文异常行为共同组成异常事件。某个传感器发送的传感器数据,随着时间的变化,存在一系列相邻异常行为以及两个个体异常行为,分别由图中矩形虚线框和圆圈构成。
定义1(个体)异常行为:在某一时间区间内,当来自传感器的输入超过某阈值或低于某阈值时,则该时间点所对应行为被识别为个体异常行为。
定义2异常事件:在给定时间区间内发生的一系列连续异常行为,即某时间范围内传感器数据超过或低于某预先给定的阈值,则此一系列连续异常行为称为异常事件。
在我们的模型中,来自无线传感器网络中的一系列传感器数据被作为输入数据,基于时间维度对传感器数据进行分析,对检测到的所有个体异常进一步分析得到异常事件。TDB-AEDM异常检测模型包括数据准备阶段和异常检测阶段,如图2所示。
图1 个体异常行为与异常事件
图2 TDB-AEDM异常检测模型
1.2.1 数据准备
在数据准备阶段,首先对来自无线传感器网络的传感器数据进行清理和规范化,因为几乎无法避免数据丢失或出现噪声的情况,这可能会导致数据倾斜进而影响数据采集过程中的数据分布。此外,对传感器数据进一步进行特征提取可以提高检测效率,减少冗余特征干扰。
1.2.2 异常检测
在异常检测阶段,将检测到所有个体异常行为以及异常事件,通过分析时间区间内个体异常行为的分布,检测时间异常事件。当在时间维度上的一系列相邻个体异常,又符合预定的异常事件定义时,则被认为是时间异常事件。其余的异常则被认为是个体的异常行为。
以下我们详细描述了异常检测模型中的关键步骤。如上所述,TDB-AEDM的完整算法包括两个关键步骤,即数据准备的步骤和异常检测的步骤。数据准备的步骤包括过滤丢失数据、清除传感器噪声数据以及数据标准化等;异常检测的步骤包括个体异常行为检测以及时间异常事件检测。完整的算法如下:
算法1.TDB-AEDM
输入:D=Dt1,Dt2,…,Dtp—p个时间点获得的传感器数据集
dq=dt1,dt2,…,dtp—传感器q在p个时间点获得的传感器数据
η—时间阈值参数
输出:AnoTE—异常事件集
①AnoTE=φ;//初始化异常事件集
②AnoB=φ;//异常行为集
③Attr=φ;//抽取特征集
④for(eachDtiinD)
⑤{清洗Dti中的缺失值;
⑥过滤Dti中的噪声数据;}
⑦for(eachDtiinD)
⑧{result=Clustering(Dti);//初始化聚类
⑨AnoBti=AnomalyDetect(result);}//检测ti时刻的异常
⑩for(eachdqinD)
⑪{SegAno=SegAno∪FilterNor(dq,η);//检测异常事件
⑫AnoTE=AnoTE∪SegAno;}
⑬returnAnoTE;
本文根据KDD CUP'99网络入侵(Http)数据集对TDB-AEDM的性能进行评估,KDD CUP'99网络入侵数据集包含网络入侵数据。对于数据集中的数据,我们只需要连续值,二进制属性和标称属性将被删除。
文中比较了TDB-AEDM与三种基线方法的性能,这三种方法的性能都很好,可以用来评价异常检测方法的性能。实验中采用的第一种基线方法是ORCA,它基于k-最近邻(kNN)方法。同时,ORCA采用了样本随机化策略和简单的剪枝规则,且几乎具有线性时间复杂性。实验中采用的第二种基线方法是常被用于评估异常检测效果的one-class SVM(支持向量机)方法。第三种基线方法是局部离群因子(LOF),它是一种基于密度的方法,可以在高维数据集中准确地发现异常值。为了评价TDB-AEDM的性能,实验中采用了三个常用的评价指标,分别是检测率(DR)、虚警率(FAR)和运行时间。
在这个实验中,我们比较了ORCA、LOF、一类支持向量机和TDB-AEDM的性能。对于ORCA和LOF,我们设置K=15以保证K大于最大异常簇的大小。对于一类支持向量机,我们使用常用的径向基函数核。如图3所示的ROC曲线,TDB-AEDM和LOF的表现均优于one-class SVM,而ORCA表现最差,这主要是因为ORCA受聚类形状的影响所致。
本实验主要验证各算法的运行效率。如图4所示,TDB-AEDM和LOF具有相似的运行时间,比ORCA稍好。而one-class SVM需要的运行时间最多,并且在这四种方法中,其效率最差。
图3 检测性能分析(Http)
图4 运行时间比较
迄今为止,研究人员已经提出了许多种异常检测方法,但是能够准确检测到传感器数据中异常事件的方法却很少。文中提出了一种基于时间维度的物联网异常检测方法,其优点包括:(1)与传统的异常检测方法相比,文中方法不受数据分布情况的影响。(2)基于TDB-AEDM模型,不仅可检测到个体异常行为,还可以有效检测到异常事件。(3)该模型具有一定的可扩展性,改进后可检测不同应用场景中的异常,如遥感应用或物联网应用。在今后的工作,我们将进一步改进TDB-AEDM模型,以提高其在实时数据流中检测异常的能力。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!