异常入侵检测

2024-08-22

异常入侵检测(精选十篇)

异常入侵检测 篇1

网络正在逐步改变着人们的工作方式和生活方式, 成为当今社会发展的一个重要主题。而与此同时网络所暴露出的安全隐患问题却日益突出。病毒、黑客几乎每天都在困挠着互联网的用户。2006年10月, 《Information Week》研究部和埃森哲咨询公司 (Accenture) 合作进行了第九年度“全球安全调查”, 调查全面揭示了商业计算环境所面临的各种威胁。在受访者当中, 有57%的美国公司表示在过去一年中曾遭受病毒攻击, 34%曾受到蠕虫的攻击, 18%经历了拒绝服务 (Denialof-Service, Do S) 攻击。另外, 网络攻击和身份窃取发生的比例分别为9%和8%。

随着网络安全问题的日益突出, 单纯的防火墙技术暴露出明显的不足和弱点, 如无法解决安全后门问题;不能阻止网络内部攻击;不能提供实时入侵检测能力等, 入侵检测系统 (Intrusion Detection system, IDS) 作为一种重要的动态安全技术, 成为防火墙之后的第二道安全闸门, 在不影响网络性能的情况下能对网络进行监测。IDS能够帮助系统对付网络攻击, 扩展了系统管理员的安全管理能力 (包括安全审计、监视、攻击识别和响应) , 提高了信息安全基础结构的完整性。

本文简述入侵检测技术的概念, 着重评述基于网络流量异常的入侵检测技术及最新进展, 最后讨论该领域面临的问题及发展趋势。

1 入侵检测的概念

Aderson以“threat”的概念将入侵定义为未经授权蓄意尝试访问信息、篡改信息、使系统不可靠或不可用。入侵检测是对入侵的发觉, 它通过收集并分析计算机系统和网络的有关数据来检测入侵行为。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析, 从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统 (Intrusion Detection System, IDS) 。

根据采用的分析方法, 入侵检测分为:异常检测 (anomaly detection) 和误用检测 (misuse detection) 。异常检测是指利用定量的方式来描述可接受的行为特征, 以区分和正常行为相违背的、非正常的行为特殊来检测入侵。误用检测是指利用已知系统和应用软件的弱点攻击模式来检测入侵。

2 基于网络流量异常的入侵检测

网络行为学认为网络的流量行为具有长期特征和短期特征。网络长期特征表现在网络行为具有一定的规律性和稳定性。能够对局域网的流量或者某些关键主机的流量情况进行实时监测, 并进行预测与分析, 有助于判定异常网络流量, 及早发现和识别潜在的入侵攻击的发生。

网络流量异常会严重影响网络性能, 造成网络拥塞, 严重的会使网络中断, 使网络设备利用率达到100%, 无法响应进一步令。造成网络异常流量的原因可能有:网络扫描、DDos攻击、蠕虫、恶意下载、用户对网络资源的不当使用以及物理链路或者设备不能正常运转等。基于网络流量的入侵检测是识别入侵的一个的新的研究方向, 特别针对网络扫描、DDo S攻击以及蠕虫等较为有效。

入侵检测中通常用到的异常检测方法有:统计方法 (Staticstics) 、神经网络 (Neural network) 、模式预测 (Patten prediction) 、遗传算法 (Genetic Algorithm) 、序列匹配与学习 (Sequence matching and learning) 、免疫学方法 (Immunology) 、数据挖掘 (Data mining) 等等。目前出现了一些基于网络流量分析的入侵检测技术。

2.1 统计模型方法

统计方法通过分析大量的系统参数生成系统的正常行为轮廓库, 并自适应地学习系统的正常行为模式。每个行为轮廓代表一个主体的正常行为, 由一组入侵检测度量值来描述。主体的审计记录由一组入侵检测测量值来表示, 并与相关的行为轮廓进行比较, 如果两者确定的N维空间的点相差足够远, 则被视为异常。Denning描述了5个经典统计模型:操作模型、平均值和标准差模型、多元模型、马尔可夫过程模型和时序模型。

统计方法的最大优点是它可以“学习”用户的行为习惯, 从而具有较高的检测率与可用性。通过对一段时间网络安全状况下的数据包流量进行统计, 从而从宏观上建立起网络在安全状况下的周期数据包流量轮廓, 用于检测以拒绝服务攻击为主的入侵和网络扫描等异常行为。

统计方法可以利用成熟的统计理论成果, 但它对事件发生的次序及内在联系不敏感、检测系统可能被入侵者逐渐训练而将入侵视为正常行为。

2.2 小波分析与自相似特征方法

小波是近十几年才发展起来并迅速应用到信号处理和图像处理等众多领域的一种数学工具, 小波属于时-频分析的一种方法。它具有多分辨率分析的特点, 而且在时-频两域都具有表征信号局部特征的能力, 是一种窗口大小固定不变但其形状可改变、时间窗和频率窗都可以改变的时频局部化分析方法。即在低频部分具有较高的频率分辨率和较低的时间分辨率, 在高频部分具有较高的时间分辨率和较低的频率分辨率, 很适合于探测正常信号中夹带的瞬态反常现象并展示其成分, 所以被誉为分析信号的显微镜。

小波变换能有效地从信号中提取信息, 通过伸缩和平移等运算功能对函数或信号进行多尺度分析 (Multi-resolution Analysis) 。小波变换可得到低频系数 (或叫作近似系数) 和高频系数 (或叫作细节系数) , 其中低频系数反映原始信号的轮廓, 而高频系数则是反映信号的细节。根据信号理论知道, 信号中的奇异性往往是由于频率突变造成, 也就是说, 这种奇异性一般是通过频率的异常变化而反映出来, 那么只要把信号中的频率变化情况提取出来, 就可以发现信号中奇异性, 并确定奇异性发生的时间。

自相似性是指网络的负载随着时间的扩展常常表现出自相似的模式。1994年, Leland等人对Bellcore的局域网测试与分析的结果显示, 实际网络流量模型具有统计自相似性。1995年, Beran等通过对大量的不同类别的可变比特率视频流数据的统计发现, 它们也同样表现出一种长相关特性。另外, 对WAN、FASTPAC等网络的测量, 同样发现这些网络业务量表现出长相关的特性。

对于网络流量的自相似特征的研究还有很多的工作, 而且经常将他们和小波分析联系起来研究。

小波分析能将复杂的非线性网络流量时间序列分解成不同频率的子序列。基于小波分解的思想, 利用网络流量的自相似特性来对网络的异常行为进行检测, 给出了根据网络流量自相似特征参数的偏差来检测攻击的方法。首先在小波域内对网络流量进行分解, 计算表征网络流量突发性的重要参数 (Hurst指数) , 然后根据正常网络流量Hurst指数和异常网络流量Hurst指数的偏差来检测攻击, 对不同时间尺度下Hurst指数的变化进行了比较分析。

Narasimba Reddy等提出对长时稳定流的流量进行小波变换的方法发现DDo S异常。该方法利用小波变换工具放大异常信号, 提高了灵敏度, 但算法实现复杂, 且不能定位异常点。

2.3 CUSUM (Cumulative Sum) 方法

CUSUM (Cumulative Sum) 算法是在统计过程控制中常用的算法, 它可以检测到一个统计过程均值的变化。CUSUM基于这一事实:如果有变化发生, 随机序列的概率分布也会改变。通常, CUSUM需要随机序列的参数模型, 以便可以用概率密度函数来监控序列。不幸的是, 计算机网络是一个非常动态而复杂的实体, 因特网业务模型的理论结构是一个复杂的问题, 因而, 一个主要的难题是如何模拟随机序列{Xn}。而非参数方法不需要具体的模型, 更适合于分析因特网。非参数CUSUM算法背后的主要思想是:累积明显比正常运行情况下平均水平高的Xn的值。这一算法的优点之一是能以连续方式监控输入随机变量, 从而达到实时检测的目的。

在文献[3, 4]中, 提出了针对SYN FLOOD进行检测的CUSUM算法, 即基于在正常传输情况下, TCP包中SYN包与FIN包是有一定的对应关系, 运用非参数的CUSUM算法对其进行统计。由于发生SYN FLOOD攻击的时候, SYN包和FIN包的比例关系被打破, 就检测出了攻击。但文献[3]中的算法只能用于检测SYNFLOOD攻击, 而对于其他的Do S/DDo S攻击则无法检测。因为Do S/DDo S使流量的统计特性发生变化, 所以许多方法都是基于统计特性检测。文献[5]对网络洪流的检测分两个阶段, 第一阶段监视SYN的计数和SYN和其它TCP包的比率, 第二阶段在统计处理过程中使用累积和方法。它们的共同特点是在对洪流攻击的检测中均用到了C U S U M方法。

文献[6]证明了CUSUM算法具有很多其他序列和非参数检测算法中的优点, 适合应用在网络异常检测方面。同时, 文献[7]也指出该算法计算量很小, 能够完全满足实时检测的要求。

2.4 数据挖掘方法

数据挖掘 (Data mining) 是一种特定应用的数据分析过程, 可以从包含大量冗余信息的数据中提取尽可多的蕴藏的安全信息, 抽象出有利于进行判断和比较特征模型。这些特征模型可以是基于异常检测的特征量模型, 也可以是基于异常检测的行为描述模型。根据这些特征向量模型和行为描述模型, 可以由计算机利相应的算法判断出当前行为的性质。

在众多的数据挖掘方法中有几类方法对入侵检测非常有用。比如说数据分类的方法, 关联分析的方法以及序列分析的方法等等。

但是, 由于数据挖掘通常只能对离散值进行处理, 在数据预处理中要将连续属性域划分为若干离散区间, 这就导致了所谓的“尖锐边界” (sharp boundary) 问题。为了解决这一问题, 国内外一些学者提出了结合模糊集理论的模糊数据挖掘技术, 并取得了很好的效果。

数据挖掘技术的优点是可以处理大量数据的情况, 但对于入侵检测来说, 得到足够的样本是非常困难和昂贵的。

2.5 神经网络方法

神经网络是一个由简单处理元构成的规模宏大的并行分布式处理器。天然具有存储经验知识和使之可用的特性。由于神经网络适合于学习比较复杂的非线性关系, 而且它是数据驱动不断学习的, 通过学习掌握数据间的依从关系, 不需要对网络流量进行大量的数学建模工作。所以, 适合解决网络流量模式中的复杂相关性和预测中的自适应问题。

在现有的神经网络模型中, 采用较多的是多层前馈结构, 尤其是3层神经网络结构。根据不同的预测需要可以利用单个输出单元预测下时刻的流量, 也可以利用多输出单元预测下多个时刻流量或者下一时刻流量。常用的算法通常是反向传播 (BP) 算法。对于BP神经网络来说, 隐藏节点的增多可能导致过度的问题, 而过度拟合会损坏网络的学习能力, 针对只运用BP神经网络作网络流量预测的局限性, 各种改进的应用于网络流量预测的神经网络模型不断被引入:模糊理论与神经网络结合的模糊神经网络;信号处理中的FIR数字滤波器与神经网络结合的FIR神经网络;将时间引入神经网络的时延回归神经网络等。

2.6 其他方法

