数据库异常检测系统

2024-10-29

数据库异常检测系统(精选12篇)

数据库异常检测系统 篇1

摘要:提出一种基于关联规则挖掘的数据库异常检测模型DBADS。阐述了DBADS的结构及各部件的设计。利用关联规则FPMAX算法,对用户正常历史数据进行挖掘。通过训练学习生成异常检测模型,并利用此模型实现基于关联规则挖掘的异常检测。DBADS可以检测伪装攻击、合法用户的攻击两种类型的攻击,通过实验给出了系统检测相应攻击的检测率、虚警率。实验证明,本系统的建立不依赖于经验,具有较好的性能和灵活性。

关键词:数据挖掘,关联规则,入侵检测,数据库安全

0 引 言

入侵检测是信息安全中的一个重要研究课题,当前对操作系统和网络的入侵检测的研究已经取得不少成果,但对数据库系统则涉及较少。现实情况是:随着数据库应用的广泛深入,数据库安全方面的需求越来越突出。虽然大型的数据库提供了一些安全机制,但是这些安全机制并不能解决未授权用户获得管理员权限之后对数据库进行的非法操作,因此,实现对数据库的入侵检测,保证数据库的安全是非常必要的。

入侵检测就是识别那些未授权使用计算机系统的个体(如黑客)和虽然有合法授权但滥用其权限的用户(如内部攻击)。现有的入侵检测主要有两种模式:①利用已知攻击模式和系统弱点来识别攻击的误用检测(Misuse Detection);②检测用户行为是否偏离正常模式的异常检测(AnomalyDetection)。误用检测优点是检测准确率较高,缺点是只能对已知攻击类型和已知系统安全漏洞进行检测;异常检测的优点是能检测未知的攻击类型,缺点是误检率较高。现有的采用异常检测的入侵检测系统大都采用专家系统或基于统计的方法,这需要较多的经验,而数据挖掘(Data Mining)技术则不依赖经验,可以从大量数据中提取人们感兴趣的、事先未知的知识和规律,能够发现隐藏在数据背后的用户模式和特征,所以将数据挖掘技术应用在数据库的入侵检测系统中,可以从大量的审计数据中发现有助于进行检测的知识和规则,进而发现数据库的异常。

1 关联规则及关联规则挖掘算法

1.1 关联规则相关概念

定义1 令I={i1,i2……im}为项目集(itemset),D为事务数据库,其中每个事务T是一个项目子集T⊆I,并具有一个唯一的标识符ID。关联规则是形如X=>Y的逻辑蕴含式,其中X⊂I,Y⊂I,且X∩Y=Ø。

定义2 如果事务数据库中有s%的事务包含X∪Y,那么可以说关联规则X=>Y的支持度为s。

定义3 如果事务数据库里包含X的事务中有c%的事务同时包含Y,那么可以说关联规则X=>Y的可信度为c。

定义4 当支持度和可信度分别大于等于各自的阈限值时,认为 X => Y是有趣的,此两个值称为最小支持度阈值(min_sup )和最小置信度阈值(min_conf )。

定义5 support(X => Y)≥ min_sup 且 confidence(X => Y)≥ min_conf ,称关联规则X => Y为强关联规则,否则称关联规则 X => Y为弱关联规则。

1.2 关联规则挖掘的过程

发现关联规则的目的在于找出那些可信的并具有代表性的规则。关联规则的挖掘问题就是在 D 中找出所有支持度和置信度均分别超过min_sup 和 min_conf 的关联规则,即要求满足 support(X=>Y)≥ min_sup 且confidence(X=>Y)≥ min_conf 的规则 X=> Y。关联规则挖掘问题可以分为两个子问题:

(1)找出所有频繁项目集:即找出所有支持度不低于用户规定的最小支持度阈值的项目集;

(2)由频繁集构造可信度不低于用户规定的最小可信度阈值的强关联规则。

1.3 关联规则挖掘算法

在本系统中,使用FPMAX算法进行关联规则挖掘。与 著名的Apriori算法相比,FPMAX避免了产生庞大的候选项集(中间结果),不需要在每一个阶段循环都重复进行数据库存取,因而在性能上优于Apriori算法。FPMAX算法的基本思想是将数据集中的重要信息压缩在一个称为频繁模式树(FP-Tree)的数据结构中,然后基于FP-Tree生成数据集中所有的频繁项集。该算法对所有频繁项集的挖掘分为以下两步:①构造频繁模式树FP-Tree,②对频繁模式树FP-Tree进行挖掘。

2DBADS体系结构及异常检测引擎算法的设计

进行数据库异常检测的前提条件是建立一个数据库异常检测模型。此模型建立的基础是挖掘出数据库用户在长期操作数据库的过程中的行为规律。在建模的训练学习阶段,要求采集用户正常操作的数据,所以学习到的规则(聚簇规则集)是用户正常状态下的行为规律。在检测时,如果一些会话连接不符合这些规则,则认为这些连接是异常的。

异常检测系统DBADS的体系结构如图1所示,它由数据预处理、关联规则挖掘、关联规则库和异常检测引擎组成。

2.1 数据预处理

按规则中项目的类别不同,关联规则分为两类,布尔型关联规则和多值型关联规则。在本系统中,待分析的数据库审计数据为多值型数据,而产生频繁项集的FPMAX算法和生成强关联规则的算法处理的都是布尔型数据。所以应将关于多值关联规则问题转化为布尔型关联规则问题,即每个属性值都对应于一个新的布尔型属性,再在其上使用挖掘布尔型关联规则的算法。

本系统中的多值属性可分为数量属性和类别属性。在本系统中对于类别多值属性预处理的方法是:直接把每一类别映射为布尔值,例如将类别多值属性主体转化为主体John、主体Smith等布尔型属性。对于数量多值属性,预处理的方法是:对属性值进行等距离的划分,再对应到布尔型属性,例如:将数量多值属性读wages表记录数等距离划分为十个区间,从而构成wages0_9、wagesl0_19、wages20_29等十个布尔型属性。

在进行数据挖掘之前,对采集的数据库审计数据进行预处理。我们将多个属于同一会话的审计记录归并到同一个会话连接里。一个会话连接记录包含以下属性:

(ConnectionID,主体,客体,路径,行为,时间)

ConnectionID:一次会话连接的ID。

主体: 用户。

客体: 数据库或数据库对象(表、视图、存储过程等)。

路径: 用户所在主机的名字。

行为: 对数据库或数据库对象的操作。

时间: 本次会话的起始时间。

系统中,将一次会话连接看作是一个事务T,对采集的所有会话连接记录组成事务数据库D。因为数据库审计系统产生的审计数据量很大,为了提高系统的速度,所以预处理时只对敏感数据库或者数据库对象和敏感主体的审计数据进行转化处理,以备以后挖掘之用。经过预处理之后的训练审计数据库表如表1所示。

2.2 关联规则挖掘及建立异常检测模型

经过审计数据预处理算法得到表1所示的布尔型审计数据,使用FPMAX算法挖掘出频繁项集L,再由用户给出最小可信度,生成强关联规则,生成关联规则的算法如算法1所示:

算法1 关联规则生成算法

输入:频繁项集的集合L,最小可信度阈值min_conf

输出:关联规则

方法:

1)对于每个频繁项集l,产生l的所有非空子集;

2)对于l的每个非空子集s,如果:

lsmin_conf,则输出规则s=>(l-s)。

生成的关联规则如表2所示。

第一条规则的含义为:在所有的会话记录中有25.35%的会话操作主体为John,操作路径为IBM,操作客体为wages表,进行的操作为读操作。在操作主体为John,操作路径为IBM的情况下,有95.64%的会话可能是对wages表读20-30个记录的操作。

通过训练大量的审计数据,创建异常检测模型,创建异常检测模型的过程如算法2所示:

算法2 异常检测模型创建算法

输入:训练审计数据集、最小支持度、最小可信度

输出:异常检测模型

方法:

1)将训练审计数据转化为布尔型训练审计数据;

2)调用FPMAX算法挖掘布尔型训练审计数据的频繁项集的集合;

3)生成关联规则。

2.3 异常检测引擎的设计

异常检测引擎的工作包括将采集的待检测审计数据进行预处理,转化成前面定义的会话记录格式;对待检测的会话连接记录进行预处理及关联规则挖掘,产生关联规则集;将产生的关联规则集与建立的异常检测模型进行分析比较,比较出异常的记录,并显示出异常记录的详细信息。检测算法如算法3所示:

算法3 检测算法

3 实验结果分析

实验中检测了两种类型的攻击,分别是:伪装攻击、合法用户攻击。对十组数据(每组数据有一半是正确操作事件,另一半为异常操作事件) 进行了检测分析,统计了对每种攻击的检测率、虚警率。

图2、图3分别给出了针对两种攻击的检测率和虚警率。

由图中可以看出,对于合法用户攻击的检测率最高在80 %以上;系统的异常检测性能在检测率和虚警率之间徘徊,检测率高了,虚警率就会提高;同样虚警率降低了,检测率也就会降低,符合异常检测系统(IDS)的性能评价要求。

4 结束语

本文提出了一种基于关联规则挖掘的数据库异常检测系统的体系结构。该系统采用关联规则FPMAX算法,对用户正常历史数据进行挖掘,通过训练学习生成异常检测模型,并利用此模型实现基于关联规则挖掘的异常检测。由于数据挖掘技术能从大量审计数据中快速提取出规律,因而在本系统设计中采用数据挖掘技术,大大提高了系统的性能。但是经反复测试证明,该模型的误检率比较高,尚有待进一步优化、改进。

参考文献

[1]G彲sta Grahne,Jianfei Zhu.Efficiently Using Perfix-trees in Mining Fre-quent Itemsets.In FIMT0'3 Workshop on Frequent Itemset Mining Im-plementations,Melbourne,Florida,USA,Novermber,2003.

[2]Liu P.Architectures for Intrusion Tolerant Database Systems.In:Proc.of 18th Annual Computer Security Applications Conf.Las Veags.Ne-vada.Dec,2002.

[3]Castano D,Fugini MG,Martella G,Samarati P.Database Secutity.Ad-dison-Wesley,1995.

[4]Axelsson S.Intrusion Detection Systems:ASurvey and Taxonomy.ChalmersUniversity of Technology,Dept.of Computer Engineering,Go teborg.Swe-den,2000.

[5]Chung C Y,Gertz M,Levitt K.DEMIDS:AMisues Detection SystemforDatabase System.In:The Thirteen Annual IFIP TC-11 WG 11.5Working Conf.On Integrity and Internal Control in Information Sys-tems,1999.

[6]Chung C Y,Gertz M,Levitt K.Discovery of Multi-Level Security Poli-cies.In:The Fourteenth Annual IFIP WG 11.3 Working Conf.On Da-tabase Security,2000.

[7]钟勇,秦小麟.数据库入侵检测研究综述[J].计算机科学,2004,31(10):15-18.

[8]颜跃进.最大频繁项集挖掘算法的研究[D].国防科技大学,2005.

[9]袁朝华,柏文阳.一种数据库检测模型的研究[J].计算机应用研究,2006,4:97-98.

数据库异常检测系统 篇2

浅谈空气自动监测系统监测数据质量保证及异常数据的处理

文章分析了空气自动监测系统运行过程中,如何建立仪器校准、定期的零点和跨度漂移检查、对异常监测数据的科学处理等监测数据质量保证制度,以确保空气自动监测系统稳定可靠运行、监测数据准确完整,为环境管理提供科学的依据.

作 者:王寅 Wang Yin 作者单位:锦州市环境监测中心站,辽宁,锦州,121001刊 名:广东化工英文刊名:GUANGDONG CHEMICAL INDUSTRY年,卷(期):36(6)分类号:X8关键词:空气自动监测系统 质量保证 异常数据

数据库异常检测系统 篇3

关键词自动气象站;月报表;异常数据;预审;处理

中图分类号P4文献标识码A文章编号1673-9671-(2010)081-0124-01

随着自动气象站和地面测报业务系统软件的使用,地面气象数据文件审核方法发生了重大变化。南乐县气象局从2005年1日1日自动气象站投入业务运行以来,对全局测报质量的提高起到了一定的作用,我根据近几年在地面资料审核工作中积累的经验,对本台站出现的、疑误数据处理问题进行了归纳总结,并提出了相应的处理方法。

1异常数据与处理

1.1降水量上下连接值的输入

《地面气象观测数据文件和记录薄表格式》规定,降水量上下连接值由3段组成:即下月1日20—8时降水量和跨月连续降水(或无降水)开始日期和上跨连续降水量。有些站往往没有将下跨的降水量输入或是输错。如有微量降水0.0应输为“,,,,”,误为“0000”。月末最后一日,应该人工录入、校对降水量上下连接值,确保B文件数据正确。

1.2分钟降水量与天气现象矛盾的处理

由于OSSMO 2004软件没有把J文件降水量及降水起止时间与A文件天气现象的降水起止时间对比,所以J文件经常出现降水量与天气现象矛盾的现象,值班员和预审人员必须人工校对分钟降水量与降水的起止时间是否一致。

操作说明:J文件分钟降水量取自B文件,因此要求每日20时值班员要按照《地面测报业务软件操作手册》和系统“帮助”文件,对“小时、分钟降水量”进行校对,方能确保小时降水量合计值和分钟降水量累积值相一致,分钟降水量记录和降水起止时间相一致。

1.3日照时数全天缺测

