官方网站:模式匹配瑞士刀:http://virustotal.github.io/yara/
https://github.com/VirusTotal/yara
Yara规则:https://github.com/Yara-Rules/rules
YARA最初是由Virustotal的Victor Alvarez开发的。YARA默认带有处理PE、ELF分析的模块,以及对开源布谷鸟沙箱的支持。它提供了一种基于规则的方法来创建基于文本或二进制模式的恶意软件家族的描述。描述本质上是一个Yara规则名,其中这些规则由一组字符串和一个布尔表达式组成。所使用的语言具有Perl兼容正则表达式的特性。
一、简介
YARA是一个旨在(但不限于)帮助恶意软件研究人员识别和分类恶意软件样本的工具。使用YARA,您可以基于文本或二进制模式创建恶意软件家族的描述(或您想要描述的任何内容)。每个描述、规则由一组字符串和一个布尔表达式组成,布尔表达式决定其逻辑。让我们看一个例子:
rulesilent_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:
$aor$bor$c
}
上面的规则告诉YARA,任何包含三个字符串之一的文件都必须报告为silent_banker。这只是一个简单的示例,可以使用通配符、不区分大小写的字符串、正则表达式、特殊操作符和YARA文档中解释的许多其他特性来创建更复杂和强大的规则。
YARA是多平台的,可以在Windows、Linux和Mac OS X上运行,可以通过其命令行界面使用,也可以通过自己的Python脚本使用YARA - Python扩展。
二、Yara规则
这个项目涵盖了一组IT安全研究人员的需求,他们需要有一个单独的存储库,在其中编译、分类和尽可能保持最新的Yara签名,并开始作为一个收集Yara规则的开源社区。我们的Yara规则集是在GNU-GPLv2许可下的,并对任何用户或组织开放,只要您在此许可下使用它。
Yara的使用越来越多,但是关于该工具及其用法的知识分散在许多不同的地方。Yara Rules项目的目标是通过收集尽可能完整的规则集,为Yara用户提供一种快速准备使用Yara的方法,从而成为Yara用户的集合点。
我们希望这个项目对安全社区和所有Yara用户有用,期待您的反馈。通过订阅我们的邮件列表加入这个社区。