YRAR规则
通过编写YARA规则,我们可以基于文本或二进制模式对已掌握的恶意样本特征进行检测匹配,从而帮助我们更好的识别和分类恶意样本。
支持平台
Windows,Linux和Mac OS
官方文档
yara.readthedocs.io/en/v3.7.0/writingrules.html
规则组成
- 规则名
常用规则名的例子:恶意样本类型_家族
- 描述 meta
该区域主要是对规则进行描述,详细的规则描述能够大大的降低后续维护规则的成本。
- 文本字符串区域
支持类型有三种:
- 十六进制字符串
//通配符:可以代替某些未知字节,与任何内容匹配
rule WildcardExample
{
strings:
//使用‘?’作为通配符
$hex_string = { 00 11 ?? 33 4? 55 }
condition:
$hex_string
}
//跳转:可以匹配长度可变的字符串
rule JumpExample
{
strings:
//使用‘[]’作为跳转,与任何长度为0-2字节的内容匹配
$hex_string1 = { 00 11 [2] 44 55 }
$hex_string2 = { 00 11 [0-2] 44 55 }
//该写法与string1作用完全相同
$hex_string3 &#