Skip to content

Commit adf7e63

Browse files
Update RootA_Specification.md
1 parent 567a41d commit adf7e63

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

RootA_Specification.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Format: `text (max 1024 characters)`
8181

8282
Required: *mandatory*
8383

84-
Description: Name of the rule which reflects the goal and the method used in the rule
84+
Description: The name of the rule which reflects the goal and the method used in the rule
8585

8686
Example: name: `Possible Credential Dumping using comsvcs.dll`
8787

@@ -101,7 +101,7 @@ Format: `text (max 256 characters)`
101101

102102
Required: *optional*
103103

104-
Description: Name of the creator. It is recommended to use the same name for all your rules. Coma-separated value.
104+
Description: The name of the creator. It is recommended to use the same name for all your rules. Comma-separated value.
105105

106106
Example: `author: SOC Prime Team`
107107

@@ -112,12 +112,12 @@ Format: `text (max 16 characters)`
112112

113113
Required: *optional*
114114

115-
Description: Severity of the rule which indicates the level of rule importance and investigation priority.
115+
Description: The severity of the rule which indicates the level of the rule's importance and investigation priority.
116116

117117
Possible Values:
118118
- `critical` - When critical severity rules are triggered, immediate action is required. Critical rules have a very low probability of false positives, or are highly sensitive actions that must always be deconflicted.
119-
- `high` - When high severity rules are triggered an investigation/case should be created and completed with a high priority. Low probability of false positives after minimal tuning.
120-
- `medium` - Medium severity rules will likely require tuning in the average environment. After tuning, when medium security rules are triggered a case should be generated with medium priority.
119+
- `high` - When high severity rules are triggered, an investigation/case should be created and completed with a high priority. Low probability of false positives after minimal tuning.
120+
- `medium` - Medium severity rules will likely require tuning in an average environment. After tuning, when medium security rules are triggered, a case should be generated with medium priority.
121121
- `low` - Low severity rules should be used as part of correlations, or to support triage and enrich the analysis environment. Some of these rules may be used as case generators after a significant amount of tuning.
122122

123123
Example: `severity: medium`
@@ -128,9 +128,9 @@ Format: `text (max 16 characters)`
128128

129129
Required: *optional*
130130

131-
Description: The type of the rule that indicates whether the rule is intended for threat hunting 'query' (may generate false positives) or for real-time detection 'alert' (rarely generate false positives).
132-
Alerts will be defined as a rule that in the majority of environments will cause a low false positive or true positive - benign rate. For instance, if a rule requires for someone to add domain controllers to filter out benign events, this would NOT be considered an alert.
133-
Queries will be defined as any rule that we anticipate will require tuning in most environments.
131+
Description: The type of the rule that indicates whether the rule is intended as a threat hunting 'query' (may generate false positives) or a real-time detection 'alert' (rarely generates false positives).
132+
An alert can be defined as a rule that in the majority of environments will cause a low false positive or true positive - benign rate. For instance, if a rule requires for someone to add domain controllers to filter out benign events, it would NOT be considered an alert.
133+
A query can be defined as any rule that can be expected to require tuning in most environments.
134134

135135
Possible Values:
136136
- `query`
@@ -154,7 +154,7 @@ Possible Values:
154154

155155
Description:
156156
- `Exploit Rules`
157-
These are rules meant to identify the exploitation or probing of a vulnerability (e.g. CVE, General SQL-I / XSS Rules). Many of these rules would qualify as "alerts". Example a rule built for Log4J detection. These rules are useful indefinitely.
157+
These are rules meant to identify the exploitation or probing of a vulnerability (e.g. CVE, General SQL-I / XSS Rules). Many of these rules would qualify as "alerts". An example would be a rule built for Log4J detection. These rules are useful indefinitely.
158158

159159
- `Behavioral Rules`
160160
These rules are meant to identify behaviors that may match an adversary's behavior based on known reporting. Many of these rules would qualify as "queries". An example of a behavioral rule would be a rule that identifies a remote login of a local administrator account. These rules will NOT include information specific to a campaign. These rules are useful retroactively, and on average have a 12+ month expectancy of usefulness.
@@ -166,7 +166,7 @@ Description:
166166
These rules identify the usage of a specific tool (offensive, or living off the land). For instance, a rule meant to identify psexec specifically would be a "tool" rule. A rule meant to identify psexec and any similar tool, without explicitly identifying attributes that are unique to those tools would be considered a behavioral rule.
167167

168168
- `IOC Rule`
169-
Rules that are created for urgent adversary activity that has little-to-know other detection measures (e.g. wannacry, notpetya, mass & urgent exploitation). Mostly for IOCs like domains, IPs, hashes, url.
169+
Rules that are created for urgent adversary activity that has little to no other detection measures (e.g. wannacry, notpetya, mass & urgent exploitation). Mostly for IOCs like domains, IPs, hashes, URLs.
170170

