SIEM简介
介绍
siem的全称是什么,安全信息和事件管理,理论结构为对接局部网络中的安全设备产生的安全事件,经过对安全事件归一化处理和去重,然后通过一定的专家规则匹配,最终产生各安全设备统一之后的安全事件,从而达到对单安全设备告警的误报消除和去重的目的。
siem最好的开源项目是ossim,这里来介绍一下ossim。
Ossim整体结构
Ossim系统本身包含四个模块,分别为agent,server,framework,frameworkd。agent主要实现轮询文件变化,利用正则表达式归一化日志,从而产生安全事件,将结果发送给server端的过程。server主要实现以agent发来的安全事件进行频率关联。
SIEM在国内环境的变化
在用户定制化的需求下,国内的SIEM变成了所谓的态势感知平台,智能防控平台等等。国内的客户往往都有大量关于自身流程有关的需求,这就要求我们的SIEM支持高度的可扩展性,需要根据用户需求进行快速定制化。
一个比较好的方案是将核心安全事务层和基础资产管理层单独抽象独立出来,然后与用户的特殊需求进行融合,形成定制化的态势感知或者防控平台。
架构变化
开源SIEM的架构如下
- 安全设备对接层
- 日志分析层
- 安全事件组合分析层
- 展示层
防控平台&态势感知平台的架构如下
- 安全设备对接层
- 日志分析层
- 安全事件组合分析层
- 基础资产管理层
- 扫描层
- 特殊业务流程实现层
- 展示层
- 数据可视化展示层
SIEM实现原理
安全设备对接层
主要对接各类安全设备,可以通过syslog或者API接口。不过国内的安全厂商由于没有规范好自己的产品,大部分情况都没有实现syslog传输的功能。
日志分析层
归一化各个厂商产生的安全日志,注意,这里拿到的日志不是安全设备的原始日志,而是安全设备自己单独分析之后产生的安全日志,这涉及到了SIEM究竟是干啥的,我的理解是对某网络中的安全设备产生的纷繁复杂的安全事件进行去重和减少误报的。 ossim中归一化采取的方式是利用正则表达式去提取关键信息,这就要求我们定义出安全事件的基本字段,然后对每种不同的厂商都需要单独去写相应的正则表达式(对接得越多,市场竞争力也越大)
安全事件组合分析层
在Ossim中采取的是定义规则,比如将在一段时间内,安全设备类型A中产生了安全事件x有i次,安全设备类型B中产生了安全事件y有j次,安全设备类型C中产生了安全事件z有k次定义为一个去重安全事件的规则,检测的时候拿着这些去重安全事件的规则去不断判断,就可以得出最终的结果。
更高级的做法是使用模式识别,而不是使用专家系统。
基础资产管理层
需要抽象出资产管理领域的元数据,然后对其进行管理 并使其能够与安全事件组合分析出和日志分析层的结论进行关联
扫描层
对基础资产的扫描,辅助管理资产
数据可视化展示层
需要前端数据可视化,因为态势感知和防控都需要一套大屏来支撑,同时也需要利用多级缓存技术和检索技术来增强用户体验
剩下的两个层就是普通的业务代码开发。
市场前景
就目前而言,数据安全和网络安全的防控和态势感知都可以考虑使用这样的架构,核心竞争力在于扫描层的能力建设和安全事件的发现和去重。