0
引言
当前网络安全问题仍然严峻,保护网络安全设备的告警事件成为网络安全工作中的检测、分析和响应的重要依据。然而在现实应用中,事件的分析工作却面临诸多挑战,报警数据巨大、误报严重与重复报警频繁等。文中提出了基于
Esper
事件流处理框架的网络安全监控系统。通过整合测试,该框架可有效支持网络安全监管系统对大规模安全事件处理的实时性、准确性和灵活性要求,在实际系统应用中也有很大的应用价值。
1
规则引擎处理事件流
1.1
规则引擎与数据流
文中的规则引擎由数据查询引擎和自定义事件处理规则组成,查询引擎采用
Esper
框架,规则是根据系统对安全事件的处理要求设计的
EQL
结构化查询语句,
EQL
是
Esper
提出的事件流查询语言。
数据流
[3
,
4]
是一种新型数据模式,与传统数据库模型不同,它是一种大量、连续、快速、随时间变化的数据流,如金融数据,文献
[5]
中提出了一种处理连续数据流的策略模型-持续查询,数据不断追加驱动查询的持续执行。由于流的不断追加性,不能一次将所有数据读入内存处理,对于阻塞操作符的执行,需实现非阻塞化,如滑动时间窗
[6]
。
1.2 Esper
框架
Esper
是一个事件流处理和复杂事件处理框架。它可以监测事件流并当特定事件发生时触发某些行动,可看作是反操作数据库,查询语句即规则可固定,并在引擎中预先注册,由数据流驱动引擎中规则的生效。所以它可理解为一种基于规则的事件处理引擎。
1.3
事件流
文中设计的系统首先需要将网络安全数据抽象为安全事件。事件流由数据流抽象而成,在接收数据流后加以处理,封装成不同事件类型,然后再针对不同事件类型的事件流由系统进行分别处理。
Esper
支持多种方式定义事件类型,如
POJO
、
XML
、哈希表等。
安全方面的很多应用都表现为典型的事件流处理,以前对事件的关联处理
[7]
、分析统计大都采取基于数据库策略的事后处理或基于内存的准实时处理技术。前者对数据库会造成很大压力;后者需要占用大量内存存储安全事件,频繁操作数据将大幅增加系统负担。文中采取推的查询方式执行,即由事件的追加推动相应查询语句的执行,并且以流的形式增量式产生查询结果,查询结果触发与规则关联的监听器,进行事件再处理,获得告警信息。这种事件流处理能提高处理效率,并真正实现实时事件处理分析。
2
系统设计思想
该系统作为网络安全监管系统的事件处理子系统,主要分采集代理和事件处理中心两大模块。一个处理中心管理多个采集代理,并按
ID
标识接收各代理发送的安全事件。
采集代理接收多种网络安全设备发送的告警,对其进行解析后组装成统一格式的事件。文中自定义了一种简单安全事件格式,用于事件统一封装。
事件处理中心从不同采集代理处接收事件流,进行处理统计并提供查询。实时处理是该系统的核心,它承载着对原始事件的实时归并、实时统计分析以及自动告警。实时事件处理中,各个环节都定义了处理规则,不同规则间相互联系,依次触发,通过这些规则的设定,配合
Esper
引擎共同处理海量安全事件,真正实现事件监控中对实时性和可读性的要求。具体处理流程如图
1
所示。
3
系统结构
系统的结构框如图
2
所示。
(1)
采集代理模块
采集接收网络中安全设备发送的原始告警
(
例如
IDS
,防火墙等
)
,并对不同格式的告警分别解析。解析后的各类事件通过归一化模块封装成一种统一格式的事件类型。
(2)
事件中心模块
该模块由
3
个子模块组成,分别是事件处理、前台和数据库。下面仅对事件处理进行说明,该子模块包括规则引擎实时查询处理、历史事件统计分析和告警,现分别阐述:
则引擎实时查询处理:统计处理从采集代理发送来的各类归一化事件。
(1)
事件归并。
EQL
语句如下:
select *
,
count(*) as countPerType from NormalizedEvent.win
:
time_batch(10 sec) group by column
。其中
countPerType
是各类型事件总数,
win
:
time_batch(10 sec)
是
EQL
的视图操作符,定义了
10 s
的时间窗分批处理;
column
用于分组的字段名称,可设定多个。
(2)
告警阈值查询。归并事件会自动触发本条查询规则的执行,判断哪些告警威胁等级超过阈值,超过的写入告警事件监听器,监听器将告警事件发送给告警模块。
(3)
实时事件统计分析。由
(1)
处理后的归并事件被发送到规则引擎后将触发统计分析规则的执行。该规则定义如下:
“select (a.countPerType + b.countPerType) from pattern [every a=EventDestip->b=EventSrcip(a.faci_ip=b.faci_ip) where timer
:
within(10 sec)]”
。
“every a=EventDestIp->b=EventSrcIp(a.faci_ip = b.faci_ip)”
指示每一个类型
a
事件和所有类型
b
事件匹配,判定是否满足括号内条件。
查询的结果会触发归并事件监听器,进行对事件信息的统计计算,统计指标包括:事件日总量、最大最小值、设备威胁等级、事件冗余度、设备可用度等。其中设备可用度的计算算法是为了适应该系统要求而设计出来的,如公式
(1)
所示:
(1)
是一定时间段内的事件数量;
RL
是设备威胁等级;是事件量的增幅
(
可以为负
)
;
Re
代表事件冗余度;
α
、
β
、
σ
、
Δ
为经验参数值,
C
是常数。计算后可得到较全面展现被监控设备的可用度。该监听器处理后的数据将封装进监控事件中并于前台显示。
历史事件统计分析模块是从数据库获取事件进行处理统计分析,有
3
个功能:事件关联,事件统计分析和事件查询。告警模块则主要承担超出威胁等级的事件告警。
4
系统应用分析
文中通过实验比较了事件流技术和准实时处理技术,如表
1
所示。实验结果显示,事件量较小时,两者均有较好的处理效率,随着事件量增多处理压力增大,事件流处理所占
CPU
、消耗内存都少于后者,而处理速率也快于后者,且随事件量增大优势更明显。
5
结语
文中设计并实现了一种基于事件流的网络安全事件监控系统,通过实验的比较可以得出结论:该设计与传统框架相比确实能够在尽量少的占用资源基础上更快速的处理网络告警事件,同时由于规则引擎的加入,只需要修改规则即可满足不同处理需求,具有良好的可扩展性。因此本论文提出的事件流处理系统能够真正实现海量事件的实时处理分析要求,会对事件处理速度要求高的领域,例如金融、网络安全监管等极大的增加工作效率,缩减工作成本。但文中的查询引擎还只是雏形,只支持一些基本的事件处理,下一步作者将考虑对查询引擎进一步优化,以求更全面的分析网络安全事件。
|
相关推荐
Esper的核心能力在于其能够高效地处理大量的事件数据,同时提供实时响应,使得它成为金融交易、网络安全监控、物联网数据分析等场景下的理想选择。 #### CEP与事件流分析 复杂事件处理是一种用于处理和分析大量...
- **应用场景**:Esper特别适用于需要处理大量数据流且对实时性有较高要求的场景,如金融交易、网络安全监控等。这些场景往往难以通过传统的数据库技术高效地实现。 #### 2. Esper作为实时事件驱动框架 - **实时...
- CEP 通常用于需要实时决策的应用场景,如金融交易监控、网络安全警报等。 **1.3 Esper引擎介绍** - **Esper引擎**: 一个开源的CEP平台,能够高效地处理和分析大量事件流。 - **主要特点**: - 支持多种事件表示...
规则管理包括增删改查操作,最终形成一个分布式关联分析引擎,由多个节点(node1, node2, node3)组成,接收并解析数据,执行规则,发送规则文件,并对网络流量日志进行系统安全监控。 04 未来发展方向与思考 面对...
### 数据中心系统平台技术方案关键知识点 ...综上所述,该数据中心系统平台技术方案旨在构建一个全面、高效且安全的数据中心,通过整合多种先进技术和服务,为企业提供全方位的数据支持和业务决策支持。
- **统一平台管控**:对数据、应用和资源进行统一管理,包括数据资产、开发、监控、调度、系统和安全管理。 1. **技术架构**: - **数据采集**:利用Flume、流式爬虫、中文分词和图片识别等技术,采集和解析不同...
- 网络:确保数据中心内部以及与外部系统的高效通信。 **企业级ETL平台:** - **功能:** 数据采集、加工、汇总、分发;数据标准化、集中化;数据脉络化、关系化。 - **处理能力:** 非实时数据处理与实时数据处理...
在实际应用中,PSP可能是一个框架或工具集,帮助开发者构建基于服务和事件的系统,有效地处理复杂的业务流程,并在CEP环境中进行监控和优化。它可能提供了服务的创建、部署、治理以及流程的建模、执行和优化等功能,...