本文档描述了编码和解码的要求公共事件表达式(CEE)事件为一个特定的标记格式来表示事件在磁盘上或在运输途中。这些需求设计为最大的互操作性与现有的事件和交换标准采用成本降到最低。确保事件持续到每个标记格式编码中东欧定义中东欧日志语法(CLS)为每个支持的标记编码格式(目前JSON和XML)。每个CLS编码定义如何表示中东欧事件作为事件记录在给定的标记语言。
中东欧事件模型是中东欧的结构的高级描述事件的样子。事件模型并不直接由任何工具实现,而不是工具采用一个或两个CLS下面描述编码(JSON和XML)。事件模型是如何的编纂一个事件记录符合一个表示中东欧概要(包括中东欧核心配置文件)。
中东欧事件模型,因此每个中东欧事件,由一个概要文件参考和一个字段列表和零个或多个值的字段。
每个中东欧事件都有一个显式或隐式引用中东欧概要文件。事件可以显式地引用一个特定的配置文件使用URI来标识一个特定的配置文件。强烈建议,这个URI应该resolveable URL,以方便使用,但是这不是一个要求。
概要文件引用本身指的是任何有效的中东欧概要,包括一个人类可读的概要文档之后中东欧概要需求或计算机可处理的档案如果给定编码支持它(目前,只有XML)。
如果这个概要文件引用是省略了必有一个假定引用的最新版本中东欧核心配置文件。核心配置文件的uri引用:
中东欧事件的身体是一个清单的零个或多个字段描述事件。进一步定义字段中东欧概要规范;有效的字段标识符在中东欧事件一样有效的标识符在中东欧概要文件。
字段在中东欧的事件的顺序是重要的,必须保留在编码和解码。
字段的清单必须符合下列条件:
事件分类是地方的信息事件的概要文件的引用分类。它由一组类别,分类,每个类别的标签值能最好地描述该事件。所有分类字段是可选的,但是如果他们必须包含一个非空值。
中东欧事件的发生本身之间的区别,一个事件记录,事件记录的编码。事件本身的原始发生一些情况下,日志记录程序希望记录。当事件发生时,日志记录程序收集相关数据到一个事件记录的抽象的概念使用中东欧事件规范。事件记录可以使用CLS编码编码到一种标记语言。为了使用事件,事件消费者使用CLS解码标记映射到抽象中东欧事件。
JavaScript对象表示法(JSON)是一种基于文本格式的数据交换格式,使用大量的设备和应用程序。简单、可读性和JSON使它理想的编码效率事件记录数据时的性能和小数据大小是很重要的。缺乏验证和内联数字签名功能使它不太理想的情况下,事件的保管链,integredity,需要保证有效性。本文档描述了一个方法,编码为中东欧事件JSON事件记录。
中东欧JSON编码的使用应该使用所示MIME(互联网)媒体类型:应用程序/中东欧+ json
。utf - 8是唯一允许中东欧JSON编码的编码,编码规范的MIME类型是多余的。
JSON提供本机支持四个值类型:字符串,数量,bool,零。
最大的兼容性,零
,数量
,bool
中东欧字段类型应该使用等价编码,内置JSON类型。对应于这些原生类型的值不应出现在引用字符。
所有其他中东欧核心配置文件字段类型必须表示为JSON字符串值。
注意,显式字段类型时失去了代表non-CEE核心配置文件字段,因为他们转换为JSON字符串。实现可能试图推断出这些损失类型的最大精度决定的能力。也就是说,一个JSON字符串值“10.0.0.2”
可能解决一个IPv4地址类型时可行的。
应该使用JSON数组提供了一个简单的机制,尽可能代表多个事件。
{”src”:{”ipv4”:”为1.2.3.4”}}
由于兼容性原因,然而,也可以使用内联字段名:
{”src.ipv4”:”为1.2.3.4”}
这是一个JSON事件记录对应最最小的事件符合中东欧核心概要。注意缺乏一个概要文件的引用,这意味着一个隐式引用中东欧核心配置文件。
{”主机”:”system.example.com”,”pname”:”身份验证”,”时间”:”2011 - 12 - 20 - t12:38:05.123456凌晨”}
这是一个JSON事件记录使用的可选字段生成中东欧核心配置文件。
{”主机”:”system.example.com”,”pid”:123年,”时间”:”2011 - 12 - 20 - t12:38:05.123456凌晨”,”是否”:”美国广播公司”,”味精”:”我的事件消息”,”应用程序”:”应用程序”,”pname”:”身份验证”,”塞夫”:10,”行动”:”登录”,”状态”:”成功”}
这是一个JSON事件记录,中东欧概要参考。
{”配置文件”:”http://vendor.com/events/1.0”,”主机”:”host.vendor.com”,”pname”:”proc1”,”时间”:”2012 - 01 - 18 - t05:55:12.4321凌晨”,”行动”:”登录”,”状态”:”正在进行的”,”标签”:”:hipaa”,”new_field”:”一个字符串值”,”new_val”:1234年,”product_host”:”source.example.com”}
这是一个JSON事件记录,使用中未找到“本地”字段引用的资料。
{”配置文件”:”http://vendor.com/events/1.0”,”主机”:”host.vendor.com”,”pname”:”proc1”,”时间”:”2012 - 01 - 18 - t05:55:12.4321凌晨”,”行动”:”登录”,”状态”:”正在进行的”,”标签”:”:hipaa”,”本机”:{”new_field”:”一个字符串值”,”new_val”:1234年,”product_host”:”source.example.com”}}
这是一个列表JSON事件记录(日志)
[{”主机”:”host.vendor.com”,”pname”:”process1中”,”时间”:”2012 - 01 - 18 - t05:55:12.4321凌晨”},{”主机”:”host.vendor.com”,”pname”:”process2”,”时间”:”2012 - 01 - 18 - t05:55:12.4321 05:01”})
W3C可扩展标记语言(XML) 1.0格式是一种基于文本的数据交换格式,使用大量的设备和web服务。它支持验证文档的定义(模式),数字签名和先进的压缩。这使它适合代表审计数据,必须保证。
中东欧的使用XML编码应该显示的使用MIME或互联网媒体类型:应用程序/中东欧+ xml
。utf - 8是唯一允许中东欧JSON编码的编码,编码规范的MIME类型是多余的。
utf - 8
。所有XML值包含在XML元素的字符序列。
基于XML的内容价值,中东欧XML事件模式和任何相应的事件概要模式,这取决于应用程序选择最佳映射为他们的需求。所有中东欧应用程序都必须至少映射的xml编码字段值xs: string
字段类型。
然而,值类型可以明确指出通过添加类型
属性字段元素相关联。的价值类型
应该设置为以下值之一,每个对应一个中东欧值类型:字符串
,数量
,bool
,ipv4
,ipv6
,datetime
,零
,或对象
。
因为XML支持本机验证机制通过XML模式,配置文件引用的事件可能被放置在中东欧配置文件
元素和schemaLocation
在根元素属性。
这个概要文件的参考配置文件
元素是参考标准,如果它是一个URL,应该指向一个人类可读的概要文件的URL。这个概要文件的参考schemaLocation
属性用于XSD验证,如果使用,必须指向任何URL为概要文件XSD。
相对应的XML事件记录最符合最小事件中东欧核心配置文件。
<中东欧:中东欧xmlns=”http://cee.mitre.org/1.0/profile/”xmlns:中东欧=”http://cee.mitre.org/1.0/”><中东欧:事件><主机>system.example.com< /主机>< pname >身份验证< / pname ><时间>2011 - 12 - 20 - t12:38:05.123456凌晨< /时间>< /中东欧:事件>< /中东欧:中东欧>
中东欧事件生成的使用类型
中定义的属性和中东欧事件结构cee.xsd。注意进一步缺乏中东欧概要文件参考,暗示cee.xsd模式。
< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><中东欧:中东欧xmlns=”http://cee.mitre.org/1.0/profile/”xmlns:中东欧=”http://cee.mitre.org/1.0/”><中东欧:事件><主机>system.example.com< /主机>< pname >身份验证< / pname ><时间>2011 - 12 - 20 - t12:38:05.123456凌晨< /时间><浏览器名称>应用程序< /浏览器名称>< pid >123年< / pid >< >签订10< / >签订<行动>登录< /行动><域>应用程序< /域><对象>账户< /对象><服务>网络< /服务><状态>成功< /状态>< /中东欧:事件>< /中东欧:中东欧>
中东欧的XML记录包含一个中东欧概要文件引用特定于事件生成器。注意,这个事件不会验证自外部配置文件没有定义任何地方。
<中东欧:中东欧xmlns=”http://cee.mitre.org/1.0/profile/”xmlns:中东欧=”http://cee.mitre.org/1.0/”><中东欧:事件配置文件=”http://vendor.com/events/1.0”><主机>host.vendor.com< /主机>< pname >proc1< / pname ><时间>2012 - 01 - 18 - t05:55:12.4321凌晨< /时间><行动>登录< /行动><状态>正在进行的< /状态>< new_field >一个字符串值< / new_field >< new_val >1234年< / new_val >< product_host >source.example.com< / product_host >< /中东欧:事件>< /中东欧:中东欧>
中东欧的XML记录包含本地(自定义)字段未指定任何资料。
<中东欧:中东欧xmlns=”http://cee.mitre.org/1.0/profile/”xmlns:中东欧=”http://cee.mitre.org/1.0/”><中东欧:事件><主机>host.vendor.com< /主机>< pname >proc1< / pname ><时间>2012 - 01 - 18 - t05:55:12.4321凌晨< /时间><行动>登录< /行动><状态>正在进行的< /状态><中东欧:本机>< custom_field >自定义瓦尔< / custom_field >< /中东欧:本机>< /中东欧:事件>< /中东欧:中东欧>
JSON和xml编码中东欧事件引用相同的数据。因此,有数据丢失0%当两种格式之间的转换。翻译的规则是:
中东欧
元素在JSON和XML成为一个数组事件
元素的JSON变成一个匿名对象配置文件
属性的事件将被翻译配置文件
关键的JSON。例如,这些是等价的事件:
<中东欧:中东欧xmlns:中东欧=”http://cee.mitre.org/1.0/”xmlns:中东欧=”http://cee.mitre.org/1.0/profile/”><中东欧:事件配置文件=”http://vendor.com/events/1.0”><主机>host.vendor.com< /主机>< pname >proc1< / pname ><时间>2012 - 01 - 18 - t05:55:12.4321凌晨< /时间><中东欧:本机>< custom_field >自定义瓦尔< / custom_field >< /中东欧:本机>< /中东欧:事件>< /中东欧:中东欧>
[{”配置文件”:”http://vendor.com/events/1.0”,”主机”:”host.vendor.com”,”pname”:”proc1”,”时间”:”2012 - 01 - 18 - t05:55:12.4321凌晨”,”本机”:{”custom_field”:”自定义瓦尔”}})
页面最后更新:09年8月,2012年