首页/安全/取证与溯源速查/YARA 规则匹配思路

YARA 规则匹配思路

YARA 用字符串与字节特征标识样本族:写规则时优先选样本中稳定、罕见的特征,避免常见库字符串。

取证与溯源速查安全更新于 2026-10-13

YARA 规则匹配思路是什么

YARA 用字符串与字节特征标识样本族,规则由元信息、特征字符串与匹配条件三段组成。写好规则的关键是选样本中稳定且罕见的特征:用编译器自带的通用字符串,会让命中结果迅速失去参考价值。

基本信息

用途样本归类与批量扫描
结构meta、strings、condition 三段
特征选择稳定、罕见、与功能相关
验证先用正样本与小规模负样本集测试

典型使用场景

  • 把一次事件中发现的样本特征沉淀成规则
  • 在内网批量扫描同族样本
  • 与情报中的家族命名对应,便于沟通
  • 从内存镜像里匹配无文件落地的样本
  • 规则版本管理,支持回溯某次扫描使用了哪版规则
  • 把规则命中结果与端点文件清单交叉,确认样本分布范围

基础规则

基础规则
rule family_marker {
  meta:
    author = "ir-team"
    reference = "case-2026-10-12"
  strings:
    $a = "UniqueC2Tag" ascii
    $b = { 4D 5A 90 00 03 00 00 00 }
  condition:
    $a and $b
}

编写要点

要点做法常见错误
特征选择选样本中稳定且罕见的字符串使用文件头、通用提示语这类大众串
条件组合多条件与区间限制降低误报单字符串命中即报警
验证正样本必中、负样本集不中只测一个样本就发布
版本管理规则编号与变更留痕规则被改后无法回溯依据
规则命中是强线索,但仍要人工核对命中文件的上下文(路径、数字签名、是否企业自研程序),短字符串规则尤其如此。
加壳样本的明文特征被压缩或加密,需要配合内存特征或多条件规则,单靠文件特征容易漏检。
字符串特征建议加上偏移或长度修饰,并优先选样本中稳定出现多次的特征,这样对变形样本的漏检更少。
规则发布前先用历史样本集回测一遍,能提前暴露误报与漏报,比上线后被动调整成本低得多。

易错点

  • 使用过于泛化的字符串,造成大面积误报,拖累扫描结果的可信度
  • 规则不经负样本验证就批量扫描,误报直接冲击业务
  • 加壳样本只按文件特征匹配,漏检严重
  • 规则无版本与变更记录,事后说不清某次扫描依据什么规则

数据来源与参考

  • YARA 官方文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