Link Search Menu Expand Document Documentation Menu

使用检测规则

“**检测规则**”窗口列出了所有用于创建检测的安全规则,并提供了过滤列表和查看每条规则详细信息的选项。其他选项允许您导入规则,以及通过复制现有 Sigma 规则然后进行修改来创建新规则。本节介绍“**规则**”页面的导航,并提供您可以执行的操作的说明。

The Rules page


查看和筛选规则

当您打开“**检测规则**”页面时,所有规则都列在表格中。使用搜索栏输入规则的完整或部分名称,然后按键盘上的 **Return/Enter** 键来搜索特定规则。列表将进行筛选并显示匹配结果。

此外,您可以使用“**规则类型**”、“**规则严重性**”和“**来源**”下拉列表来深入查看告警并筛选出所需的结果。您可以从每个列表中选择多个选项,并组合使用这三个选项来缩小结果范围。

Rule menus for filtering results

规则详情

要查看规则详情,请在列表的“规则名称”列中选择该规则。规则详情面板将打开。

The rule details pane

在“可视化视图”中,规则详情以字段形式排列,并且链接是活动的。选择 **YAML** 以 YAML 文件格式显示规则。

The rule details pane in YAML file view

  • 规则详情根据 Sigma 规则规范格式化为 YAML 文件。
  • 要复制规则,请选择规则右上角的复制图标。要快速创建新的自定义规则,您可以将规则粘贴到 YAML 编辑器中并在保存之前进行任何修改。有关更多信息,请参阅自定义规则

创建检测规则

在“**检测规则**”页面上创建规则有多种方法。这些方法包括手动创建自定义规则、导入规则以及复制现有规则进行自定义。以下各节详细讨论这些方法。

自定义规则

创建规则的第一种方法是使用“可视化编辑器”或“YAML 编辑器”手动填写完成规则所需的字段来创建自定义规则。为此,请选择屏幕右上角的“**创建检测规则**”。“**创建检测规则**”窗口将打开。

如果您选择手动创建规则,可以参考 Sigma 的规则创建指南,了解每个字段的详细信息。

可视化编辑器

当“**创建检测规则**”窗口打开时,默认显示“**可视化编辑器**”。“**可视化编辑器**”中的必填字段对应于格式化为 Sigma 规则的 YAML 文件中的基本字段。这些步骤中的说明会在可能不那么明显时提及这种对应关系。

  1. 在“**规则概述**”部分,输入规则的名称、描述(可选)和规则作者。“**规则名称**”对应于 YAML 文件中格式化为 Sigma 规则的标题。下图提供了已填充字段的示例。

    The Rule overview fields in the Create detection rule window, which include the rule name, description, and author fields.

  2. 在“**详情**”部分,输入数据源的日志类型、规则级别和规则状态。“**日志类型**”对应于 logsource 字段(具体来说是 logsource: product 字段),而规则级别和规则状态分别对应于 levelstatus。Sigma 规则中的级别包括*信息性*、*低*、*中*、*高*和*关键*。下图提供了一个示例。

    The Details fields in the Create detection rule window, which include the log type, rule level, and rule status fields.

  3. 在“**检测**”部分,指定键值对以表示日志源中的字段及其值,这些字段和值将作为检测目标。这些键值对定义了检测。您可以将键值表示为单个值或包含多个值的列表。

    要定义一个简单的键值对,首先将光标放在 **Selection_1** 标签上,并将其替换为描述该键值对的选取名称。接下来,从日志源中输入一个首选字段作为“**键**”,然后使用“**修饰符**”下拉列表定义值的处理方式。提供以下修饰符:

    • contains – 在值的两侧添加通配符,以便在字段中的任何位置匹配。
    • all – 对于列表,逻辑不再是 OR 分隔值,而是变为 AND,并查找与所有值的匹配项。
    • endswith – 表示当值出现在字段末尾时匹配。
    • startswith – 表示当值出现在字段开头时匹配。

    选择修饰符后,选择“**值**”单选按钮,然后在其后的文本字段中输入键的值。

    您可以通过选择“**添加映射**”来添加字段以映射第二个键值对。按照此步骤中的先前指南映射键值对。下图显示了此两个键值对的定义在“**创建检测规则**”窗口中的显示方式。

    An example of the Detection fields.

    要查看此定义与在 YAML 文件中配置方式的对比,请参阅以下示例:

    detection:
       selection:
        selection_schtasks:
          Image|endswith: \schtasks.exe
          CommandLine|contains: '/Create '
    

    要添加第二个选取,请使用第一个选取后面的“**添加选取**”栏以打开另一个键值对映射。对于此选取,值以列表形式提供。如第一个选取中所述,将 **Selection_2** 标签替换为选取名称,输入日志中的字段名称作为键,然后从“**修饰符**”下拉列表中选择一个修饰符。

    然后,要使用列表而不是单个值来定义键值对,请选择“**列表**”单选按钮。“**上传文件**”按钮出现,并且文本框会展开以容纳列表。

    您可以上传 .csv 或 .txt 格式的现有值列表。选择“**上传文件**”并按照提示将文件内容上传到文本字段中。或者,您可以直接在文本字段中手动编写列表。下图显示了包含值列表的键值对映射的显示方式。

    An example of the Detection fields.

    要查看包含上述两个选取的定义与在 YAML 文件中配置方式的对比,请参阅以下示例:

    detection:
      selection:
        selection_schtasks:
          Image|endswith: \schtasks.exe
          CommandLine|contains: '/Create '
        selection_rare:
          CommandLine|contains:
          - ' bypass '
          - .DownloadString
          - .DownloadFile
          - FromBase64String
          - ' -w hidden '
          - ' IEX'
          - ' -enc '
          - ' -decode '
          - '/c start /min '
          - ' curl '
    
  4. 在“**条件**”部分,指定检测定义中包含的选取的条件。这些条件决定了检测规则如何处理已定义的选取。至少需要一个选取。在前面的示例中,这意味着在“**条件**”部分中必须添加 selection_schtasksselection_rare 这两个选取中的至少一个。

    选择“**选取**”旁边的 + 号以添加第一个选取。再次选择 + 号以从检测定义中添加更多选取。一旦两个选取作为条件出现,布尔运算符 AND 将出现在它们之间,表示两者都将用于检测规则查询。您可以选择运算符的标签以打开运算符下拉列表,并从 ANDORNOT 选项中进行选择。下图显示了此选项的显示方式。

    specifying the conditions for the selections in the detection definition.

  5. 指定检测规则的可选字段。

    • 在“**标签**”部分,添加标签以将检测规则与网络安全知识库(例如 MITRE ATT&CK)记录的任何攻击技术相关联。选择“**添加标签**”以添加多个标签。
    • 在“**参考**”部分,您可以为规则参考添加 URL。选择“**添加 URL**”以添加多个 URL。
    • “**误报情况**”部分提供了一个空间,用于列出可能触发规则不必要告警的误报条件的描述。选择“**添加误报**”以添加多个描述。
  6. 一旦规则完成并符合您的要求,请选择窗口右下角的“**创建检测规则**”以保存规则。新规则将自动分配一个规则 ID,并显示在检测规则列表中。

