安全事件标准化

简介:

安全事件标准化

 

      一般的日志系统,为了接收日志的效率,不去做日志的标准化工作,收集大量冗余日志在数据库,而庞大的数据库在检索时导致效率越来越低,更别提自动扫选出故障。当故障发生后很长时间,依然被动的在数据库中,人工查找可疑故障日志,效率低下。

      然而,在OSSIM系统中不仅需要统一格式,而且要专门的属性,这为系统中的关联分析引擎的数据源奠定了良好的基础,我们先看几个典型字段及说明:

  • Alarm 报警名称

  •  Event id 安全事件编号

  • Sensor id: 发出事件的传感器编号

  • Source IP :src_ip 安全事件源IP地址

  • Source Port :src_port 安全事件源端口

  • Type 类型分为两类一类是detector,另一类是monitor

  • Signature 触发安全事件的特征值

  • Reliability 安全事件的可信度(描述了一个检测到的攻击是否真的成功可能性,侧面反映了安全事件的严重性质)

为了更好的学习第2章介绍的SIEM控制台,下面先看几个统一格式安全事件的实例,

在Redis服务器中处理大量的非结构化数据,但最终经过一系列规则检测发出的报警,再经过聚合后产生的聚合报警具有统一格式,并集中存储在MySQL数据库中。下面给出典型的记录格式。

1)Raw Log典型记录格式如图1所示。

clip_image002

图1 Raw Log记录格式

2) SIEM事件归一化记录格式如图2、图3所示。

clip_image004

图2 事件归一化处理格式

clip_image006

clip_image008

图3 SIEM记录格式

在OSSIM中的事件是如何实现存储呢?传感器从各种网络设备和服务器上通过Rsyslog收集原始日志,存储在Sensor所在服务器的硬盘等待处理,当收到日志后,安装在探针服务器上的代理开始工作,利用事先设定好的安全插件开始对日志进行预处理(也就是进行归一化处理),流程如图4所示。

clip_image010 clip_image012

图4传感器日志采集流程