基于网络流量异常的入侵检测系统, 仍然处于研究的初级阶段, 还有其他一些方法如免疫机理方法、自适应Agent、遗传算法等等。目前应用到商用产品上的, 大多只是集成在防火墙上的一些简单规则或初级的入侵检测系统功能。而这些方法大都还停留在理论研究阶段, 离实际应用还有一段路要走。

3 入侵检测所面临的问题及发展趋势

3.1 入侵检测的高效智能问题

近年来, 人们对入侵检测技术进行了大量的研究和试验, 提出了很多种检测技术, 也将多种其他领域的技术引入到入侵检测领域, 尤其是异常检测技术。但大都不够成熟, 面对日益复杂的高速网络与越来越成熟的入侵技术, 检测的速度成了影响网络性能的瓶颈, 而误检与漏检率仍然困扰着人们。如何提高效率与智能, 是入侵检测的重要方向。

3.2 入侵检测的响应问题

相对于检测技术的研究, 检测的响应问题却研究的很少。大多数响应系统只是报警, 或简单的断开被入侵的主机, 这远远不能满足对实时性要求较高的用户的需求。自动入侵响应和入侵检测系统与其他安全设备的联动将是下一步发展的方向。

3.3 入侵检测的方法问题

入侵检测的方法有很多种, 而各种均有优点与不足, 单纯使用一种方法已不能满足需求, 如何综合利用几种方法进行互补以达到更高的效率是研究的一个方向。

3.4 标准化、测评等问题

面对多种多样的入侵检测技术, 如何测评其性能, 如何兼容不同IDS是一个值得研究的方向。

4 结束语

入侵检测作为防火墙之后的第二道屏障, 起着越来越重要的作用。基于网络流量异常的入侵检测作为一种新的技术, 针对DDo S、蠕虫等影响网络流量的攻击有着较为高效的检测能力, 但目前尚处于研究的初级阶段, 还面临着很大的挑战。

摘要:入侵检测系统作为防火墙之后的第二道安全防线, 发挥着越来越重要的作用。日益猖獗的DDoS攻击、蠕虫病毒、网络扫描等, 使得网络性能严重下降, 基于网络流量异常的入侵检测技术针对上述情况有着良好的检测性能。本文综述了这种入侵检测技术, 并讨论了入侵检测面临的问题及发展趋势。

关键词:流量异常,入侵检测,异常检测

参考文献

[1]Anderson J P.Computer security thread monitoring and surveillance[R].Fort Washington, USA:James P Anderson Co.1980.

[2]蒋建春, 马恒太, 任常恩等.网络安全入侵检测:研究综述[J].软件学报.2000.

[3]Wang HN, Zhang DL, Kang GS.Detecting SYN flooding attacks.IEEE Computer and Communication Society.2002.3 (6) :1530-1539.

[4]Zhu WT, Li JS, Hong PL.A router agent based distributed flood-ing detection system.Chinese Journal of Computers.2003.

[5]Seung-won Shin, Ki-young Kim, Jong-soo Jang.D-SAT:Detect-ing SYN Flooding Attack by Two-Stage StatisticalApproach.Ap-plications and the Internet, 2005.Proceed-ings.The2005Sympo-sium on31Jan.-4Feb.2005.

[6]SIRISVA, PAPAGALOU F.Application ofanomaly detection algorithms for detecting SYN flooding attacks[A].Proc.of the Con.f on Global Telecommunications[C].2004.

[7]Narasimba Reddy, Marina Vannucci, Pierce cantrell et al.WADeS;A Tool for Distributed Denial of Service Attack Detection.

[8]肖政宏, 潘梅森, 尹浩.基于网络流量小波分析的异常检测研究[J].计算机应用.2007.

[9]张剑, 龚俭.一种基于模糊综合评判的入侵异常检测方法[J].计算机研究与发展.2003.

异常数据的检测方法 篇2

异常数据的检测方法

系统地研究了数据挖掘中异常点检测的.一般方法,并指明了它们的优缺点.对高维的和基于聚类的异常点挖掘情况进行了分析,希望使用者能够以这些方法为基础提出更好的方法.

作 者:王元明 熊伟 WANG Yuan-ming XIONG Wei 作者单位:安徽大学,数学科学学院,合肥,230039刊 名:重庆工学院学报(自然科学版) ISTIC英文刊名:JOURNAL OF CHONGQING INSTITUTE OF TECHNOLOGY年,卷(期):23(2)分类号:O29关键词:数据挖掘 异常点 聚类 异常点挖掘算法

浅析应用服务器异常节点检测问题 篇3

关键词:网络管理;特征空间方法;异常节点计算;节点检测

中图分类号:TP368.5文献标识码:A文章编号:1007-9599 (2010) 06-0000-02

Research on Anomaly Detection Application Server Node

Cui Chao

(Hebei Branch Information Department of China Unicom,Shijiazhuang050011,China)

Abstract:Network anomaly detection is discover network failure and security issues and timely diagnosis of exclusion of the network anomaly.How to detect network anomaly and locate anomaly quickly and efficiently has become a major research focus.In this paper,we can find network anomaly quickly and efficiently for application server nodes,which are the main types of nodes in the large-scale network.

Keywords:Network management;Eigen space method;Network anomaly computation;Network anomaly detection

一、引言

在当今越来越复杂的网络环境中,经常存在成百或上千个网络节点。应用服务器是大规模网络中的另一类主要节点。为保证大规模系统的健壮性也带来了新的挑战。例如,当一个异常发生在集群拓扑网络的一台独立的应用服务器上时,将会导致这台应用服务器的服务功能丧失。这台服务器的负荷将会通过路由器转移到集群中的其他应用服务器上。传统的应用服务器异常检测系统通常会将那些原本健康的服务器及发生异常的应用服务器同时报告为异常节点,系统管理员因此不得不重新检查所有相关的应用服务器来判断真正的异常节点。这给异常定位及差错排查造成了很大的阻碍,无法尽快使系统恢复正常,给整个网络系统带来更大的损失[1,2]。本文主要就应用服务器异常节点检测问题展开探讨。

二、特征空间方法分析

在大规模网络系统中,见图1,一台应用服务器的异常将会影响到集群中其他健康的节点。而在这种复杂的环境中,服务负载也不是平均分布在各个节点上的,所以当一台应用服务器出现异常时,负载在其他节点中的转移也是不同的。因此如果采用普通的集群算法对节点的不同指标进行检测,那么很难将异常节点与健康节点区分开来,这里提出了一种基于特征空间的方法来检测及定位异常节点。

图1.大规模企业网络系统组织结构

(一)数据指标集选取及分析

由于本方法是在假设性能指标满足线性相关性的条件下才成立,因此我们需要选取合适的应用服务器指标,使其满足线性相关性条件。我们通过压力测试程序不断增加服务请求数量,并用服务请求到达速率来表示网络的负载情况,实时地从MIB中采集应用服务器网络接口的入向总流量、CPU利用率及内存利用率。这些应用服务器的性能指标随着服务请求数量增多的变化情况可以看出,见图2,在网络负载变化范围较小的区域内,从MIB中采集到的性能指标都是线性相关的,即在整个网络变化范围内,性能指标分段线性相关。因此,即使一台应用服务器的负载很大,但只要负载波动较小时,它的性能指标仍然保持线性相关性,只是线性相关系数有所不同。如果应用服务器在短时间内负载波动剧烈而导致检测指标无法满足分段线性相关,本文提出的检测方法将会发出警报,认为这台应用服务器有异常发生。虽然此时并不满足本文提出的检测方法的前提条件,但是这个告警并不能认为是误警,因为此现象确实值得引起系统管理员的注意,来确认发生如此剧烈波动的原因,及早地排除异常。

图2.性能指标与网络负载的相关变化图

(二)协方差矩阵

假设一台应用服务器中存在一条服务队列,在这里服务请求将会来被处理。服务器接口流量、服务器CPU利用率、内存利用率等等都是互相相关的而且取决于这个队列的服务请求到达速率。在下面的方法中我们利用这些性能指标来决定一个大规模网络集群环境中一台应用服务器的健康状况。首先我们计算这些指标的一个协方差矩阵。

假如我们通过系统中的N个性能指标来监控一台应用服务器的健康状况,那么就会产生 个协方差值。

在一个没有异常发生的稳定运行的大规模网络系统中,各项性能指标的波动也会比较稳定,度量值在最近的n个采样平均值附近波动较小,得到的协方差值也较小。如果系统中有异常发生,至少有一个指标的会较大地偏离最近采样的平均值,相反,如果系统中没有异常发生,任何一个描述网络系统健康状况的指标值都不会有重大的改变。假设一个或多个指标大范围地偏离了平均值,则这些指标与其它指标的协方差值将会发生突变,此时我们认为这台应用服务器有异常产生。

(三)异常节点计算方法

一个简单的方法去理解系统的动态性就是理解特征值的行为和一个被监控节点的协方差矩阵的特征向量。

在本文提出的方法中,只考虑主特征向量,即最大的特征值所对应的特征向量,因为变化最大的数据主要沿着主特征向量的方向分布,并将其标准化。当网络系统处于正常状态时,数据按照矩阵中不同指标的相互关系而分布。当系统出现异常状况时,这些不同指标之间的相互关系就会发生相应改变,且某些指标会出现剧烈的波动。在这样的情况下,数据的传播将会偏离正常的状态,主特征向量的方向即坐标值也会改变。假如观察标准化主特征向量的坐标,那么最高的坐标值与变化率最大的指标相对应。本文通过应用服务器的这些特征向量来识别异常节点。

三、应用服务器异常节点检测方法

(一)异常检测触发方法

当系统中的几台应用服务器发生异常状况时,检测的指标值会偏离了他们正常的状态。当异常发生时,不同指标变量之间的协方差值会突增。因此协方差矩阵A特征值也会相应增加。当发现集群中某一台应用服务器的主特征值在某时刻发生突变,便查看其它所有节点的情况。当系统中发生一个异常,主特征值会产生一个突变,远远偏离了正常情况下的均值。因此一旦上述的触发事件发生,我们就开始分析集群中每个节点的特征向量。

(二)异常节点差错定位

如果两台应用服务器因为同样的异常而被影响,发生突变的指标应该相同,而指标变化量的不同很可能是因为这两个节点本身的工作负荷量或服务类型不同而产生。本文按照下述方法将不同的应用服务器节点进行分组。我们从每个应用服务器节点上选其主特征向量。假设检测指标的数量是N,则每个主特征向量都有N个元素。将每个节点的主特征向量映射到一个N维的空间,假如某些节点因为同样的错误而受到影响,那么它们在这个空间中将会很接近,以此将所有的应用服务器节点进行分组。

假设系统中发生一个异常,那么所有的应用服务器节点将会被分成两组,那些具有最高的特征向量偏差的节点称为异常节点。我们需要某种聚类方法来实现节点的分组。在本文的实现中,采用了k-means聚类算法。

(三)异常节点多重差错定位

本文提出的方法也能够检测出大规模网络系统中同时发生的多重异常。假如系统中存在多重差错,应用服务器节点上的指标对于每个异常都会受到不同的影响,因此可以通过他们的特征向量来将它们归入不同的组别。

