开源SOC实现(十)-SIEM Rule&SIGMA
2023-6-18 20:2:2 Author: Kali渗透测试教程(查看原文) 阅读量:14 收藏

Part.1

上一期更新到多源数据接入处理,最开始的问题是多个数据源代表相同含义的字段对应的名称不同,导致难以进行统一的数据分析、威胁狩猎。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

通过对不同日志源的字段进行统一映射处理后,才解决了上述的问题。

Part.2

但这个时候又遇到的一个问题,不同供应商所提供的检测能力不一致,所提供的规则也不一致,结合上目前威胁以及攻击者的手段更加高明,攻击更加隐蔽,单一的供应商难以抵挡所有的威胁。因此对于检测规则的共享显得十分重要,这样子就可以快速添加其他人已经写好的规则。

因此Sigma的出现,就是为了解决这个问题。

Sigma 是一种通用且开放的签名格式,可让您以直接的方式描述相关日志事件。 规则格式非常灵活,易于编写,适用于任何类型的日志文件。 该项目的主要目的是提供一种结构化的形式,研究人员或分析人员可以在其中描述他们曾经开发的检测方法,并使它们可以与他人共享。

Sigma 用于日志文件,Snort 用于网络流量,YARA 用于文件。

Github地址:https://github.com/SigmaHQ/sigma

目前Sigma适用于以下平台:

KibanaElastic X-Pack WatcherLogPointWindows Defender Advanced Threat Protection (WDATP)Azure Sentinel / Azure Log AnalyticsArcSightSplunk (Dashboard and Plugin)ElasticSearch Query StringsElasticSearch Query DSLQRadarPowerShellGrep with Perl-compatible regular expression supportQualysRSA NetWitness

整体流程如下图所示:

目前Sigma的规则都在Github仓库下的Rules文件夹中,Sigma提供的规则字段也相对易懂,比如在检测是否为虚拟化环境的检测脚本中,如下图所示

可以很清晰的看到该脚本的标题为Powershell Detect Virtualization Environment,日志源为Windows,检测的条件为同时检测到selection_action以及selection_module中的任意内容,比如执行的PowerShell语句为Get-WmiObject MSAcpi_ThermalZoneTemperature就可以被正确检出攻击者正在检测目前环境是否为虚拟化环境。

    selection_action:        ScriptBlockText|contains:            - Get-WmiObject            - gwmi    selection_module:        ScriptBlockText|contains:            - MSAcpi_ThermalZoneTemperature            - Win32_ComputerSystem    condition: all of selection*

同时官方提供Sigma语法允许使用者自定义编写检测语法

1、title(标题)部分描述了该检测规则的标题名称

2、logsource(日志来源)部分描述了应该搜索和分析哪些日志。 有几个可选字段指定哪种类型的日志与 Sigma 规则相关。 虽然这些字段是可选的,但规则应该至少包括其中一个,因为它提供与检测相关的重要信息,并将帮助规则的用户将规则集成到他的基础设施中。

产品:特定的软件或服务。 例如:Windows、Apache、Zeek。

类别:指定一组产品的日志。 例如:firewall、process_creation、file_event。

服务:从产品中选择子集。

Definition(定义):有关日志的注释和附加信息的位置。

3、detection(检测)部分定义了我们在日志中查找的内容。 此部分将包含一个或多个通常称为“选择”或“过滤器”的块,但它可以有任何其他名称。 每个块将包含检测特定事件所需的相关字段和信息。 在查找匹配项时,我们可以使用以下字段和属性查找特定字符串、事件 ID 或它们的组合。

Part.3

官方提供两个工具,Sigma CLI 以及pySigma 用于转换规则,不想安装工具的话可以使用在线网站uncoder.io进行转换。

./sigmac -t <target> -c <path to configuration file> <path to the rule>

https://www.nextron-systems.com/2018/02/10/write-sigma-rules/https://uncoder.io/

编写完成后可以分享在社区中,便于他人获取。

Part.4

之前所有的检测都交由Wazuh-Manager进行完成,通过上述了解知道Sigma Rule具备更多、更灵活,易于编写,适用于任何类型的日志文件等特点,可以通过社区共享以及自定义编写检出语句来加强检测效果。

于是需要一个工具把Sigma Rule转换成Wauh可以识别的检测语句。

欢迎订阅收看开源SOC实现(十一)-Wazuh集成Sigma规则

参考链接:

https://www.systemconf.com/2021/03/21/what-is-sigma-threat-hunting-in-siem-products-with-sigma-rules-example-sigma-rules/https://www.nextron-systems.com/2018/02/10/write-sigma-rules/

点个在看你最好看


文章来源: http://mp.weixin.qq.com/s?__biz=MzI3NDYwMzI4Mg==&mid=2247486382&idx=1&sn=f223f6c8ed81d96d817869581c8ae659&chksm=eb10c7d3dc674ec551dbec26cbfb2ca944d6b85396d2c7ca0642ffd955e2626d8a7f6068ee8b#rd
如有侵权请联系:admin#unsafe.sh