Agent将插件收到的日志送往Server再进行深度加工,将字段按照类别重新组合,成下面的格式(这样就从RAW Log变成了归一化处理的日志,归一化处理格式如表1所示。

表1 归一化处理日志格式

Date

Src_port

Sensor

Dst_ip

Interface

Dst_port

Plugin_id

username

Plugin_sid

password

Prority

filename

Protocol

Userdata1~Userdata5

Src_ip

Userdata6~Userdata9

 

 

归一化处理,重要字段含义如下:

  • 源和目标地址:在关联分析中属于很重要的内容。

  • 源和目标端口:可以分析访问和试图访问的那些服务端口。

  • 消息分类: 根据用户登录成功或失败或者尝试的消息分类。

  • 时间戳: 这里包括日志消息在设备上产生的时间和系统接收消息的时间(因为有各种延迟存在,时间不同)。

  • 优先级: 例如网络设备(交换机)的日志包含了优先级(设备供应商制定)。作为规范化的一部分也需要日志包含优先级。

  • 接口: 通过那个网络接口接收到的日志消息。

原始日志是规范化过程的一个重要环节,OSSIM在归一化处理日志的同时也保留了原始日志,可用于日志归档,提供了一种从规范化事件中提取原始日志的手段。

经过归一化处理的日志,再通过TCP 3306端口存储到MySQL数据库中,接着就由关联引擎根据规则、优先级、可靠性等参数进行交叉关联分析,得出风险值并发出各种报警提示信息(详情在后续章节再分析)。

clip_image014

图5 日志存储

接下来,我们再看个实例,下面是一段Apache的原始日志,如图6所示。

clip_image016

图6原始日志

先经过OSSIM系统收集加工后,再通过Web前端展现给大家,方便阅读的格式如图7所示。归一化处理后的事件和原始日志的对比方法我们在后面还会讲解。

clip_image018

图7 归一化处理以后的Apache访问日志

在图7所示的例子当中,仅使用了Userdata1和Userdata2,并没有用到Userdata3~Userdata9这些是扩展位,主要是为了预留给其他设备或服务使用。

clip_image020

图8 SIEM控制台下的主机标识形式

经过归一化处理之后,目标地址会标记成Host-IP地址的形式,例如:Host-192-168-0-1。实际上归一化处理这种操作发生在系统采集和存储事件之后,关联和数据分析之前,在SIEM工具中把采集过程中把数据转换成易读懂的格式,如同图7显示的那样,采用格式化的数据我们能更容易理解。如果您希望继续学习有关安全事件标准化的技术请参考《开源安全运维平台-OSSIM最佳实践》一书。



 本文转自 李晨光 51CTO博客,原文链接:http://blog.51cto.com/chenguang/1747362,如需转载请自行联系原作者



相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
4月前
|
供应链 数据可视化 数据挖掘
1688运营自学全套流程,新店如何快速获得转化的指南!
新手入驻1688常因缺乏运营框架而难出单。本文系统解析平台搜索机制、流量布局与店铺成长路径,涵盖类目定位、双端差异化运营、产品矩阵搭建及三阶段进阶策略,助力商家快速掌握核心逻辑,实现高效成交。
|
监控 安全 网络协议
常见防火墙攻击和增强防火墙安全性措施
防火墙是网络的守护者,能有效阻断不必要的端口和有害IP地址。但最出色的防火墙也可能被攻破或因流量过大而失效。例如,万豪国际曾因防火墙被突破,导致约5亿客户信息泄露,包括姓名、地址、护照号码等。攻击手段如DDoS、流量放大、应用层攻击等,可使防火墙不堪重负。为增强安全性,需及时更新防火墙等措施。EventLog Analyzer等日志检测工具可帮助监控防火墙和服务器日志,提供实时事件关联和告警,确保网络安全。
724 15
|
Linux
Linux:守护进程(进程组、会话和守护进程)
守护进程在 Linux 系统中扮演着重要角色,通过后台执行关键任务和服务,确保系统的稳定运行。理解进程组和会话的概念,是正确创建和管理守护进程的基础。使用现代的 `systemd` 或传统的 `init.d` 方法,可以有效地管理守护进程,提升系统的可靠性和可维护性。希望本文能帮助读者深入理解并掌握 Linux 守护进程的相关知识。
663 7
|
Ubuntu Python
ubuntu build install python3.12 and config pip
该脚本用于在 Ubuntu 上编译安装 Python 3.12,并配置 pip 使用国内镜像源。主要步骤包括安装依赖、下载并解压 Python 源码、编译安装、创建符号链接、配置 pip 源,以及验证安装和更新 pip。通过运行此脚本,可以快速完成 Python 3.12 的安装和配置。
2138 0
|
存储 缓存 Java
简单介绍一下什么是“工作内存”和“主内存”(JMM中的概念)
该文介绍了Java多线程中`volatile`关键字确保内存可见性的概念。
462 0
抓包神器wireshark安装保姆级教程
本文介绍了网络抓包工具Wireshark的安装和基本抓包步骤。首先,从官方网站下载适合操作系统的安装包,然后以管理员权限运行并按照向导进行安装,包括同意协议、选择安装路径和添加快捷方式。安装过程中会包含NPcap和USBPcap的安装。安装完成后,启动Wireshark,选择要抓包的网络接口,开始抓包。通过`捕获->选项`设置,然后开始抓取数据包。在执行如`ping`等网络命令后,Wireshark将显示抓取到的数据包。通过过滤条件可以筛选特定协议或IP的数据包,提高分析效率。本文为读者提供了Wireshark入门知识,后续将探讨更多高级功能。
|
安全 程序员 Python
PDF转Word,1行Python代码就够了,免费用
PDF转Word,1行Python代码就够了,免费用
422 2
|
算法 Java C++
从0到1学习Yalmip工具箱(1)-入门学习
Matlab+Yalmip求解优化问题(1)-入门学习 包括Yalmip工具箱的下载与安装、Yalmip使用方法介绍与3个测试题
|
存储 搜索推荐 网络协议
公网远程访问本地硬盘文件【内网穿透】
公网远程访问本地硬盘文件【内网穿透】
440 0
|
Java 调度
【Java面试】Runnable和Thread比较
【Java面试】Runnable和Thread比较
435 0
【Java面试】Runnable和Thread比较