当系统中出现多重异常时,为了区分指标变化方式相同的节点集(虽然指标的变化量可能有所不同),我们将每个应用服务器节点的主特征向量映射入N维的空间,与单个异常定位方式类似。当有k个异常发生,我们通过聚类算法将所有的应用服务器节点分组,则整个N维空间将被分成k组,受相同异常影响的节点将被定位到相同的组别中。每个组的节点将会对应着属于这个组的异常。

本文使用k-means聚类算法来分组系统中所有的应用服务器节点,这个方法需要输入k的值,即系统中节点分组的个数。因此它存在着一个缺点,如果在系统中有多重异常发生,而我们却无法预先得知具体存在多少个异常,然而可以通过一种技术能够根据一些已知的数据集合来自动测定分组的数量。

四、结果分析与讨论

(一)实验环境

本文的测试平台由11台应用服务器和1台路由器组成。应用服务器分别为:一台负荷发生器、九台后端应用服务器和一台数据库服务器。这些后端服务器形成了一个大规模网络集群,到达路由器的负载分布于这些服务器上,而负载量的分布取决于每台服务器的权重。在本文的实验中,每一个后端节点运行一个基于WEB的应用服务。它提供了servlets、JavaServer、企业Beans、信息驱动Beans、JDBC和JMS数据接入等多种应用。它主要实现了一个典型的销售流程的管理系统,包括账目生成,浏览库存订单和购买及销售库存等功能。模拟器把所有的请求都发送给路由器,路由器根据集群中应用服务器的不同权重来给分配服务请求。

(二)试验运行结果

为了进一步分析上文提出的方法,我们通过一些参数来进行性能评估。共进行了40次实验,每次持续30分钟,每个实验的前20分钟包含了一些系统正常的操作,之后人为地分别插入了以下四种异常情况进行实验,每种类型的实验各进行10次。这四种异常情况分别指:1.一台应用服务器的CPU完全被占用;2.数据库性能问题(数据库服务器CPU占用率达100%);3.一台应用服务器中断服务;4.数据库关闭。这四个网络系统中的异常主要分为两类:两个中间层的错误和两个后台数据库错误。

本实验始终维持负载在25至300个客户端之间,采样窗口大小为20,在每个应用服务器节点的检测指标为:接口总流量、CPU利用率和内存利用率。这些指标能够很好的反映这些应用服务器节点的健康程度。这些被监控的指标并不是固定不变的,在不同的应用环境中可以替换成其他的指标,只要满足前提条件。本文主要通过以下两个参数来评估该方法的性能表现,即检测的准确率及精确率。准确率是指将正确检测为异常的节点数除以总的异常节点数的比率,即如果所有异常的节点都被检测出来,那么准确率就为100%;精确率是用来衡量被误检为异常节点的概率,也就是说,如果一个异常的节点被认为是正常节点,或某个正常的节点被检测为异常,则精确率就会降低。因此精确率的计算公式为:

其中x是被误检为异常节点的数目,N是在集群中的节点总数。

本文对引入4种不同的异常实验进行准确率和精确率的统计分析,表1给出了统计结果。表1的第一列描述了异常实验的类型,第二列表示某种类型异常实验中的异常节点个数,第三列表示正常节点个数,第四列为多次实验的准确率均值,第五列为精确率均值。从表1中可以发现,该检测方法的准确率及精确率都是相当高的,实验结果令人满意。

五、结语

通过采集MIB中与应用服务器相关的性能指标,提出了基于特征空间方法的应用服务器异常节点检测方法。对各个指标之间的协方差进行深入研究,构建协方差矩阵,通过检测该矩阵主特征值及主特征向量的突变情况进行判断异常情况的发生。经过实验检测,该方法可以以极高的准确率及精确率对单个和多个异常节点的情况进行检测,并且经过算法复杂度分析,该方法只需要很少量的历史数据信息,实时检测系统不会给系统自身造成很大的负担。

参考文献:

[1]王骐,王殊,孟中楼.无线传感器网络中一种基于接收功率异常的入侵检测算法[J].计算机科学,2009,36:3

异常入侵检测 篇4

目前的聚类分析方法对聚类结果的判断完全依赖于聚类中的成员数目, 因为连接记录中异常记录数都远远小于正常记录数, 所以在检测时都有个最小阈值, 如果得出聚类中成员数目小于该阈值时则判定为异常类。但是如果聚类过细的话则很可能使一些正常聚类中的记录数小于该阈值被误判为异常聚类。且k-means聚类算法比较适合于数值属性的计算。

因此本文考虑将聚类分析方法和关联分析方法结合起来进行检测, 来克服聚类分析方法的这些弱点, 用于提高检测率的同时降低误检率。

2、算法

算法流程如下:

首先将网络数据包处理成适合用于数据挖掘的网络连接记录。然后将已知类别标识的网络训练数据分为正常连接记录子集和入侵连接记录子集。其中正常连接记录子集中为正常的网络连接记录, 而入侵连接记录子集中包含着已知的攻击。再分别从训练数据子集中提取主要符号属性, 利用关联分析Apriori算法得出主要符号属性之间的关联特征。然后利用强关联规则得出规则, 放入规则库中, 分别建立正常行为模型和入侵模型。

在使用聚类分析算法的时候, 直接对处理后的网络连接记录进行聚类。首先将网络连接记录中的数值属性提取出来, 利用聚类分析算法将数据初步划分为正常与异常两个聚类;然后针对两个聚类中记录的符号属性进行提取, 形成特征规则;此后再将结果与前面关联分析得出的已知入侵模型和正常模型进行匹配, 匹配方法如下:聚类分析得出的正常聚类中的特征规则与已知入侵模型匹配的记录将重新划分成异常聚类, 同理将异常聚类中特征规则与正常模型匹配的记录重新划分成正常聚类, 这样就在一定程度上对初步得出的聚类结果进行了重新划分。由于这种方法是对两种属性进一步进行分析划分, 对数据结果做进一步筛选, 所以这种改进算法使得异常聚类中的异常记录数增大而正常记录数大大减小。因此, 采用这种方法能够在一定程度上提高检测率, 并且大大降低误检率。

3、过程及结论

第一步:数据标准化:所使用的度量单位将直接影响聚类分析的结果, 一般而言, 所选用的度量单位越小, 度量可能的值域就越大, 这样对聚类结果的影响也越大, 所以在对检测数据进行聚类之前要先对数据进行标准化。标准化的方法是将原来的度量值转换为无单位的值。首先求各属性的平均值mf和平均绝对误差Sf:

这里mf为第f个属性的平均值, Sf为第f个属性的平均绝对误差, xif表示第i个记录的第f个属性。然后对每条记录进行标准化度量:

这里zf为标准化后的第f个属性值。

第二步:距离度量:在标准化处理后, 对象间的相异度 (或相似度) 是基于对象间的距离来计算的。由于在入侵检测中连接记录一般包括两种属性:连续型数值属性和离散型符号属性。本文在对连接记录中连续型数值属性之间的距离直接采用最常用的欧几里得距离来度量, 它的定义为:

为了计算方便, 离散型符号属性之间的距离可以用两条记录间含有不同符号特征的离散属性的个数来度量。

第三步:利用k-means算法进行聚类将数据划分成正常聚类和异常聚类。

(1) 分析过程

第一步:统计各种属性的项目数, 得出候选1-项集C1, 然后将支持度大于最小支持度计数的项集形成频繁1-项集L1。

第二步:利用连接步, 从频繁1-项集L1生成候选2-项集C2。再利用剪枝过程从候选2-项集C2中得出频繁2-项集L2。由此类推, 最后得出频繁3-项集L3。

第三步:根据频繁项集生成状态类型的关联规则。然后根据预定的最小支持度和最小置信度利用强关联规则得出规则, 分别建立正常行为模型和入侵模型。

(2) 结论分析

通常情况下, 当异常数据所占比例固定时, 随着聚类半径的减小, 最终聚类个数逐渐增大, 检测率和误检率也随着升高。因此, 检测率和误检率之间通常是矛盾, 聚类分析方法虽然可以检测到新的攻击, 达到较高的检测率, 但是同时误检率也随着升高了。

采用本文的算法理论上可以在一定程度上弥补单独使用聚类分析算法的缺陷, 聚类分析方法在提高检测率的同时也提高了误检率。而且在上文的分析中也明确的知道了利用k-means算法比较适合于数值属性的计算, 当数据中包含了符号属性时, 应用k-means算法的难度就比较大, 而且误差也相对比较大。随着网络的复杂程度加深, 入侵技术也随之提高与复杂, 各种攻击数据的记录既包含数值属性也包含符号属性, 甚至其它属性, 所以对入侵样本聚类之后, 利用关联分析方法所得的特征规则对初步聚类结果进行再次划分。将正常聚类中特征规则与入侵模型匹配的记录重新划分进异常聚类, 同理将异常聚类中特征规则与正常模型匹配的记录重新划分进正常聚类, 使得异常聚类中的异常记录数增大而正常记录数大大减小, 有效地降低误检率。

4、总结

随着Internet/Intranet的迅速发展, 网络入侵技术也有了很大的变化, 所以为了防范随时发生的各种各样的网络入侵, 就要提高网络入侵检测系统的识别能力, 由于本文主要是做了较为基础的研究和实验工作, 所以有很多问题考虑的不全面, 在实际应用情况下, 还必须在很多地方进行改进, 还必须在对一些细节问题进行进一步的考虑和处理, 以求最大限度的减少漏报和误报。所以, 今后还有很多工作有待于进一步研究:数据源的处理问题、挖掘算法的性能问题、相关技术的结合问题。随着研究的进一步深入, 基于数据挖掘相关技术的入侵检测技术将会不断改进, 在网络安全系统中发挥越来越大的作用。

参考文献

[1].蒋云燕, 成长生.基于数据挖掘的入侵检测.计算机应用与软件, 2006, 23 (11) :124-125.

[2].张军, 杨帆.数据挖掘技术在入侵检测系统中的应用现状及展望.河南农业大学学报, 2006, 40 (4) :447-448.

[3].黄水源, 周理凤, 段隆振, 黄龙军.数据挖掘技术在入侵检测中的应用.微计算机信息 (管控一体化) , 2006, 22 (8-3) :36-37.

[4].Jiawei Han Micheline Kamber (加) .数据挖掘概念与技术 (范伟, 孟小峰等译) .北京:机械工业出版社, 2001.232-235.

[5].李涵, 包立辉.基于聚类算法的异常入侵检测模型的研究与实现.计算机应用与软件, 2006, 23 (10) :126-127.

异常入侵检测 篇5

美国贝克曼全自动免疫分析仪,由美国BECKMANCOULTER公司和法国PASTURE研究院合作设计生产的,贝克曼Access2可同时进行24个项目的检测,包括甲状腺激素、性激素、肿瘤标志物药物浓度、抗原抗体等项目的检测。其检测全自动化,结果准确,为临床治疗提供有力依据。是目前常见的全自动免疫设备。

1故障现象

在審核报告过程中发现偶有T4值低于正常参考范围,并且与临床不符,仪器未报警。重新上机复查后,结果正常。

2故障排除

2.1仪器问题。怀疑仪器加样针有污染,进行清洗保养并运行特殊清洗程序,问题未得到解决。