应该在日出到日落的各小时都应该录入“—”,不能自己认为从有日照的小时开始输“—”。日出、日落时的日照时数如果大于日出、日落时计算的最大值,OSSM0 2004审核提示为错误,应该利用软件提供的计算功能,算出本站该年每日日出日落时间,并查找引起矛盾的原因,确保观测未记录的准确性。

1.4对自动气象站大风记录的开始与结束时间应该认真校对

1)大风数据文件为FJ.TXT,由于FJ文件中的数据是自动气象站采集监控软件(SAWSS)从每分钟采集的数据中判断写入的,若SAWSS因故关闭或采集不正常,都会造成FJ.txt记录不正常,所以FJ.txt文件不能作为大风天气现象的唯一依据。

2)若自动站日极大风速≥17.0m/s,FJ.txt中无大风记录,可从Z文件中的时极大风速尽可能的判断记录,或通过随OSSMO 2004一并下发的自动气象站数据质量控制软件中的“大风现象查询”功能获取。

3)部分厂家的自动站,有时会出现从采集器读取的每分钟数据中的出现时间与实际时间有偏差,若写入FJ.txt文件中的时间与正点写入Z文件中的出现时间有时相差1分钟,则以Z文件的极大风速时间为大风的开始时间。

2对机审疑误信息要认真判断分析

分别使用地面气象测报业务软件和自动气象站数据质量控制软件对A文件、J文件和Z文件进行审核。对软件提示的疑误信息要逐条进行排查处理。提示为“错误”的信息必须维护正确,提示为“可疑”的信息要根据气象要素进行人工确认。如海平面气压、水汽压、露点温度与反查计算值相差>0.3℃,有错误,就应该利用地面气象测报业务软件的工具菜单进行查算;连续变化的要素,相邻时次变化异常。如地温、草温传感器安装不当,就会造成变化异常。一般认为,深层地温(80、160、320cm)相邻时次变化超过0.3℃属于异常。值班人员要按照有关业务文件的要求,加强自动站数据监控和人工与自动对比观测,及时发现问题,解决问题。

3自动站定时记录缺测的处理方法

按照《地面观测规范》和技术问题综合解答(第一号)的规定,自动站记录缺测的处理方法具体有:

1)自动气象站定时观测记录缺测。要优先使用正点前后接近正点的10分钟记录代替。监控软件从3.0.8版本增加了全要素分钟数据文件即RTD文件的备份。可以使用“质量控制软件”查找正点前后接近正点的分钟数据,并用来代替自动站缺测的正点值。

2)人工观测和自动观测记录的同类观测记录可相互代替。

3)在没有任何数据可代替的情况下,采取内插法或缺测处理。内插法是级别最低的。内插法不适用于风向风速、降水量缺测记录的处理。

4)缺测和不完整记录的处理方法要进行备注。

5)分钟数据缺测寻找方法。为了最大限度地减少缺测记录,用自动气象站数据质量控制软件的“数据导入”功能,从RTD文件中恢复。具体方法是:利用质量控制软件中的文件菜单—打开—文件类型—逐分钟地面数据文件—找到相应时间的数据。

4文件的审核

4.1J文件的审核

J文件处理方法。根据有关技术文件,J文件的分钟记录缺测或异常,不再按内插处理。J文件的分钟数据必须是自动站原始采集数据,因此,60分记录用A文件记录代替时,不能用A文件中内插或人工站代替的正点记录代替。需注意:J文件风速是一分钟风速,不能用A文件定时风速代替。

4.2Y文件的审核

制作年报表的A文件月份选择。制作年报表必须在Y文件维护中同时加载当年1-12月的A、J文件和上年度7-12月的A文件,这样才能制作正确的Y文件。

5结束语

自动站报表数据文件内容多、数据量大,要求审核员必须熟练掌握《地面气象观测规范》中各项技术规定及数据文件格式规定,对机审提出的疑误信息进行判断和推敲,不断总结经验,提高自动站报表数据文件的审核质量。台站的报表预审宜采取初审-复审-终审的流程。通过上述流程的上报报表可最大限度地减少错情;要尽量为每个班次排主班、副班并明确责任。当主班在观测、操作、发报时副班应负责校对和配合,发现不正常记录要及时处理,

参考文献

[1]中国气象局监测网络司,地面气象测报业务系统软件操作手册[M].北京:气象出版社,2005,1(37).

[2]地面气象观测规范[M].北京:气象出版社,2003,11(107).

作者简介

数据库异常检测系统 篇4

随着网络技术的迅速发展和广泛应用,很多数据库都连接到互联网上以实现资源共享。在享受资源共享带来方便的同时,数据库也受到越来越多的攻击,安全问题日益严峻。虽然现有的大型数据库系统,如Oracle,Sybase和SQL Server,都提供了安全管理机制,比如:身份认证、访问控制、审计技术等,但这些技术和机制都属于安全防护的范畴,只能对数据库实行静态保护。为了解决保护数据库的安全,数据库安全[1,2]领域的研究者们提出了很多保护数据库的方法。最早于八十年代初期,Anderson[3]的报告和Denning[4]的论文引发了入侵检测系统IDS(Intrusion Detection System)的研究和开发。

入侵检测的技术[5]可以分为误用检测(misuse detection)和异常检测(anomaly detection),相比较而言,异常检测的研究比误用检测的研究更加活跃一些,其中,文献[7,10,11,12,13]采用数据挖掘(Data Mining)的关联规则挖掘技术,对数据库的审计日志进行数据挖掘,挖掘用户行为的关联规则,利用关联规则对用户行为进行异常检测。他们大多采用Apriori算法,该算法是一个经典的关联规则挖掘算法,但是该算法面对数据库的审计日志也有它的缺陷。比如,数据库多存在数值属性和多值属性,要使用Apriori算法挖掘关联规则,则必须首先进行审计日志的预处理,这将增加系统的时间开销。其次,Apriori算法需要扫描数据集的次数与最长的频繁项集的长度相等,并且需要保存生成的候选项集(中间结果),特别是在支持度较低的时候,将会出现比较“长”的频繁项集。另外,文献[14]基于数据库的审计日志建立了一个简单而且准确的数据库用户行为的隐Markov模型,在此模型的基础上还设计了一个异常检测算法,在该异常检测算法中针对观测序列长度不断增加,但P{O/λ}观测值却越来越小的情况,引入了滑动窗口的概念。首先对用户的操作序列通过使用滑动窗口划分为短序列,然后对滑动窗口中的序列X进行P{X/λ}计算。如果计算出的P{X/λ}值低于给定阈值ε,则该窗口中的短序列标记为“异常”。最后,判断异常短序列数目与总短序列数目之比是否超过另一给定的阈值δκ来确定数据库用户的入侵。基于文献[6,14]本文设计和实现了基于隐马尔可夫模型的数据库异常入侵检测系统HMMADS。有关数据库用户隐马尔可夫模型的建立、P{O/λ}的计算方法见文献[6,14]。

1 HMMADS的相关算法

1.1 HMM模型输出概率计算算法

如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程,数学公式描述是:X(t+1)=f(X(t))。隐Markov模型是一个双重随机过程,一个是不能观测到的有限Markov链,另一个是与之相关的可观测链。

一个隐马尔可夫模型是一个五元组:λ=(ΩX,ΩO,A,B,π)。其中:

ΩX= {q1,…,qN}:状态的有限集合

ΩO= {V1,…,VM}:观察值(即可见符号)的有限集合

A={aij},aij=P(Xt+1= qj|Xt=qi):转移概率

B={bi(k)},bi(k)=P(Ot=Vk|Xt=qi):输出概率

π={πi},πi=P(X1=qi):初始状态分布

给定观测序列O(t),t=1,2,…,T和模型λ=(ΩX,ΩO,A,B,π),通过计算P{O/λ}来分析数据库操作的行为。具体而言,就是基于数据库审计日志对每一个将来需要审计的用户创建一个正常状态时的隐Markov模型,实际上创建隐Markov模型的主要工作是计算输出概率,即首先统计被审计的数据库用户在每一次会话中执行的数据库操作,并且统计这些操作在该会话中出现的频率,然后通过对每一次会话中数据库用户操作出现的频率进行加权求和得到数据库用户能够执行的每一个操作的出现频率,也就得到了该数据库用户可见符号的输出概率。该计算算法作为CHMM类的一个成员函数HMMComputeProp(详见2.2节),HMMComputeProp成员函数如下:

1.2 P{O/λ}的计算

在建立了数据库用户行为隐Markov模型之后,就可以利用该模型进行异常检测,我们进行异常检测的原理就是计算P{O/λ},即在我们建立的完全正常行为的隐Markov模型的条件下,观测到的行为发生的概率,如果这个概率比较小,则认为此行为为异常行为。计算P{O/λ}方法有:基础方法、前向法和后向法。本文中采用前向法,计算算法如下:

undefined

有关Ρ{Ο/λ}的推导过程详见文献[14]。

1.3 异常检测算法

在判断某个用户的操作序列是否发生异常的过程中,由于随着观测序列长度的不断增加,计算出的观测序列在正常情况下的出现概率P{O/λ}会越来越小,这样就很难根据计算出的概率大小来判断数据库用户的操作是否异常,所以在判断某个用户的操作序列是否发生异常的过程时,应先对测试序列用长度为K 的滑动窗口进行分割,对每个短序列Xi,计算它的概率。为了明显突出概率之间的差别,可取概率lnP(Xi/λ)。

将短序列集中的每个短序列的概率取对数的值与给定的出现概率的阈值ε进行比较,并将小于ε的短序列标定为“异常”。然后,统计并求出测试序列中“异常”的短序列数Ca与总的短序列数C的比值,该比值定义为异常度:

undefined

再将求得的测试序列的异常度与另一给定的异常度阈值δκ进行比较。如果异常度大于δκ,就认为产生此序列的数据库用户的操作可能为异常的;否则,认为此序列的数据库用户的操作是正常的。

2 HMMADS的设计与实现

2.1 数据库用户信息库的设计

HMMADS系统采用VC++6.0与Oracle9i[8,9]实现,HMMADS对Oracle9i数据库进行入侵检测。在HMMADS中,采用Oracle9i的审计机制作为异常检测的数据源,同时采用该数据库记录被审计的数据库用户的信息,包括三个表,它们是:被审计数据库用户表、被审计数据库用户HMM模型可见符号输出概率表和异常检测算法使用的阈值表。如表1-表3所示。

2.2 关键数据结构的设计

HMMADS系统采用VC++6.0与Oracle9i实现,系统使用的关键数据结构是:被审计数据库用户结构BeAuditUser、被审计数据库用户阈值参数结构ThresHold和被审计数据库用户HMM模型类CHMM。

(1) 被审计数据库用户结构BeAuditUser记录每一个被审计的数据库用户的ID、名字、可执行的操作ID、操作名称和可执行的操作数。

(2) 被审计数据库用户阈值参数结构ThresHold ,该结构作为 HMM模型类CHMM的一个数据成员。记录该数据库用户当滑动窗口分别为3、5、8的时候短序列概率的阈值和异常短序列所占比例的阈值。

(3) 被审计数据库用户HMM模型类CHMM,CHMM类是HMMADS系统的核心类。该类的每一个对象对应一个被审计的数据库用户。主要数据成员有:

2.3 HMMADS的实现

HMMADS采用VC++6.0和Oracle9i实现。HMMADS包含两个部分,第一个部分是隐马尔可夫模型的建立,第二部分是异常检测。其中隐马尔可夫模型通过原始审计日志建立,也可以直接从数据库中读出模型的参数建立模型,如图1所示。异常检测部分包含在线检测和离线检测两种方式。离线检测方式可以通过简单的选择用户ID对任何一个用户进行检测,当选择某一个数据库用户之后,还可以选择不同的滑动窗口长度进行检测,当选择不同的滑动窗口长度的时候,阈值E和阈值Detal也将在界面上随之改变。在线检测方式采用VC++6.0的多线程技术实现,创建一个工作线程负责后台的在线异常检测。在界面上可以随时启动和停止在线异常检测。界面如图1所示。

3 实验结果及分析

通过使用已知的数据库用户正常操作序列和异常操作序列进行测试可以确定上述异常检测中使用的滑动窗口长度K、短序列出现概率阈值ε和异常度阈值δκ。

当数据库运行在正常状态下,数据库用户对数据库进行正常的操作。在这种情况下采集正常操作训练数据,然后该数据库用户又对数据库进行异常的操作,并且也对这些异常操作序列进行采集,利用该用户正常的操作序列和异常的操作序列对模型进行训练,确定滑动窗口长度K,和异常度阈值δκ。

模型建立之后,其中DOLLY用户的可执行的操作的概率如表4所示。

在模型训练完之后,利用该模型进行异常检测。实验步骤是:首先数据库用户DOLLY进行5组异常操作,然后利用该模型进行检测,记录了每一组操作序列中K取3、5、8时,检测的结果。 测试数据如表5所示。

4 结 论

本文设计并实现了一个基于隐Markov模型的数据库异常检测系统。该系统检测方式灵活,可以实现离线异常检测与在线异常检测,其中在线异常检测采用了VC++6.0的多线程技术。离线异常检测也非常灵活,可以任意选择某一个数据库用户,对其进行异常检测,还可以灵活地选择滑动窗口的长度。

通过使用滑动窗口的宽度K分别取值为3、5和8 时进行实验,从试验的结果中可以看出,本文实现的系统能够检测出数据库用户的异常操作,但如何选取滑动窗口的宽度还有待进一步研究。

