使用检测规则
“**检测规则**”窗口列出了所有用于创建检测的安全规则,并提供了过滤列表和查看每条规则详细信息的选项。其他选项允许您导入规则,以及通过复制现有 Sigma 规则然后进行修改来创建新规则。本节介绍“**规则**”页面的导航,并提供您可以执行的操作的说明。
查看和筛选规则
当您打开“**检测规则**”页面时,所有规则都列在表格中。使用搜索栏输入规则的完整或部分名称,然后按键盘上的 **Return/Enter** 键来搜索特定规则。列表将进行筛选并显示匹配结果。
此外,您可以使用“**规则类型**”、“**规则严重性**”和“**来源**”下拉列表来深入查看告警并筛选出所需的结果。您可以从每个列表中选择多个选项,并组合使用这三个选项来缩小结果范围。
规则详情
要查看规则详情,请在列表的“规则名称”列中选择该规则。规则详情面板将打开。
在“可视化视图”中,规则详情以字段形式排列,并且链接是活动的。选择 **YAML** 以 YAML 文件格式显示规则。
- 规则详情根据 Sigma 规则规范格式化为 YAML 文件。
- 要复制规则,请选择规则右上角的复制图标。要快速创建新的自定义规则,您可以将规则粘贴到 YAML 编辑器中并在保存之前进行任何修改。有关更多信息,请参阅自定义规则。
创建检测规则
在“**检测规则**”页面上创建规则有多种方法。这些方法包括手动创建自定义规则、导入规则以及复制现有规则进行自定义。以下各节详细讨论这些方法。
自定义规则
创建规则的第一种方法是使用“可视化编辑器”或“YAML 编辑器”手动填写完成规则所需的字段来创建自定义规则。为此,请选择屏幕右上角的“**创建检测规则**”。“**创建检测规则**”窗口将打开。
如果您选择手动创建规则,可以参考 Sigma 的规则创建指南,了解每个字段的详细信息。
可视化编辑器
当“**创建检测规则**”窗口打开时,默认显示“**可视化编辑器**”。“**可视化编辑器**”中的必填字段对应于格式化为 Sigma 规则的 YAML 文件中的基本字段。这些步骤中的说明会在可能不那么明显时提及这种对应关系。
-
在“**规则概述**”部分,输入规则的名称、描述(可选)和规则作者。“**规则名称**”对应于 YAML 文件中格式化为 Sigma 规则的标题。下图提供了已填充字段的示例。
-
在“**详情**”部分,输入数据源的日志类型、规则级别和规则状态。“**日志类型**”对应于
logsource
字段(具体来说是logsource: product
字段),而规则级别和规则状态分别对应于level
和status
。Sigma 规则中的级别包括*信息性*、*低*、*中*、*高*和*关键*。下图提供了一个示例。 -
在“**检测**”部分,指定键值对以表示日志源中的字段及其值,这些字段和值将作为检测目标。这些键值对定义了检测。您可以将键值表示为单个值或包含多个值的列表。
要定义一个简单的键值对,首先将光标放在 **Selection_1** 标签上,并将其替换为描述该键值对的选取名称。接下来,从日志源中输入一个首选字段作为“**键**”,然后使用“**修饰符**”下拉列表定义值的处理方式。提供以下修饰符:
contains
– 在值的两侧添加通配符,以便在字段中的任何位置匹配。all
– 对于列表,逻辑不再是 OR 分隔值,而是变为 AND,并查找与所有值的匹配项。endswith
– 表示当值出现在字段末尾时匹配。startswith
– 表示当值出现在字段开头时匹配。
选择修饰符后,选择“**值**”单选按钮,然后在其后的文本字段中输入键的值。
您可以通过选择“**添加映射**”来添加字段以映射第二个键值对。按照此步骤中的先前指南映射键值对。下图显示了此两个键值对的定义在“**创建检测规则**”窗口中的显示方式。
要查看此定义与在 YAML 文件中配置方式的对比,请参阅以下示例:
detection: selection: selection_schtasks: Image|endswith: \schtasks.exe CommandLine|contains: '/Create '
要添加第二个选取,请使用第一个选取后面的“**添加选取**”栏以打开另一个键值对映射。对于此选取,值以列表形式提供。如第一个选取中所述,将 **Selection_2** 标签替换为选取名称,输入日志中的字段名称作为键,然后从“**修饰符**”下拉列表中选择一个修饰符。
然后,要使用列表而不是单个值来定义键值对,请选择“**列表**”单选按钮。“**上传文件**”按钮出现,并且文本框会展开以容纳列表。
您可以上传 .csv 或 .txt 格式的现有值列表。选择“**上传文件**”并按照提示将文件内容上传到文本字段中。或者,您可以直接在文本字段中手动编写列表。下图显示了包含值列表的键值对映射的显示方式。
要查看包含上述两个选取的定义与在 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 '
-
在“**条件**”部分,指定检测定义中包含的选取的条件。这些条件决定了检测规则如何处理已定义的选取。至少需要一个选取。在前面的示例中,这意味着在“**条件**”部分中必须添加
selection_schtasks
和selection_rare
这两个选取中的至少一个。选择“**选取**”旁边的
+
号以添加第一个选取。再次选择+
号以从检测定义中添加更多选取。一旦两个选取作为条件出现,布尔运算符 AND 将出现在它们之间,表示两者都将用于检测规则查询。您可以选择运算符的标签以打开运算符下拉列表,并从AND
、OR
和NOT
选项中进行选择。下图显示了此选项的显示方式。 -
指定检测规则的可选字段。
- 在“**标签**”部分,添加标签以将检测规则与网络安全知识库(例如 MITRE ATT&CK)记录的任何攻击技术相关联。选择“**添加标签**”以添加多个标签。
- 在“**参考**”部分,您可以为规则参考添加 URL。选择“**添加 URL**”以添加多个 URL。
- “**误报情况**”部分提供了一个空间,用于列出可能触发规则不必要告警的误报条件的描述。选择“**添加误报**”以添加多个描述。
-
一旦规则完成并符合您的要求,请选择窗口右下角的“**创建检测规则**”以保存规则。新规则将自动分配一个规则 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 规则。在检测规则窗口中,按照以下步骤导入规则。
- 首先,选择页面右上角的导入检测规则。导入规则页面将打开。
- 将 YAML 格式的 Sigma 规则拖放到窗口中,或通过选择链接并打开文件来浏览文件。导入规则窗口将打开,规则定义字段在可视化编辑器和 YAML 编辑器中都会自动填充。
- 验证或修改字段中的信息。
- 确认规则信息准确无误后,选择窗口右下角的创建检测规则。将创建一条新规则,并显示在检测规则列表中。
自定义规则
创建新检测规则的另一种选择是复制 Sigma 规则,然后对其进行修改以创建自定义规则。首先在规则名称列表中搜索或筛选规则,以找到要复制的规则。下图显示了按关键字筛选的列表。
-
首先,选择规则名称列中的规则。将显示规则详细信息。
-
选择窗格右上角的复制按钮。复制规则窗口将在可视化编辑器视图中打开,所有字段都将自动填充规则的详细信息。详细信息也将在 YAML 编辑器视图中填充。
- 在可视化编辑器视图或 YAML 编辑器视图中,修改任何字段以自定义规则。
-
对规则进行任何修改后,选择窗口右下角的创建检测规则。将创建一条新的自定义规则。它将显示在检测规则窗口主页上的规则列表中。
您不能修改 Sigma 规则本身。原始 Sigma 规则始终保留在系统中。其副本在修改后将成为添加到规则列表中的自定义规则。