2.2样本原因。怀疑样本污染或离心不够充分,但同一样本重新上机后检测正常,解释不通。

2.3试剂原因。试剂为同一盒试剂检测结果有差异,更换不同批号试剂后,此现象依然存在。

2.4定标原因。重新做定标,定标曲线良好,运行质控结果在靶值附近,未超过1个SD。但仍然没有解决问题。

心电异常自动检测的研究 篇6

多种疾病都能够引起心电图的异常,心电异常的检测对心脏疾病的诊断尤为重要[1],心电图诊断已经成为临床诊断中不可或缺的一部分。目前已有很多便携式的心电检测仪普及和应用在人们日常生活中[2],便携式心电检测仪能够有规律地随时随地记录心电数据并计算和分析心率是否正常,但是不能够进行复杂心电图的诊断。心电图在临床诊断中应用也较为广泛,通过医生肉眼查看心电图进行诊断的诊断结果较为准确,而成人一般每分钟有60~100次心脏活动,故心电数据量较大,若持续对长时间的心电图进行诊断,容易引起疲劳,如果能够减少肉眼对心电图异常的查看和诊断,将极大地提高现有的医疗水平,减少人们寻医问诊的次数,为医疗自动化带来巨大推动力,很大程度上改善居民的医疗环境。

本文针对心电图异常的自动检测进行了研究,异常检测结果可作为医生诊断的辅助信息,大大减少医生的工作量,提高医疗自动化水平。

2 研究现状

随着心电图应用的日益成熟,各种心电图的自动分析与检测系统被推广应用。

在心电异常检测方面,已有能够检测出心率的心电自动检测仪。对于其他复杂异常诊断的研究,有特征提取法、支持向量机法、神经网络法。特征提取法即提取心电图的各个特征点的信息,使用特征参数阈值判断心电图是否正常[3]。支持向量机法即将一段心电图的各个特征参数组成一个向量,这个向量处于一个多维空间中,通过样本学习建立一个分类规则,由这个规则组成一个超平面,这个超平面将多维空间分为两部分,处于这两部分的向量为两类不同心电图的特征向量[4],由此可将异常心电图进行区分。神经网络法将神经网络模型分为输入层、隐含层和输出层,输入层为心电数据,隐含层为数据处理过程,输出层为检测结果,输入层通过隐含层到达输出层,隐含层有多个神经元和权值,神经网络模型的建立需要学习,学习过程中通过计算输出层结果和期望输出值之间误差,根据误差不断调整隐含层的权值直到误差在允许范围内后,模型建立成功,使用该模型进行异常诊断[5]。

3 心电异常检测

模板匹配法通过计算正常模板与待检测模板之间相关系数诊断异常。在使用模板匹配法进行异常检测的研究中,一般待检测心电数据需和心电模板具有相同的长度[6],这使心电信号的采集受到了限制,不利于长度不同的心电数据的匹配。本文对这种模板匹配法进行了改进,能够对不同长度的心电数据进行异常诊断。模板匹配法不需要进行学习,较为简单,便于进行异常检测,能够检测出大部分异常。

心电异常检测流程为心电图预处理、模板选择和模板匹配。下面将对具体的检测方法进行阐述。

3.1 心电图预处理

本文实验数据来源为MIT-BIH数据库,MIT-BIH数据库是由美国麻省理工学院提供的研究心律失常的数据库,是目前国际上公认的可作为标准的三大心电数据库之一[7]。

由于心电信号中夹杂着各种干扰信号,包括呼吸、运动等引起的基线漂移,周围环境引起的工频干扰以及人体肌肉颤动引起的肌电干扰等[8]。这些噪声信号严重影响了心电图特征的准确识别,故需要对心电图进行去除噪声的预处理,文中选择使用小波变换法进行心电信号的预处理。对MIT-BIH数据库的103号心电数据的信号1(M1)进行尺度为9的小波变换,得到M1=d1+d2+d3+d4+d5+d6+d7+d8+d9+a9。其中a9为低频信号,d1~d9为高频信号,且d1到d9频率依次降低,M1由d1~d9和a9叠加而成,将低频分量a9置零,可去除基线漂移,将高频分量d1和d2置零,可过滤噪声信号。图1为使用db4小波基将原始波形进行尺度为9的小波变换进行预处理前后的心电图。

可见预处理前的心电图中采样点5000到6000之间有一处明显的基线漂移,且与处理后的心电图相比,处理前的心电图因为高频噪声的原因显得较为粗糙。

3.2 模板选择

模板选择过程中,先对特征点进行检测,通过特征点查找正常心电图,取一定时间范围的正常心电图作为模板。典型心电图波形特征如图2所示。

心电图中包括P波、QRS波群和T波,上图为一个心电周期的波形。对于同一个人来说,其心电波形在长时间内表现为稳定,即在一个时间段的心电图中,绝大多数的心电数据处于正常范围[9],故可以从一定时间段的心电图中提取出正常的心电图作为模板。

由于QRS波群和T波斜率明显,特征较为突出,故心电图预处理完毕后,首先检测QRS波和T波,由于P波较低,且预处理并不能完全去除高频噪声,P波波峰周围会出现因为噪声干扰而凸起的波形,能够明显检测出R波和T波,P波较不明显,检测出R波波峰后,从R波开始分别向前和向后搜索Q波和S波以及QRS波群边缘,P波波峰可通过搜索前一个周期的T波和当前检测周期的Q波之间最大极值点获取到。

若在采样点序列[s(1)s(2)s(3)]中,s(2)-s(1)>0,s(3)-s(2)<0,则s(2)为极大值点;反之,若s(2)-s(1)<0,s(3)-s(2)>0,则s(2)为极小值点,故可根据采样点序列中相邻点的差获取极值点。假设波形方程为v=x(n),n表示采样序号,n=1,2,3...,特征参数的检测步骤为:

1)心电数据组成向量a=(x(1)x(2)…),例如a=(2 3 1 5 6 9);

2)将a中相邻值相减组成向量b,

b=(x(2)-x(1)x(3)-x(2)x(4)-x(3)x(5)-x(4)…)=(b1 b2 b3b4…);由a=(2 3 1 5 6 9)计算出b=(1-2 4 1 3)

3)将b映射到向量c,映射规则为:若b(n)>0,c(n)=1;若b(n)<0,c(n)=-1;若b(n)=0,c(n)=0;得到c=(c1 c2 c3 c4…),c中值只有0、1、-1。由b=(1-2 4 1 3)映射出c=(1-1 1 1 1);

4)将c中相邻值相减组成向量d,由c=(1-1 1 1 1)计算出d=(-2 2 0 0),取d中值不等于0的位置索引加1,存入数组index⁃Min Max,则index Min Max=[1 2],取d中值大于0的位置索引加1,存入数组index Min,则index Min=[2],取d中值小于0的位置索引加1,存入数组index Max,则index Max=[1],心电数据组成的向量a中索引为index Min的为极小值点,索引为index Max的为极大值点,所有极大值点和极小值点的索引都在index Min Max中,即a中的极小值点为a[2]=1,极大值点为a[1]=3;

5)通过index Max、index Min和a得到极大值点中的最大值max和极小值点中的最小值min,取差值distance=max-min;

6)遍历index Min Max,若索引处i心电值和最小值之间差值a[i]-min>distance/2,将索引i存入数组R_Array,R_Array中的值即为R波波峰索引,每找到一个R波波峰,在index Min Max中从该R波波峰索引处取前两个索引为Q波波峰索引和QRS波群左边缘、取后两个索引为S波波峰索引和QRS波群右边缘,分别存入Q_Array、QRS_l Array、S_Array、QRS_r Array。

7)在6)中遍历index Min Max时,若索引处i心电值和最小值之间差值满足0.2324*distance/2<a[i]-min<distance/2,将索引i存入数组T_Array,T_Array中的值即为T波波峰索引。每找到一个T波波峰,在index Min Max中从该T波波峰索引处取前一个索引为T波左边缘、取后一个索引为T波右边缘,分别存入T_l Array、T_r Array。

8)在index Min Max顺序查找R波波峰和T波波峰之间最大的极值点,存入P_Array,P_Array中的值即为P波波峰索引。

9)根据成人正常PR间期为0.12~0.2s,从QRS波群左边缘向前0.10~0.22s范围内搜索极小值点作为P波左边缘,存入P_l Array。

检测出特征参数后,计算出平均心率,根据心电图所处导联、患者年龄和心率获取各个特征的正常值范围,查找患者心电图中3~6个周期的正常心电波形,以这部分正常心电波形作为初始模板。由于R波波形特征明显,故将初始模板的第一个R波波峰设为模板起点,最后一个R波波峰设为模板终点,得到最终模板。

3.3 心电诊断

待检测心电数据和心电模板之间的差异可以通过它们数据差的平方和表示。假设心电模板为y(n),其中TSA<n<TFA,TSA为模板起点,TFA为模板终点。将待检测的心电数据的第一个和最后一个R波波峰设为待检测起点TSB和终点TFB,得到待检测心电数据x(n),其中TSB<n<TFB。

计算待检测心电长度:UB=TFB-TSB,

心电模板长度:UA=TFA-TSA,

待检测心电数据长度与心电模板长度之比:

其中为UB/UA取整后的值,m为余数。若QAB<=1,则待检测心电数据长度小于或等于心电模板长度,设n=0时为计算起点,则n=UB为计算终点,待检测数据与模板数据差的平方和M如下:

若QAB>1,则待检测心电数据长度大于心电模板长度,根据心电图周期性的特点,可将心电模板进行周期性延长,使模板长度不小于待检测心电数据长度,待检测数据与模板数据差的平方和M如下:

其中

使用dif表示待检测数据和模板数据的差异,相关系数R表示为R=1/(dif+1),R的值在0和1之间,则差异dif越小,相关系数R越大。由于M是由模板和待检测数据之差累加而成的,故对于相同长度的待检测心电数据,M越大,匹配度越低。故令相关系数R=1/(M/f UB+1),其中f为心电数据的采样频率,R越接近1,表示相关度越高,设置相关系数阈值为0.88,当R值小于0.86时,便认为心电图为异常心电图。本文实验数据分为11组,这11组数据分别取自MIT-BIH数据库中记录为100、105、115、121、123、200、202、205、208、212、217的心电数据,每组数据取10个不同时间段进行实验,共进行了11*10=110次试验,其中98次检测正确,12次检测错误,故检测准确率为89.1%。

4 结论

本文使用db4小波对心电图进行尺度为9的分解和重构,有效地去除了低频的基线漂移和其他高频噪声干扰,便于准确分析特征点位置,进而进行模板匹配,心电信号的异常检测检测准确率较高。针对患者选取适应患者的心电模板,且能够诊断不同长度的心电图,使这种异常检测方法可用于不同的心电数据来源,适用的范围较广。本文提供的异常检测只能够检测出波形的异常与否,并不能检测出异常类型,仍然有一定的局限性,故本文在检测异常类型这个方面仍需改进。

参考文献

[1]宋东富.心电信号自动分析算法的研究与应用[D].长春:吉林大学,2007.

[2]吴宝明,朱凌云,卓豫,等.远程心电监护系统及动态心电信号自动分析的研究进展[J].中国医疗器械杂志,2006,30(5):362-268.