摘要:讨论了一个基于隐马尔可夫模型的数据库异常检测系统HMMADS的设计与实现技术。HMMADS采用VC++6.0与Oracle9i实现。HMMADS可以检测Oracle数据库中所有被审计的数据库用户,并且灵活地实现了两种异常检测方式:离线异常检测和在线异常检测方式。离线异常检测可以灵活地选择任意被审计的数据库用户进行异常检测,在线异常检测采用VC++6.0的多线程技术实现,采用VC++6.0的工作线程实现后台在线异常检测。通过对数据库用户DOLLY进行测试,发现HMMADS能够检测出数据库用户DOLLY的入侵。

数据库异常检测系统 篇5

摘要 地面气象测报工作是气象工作开展的基础。针对当前基层台站地面气象测报工作中常出现的数据异常现象问题及应对处理进行分析,提出了对策,包括:强化地面测报人员岗位责任心,营造良好的工作氛围;加强地面气象观测系统运行监控,做好观测仪器设备的日常维护管理;加强组织学习培训,提高测报人员业务知识和操作技能等,以期为提高地面气象观测报数据质量提供参考。

关键词 地面气象测报业务;数据异常;应对处理;提高对策

中图分类号 P412.1 文献标识码 B 文章编号 1007-5739(2016)05-0273-01

新型自动气象站在软件设计、硬件结构、处理存储及防雷性能等方面都较原来的自动气象站有很大提升,然而,自动气象站观测仪器属于精密元器件,极易受到外界各种因素影响而导致观测数据异常,目前青海省大部分县局都已建成新型自动气象站并投入运行,笔者作为基层测报人员,总结了工作实践中出现的一些观测数据异常问题和应对经验,以期为基层气象部门提高地面测报业务质量提供参考。地面气象测报中数据异常分析及处理

1.1 温湿度数据异常或无数据

温湿度数据发生异常或缺测时要首先检查接线处是否有虚焊。如果湿度数据不准确,要检查传感器所有接地屏蔽的接触情况,湿度无数据时,查看原始数据和传感器是否被损坏等,测量传感器输出端和地之间的电压值,如果万用表测量出的电压值不在测量范围内,就需要更换新的传感器[1]。

1.2 雨量值异常

出现小雨的时候雨量值一直显示为“0”,发生雨量值偏小,雨量传感器漏斗、翻斗定位螺钉松动或是灰尘堵塞了滤网,都会直接导致雨量值发生异常,而且还应该考虑是否为雷击致使电路板故障、干簧管或磁钢损坏,也都会出现这种异常问题。在日常工作中,测报员要定期检查并雨量筒过滤网上的积存物和通信线路,以及电缆接头的接触情况[2]。对上述问题要及时进行清除、解决。

1.3 气压数据异常

新型自动气象站气压传感器为数字输出型,可通过串口查看无气压原始数据。当气压值出现异常时,先检查静压管连接是正常,以及传感器气嘴口是否能畅通。当上述检查结果均正常,说明传感器出现问题,这就需要更换新的气压传感器,若气压数据仍然异常,可考虑更换新的采集器[3]。提高地面气象观测数据质量的对策

要保证地面气象观测业务工作正常运行,提高气象观测数据完整性、准确性和时效性,除了加强地面气象观测数据质量控制以外,还要加强观测仪器日常维护管理和观测员业务技能学习培训等,以防患于未然。

2.1 强化地面测报人员岗位责任心,营造良好的工作氛围

地面测报业务是基层台站特别是环境条件较差的台站一项重要、艰苦、枯燥的工作,作为地面测报工作人员,应深知地面气象测报工作的重要性,树立高度的责任感,严守工作岗位,值班当日应集中精力做好天气变化监测,认真负责对待每一次观测、每一个数据和每一份报文。单位领导要多关心职工生活及工作情况,尽可能地为职工争取好的待遇和政策,使每一位测报人员能团结互助,理顺工作与日常生活的关系,为职工营造一个团结、友爱、和谐的工作氛围,积极调动员工的工作积极性和主动性,通过测报业务团体的努力协作、配合,认真做好每一项测报工作,减少观测数据错情,确保地面测报工作正常开展[4]。

2.2 加强地面气象观测系统运行监控

值班期间,做好监控管理工作,在正点前10 min加强监测,及时发现网络故障、数据异常等问题,发现存在异常时,要迅速对故障点作出判断,确定是哪个部位出现了问题,然后尽快采取措施,对不能解决的较大故障问题要立即上报上级部门,请求帮助,在故障未解决前,可采用人工观测和数据输入,以减少观测数据的缺测率[5]。

2.3 加强业务学习培训,提高观测员队伍整体素质

新型自动气象站建成并投入使用后,进一步实现了地面观测自动化程度,降低了观测员劳动强度,为日常学习提供了时间上的保证,观测员应加强观测业务理论学习,熟悉新的业务规定和流程,充分了解自动气象站仪器构造及其工作原理,熟练掌握应用测报业务软件操作技能,在日常值班工作中,要严格遵守业务规章制度,认真细致地做好每项工作。

同时,还要加强自动站仪器设备基本维修维护技能,对于常见的一些故障问题,做好第一时间正确判断及排除,提高突发事件应急能力,建立健全故障应急处理预案,定期开展地面观测业务应急演练,保障自动站正常运行。结语

准确、完整、可靠的地面气象观测数据是提升天气及气候预测预报水平的重要保证,也是气象部门开展气象服务的基础条件。因此,基层气象部门要逐步建立健全完整的气象观测数据质量管理体系,细化、统一气象观测数据质量控制指标,要求测报人员在工作实践中不断总结经验,不断提高观测人员及地面测报预审员数据质量分析处理能力,加强台站质量控制基本流程、质量控制技术方法、质量控制要点学习培训,认真负责做好每一项工作,尤其要加强注意容易疏漏和处理不当的地方,不断总结日常工作经验,提高台站地面气象观测系统运行监控能力,保证地面气象观测数据精确、有效,提高基层台站地面测报业务工作质量。参考文献

数据库异常检测系统 篇6

用电监察工作中需要工作人员不断注意用户用电情况的监督监察工作,通过有效的工作方式来检测用户用电量的数据是否异常,并采取有效的解决方式来良好的完成用电监察工作。只有这样才能有效的确保我国电力事业的发展,提高我国用户用电稳定性,让我国的国民经济获得良好的发展环境。在我国电力事业不断发展的如今,用电监察工作随着电力事业的深入也在不断扩大优势,将传统电力事业的长处尽可能的发挥,不断解决电力事业的当前问题,但是在用电监察方面依旧存在着许多难以解决的问题,电力事业的专业人才没有得到很好的利用,管理手段不够科学,这些问题都需要相关工作人员不断努力解决,只有这样才能有效促进用电监察工作的效率,解决用电监察中用户电量数据异常问题,保障我国用户用电的环境。

一、用电监察中用户电量数据异常的原因分析

1、违章用电问题

在我国目前的用电监察工作中,工作人员发现违章用电的情况仍然在加剧,这种违章用电的情况如果不能有效解决,就会成为用电监察工作中安全用电的主要阻碍问题。随着我国经济的不断发展,社会中的诸多企业都有了很大的改善,我国的科学技术水平也随着时代的进步不断提高,在这样的时代背景下,违章用电情况没有得到有效解决,反而呈现多样化的发展趋势,并且违章用电还在一定程度上更新了技术层面的内容。这样的紧张局势对于用电监察工作来说是非常危险的,目前我国的监察队伍整体处于专业化水平不足的现状,在处理用户违章用电的过程中所采取的监察方法不够科学,正因如此,违章用电的情况一直不能从根本上解决,对于我国目前许多隐蔽性比较高的违章用电情况完全找不到合适的解决办法。这样的情况就导致我国的违章用电情况仍在不断加剧,为我国电力企业的发展埋下了隐患,也在一定程度上造成了电力资源的浪费,使得电力事业的发展在无形之中产生了巨大的经济损失。

2、用电监察工作不够完善

我国目前的用电检查工作仍处于发展状态中,安全用电检查的工作不完善是急需要进行研究克服的一个内容。我国目前的用电监察工作应该有效的进行内容形式上的区分,简单可以分为定期的监察工作和专项的监察工作环节,在用电监察工作不同的监察环节中所要涉及的工作重点是不同的。首先依照上文提到的两个内容来进行简要的分析:对于定期的监察工作来说,其主要的工作内容包括对用电客户的基本信息监察工作、对用电企业的设备运行安全状况监察工作、对用电企业的操作电源系统完整性的监察工作以及对电力企业中电气设备的安全性监察等等,而专项的监察工作主要包括营业类的普查工作、用电企业经营的监察工作、用电企业工程的监察工作、用户用电事故性的监察工作和保电监察等环节。但是,我国目前的用电监察工作对于这两方面的分工仍处于起步阶段,不能有针对性地展开这两方面的监察工作,在工作中也缺乏重点。

二、用电监察中用户电量数据异常的改进方式

1、对用电监察工作岗位的规范化

为了促进我国电力企业切实的做好用电监察工作,必须对用电监察工作的岗位进行严格的筛选和要求,并且不断加强岗位的标准。只有不断得亏强调用电监察工作岗位的责任,把握好用电监察工作岗位的权限,才能有效做好用电监察工作。在对用电监察工作岗位进行规范化时,首先要依照我国传统的用电监察工作制度建立起更加完善的工作负责制度,尽可能的将用电监察工作责任细化到个人,并不断完善与岗位要求相对应的奖罚机制,这样就能使得每一位用电监察工作人员可以将自身的工作责任明确,在工作的过程中切实做好自身的本职工作。其次,还要严格贯彻落实我国对用电监察管理工作制定的相关办法规定,并且还要严格按照此规定进行对用电监察工作的完善。在实际的用电监察工作中要根据用电监察工作的周期和工作突发性情况进行针对性地工作。我国的用电监察工作要在实践过程中依法有序进行,对所管辖区域内的客户用电安全和电工进网作业状况等进行有效的监督。

2、加强用电监察工作的技术性确保用户用电数据异常状况的减少

用电监察工作是在我国的电力企业发展中有着非常重要的地位,也是电能营销过程中至关重要的一个工作环节,而我国要想从根本上提高用电监察工作,减少用户用电数据异常状况的发生,就必须提高工作团队的技术性。从我国目前的用户用电数据异常情况来看,违章用电和窃电情况仍旧频繁发生,而且违章用电和窃电行为本身的技术性还在不断提高,这样不仅加大了我国用电监察工作人员的工作量,还提升了工作难度。为了提高我国用电监察的工作效率和工作力度,就需要增强工作团队本身的技术性,以此为发展的根基。并且不断提升用电监察工作的科学性和能动性,对用户用电情况进行良好有效的监察,不断解决工作中存在的问题,对尚未发生的问题进行及时有效的预防。最后,还要在此基础上进一步加强用电监察工作的整体队伍建设程度,依照国际水平不断提高用电监察工作队伍的专业化水平,使得每一位用电监察技术工作人员都有实际的工作能力,从根本上提高用电监察工作的效率,保证我国用电监察工作的质量。

三、总结

我国用户用电数据异常状况一直存在,而且得不到有效的解决,希望通过本文可以对广大工作人员有所帮助,保障我国用电情况的安全,通过不断发展用电监察工作的技术性和科学性来提高用电监察工作的质量。在用电监察工作的过程中提升安全用电的基础,强化用电监察工作团队的技术根本,只有不断增强我国用电监察工作的根本水平,才能有效确保我国电力事业的良好发展。

参考文献

[1]朱雪,刘光明.探讨用电监察在经营管理中的作用[J].电源技术应用.2014(02).

[2]盛守才.在当前形势下做好用电监察工作的思考[J].企业改革与管理.2014(04).

[3]刘国庆,田言林.浅谈用电监察在经营管理中的作用[J].电子制作.2014(01).

[4]廖仁章.用电检查工作中的反窃电重大意义[J].中小企业管理与科技(下旬刊).2010(09).

[5]张照国,张斌.用电监察中的反窃电研究[J].电子制作.2014(02).

基于数据挖掘的异常交易检测方法 篇7

电子商务的蓬勃发展离不开互联网技术的进步,而在众多的互联网技术中,网上支付技术又成为了支撑电子商务的关键技术。2006年,网上支付在我国所有的电子支付交易中所占比例为96%[1]。随着智能终端的普及和运营商网络设施的完善,移动支付作为一种新兴的网上支付方式也有了一定的发展。可以预见,技术的完善和人们消费模式的转变会使得网上支付越来越普及。

另一方面,网上支付所带来的便利性和信用卡用户的不断增加,也为犯罪分子进行金融欺诈等犯罪提供了更多的机会[3]。由于网上支付使得用户的敏感信息越来越多地在公用的互联网上传输和存储,用户账户信息的机密性面临更大的威胁。如2005年美国信用卡信息泄露事件中,约4000万用户账户信息被盗;而2011年索尼PlayStation Network遭受攻击,涉及大约7700万用户隐私泄露,其中有些PSN账号还绑定了信用卡信息。这些因素结合在一起就构成了巨大的金融风险,需要银行等金融机构采取一定的措施来予以控制。

异常交易大致可以分为两类:一类是不满足交易系统对于正常交易的流程、格式等规定的交易,比如重复交易或者被篡改的交易;另一类是满足系统对于正常交易的规定,但其本质具有一定的欺诈特性,比如攻击者利用盗取的合法用户信息进行的交易,或者合法用户进行的恶意透支行为等。

