利用Splunk构建SOC-SOC建设漫谈及splunk的角色

news2025/7/15 22:38:08

零、免喷符

SOC部门小菜鸟一枚,此乃自闭学安全的笔记记录,行文潦草,随性笔记。

通过上一篇的勒索病毒案例,已经了解到Splunk的强大之处。Splunk那么死贵,他的角色是怎样的,又是怎么和安全及SOC联系起来的,该如何利用它。

这个故事得从SOC开始说起。
SOC,就是那个SOC啊。。。。本人从2020年在某乙方安全中厂开始接触SOC运营至今,从一开始被如SIEM、态势感知、MSS、UEBA、SOAR等一堆名词弄一脸懵逼,到现在算是小有头绪,希望用大白话的方式(主要我也是野路子)能对正在进行SOC安全建设的小伙伴提供一些思路上的帮助。

1、上来就整一个暴论

私认为一个完善形态的SOC必不可少的几大项:SIEM、UEBA、SOAR、TIP、EDR

2、啥是SIEM

1、我,张三,信息安全主管,来到这家公司,才知道这里次次HVV行动都被Red Team打烂,才知道是被忽悠来,要对公司的安全建设进行升级。

2、公司安全建设现状:基本的安全设备(其他那些所谓高大上的安全设备先按下不表),能买的都买了,软的硬的都上了。

出口边界:已经有NGFW、IPS、DDOS,邮件防护网关等

DMZ区:已经有WAF、系统防护软件等

办公区:终端防护软件等终端几件套

运维区:DLP、运维审计系统等

3、我还能做些什么呢?还要上啥设备吗?

首先,肯定得招些安全运维,还要懂点安全分析的老哥,将安全运维常态化。7*24 实时监控,及时处理告警,定期出具安全报告。

问题是总不能让这个老哥一遍又一遍的轮询这些安全设备吧。那他不出一个月肯定想着跑路了。

4、不得不面对的现实,最残忍的就是收到市里应急响应中心的红头文件通报,什么监测到你司的公网IP在挖矿,或是僵尸网络,限期几天内整改,还要出份报告。那就得溯源分析了,主要的安全设备都过一遍,单单网络排查,流量进站方向查一查,出站筛选查一查,内部横向查一查,真是够忙活。

5、此时,引出了SIEM,以Splunk
enterprise为例,把所有安全设备的安全日志管理都收集起来统一存放到存储桶,字段提取,为每台设备提供一个仪表板区域。比如被通报的是僵尸网络,通报附上是广州出口IP连接到哪个外部IP,或是解析什么域名。假如是解析僵尸主机域名www.attack.com那么此时只需要简单地在搜索框输入以下命令,就会所有设备有关该域名的所有日志全都搜索出来,排查思路跟上篇大差不差。

index=guangzhou www.attack.com

6、SIEM的好处:

安全运维的老哥不需要做轮询机器人了,只需要一站式检索,即可了解攻击事件的攻击链;展示1块大屏仪表板显示各种如外部攻击源Top,外部攻击目的Top,内部攻击源Top等等,老板看的很爽,觉得钱没白投,安全工作成果一下子可视化了、等保要求的六个月日志储存要求也OK,等等。。。

7、SIEM的不足:

所有的安全信息来源于这种基于签名的传统安全设备日志,本质上还是一种被动防御,不能检测未知攻击或已知攻击变种,尤其是0-day攻击。需要不断更新攻击签名数据库,耗时耗力,在每次HVV行动,RedTeam的兄弟不是过狗就过WAF各显神通

日志告警噪声太大。SIEM是一个溯源的好帮手,但所有安全设备的告警都汇聚过来直出展示到大屏,海量告警直接把安全运维小哥干蒙了,在实时告警处理这块无从下手了,他排查速度都比不上日志滚动速度,特别检测到一些不合安全规范的代码,传统设备的静态规则会造成大量的误报,不到半个月运维小哥又想跑路了,麻蛋还不如我一台一台看设备算了,虽然轮询慢,但是不至于这么乱。

8、Splunk的做法

所谓日常安全运营安全分析岗,无非就关注这么几件事,看告警日志,对一些攻击次数高的外部IP进行封堵,对一些外部攻击事件结果为成功的事件进行确认,如是则进一步排查乃至溯源。定期变身文档工程师统计下攻击数据及封堵数据。

