将 CBN 提醒迁移到 YARA-L 检测规则提醒
本文档详细介绍了如何将基于配置的归一化 (CBN) 提醒迁移到 YARA-L 检测提醒。作为安全分析师,借助本文档,您可以继续通过提醒和 IOC 页面接收来自第三方系统的提醒通知。
将 CBN 提醒迁移到 YARA-L 检测引擎
如需迁移 CBN 提醒,您可以使用以下选项确保之前的 CBN 提醒以检测规则提醒的形式提供。
使用 UDM 搜索
使用 UDM 搜索选项,您可以查看在解析器中设置了 alert_state 的事件:
security_result.alert_state = "ALERTING"
在 UDM 搜索结果中,您可以探索以下字段,了解哪些来源在您的环境中生成了 CBN 提醒:
Metadata>Vendor NameMetadata>Product Name
使用 Tools API 下载默认 CBN 提醒并手动查看
上述方法有助于您查找已触发的提醒,但无法涵盖您之前未见过的提醒。您可以使用 backstory.googleapis.com/v1/tools/cbn 解析器方法下载默认 CBN、所选 CBN 或所有 CBN,并手动检查所应用的解析器逻辑,以查找基于 is_alert 或 alert_state 的提醒。
您可以将 CBN 提醒移植到您正在积极使用的 YARA-L 检测引擎规则提醒。
迁移之前在“企业数据洞察”中以 CBN 提醒形式显示的 Windows Defender 防病毒软件提醒
以下示例展示了如何迁移之前在“企业版概览”中显示为 CBN 提醒的 Windows Defender 防病毒提醒。
使用前面介绍的任一方法查找示例提醒。
使用原始日志 / UDM 事件查看器,复制可提供可靠检测结果的所选 UDM 字段。请参阅以下示例。
metadata.vendor_name = "Microsoft" metadata.product_name = "Windows Defender AV" metadata.product_event_type = "MALWAREPROTECTION_STATE_MALWARE_DETECTED" principal.asset.hostname = "client02.example.local" security_result.action = "BLOCK" security_result.severity = "MEDIUM"创建新的 YARA-L 检测引擎规则。
rule windows_defender_av_monitored_events { meta: author = "Chronicle" description = "Migration of CBN alerts to Google SecOps YARA-L detection engine rule alert." // Severity is set at the Outcome level via security_result.severity severity = "INFORMATIONAL" priority = "INFORMATIONAL" events: $windows_defender_av.metadata.vendor_name = "Microsoft" $windows_defender_av.metadata.product_name = "Windows Defender AV" $windows_defender_av.metadata.product_event_type = "MALWAREPROTECTION_STATE_MALWARE_DETECTED" $windows_defender_av.principal.asset.hostname = $host // optionally tune to only detection on ALLOW, i.e., failure to BLOCK //$windows_defender_av.security_result.action = "ALLOW" // optionally tune on severity of detection //$windows_defender_av.security_result.severity != "LOW" outcome: $risk_score = max( if ($windows_defender_av.security_result.severity = "UNKNOWN_SEVERITY", 0) + if ($windows_defender_av.security_result.severity = "LOW", 25) + if ($windows_defender_av.security_result.severity = "MEDIUM", 50) + if ($windows_defender_av.security_result.severity = "HIGH", 75) + if ($windows_defender_av.security_result.severity = "CRITICAL", 100) ) $severity = array_distinct($windows_defender_av.security_result.severity) condition: $windows_defender_av }
CBN 提醒似乎使用了未解析到 UDM 中的字段
使用解析器扩展选项可以快速解决此问题。
例如,Corelight CBN 提醒使用 notice 字段,并且仅在值为 true 时有条件地发出提醒:
if [notice] == "true" {
mutate {
replace => {
"is_significant" => "true"
"is_alert" => "true"
}
}
}
由于此值默认情况下不会标准化为 UDM,因此您可以按如下方式使用解析器扩展 Grok 将该值添加为类型为 Additional 的 UDM 字段:
filter {
mutate {
replace => {
"notice" => ""
}
}
grok {
match => { "message" => [ "(?P<message>\{.*\})$" ] }
on_error => "_grok_not_syslog"
overwrite => [ "message" ]
}
json {
on_error => "not_json"
source => "message"
array_function => "split_columns"
}
if ![not_json] {
if [notice] != "" {
mutate {
convert => {
"notice" => "string"
}
}
mutate {
replace => {
"additional_notice.key" => "notice"
"additional_notice.value.string_value" => "%{notice}"
}
}
mutate {
merge => {
"event1.idm.read_only_udm.additional.fields" => "additional_notice"
}
}
mutate {
merge => {
"@output" => "event1"
}
}
}
}
}
然后,您可以在 YARA-L 检测引擎规则中按如下方式使用此功能,并使用 Maps 函数:
events:
// Corelight : Weird Log
(
$corelight.metadata.vendor_name = "Corelight" and
$corelight.metadata.product_name = "Zeek" and
// this requires a custom parser extension to extract notice
$corelight.metadata.product_event_type = "weird" and
$corelight.additional.fields["notice"] = "true"
)
您必须启用并开启自创规则以进行提醒。如需了解详情,请参阅运行规则实时数据。