一般来说,根据一个支付系统具体的实现机制,其自身具有能力检测第一种异常交易,并阻止这种交易的执行。第二种异常交易由于其流程和提供的认证信息一般都符合支付系统的规定,因此支付系统自身难以对这类异常交易进行检测。而允许第二种异常交易的执行无疑会给用户和金融机构带来巨大的风险,因此就需要额外的机制来对这种异常交易进行检测。下文中我们所描述的异常交易也主要针对这一类交易。

1 异常交易检测技术

异常交易检测通常基于以下两个假设:一是异常交易与正常交易存在较大的差别;另一个是异常交易在所有交易中所占的比例很小。按照检测原理的不同,异常交易检测技术主要包括:基于统计的方法、基于偏差的方法、基于距离的方法和基于密度的方法。

基于统计的方法首先用某个分布(如正态分布、泊松分布等)对数据点进行建模,然后用不一致检验确定异常。这种方法的局限性在于现实中的数据分布往往不符合任何一种已知的理想分布;另外大多数测试都是针对单个属性的,对于多维数据中的异常检测效果并不理想。

基于偏差的方法通过对一组对象特征进行检查来识别异常数据,与给出的描述偏离的对象就被定义为异常。采用这种方法的技术主要是序列异常技术,模仿人类的思维模式,从一组连续序列中发现与大多数数据不同的元素。

基于距离的方法将孤立的(没有足够多邻居)数据作为异常,比如文献[2]中的Knorr算法规定,与点p的距离小于d的点的个数不超过k,则p是相对于dk的异常。基于距离的方法只能检测出全局的异常数据,不适合具有多种密度的数据集,因此不能很好地检测出局部的异常。

基于密度的方法引入了局部异常因子LOF(Local Outlier Factor)的概念,度量一个对象关于周围邻居的异常程度,能够检测出局部异常的数据。

2 基于数据挖掘的异常交易检测方法

2.1 设计原理

我们认为一个正常用户的消费行为以及操作行为在一段较长的时间内会维持某种固定的特征,而恶意用户,比如窃取了他人信用卡信息的攻击者,一般需要在尽可能短的时间内充分利用非法获取的信息来谋求利益,因此无论在业务层面还是操作层面都会与正常用户的行为存在较大的差异。我们的方法就是结合了业务和操作这两个层面检测消费交易中的异常,以期在提高检测准确率的同时降低对正常交易的误报。

用户的消费行为会受到其工作种类、收入情况、消费习惯、生活环境等因素的影响,呈现出某种模式,虽然由于突发事件或者习惯的改变会出现一定的波动,但是总体来说不会是一种随机的行为[3]。比如,一个中低收入的用户的消费行为可能大多发生在每个月的最后一个星期(可能由于工资发放或者定期的房租等因素),而每笔的交易金额也可能比较小,在这种情况下,如果该用户的账户在一个月的中旬连续出现大额交易就可以被认为是一种异常。

此外,每个人在进行消费时,也会保持一定的操作习惯。比如某些人习惯在消费之前或者之后进行余额查询的操作,某些人在进行消费之前可能会再次确认商品信息等,或者某些用户在使用信用卡消费后会马上进行相应的还款操作等。另外,操作行为还能在一定程度上用来检测交易流程是否符合系统规定,比如在一个支付系统中用户需要向商户请求订单后才会提交支付请求,因此对于用户操作记录的检查就能判断是否符合系统的规定。最后,操作行为检测还能发现某些已知的异常行为,这些异常的行为很少会出现在正常用户的操作记录中,比如连续的登录操作可能代表了口令猜测的攻击。

2.2 设计架构

我们提出的方法对于异常交易的检测主要是通过将当前交易与用户以往交易记录的对比而进行的,主要思路是通过用户当前提交的消费交易以及其近期的操作记录来综合判断用户的交易是否出现了异常。这个方法主要包括两个阶段:部署和检测。部署阶段主要是对用户以往交易和操作情况的分析,以及分类器的学习等过程;而检测阶段则是当检测到一笔消费交易后,启动分类器和序列比对器对该交易进行异常检测的过程,该部分最后会分别给出当前交易在业务层面和操作层面的可信因子,并综合这两个因素判断交易是否出现了异常。我们选择消费交易来触发异常检测功能主要是因为消费交易是一个用户涉及到资金流动的交易中最频繁的交易,相对于其他交易而言也更加重要,而如果对于所有的交易都进行异常检测无疑会导致整个支付系统性能的降低。

在业务层面的异常检测中,我们采用了贝叶斯信念网络BBN(Bayesian Belief Network)来对当前交易进行分类,对于某个用户的每一笔交易,我们选取交易时间、交易位置、交易金额以及商户类型作为特征向量。另外为了便于实现,我们还采用了k-means算法对交易位置和交易金额的取值进行了离散化。在部署阶段,假定数据库中已经保存了每个用户正常的消费交易记录和常见的异常消费交易记录,我们提取每一个用户的消费交易记录以及异常交易记录构建贝叶斯信念网络并对网络进行训练;在检测阶段,当前消费交易的用户ID以及交易的特征值作为输入提交给BBN分类器,分类器根据用户ID查找到相应的网络结构并对当前交易进行分类,最终BBN分类器得到当前交易属于正常交易的概率,这个概率即为当前用户业务层面的可信因子TS。当TS低于某个阈值时,我们就认为当前交易在业务层面出现了异常。

在操作层面的异常检测中,我们采用了BLAST-SSAHA算法,将用户当前的消费操作,以及之前的N-1次操作构造成一个长度为N的操作序列,并将这个序列作为BLAST-SSAHA算法的查询序列,与数据库中用户以往的正常操作序列进行比对,再与数据库中已知异常操作序列进行比对,判断其与这些序列的相似度。为了简便,每一次操作仅由其操作类型代表。最终BLAST-SSAHA算法得到查询序列与正常序列和异常序列的相似度,这两个相似度的差即为当前用户在操作层面的可信因子OS。当OS低于某一阈值时,就认为检测到一段异常操作,该用户在操作层面出现了异常。

最终一笔交易是否异常需要综合考虑TSOS来决定,以上算法及其实现细节我们会在下文中详细介绍。图1展示了我们异常交易检测方法的架构图。

3 业务层面的异常检测

3.1 k-means聚类算法

在我们提出的方法中,k-means算法用来将每笔交易中交易位置和交易金额的取值离散化,以便于贝叶斯信念网络分类器使用。

k-means算法可以根据数据集中样本之间的距离将所有样本划分成k个分类,k的值由用户事先指定。该算法的核心思想是使得所有分类中的点到所属分类中心点的距离之和最小。设p表示某个分类中的一个点,Ci表示第i个分类,mi表示Ci的中心点,函数D(p,m_i)表示点p与点mi之间的距离,这个距离通常使用欧氏距离来计算。则k-means算法将找到一种划分方式,使得平方误差E最小:

E=∑i=1kpciD(p,mi)2 (1)

算法开始时随机选取k个点分别作为每个分类的中心点,然后开始迭代,每一次迭代由以下两步组成:

① 对每个非中心点进行聚类,每个点将被划分到与其距离最近的中心点所代表的分类中。

② 对分好的k个分类重新计算中心点,一般采用计算平均值的方法,选取与平均值距离最近的点作为新的中心点。

当在一次迭代中没有任何一个非中心点所属的分类发生改变,或者达到了预先设定的次数,迭代过程结束。这时,数据集就被划分成了k个分类。

3.2 贝叶斯信念网络分类器

在我们提出的方法中,BBN算法被用来对用户当前消费交易进行分类,计算其属于正常交易的后验概率。

BBN分类算法的原理是在给定一个观测值后,计算当前样本在该观测值的条件下属于每一个分类的后验概率,并选择得到最大后验概率的类别作为当前样本的分类结果,可以看作是对朴素贝叶斯分类算法的改进。

设一个样本S可以由〈F,C〉表示,其中F是一个由n个随机变量构成的特征向量(F1,F2,…,Fn),C是S所属的类别,这样一个样本就可以表示成一个n+1维的向量。一个样本的观测值,就是特征向量F的取值。那么,在出现某一观测值(f1,f2,…,fn)的条件下,当前样本属于分类ci的概率为:

P(C=ci|F1=f1,F2=f2,…,Fn=fn) (2)

对于每种分类,分别计算上述概率,使得结果最大的分类就作为当前样本的分类。而根据贝叶斯定理:

Ρ(C=ci|F1=f1,F2=f2,,Fn=fn)=Ρ(F1=f1,F2=f2,,Fn=fnC=ci)Ρ(F1=f1,F2=f2,,Fn=fn)=Ρ(F1=f1,F2=f2,,Fn=fn|C=ci)Ρ(C=ci)Ρ(F1=f1,F2=f2,,Fn=fn)(3)

在式(3)中,P(F1=f1,F2=f2,…,Fn=fn)是一个常量,因此问题就转化为找出使得P(F1=f1,F2=f2,…,Fn=fn|C=ci)P(C=ci)最大化的ci。其中P(C=ci)可以用训练数据集中属于ci的样本出现的频率来表示,而对于P(F1=f1,F2=f2,…,Fn=fn|C=ci)的计算,朴素贝叶斯算法假定所有特征之间相互独立,因此:

Ρ(F1=f1,F2=f2,,Fn=fn|C=ci)=Πt=1nΡ(Ft=ft|C=ci)(4)

P(Ft=ft|C=ci)可以事先由训练数据集中统计得出,这虽然简化了计算,但是所有特征之间相互独立的假设太强,现实情况中很难满足,因此无法体现出各个特征之间的依赖关系。

贝叶斯信念网络利用随机变量的条件独立性对朴素贝叶斯算法进行了改进。给定三个随机变量X,YZ,当XYZ满足以下等式时,就称XY关于Z条件独立:

P(X|Y,Z)=P(X|Z) (5)

贝叶斯信念网络由两部分组成,第一部分是一个有向无环图G(V,E),其中G的每个点代表特征向量中的一个随机变量;一条从点X到点Y的边表示Y的取值依赖于X,且X称为Y的父节点,Y的所有父节点构成的集合记为parent(Y)。BBN假定每个随机变量在给定了所有父节点后条件独立于其他节点。另一部分是每个随机变量的条件概率表CPT(Conditional Probability Table),CPT给出了相应随机变量关于其所有父节点的条件概率,对于没有父节点的变量,条件概率就退化为先验概率。给定了BBN的网络结构和相应的CPT,则任意一个样本出现的概率可以表示为:

Ρ(F1=f1,F2=f2,,Fn=fn,C=ci)=Ρ(ci|parent(C))Πt=1nΡ(ft|parent(Ft))(6)

这样,对于BBN分类器,能使得以下后验概率最大的分类就是当前样本的分类:

Ρ(C=ci|F1=f1,F2=f2,,Fn=fn)=Ρ(C=ci|parent(C))Πt=1nΡ(Ft=ft|parent(Ft))Ρ(F1=f1,F2=f2,,Fn=fn)(7)

也就是找到使得P(C=ci|parent(C))Πt=1nP(Ft=ft|parent(Ft))最大的ci即可,其中每个随机变量的条件概率可通过查询相应的CPT得到。

通过训练数据构造一个贝叶斯信念网络主要包含两个步骤,一是确定网络结构,也就是各个随机变量之间的依赖关系;二是计算每个随机变量的CPT。网络结构可以由经验给出,也可以通过一定的算法来确定;当不存在隐藏变量的时候,CPT的值可以通过统计训练数据中相应样本出现的频率得到,当存在隐藏变量时,CPT的值可以通过梯度训练或者EM等算法得到。在我们设计的检测方法中,我们假设训练数据中不存在缺失数据,因此CPT的计算就较为简单了,下面我们着重介绍如何确定BBN的网络结构。

确定BBN网络结构可以利用依赖性分析或者全局最优等算法进行,比如文献[4]中提出的STAGE算法就是一种全局最优的算法。在我们的实现中,我们将使用文献[5]中描述的依赖性分析算法来确定BBN网络的结构。

我们使用该算法的简化版本来计算BBN网络的结构:假定所有随机变量的顺序已经确定。所谓随机变量的顺序就是这样一个序列,在这个序列中较晚出现的变量不能先于其之前的变量发生,也不能是其之前变量发生的原因。这个序列是由经验知识给出的。

下面给出几个关键的定义。

定义1 通路 在不考虑有向无环图中各边方向的情况下,如果两个节点之间存在一条连通的路径,就称该路径为这两个节点之间的一条通路。

定义2 碰撞点 在一条通路上,如果有两条边的方向指向同一个节点,则该节点就称为对于该通路的碰撞点。一个节点对于一条通路可能是碰撞点,而对于另一条通路可能是非碰撞点。

定义3 开放通路 当一条通路上不存在碰撞点,就称之为开放通路。

定义4 d分隔 给定有向无环图G中的两个点X,Y,以及一个不包含XY的点集C;如果XY之间不存在这样一条通路P,使得P上所有的碰撞点或者碰撞点的子节点都在C中,而P上其他节点都不在C中,则称给定C,XYG中是d分隔的,C称为一个割集。反之,则称XYd连通的。

定义5 互信息 两个随机变量XY的互信息I(X,Y)反映出一个随机变量能提供的关于另一个随机变量的信息,即两个变量的依赖程度,可由以下公式得到:

Ι(X,Y)=x,yΡ(x,y)logΡ(x,y)Ρ(x)Ρ(y)(8)