[3]唐雅青.心电信号的自动检测与分析[D].上海:上海交通大学,2007.

[4]韩君泽.心电信号自动检测与诊断方法的研究[D].哈尔滨:哈尔滨工业大学,2013.

[5]赵毅.基于小波分析和神经网络异常的异常心电信号分类研究[D].太原:太原理工大学,2015.

[6]杨波,张跃.基于多模板匹配的室性早搏判别算法[J].开发研究与设计艺术,2010,36(16):291-293.

[7]宋喜国,邓亲恺.MIT-BIH心率失常数据库的识读及应用[J].中国医学物理学杂志,2004,21(4):230-232.

[8]任杰,杨丽晓.基于小波变换系数的心电信号基线漂移噪声去除方法[J].医疗卫生装备,2010,31(11):24-26.

基于泊松方程的异常行为检测 篇7

当今社会, 更多的人忙于事业, 无暇在家看护老人或病人, 且相当一部分家庭没有能力聘请专业的家庭护理人员。因此, 空巢老人和病人的看护成为了当今社会亟需解决的问题之一[2]。日常生活中, 跌倒对老人或病人来说是最危险的行为之一。因此, 本文主要检测人体日常活动中的异常行为——— 跌倒。异常行为通常具有偶发性和多样性, 往往不易获得样本数据, 很难直接建模。现有的异常行为检测方法大体可以分为两类[3]: 一类是基于模型的检测方法[4,5], 即定义正常行为的模型, 与已知模型不匹配的行为即为异常行为, 如Zhang等人[6]提出了一种半监督的HMM模型, 用该模型对正常行为进行建模, 与所建模型不匹配的被认为是异常行为; 另一类是基于分类器的检测方法[7,8], 即通过分类器对正常行为和异常行为进行正确分类。常用分类器为贝叶斯分类器、决策树分类器、支持向量机分类器等[9]。如林春丽等人[10]利用SVM-KNN组合分类器对异常行为进行检测。本文将通过人体剪影提取行为特征, 并采用K均值分类器对异常行为进行检测。

研究表明, 物体剪影中包含大量信息[11]。文献[11]通过对剪影中的每个像素点建立泊松方程, 并用方程的解表征该点自由运动到剪影轮廓所有点所需的平均时间; 算法在形状识别和手写体数字识别领域取得了较好的效果。文献[12]将该算法拓展到人体行为识别领域, 但因其是对运动序列中的点建立三维时空泊松方程, 计算量大, 不易实现实时识别。而在家居监护系统中, 发生跌倒行为时, 往往越早发现, 对病人的救护几率就越大。本文对视频帧中的运动区域内部各像素点构建二维泊松方程; 采用多重网格法求解方程, 得到该点与运动区域边界的相对关系; 由此得到人体行为的矩特征; 最后通过用K均值分类器对所提取的特征进行分类。本文将此方法用于对异常行为的检测中, 实验证明, 该方法对异常行为具有良好的检测效果。

由于老年人的异常行为中最常发生的为跌倒行为, 通过钱惠敏等人[13]录制的视频数据库, 对走、慢跑、蹲、坐、站立及跌倒6种室内行为进行异常检测, 其中跌倒为异常行为, 其他为正常行为。首先介绍泊松方程的构建过程; 其次, 给出泊松方程的求解方法———多重网格法, 并用该方法求解上一步骤中所建立的二维泊松方程; 再次, 根据各点的像素值构建行为的矩特征; 最后, 根据所提取的特征, 采用K均值算法对异常行为进行检测。

1泊松方程的建立及其求解过程

1. 1泊松方程的建立

泊松方程是有着广泛应用的偏微分方程, 在电流体动力学、视频修复等领域[14,15]均得到广泛运用。首先采用基于混合高斯模型的背景减除法进行运动目标检测, 获得监控视频中的人体运动二值图像序列; 再对视频中单帧图像的运动区域构造泊松方程, 并用泊松方程的解为区域内各像素点赋值。

设每帧图像中的人体运动区域表示为人体剪影S, 取闭合单一曲线 S为S的外轮廓, 如图1所示。 为S内所有点赋值, 用以表示该点与外轮廓 S的相对距离关系。该相对距离关系可以由该点自由运动到 S所有点所需的平均时间来表示。研究表明, 这一平均时间可以通过求解如下的二维泊松方程来获得

式 ( 1) 中, ( x, y) ∈ S, f为未知常数。ΔU ( x, y) 为U的拉普拉斯形式, 表示为

方程 ( 1) 在 S上应满足狄利克雷边界条件U ( x, y) = 0。

设某个像素点的值为U ( x, y) , 如上所述, 它表示该点到达边界#S的平均时间, 因此, 其相邻四点 ( 如图2所示) 的值U ( x + h, y) , U ( x - h, y) , U ( x, y + h) , U ( x, y - h) 与U ( x, y) 相差一个时间单位, 因此U ( x, y) 可表示为

式 ( 3) 中, ( x, y) ∈ S, h为S内两相邻点之间的距离, 设在x方向和y方向上两相邻点距离相同, 均为h。

另外, 由导数的定义可知

将式 ( 3) 、式 ( 4) 、式 ( 5) 带入式 ( 1) 中, 可得

式 ( 6) 中的结果为常数且为负值, 为方便计算, 可将该负值设为- 1, 即

利用多重网格法对式 ( 7) 进行求解, 用所得到的解U ( x, y) 为S内的点赋值。

1. 2多重网格法求解泊松方程

多重网格法是求解偏微分方程的一种重要手段, 其具有快速、易于实现等优点[16]。多重网格法是在逐渐加密的网格上进行迭代, 这一迭代格式利用了不同网格层之间的相互关联关系[17]。本文采用多重网格法对式 ( 7) 进行求解。

对于式 ( 7) , 不难得到其差分格式

由式 ( 7) 可知, h为网格的步长, f = - 1。

选取3层网格, 由细到粗各层网格 Ω1, Ω2, Ω3的步长h分别为: h1= 1, h2= 4, h3= 16。多重网格法需要在不同的网格上根据迭代公式进行迭代, 假设方程的精确解为U ( x, y) , 则需要通过多重网格法得到U ( x, y) 的近似值。通过式 ( 8) 得到迭代公式为

多重网格法的求解步骤如下:

( 1) 在 Ω1层 ( 即最细层) 网格上进行迭代。假设该层的计算解由u ( x, y) 表示, 且u ( x, y) 的初值为0。

式 ( 10) 中n表示为第n次迭代, f = - 1。当u ( n) ( x, y) - u ( n-1) ( x, y) ≤ 10-3时, 停止迭代。假设是经过了m次迭代, 则所得到的结果为u ( m) ( x, y) 。令V ( x, y) = U ( x, y) - u ( m) ( x, y) , 即为最细层迭代结果与精确值之间的误差。

( 2) 在 Ω2层网格上进行迭代, 结果用v ( x, y) 表示。假设 Ω2层各点初值为0。按照逐点投影法将 Ω1层结果投影到 Ω2层上:

将v (x, y) 和步长h2代入式 (12) 。

在 Ω2层的迭代过程中, f' 为

迭代结果为v ( m) ( x, y) , 其与V ( x, y) 之间的误差记为W ( x, y) = V ( x, y) - v ( m) ( x, y) 。

( 3) 根据 Ω2层的迭代过程对 Ω3层进行计

得到的结果为w ( m) ( x, y) , 式中的f″ 为:

( 4) 将w ( m) ( x, y) 映射到 Ω2层。由图3所示, 圆形代表 Ω2与 Ω3不重叠的点, 方形的点代表 Ω2与 Ω3重叠的点。则 Ω2层上各点的值可由其周围最近邻的 Ω3层上的四个点获得

式 ( 16) 中, ( x, y) 为 Ω3层上的坐标, Δx, Δy ∈ { 0, 1, 2, 3} 。采用式 ( 13) 完成 Ω3层到 Ω2层的映射。

( 5) 将式 ( 16) 得到的结果按照式 ( 12) 进行迭代, 经过k次迭代后得到的结果为v ( m+1 +k) ( x, y) 。同理, 将v ( m+1 +k) ( x, y) 映射到 Ω1, 并进行迭代, 得到结果u ( m+1 +k) ( x, y) , 此为方程式 ( 7) 的最终结果。

2基于泊松方程的特征提取

由泊松方程的解表征的人体剪影区域包含了很多信息, 例如剪影的结构特征和方位特征[18]。 为便于观察, 将一定数量的剪影重叠, 质心置于同一纵轴, 形成一个3D时空图形S'。设为S' 内各像素点赋值U ( x, y, t) , t为图像序列的帧编号, U ( x, y, t) 为在第t帧图像上由第1节方法求得的U ( x, y) 。本文采用基于U ( x, y, t) 的矩特征描述行为, 该特征具有平移不变性和缩放不变性。采用如下矩特征

式 ( 17) 中, 参数 ω ( x, y, t) 为每个像素点的权重。 参数 ω ( x, y, t) 由U ( x, y, t) 值在x, y, t方向上的变化特性来决定。ω ( x, y, t) 有两种情况, 第一种描述人体的结构特征, 第二种描述人体内各区域的方向特征。

第一种 ω ( x, y, t) 值可以描述人体各部分的结构特征。通过对人体剪影的求解, 可知, 躯干部位的U ( x, y) 值较大, 而四肢部位和边界的U ( x, y) 值较小U ( x, y) , 相应的U ( x, y, t) 也是如此。简单地通过设置一个阈值, 便可将四肢部位分离出来, 但是, 此时会带出躯干部位的边界。值得关注的是, 躯干的边界部位有着较大的梯度, 通过其梯度值可以将四肢和躯干的边界部位区分

式 (18) 中, (x, y) ∈S, t为样本中的第t帧, 即时间轴坐标, !U (x, y, t) 为U (x, y, t) 的梯度, 即!U (x, y, t) =归一化结果由ωΦ (x, y, t) 表示, 即为结构特征

第二种的ω (x, y, t) 值表征各点所在区域的方向特征。对各点构建Hessian矩阵H

对于每个点的Hessian矩阵H, 不妨设其三个特征值之间的大小关系为: λ1≥ λ2≥ λ3。由三个特征值的比值可以确定三种结构, 分别为棍状结构、板状结构和球状结构, 本文用到的是前两种结构, 分别用Sst ( x, y, t) 和Spl ( x, y, t) 表示, 其计算公式为

通过Hessian矩阵的特征向量可以定义各方向向量

式 ( 22) 中, e1、e2、e3分别为x、y、t方向上的单位向量, β 为常数, 本文取 β = 3。

将两类特征结合, 用 ωsd ( x, y, t) 表示

式 ( 23) 中, i ∈ { pl, st} , j ∈ { 1, 2, 3} 。因此, ωsd ( x, y, t) 共有6个不同值。

综合式 ( 19) 与式 ( 23) , ω ( x, y, t) 有7个取值。 将这7个值带入到式 ( 17) 中得到最终的行为特征。

3实验结果

