CN101470607A - 一种数据归一化方法 - Google Patents
一种数据归一化方法 Download PDFInfo
- Publication number
- CN101470607A CN101470607A CNA2007103047673A CN200710304767A CN101470607A CN 101470607 A CN101470607 A CN 101470607A CN A2007103047673 A CNA2007103047673 A CN A2007103047673A CN 200710304767 A CN200710304767 A CN 200710304767A CN 101470607 A CN101470607 A CN 101470607A
- Authority
- CN
- China
- Prior art keywords
- data
- formatting
- normalization
- normalization method
- script file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种数据归一化方法,其中,包括下列步骤:通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。依照本发明的方法,通过数据格式化脚本文件和数据映射脚本文件,整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。
Description
技术领域
本发明涉及安全信息管理,特别涉及一种数据归一化方法。
背景技术
为了应对企业内、外部的安全挑战,企业先后部署了大量的安全系统,但却往往形成各个防御孤岛—系统间缺乏协同,由此,各种安全系统产生了大量告警,出现信息过载,造成很多误报和漏报。此外,企业还面临着不断增长的内控和信息系统审计的压力,要求增强业务持续性的呼声不断提高。所有这些都在呼唤面向全网的安全信息集中管理平台的出现,这就是安全信息管理(Security Information Manager,SIM)。
安全信息管理也叫安全信息和事件管理(Security Information and EventManager,SIEM),这是一个面向企业IT计算环境的安全集中管理平台,该平台能够收集来自企业计算环境中的各种设备、应用的安全日志和事件,并进行集中存储、监控、分析、报警、响应和报告,变过去被动的单点防御为全网的综合防御。目前,SIM正被广泛应用于企业内部的威胁管理、合规审计、日志管理、安全审计及应急响应等方面。
目前普遍采用基于插件开发的形式进行数据归一化。插件是计算机软件中的一种特殊程序,其实现独立的功能逻辑,通过统一的程序接口与主程序交互,从而扩充主程序的功能,其不能单独执行,必须依赖于主程序环境方可运行。通过自定义的接口,插件能够自由访问主程序中的各种资源,编程自由度极大,可以无限发挥插件开发者的创意,但编写相对复杂,对于插件接口之间的协调比较困难,插件的开发需要专业的程序员才能进行。插件开发一般需要通过专业的开发工具(如VB,VC等)。插件的存在形式为经过代码编译产生的二进制文件。每当有一种新的数据需要归一化时,总是新开发一个插件对这种数据进行特定的处理。
但是,基于插件开发的数据归一化方案,开发周期长,调试困难,维护成本高,难于适应环境变化,难于随环境需要提供方便快捷的解决方案,客户化程度低。
发明内容
本发明的目的在于,提供一种数据归一化方法,解决数据归一化开发调试困难,成本高,客户化程度低,不容易适应环境变化等需求问题。
本发明的数据归一化方法,包括下列步骤:通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。
其中,所述数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一格式。
其中,所述数据格式化包括如下步骤:
步骤a1:对特定含义的信息元的数据进行处理,获得统一的数据表现形式;
步骤a2:数据填充,将经过步骤a1处理后的数据填充到相应语义的归一化数据字段中。
在所述步骤a1之前,进一步包括如下步骤:对数据进行预处理,将原始数据解析为独立的有特定含义的信息元。
其中,在所述步骤a1中,对信息元的数据进行处理,将相同类型的数据处理为统一的格式。
在所述步骤a2中,将所述数据填充到相应语义的归一化数据字段中,包括对数据的匹配、解析、分拆、组合、编排格式的数据处理方法。
所述数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。
本发明的有益效果是:依照本发明的数据归一化方法,通过数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一的样子;通过数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。由于整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。
附图说明
图1为基于文件配置的数据归一化系统。
具体实施方式
以下,参考附图1详细描述本发明的数据归一化方法。
本发明的核心思想是:通过编写脚本(Script)来描述数据归一化的过程,并将过程定义为数据格式化和数据映射两个部分。这两部分的过程分别由数据格式化脚本文件和数据映射脚本文件来描述,两者皆为文本文件。
实际上,脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(JavaScript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。脚本同平时使用的VB、C语言的区别主要是:脚本语法比较简单,比较容易掌握;脚本与应用程序密切相关,所以包括相对应用程序自身的功能;脚本一般不具备通用性,所能处理的问题范围有限。
其中,数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一的样子;数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。由于整个过程都通过脚本的形式进行描述,以大大降低开发、调试及维护的难度,并提供了极其灵活的环境适应及客户化能力。数据格式化脚本以文本的方式描述了数据的格式化过程。
一、数据格式化过程包括如下步骤:
步骤11:数据预处理,将原始数据解析为独立的信息元(有特定含义的数据单元),该步骤可缺省;
步骤12:数据处理,对信息元的数据进行处理,最终获得统一的数据表现形式;
步骤13:数据填充,将经过步骤12处理后的数据填充到相应语义的归一化数据字段中。整个数据填充处理过程中包括对数据的匹配、解析、分拆、组合、编排格式等复杂的数据处理方法。
其中,在步骤11中,数据预处理是根据将原始数据解析为信息元,即有特定含义的数据单元,信息元的划分一般与归一化事件字段有关。例如根据不同的解析程度要求对如下日志进行解析:
CISCO交换机UDP日志:<39>233159:*Mar 26 04:04:10:UDP:rcvdsrc=192.168.101.239(137),dst=192.168.101.255(137),length=58
CISCO交换机IP ARP日志:<191>6061:*Mar 1 09:45:11:IP ARP:sent req src192.168.100.1340002.b986.8380,dst 192.168.100.114 0000.0000.0000 VLAN1
CISCO PIX防火墙UDP日志:<166>%PIX-6-302016:Teardown UDP connection12385695 for outside:61.171.177.212/16405 to inside:10.65.241.23/40560 duration 0:02:01 bytes70
CISCO PIX防火墙TCP日志:<166>%PIX-6-302014:Teardown TCP connection 12385647for outside:61.134.9.42/18564 to inside:10.65.35.104/2405 duration 0:02:01 bytes 0 SYNTimeout
解析处理后的信息元如下:
其中,在步骤12中,数据处理是对信息元的数据进行处理,将相同类型的数据处理为统一的格式。
例如:时间可以有非常多的表现形式,如“Dec 3 11:00:00 2007”,“2007-12-311:00:00”或“Mon Dec 3 11:00:00 CST 2007”等,它们表示的都是同一个时间,但表现形式上有差别。计算机无法自动的认知这些差别,所以为了后续的数据表现及数据处理,需要对时间进行格式化,统一其表现形式。除时间外,还有MAC地址,IP地址等需要格式化的数据类型。除了格式上的统一外,还需要对数值型数据的度量进行统一,如文件或空间的大小,可能用兆字节mb、千字节kb或字节byte等任意一个度量做单位,单位的不同会造成数据的巨大差异,因此也需要对数值型的数据进行度量统一。
此外,在步骤13中,数据填充是将经过数据处理的信息元填充到相应语义的归一化数据字段中。通过正确分析原始数据的整体语义,正确的理解信息元的含义。
例如,即使都是IP地址,但根据语义不同可以区分为源IP地址和目的IP地址,根据语义可以知道数据是谁发出的等,在确定语义后,将信息元分别填充到归一化事件相对应得字段中。
现有的数据格式化技术会面临如下问题:
1、设备/应用类型繁多。现实生活中不同的用户拥有不同类型的设备和应用(设备如:交换机、路由器、防火墙、IDS、VPN等,应用如:WEB服务器、FTP服务器、邮件服务器、数据库等),这些设备和应用会产生不同的数据,另外由于没有统一的标准,即使相同类型的设备和应用因为生产厂家的不同也会产生不同的数据,有的用一定格式的自然语言描述,有的可能用名值对(格式:名字=值)的形式描述,不一而足(如上面例子中的cisco的交换机和防火墙,同样描述的都是UDP协议的数据日志,但描述上存在着很大差异,同一个厂商的产品无法做到数据一致)要做到对如此众多的设备/应用进行数据的分析整理,难度可想而知。
2、数据内容丰富。单就某种具体的设备或应用来讲,内容就已经很丰富。如上面例子给出的cisco的交换机日志分为了udp和ip arp,cisco的pix防火墙分为了upd和tcp。这些日志在描述上都有差别。实际上这两种设备的内容远比这些要丰富,交换机还提供其它协议日志,调试日志等,pix防火墙更有超过300种的日志描述格式。
3、版本差异。相同的设备可能会因为版本的不同数据的描述会发生变化。
4、数据资料获取困难。有些设备/应用受自身产品发展的限制,对于产生的数据没有详细的说明文档或根本没有文档。有些设备/应用有文档但很难获取到。对于这样的数据,只能用采样的方式,获取它们的部分样本数据,然后对样本数据进行分析处理。这样的方法存在局限性,采样过程无法保障采样的合理性与全面性,而真正要做到全面采样的时间与人力成本太高,且没有标准。那么在此基础上进行的数据分析就会存在极大的不准确性,因为采样的不全面而造成错误的理解数据时有发生。
5、数据格式配置灵活。对于有些设备/应用,它们的数据内容配置灵活,可以配置产生数据的格式及内容,如cisco的交换机,它可以配置数据中时间的格式。微软的IIS服务器,可以配置产生日志中包括哪些内容的信息。
6、用户的需求。对于设备/应用产生的数据,有时用户有明确的需求,他们只关心某类数据,如只关心系统的登陆信息。那么针对明确的需求,其它类型的数据信息就可以被忽略,在处理过程中就可以去掉不必要的性能消耗,提高系统的整体性能。
要解决以上的问题,必须做到拥有良好的可扩展性、易用性、可维护性,并且能够很好的适应变化,方便修改,用户可定制。插件技术拥有一定的可扩展性,但易用性及可维护性相对较差,也很难适应变化,不便于修改及用户定制。它需要专业的开发人员,使用专门的开发工具才能进行开发,开发的程序调试部署都存在一定的难度。在用户现场开发的成本太高,而不在用户现场开发,调试环境又很难模拟。部署时必须使用编译过后的二进制文件,这样每当发生变化时,就需要打开代码修改编译后再部署,整个过程周期较长。另外,用户数据细节的变化比较多,因此要针对不同的用户维护不同的代码版本,维护困难,成本高。脚本技术能够很好的解决所有这些问题,它具有良好的可扩展性,简单易用,修改、调试、部署方便,可以很好的适应变化,满足用户定制需求。脚本技术简单,不需要专业的开发人员就可以编写,甚至用户自己也可以编写。由于脚本是文本文件,所以它方便修改,调试,部署。另外它维护成本低,不需要对这些文件集中管理,为不同用户维护不同版本,这些文件全部都保存在用户环境当中,当需求发生变化时,只修改用户环境中的脚本文件就可以了。
二、数据映射脚本是以文本的方式描述了数据的语义表述一致化的过程。该过程将不同原始数据中,表示相同语义的内容统一为同一的语义表示。
其中,数据映射过程将不同原始数据中,表示相同语义的内容统一为同一的语义表示。其区别于格式化的是,强调对数据内容语义的统一。例如,在syslog标准中定义了8个级别的数据,而windows的事件日志(event log)中定义了5个级别,分别如下:
因为二者在划分级别的个数上不统一,而且定义不统一,这势必会造成后续的数据表示及处理的不一致,所以必须对它们级别的内容进行数据映射,统一其语义,上面表格的映射部分给出了数据映射的对照关系。像这样需要进行数据映射的内容还包括病毒信息、漏洞信息、补丁信息、IDS攻击信息等,以上的信息均会因为厂商或标准的不同,信息的描述上存在差异。如不同的反病毒厂商会给同一种病毒定义不同的名字,这里就需要将不同的名字映射为同一个名字,以便后续的数据处理。
现有的数据映射技术通常面临如下问题:
1、设备/应用类型繁多。与数据格式化面临的问题一致,数据映射也将面对种类繁多的各种设备及应用。
2、数据内容丰富。这里的内容丰富区别于数据格式化,不是指的数据的整体描述,而是指数据中的单个信息元,如表示病毒名的信息元。这个信息元可能表现成千上万种的病毒名的任何一种,但作数据映射时,却需要将这成千上万种的病毒都处理到,漏洞、补丁等也要面对同样的问题。
3、版本差异。不论是病毒、漏洞还是补丁等,它们都具有不断变化和更新的特征,厂商会随时更新这些内容。
4、数据资料获取困难。有些资料是公开的,但有些资料却是厂家保密的,非公开的。所以基于采样方式的做法会面临与数据格式化同样的困难,甚至更难。因为几乎无法从名字准确猜测出两个病毒定义其实表示的是同一个内容。
这里的问题与数据格式化的问题基本一致,脚本技术无疑会比插件技术更能提供好的解决方法,这里不做赘述。一般来讲,传统的插件技术实现的归一化过程中,几乎没有数据映射的内容,即使有也是与格式化过程混在一起而没有明确划分的。数据映射过程本身从面临的问题上可以看出,会是一个长期积累的过程,需要专业信息专家来总结完成。如病毒,当世界上有新的病毒产生时,需要定义病毒名,并收集相关反病毒厂商对病毒的定义,然后完成统一的数据映射。其它如漏洞、补丁等也存在同样的问题。这个过程的独立,可以将知识的积累有效的拆分出来,形成新的分工,使归一化过程更有效率。
综上所述,依照本发明的方法,以脚本方式支持数据归一化,并将归一化过程定义为数据格式化和数据映射两个部分,为数据的归一化过程提供了极大的开放性,可大大提高数据归一化的生产效率,节约维护成本,并使得数据的收集工作在真正意义上变得切实可行。现实中,数据的种类千差万别,内容变化万千,对于数据的归一化不仅面对的是宽度还有深度。要做到在开始就全面支持任意一种数据的归一化是绝不可能的,这需要一个长期累积的过程,一个循序渐进的过程。在这个过程中成本问题是核心问题,以往的技术都无法有效的控制开发、调试与维护的成本。而基于脚本的归一化技术有力的解决这些问题。数据归一化再细分为两个部分,数据格式化和数据映射。这两个部分的侧重点不一致,前者侧重于对于数据的格式的分析,而后者侧重于对数据内容的分析。数据格式的分析可以在较短期内完成,而数据内容分析则需要一个长期积累的过程。通过有效的拆分这两个部分,可以进一步明确专业分工,提高生产效率。
以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,这些变化和修改均在本发明的保护范围内。
Claims (7)
1.一种数据归一化方法,其特征在于,包括下列步骤:通过将数据进行数据格式化脚本文件进行数据格式化,并通过数据映射脚本文件进行数据映射,将数据进行归一化。
2.如权利要求1所述的数据归一化方法,其特征在于,所述数据格式化脚本文件,用于按照需要对数据进行灵活的拆分、组装,最终将数据格式化为统一格式。
3.如权利要求2所述的数据归一化方法,其特征在于,所述数据格式化包括如下步骤:
步骤a1:对特定含义的信息元的数据进行处理,获得统一的数据表现形式;
步骤a2:数据填充,将经过步骤a1处理后的数据填充到相应语义的归一化数据字段中。
4.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤a1之前,进一步包括如下步骤:对数据进行预处理,将原始数据解析为独立的有特定含义的信息元。
5.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤a1中,对信息元的数据进行处理,将相同类型的数据处理为统一的格式。
6.如权利要求3所述的数据归一化方法,其特征在于,在所述步骤a2中,将所述数据填充到相应语义的归一化数据字段中,包括对数据的匹配、解析、分拆、组合、编排格式的数据处理方法。
7.如权利要求1所述的数据归一化方法,其特征在于,所述数据映射脚本文件,用于将格式化后的数据在语义表述上进行同一的映射转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007103047673A CN101470607A (zh) | 2007-12-29 | 2007-12-29 | 一种数据归一化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007103047673A CN101470607A (zh) | 2007-12-29 | 2007-12-29 | 一种数据归一化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101470607A true CN101470607A (zh) | 2009-07-01 |
Family
ID=40828099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007103047673A Pending CN101470607A (zh) | 2007-12-29 | 2007-12-29 | 一种数据归一化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101470607A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593816A (zh) * | 2013-11-25 | 2014-02-19 | 方正国际软件有限公司 | 病历文档的存储装置和存储方法 |
CN103593277A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市世纪光速信息技术有限公司 | 日志处理方法及系统 |
CN103942032A (zh) * | 2013-01-18 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 数据分拆处理系统及方法 |
CN106055911A (zh) * | 2016-06-13 | 2016-10-26 | 达而观信息科技(上海)有限公司 | 一种基于组合归一的量化指标评价方法 |
CN107295039A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据接入处理方法和装置 |
CN108415958A (zh) * | 2018-02-06 | 2018-08-17 | 北京陌上花科技有限公司 | 指数权重vlad特征的权重处理方法及装置 |
CN111414341A (zh) * | 2020-03-24 | 2020-07-14 | 东南大学 | 一种物联网环境下的数据归一化描述方法 |
-
2007
- 2007-12-29 CN CNA2007103047673A patent/CN101470607A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593277A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市世纪光速信息技术有限公司 | 日志处理方法及系统 |
CN103942032A (zh) * | 2013-01-18 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 数据分拆处理系统及方法 |
CN103942032B (zh) * | 2013-01-18 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 数据分拆处理系统及方法 |
CN103593816A (zh) * | 2013-11-25 | 2014-02-19 | 方正国际软件有限公司 | 病历文档的存储装置和存储方法 |
CN107295039A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据接入处理方法和装置 |
CN106055911A (zh) * | 2016-06-13 | 2016-10-26 | 达而观信息科技(上海)有限公司 | 一种基于组合归一的量化指标评价方法 |
CN108415958A (zh) * | 2018-02-06 | 2018-08-17 | 北京陌上花科技有限公司 | 指数权重vlad特征的权重处理方法及装置 |
CN111414341A (zh) * | 2020-03-24 | 2020-07-14 | 东南大学 | 一种物联网环境下的数据归一化描述方法 |
CN111414341B (zh) * | 2020-03-24 | 2024-03-01 | 东南大学 | 一种物联网环境下的数据归一化描述方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164249B (zh) | 用于脚本语言编译器的扩展机制 | |
CN101470607A (zh) | 一种数据归一化方法 | |
US6170081B1 (en) | Method and system for interfacing to a variety of software development tools | |
CN102945347A (zh) | 一种检测Android恶意软件的方法、系统及设备 | |
CN112363694B (zh) | Fmu文件及求解器运行环境与工业软件的集成方法 | |
CN112363695B (zh) | Pmml文件及其运行时环境与工业软件的集成方法 | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN103136107A (zh) | 一种嵌入式程序动态分配内存的变量调试方法 | |
US20040181783A1 (en) | Transformation apparatus, transformation method, transformation programs, and computer readable recording medium having the transformation program stored therein | |
CN106341257A (zh) | 一种自定义日志解析规则并自动解析日志的方法和工具 | |
Fauzi et al. | Reverse engineering of source code to sequence diagram using abstract syntax tree | |
CN110162963A (zh) | 一种识别过权应用程序的方法 | |
CN102629213B (zh) | 一种c语言仿真模型的剖析及监控方法 | |
CN105700934A (zh) | 一种智能编译方法和智能编译系统 | |
CN112328323A (zh) | 继电保护装置能力描述文件生成系统 | |
Frey et al. | MAMBA: A measurement architecture for model-based analysis | |
US7487227B2 (en) | Scripting engine having a sequencer table and a plurality of secondary tables for network communication software | |
CA2928316C (en) | Facilitating communication between software components that use middleware | |
Weidl et al. | Binding object models to source code: An approach to object-oriented re-architecting | |
CN114398152A (zh) | 接口仿真服务调用方法及装置 | |
WO2002057910A2 (en) | Integrated dynamic control flow and functionality generation for network computing environments | |
AU2014338988A1 (en) | Facilitating communication between software components that use middleware | |
Kim et al. | Migrating Legacy Software Systems to Corba based Distributed Environments through an Automatic Wrapper Generation Technique [versión electrónica] | |
CN114416099A (zh) | 一种基于信息物理系统的模型集成方法及相关组件 | |
Mane et al. | A Domain Specific Language to Provide Middleware for Interoperability among SaaS and DaaS/DBaaS through a Metamodel Approach. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090701 |