Sigma规则框架

admin 2024年10月21日18:16:44评论68 views字数 7356阅读24分31秒阅读模式

    导读:《取证实录》第13期上刊登了这篇文章。我这里又进行了一次修改,增加了一个“五、运用Sigma规则的工具举例。”部分,使“借助这个规则框架能够大大提升我们的现勘能力和水平”这个认识会更加具体到位。

    继上某期介绍ATT&CK,网络攻击行为的定义框架》之后,再次介绍一个我们经常碰到、非常重要、非常实用的规则框架Sigma;它ATT&CK框架的一个具体分支和应用型框架,是日志分析的世界通用流行性框架规则。借助这个规则框架能够大大提升我们的现勘能力和水平。

    整个文章分为五个段落:一、Sigma简介;二、规则建立;三、规则共享;四、Sigma规则库产品;五、运用Sigma规则的工具举例。

一、Sigma简介

1)含义:

Sigma 是一种通用开放的签名格式 2017 年引入,用于描述日志事件中的相关活动主要用于定义日志中的检测机制,以检测可疑或恶意活动通过一种灵活、简单的格式,能够适用于任何类型的日志文件允许安全分析人员和研究人编写检测规则以标准化的方式共享这些规则。

Sigma 被认为是日志分析中的 "Snort"(用于网络流量检测)和 "YARA"(用于文件检测)的等价物,旨在通过标准化格式共享和收集检测规则,从而提升检测能力。

简单概括:Sigma用于日志文件Snort用于网络流量,YARA用于文件。

(2)应用场景

Sigma规则是一种用于网络安全事件检测的强大工具,尤其在SIEM(安全信息和事件管理)系统中广泛应用。以下是Sigma规则的一些典型应用场景:

1. 入侵检测

  • 恶意软件活动:检测可疑的文件下载、执行或传播行为。

  • 网络扫描:识别潜在的网络探测和扫描活动。

  • 暴力破解尝试:监控登录失败次数过多或其他暴力破解迹象。

2. 异常行为分析

  • 数据泄露:监测未授权的数据传输或访问敏感信息的尝试。

  • 横向移动:检测攻击者在内部网络中的横向移动行为。

  • 异常登录:识别来自不寻常地理位置或时间的登录尝试。

3. 合规性监控

  • 政策违规:确保用户行为符合组织的安全政策和法规要求。

  • 审计跟踪:记录和分析关键系统和应用程序的活动以满足合规性标准。

4. 资源滥用

  • DDoS攻击:检测分布式拒绝服务攻击的迹象。

  • 滥用服务:监测对内部服务的恶意或不当使用。

5. 漏洞利用

  • 已知漏洞:快速响应已知漏洞的利用尝试。

  • 零日攻击:通过行为分析来识别未知的威胁和潜在的零日漏洞利用。

6. 日志分析和审计

  • 事件响应:在安全事件发生时提供详细的日志分析和上下文信息。

  • 操作审计:跟踪和分析系统管理员和其他关键人员的操作。

7. 威胁情报集成

  • 外部威胁:结合外部威胁情报源来增强对新兴威胁的防御能力。

  • APT攻击:监测高级持续性威胁(APT)活动的特征。

8. 自动化响应

  • 自动阻断:配置Sigma规则以在检测到特定威胁时自动触发阻断规则。

  • 警报通知:设置警报阈值和通知机制以便及时响应潜在的安全事件。

(3)为什么选择 Sigma

今,每个人都会收集日志数据进行分析但缺乏可以与他人分享其工作的标准化格式。一些工具提供了性能很强的分析,包括 IOC 和 YARA 规则来检测恶意文件和网络连接,但无法描述日志事件中的特定或通用检测方法。这时,Sigma 旨在成为一个开放标准,可以在其中定义、共享和收集此类检测机制,以提高每个人的检测能力。

(4)主要特

不断增长的检测和搜寻规则列表,由专业检测工程师社区进行同行评审。

l与供应商无关的检测规则。

l可轻松跨社区和报告共享

5下载地址

https://github.com/SigmaHQ/sigma

二、规则创建

1、模板

title:a short capitalised title with less than 50 characters

id:generate one here https://www.uuidgenerator.net/version4

status:experimental

description:A description of what your rule is meant to detect 

references:

  - A list of all references that can help a reader or analyst understand the meaning of a triggered rule

tags:

  - attack.execution  # example MITRE ATT&CK category

  - attack.t1059      # example MITRE ATT&CK technique id

  - car.2014-04-003   # example CAR id

author:Michael Haag, Florian Roth, Markus Neis  # example, a list of authors

date:2018/04/06  # Rule date