实验数据集是采用SONY摄像机在室内环境拍摄所得的6类行为视频, 包括跌倒、站立、行走、慢跑、坐下和蹲下[15]。其中, 跌倒为异常行为, 其它为正常行为。每个行为共有30个视频。首先, 采用背景减除法法对运动目标进行检测, 得到人体运动二值图像序列, 然后提取基于泊松方程的特征, 最后采用K均值算法对异常行为进行检测。

图4给出了数据库中6类行为对应的经运动目标检测后的部分图像帧。对运动区域构建泊松方程并求解, 如第2节所述。由于视频帧数较多, 可将每个视频分为两个样本进行处理。通过对样本的处理, 样本中的运动区域内各点坐标x, y, t为相对坐标, 则由式 ( 17) 表征的行为特征具有平移不变性。 处理后, 每个行为有60个样本, 6种行为共360个样本。用本文介绍的特征提取方法对360个样本进行特征提取, 其中, 式 ( 17) 中, p + q ≤ 3, r ≤ 2, 且p和q不同时为0, r不为0。通过计算, 每个样本提取的特征为128维。

通过该算法对人体行为进行特征提取, 并用K均值算法进行异常行为的检测, 所用训练样本个数为8, 测试样本为52个。分别将异常行为“跌倒”分别与其他5种正常行为进行分类, 即将104个样本分成两类, 则“跌倒”行为能够被正确检测出来的正确率如表1所示。

表1中, 第一行的“站立”、“走”、“跑”、“蹲”和 “坐”为正常行为, 第二行的“跌倒”为异常行为。由表1中的实验数据可知, “跌倒”行为与除行为“走” 之外的其他4种正常行为进行K均值分类后, “跌到”行为能够被正确识别出来的正确识别率为100%; “跌倒”行为与行为“走”进行K均值分类后, “跌倒”行为的正确识别率为92. 3% 。计算可知, “跌倒”行为的平均正确识别率为98. 72% 。

4结束语

基于多层分块的异常行为检测算法 篇8

关键词:异常行为,分块处理,稀疏重建代价,正常字典

当今社会对于公共场合安全问题给予了很大的关注,通过对摄像头拍摄到的视频进行异常行为检测,可以快速实现异常行为报警。现有的群体异常行为检测的研究[1—4]存在如下问题: 1异常行为定义模糊; 2群体异常行为样本不足。本文算法研究的异常行为是指公共场所人群发生非正常高速奔跑的情况,同时为了解决上述样本不足的问题,以视频开始的部分正常图像作为训练集,后面的视频序列将与训练集进行对比,判定行为异常与否。

现有的特征描述方法[5—9]已被广泛的应用于群体异常行为研究,各个特征描述方法的优势决定了其研究的群体行为的类型。为了更好地描述所研究的群体异常行为,在特征方面进行了如下操作,特征提取采用了较为新颖的特征描述子多维光流直方图 ( MHOF)[10]来描述行为; 同时引入了多层分块算法。在分块阶段传统算法采用的是单层的空间分块用于特征编码,采用了多层分块进行特征提取; 然后在编码阶段,将不同分块得到的特征信息进行融合, 融合的参数由分块提取到的光流强弱决定。进行多层分块处理后融合的好处在于可以使图像中的运动信息得到更加丰富的描述。

现有的算法[11,12]尝试将检测异常的测试样本以低概率拟合到训练数据概率算法中去。采用了基于稀疏表示的群体异常行为检测算法,将视频开始的正常部分作为训练集,后续处理视频作为测试集, 很好地解决了已有研究中的不足之处。测试集样本通过K-SVD[13]训练获得超完备字典[14],最后通过由Yang Cong等提出的稀疏重建代价( SRC)[10]对测试集进行计算,并以此作为群体异常行为检测的标准。

1群体异常行为检测相关工作

群体异常行为检测实现流程如图1所示,处理过程将训练集和测试集区分开,视频开始的部分正常序列作为训练集提取特征向量用于构建正常字典,而后测试集提取到的特征向量与正常字典对比, 通过计算SRC判定检测结果。特征提取阶段是改进的重点部分,后续内容作详细介绍。

采用稀疏表示对特征进行处理,字典算法如图2所示,其中D为超完备字典,α 为稀疏表示系数,Y为样本数据。

K-SVD算法用于训练得到完备字典,其计算公式如式( 1) 所示,T表示稀疏度。

更新 α 方式如式( 2) 。

式( 2) 中di为字典D的第j列,k为字典的原子总数,dk和xkT可以通过公式( 3) 的方式求解。

式( 3) 中Ek可通过SVD算法进行分解。所有原子进行上述运算。求得最稀疏解的方式如式( 4) 。

对于测试集部分,每一张图片同样要进行和测试集相同的特征提取融合阶段。在进行数据处理的阶段,需要对输入的测试集作行为判定,这里用到的评判标准为基于L1范式稀疏重建代价( SRC) ,其表达形式如式( 5) 所示。

式( 5) 中y为测试样本数据, 为一组超完备基的线性组合,λ 是一个参数,x*为重建系数,其中x*计算方式如式( 6) 。

测试样本与每一类重构之间的残差如式( 7) 。

寻找残差最小的那一类,视为识别结果y所属类别,计算方式如式( 8) 。

对计算结果进行阈值设定,最终判定行为异常与否。

2改进的多层分块特征融合算法

图像在进行异常行为检测前需提取出一定的特征用以表述图像,光流是一种简单的图像运动的实现方式,它通过图像中像素的时域变化来确定运动。 为了对图像中的运动信息进行更加全面的描述, Yang Cong等人提出了针对群体异常行为的新的特征描述方式: 多维光流直方图( multi-scale histogram of optical flow,MHOF) 。采用MHOF特征描述异常行为。

首先,将提取到的光流特征分为内外两层,也就是K = 16位,如图3中A部分,其中开始的8位表述的是方向信息以及运动能量r < τ 的内层部分,而后的8位对应于r > τ 的外层部分,计算公式如公式 ( 9) 。

首先将要提取光流特征的图片划为一些基本单位,如图3中B部分,针对不同的异常行为检测可以分别采用B部分中的空间分块、时间分块、时空分块,然后提取光流信息,在进行编码的时候采用的是16位MHOF。为了抑制因环境原因产生的噪声, 设定了一个阈值; 当光流强度小于这一阈值时,对其赋值0处理,可以有效地抑制部分噪声。

原有HOF特征仅能够获得图像中的运动信息, 所用到的特征描述不仅能够得到图像中的运动信息,而且可以得到相应的空间情景信息,使得特征向量包含的信息更加丰富,也就是MHOF的优势。

主要改进点是在通过光流法得到光流信息后, 将图像分成一些基本的2维图像块或3维时空砖块[15]的时候,采用的是图3中的空间分块; 在此基础之上对分块算法进行改进同时采用自适应的参数 α 融合方法。原有算法简单的将一副图像进行M × N的分块处理,则采用了多层分块方式,然后对每个小块进行多维光流信息提取,将不同分块得到的信息融合为一个向量用于描述这幅图像,具体公式表达形式如下

式( 10) 中Fea为最终特征,4 × 4和2 × 2表示不同的分块方式,如图4所示。通过多次试验证明,4 × 4和2 × 2分块适用于本文选取的视频集数据; 对于将来可能出现的更为丰富的视频集可以采用灵活的分块策略。在分块的过程中,将图像进行不同大小的分块得到的信息之间具有很强的相关性。

而后对特征进行融合编码,在分块的过程中,效果和速度都是要考虑到的因素,针对多层分块算法采用了2 × 2和4 × 4分块,2 × 2和4 × 4分块后进行相同的特征提取的过程。

在融合过程中,首先对2 × 2分块得到的光流信息进行计算,将四个分块对比来设置参数 α ,而后将2 × 2分块以参数 α 融合到4 × 4对应的小块上面。参照图4可知,4 × 4下分块1、2、3、4同时以参数 α 融合2 × 2下的分块1,其他分块参照这一模式,其公式表述形式如式( 11) 。

式( 11) 中V为最终得到的用于表示图片的向量, F( i) 为需要融合的n × n分块下第i个分块,F( i) 的计算方式如式( 12) 。

这里P = 4 × 4和P = 2 × 2分别表示将图片分成4 × 4块和2 × 2块。融合的过程中需要根据P = 2 × 2分块来对 α 的值进行设定,将2 × 2分块得到的各部分光流总强度进行计算,然后采用归一化处理,得到的四个数值进行等比例缩放后将其结果赋予 α ,为防止整体特征覆盖局部细节特征,其取值范围设为( 0,0. 5) 。i与j的对应关系为公式( 13) 所示,j通过i除以4后向上取整得到。

融合后得到的特征能够更突出运动区域的特征,而后得到一个向量用于表述当前图像中的行为, 并继续进行后续处理。

在得到实验结果时,如图5中( a) 所示,实验结果曲线上会呈现出部分区域尖刺效果,对此进行了一定的平滑处理,结果如图5中( b) 所示。该处理提升了算法的分类效果。

3实验结果

为了验证提出的改进的多层分块算法对于群体异常行为的检测效果,实验采用的是两个标准数据库PETS 2009和UMN分别进行验证。经过上述算法得到稀疏重建代价以后,采用受试者工作特征曲线( ROC) 得到算法的分类效果图; 再通过曲线下面积( AUC) 的计算作为与其他算法进行比较的标准。

PETS 2009视频集中的场景均发生在户外环境下,由多个摄像头进行的多角度拍摄; 该视频集相比UMN更加复杂,因为其场景中的异常行为的发生没有很明显的区分度,视频中人群的行为是由正常到异常逐渐过度的,这样对于检测是一个很大的挑战。 下面给出的图6是其中S3( 14 - 16) 拍摄到的群体行为视频,上面两幅图明显可判定为正常行为,而下面两幅图相比之下人群发生了快速奔跑行为,相应的检测数据也符合真实结果。

改进算法在PETS2009视频集场景S3( 14 - 16) 下的对比试验结果如表1所示。由表1可知,做出的改进针对这一视频场景具有很好的效果。通过权重对特征进行融合后,光流信息强的部分将更加丰富,同样由背景引起的弱光流信息将得到削弱,从而提升了识别的效果。

相应的ROC曲线对比结果如图7所示。

UMN数据库包含三个场景下的视频,分别为室内与室外的群体行为,其中包含11段视频序列,所有的视频序列都表现的是慌乱逃离场景,场景中人物以正常行为开始,随后发生的就是异常行为。 图8展示的是这一视频集中三个场景下对应的行为,从图8中可以看出图像质量较高,对于群体行为的表现较为清晰。实验表明检验结果符合真实情景。

下面给出了改进算法在UMN视频集下的对比实验结果如表2。由表2可以看出,本算法针对这一视频得到的实验结果较为理想,图9展示了本算法与其他算法的ROC曲线图对比图。

本算法相比与传统光流法效果有了较大提升, 与原有稀疏表示法相比有一定的提升,与PSO-SFM算法结果相近,通过图8展示的ROC曲线可以更加直观的看出本算法与其他算法的效果对比。

结合上面两个数据库实验结果的对比可知,提出的算法对于群体异常行为的检测已达到了较好的效果。

4结论

基于运动标签的异常行为检测算法 篇9

目前, 视频监控[1]成为了计算机视觉领域中较受关注的一个研究课题。其中, 针对运动对象的异常行为的识别检测已经成为目前视频监控领域的研究热点。

