【THM】Introduction to SIEM(SIEM简介)-学习
本文相关的TryHackMe实验房间链接:https://tryhackme.com/r/room/introtosiem
本文相关内容:简单介绍SIEM-安全信息和事件管理(Security Information and Event Management)。

介绍
什么是SIEM?
SIEM代表安全信息和事件管理系统(Security Information and Event Management system),它是一种从网络上的各个端点/网络设备收集数据、将数据存储在集中位置并对数据执行关联分析的工具。本文将涵盖 理解SIEM及其工作原理所需的一些基本概念。
学习目标
本文内容将涵盖的一些学习目标如下:
- 什么是SIEM,它是如何工作的?
- 为什么需要SIEM ?
- 什么是网络可视性?
- 什么是日志源?日志提取是如何完成的?
- SIEM能够提供哪些功能?
答题
SIEM代表什么?
Security Information and Event Management system(安全信息和事件管理系统)

通过SIEM实现网络可视性
在解释SIEM的重要性之前,我们先来了解一下为什么更好地了解网络内的所有活动至关重要。下图显示了一个简单网络的示例,其中包含多个基于Linux/Windows的端点、一台数据服务器和一个Web站点,每个组件都通过路由器相互通信或访问互联网。

我们知道,每个网络组件可以有一个或多个日志源,它们会生成不同的日志。例如,可以设置Sysmon监控Windows事件日志,以便更好地了解Windows端点。我们可以将网络日志源分为两个逻辑部分:
1) 以主机为中心的日志源
这些日志源可用于捕获主机内部或与主机相关的事件。一些日志源可以生成以主机为中心的日志包括Windows事件日志、 Sysmon日志 、Osquery日志等。以下是一些以主机为中心的日志(host-centric logs)示例:
- 用户正在访问一个文件;
- 用户正在尝试进行身份验证;
- 进程执行活动;
- 添加/编辑/删除注册表项或值的进程;
- Powershell执行。
2) 以网络为中心的日志源
当主机之间进行通信或者主机访问互联网以浏览网站的时候,就会生成与网络相关的日志。它们与一些基于网络的协议密切相关,包括 SSH、VPN、HTTP/s、FTP等。此类事件的示例包括:
- SSH连接;
- 一个文件正在通过FTP被访问;
- Web流量;
- 用户通过VPN访问公司的资源;
- 网络文件共享活动。
SIEM的重要性
我们已经简单介绍过了各种类型的日志,现在是时候了解SIEM的重要性了。由于所有这些设备每秒都会生成数百个事件,因此在发生任何安全事件时逐个检查每台设备上的镜像日志可能会是一项繁琐的任务。这正是部署SIEM解决方案的优势之一,它不仅可以实时从各种来源中获取日志,还提供了关联各个事件、搜索日志、调查安全事件并快速进行响应的能力。
SIEM能够提供的一些关键功能包括:
- 实时日志提取;
- 针对异常活动的警报;
- 24/7 全天候监控和可视性;
- 通过早期检测防御最新威胁;
- 数据洞察和可视化;
- 调查过去发生的安全事件的能力。

tips:SIEM的简易工作流程——从各种来源中收集数据->聚合数据->发现和检测威胁->识别漏洞并调查警报。
答题
与注册表相关的活动会产生以主机为中心(host-centric)的日志还是以网络为中心(network-centric)的日志?(关于注册表相关日志的生成位置:主机还是网络)
host-centric
VPN 相关活动会产生以主机为中心(host-centric)的日志还是以网络为中心(network-centric)的日志?(关于VPN相关日志的生成位置:主机还是网络)
network-centric

日志源和日志提取
网络中的每个设备在执行活动时都会生成某种日志,例如用户访问网站、连接到SSH 、登录到他自己的工作站等。下面我们将讨论网络环境中的一些常见设备:
Windows 机器
Windows会记录所有可通过Event Viewer实用程序查看的事件。它会为每种类型的日志活动分配一个唯一的 ID,方便分析师检查和跟踪。要在Windows环境中查看事件,请在搜索栏中输入Event Viewer(事件查看器),它会将你带到存储并可以查看不同日志的系统工具界面,如下所示。来自所有Windows端点的这些日志都会被转发到 SIEM 解决方案,以便进行监控并获得更好的可视性。

