将 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 Name
Metadata
>Product Name
使用 Tools API 下载默认的 CBN 提醒并手动进行审核
上述方法可帮助您查找已触发的提醒,但不涵盖您之前未见过的提醒场景。您可以使用 backstory.googleapis.com/v1/tools/cbn
解析器方法下载默认的、所选的或所有 CBN,并手动检查应用的解析器逻辑,以查找基于 is_alert
或 alert_state
的提醒。
您可以将 CBN 警报移植到您主动使用的 YARA-L 检测引擎规则警报中 。
迁移以前作为 CBN 提醒显示在 Enterprise Insights 中的 Windows Defender 防病毒提醒
以下示例展示了如何迁移以前作为 CBN 提醒显示在 Enterprise Insights 中的 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 Security Operations 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"
}
}
}
}
}
然后,您可以使用 Maps 函数,在 YARA-L 检测引擎规则中使用此函数,如下所示:
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"
)
您必须启用和开启自行编写的规则,才能收到提醒。如需了解详情,请参阅运行规则实时数据。