171171
- `Generic Rules`
172172
These rules are meant to identify potential weaknesses in an environment. For instance, a rule that identifies weak encryption in Kerberos (RC4_HMAC_MD5). Rules that provide only information that has a very small chance of being a true-positive but is good for customers to keep an eye on. For instance, the root user account of AWS being utilized.
@@ -191,7 +191,7 @@ Format: `text (max 1024 characters)`
191191

192192
Required: *optional*
193193

194-
Description: Coma-separated MITRE ATT&CK Techniques, Subtechnique, Groups, Software IDs. All IDs should be in lowercase.
194+
Description: Comma-separated MITRE ATT&CK (r) Techniques, Subtechniques, Groups, Software IDs. All IDs should be in lowercase.
195195

196196
Example: `mitre-attack: t1136.003, t1087.004, t1069`
197197

@@ -207,7 +207,7 @@ YYYY-MM-DD: Actor1, Actor3, TLP:GREEN
207207

208208
Required: *optional*
209209

210-
Description: Has to include the name of the actor, TLP:key, and dates when behavior described in the RootA rule was used by the Actor. On the contrary to indicators of compromise, which are Actor specific, behaviors are constant while Actor is a variable. If the TLP:key is not defined, it is perceived as TLP:CLEAR. The period can be defined with two dates (first and last seen) or with one date.
210+
Description: Has to include the name of the actor, TLP:key, and dates when the behavior described in the RootA rule was used by the Actor. On the contrary to indicators of compromise, which are Actor specific, behaviors are constant while Actor is a variable. If the TLP:key is not defined, it is perceived as TLP:CLEAR. The period can be defined with two dates (first and last seen) or with one date.
211211

212212
Example:
213213
```
@@ -221,7 +221,7 @@ timeline:
221221

222222
Required: *optional*
223223

224-
Description: Section that describes needed log sources for the rule. It is optional but could be necessary in some cases when the detection logic doesn’t describe which log sources are required.
224+
Description: This section describes log sources required for the rule. It is optional but could be necessary in some cases when the detection logic doesn’t describe which log sources are required.
225225

226226

227227
### product
@@ -230,7 +230,7 @@ Format: `text (max 128 characters)`
230230

231231
Required: *optional*
232232

233-
Description: ?????
233+
Description: The product that reported the event.
234234

235235
Example: `product: windows`
236236

@@ -241,7 +241,7 @@ Format: `text (max 128 characters)`
241241

242242
Required: *optional*
243243

244-
Description: ?????
244+
Description: The event log name. For example, syslog file name or Windows logging subsystem: Security.
245245

246246
Example: `log_name: Security`
247247

@@ -252,7 +252,7 @@ Format: `text (max 128 characters)`
252252

253253
Required: *optional*
254254

255-
Description: ?????
255+
Description: The OCSF event classes. Details: [https://schema.ocsf.io/1.0.0/classes](https://schema.ocsf.io/1.0.0/classes)
256256

257257
Example: `class_name: Process Activity`
258258

@@ -350,7 +350,7 @@ Format: `text (max 8192 characters)`
350350

351351
Required: *mandatory*
352352

353-
Description: The section should contain a rule logic. It should be a SIEM/EDR/XDR query in the native format. The query should be in one line. In case you have a multiline query, you should join lines before adding it to the RootA rule.
353+
Description: This section should contain the rule's logic. It should be a SIEM/EDR/XDR query in the native format. The query should be in one line. In case you have a multiline query, you should join lines before adding it to the RootA rule.
354354

355355
Example: `index=* source="WinEventLog:*" AND (Image="*.exe" OR Image="*.com")`
356356

@@ -361,7 +361,7 @@ Format: `text (max 2048 characters)`
361361

362362
Required: *optional*
363363

364-
Description: ?????
364+
Description: Links to articles in the media, posts, or other sources that describe the threat, exploit, behavior, etc. that the rule detects.
365365

366366
Example:
367367
```
@@ -377,7 +377,7 @@ Format: `text (max 1024 characters)`
377377

378378
Required: *optional*
379379

380-
Description: Coma-separated short words that can label RootA rule for keyword search. Tags should be in lowercase, with no spaces.
380+
Description: Comma-separated short words that can label RootA rule for keyword search.
381381

382382
Example: `tags: MerlinAgent, UAC-0173, UAC-0006, Ducktail, CERT-UA#4753`
383383

@@ -407,7 +407,7 @@ Format: `text (32 characters)`
407407

408408
Required: *optional*
409409

410-
Description: Unique ID of the rule. UUID version 4 is recommended to use.
410+
Description: Unique ID of the rule. UUID version 4 is recommended for use.
411411

412412
Example: 009a001b-1623-4320-8369-95bf0d651e8e
413413

0 commit comments

Comments
 (0)