异常行为检测研究的主要问题有: 定义合适的运动行为特征, 由于目前的行为特征维数较高, 存储和计算这些高维特征向量所需的运算和空间复杂度都很高, 如何选择维度较低且同时能很好地描述行为的特征是个难题; 识别模型算法需要符合监控视频的上下文相关特点, 且要对不同环境的鲁棒性要高。

一般, 异常行为往往具有突发性大、持续时间短等特点, 因此对相关检测算法的鲁棒性和适用性提出了很高的要求。传统的异常事件检测一般是基于运动目标识别的方法[3,4,5,6,7,17], 其基本思想: 首先, 检测图像中运动的对象, 去阴影, 建立背景模型, 获取前景区域; 然后, 根据提取对象的特征信息, 对对象进行识别、分类和跟踪; 将提取的状态特征信息与预先定义的正常事件行为的模型参数进行匹配, 依照匹配的程度来判断该对象的行为是否异常。在实际应用中, 这是很困难的, 通常会有以下的缺陷[8]: 一旦某一步骤检测有误, 就会影响后续步骤, 产生误差传导性, 例如检测算法错误识别了行人, 就会导致后续的分类和跟踪出现错误; 同一时刻, 视频中出现多目标需要检测时, 对象之间会出现遮挡的情况, 这导致无法识别出目标行人。

为了解决这些缺陷, 近年来许多研究者也提出了一种基于环境和行为本身的方法[8], 它关注的是整个环境中的运动行为属性, 而不是运动物体。这类方法[9,10,11,12]使用了运动向量或标签来描述场景中的像素或者像素块的行为情况, 一般会生成一个二维结构的图来描述一系列视频上的运动总和, 这样做的原因是可以更好地降低存储和运算量, 最后利用基于位置的统计模型进行异常行为检测。这种方法首先检测的是异常属性, 然后再进行目标检测等工作。这类方法的优点在于无需物体的先验知识, 只需对场景的正常情况进行学习[13,14,15,16]。

本文提出了一种基于运动标签的异常行为检测算法, 对于像素块的运动标签[2]定义了位置关系、平均运动行为强度、运动行为方向、邻域相关性和单位运动行为强度分布等五种新的描述符来刻画运动行为的特征, 从全局和局部尺度上反映了正常环境下监控视频中像素块在时间维度上的运动行为分布关系, 而且这些特征使原本高维度的特征数据进行了降维, 大大降低了算法的复杂度; 同时, 通过对像素块运动标签空间邻接关系进行了定义和约束, 从而更好地描述了行为特征之间在空间上的分布关系; 最后在异常行为识别过程中, 通过训练好的SVM分类器, 自动识别出视频中异常事件区域。

1 基于运动标签的异常行为检测算法

1. 1 运动标签

视频具有时间属性和空间属性。时间属性指视频由一系列图像帧组成的, 帧与帧之间按照时间顺序存储且存在一定的先后联系; 而空间属性指一幅图像由一组像素点构成的, 像素与像素之间存在着空间上有着结构关系。因此, 异常行为识别一般是基于视频的这两个属性进行特征选取, 通过异常行为检测模型分析这些像素之间的时空关系, 获取异常行为的点或区域。

运动标签[3]是一种基于行为特征的异常检测算法的特征表示方法, 它反映的是图像中某一像素点运动变化的运动变化情况。通过背景差除法可以计算出每个像素的运动标签, “1”代表有运动的前景, “0”代表静止的背景。运动标签有它的可解释性: 一系列连续的“1”代表着忙碌的运动过程, 而一系列连续的“0”代表着空闲状态。假设t时刻, 图像S中的某一像素点, 使用表示这点的运动标签,

利用了运动标签的描述方法, 可以用一串二进制的数值序列反映一个像素点在时间上的运动行为变化过程[8]。通过分析这些运动标签所产生的二进制数值序列之间的特征关系, 直观反映了视频中行为在时间和空间上变化情况, 进一步可以检测出视频中的异常行为。

1. 2 特征提取与表示

通过对监控视频检测需求和动态行为空间的分析, 提出了以下几种特征描述符及提取方法, 分别在时间和空间维度上对运动标签进行了低维度的特征描述。

假设输入视频V的帧数为N, Si表示视频中的第i帧图像, 视频帧的分辨率为W×H。

1) 位置关系描述符

图像的像素点在同一空间邻域内拥有很强的相似度, 充分利用图像的这一特点, 在保持原有的运动行为特征基本不变的前提下, 进行适当的分块像素区域处理, 去除空间冗余度, 降低算法运行时间。

位置关系描述符定义了该运动标签所在的区域位置。假设单位大小为n×n的像素块 ( patch) , 将图像分割成多个区域。对的输入图像帧Si, 将被划分为 ( W/n) × ( H/n) 个像素块区域。

对于像素点, 它的位置关系描述符具体计算如下:

2) 平均运动行为强度描述符

为了降低客观环境因素对检测模型的影响, 如有风吹或震动影响到摄像头拍摄的角度发生很细微的变化, 这样就会使原有像素上的运动标签模型发生位置上的偏差[8]。本文将原有对于单像素的运动标签[2], 扩展到对于像素块的运动标签的计算。对于序号为 ( i, j) 的像素块PATCHi, j, 在空间和时间两个维度上统计它的整体平均运动变化情况和分布情况, 如下:

3) 运动行为方向描述符

平均运动行为强度描述符仅反映了像素块的运动标签整体上的统计特征关系, 下面将更详细地分析描述像素块的方向趋势的分布。视频图像被分割成多个像素块组成, 通过像素块的运动方向可以描述图像中运动分布情况。

对于序号为 ( i, j) 的像素块PATCHi, j, 计算它与邻域空间内的像素块的运动标签的梯度方向, 如下:

其中, Dir ( PATCHi, j, T) ∈R1。

4) 邻域相关性描述符

不同的像素块之间在空间维度上存在一定的相关特征, 通过这一特点, 提取像素块与它邻域空间内的像素块之间的运动标签的匹配图特征, 描述像素块的局部特征关系, 也反映了行为在空间维度的关系。

假设在时间T内, 两个像素块的运动标签序列为, 将这两个运动标签序列之间的关系比较, 转化为2个长度相等的0 - 1字符串之间最大重叠度的计算问题, 算法过程如下:

( 1) 固定某个字符串, 滑动另一个字符串进行匹配。

( 2) 在字符串移动匹配过程中, 计算对应位置的字符相同的个数和字符串长度之间的比例关系, 并且保存下来。

( 3) 对保存的所有比例关系, 选择其中最大值当做这两个字符串的匹配率Q , 这就是像素块运动标签之间的相关度性特征。

通过上述过程, 对于序号为 ( i, j) 的像素块PATCHi, j, 计算其邻域空间的相关性特征, 如下:

其中, Cor ( PATCHi, j, T) ∈R4。

5) 单位运动行为强度分布描述符

根据运动标签的定义, 可以发现它是用来描述图像中某个像素点或块在时间维度上的运动变化情况, 而通过对一系列二进制数值序列的分析, 获得该监控视频的异常行为特征情况。所以为了更好地描述像素的运动标签分布情况, 本文建立了一种叫作单位运动行为强度分布描述符。

假设一个窗口大小为w, 在时间维度上进行滑动划分, 将视频序列V划分成N - w + 1个窗口。对于序号为 ( i, j) 的像素块PATCHi, j, 在第T时刻的窗口中的运动标签序列总数如下:

其中, Count ( PATCHi, j, T, w) ∈[0, w], Int是取整函数。

同时, 可以计算视频序列V的基于窗体的w运动标签总和序列为:

根据式 ( 7) 可知, Count的取值有w + 1种可能性, 通过统计这w + 1种值的总和所占的比例来获取该像素块的运动标签变化情况。如式 ( 8) , 定义了这w + 1维单位运动行为强度分布特征。

其中C∈Rw +1, j∈[0, w]。

其中, B表示所有运动标签总和是j的序列和。

1. 3 异常行为检测

假设在一个视频序列V, 根据上一节中的特征检测算法获取到的候选块I = { I1, I2, …, Ij, …, In} , 而Ij提取到相应的行为特征向量为xj, 这些特征向量作为输入观测序列X = { x1, x2, …, xj, …, xn} 。xj如式 ( 10) 所示, 特征维度为w + 9。

其中, Xj∈Rw +9。

结果输出标签描述了整个视频序列的异常行为类型标签, 取值为{ 0, 1} , 0表示异常, 1表示正常。

本文将视频的异常行为识别问题转化为了SVM分类问题, 学习出从观察行为特征序列到异常行为标签的映射关系及行为模型。对输入的测试视频进行行为特征提取, 通过训练好的SVM分类器进行异常行为识别。

异常行为检测算法的主要流程如图1所示。

2 实验结果与分析

本文的实验使用了CPU为intel Core i5 2. 53 G、内存为4 GB的硬件系统。算法实现使用了Visual C + + 、Open CV工具包。本文采用的训练和测试数据图像和视频为AVSS2007数据集, 这些数据集提供了在不同的环境、不同的光照和背景环境下的异常行为事件的产生。同时, 对本文的算法与其他较经典的异常行为检测算法进行了比较。

AVSS2007数据集是一个由视频监控会议AVSS提供的一系列视频监控测试集, 它主要的事件包含异常丢包和停车事件。其中的数据集分辨率为720×576, 每段视频大约有35 000帧数据, 帧率为25帧/秒, 有不同光照下的监控视频。假设异常行为检测模型使用了8×8的像素块, 滑动窗口大小为256, 如图2和图3所示, 基本可以准确地检测出异常行为事件。其中, 图2 ( a) 针对简单场景, 在视频的左下角检测到丢包事件; 图2 ( b) 是在复杂场景中, 在视频的右上角检测到丢包事件; 图3 ( a) 针对白天街道上, 在视频的左中部检测到异常停车事件; 而图3 ( b) 是在夜晚光照环境比较差且噪声较大的条件下的情况, 本文的模型在图像的右中侧检测到异常停车, 因此检测效果也相对精确的。其中检测中有相对的区域误差是由于物体的形状和大小有差异造成的。

将本文的检测算法同其他不同的算法进行了对比, 如表1所示, 检测结果相比有更好的准确率和查全率。

3 结 语

本文提出了一种对监控视频的异常行为事件检测的算法, 该算法创新地采用了一组基于像素块运动标签的时空关系的行为特征描述符作为低维特征表示, 使用了SVM模型进行异常行为检测。实验表明, 对于不同光照和环境下的测试序列, 本文算法具有很好的鲁棒性, 检测结果要好于其他算法。下一步的工作, 将会设计出鲁棒性更高的行为特征描述符。

摘要:针对视频监控中异常行为检测的问题, 提出了一种基于运动标签的检测算法。通过对视频结构语义的分析, 针对像素块的运动标签在时间维度和空间维度的分布关系, 定义五种低维度的行为特征描述符作为视频中行为特征的表示。将这些提取的行为特征作为SVM分类器的输入, 训练和建立了基于运动标签的异常行为检测模型。实验表明, 该算法与同类算法相比, 取得了更好的检测效果。

异常入侵检测 篇10

