一种数据归一化方法

文档序号:6615785阅读:350来源:国知局

专利名称::一种数据归一化方法
技术领域
:本发明涉及安全信息管理,特别涉及一种数据归一化方法。
背景技术
:为了应对企业内、外部的安全挑战,企业先后部署了大量的安全系统,但却往往形成各个防御孤岛一系统间缺乏协同,由此,各种安全系统产生了大量告警,出现信息过载,造成很多误报和漏报。此外,企业还面临着不断增长的内控和信息系统审计的压力,要求增强业务持续性的呼声不断提高。所有这些都在呼唤面向全网的安全信息集中管理平台的出现,这就是安全信息管理(SecurityInformationManager,SIM)。安全信息管理也叫安全信息和事件管理(SecurityInformationandEventManager,SIEM),这是一个面向企业IT计算环境的安全集中管理平台,该平台能够收集来自企业计算环境中的各种设备、应用的安全日志和事件,并进行集中存储、监控、分析、报警、响应和报告,变过去被动的单点防御为全网的综合防雄卩。目前,SIM正被广泛应用于企业内部的威胁管理、合规审计、日志管理、安全审计及应急响应等方面。目前普遍采用基于插件开发的形式进行数据归一化。插件是计算机软件中的一种特殊程序,其实现独立的功能逻辑,通过统一的程序接口与主程序交互,从而扩充主程序的功能,其不能单独执行,必须依赖于主程序环境方可运行。通过自定义的接口,插件能够自由访问主程序中的各种资源,编程自由度极大,可以无限发挥插件开发者的创意,但编写相对复杂,对于插件接口之间的协调比较困难,插件的开发需要专业的程序员才能进行。插件开发一般需要通过专业的开发工具(如VB,VC等)。插件的存在形式为经过代码编译产生的二进制文件。每当有一种新的数据需要归一化时,总是新开发一个插件对这种数据进行特定的处理。但是,基于插件开发的数据归一化方案,开发周期长,调试困难,维护成本高,难于适应环境变化,难于随环境需要提供方便快捷的解决方案,客户化程度低。
发明内容本发明的目的在于,提供一种数据归一化方法,解决数据归一化开发调试困难,成本高,客户化程度低,不容易适应环境变化等需求问题。本发明的数据归一化方法,包括下列步骤通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。其中,所述数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一格式。其中,所述数据格式化包括如下步骤步骤al:对特定含义的信息元的数据进行处理,获得统一的数据表现形式;步骤a2:数据填充,将经过步骤al处理后的数据填充到相应语义的归一化数据字段中。在所述步骤al之前,进一步包括如下步骤对数据进行预处理,将原始数据解析为独立的有特定含义的信息元。其中,在所述步骤al中,对信息元的数据进行处理,将相同类型的数据处理为统一的格式。在所述步骤a2中,将所述数据填充到相应语义的归一化数据字段中,包括对数据的匹配、解析、分拆、组合、编排格式的数据处理方法。所述数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。本发明的有益效果是依照本发明的数据归一化方法,通过数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一的样子;通过数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。由于整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。图1为基于文件配置的数据归一化系统。具体实施例方式以下,参考附图1详细描述本发明的数据归一化方法。本发明的核心思想是通过编写脚本(Script)来描述数据归一化的过程,并将过程定义为数据格式化和数据映射两个部分。这两部分的过程分别由数据格式化脚本文件和数据映射脚本文件来描述,两者皆为文本文件。实际上,脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(JavaScript,VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。脚本同平时^f吏用的VB、C语言的区别主要是脚本语法比较简单,比较容易掌握;脚本与应用程序密切相关,所以包括相对应用程序自身的功能;脚本一般不具备通用性,所能处理的问题范围有限。其中,数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一的样子;数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。由于整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。数据格式化脚本以文本的方式描述了数据的格式化过程。一、数据格式化过程包括如下步骤步骤11:数据预处理,将原始数据解析为独立的信息元(有特定含义的数据单元),该步骤可缺省;步骤12:数据处理,对信息元的数据进行处理,最终获得统一的数据表现形式;步骤13:数据填充,将经过步骤12处理后的数据填充到相应语义的归一化数据字段中。整个数据填充处理过程中包括对数据的匹配、解析、分拆、组合、编排;〖各式等复杂的数据处理方法。其中,在步骤11中,数据预处理是根据将原始数据解析为信息元,即有特定含义的数据单元,信息元的划分一般与归一化事件字段有关。例如根据不同的解析程度要求对如下日志进行解析CISCO交换机UDP日志<39>233159:*Mar2604:04:10:UDP:rcvd<table>tableseeoriginaldocumentpage6</column></row><table>其中,在步骤12中,数据处理是对信息元的数据进行处理,将相同类型的数据处理为统一的格式。例如时间可以有非常多的表现形式,如"Dec311:00:002007","2007-12-311:00:00"或"MonDec311:00:00CST2007"等,它们表示的都是同一个时间,但表现形式上有差別。计算机无法自动的认知这些差别,所以为了后续的数据表现及数据处理,需要对时间进行格式化,统一其表现形式。除时间外,还有MAC地址,IP地址等需要格式化的数据类型。除了格式上的统一外,还需要对数值型数据的度量进行统一,如文件或空间的大小,可能用兆字节mb、千字节kb或字节byte等任意一个度量做单位,单位的不同会造成数据的巨大差异,因此也需要对数值型的数据进行度量统一。此外,在步骤13中,数据填充是将经过数据处理的信息元填充到相应语义的归一化数据字段中。通过正确分析原始数据的整体语义,正确的理解信息元的含义。例如,即使都是IP地址,但根据语义不同可以区分为源IP地址和目的IP地址,根据语义可以知道数据是谁发出的等,在确定语义后,将信息元分别填充到归一化事件相对应得字段中。现有的数据格式化技术会面临如下问题1、设备/应用类型繁多。现实生活中不同的用户拥有不同类型的设备和应用(设备如交换机、路由器、防火墙、IDS、VPN等,应用如WEB服务器、FTP服务器、邮件服务器、数据库等),这些设备和应用会产生不同的数据,另外由于没有统一的标准,即使相同类型的设备和应用因为生产厂家的不同也会产生不同的数据,有的用一定格式的自然语言描述,有的可能用名值对(格式名字=值)的形式描述,不一而足(如上面例子中的cisco的交换机和防火墙,同样描述的都是UDP协议的数据日志,但描述上存在着很大差异,同一个厂商的产品无法做到数据一致)要做到对如此众多的设备/应用进行数据的分析整理,难度可想而知。2、数据内容丰富。单就某种具体的设备或应用来讲,内容就已经很丰富。如上面例子多合出的cisco的交才灸才几日志分为了udp和iparp,cisco的pix防火墙分为了upd和tcp。这些日志在描述上都有差别。实际上这两种设备的内容远比这些要丰富,交换机还提供其它协议日志,调试日志等,pix防火墙更有超过300种的日志描述格式。3、版本差异。相同的设备可能会因为版本的不同数据的描述会发生变化。4、数据资料获取困难。有些设备/应用受自身产品发展的限制,对于产生的数据没有详细的说明文档或根本没有文档。有些设备/应用有文档但很难获取到。对于这样的数据,只能用采样的方式,获取它们的部分样本数据,然后对样本数据进行分析处理。这样的方法存在局限性,采样过程无法保障采样的合理性与全面性,而真正要做到全面采样的时间与人力成本太高,且没有标准。那么在此基础上进行的数据分析就会存在极大的不准确性,因为采样的不全面而造成错误的理解数据时有发生。5、数据格式配置灵活。对于有些设备/应用,它们的数据内容配置灵活,可以配置产生数据的格式及内容,如cisco的交换机,它可以配置数据中时间的格式。微软的IIS服务器,可以配置产生日志中包括哪些内容的信息。6、用户的需求。对于设备/应用产生的数据,有时用户有明确的需求,他们只关心某类数据,如只关心系统的登陆信息。那么针对明确的需求,其它类型的数据信息就可以被忽略,在处理过程中就可以去掉不必要的性能消耗,提高系统的整体性能。要解决以上的问题,必须做到拥有良好的可扩展性、易用性、可维护性,并且能够很好的适应变化,方便修改,用户可定制。插件技术拥有一定的可扩展性,但易用性及可维护性相对较差,也很难适应变化,不便于修改及用户定制。它需要专业的开发人员,使用专门的开发工具才能进行开发,开发的程序调试部署都存在一定的难度。在用户现场开发的成本太高,而不在用户现场开发,调试环境又很难模拟。部署时必须使用编译过后的二进制文件,这样每当发生变化时,就需要打开代码修改编译后再部署,整个过程周期较长。另夕卜,用户数据细节的变化比较多,因此要针对不同的用户维护不同的代码版本,维护困难,成本高。脚本技术能够很好的解决所有这些问题,它具有良好的可扩展性,简单易用,修改、调试、部署方便,可以很好的适应变化,满足用户定制需求。脚本技术简单,不需要专业的开发人员就可以编写,甚至用户自己也可以编写。由于脚本是文本文件,所以它方便修改,调试,部署。另外它维护成本低,不需要对这些文件集中管理,为不同用户维护不同版本,这些文件全部都保存在用户环境当中,当需求发生变化时,只修改用户环境中的脚本文件就可以了。二、数据映射脚本是以文本的方式描述了数据的语义表述一致化的过程。该过程将不同原始数据中,表示相同语义的内容统一为同一的语义表示。其中,数据映射过程将不同原始数据中,表示相同语义的内容统一为同一的语义表示。其区别于格式化的是,强调对数据内容语义的统一。例如,在syslog标准中定义了8个级别的数据,而windows的事件日志(eventlog)中定义了5个级别,分别如下<table>tableseeoriginaldocumentpage9</column></row><table>因为二者在划分级别的个数上不统一,而且定义不统一,这势必会造成后续的数据表示及处理的不一致,所以必须对它们级别的内容进行数据映射,统一其语义,上面表格的映射部分给出了数据映射的对照关系。像这样需要进行数据映射的内容还包括病毒信息、漏洞信息、补丁信息、IDS攻击信息等,以上的信息均会因为厂商或标准的不同,信息的描述上存在差异。如不同的反病毒厂商会给同一种病毒定义不同的名字,这里就需要将不同的名字映射为同一个名字,以便后续的数据处理。现有的数据映射技术通常面临如下问题1、设备/应用类型繁多。与数据格式化面临的问题一致,数据映射也将面对种类繁多的各种设备及应用。2、数据内容丰富。这里的内容丰富区别于数据格式化,不是指的数据的整体描述,而是指数据中的单个信息元,如表示病毒名的信息元。这个信息元可能表现成千上万种的病毒名的任何一种,但作数据映射时,却需要将这成千上万种的病毒都处理到,漏洞、补丁等也要面对同样的问题。3、版本差异。不论是病毒、漏洞还是补丁等,它们都具有不断变化和更新的特征,厂商会随时更新这些内容。4、数据资料获取困难。有些资料是公开的,但有些资料却是厂家保密的,非公开的。所以基于采样方式的做法会面临与数据格式化同样的困难,甚至更难。因为几乎无法从名字准确猜测出两个病毒定义其实表示的是同一个内容。这里的问题与数据格式化的问题基本一致,脚本技术无疑会比插件技术更能提供好的解决方法,这里不做赘述。一般来讲,传统的插件技术实现的归一化过程中,几乎没有数据映射的内容,即使有也是与格式化过程混在一起而没有明确划分的。数据映射过程本身从面临的问题上可以看出,会是一个长期积累的过程,需要专业信息专家来总结完成。如病毒,当世界上有新的病毒产生时,需要定义病毒名,并收集相关反病毒厂商对病毒的定义,然后完成统一的数据映射。其它如漏洞、补丁等也存在同样的问题。这个过程的独立,可以将知识的积累有效的拆分出来,形成新的分工,使归一化过程更有效率。综上所述,依照本发明的方法,以脚本方式支持数据归一化,并将归一化过程定义为数据格式化和数据映射两个部分,为数据的归一化过程提供了极大的开放性,可大大提高数据归一化的生产效率,节约维护成本,并使得数据的收集工作在真正意义上变得切实可行。现实中,数据的种类千差万别,内容变化万千,对于数据的归一化不仅面对的是宽度还有深度。要做到在开始就全面支持任意一种数据的归一化是绝不可能的,这需要一个长期累积的过程,一个循序渐进的过程。在这个过程中成本问题是核心问题,以往的技术都无法有效的控制开发、调试与维护的成本。而基于脚本的归一化技术有力的解决这些问题。数据归一化再细分为两个部分,数据格式化和数据映射。这两个部分的侧重点不一致,前者侧重于对于数据的格式的分析,而后者侧重于对数据内容的分析。数据格式的分析可以在较短期内完成,而数据内容分析则需要一个长期积累的过程。通过有效的拆分这两个部分,可以进一步明确专业分工,提高生产效率。以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,这些变化和修改均在本发明的保护范围内。权利要求1.一种数据归一化方法,其特征在于,包括下列步骤通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。2.如权利要求1所述的数据归一化方法,其特征在于,所述数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一格式。3.如权利要求2所述的数据归一化方法,其特征在于,所述数据格式化包括如下步骤步骤al:对特定含义的信息元的数据进行处理,获得统一的数据表现形式;步骤a2:数据填充,将经过步骤al处理后的数据填充到相应语义的归一化数据字段中。4.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤al之前,进一步包括如下步骤对数据进行预处理,将原始数据解析为独立的有特定含义的信息元。5.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤al中,对信息元的数据进行处理,将相同类型的数据处理为统一的格式。6.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤a2中,将所述数据填充到相应语义的归一化数据字段中,包括对数据的匹配、解析、分拆、组合、编排格式的数据处理方法。7.如权利要求1所述的数据归一化方法,其特征在于,所述数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。全文摘要本发明提供一种数据归一化方法,其中,包括下列步骤通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。依照本发明的方法,通过数据格式化脚本文件和数据映射脚本文件,整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。文档编号G06F9/44GK101470607SQ20071030476公开日2009年7月1日申请日期2007年12月29日优先权日2007年12月29日发明者汤泰鼎申请人:北京天融信网络安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1