三:从四方面入手解决事件数据标准化的问题
经过细致深入的讨论研究后,攻关团队将问题分解为4个方面,分别着手解决日志标准化的问题。这4个部分是:
1. 数据采集方法的标准化
攻关团队在原有的基础上完善了系统的数据采集层。新的数据采集层能够实现对各类安全设备的安全数据的采集,在组成形式上数据采集层可以由多种形式的采集功能组件组合构成,支持分布式的采集处理架构。
新的数据采集层支持对各类安全对象的标准接口协议的适配。实现对包括安全对象的配置、运 行状态、安全事件、脆弱性等数据的采集。数据采集层应支持主流采集协议或接口方式,包括但不限于:
- Syslog:采集Unix,支持Syslog协议的防火墙、路由器、交换机、防病毒和IDS等系统或设备;
- SNMP、SNMPTrap V1、V2、V3:采集支持Snmp协议的防火墙、路由器、交换机、防病毒、终端补丁、IDS和应用系统等系统或设备;
- OPSEC:采集CheckPoint防火墙的日志;
- ODBC/JDBC:采集存储到于关系型数据库的应用系统日志;
- 通用文件:支持基于文件的日志采集,能够通过模板配置完成日志记录的格式化;
专用日志采集接口:对仅支持专用管理接口的系统,能够支持多种专用API采集接口和通用的采集调度能力,例如脆弱性扫描系统的API或接口XML文件、Windows的WMI;
2. 原始事件格式标准化:
安全事件采集过程收集到多种类型的原始事件信息,而这些原始事件的格式和内容不尽相同。攻关团队开发了一套基于数据格式和数据映射脚本的数据标准方法和过程。数据格式化脚本,用于按照需要对数据进行灵活的拆分、组装,实现数据格式化。数据映射脚本,用于将格式后的数据进 行语义表达,实现数据映射。最终实现数据归一化。与传统的基于插件的数据标准方法相比,具有开发、维护难度小,快速灵活适应客户化等特点。
事件标准化过程将不同的事件数据格式转换成标准的事件格式并对其分类与存储,能够为上层各分析模块提供数据支持。
经标准化处理后的各事件包括以下属性:
序号 | 名称 | 是否必需 | 说明 |
1. | 发送安全事件的设备地址 | 是 | 发送该事件的设备地址。 |
2. | 发送安全事件的系统类型 | 是 | 该设备的设备类型名称。 |
3. | 事件名称 | 是 | 格式如 “HTTP_读命令” |
4. | 协议类型 | 否 | 涉及网络协议的事件必填。参照常用协议类型表,未列出的自行填写。 |
5. | 特征串 | 是 | 详细事件特征串 |
6. | 事件源IP | 否 | 按网络字节序存 |
7. | 事件目的IP | 是 | 按网络字节序存。在病毒、蠕虫类事件中,为感染这些恶意代码的系统IP。 |
8. | 事件源端口 | 否 | 按网络字节序存 |
9. | 事件目的端口 | 否 | 按网络字节序存 |
10. | 发送流量 | 否 | 发送的流量。异常流量事件必填。 |
11. | 接收流量 | 否 | 接收的流量。异常流量事件必填 |
12. | 发送流量单位 | 否 | 如有发送流量,必填。其中,0:KB;1:MB。 |
13. | 接收流量单位 | 否 | 如有发送流量,必填。其中,0:KB;1:MB。 |
14. | 进入数据包数 | 否 | 接收数据包数量。异常流量事件必填。 |
15. | 离开数据包数 | 否 | 发送数据包数量。异常流量事件必填。 |
16. | 事件相关域名和URL | 否 | 网页挂马、域名劫持、CGI攻击、网络仿冒等涉及域名和URL的事件必填 |
17. | 原始危害等级 | 否 | 直接取原始事件中的某个字符串在初始化部分赋给它即可 |
18. | 归并数量 | 是 | 多个事件归并的数量 |
19. | 事件内容 | 是 | 事件内容描述(从原始日志中提取得关键字),例如Syslog包所有原始内容 |
以上是安全事件属性的基本内容,其他属性可以作为对安全事件描述的辅助属性。
安全事件的属性是可以扩展订制的,扩展属生与基本属性都可以参与事件的标准化、逻辑判断、条件查询、报表输出等。
1. 原始事件过滤标准化。
为了从海量的事件中进行有针对性的分析,攻关团队优化了安管平台的事件有过滤功能。事件过滤功能可以对接入的已经标准化的安全事件进行进一步过滤筛选。安全事件过滤规则包含以下属性:
- 过滤规则名称:对过滤规则的描述;
- 过滤条件:设定安全事件应该满足的条件;
- 响应方式:对满足条件的安全事件的处理方式;
下面对安全事件过滤中的过滤条件、响应方式、以及安全事件调整进行统一要求。
A. 过滤条件
安全事件的过滤条件,根据标准化的安全事件的基本属性,过滤条件至少可以按照以下属性进行过滤:
- 安全事件名称;模糊匹配方式,比如包含、等于、等;
- 设备地址;地址匹配方式,比如等于;
- 设备类型名称;模糊匹配方式,比如包含、等于、等;
- 源地址;地址匹配方式,比如等于;
- 源端口;数字匹配方式,比如等于、大于、等;
- 目的地址;地址匹配方式,比如等于;
- 目的端口;数字匹配方式,比如等于、大于、等;
B. 事件处理方式
安全事件过滤完成后,需要进行进一步的处理,这种处理是对满足过滤条件的事件响应方式,安全事件的过滤响应方式至少应包括以下方式:
丢弃:直接对满足条件的安全事件丢弃,不再写入数据库,也不再进一步处理;
写入数据库:对满足条件的安全事件存入数据库,作进一步的处理;
2. 原始事件归并标准化。
对于过滤后的安全事件,仍然存在很多重复或者相似的事件。所以事件数据标准化的第四个方面是对事件进行归并。归并规则,就是在什么情况下,满足什么条件,对哪些字段进行归并。
事件归并功能可以对海量的安全事件依据归并条件进行归并,达到简化安全事件,提高安全事件准确率。
A. 安全事件归并规则应该包含以下属性
- 归并规则名称:对过滤规则的描述;
- 归并条件:设定安全事件应该满足的条件;
- 归并字段:归并处理的事件字段,所列字段内容相同的事件才进行归并,比如安全事件的名称,设备地址等事件基本属性;
- 归并时间:归并事件的时间窗口,指多长时间进行一次归并;
- 归并数目:需要归并事件的数量,指多少事件进行一次归并;
- 对被归并事件的处理方式:被归并的事件以何种方式进行处理;
B. 被归并事件的处理方式
- 阻塞方式:直接将被归并事件全部丢弃,不写入数据库;
- 非阻塞方式:将被归并事件全部写入数据库;
C. 可定义的归并策略如下
- 根据事件名称进行归并分析;
- 根据事件类型进行归并分析;
- 根据源进程进行归并分析;
- 根据目标进程进行归并分析;
- 根据攻击源进行归并分析;
- 根据攻击目标地址进行归并分析;
- 根据事件原始时间进行归并分析;
- 根据受攻击设备类型进行归并分析。