一、简述

Yara 是一种旨在(但不限于)帮助恶意软件研究人员识别和分类恶意软件样本的工具。使用 Yara,您可以基于文本或二进制模式创建恶意软件家族(或任何您想描述的内容)的描述。每个描述,又名规则,由一组字符串和一个确定其逻辑的布尔表达式组成。让我们看一个例子:

rule silent_banker : banker
{
    meta:
        description = "This is just an example"
        threat_level = 3
        in_the_wild = true
    strings:
        $a = {6A 40 68 00 30 00 00 6A 14 8D 91}
        $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
        $c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
    condition:
        $a or $b or $c
}

上述规则告诉 Yara,任何包含三个字符串之一的文件都必须报告为silent_banker。这只是一个简单的示例,可以通过使用通配符、不区分大小写的字符串、正则表达式、特殊运算符以及Yara文档中解释的许多其他功能来创建更复杂和更强大的规则。

Yara是多平台的,可在 Windows、Linux 和 Mac OS X 上运行,也可以通过其命令行界面或从您自己的带有 yara-python 扩展名的 Python 脚本使用。

二、相关资源

Yara介绍

Yara资源