Splunk的搜索与报表功能、告警功能解决这些问题。比如我们可以通过上面的思路Splunk的SPL语句(类似SQL)为部署在边界的某厂牌防火墙实时筛选出暴力破解事件:
image.png

这里SPL语句的意思是,筛选这台防火墙UTM模块的安全日志,等级为高的,源地址为外部地址的,攻击签名带有暴力破解的事件,因为可能1个外部IP会有很多条日志,为了好看,使用Stats统计命令,将其他字段的值根据源IP来合并,然后当搜索暴力破解事件出现次数大于3时(HVV时调的低一点),就出告警,此搜索语句,每30分钟执行一次,搜索前30分钟内的事件
image.png

然后告警触发时,发送邮件给运维小哥和我张三
image.png

其他安全设备同理,此时的安全运营工作变成了导入安全设备的安全日志,保存,字段提取,搜索重要字段,转成计划任务,出告警邮件,处理。

这样他就不需要轮询安全设备了,也不需要被那个撑门面的大屏海量告警淹没了。他只需要收邮件来处理了,没邮件时,就可以摸鱼写博客了,比如现在(: 。。。

3、啥是UEBA

image.png

0、先前是对其他那些所谓高大上的安全设备先按下不表,现在正式开炮。二营长,拉意大利炮来。
第二个暴论,只要是还在基于签名规则库,没有内部用户角色识别,用户线性行为建模功能的一众态势感知也罢,行为感知也罢,都配不上这些名字。

1、无法被忽视的问题,基于静态签名的传统安全设备真是该报的不报(各种Bypass),不该报的报一堆(好吧有时是开发不规范的锅),大量误报干扰。(回忆起那段轮询设备运营的时光,某眼是最让我恶心的,100条告警一大半都是误报,就这也好意思叫态势感知)

2、我们知道,IPS也好,WAF也好,直连也好,旁路也好,本质上是对进出流量进行检测,对每个包进行规则库匹配。

3、UEBA同样是对流量进行检测,又是如何有别于传统安全设备,真正做到了真正的态势感知,行为感知的呢。正是实现了两个重要的功能,
内部用户角色识别,用户线性行为建模 ,至于外部IP识别,先按下不表
4、UEBA的工作模式

分别在接入层、汇聚层、核心层的交换机部署探针收集镜像流量,而Splunk的UEBA是利用Enterprise这个核心平台去收集这些网络流日志,然后使用UEBA模块进行分析
image.png

根据采集到的实时流量特征不断数据挖掘自学习,进行网段登记、主机标签自动化登记,不断动态描绘整个内部网络环境,举个例子,有一台内部主机不停的收到DHCP的请求流量,那么UEBA就会赋予它一个DHCP服务器的标签。比如一台服务器经常收到一些Kerberos请求,那么会赋予它Domain
control标签,这就是 内部用户角色识别 的大概意思。

我们知道传统安全设备对流量包进行实时的规则匹配出告警,比如WAF检测Web攻击如SQL注入,比如XSS攻击,但是会被Bypass。而ueba是怎么做的呢。他压根就没有这种规则。他是对每个角色的全流量行为进行检测,不只对某一瞬间的包进行规则匹配,还会对一段时间的行为进行记录。例如Splunk的UEBA模块,会对1小时内的数据进行关联分析,也会对24小时内的数据进行关联分析。对于关联分析结果严重程度,赋予事件不同的告警分数。这也是有别于传统安全设备分类为高中低的事件规则,他的规则是极度灵活的。

关于角色行为关联分析 。举个栗子,IP
192.168.1.10通过用户标签识别为web服务器,我们知道服务器主要是作为应答者,但是检测到一个报文是192.168.1.10主动向外部IP发起的连接,那么此时这个报文就会被列为可疑,然后会被ueba观察,经过一段时间内的观察,或者说某个规则检测的是这种情况在几分钟出现多少次,则出告警,那么这台服务器就会触发一个告警。

而如果是传统安全设备呢,他只知道是一个流量,使用规则匹配一下,没事就放走了,他压根就不知道这是台服务器。

什么叫用户行为分析,得先知道用户角色,这个角色哪些该做,哪些不该做的,那便是可疑了。而关联,必然具备时间线性的关联。

关于时间关联分析 ,再举个栗子,IP
192.168.100.10,被UEBA识别为服务器,从外部IP下载了个文件,然后马上就连接到外部其他IP,并且是加密流量,那么传统设备,以及那些依然基于攻击签名的所谓行为感知设备根本就无法把前后关联起来。并且,还能够对于相同规则产生告警的不同角色,以及其他的偏移量,赋予这个同名事件的不同事件分数。

关于误报处理 ,再举个例子,IP
192.168.200.2,内部的漏扫服务器,一般他基本不会产生流量交互,最多就是向外请求更新下漏洞库。所以UEBA的用户识别行为一般直接给他一个Desktop标签。但是内部主机漏扫任务启动,产生了大量内部扫描活动,UEBA出了相关行为告警,端口扫描事件,比如暴力破解事件。我们此时可以在UEBA上为这个IP赋予一个Security
Device标签,那么,UEBA就会根据这个标签,下次的漏扫任务将不再触发安全告警。

当然只是屏蔽了他主动发起的攻击行为,如果是有外部IP对他发起的攻击,一样会有规则适用于他,这就是UEBA基于角色行为的灵活和精准(再次不得不提一嘴某眼,只要一下发内部扫描,整个事件面板都会被这个IP占满,就离谱。)而UEBA的攻击告警展示也不再是一条一条这么罗列出来,主要是以IP资产的形式罗列出来,
这样完美解决了海量告警滚动到麻木 ,当然以事件规则的形式同一归类列出来,但是UEBA的规则非常的少。

5、优缺点总结:

优点:传统安全设备是对过往数据包进行规则匹配,误报多,Bypass率高。UEBA是基于角色行为模型自学习来匹配规则的,误报率低,真正实现了全流量行为感知。凡是还在基于签名库匹配的算不上真正的UEBA

缺点:他终究是个行为规则匹配的机器,只是基于用户角色观察网络行为,当行为与角色标签出现偏差时,并发出警报,同样会存在误报。(当然没有基于签名的安全设备高)。

4、TIP

1、现在我们的网络架构已经有了SIEM平台统一收集传统安全设备的安全日志,还会计划出告警邮件。同时我们也部署了UEBA,通过其数据挖掘功能,用户行为学习自画像功能,行为关联分析功能,产生的告警也推送邮件告警,大大降低了我们被Bypass的情况。

2、然而终究有误报,里面确也混杂了真实的安全攻击,只是加密了,一时间看不出了,毕竟SOC成员的分析研判能力也有上限。

3、假如有这么一种情况(实际上真有,每年HVV看到一大堆实习生,Payload都看不懂就在那摸鱼),SOC新招的成员李二狗,确实收到了大量可疑的事件,还是同一个外部IP访问过来的。李二狗看了看传统设备的日志,确实中了不少告警,UEBA也出了告警,检测到这是一个从来没访问过我们的这台服务器的罕见外部IP,李二狗就把这个IP添加到外部防火墙黑名单了。结果主管张三跑过来,问李二狗是不是封了这个IP,原来这是个正常的IP,是总部大领导在访问广州分部网站的,这把是真寄了。影响了大领导的使用体验。

4、经验老道的如花喊了声,你特么干嘛不扔到微步查一查。一查这个IP,是北京移动的出口IP。这就引出来新的问题,事件检测我们有SIEM和UEBA,已经非常的NICE了,事件研判处理时准确性严重不足。

5、网络交互中,源地址对目的地址做了什么事,特别是外部源地址的识别极其重要,UEBA做到了内部用户识别,对于外部IP识别是无法实现的,就需要威胁情报库做参考了。

6、当我们研判外部攻击事件时,威胁情报对此IP的判断对我们是否封堵IP起到了极其重要的作用。

7、Splunk的UEBA模块是没有情报库匹配的。别急,继续往下一节看。

5、啥是SOAR

image.png

攻击事件的研判,有了情报库,大大提升了我们研判的准确性。问题又来了,这两个步骤还是要靠人去做。收到告警,特别是疑似攻击成功的告警,还是外部IP的,就把IP扔到微步查一查,好的红色IP,OK封掉。这个步骤能不能省略掉,这就是SOAR的意义。

Splunk的SOAR是以Rest API的形式实现的。首先,从SIEM和UEBA中获取告警。就可以开始写剧本,这个剧本代表着分析过程以及匹配时做什么动作。

简单举例,假如是一个钓鱼邮件事件,邮件是成功投递给了目标用户,通过SIEM我们知道邮件安全网关上的日志关于此事件的Action是Allowed的。

那么我们可以这样写一个剧本,首先,通过api查询微步或者virustotal,查询邮件附件的Hash或者源IP情况,假如Hash有1个厂商报毒,那么就封堵这个源IP。假如Hash不报毒,但是源IP有5个厂商都报毒了,那么同样封堵这个源IP。

封堵IP的操作就是splunk再发起一个Http请求给边界防火墙,如果终端安全管理系统支持API,还可以下发扫描任务给邮件目标主机。

SOAR主机执行的剧本情况产生的Syslog日志还可以发邮件给客户作为提醒,或是审批,或是直接回传给SIEM核心平台,展示到大屏。

6、总结

自此,最理想的SOC中的主要模块都纳入了。他们不再是孤立的被动防御,是联动起来的主动防御。

传统设备支持已知攻击签名的安全检测

SIEM统一管理了他们的告警

UEBA支持安全告警挖掘,补充了未知行为、异常行为的检测

SOAR借助威胁情报降低了研判的难度,提高了研判准确性和应急响应处置速度

EDR没有讲,终端检测响应。Splunk是可以采集主机进程和网络日志来分析终端行为的。但我认为非常不现实,因为需要采集所有主机的进程日志,每台机子都部署一遍日志采集器。而且这是一个非常重要的安全检测部门,由专门的EDR设备来检测和响应就好,特别是现在的EDR往往兼具终端管理系统那部分工作,Splunk就更没有了。

EDR没有讲,终端检测响应。Splunk是可以采集主机进程和网络日志来分析终端行为的。但我认为非常不现实,因为需要采集所有主机的进程日志,每台机子都部署一遍日志采集器。而且这是一个非常重要的安全检测部门,由专门的EDR设备来检测和响应就好,特别是现在的EDR往往兼具终端管理系统那部分工作,Splunk就更没有了。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于BP神经网络的性别识别,BP神经网络详细原理,自编码神经网络代码,神经网络案例之18

目标 背影 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 数据 神经网络参数 基于BP神经网络 性别识别的MATLAB代码 效果图 结果分析 展望 背影 男人体内蛋白质比例大,女生…

Windows下 IDEA编译调试 hive2.3.9

Windows下 IDEA编译调试 hive2.3.9 环境 IDEA 2021.2 JDK1.8(试过用高版本的JDK17编译,不兼容编译不过) 一个Hadoop集群,涉及配置文件core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-sit…

并发与多线程

目录 第一节 并发基本概念及实现,进程,线程基本概念 (1)并发,进程,线程的基本概念和综述 (1.1)并发 (1.2)可执行程序 (1.3)进程 …

物理服务器与云服务器备份相同吗?

自从云计算兴起以来,服务器备份已经从两阶段的模拟操作演变为由云服务器备份软件执行的复杂的多个过程。但是支持物理服务器和虚拟服务器之间的备份相同吗?主要区别是什么?我们接下来将详细讨论这个问题。 物理服务器与云服务器备份的区别 如果您不熟悉虚拟服务器…

qt QCustomPlot学习

QCustomPlot 是一个基于Qt的画图和数据可视化C控件。QCustomPlot 致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。 该绘图库专注于制作美观、出版物质量高的2D绘图、图形和图表,并为实时可视…

数据库专题

请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别? 默认隔离级别 mysql repeatable-read oracle read-committed 脏读:不可重复读:幻读: CHAR 和 VARCHAR 的区别?…

公众号运营之竞品分析,教你拆解公众号

知己知彼,百战不殆,公众号运营亦是如此。 当运营者只关注自己账号的时候,很容易陷入某个误区中出不来。这个时候就要拓宽我们的视野,多去看看“外面的世界”,不要只局限于自己的一片小天地中。 看看同领域优秀公众号…

stm32f407探索者开发板(二十二)——通用定时器基本原理讲解

文章目录一、三种定时器的区别二、通用定时器特点2.1 功能特点描述2.2 计数器模式三、通用定时器工作过程四、附一、三种定时器的区别 STM32F40x系列总共最多有14个定时器 三种(4)STM32定时器区别 二、通用定时器特点 2.1 功能特点描述 STM3 F4的通…

PHY设备驱动

1. 概述 MAC控制器的驱动使用的是platform总线的连接方式,PHY设备驱动是基于device、driver、bus的连接方式。 其驱动涉及如下几个重要部分: 总线 - sturct mii_bus (mii stand for media independent interface) 设备 - struct phy_device 驱动 - struc…

零日漏洞发展格局及防御策略

在过去的一年半中, 在野利用的零日漏洞数量持续飙升 ,这些软件制造商尚不知晓的漏洞正在被国家行为体黑客组织和勒索软件团伙滥用。 今年上半年,Google Project Zero统计了近20个零日漏洞,其中 大部分针对微软、苹果和谷歌构建的…

【《C Primer Plus》读书笔记】第13章:文件输入/输出

【《C Primer Plus》读书笔记】第13章:文件输入/输出13.1 与文件进行通信13.1.1 文件是什么13.1.2 文本模式和二进制模式13.1.3 I/O的级别13.1.4 标准文件13.2 标准I/O13.3 一个简单的文件压缩程序13.4 文件I/O:fprintf()、fscanf()、fgets()和fputs()13…

【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL

一 LVGL简介最近emwin用的比较烦躁,同时被LVGL酷炫的界面吸引到了,所以准备换用LVGL试试水。LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效…

极光笔记 | 埋点体系建设与实施方法论

PART 01 前 言随着网络技术的发展,从粗犷型到精细化运营型,再到现在的数字化运营,数据变得越来越细分和重要,不仅可以进行策略调整,还可以实现自动化的精细化运营。而数据价值的起点就是埋点,只有合理地埋点…

[计算机网络(第八版)]第一章 概述(学习笔记)

1.1 计算机网络在信息时代中的作用 21世纪是以网络为核心的信息时代,21世纪的重要重要特征:数字化、网络化与信息化。 三大类网络 电信网络:向用户提供电话、电报、传真等服务;有线电视网络:向用户传送各种电视节目&am…

zabbix4.0-使用zabbix监控别的主机-使用模板来创建图形

目录 1、 配置zabbix的yum源 2、下载zabbix-agent 3、配置zabbix-agent的配置文件 4、关闭防火墙,selinux 5、重启zabbix-agent 6、连通性测试,在zabbix-server服务器上面使用zabbix_get获取zabbix-agent服务器上的数据 7、在zabbix web端配置zab…

Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Feb 2023)

