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

相关文章

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

C#继承之里氏替换原则分析

《C#继承之里氏替换原则分析》:本文主要介绍C#继承之里氏替换原则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#里氏替换原则一.概念二.语法表现三.类型检查与转换总结C#里氏替换原则一.概念里氏替换原则是面向对象设计的基本原则之一:核心思想:所有引py

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序