定义6 给定点集C,随机变量XY的条件互信息I(X,Y|C)定义为:

Ι(X,Y|C)=x,y,cΡ(x,y,c)logΡ(x,y|c)Ρ(x|c)Ρ(y|c)(9)

I(X,Y|C)小于某一阈值,就可以认为XY关于C条件独立。

给定训练数据集以及特征向量中各随机变量的顺序,依赖性分析算法通过以下三个步骤来确定BBN网络的结构:

① 初始状态下,G(V,E)中仅包含了代表各随机变量的点,E为空集。对任意两个不相同的随机变量XY,计算其互信息I(X,Y),记录所有互信息超过给定阈值ε的随机变量对,并按照其互信息从大到小进行排序,排好序的随机变量对被保存在链表L中。遍历链表L,先从中取出第一对随机变量,在E中添加一条相应的边连接这两个变量,边的方向则由变量的顺序决定,从先出现的变量指向后出现的变量,然后在L中删除该变量对。继续从L中取出下一对随机变量,如果当前这对随机变量之间不存在一条开放通路,则在它们之间添加一条相应的边,并从L中删除这对变量。如此直到遍历完L中所有的随机变量对。这一步结束以后,相对于实际情况而言,G中可能存在缺失的边,也可能存在多余的边,即可能两个相互依赖的变量之间没有边,也可能两个条件独立的变量之间出现了一条边。

② 从头开始遍历L中剩下的变量对,对于每一对随机变量,在当前的G中寻找其最小割集,并计算这对随机变量在给定割集下的条件互信息。如果这两个随机变量关于给定的割集条件独立,则继续遍历L中的下一对变量,否则,在E中添加一条连接这两个变量的边。如此直到遍历完L中所有的随机变量对。这一步结束以后,G中不存在缺失的边,但仍有可能存在多余的边。

③ 对于E中的每一条边e,如果e连接的两个节点除了e之外还有其他的通路,则暂时从E中将e删除,并在G中寻找这两个节点的一个最小割集,如果这两个节点关于割集条件独立,则将e永久删除,否则,将e重新添加到E中。

至此,贝叶斯信念网络的结构就已经确定。关于此算法的证明过程比较复杂,而且超出了本文的讨论范围,因此在这里就不再介绍了。当得出了BBN的网络结构后,每个随机变量的父节点就已经确定,之后就可以通过训练数据计算每个节点的CPT。完成CPT的计算后,我们就得到了一个训练好的BBN分类器。

3.3 特征选取

假定支付系统的数据库中保存了每个用户的消费交易记录,以及常见的异常消费交易记录。对于每条消费记录,我们选取以下四个特征来构成特征向量:

1) 交易时间 当前消费交易的提交时间。

2) 交易位置 提交当前消费交易时用户所在的位置。

3) 交易金额 当前消费涉及的金额。

4) 商户类型 当前消费涉及的商户类型。

这样,一笔消费交易就由一个特征向量和一个分类标签构成的5维向量表示。下面我们解释一下选择这些特征的依据。

首先,由于每个用户消费习惯的不同,交易时间与相应的交易金额会呈现特定的模式[6];而当给定交易时间,交易位置的取值也会存在一定的规律,比如对于一个在异地上学的学生来说,寒暑假时间的交易通常会在家中进行,而其余时间的交易大多应该在学校所在城市进行。随着移动支付技术的发展与普及,交易位置的获取会更加精确,比如移动支付系统的客户端可以通过GPS或基站定位的方式,获取用户在进行交易时所处的位置。而且对于移动支付交易来说,交易位置信息也更加能体现用户的消费习惯,比如移动支付的用户可能会更多的选择在没有计算机或者有线网络的地方使用移动支付系统。同时,交易金额对于反映一个用户的消费习惯也非常重要,因为交易金额一般会受到用户收入、消费理念等因素的影响,而这些因素一般不会轻易改变。比如对于信用卡用户来说,信用额度会被限制在一定的范围内,而且正常用户平时的交易金额一般都会远小于自己总的额度。最后,用户对于品牌的偏好、消费习惯的不同以及生活环境的限制等因素也在一定程度上决定了用户对于商户的选择。比如电子商务还不普及的地区的用户一般会选择与实体卖家进行交易等。此外,给定了交易所涉及的商户,交易金额也会有一定的规律可循,比如销售数码产品的商户与销售食品的商户所涉及的交易金额一般会有较大的不同。综上所述,我们选取了这四个特征,以期较为完整地体现用户的消费习惯。下面介绍一下每个特征的取值。

对于交易时间,为了全面体现用户的习惯,我们将取值范围设定在一年以内,同时为了缩小向量空间和提高算法的效率,我们将交易时间的具体取值进行划分,每个交易时间由三个部分组成。首先是其所在的季度,在我们的方法中一年被平均划分为4个季度;其次是其所在月份的星期编号,我们把一个月划分为4个星期,每个月从1号到21号按照每周7天划分为3个星期,而从22号开始均算作第4个星期;最后是所在日期的属性,每个日期有工作日和周末2种可能的属性。这样交易时间随机变量就一共有4×4×2=32种可能的取值。

对于交易位置,如果是移动支付系统,那么系统可以获取用户比较精确的地理位置;而如果是传统的网上支付系统,则可以用IP地址所属区域等信息表示。我们选取一个参照位置,交易位置的取值用发生消费的地点与参照位置的距离来表示。根据不同的支付系统对于用户位置信息的掌握程度,这个参照位置可能是用户的居住地点、手机号码的归属城市,或者用户常住城市等。对于每个用户的训练数据集,我们使用k-means算法将发生消费的位置与参照位置的距离离散化为4个可能的等级:Local、Near、Remote以及Global,以此作为交易位置的取值。

对于交易金额,与交易位置类似的,对于每个用户的训练数据集,我们同样使用k-means算法将其离散化为3个等级:Low、Medium以及High,以此作为交易金额的取值。

对于商户类型这个特征,主要希望通过它来反映用户当前购买的商品类别。这里不能直接使用商品类别,因为在很多支付系统中,订单信息并不包含商品的详情,即系统可能并不知道用户所买的商品是什么。但要完成支付,支付系统必须了解所涉及的商户编号或者名称等。因此就可以通过商户类型反映商品的种类。在异常交易检测时,将商户划分为:生活品、电器、娱乐、出行、混杂这5种类型。

3.4 部署阶段

在部署阶段,读取数据库中用户的消费记录和常见异常交易记录来构建贝叶斯信念网络。将用户已有的消费记录标记为正常,而将常见的异常交易记录标记为异常。对于每个用户,k-means算法被用来将交易位置和交易金额的取值离散化。

如前文所述,构造BBN网络包括确定网络结构和计算每个变量的CPT。由于网络结构反映的是各随机变量之间的依赖关系,因此为了便于实现,假定对于所有用户的消费交易,其各个随机变量的依赖关系是相同的。这样,我们的依赖性分析算法只要运行一次,针对所有消费交易记录构造一个统一的网络结构就可以了。比如,根据经验知识给定以下的随机变量顺序:分类、交易时间、交易位置、商户类别、交易金额,图2表示了一种可能的依赖关系。

在确定了网络结构以后,就可以分别为每个用户计算各个随机变量的CPT,完成之后,就为每个用户建好了一个结构相同、而CPT的值反映了其自身消费习惯的贝叶斯信念网络。

3.5 检测阶段

当检测到一笔消费交易,就提取该交易的用户ID以及特征向量提交给BBN分类器,分类器根据用户ID查询相应的CPT,并计算当前交易属于正常交易的后验概率。这个后验概率即为该交易业务层面可信因子TS,若TS小于某一阈值,则标记当前交易在业务层面出现异常。

4 操作层面的异常检测

4.1 BLAST-SSAHA算法

操作层面的异常检测我们以用户近期的操作序列作为查询序列,与数据库中保存的该用户正常操作序列记录进行比对,再与常见的异常操作序列进行比对,如果查询序列与正常序列相似度较小而与异常序列相似度较高,就可以认为查询序列出现了异常。可以看出,通过增加查询序列与异常操作序列的比对,降低了由于突发事件或者用户操作模式短时间内改变引起的误报。

使用文献[7]中提出的BLAST-SSAHA算法(或称之为BLAH算法)做序列比对,该算法是BLAST[8]和SSAHA[9]算法的结合。下面给出几个关键的定义。

定义7 k元组 给定一个长度为n的序列S=〈s1,s2,…,sn〉,S中任意连续的k个元素构成S的一个k元组。则S中k元组的个数为n-k+1,每个元组被赋予一定的权重。

定义8 元组偏移 在序列S中,某个k元组开始的位置称为元组偏移。

定义9 序列基数 序列S中每个位置可能的取值个数称为S的序列基数。

用从0到Sequence Base-1的整数来表示S中所有可能出现的元素,若序列基数为ω,一个k元组〈t1,t2,…,tk〉的权重W记为:

W=i=1kω(k-1)×ti(10)

假定数据库D中有若干个序列,SSAHA算法将每一个长度为n的序列划分成n-k+1个k元组,并在内存中生成一张k元组表KT。KT中的每一条记录对应D中的一个k元组,并由以下元素组成:<元组权重,所在序列编号,元组偏移>。其中元组权重用来在KT上建立一个聚类索引,由W的计算可知,对于给定的kω,一共有ωk种权重,每种权重对应一种k元组。而通过所在序列编号和元组偏移就可以确定当前的k元组在D中的位置。

得到KT之后,对于一个查询序列,我们现在就可以通过BLAST算法将其与D中的序列进行比对了。具体过程为:

① 将查询序列也划分为若干个k元组。

② 依次将查询序列中的k元组与KT进行比较,若KT中也存在一个相同的k元组,则称为发生了一次命中,记录下该k元组在D中的位置,即其所在序列编号和元组偏移。若某个k元组在KT中不存在,则称为发生了一次偏离。

③ 利用②中的记录,将D中的序列按照其包含查询序列不同k元组的个数进行排序,可以看出,包含查询序列中不同k元组越多的序列,与查询序列的相似程度就越大。

通过一定的阈值,在D中选取前n个与查询序列最相似的序列。将查询序列与D中序列发生命中的片段双向扩展,进一步比较查询序列与该序列的相似程度,并最终确定与查询序列最为相似的序列。

4.2 序列构成

理论上,用户每一次操作的多种属性都可以用来构成一条序列,并反映出用户的某种固定习惯,比如消费交易中的交易时间、交易金额等。但由于我们在业务层面的异常交易检测中已经对这些主要的属性进行了分析,也为了便于实现,因此在这里只使用用户操作的类型来构成我们的操作序列。

如我们之前所分析的,用户的操作序列记录可以反映出其特有的使用习惯,而且可以用来判断是否出现了某些已知的异常操作以及是否满足系统对于交易流程的规定。根据一个支付系统实现方式、以及所提供的功能的不同,一个用户可以执行的操作可能有不同的类别。如比较常见的有:登录、余额查询、消费、转账、还款等等。因此在我们的方法中不需要对用户可能的操作类别事先进行限定,只要针对需要保护的支付系统进行一定的配置就可以了。

4.3 部署阶段

假设数据库中已经保存了每个用户正常的操作序列的记录,而且保存了已知异常操作序列的记录。对于每个用户的操作序列,可以按照时间划分成多个子序列,比如每条序列代表了用户在一个月内的操作记录。而对于已知异常操作序列,则可以按照异常的不同类型划分成多个子序列。

在部署阶段,我们使用SSAHA算法为异常操作序列构建k元组表AKT,并为每个用户分别构造k元组表NKT。对于k的选择,由于我们的方法主要是针对消费交易进行异常检测,因此k至少应该等于用户完成一次消费交易所需的操作次数。

4.4 检测阶段

在检测阶段,当用户提交一笔消费交易后,我们提取用户ID,并在数据库中查询其之前的N-1次操作,连同当前的消费操作,组成一个长度为N的查询序列,将该查询序列以及用户ID一起作为输入提交给BLAST算法。BLAST算法根据用户ID查找相应的NKT,并与查询序列进行比对。在此,我们对BLAST算法进行一定的简化。定义出现一次命中的得分为δ,出现一次偏离的得分为γ。假定查询序列中出现了L次命中,那么其与用户正常操作序列的相似度HS为:

HS=L×δ-(N-Lγ (11)

然后,我们将查询序列中出现偏离的片段按顺序组合成一条偏离序列,其长度为N-L。将偏离序列与AKT进行比对,假设在比对过程中出现了M次命中,那么类似的,可以得到偏离序列与异常操作序列的相似度DS为:

DS=M×δ-(N-L-Mγ (12)

最终,通过计算HS-DS得到操作层面的可信因子OS。当OS低于某一阈值时,就表示用户在操作层面出现了异常。

5 最终判断

根据TSOS来综合判断当前交易的异常情况,表1列出了我们的判断方法。

首先值得注意的是,业务层面的异常检测是针对当前单笔交易的,而操作层面的异常检测会涉及多次的操作,因此操作层面的异常与当前交易是否异常可能相关也可能不相关。下面简要说明一下我们最终判断异常交易的依据。

对于业务层面和操作层面都正常或者都异常的情况的处理比较简单,只需将相应的交易标记为正常或异常即可。对于业务层面异常但操作层面正常的交易,通过TS+OS的值来决定交易是否异常。这样做的依据是,当一笔交易在业务层面异常时,其TS值较小,但如果当前操作序列与正常操作序列非常吻合(OS较大),那么当前交易很可能是由于用户遇到突发事件或者消费习惯短期改变导致的,这时该交易仍然可能被归为正常交易。可以看出这种方法减小了检测方法的误报率。

对于业务层面正常但操作层面异常的交易,我们认为需要额外的人工审计来决定是否为异常交易。因为导致操作序列异常的操作可能与本次交易相关,也可能与本次交易无关。如果与本次交易相关,则应该认为本次交易异常;否则,就应该认为本次交易正常,但检测到了其他的异常情况。可以看出这种方法减小了检测方法的漏报率。

6 结 语

本文中,我们提出了一种用于银行等金融机构的异常交易检测方法。我们的方法主要针对用户的消费交易进行异常检测,并通过数据挖掘在业务层面和操作层面分别对当前交易进行分析,最终综合考虑业务层面和操作层面的分析结果来决定当前交易是否出现了异常。通过我们的分析可以看出,结合两个层面的分析方法能够更加全面的发现支付系统中的异常情况,有利于降低检测的误报率和漏报率,提高对于异常交易检测的准确性。

在后续的工作中,我们将研究在训练数据集中存在一定异常交易情况下的检测方法,这种训练数据不纯净的情况在现实中经常出现。此外,我们还将研究在没有标准的异常交易记录的情况下,如何对异常交易进行检测。这种情况可能是因为某些异常交易并没有固定的模式,或者标准异常交易记录并不适合与所有用户的正常交易记录一起作为训练集对分类器进行训练。

参考文献

[1] Zhang Yifei. Research on Online Payment Pattern and Security Strategy of E-commerce[J].IEEE Internet Technology and Applications,2010.

[2] Knorr E M, NG R T. Algorithms for Mining Distance-based Outliers in Large Datasets[C]//Proceedings of 24th International Conference on Very Large Data Bases, 1998.

[3]Sherly K K,Nedunchezhian R.BOAT Adaptive Credit Card Fraud De-tection System[C]//IEEE International Conference on ComputationalIntelligence and Computing Research,2010.

[4]Boyan J A.Learning Evaluation Functions for Global Optimization andBoolean Satisfiability[C]//The Association for the Advancement of Ar-tificial Intelligence,1998.

[5]Cheng Jie,David Bell,Liu Weiru.Learning Bayesian Networks fromData:An Efficient Approach Based on Information Theory[C]//Pro-ceedings of ACM CIKM,1997.

[6]Wheat R,Morrison D G.Estimating Purchase Regularity with Two In-terpurchase Times[J].Marketing Research,1990,27(1):87-93.

[7] Amlan Kundu, Suvasini Panigrahi, Shamik Sural, et al. Majumdar. BLAST-SSAHA Hybridization for Credit Card Fraud Detection[J].IEEE Transactions on Dependable and Secure Computing,2009,6(4).

[8] Altschul S F, Gish W, Miller W, et al. Basic local alignment search tool[J].Mol. Biol,1990,215:403-410.

数据库异常检测系统 篇8

“十一五”期间,福州市全面加快综合气象观测站网建设,目前已建成165个乡镇区域自动气象站,气象监测站网初具规模,基本实现区域自动站覆盖到每个乡镇,并成立了信息网络与装备保障中心,负责对全市165个区域自动站的维护与保障,为气象预报服务、应对气候变化以及气象科研提供了有力支撑。

目前,区域自动站在线状态监控预警、数据上传监控等软件已投入业务应用,有效保障了数据的完整性与及时性。但因区域自动气象站传感器(如温湿传感器、气压、雨量、风向风速传感器等)出现故障,造成区域自动站观测数据异常的现象较多,在国内还未见有对区域自动站数据异常监控和审核的系统[1]。因数据异常或错误,区域自动站历史数据的应用存在诸多隐患,应用价值难免要打折扣。在气象防灾减灾服务中,实时数据的真实有效性要依靠人工进行筛选,效率低,并且难免会出现遗漏[2]。

随着福州市经济持续高速的发展,防灾减灾、城市建设、农业、海洋、水利、国土、环保、交通等多个领域对气象资料应用需求日益增强。因此,气象部门要在加强区域气象监测能力建设的同时,进一步加强区域自动气象站观测资料的异常监控和审核[3]。对监控中发现的问题,实现异常数据报警,第一时间查找原因,及时排除故障,对异常数据做出纪录备注,生成异常数据统计报表,以备资料应用时进行过滤处理,提高资料真实可用性。同时,也可以增强市气象信息与装备保障中心及时发现区域自动站故障的能力,提升保障维护响应效率。

2. 福州市区域自动站数据异常监控审核系统功能

自动站数据监控系统功能结构图如图1所示。

根据《福州市自动气象站业务运行管理规定》和实际工作的需求,区域自动站数据异常监控审核系统依托于区域自动站原始数据,系统实现区域自动站数据采集入库后,对自动站数据进行监控及审核,具体功能如下:

(1)制定并判断各气象要素值异常级别;

(2)通过时间与空间比对,甄别区域自动站数据异常状况;

(3)区域自动站数据实时入库;

(4)设计异常数据说明文档;

(5)区域自动站数据备份、恢复、查询、统计。

3. 福州市区域自动站数据异常监控审核系统设计

3.1 系统技术路线

对于福州市气象局而言,区域自动站数据异常监控审核系统有着极其重要的应用,这对系统的稳定性提出了很高的要求。而且单位内原有大量业务数据资源,要求将要建设的数据库系统应具有较好的集成性和可扩展性。

系统采用以下技术路线:

(1)服务器操作系统:Microsoft Windows Server 2008;

(2)客户端环境:Windows XP/Windows 2000操作系统、IE6.0及以上版本;

(3)数据库:Oracle 10;

(4)开发语言:Delphi7.0;

(5)GIS平台采用现有的自动站信息管理系统的GIS平台;

(6)系统架构:数据层、业务逻辑层、表现层分离;

(7)支持组件化开发。

3.2 系统设计方案

本系统通过深入分析福州市自动站的通讯方式和数据格式,从中提取需要的数据,例如报文中的气象要素数据、气温、雨量、风向、风速和报文到达的时间,将这些数据进行整合,使用表格、GIS地图形式直观地在软件中显示出来[4]。本系统实时对站点的健康状态进行评估,假如判定一站点为故障站点,即会发出桌面告警,从而提高了站点故障排查的及时率。如图2所示。

3.3 系统模块

该系统分为4个模块:自动站监控模块、异常数据报警模块、异常数据显示模块、数据库模块。

(1)自动站监控模块

自动站站点位置信息与GIS地理信息系统融合,站点以图标方式在地图中标识,正常、异常、缺测站点以不同颜色图标显示,用户可以直观看出哪个地区的自动站数据异常。本系统采用现有的自动站信息管理系统的GIS平台,提供行政区域图和卫星影像图作为背景图层,对地图进行放大、缩小、漫游操作;并生动地显示各站点的位置、数据传输状态和各气象要素信息。

(2)异常数据报警模块

1)数据缺测报警:有缺测数据时,以图形方式实现报警功能。

2)数据超过阈值监控:设置温度、雨量、风速、气压、相对湿度、能见度的正常值范围,各要素实况数据值超过阈值时,以图形方式实现报警功能。

(3)异常数据显示模块

1)异常数据以列表方式详细显示。

2)区域自动站历史数据异常甄别,选定文件路径后,系统自动将文件审核后的结果以列表方式显示。

(4)数据库模块

采用现有福州市防灾减灾气象服务信息系统中区域自动站数据备份工具,对区域自动站数据进行备份、恢复、查询、统计。

自动站数据监控界面如图3所示。

异常数据列表显示如图4所示。

4. 结束语

本文建立了与现代气象业务体系相配合的福州市区域自动气象站数据异常监控审核系统,改变了以往自动站管理能力差、数据传输半程监控的状况,该系统对区域自动站各类观测资料进行数据传输的全程监控,提高了自动站点的使用效率,为自动站数据顺利传输提供了切实有效的保障手段。系统于2011年1-3月试运行,4月份开始正式运行,目前运行情况良好,自动站报文的传输及时率都可以达到98%以上,基本达到了软件开发的目的。

摘要:以福州市为例,通过建立福州市区域自动站数据异常监控审核系统,对各市县气象局区域自动气象站观测资料进行实时监控,实现区域自动站数据实时入库、异常数据监控及审核,为自动站数据传输提供高保障性。

关键词:自动气象站,实时监控,GIS,数据异常,监控

参考文献

[1]王旭,刘光博,李晓玲.海南省自动气象站监控系统建设[J].气象水文海洋仪器,2010,9(3):133-137.

[2]马渝勇,方国强,刘一谦等.从汶川大地震谈应急气象通信技术[J].气象,2009,35(11):123-130.

[3]刘光博.分布式文件系统在气象业务中的应用初探[J].气象研究与应用,2009,30(1):88-90.

数据库异常检测系统 篇9

关键词:概要数据结构,金字塔时间模型,奇异熵,异常检测

0 引言

检测网络攻击和排除安全威胁事件,对于计算机网络的飞速发展具有重要的意义。计算机网络规模和速度的迅速增加,对网络异常检测算法提出了新的要求,即网络异常检测算法要在无保留状态或者少保留状态下对G比特级的海量网络业务量数据进行实时在线分析。

许多学者对此进行了相关研究,Krishnamurthy等人首次将sketch用于异常检测并提出一种启发式方法自动设置sketch的参数;Schweller等人采用IP地址分块hash和IP扰乱两种方法来解决sketch可溯源性的性能问题;Dewaele等人在sketch的基础上应用非高斯边缘分布的多时间尺度特性,可以多种攻击,包括检测低强度持续时间长的攻击和持续时间短的端口扫描攻击。

国内学者中,文献[1]设计了面向异常发现的网络流量概要数据结构和突发高频事件检测算法,并且提出了基于安全异常检测策略定制的预查询方法来进行多数据流的关联异常检测,但是并未制定明确的检测方法和标准,依赖于检测人员的知识和经验。

文献[2]的基于概要数据结构的网络异常检测方法采用EWMA模型预测每一周期的预测值,计算观测值与预测值之间的差异sketch,然后基于差异sketch建立网络流量变化参考。但是对于sketch数组的确定没有进行深入的研究。

针对上述问题,本文采用金字塔时间模型对高速网络数据流进行分析,并基于奇异熵提取概要数据结构。在此基础上统计一定周期内该数据结构的特征值变化趋势,计算出均值和梯度值,以及相应的报警区间。当告警出现时,该方法能分析出现异常的IP地址,有效地对网络进行异常检测。

1 网络异常检测方法

1.1 金字塔时间模型

本文采用金字塔时间模型对数据流进行描述。该模型将数据排列成金字塔状,既可以实现快速、单遍扫描整个数据流,又可以提取分析数据流的整体特征值。金字塔时间模型的基本元素是k个3维向量(aggi,addi,ti),本文中模型描述的数据流为骨干链路上的网络流,3维向量定义为元素为IP报文,其中aggi是特征值,定义为报文数目,addi是目的IP地址,ti为该IP报文到达的时间。这k个3维向量按时间点划分成logαT+1个互不相交的集合,其中T表示从数据流的起始时刻到系统当前时刻所耗费的时间。这logαT+1个互不相交的集合简称为层。

采用金字塔时间模型维护的聚集序列可以计算(tpast,tnow)时间窗口上的复杂聚集查询的聚集值。当保存的聚集值是COUNT或SUM,则时间窗口(tpast,tnow)上的聚集值近似为aggnowaggs。在制定界限值时,希望获得AVG的聚集值,则时间窗口(tpast,tnow)上的聚集值近似时间窗口(tpast,tnow)上的聚集查询的绝对误差为(aggnow-aggpast)-(aggnow-aggs)=aggs-aggpast。每一层维护的3维向量越多,则时间点就越多,那么时间窗口上的近似查询就越准确。如果内存最多能保存的3维向量的数目为S,则有(αl+1)×33<S。

1.2 Sketch数据结构

Sketch用来记录数据流的概要信息,包括hash计算和sketch数据结构两部分。

1.2.1 最小完美哈希函数

进行hash计算采用的最小完美哈希函数是根据中国古典的余数定理发展出来的演算法,它既能保证占用最少哈希地址数、完全无冲突,同时又能保证在数据增加或减少的时候不需要更换哈希函数。

在实际的最小完美哈希函数的构建过程中,首先需要为数据项目集I中的每一项Ii分配一个质数mi。要求对每个Ii,mi+1>mi。对这组质数显然有mi>i。则构建后的最小完美哈希函数为:

式中d(Ix)表示第一次Ix出现的位址-1。

需要先对子项目集进行分组,并确定第一次出现的位置。其中子项目{A}和{B}第一次出现位置为d(A)=1-1=0,而d(B)=4-1=3。

式中:Mi=m1,m2,…,mn;bi是使得mi能被Mibi-1整除的最小正整数。最小完美哈希函数算法流程图如图1所示。

1.2.2 sketch结构

sketch用一个二维数组S[H][X]进行存储。数组的每一行对应一个hash函数,一行中的所有列表示hash函数进行分类的桶。这个二维数组对应着一个数目相同的计数器数组C[H][X],记录着经过分析的数据流元素的特征值统计量。

从sketch构造的基本原理来看,关键的一步是如何确定二维数组的大小。如果选择的数组阶次过低,建立的sketch包含的信息不完整,不能对网络流量进行准确的反映。数组阶次过高,会增加计算的复杂程度,无法满足在线分析的要求。