Linux 工作站
Linux操作系统将存储所有的相关日志,例如事件、错误、警告等,这些日志随后会被导入SIEM以进行持续监控。
Linux 存储日志的一些常见位置如下所示:
- /var/log/httpd:包含HTTP请求/响应以及错误日志;
- /var/log/cron:与cron作业(cron jobs)相关的日志会存储在此位置;
- /var/log/auth.log and /var/log/secure:存储与身份验证相关的日志;
- /var/log/kern:该文件会存储与内核相关的日志。
以下是cron(计划任务)日志的一个示例:
May 28 13:04:20 ebr crond[2843]: /usr/sbin/crond 4.4 dillon's cron daemon, started with loglevel notice
May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-hourly)
May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-daily)
May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-weekly)
May 28 13:04:20 ebr crond[2843]: no timestamp found (user root job sys-monthly)
Jun 13 07:46:22 ebr crond[3592]: unable to exec /usr/sbin/sendmail: cron output for user root job sys-daily to /dev/null
Web 服务器
在这里,我们要密切关注所有进出Web服务器的请求/响应,以防范任何潜在的Web攻击尝试,这一点至关重要。在Linux服务器中,所有apache相关日志的常见写入位置是/var/log/apache或/var/log/httpd。
以下是Apache日志的一个示例:
192.168.21.200 - - [21/March/2022:10:17:10 -0300] "GET /cgi-bin/try/ HTTP/1.0" 200 3395
127.0.0.1 - - [21/March/2022:10:22:04 -0300] "GET / HTTP/1.0" 200 2216
日志提取
上面所有这些日志都提供了丰富的信息,有助于识别安全问题。每个SIEM解决方案都有其各自的日志提取方式,下面介绍了这些SIEM解决方案常用的一些日志提取方法:
1)代理/转发器:这些SIEM解决方案提供了一个被称为代理(forwarder by Splunk)的轻量级工具,该工具安装在端点中,它被配置为捕获所有重要的日志并将其发送到SIEM服务器。
2)Syslog: Syslog是一种被广泛使用的协议,用于从Web服务器、数据库等各种系统中收集数据,并会将实时数据发送到集中的目的地。
3)手动上传:一些SIEM解决方案,例如Splunk、ELK等,允许用户提取离线数据以进行快速分析,一旦数据被提取,它就会被标准化以变得可供分析。
4)端口转发: SIEM解决方案还可以被配置为监听某个端口,然后端点会将数据转发到 在被监听的端口上运行的SIEM实例。

下图显示了Splunk(可以作为一种SIEM解决方案)能够提供的各种日志提取方法的示例:

答题
HTTP 日志通常会存储在 Linux 环境中的哪个位置?
/var/log/httpd

为什么选择SIEM
SIEM可用于对收集到的数据进行关联分析,以检测威胁。一旦检测到威胁或超过特定阈值,就会发出警报。此警报使分析师能够根据调查结果采取适当的措施。SIEM在网络安全领域发挥着重要作用,它有助于及时检测和防御最新的威胁,它能够提供关于网络基础设施内部发生的事情的良好可视性。
SIEM的功能
SIEM是安全运营中心(SOC-Security Operations Center)生态系统的一个主要组成部分,如下图所示。SIEM首先会收集日志并检查是否有任何"事件/流"能够匹配规则中所设置的条件或超过特定阈值。
SIEM的一些常见功能包括:
- 构建来自于不同日志源的事件之间的关联性;
- 提供以主机为中心和以网络为中心的活动的可视性;
- 允许分析师调查最新的威胁并及时做出响应;
- 搜寻现有规则未检测到的威胁。

SOC分析师的职责
SOC分析师可以利用 SIEM 解决方案来获得关于网络内部发生的事情的良好可视性,SOC分析师的职责包括:
- 监控和调查;
- 识别误报(假警报);
- 调整导致干扰或误报(假警报)的规则;
- 报告和合规;
- 识别关于网络中的活动的可视性的盲点并覆盖它们。
SIEM:分析日志和警报
SIEM工具可以通过代理、端口转发等方式获取所有与安全相关的日志。成功提取到日志后,SIEM会借助分析师在规则中设置的条件,在日志中查找有害行为或可疑模式。如果满足条件,则会触发规则,并且可以开始调查安全事件。
仪表面板
仪表面板是任何SIEM工具中最重要的组件。SIEM会在数据被标准化以及被提取后,将数据呈现在仪表面板中以供分析。借助多个仪表面板,这些分析的摘要会以可操作的"详细见解"形式呈现。每个SIEM解决方案都会附带一些默认仪表面板,并会提供能够自定义仪表面板的选项。我们在仪表面板中可以找到的一些信息包括:
- 突出的警报;
- 系统通知;
- 健康的警报;
- 失败登录尝试列表;
- 事件提取数量;
- 已触发的规则;
- 访问次数最多的域名。
Qradar SIEM中的默认仪表面板示例如下所示:

关联规则
关联规则在及时检测威胁方面发挥着重要作用,它使分析师能够及时采取行动。关联规则本质上是一组被设定为触发条件的逻辑表达式,下面是关联规则的一些示例:
- 如果用户在 10 秒内登录尝试失败 5 次 - 发出警报
Multiple Failed Login Attempts。 - 如果用户在多次登录尝试失败后最终登录成功 - 发出警报
Successful Login After multiple Login Attempts。 - 设置规则以在每次用户插入 USB 时发出警报(如果 USB 根据公司政策被限制使用,那么这条规则就很有用)。
- 如果 出站流量 > 25 MB - 对"潜在的数据泄露尝试"发出警报(这通常取决于公司的政策)。
如何创建关联规则
为了解释规则的工作原理,请思考以下的事件日志(Eventlog)用例:
用例 1:攻击者倾向于在后渗透阶段删除日志,以消除其踪迹。唯一的事件ID 104 会在每次用户尝试删除或清除事件日志时进行记录。如果要基于此活动创建规则,我们可以设置如下的条件。
规则:如果日志源是 WinEventLog AND EventID 是104 - 则触发警报Event Log Cleared。
用例 2:攻击者在漏洞利用/权限提升阶段之后会使用类似于whoami这样的命令,将以下字段包含在规则中会很有帮助。
- Log source(日志源): 识别捕获事件日志的日志源;
- Event ID(事件 ID): 哪个事件 ID 与进程执行活动相关联?在这种情况下,事件 ID 4688 会为我们提供帮助。
- NewProcessName: 哪个进程名称被包含在规则中会很有帮助?
规则:如果日志源是WinEventLog AND EventCode 是4688,并且 NewProcessName 包含了whoami,则触发警报WHOAMI command Execution DETECTED。
关联规则会密切特定字段的值,并根据这些值触发关联规则,这就是为什么提取标准化的日志至关重要。
对警报进行调查
在监控SIEM界面时,分析师会把大部分时间都花在仪表面板上,因为它会以非常概括的方式显示有关网络的各种关键详细信息。一旦警报被触发,分析师就会检查与警报关联的事件/流,并会检查规则以查看哪些条件得到满足。根据调查结果,分析师会确定该警报是真警报还是假警报。
在分析完成后可以执行的一些操作包括:
- 警报是误报(False Alarm),可能需要调整规则以避免类似的误报再次发生。
- 警报是真警报,需要执行进一步调查。
- 联系资产所有者以询问有关该活动的信息。
- 已确认存在可疑活动,立即隔离受感染的主机。
- 封锁可疑的IP。
让我们继续学习下一个小节,并探索SIEM的工作原理。
答题
阅读本小节内容并回答以下问题。
当事件日志被删除时会生成哪一个事件 ID?
104
什么类型的警报可能需要调整?
tips:参考本小节最后一部分内容。
False Alarm(误报)

模拟练习示例
在与本文相关的TryHackMe实验房间中,单击“View Site button”按钮,这将在TryHackMe实验房间页面的屏幕右侧显示一个模拟站点。

在本小节所附加的模拟站点中,显示了一个SIEM仪表面板样本以及相关的事件,当发生可疑活动时,该面板样本就会触发警报,这意味着一些事件会与配置好的某些规则的条件成功匹配。请完成本小节的练习示例并回答下面的问题。
答题
如下所示,我们可以看到一个典型的SIEM仪表面板,请单击每个可视化选项以获得关于可视化显示内容的更详细的解释。






单击模拟站点页面中的“Start Suspicious Activity-启动可疑活动”,哪个进程引起了警报?(进程对应的是一个著名挖矿软件:https://www.cudominer.com/)
cudominer.exe
查找引起警报的事件,哪个用户负责相关进程的执行?
chris.fort
可疑用户的主机名是什么?
HR_02
检查规则以及可疑的进程,哪个术语与引起警报的规则相匹配?
#Rule
Alert "Potential CryptoMiner Activity" If EventID = 4688 AND Log_Source = WindowsEventLogs AND ProcessName = (*miner* OR *crypt*)
miner
用于表示此事件的最佳选项是什么?从以下选项中进行选择:
- False-Positive - 假警报/误报
- True-Positive - 真警报
True-Positive
在模拟站点页面选择正确的ACTION(操作)将为我们显示最终的FLAG,该FLAG的内容是什么?
THM{000_SIEM_INTRO} 。


本文小结
在本文中,我们简单介绍了SIEM是什么、SIEM的功能以及SIEM可提供的可见性。如果想深入了解如何调查安全事件,请继续探索以下学习资源:

简单介绍SIEM-安全信息和事件管理(Security Information and Event Management)。
浙公网安备 33010602011771号