Windows 11, version 22H2,2023 年 2 月 更新 请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 全新推出 Windows 11 全新 Windows 体验&#x…

考PMP的用处有哪些?备考攻略+资料分享

说到底,考PMP就是为了给工作提供便利,你考了之后会用它,将学习的东西运用到工作中,比如提高项目完成率,能升职加薪啊等等,那自然很是有用的。 不用,那就只是一张当摆设的纸,当然&am…

项目经理如何度量项目?及项目度量指标实例【静说】

度量项目是项目经理的一个重要职责,通过度量项目,项目经理可以了解项目的进展情况,及时发现问题并采取相应的措施,以确保项目能够按时、按质、按预算完成。 分享给大家一些常见的项目度量指标: 1. 项目进度&#xff…

docker-compose 简单配置php和nginx及注意事项

docker-compose.yml内容: /docker/web/config/nginx/conf/default.conf内容: server { listen 80; server_name localhost; root /usr/share/nginx/html; error_log /var/log/nginx/localhost.log; location / { try_files $…

ESP32-FPV-Camera介绍和使用

ESP32-FPV-Camera介绍和使用1. 编译目标2. 编译步骤Step 1 软件配置环境准备Step 2 获取开源代码Step 3 2.4G WiFi频段选择Step 4 要确保2.4G WiFi网卡处于Monitor状态Step 5 修改频点相关代码Step 6 修改WiFi网卡相关代码Step 7 OpenGL 版本问题Step 8 构建天空端Step 9 构建地…