数组阶次的确定一般采用试凑法或阈值法,这两种方法依赖使用者的经验,对有效数组阶次的选取缺乏依据,构造的sketch不理想。本文通过网络流量特征值的奇异熵确定有效数组阶次。特征值的奇异熵定义为:

其中:k为奇异熵阶次;ΔRi为阶次i处的奇异熵增量,可通过下式计算得到:

其中:对二维数组S进行奇异值分解得到S=UΛVH,λi是矩阵Λ的主对角线元素。

特征值的奇异熵是信息熵的一种改进形式,能够反映特征值包含信息量的多少。当特征值受到网络噪声干扰,特征值的奇异熵随着阶次升高一直增大。在较低阶次时,在特征值与噪声的共同作用下,奇异熵增长速度较快。当达到一定阶次后,奇异熵增长速度放缓。这时特征值的有效特征信息量已经趋于饱和,之后的增量是由于噪声所致。因此,选择奇异熵达到饱和阶次作为数组阶次,能够保留网络流量信息的同时去除噪声。

建立一个链表结构List来存储每个计数器的key,即每一个计数器对应一个key链表结构,用于网络异常检测过程中查找异常的IP地址。

2 网络异常检测流程

2.1 数据记录

数据记录的流程如图2所示。

(1)按照单遍扫描的方法,建立金字塔时间模型,并计算H个哈希函数值得到H个计数器以及相应的值;

(2)更新计数器和标识的值;

(3)根据奇异熵理论,建立3维的sketch;

(4)计算每个计算器的均值和梯度值:

其中K表示对数据流的观测次数;

(5)建立每个计数器值的置信区间,并设立报警阈值。

每个计数器值的置信区间和报警阈值作为sketch的特征值存储起来,并且根据数据的积累,随时进行更新。

2.2 网络异常检测

本文通过检测到达同一个目的IP地址的报文数目,来发现DDo S等报文数目有急剧变化的攻击行为,其检测流程如图3所示。

(1)对于一定周期的sketch进行分析,得到每个计数器的值。

(2)判断每个计数器的值是否超出均值,如果大于设置的阈值,则说明该计数器异常,并取出该异常计数器所对应的链表结构中存储的IP地址集合;如果未超出阈值,则进入下一步。

(3)判断每个计数器的梯度值是否超出阈值,如果大于设置的阈值,则说明该计数器异常,并取出该异常计数器所对应的链表结构中存储的IP地址集合。

(4)对于既超过均值又超过梯度值阈值的情况,则要进行IP地址集合的合并。

对得到的IP地址集合进行分析,得到受到攻击的主机。对于具体攻击类型的确定,则需要重点检测这些IP地址的报文,与事先已经建立好的脆弱性库进行对比得到。

3 算法性能测试

3.1 测试数据

采用本实验室所搭建的“××网络质量评估”测试平台,对某段骨干网络进行流量监测,时间为2010年8月20日9时到10时40分和2010年8月20日17时到18时40分,每10分钟为一个周期统计IP报文数值进行分析,实验时间为每次10个周期。

3.2 测试结果

计算该数据集的奇异熵,构建12×1014的sketch数据结构。

因为金字塔时间模型可以提取分析数据流的整体特征值,因此,将单独运用金字塔模型描述的网络运行情况与基于sketch的网络异常检测方法得到的结果进行对比。2010年8月20日9时到10时40分这段时间内网络正常运行,基于sketch的网络异常检测方法得到的各计算器的值与金字塔模型反映的网络运行情况保持一致,如图4所示。对两条曲线进行相关分析,得到相关系数为0.867,表明基于sketch的网络异常检测方法在网络正常运行的情况下与需要复杂计算的整体数据流保持一致。

基于sketch的异常检测方法的优点在于能够发现淹没在快速消逝的数据流中的攻击威胁。在整个周期内,通过金字塔时间模型得到的网络流量整体上变化平稳,看不出异常状况。而采用基于sketch的异常检测方法发现:在2010年8月20日17时40分到18时20分这段时间周期内,包括S(2,3)在内的15个计数器均值越过的警告线,且包括S(2,3)在内的26个计数器的梯度值也超出了置信区间,图5显示了S(2,3)计数器特征值和梯度值变化情况。这种突增反映了网络中的流量异常,对Key进行分析,即可得到疑似受到攻击的IP地址。在此基础上,对于报文信息和连接情况进一步分析,可以得到更加准确的攻击信息。

4 结论

本文基于奇异熵建立了能够反映网络运行情况的sketch,对按照金字塔时间模型分布的数据流进行分析,得到sketch特征值的均值和梯度值,完善了基于sketch的网络异常检测方法,该方法能够检测DDOS、扫描等多种攻击行为,并且能定位出可疑的IP地址,节省检测开支。通过与金字塔模型进行对比,验证了该方法在准确反映网络的实际运行情况的基础上,能够检测出被高速数据流淹没的攻击威胁。

参考文献

[1]杨平,王平.计算机研究与发展.各类参考文献的著录格式及示例.2004(1):88-89.http://www.cajcd.edc.cn/pub/wml.txt/980810-2.html.

数据库异常检测系统 篇10

用电信息采集系统通过对电力用户的用电信息的采集,并对采集的信息进行处理,同时对整个数据进行实时在线监控,从而更好地分析和管理电力客户的用电行为,尤其是在计量是否异常、电能质量高低的监测方面具有十分重要的效果,而这些功能在促进电网智能化的过程中发挥了巨大的作用。常见的用电信息采集系统一般由三部分组成,一是采集设备 ;二是通信信道 ;三是主站。该系统的基本建设目标是要求实现“全覆盖、全采集”,系统建设要求必须覆盖全部电力用户,保证用户用电过程的各类信息全面采集,还需要采集电力用户各时段电能示值、电压、电流、功率、功率因数、剩余电量电费等数据项值,系统对大用户的数据采集要求是每隔15分钟采集一次,居民用户则要求要低一些,至少采集每日日末冻结数据即可,每日采集的数据数量非常巨大。一旦系统建成,就能利用其对用户的电表运行的情况进行分析。

2 电能计量数据异常原因及对策

通过上述分析,对用户用电信息采集系统有了一定的认识,在利用用户用电信息采集系统对电能计量数据分析时,经常出现这样或那样的情况导致其数据异常,具体而言,导致电能计量数据异常的原因主要有以下几个方面。

2.1计量装置自身存在故障导致数据异常

在利用用户用电信息采集系统分析电能计量数据时,很多时候数据的异常与计量装置自身存在的故障有着紧密的联系。因而为了更好地确保计量数据的正常,就必须分析导致其异常的原因,具体而言,主要有表计、互感器和接线盒以及终端等方面的故障。

一是从表计故障来看,此类故障在电表运行中经常出现,且出现的故障较多,所以在排障之前必须对其故障的来源进行分析,一般而言,其故障来源主要有以下几种 :①电池故障,电池短路、电池电量低或无电量 ;②计度器发生故障 ;③黑屏、死机 ;④存储器损坏或发生故障 ;⑤内部程序发生错误 ;⑥电子元器件老化。因此这些故障的排除必须在排障过程中仔细地检查,才能确保各种故障得到及时的排除。

二是从互感器的故障来看,此类故障虽然没有表计故障发生的频率高,但是其故障的类型较多,因而同样应加强对其故障原因的分析,主要有以下几种 :①互感器受潮 ;②互感器的电晕存在局部或完全放电 ;③二次开路 ;④铁磁谐振 ;⑤接线错误 ;⑥励磁特性不同 ;⑦熔丝熔断烧毁。

三是从接线盒的故障来看,主要有以下几种 :①接线端子的螺丝松动 ;②线路超负荷运行导致接线端子过热而出现接头松动和出现火花的情况 ;③使用时间长,连接片被氧化而降低其可接触性 ;④接线端子安装不到位,例如螺丝没有扭紧、虚接、未接。这一故障必须引起高度重视,因而这些故障出现的原因都是能有效避免的,否则将会导致计量数据出现异常的情况。

四是终端故障,这里的终端故障并非指电能表自身,而是电能表的电源终端、通讯终端等。而这些终端虽然一般不会发生故障,但是也有发生故障的可能,所以在排障过程中应考虑这些故障带来的以共享,才能更好地确保采集数据的精准性。

3 电能计量数据异常的类型

在利用用户用电信息采集系统分析电能计量数据时,有时会存在数据异常的情况。就异常数据自身而言,其类型主要有坏数据和畸变数据之分。鉴于日常处理中难以分清,以下笔者就此进行简要说明。所谓坏数据,主要是因为这样或那样的故障与失误形成,因而在超过合理范围时,必须在管理过程中采取电量退补的方式进行修正。而畸变数据主要是因为各种事故导致电量出现的波动,所以加强对事故信息的分析,才能更好地处理畸变数据。

4 智能电网背景下电量数据的特点分析

随着用户用电信息采集系统的不断应用和智能计量装置的应用,电网智能化已成为目前的发展趋势,因而在智能电网背景下的电量数据特点也会发生较大的变化。具体而言,主要具有以下特点 :

一是电量数据量日益增加,随着电网智能化水平的不断提升,我国工业事业的快速发展,用电量自身就在不断的上升,而在用户用电信息采集系统的辅助下,各级电力部门的电量数据最终汇集到用户用电信息采集系统,使得系统处理的数据量正在不断的上升。

二是数据传输与处理速度快速升高,随着用户用电信息采集系统的不断健全和发展,为了更好地应对日益增加的电量数据,加强现代计算机技术和人工智能技术的应用已经势在必行,而这就能有效的促进数据传输速度的加快,同时也能提高数据的处理能力,例如利用光纤传输数据,就能提高传输速度,利用固态硬盘存储数据,就能加快数据的读取速度,并在人工智能技术的辅助下促进处理成效的提升。

三是数据粒度降低,管理更精密。目前,多数电量采集终端存储电能表数据的采集间隔时间为15 min,在采集终端参数设置中最小采集间隔时间是1 min。在计量点,电量数据采集呈现在线流数据特征,这种在线的流数据挖掘同传统数据挖掘技术有本质的不同。流数据挖掘技术的使用使得电量数据的分析和管理更加精细。

四是电能计量数据的分布式和空间特征得以充分应用。随着地理信息系统和数据挖掘技术的发展,人们研究开发了多种分布式异常数据挖掘算法,也出现了商业化的平台。利用其进行电网空间数据建模,结合电网拓扑结构细节,能够直观地分析电能计量数据的空间特征。

5 结语

数据库异常检测系统 篇11

关键词:电压异常分析;故障录波联网系统;EMS系统

Abstract: The use of power fault recording data in abnormal voltage analysis of 220kV system fault free situation is introduced in this paper. This method overcomes the disadvantage of EMS in analyzing abnormal voltage. By analyzing abnormal voltage of 220kV power grid in Heze when the 220kV system is fault free, the use of power fault recording data is introduced and an accurate conclusion is drawn. And finally, the effectiveness and application of this new method is summarized and proved.

Key words: abnormal voltage; fault recording data; EMS

中图分类号: TM933 文献标识码:A 文章编号:1674-098X(2016)07(b)-0000-00

0 引言

220kV母线电压合格率是反映主网电能质量的关键指标之一,GB/T 12325-2008《电能质量 供电电压偏差》中规定,35kV及以上供电电压正、负偏差的绝对值之和不超过标称电压的10%,国网山东省电力公司规定220kV母线电压合格范围97%Un-107%Un(213.4kV-235.4kV),且日波动率不得大于5%Un(11kV)。母线电压越限或波动率越限后,常规的分析方法是利用调度EMS系统调取相关数据进行电压异常原因分析。受采样周期、故障行波传播和变电站对时系统不同步的影响,EMS系统并不能为电压异常分析提供充足的、精确度高的数据,不利于电压异常分析、原因查找和针对性措施的制定。利用故障录波联网系统对数据产生时刻的精确记录(精确到ms级)和多元分析界面,能够追踪到电压异常发生时刻及前后网内出现的异常情况,进而展开分析,找出电压异常的根本原因。

1常见的220kV电压异常原因

1.1系统电压调整不及时、AVC系统运行异常;

1.2 电网故障;

1.3电网检修或事故方式下,系统调压手段不足;

1.4量测异常。

2故障录波系统在电压异常分析中的案例

2.1电压异常描述及原因初判

2015年8月22日19:13,EMS系统显示开发站各电压等级母线电压均发生跃变,1min内220kV母线电压骤降10kV以上,之后迅速恢复。

查阅同时间段EMS系统电压曲线,显示网内其他220kV变电站母线电压均无异常。由于电压跃变时济宁、菏泽电网均无220kV系统故障,且220kV开发变电站站内设备及各出线均无故障发生,进而排除了电网故障引起本次电压异常的可能性。之后调取自动化系统报文进行解码分析,发现现场传送至调度端的报文即为异常电压,排除了调度自动化主站系统异常的可能性。

基于EMS系统的电压异常分析认为本次电压异常仅发生在220kV开发变电站,并且排除了电网故障、调度自动化主站系统异常引起电压跃变的可能性,最初仅能将异常原因归因为测控装置异常。

2.2基于故障录波的电压异常原因分析

在用故障录波联网系统检查分析时发现,同一时刻,多个220kV厂站的220kV故障录波器同时启动,均记录了故障表征类似的扰动信息,对基于EMS系统进行分析所得到的结论产生怀疑。通过再次在全网层面查询故障录波系统纪录的跳闸信息,怀疑导致本次电压跃变的原因系网内其他220kV供电区220kV以下电压等级线路故障所致,并锁定为220kV新兴站110kV新龙线短路故障。以下是具体分析过程:

19时13分05秒110kV新龙线发生BC相相间短路,距离Ⅰ段保护动作,最大故障相电流达5.654kA,约60ms后线路掉闸,故障切除,故障相别BC相,故障测距9.07km。

故障期间,网内多站220kV母线电压均有不同程度的降低,其中新兴站下降最为严重,线电压最低约200.9kV(由录波中的相电压换算得到),同时开发站220kV母线电压发生跃变,线电压最低约221.5kV。

2.3传统电压异常分析方法的弊端

由于各个变电站测控装置尚未实现精确至秒级的系统对时,存在一定误差,而电压采样又有固定周期,因此最终EMS系统仅反应出110kV新龙线第一次故障时开发站220kV母线电压的跃变,在很大程度上影响了专业人员对电压异常原因的分析和判断,易将异常原因简单、错误地归结为测控装置异常,进而花费大量精力检查测控装置及程序。

3方法应用及校验

3.1故障录波联网系统在电压异常原因分析中的应用

根据本次发现,对本年度6月19日EMS系统18:51分显示蔡庄站220kV母线电压跃变的情况进行分析。采用同样的流程方法进行了原因分析经检查分析,确定导致本次电压跃变的原因系网内220kV曹城站110kV配出线路曹青线发生短路故障所致,具体描述如下:

18时50分46秒110kV曹青线发生C相接地短路,零序Ⅰ段、距离Ⅰ段保护动作,最大故障相电流达4.685kA,约60ms后线路掉闸,故障切除。

故障期间,网内多个厂站220kV母线电压发生了不同程度的降低,其中曹城站下降最为严重,线电压最低约205.3kV(由录波中相电压换算得到)。

同时蔡庄站220kV母线电压发生跃变,线电压最低约216.7kV;电气距离较远的章缝站也受到影响,220kV母线电压发生跃变,线电压最低约225.9kV。

3.2利用cobase系统仿真电压异常发生过程

用cobase系统对故障进行了仿真,模拟110kV新龙线在距离新兴站9.07km处BC相相间短路,监测到故障时刻周边220kV厂站母线电压均发生对应变化,分布图如下:

模拟110kV曹青线距离曹城站3.6km处A相接地故障,监测到故障时刻周边220kV厂站母线电压均发生对应变化,分布图如下:

图2.110kV曹青线故障时周边厂站220kV母线电压

基于cobase系统对两次故障的仿真结果均与故障录波联网系统采集到的电压跃变情况吻合。

4 结语

将故障录波联网系统数据应用到220kV电网无故障情况下的系统电压异常分析,利用故障录波装置启动及采样灵敏度高的特点,对电压异常原因进行分析和排查,突破了以往分析主网电压异常分析受限于EMS系统采样精度低、对时不准确的限制,使分析更加准确、可靠,便于针对实际异常原因采取相应措施。

【作者简介】

1. 游大宁,(1977-),男,高级工程师,研究方向为电网调度运行;

2. 甄颖,(1989-),女,工程师,从事电网运行分析工作。

3. 吴衍达,(1988-),男,工程师,从事电力系统运行分析工作。

4.乔朋利,(1984-),女,工程师,从事电力系统继电保护工作。

数据库异常检测系统 篇12

目前, IPv6网络已经逐步走向实际商用, 正在快速普及和发展[1]。虽然IPv6网络在一定程度上改善了安全问题, 但是仍然存在脆弱性与技术漏洞, 新型攻击事件不断出现, 信息安全问题日益突出[2]。如何保证IPv6网络信息安全已经成为当前十分紧迫的任务。

入侵检测 (Intrusion Detection) 是用于检测任何损害或企图损害系统的保密性、完整性或可用性行为的一种网络主动防御的核心技术。从技术上, 入侵检测分为误用检测 (Misused Detection) 和异常检测 (Anomaly Detection) 。由于IPv6网络中传输的数据格式具有新特点, 网络中的数据流量以惊人的速度剧增, 传统基于特征的误用检测系统难以胜任IPv6网络环境, 无法准确、及时检测针对IPv6网络的攻击事件, 检测性能不高[3]。因此, 支持IPv6网络的入侵检测技术研究具有十分重要的理论指导意义和实际应用价值, 已经列入国家“十二五”规划下一代互联网信息安全专项中的一项支持重点, 成为当前我国信息安全领域研究的热点之一。

研究表明, 异常检测技术通用性强, 可以动态检测新型未知攻击[4]。为此, 本文根据异常数据包与正常数据包的差异显著特点, 采用异常检测技术, 借鉴数据挖掘的技术思路, 从IPv6网络数据中提取网络行为模式, 合理设置阈值, 保证入侵检测自适应性与准确性。

1、传统入侵检测的主要问题

入侵检测是继防火墙之后的第二道安全防线, 发挥着主动的防御作用。然而, IPv6网络不是对传统网络的简单升级, 网络中传输的数据报文有其自身的格式, 导致目前已有入侵检测技术未能适应IPv6网络高带宽环境, 难以有效分析报文内容, 已经暴露了以下主要问题。

1.1 不支持IPv6协议

由于IPv6网络引入了IPSec等一系列安全协议与技术, 传输的数据报文结构格式不同于IPv4协议, 传统基于IPv4协议的入侵检测系统不支持IPv6协议, 无法有效分析IPv6数据报文内容。IPv6协议本身支持加密和认证的特点, 也极大地增加了入侵检测系统监听网络数据内容的难度。因而, 支持IPv6协议是当前入侵检测系统亟需达到的首要目标。

1.2 难以检测未知的新型攻击

目前基于特征的误用检测通常根据攻击特征规则库进行入侵分析、判决, 而这个规则库是通过收集已知的攻击行为、系统脆弱性信息而提炼形成, 这对于检测新型的攻击就显得无能为力。因此, 入侵检测亟需引入一种通用的检测技术思路与机制, 及时检测IPv6网络环境中未知的新型攻击。

1.3 漏报和误报问题突出

IPv6网速是IPv4网速的1000倍以上, 网上传输的海量数据剧增。这种情况下, 入侵检测分析计算量非常庞大, 使传统入侵系统的数据处理和分析力不从心, 造成漏报率和误报率居高不下, 已经影响检测系统的准确性和有效性。显然, 降低漏报和误报是IPv6网络高带宽环境异常检测尤需解决性能瓶颈问题。

2、相关研究

入侵检测可以视为一个分类问题, 即对给定的审计数据进行分类:正常数据和异常数据。同时, 网络中异常数据包与正常数据包的差异较大, 正常数据包的数量远远多于异常数据包。

Co Iumbia University的Wenke Lee较早提出了将数据挖掘 (Data Mining) 技术应用到入侵检测领域中, 从海量的审计数据或数据流中, 发掘出事先未知并感兴趣的有用知识[5], 并将提取的知识表示为概念、规则、规律、模式等形式, 用这些知识去检测异常入侵和未知入侵。同时, 清华大学用数据挖掘方法建立协同入侵检测框架;胡华平教授提出了使用数据融合技术和数据挖掘技术的入侵检测和报警系统框架[6];胡敏等人对基于数据挖掘技术的入侵检测技术进行了探讨[7]。

以上, 国内外学者将数据挖掘技术应用于入侵检测做了大量工作, 取得了显著效果, 但是这些研究绝大部分都是基于IPv4协议, 相关技术不能完全满足IPv6网络传输的需求。为此, 本文对IPv6网络中基于数据挖掘的异常检测系统进行研究。

3、基于数据挖掘的IPv6异常检测

异常检测试图用定量方式描述可接受的行为特征, 以区分正常行为和潜在的入侵行为。异常检测的前提在于正常行为模式库的建立。数据挖掘本身是一项通用的知识发现技术, 其目的是要从海量数据中提取出我们所感兴趣的知识。由此基于数据挖掘的IPv6异常检测, 在假设网络中异常行为与正常行为有比较显著差别的前提下, 引入数据挖掘技术, 将IPv6网络数据集划分为不同的类别, 识别出正常和异常行为, 挖掘网络行为模式, 以此进行检测入侵。

基于数据挖掘的IPv6异常检测系统主要由四个部件组成:聚类分析器、数据采集器、预处理器、异常检测引擎和响应中心。异常检测工作过程分为两个阶段:网络正常模式库构建和异常检测。

3.1 网络正常模式库构建

异常检测的关键问题在于正常行为模式的提取与模式库的建立。正常行为模式库是异常检测分析引擎进行入侵判决的依据, 其模式提取的准确性与入侵检测判决结果息息相关。

如图1所示, 在网络正常行为模式库构建阶段, 根据数据挖掘的原理, 从已知的正常审计数据和入侵审计数据数据集中挑选有代表性、对入侵检测系统影响较大的属性 (源IP地址、目的IP地址、端口号等) , 提取特征或特征变换;然后, 标注数据子集, 产生一个健壮的聚类分析器, 据此按时间序列对剩余的数据分类, 区分正常和异常行为, 提取正常行为模式, 形成模式规则, 实时添加到网络正常行为模式库, 作为异常检测的判决依据。

3.2 异常检测

在异常检测阶段, 主要有以下几个步骤: (1) 数据采集器从高速地址翻译算法入手, 挖掘网卡的硬件性能, 快速采集IPv6网络数据, 包括系统、网络、用户活动的状态和行为, 这些数据是入侵检测的第一手资料。 (2) 预处理器根据预先设置的过滤规则, 过滤掉噪声数据, 剔除相关错误, 接着对数据进行二进制的日志格式归一化处理, 提炼重要的敏感数据。这样既不漏过重要的攻击事件, 也不出现大量冗余的无用记录, 使进入协议分析部件的数据得到有效精简, 从而在一定程度上减轻IPv6协议分析和入侵引擎的工作量。 (3) 聚类分析器对经过预处理的数据进行聚类分析, 自动提取网络当前行为模式, 并提交异常检测引擎。 (4) 异常检测引擎是整个异常测系统功能的核心, 在保证准确性的前提下, 高效性是衡量分析引擎性能的关键指标。通过引入相似度 (Simi Iarity) 概念, 计算网络正常行为模式和当前模式的相似度, 结合预先设定的阈值进行比较, 快速判定当前用户是否入侵, 一旦发现入侵, 马上报告响应中心, 由响应中心来决定应对措施。

4、实验结果与分析

为了测试异常检测系统的可行性和效率, 开发了基于IPv6异常检测的原型系统ADSv6 (Anomaly Detection System for IPv6, 简称ADSv6) , 进行仿真实验测试, 并与Snort 2.8.0入侵检测系统进行比较, 其检测结果如表1所示。入侵检测相关的 (下转第45页) 统计量定义如下:检测率为被检测出的入侵样本占入侵样本总数的百分比;误报率为正常样本被识别为入侵样本数目占正常样本总数的百分比。实验测试表明, 原型系统ADSv6能够有效地检测出各种IPv6攻击或异常行为, 检测率高于Snort系统, 而误报率明显更低。

5、结束语

保障IPv6网络信息安全已经成为当前十分紧迫的任务。基于数据采掘的异常检测方法优点是可适应处理大量数据的情况, 将数据挖掘技术应用于入侵检测系统已经成为了一个重要的研究方向。本文针对传统基于IPv4协议的入侵检测系统难以适应IPv6网络的问题, 在假设网络中异常行为与正常行为有比较显著差别的前提下, 借鉴数据挖掘方法, 构建IPv6网络异常检测原型系统, 支持IPv6协议, 自动挖掘网络行为模式, 保证异常检测的自适应性。实验结果表明, 原型系统适应IPv6环境, 可有效检测出各种攻击或异常行为, 有助提高入侵检测性能。

摘要:保障IPv6网络安全已经成为当前十分紧迫的任务。针对传统基于IPv4协议的入侵检测系统难以适应IPv6网络高带宽环境问题, 借鉴数据挖掘方法, 构建IPv6网络异常检测原型系统, 支持IPv6协议, 自动挖掘网络行为模式, 保证异常检测的自适应性。实验结果表明, 该原型系统基本适应IPv6环境, 可有效检测出各种攻击或异常行为。

关键词:IPv6网络,异常检测,数据挖掘

参考文献

[1]吴建平, 林嵩, 徐恪, 等.可演进的新一代互联网体系结构研究进展[J].计算机学报, 2012, 35 (6) :1094-1108.

[2]Jun C, Xiaowei C.Intrusion Detection System Research Based on Data Mining for IPv6[C]//Information Technology and Applications (IFITA) , 2010 International Forum on.IEEE, 2010, 1:384-388.

[3]纪祥敏, 陈秋妹, 景林.面向下一代互联网的异常检测模型研究[J].福建电脑, 2013 (1) :7-10.

[4]Altaher A, Ramadass S, Almomani A.Real time network anomaly detection using relative entropy[C]//High Capacity Optical Networks and Enabling Technologies (HONET) , 2011.IEEE, 2011:258-260.

[5]Lee W, Stolfo S J, Mok K W.A data mining framework for building intrusion detection models[C]//Security and Privacy, 1999.Proceedings of the 1999 IEEE Symposium on.IEEE, 1999:120-132.

[6]胡华平, 张怡, 陈海涛等, 面向大规模网络的入侵检测与预警系统研究[J].国防科技大学学报, 2003, 25 (1) , 21-25

上一篇:水平棚架栽培下一篇:档案馆智能化建设研究