logsource:  # important for the field mapping in predefined or your additional config files

  category: process_creation  # In this example we choose the category 'process_creation'

     product: windows            # the respective product

detection:

  selection:

      FieldName: 'StringValue'

      FieldName: IntegerValue

      FieldName|modifier: 'Value'

condition: selection

fields:

  - fields in the log source that are important to investigate further

falsepositives:

  - describe possible false positive conditions to help the analysts in their investigation

level:one of five levels (informational, low, medium, high, critical)

2、模板含义:

每个规则 (yml) 都有以下部分:

title(标题):规则的名称。Windows Cmd Delete File。

lid:唯一标识规则的UUID。

lstatus(状态):experimental或者normal,在这种情况下,它是一个experimental规则。experimental

ldescription(描述):解释规则的上下文。

lauthor(作者):关于规则创建者的元数据。

ldate(时间):规则的创建日期。

lreferences(参考):参考链接https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1070.004/T1070.004.md

llogsource(日志来源):用于范围搜索,支持各种组合。

lcategory(类别):描述规则类别。类别示例包括:防火墙、防病毒、EDR、Web。

ldetection(检测):包含一组搜索标识符,表示对日志数据的搜索及其各自的评估机制,由两个属性控制:selection(选择)和condition(条件)。

selection(选择):在条件中链接的选择项。

ncondition(条件):判断满足哪些选择。

lfalsepositives(误报):描述字段,用于解释哪些事件或情况可能触发导致误报的规则。

llevel(级别):严重级别低、中、高或严重。low

ltags(标签):ATT&CK标签。

3、实例

我们来看个进程创建的例子:proc_creation_win_wsl_windows_binaries_execution.yml

title:Windows Binary Executed From WSL

id:ed825c86-c009-4014-b413-b76003e33d35

status:test

description: |

  Detects the execution of Windows binaries from within a WSL instance.

  This could be used to masquerade parent-child relationships

references:

  - Internal Research

author:Nasreddine Bencherchali (Nextron Systems)

date:2023-02-14

tags:

  - attack.execution

  - attack.defense-evasion

  - attack.t1202

logsource:

  category: process_creation

  product: windows

detection:

selection:

      Image|re: '[a-zA-Z]:\'

      CurrentDirectory|contains: '\\wsl.localhost' # Note: programs not supporting UNC paths (example: cmd.exe). Will default to another location

 condition: selection

falsepositives:

  - Unknown

level:medium

4、实战:用于检测创建本地用户账户的Sigma规则

MITRE ATT&CK中提到的创建用户,攻击者可能会创建一个本地帐户来维持对被攻击系统的访问。本地帐户是由组织配置供用户、远程支持、服务使用或用于管理单个系统或服务的帐户。

1)使用net user /add命令创建本地用户帐户。

C:Windowssystem32>net user admin admin1 /add

命令成功完成。

2)利用sigma构建一个框架:

title: 创建本地用户账户行为status: testdescription: 使用net user /add命令创建本地用户帐户references: - https://attack.mitre.org/techniques/T1136/001/date: 2022/06/27author: level: low

3)分析windows安全日志,是否记录了用户账户创建。windows安全日志4720记录了已创建用户账户admin。

(4)可将windows安全事件ID4720作为条件,来检测是否存在创建本地用户账户行为。完整的规则如下:

title: 创建本地用户账户行为status: testdescription: 使用net user /add命令创建本地用户帐户references: - https://attack.mitre.org/techniques/T1136/001/date: 2022/06/27author: logsource:    product: windows    service: securitydetection:    selection:        EventID: 4720 #已创建用户帐户。    condition: selectionfields:- EventCode- AccountName- AccountDomainfalsepositives:- 域控制器日志- 由特权帐户管理工具管理的本地用户账户level: low

三、规则共享

1、Sigma规则转换为不同的SIEM平台支持的搜索查询语句格式,支持以下SIEM平台:

lSplunk

lElasticSearch Query Strings and DSL

lKibana

lMicrosoft Defender Advanced Threat Protection (MDATP)

lAzure Sentinel

lQRadar

lLogPoint

lQualys

lRSA NetWitness

lLimaCharlie

lArcSight

lPowerShell and Grep

l......

Sigma支持以下日志类型:

防火墙日志

lWeb应用程序日志

l代理/VPN网络日志

l操作系统日志

事件日志

n进程创建和审核日志

n系统事件

Sigma规则框架

2、编译Sigma规则

为了将Sigma规则转换为任何SIEM平台所支持的搜索查询语句,必须使用Sigma编译器sigmac,这是Sigma本身附带的基于python的工具。

