OSSIM关联分析讨论

2023-12-09 20:58
文章标签 分析 讨论 关联 ossim

本文主要是介绍OSSIM关联分析讨论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在《开源安全运维平台OSSIM最佳实践》一书中叙述到,事件关联是整个OSSIM关联分析的核心,对于OSSIM的事件关联需要海量处理能力,主要便于现在需要及时存储从设备采集到的日志,并能关联匹配和输出,进而通过Web UI展示。从实时性上看,关联分析的整个处理过程不能间断,这对系统的实时性要求较高,另外Ossim系统是基于规则的,Ossim内部具有多套高速规则分析引擎,以实现模式匹配和对关联分析结果调用。所以系统的关联引擎是一个典型数据处理系统,必须依靠强大的数据库做支撑,在开源OSSIM系统中就采用了基于MySQL5.6数据库的数据库,在商业版采用MonogDB。

OSSIM整体架构:

从架构上来看,OSSIM系统是一个开放的框架,它的核心价值在于创新的集成各开源软件之所长,它里面的模块既有C/S架构,又有B/S架构,但作为最终用户主要掌握OSSIM WebUI主要采用B/S架构,Web服务器使用Apache。OSSIM系统结构示意图如下所示:


  第1层,属于数据采集层,使用各种采集技术采集流量信息、日志、各种资产信息,经过归一化处理后传入核心层。改层体现安全事件来源,入侵检测、防火墙、重要主机发出的日志都是安全事件来源,它们按发出机制分为两类:模式侦查器和异常监控(两者都采集警告信息,功能互补)由它们采集的安全事件,再被Agent转换为统一的格式发到OSSIM服务器,这一层就是Sensor要完成的内容。

  第2层,属于核心处理层,主要实现对各种数据的深入加工处理,包括运行监控、安全分析、策略管理、风险评估、关联分析、安全对象管理、脆弱性管理、事件管理、报表管理等。该层中OSSIM Server是主角,OSSIM服务器,主要功能是安全事件的集中并对集中后的事件进行关联分析、风险评估及严重性标注等。所谓的集中就是以一种统一格式组织所有系统产生的安全事件告警信息(Alarms)并将所有的网络安全事件告警存储到数据库,这样就完成了对网络中所产生事件的一个庞大视图。系统通过事件序列关联和启发式算法关联来更好的识别误报和侦查攻击的能力。
OSSIM本质上通过对各种探测器和监控产生的告警进行格式化处理,再进行关联分析,通过后期这些处理能提高检测性能,即减少告警数量,减小关联引擎的压力,从整体上提高告警质量。

  第3层,属于数据展现层,主要负责完成与用户之间的交互,达到安全预警和事件监控、安全运行监控、综合分析的统一展示,形式上以图形化方式展示给用户。Web框架(Framework)控制台界面即OSSIM的Web UI(Web User Interface,Web用户界面),其实就是OSSIM系统对外的门户站点,它主要由仪表盘、SIEM控制台、Alarm控制台、资产漏洞扫描管理、可靠性监控、报表及系统策略等部分组成。


    (一)关联引擎:

    关联引擎(Server)是OSSIM安全集成管理系统的核心部分,它支持分布式运行,负责将Agents传送来的归一化安全事件进行关联分析,并对网络资产进行安全评估。工作流程如下:

    

OSSIM服务器的核心组件功能包含:事件关联、风险评估和确定优先次序和身份管理、报警和调度、策略管理、IP信誉管理等,其配置文件在/etc/ossim/server目录中,文件分别为:
l alienvault-attacks.xml
l alienvault-bruteforce.xml
l alienvault-dos.xml
l alienvault-malware.xml
l alienvault-network.xml
l alienvault-scan.xml
l alienvault-policy.xml
以上这些文件由开源OSSIM免费提供,策略为84条,在USM中则具有2千多条,这一数量远高于国内的IDS硬件设备,在OSSIM中它们采用XML编写易于理解,维护简单,下图讲解了关联引擎的结构。


  40001/tcp:Server首先监听 40001/tcp 端口,接收Agent 连接和Framework请求。

  Connect:当连接到端口为40002指定的Agent时,连接到端口为40001的其他Server 对采集事件进行分配和传递。

  Listener:接收各个Agent的连接数据,并细分为Forwarding Server连接、Framework连接。

  DB Connect:主要是OSSIM DB连接、Snort DB连接和OSSEC DB连接。

  Agent Connect:启动Agent连接,Forwarding Server连接。

  Engine:事件的授权、关联、分类。

数据库:

    Ossim关联引擎(简称OSSIM Server)将事件关联结果写入数据库。系统用户可通过Framework(Web前端控制台)对Database进行访问。数据库中alienvault.event表是整个系统事件分析和策略调整的信息源。OSSIM从总体上将其划分为事件数据库(EDB)、知识数据库(KDB)、用户数据库(UDB)。OSSIM数据库用来记录与安全事件关联及配置等相关的信息,对应于设计阶段的KDB和EDB的关联事件部分;在Framework中使用ACID/BASE来作为Snort数据库的前端控制台,对应于设计阶段的EDB。此外ACL数据库相关表格可包含在OSSIM数据库中,用来记录用户行为,对应于设计阶段的UDB库。

    参考:https://my.oschina.net/chenguang/blog/653133

    参考:http://blog.51cto.com/chenguang/1738731

这篇关于OSSIM关联分析讨论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475026

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串