YAML 编辑器

“**创建检测规则**”窗口还包含 YAML 编辑器,因此您可以直接以 YAML 文件格式创建新规则。选择“**YAML 编辑器**”,然后输入预填充字段类型的信息。规则的 id 在规则保存时提供和分配。以下示例显示了典型规则的基本元素:

title: RDP Sensitive Settings Changed
logsource:
  product: windows
description: 'Detects changes to RDP terminal service sensitive settings'
detection:
  selection:
    EventType: SetValue
    TargetObject|contains:
      - \services\TermService\Parameters\ServiceDll
      - \Control\Terminal Server\fSingleSessionPerUser
      - \Control\Terminal Server\fDenyTSConnections
      - \Policies\Microsoft\Windows NT\Terminal Services\Shadow
      - \Control\Terminal Server\WinStations\RDP-Tcp\InitialProgram
  condition: selection
level: high
tags:
  - attack.defense_evasion
  - attack.t1112
references:
  - https://blog.menasec.net/2019/02/threat-hunting-rdp-hijacking-via.html
  - https://knowledge.insourcess.com/Supporting_Technologies/Wonderware/Tech_Notes/TN_WW213_How_to_shadow_an_established_RDP_Session_on_Windows_10_Pro
  - https://twitter.com/SagieSec/status/1469001618863624194?t=HRf0eA0W1YYzkTSHb-Ky1A&s=03
  - http://etutorials.org/Microsoft+Products/microsoft+windows+server+2003+terminal+services/Chapter+6+Registry/Registry+Keys+for+Terminal+Services/
falsepositives:
  - Unknown
author:
  - Samir Bousseaden 
  - David ANDRE
status: experimental

为了协助您使用“**YAML 编辑器**”创建规则,您可以参考 Sigma 的规则创建指南,并使用每个字段的描述来了解更多关于定义规则的信息。

导入规则

Security Analytics 也支持导入 YAML 格式的 Sigma 规则。在检测规则窗口中,按照以下步骤导入规则。

  1. 首先,选择页面右上角的导入检测规则导入规则页面将打开。
  2. 将 YAML 格式的 Sigma 规则拖放到窗口中,或通过选择链接并打开文件来浏览文件。导入规则窗口将打开,规则定义字段在可视化编辑器和 YAML 编辑器中都会自动填充。
  3. 验证或修改字段中的信息。
  4. 确认规则信息准确无误后,选择窗口右下角的创建检测规则。将创建一条新规则,并显示在检测规则列表中。

自定义规则

创建新检测规则的另一种选择是复制 Sigma 规则,然后对其进行修改以创建自定义规则。首先在规则名称列表中搜索或筛选规则,以找到要复制的规则。下图显示了按关键字筛选的列表。

Selecting a rule in the Rules name list

  1. 首先,选择规则名称列中的规则。将显示规则详细信息。

    Opening the rule details pane

  2. 选择窗格右上角的复制按钮。复制规则窗口将在可视化编辑器视图中打开,所有字段都将自动填充规则的详细信息。详细信息也将在 YAML 编辑器视图中填充。

    Selecting the duplicate button opens the Duplicate rule window

  3. 在可视化编辑器视图或 YAML 编辑器视图中,修改任何字段以自定义规则。
  4. 对规则进行任何修改后,选择窗口右下角的创建检测规则。将创建一条新的自定义规则。它将显示在检测规则窗口主页上的规则列表中。

    The custom rule now appears in the list of rules.

您不能修改 Sigma 规则本身。原始 Sigma 规则始终保留在系统中。其副本在修改后将成为添加到规则列表中的自定义规则。

剩余 350 字符

有问题?

想贡献吗?