sigmac可以将规则转换为想要执行查询的SIEM平台支持的搜索查询语句,如Splunk、Qualys和Qradar等。sigmac还使用字段映射将规则中使用的字段转换为将要执行查询的平台内的实际字段。

要查看所有可用的目标、配置,运行以下命令即可:

python3 sigmac --lists

3、编译一个规则

为了转换为可支持的任何SIEM平台的搜索查询语句格式,可通过-t配置为可支持的任何SIEM平台,-c设置正确的字段映射:

$python3 sigmac -t splunk -c splunk-windows ~/sigma/rules/windows/process_creation/proc_creation_win_cmdkey_recon.yml

((Image="*\cmdkey.exe"OR OriginalFileName="cmdkey.exe")(CommandLine="* /l*"OR CommandLine="* -l*"))|table CommandLine,ParentCommandLine,User

这样就可以得到一个编译后的规则,在Splunk上查找cmdkey查看缓存凭证的执行情况。

可以选择监控这些类型的日志,并利用这些日志来检测攻击者:

操作系统日志

账户身份认证

大量的登录失败

u特殊账户的变更和使用,以及SID历史

n进程创建和执行

在非正常的位置执行

u可疑的进程关系

u具有未知哈希的已知可执行文件

u已知恶意哈希

n资源访问

nwindows事件

常见的服务设施

u新的域信任关系

u网络:端口扫描,主机发现

n代理日志

Web服务器访问日志

4xx 错误:可能是扫描探测行为

l5xx 错误:可能是利用行为

u应用程序错误日志

异常或其他特定的消息。eg:可疑的SQL错误消息

4、工具

CLI工具:https://github.com/SigmaHQ/sigma-cli

GUI工具:https://sigconverter.io/

四、Sigma规则库的产品

1)存储库提供了3000多个不同类型的检测规则。目前,存储库提供三类规则:

通用检测规则 -威胁不可知论者,其目的是检测曾经、能够或将要被潜在威胁行为者使用的行为或技术或程序的实施情况。

l猎取威胁规则 -范围更广,目的是让分析师有一个出发点,搜寻潜在的可疑或恶意活动

l新出现的威胁规则 -涵盖特定威胁的规则,在某些时期是及时和相关的。这些威胁包括具体的APT运动、利用零日漏洞、攻击中使用的特定恶意软件。..等等

2)产品列

lalterix - Converts Sigma rules to the query language of CRYPTTECH's SIEM

lAttackIQ - Sigma Rules integrated in AttackIQ's platform, and SigmAIQ for Sigma rule conversion and LLM apps

lAtomic Threat Coverage (Since December 2018)

lConfluent Sigma - Kafka Streams supported Sigma rules

lIBM QRadar

lImpede Detection Platform

lJoe Sandbox

lLimaCharlie

lMISP (Since Version 2.4.70, March 2017)

lNextron's Aurora Agent

lNextron's THOR Scanner - Scan with Sigma rules on endpoints

lRANK VASA

lSekoia.io XDR - XDR supporting Sigma and Sigma Correlation rules languages

lsigma2stix - Converts the entire SigmaHQ Ruleset into STIX 2.1 Objects.

lA versioned archive of sigma2stix STIX 2.1 data is also available to download here.

lSIΣGMA - SIEM consumable generator that utilizes Sigma for query conversion

lSOC Prime

lTA-Sigma-Searches (Splunk App)

lTimeSketch

lypsilon - Automated Use Case Testing

3ATT&CK理解+sigma规则研究

Threathunting-book目前已覆盖46个TID,124个场景主要涉及ATT&CK技术、场景测试、检测所需数据源、检测思路等。以AD域渗透技巧为中心+ATT&CK技术理解为主可以借鉴学习。

五、运用sigma规则的工具举例

这样的例子太多太多。

1、如我前面的文章《Windows事件日志快速时间线生成和威胁搜寻》,介绍了Hayabusa(Windows事件日志快速时间线生成器和威胁搜寻工具),这是一个运用了Sigma规则库的典型工具(https://github.com/Yamato-Security/hayabusa)。

Sigma规则框架

分析日志时使用的Sigma等规则的功能介绍

2、如我前面文章工具:识别Windows事件日志中的威胁》,介绍了一个我的自研工具EvtxAnalyser利用Sigma检测规则库快速识别Windows事件日志中的威胁内容,即通过事件日志关键字使用内置检测逻辑识别威胁。

Sigma规则框架

原文始发于微信公众号(MicroPest):Sigma规则框架

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日18:16:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Sigma规则框架http://cn-sec.com/archives/3293232.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息