目前, 随着信息化、网络化技术的不断进步, 工业控制系统逐渐与办公网、互联网等公共网络相互连接, 这使得工业控制系统也将面对病毒、黑客入侵等信息安全威胁[1];另外, 近年来, 各种复杂新型的攻击手段层出不穷, 以2010年伊朗布什尔核电站遭受震网 (Stuxnet) 蠕虫病毒[2]攻击为代表的一系列针对工业控制系统的信息安全事件表明, 工业控制系统面临的安全威胁日益严重。因此, 如何防范网络攻击已经成为大家关注的热点问题之一。

防火墙是最常用的一种网络安全防护方法, 但防火墙只是一种被动防御性的网络安全工具, 高级攻击者可以找到防火墙漏洞, 绕过防火墙进行攻击, 而且, 防火墙对于来自内部的攻击无能为力。而入侵检测技术作为一种主动的信息安全保障技术, 有效弥补了防火墙等传统安全防护技术的缺陷, 因此对于更复杂的工控系统网络攻击来说, 入侵检测技术是有效发现和防御入侵的安全防护手段[3]。

入侵检测方法可分为特征检测和异常检测两种类型。特征检测虽然检测准确度较高, 但无法检测未知攻击的缺陷限制了其应用效果;异常检测通用性较强, 能检测出未知的攻击, 应用前景比较广阔, 其主要缺陷在于误检率较高, 如何克服这一缺陷, 是目前研究的热点[4]。

当前, 入侵检测技术的研究已经取得大量成果, 其中, 基于数据挖掘、聚类分析、神经网络、行为统计等技术的入侵检测方法, 往往存在模型难以建立、处理速度慢、纯净训练数据难以获取、误报率高等不足[5,6], 无法满足工业控制系统较高的可用性和实时性要求;而基于统计思想的累加和 (CUSUM) 异常检测算法在控制系统入侵检测中则具有很好的应用前景[7,8]。

CUSUM异常检测算法是一种序贯分析法, 由剑桥大学的E.S.Page于1954年提出[8]。国内外对CUSUM异常检测算法在入侵检测方面的研究成果较多。文献[7]针对日前流行并危害严重的域名系统 (DNS) 缓存中毒攻击提出了一个简单而有效的检测机制, 即在采用无参数CU-SUM检测模型的基础上, 针对DNS的协议行为进行改进, 从而对DNS缓存攻击的检测得到有效加强, 并实现了检测准确率和虚警概率之间的平衡;文献[8]对网络流量的异常检测进行了研究, 针对在使用CUSUM算法进行流量异常检测时产生的累积和效应问题, 提出用自适应算法消除累积和效应的影响, 并分析了参数设置对解除报警的延迟时间、误报警等造成的影响;文献[9-10]对不同网络流量异常情况的入侵检测技术进行了研究, 分别采用改进的CUSUM算法进行检测;文献[11-12]针对无线传感网络的特征, 分别研究多级CUSUM算法、基于信噪比 (SNR) 的改进CUSUM算法以及基于统计CUSUM的在线检测算法, 用于对无线传感网络系统攻击的入侵检测;文献[13]研究了针对分布式拒绝服务攻击 (DDo S) 的入侵检测方法, 即通过将网络划分成多个簇, 各簇有各自的自治网络管理单元 (NMUs) , 每个NMU部署一个基于CUSUM的入侵检测系统, 从而实现发现分布式攻击的目的。

常规CUSUM异常检测算法需要建立随机序列的参数模型, 并用概率密度函数的统计值来监控序列, 而实际中往往很难获得黑客的攻击概率分布, 应用中受到一定限制;另外, 其计算较为复杂, 在网络化控制系统节点有限CPU的约束下, 给实时检测带来困难, 且检测虚警概率一般较高。针对这些问题, 上述大多数研究通常只是针对某种攻击机制 (如DNS缓存攻击) 或特定应用场合 (如无线传感网络) , 通过其他算法与CU-SUM算法的组合应用等方式对算法进行改进, 适用范围比较窄。

黑客对工控系统进行的各种攻击中, 最常见的是欺骗攻击, 表现在通过改变传输的传感器读数影响控制器指令, 进而控制目标对象的动作或运行。这类攻击一般比较隐蔽, 一般的智能检测算法对此常常无能为力[3,4,5,6], 因此攻击不容易被检测到, 尤其是在线检测。

本文对常规的CUSUM异常检测算法的判别函数进行了改进并对β参数的选择进行优化, 减少了误报率, 提高了算法鲁棒性, 能够满足工业控制系统高度实时性和可用性要求, 实现在线入侵检测。将改进后的算法用于钢铁企业热风炉拱顶温度控制系统入侵检测中, 仿真效果较好。

1 算法的改进

常规CUSUM异常检测算法基于概率分布统计值监测被检测序列, 假设被检测序列z (k) 在检测点k (k=1, 2, …, n) 发生攻击的概率分布为p1 (z (k) ) , 不发生攻击的概率分布为p0 (z (k) ) , 异常检测的初始状态值S (0) =0, 则检测序列在时间N内遭受攻击可能性的偏差累积和[14]

为简化起见, 我们用a代替式 (1) 中的, 则

式 (2) 表示CUSUM算法的计算规则, 即攻击可能性的累积和S (k+1) 如果大于0就累加, 如果不大于0就清零。

CUSUM算法的目标是使攻击检出时间N最短, 也就是在N时刻, 判决函数确认检测序列z (k) 的变化成立, N计算如下:

式中, τ为针对每个传感器选定的累积偏差阈值, 根据具体的应用场景通过试验方法确定。τ受误报率约束, 太小容易误报, 太大容易漏报。

如式 (1) 所示, 常规CUSUM异常检测算法的关键是要知道某一时刻黑客发动攻击的概率分布, 而实际应用中, 黑客发动攻击的概率难以确定, 且的计算也有很大难度。因此, 如果要将CUSUM应用于工业控制系统的入侵检测, 就需要对式 (1) 进行改进。

对于一个工业控制系统来说, 控制算法一旦确定, 某一时刻的系统状态是可以预测的, 而一个稳定的没有受到攻击的系统, 某个状态的预测值与实际测量值的差值也应该是稳定的。在时间轴上, 这个差值会围绕某个期望值上下波动。假设可以用某一工艺参数来表示特定的系统状态, k时刻其预测值为, 实测值为, 其差值为, 差值的波动概率应服从随机分布。正常情况下Δ (k) 是一个接近零值的平稳序列, 当黑客发动攻击时, 实际测量值会偏离正常的预测值, 即Δ (k) 会发生变化。在工业控制系统中, 传感器的预测值可通过数学模型或经验公式获得。

考虑到检测序列测量值及预测值本身有一个精度范围, 因此, 为了消除检测序列自身扰动带来的累积效应, 减少误报率, 我们引入了一个常数β, 构造以下观测序列:

这里的β是一个很小的正常数。根据以上分析, 我们用Δ' (k) 代替式 (1) 中的。正常情况下, 由于在没有发生攻击 (即p1 (z (k) ) <p0 (z (k) ) ) 时, 为负值, 因此Δ' (k) 的均值E (Δ' (k) ) 应满足下列条件[14]:

由于当检测序列足够大时, 检测序列将逼近正态分布, 因此, β可以用θ倍的标准偏差σ表示, 其中, θ应根据正态分布逼近理论及大数定律来确定, 对于符合标准正态分布的观测序列来说, 99.73%的数据分布在正负3个σ内, 即

则改进后的CUSUM异常检测算法的判别函数

上述式中, H0表示系统处于正常状态;H1表示系统处于攻击状态。

由式 (3) 和式 (8) 可得到攻击检出时间N。

2 改进CUSUM算法的应用

本文利用上述改进的累加和 (CUSUM) 异常检测算法检测钢铁企业高炉热风炉拱顶温度控制系统是否受到异常攻击。控制系统未受到攻击时, 控制系统拱顶温度接近目标值, 即传感器测量值与预测值的偏差是接近0的平稳序列;发生攻击时, Δ (k) 会发生较大变化, 表明传感器测量值偏离预测值比较严重, 可以认为发生了异常。

我们基于建立的高炉拱顶温度控制系统对象模型[15], 针对黑客对温度传感器的偏差攻击进行仿真, 验证改进CUSUM异常检测算法的有效性, 入侵检测的仿真流程如图1所示。

如前所述, 改进的CUSUM算法的核心是参数β和τ的选择。

首先通过正态分布逼近策略计算检测序列的标准偏差σ, 然后再根据式 (6) 确定β, 由钢铁企业高炉热风炉拱顶温度控制系统仿真得到的温度检测序列偏差分布如图2所示。由图2可以看出, 系统稳定时, 温度传感器检测序列的自身扰动偏差大多位于2.5σ以内, 因此, β选取2.5σ~3.5σ比较合适, 能保证在系统没有受到攻击时, 满足式 (5) 要求。系统自身扰动产生的偏差, 可以通过式 (4) 进行消除, 攻击误报的概率大大降低。

τ的选择可以根据试验确定。τ不但与对象系统本身的工艺特征有关, 还与采用CUSUM异常检测算法检测入侵攻击时间N有关 (如图3所示) 。从图3可以看出, τ与N大体成正比, τ可以选择的范围是τ∈[100, 40 000], 但考虑到越小, 误报率越大, 因此, 我们认为τ值选择[100, 1 000]范围比较合适。

综上所述, 我们采用改进CUSUM异常检测算法的参数选择如下:τ=100, β=2.5σ。

由于对拱顶温度施加负偏差, 可以让控制系统误以为控制温度一直没有达到设定值, 系统将一直加热, 这样的攻击最容易导致拱顶温度突破危险的上限, 是一种危害明显的欺骗攻击, 具有很强的代表性, 所以限于篇幅, 本文只分析改进后的CUSUM算法对这种攻击的有效性。攻击和检测效果如图4所示。

由图4可以看出, 系统受到负偏差攻击之后, 由于该控制系统对象是一个惯性环节, 且煤气流量调节阀是一个具有饱和机制的对象, 拱顶温度到达约1 342℃左右不再增加, 这个温度已超过设定温度, 将导致性能变差, 但由于仍低于极限温度1 400℃[15], 因此系统超限报警装置不起作用, 也就是说采用常规检测方法无法检测到攻击的存在。

在这种情况下, 采用改进的CUSUM异常检测算法能够在发动攻击的30多s内, 检测出入侵行为, 比异常点1 342℃提早大约1 000 s。检出异常后, 触发异常报警, 可以为工程技术人员的及早介入提供条件。

3 结论

本文对常规CUSUM异常检测算法判别函数进行改进, 将这一算法用于检测黑客攻击控制系统带来的系统异常, 并以高炉热风炉的拱顶温度控制系统为应用对象进行了入侵检测仿真, 仿真结果表明, 采用本文算法可以在较短时间内检测到攻击, 尤其是能够检测到采用常规算法无法检测到的一些隐性攻击, 为操作人员提供早期预警, 该仿真实例说明了算法的有效性。这种从信息物理融合角度进行控制系统安全研究的方法, 可以为类似研究提供不同于IT网络安全的研究思路。

上一篇:小儿细菌性腹泻下一篇:肾病治疗