IP addresses
, URLs
, usernames
, file hashes
, and hostnames
. These observables are critical for understanding the context and impact of an alert, enabling subsequent enrichment, triage, and response actions.
Tip: Consider the Following Questions
Navigate to Case Management Settings
Click 'New Rule' button located in the top-right corner of the page.
Fill out the following parameters:
Parameter | Description |
---|---|
Rule Name | The name of the “Extract Observable Rule” |
Description | Provide a brief description of the observable extraction rule |
Vendors | The vendor source of the alert. You can select one or multiple vendors. If no vendors are selected, all vendors from the list will be included by default. |
Alert Name | The name of the alert name helps identify which rule will be applied |
Use Regex | Use regex to indicate matching criteria in the alert name. |
Case Type: | The case type defines the classification or category assigned to the case. Specify the case type based on the selected vendor and alert name. |
Parameter | Description |
---|---|
Alert Key | The ‘Alert Key’ is the location within the alert payload where the observable can be found. The path follows a dotted notation, starting from the root of the JSON object and navigating to the value you want to extract. |
The Observable Type | Field of interest extracted from incoming alert’s payload. Examples include IP address, file hash, DNS, Users or Email. |
Optional- The Observable Relation | Observable relations define the contextual relationship and significance of an observable (e.g., an email address, IP address, file hash) within a case or alert. |
View Full Payload Example
alerts
- is a list of alerts.entities
- is a list within each alert.threatDetectionMethods
- is a list of strings inside an entity."UserReported"
"Phishing"
"SpoofedSender"
alert
in alerts
entity
in entities
attachment
in attachments
fileName
field from each attachment"invoice.html"
"report.docx"
email address
, IP address
, or file hash
—that can be analyzed, enriched, and tracked across alerts. Each observable can only be assigned one observable type. For example, an email address like johndoe@gmail.com
will always have the observable type Email Address.
While the observable type is fixed, the role or context in which the observable appears can vary across alerts. These contextual roles are expressed using relations.
Use Case Example: Email Address in Multiple Different Roles
johndoe@gmail.com
, typed as Email Address
. This observable might appear in different roles depending on the alert:recipient
of a phishing email.sender
of a suspicious message.Use Case Example: IP Address in Multiple Different Roles
192.168.1.100
with the type IP Address. In different alerts, the same IP address may appear in distinct roles:Benefits of Using Relations
Example of Using Regex in an Alert Name
^
matches the beginning of the alert name.Critical Alert
matches the literal text.[0-9]+
matches one or more digits.$
matches the end of the alert name.
This would match:Critical Alert 123
Critical Alert 4567
Critical Alert
(no numbers)Info Alert 123
(doesn’t start with “Critical Alert”)Define the Observable Type
Identify the Observable and its Relation (if applicable)
frodo@middleearth.com
) and storing it as an observable of type Email Address.Identify the Path
Create the Extraction Rule
Apply the Rule for Other Observables
"sender.emailAddress.name"
, and the type could be User Name. If the name has a relation, like being associated with the sender, the relation could be Sender.Test the Template