Part.1
上一期更新到多源数据接入处理,最开始的问题是多个数据源代表相同含义的字段对应的名称不同,导致难以进行统一的数据分析、威胁狩猎。
通过对不同日志源的字段进行统一映射处理后,才解决了上述的问题。
Part.2
但这个时候又遇到的一个问题,不同供应商所提供的检测能力不一致,所提供的规则也不一致,结合上目前威胁以及攻击者的手段更加高明,攻击更加隐蔽,单一的供应商难以抵挡所有的威胁。因此对于检测规则的共享显得十分重要,这样子就可以快速添加其他人已经写好的规则。
因此Sigma的出现,就是为了解决这个问题。
Sigma 是一种通用且开放的签名格式,可让您以直接的方式描述相关日志事件。 规则格式非常灵活,易于编写,适用于任何类型的日志文件。 该项目的主要目的是提供一种结构化的形式,研究人员或分析人员可以在其中描述他们曾经开发的检测方法,并使它们可以与他人共享。
Sigma 用于日志文件,Snort 用于网络流量,YARA 用于文件。
Github地址:https://github.com/SigmaHQ/sigma
目前Sigma适用于以下平台:
Kibana
Elastic X-Pack Watcher
LogPoint
Windows Defender Advanced Threat Protection (WDATP)
Azure Sentinel / Azure Log Analytics
ArcSight
Splunk (Dashboard and Plugin)
ElasticSearch Query Strings
ElasticSearch Query DSL
QRadar
PowerShell
Grep with Perl-compatible regular expression support
Qualys
RSA 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/
点个在看你最好看