YARA是一种旨在(但不限于)帮助恶意软件研究人员识别和分类恶意软件样本的工具。使用YARA,您可以基于文本或二进制模式创建恶意软件家族(或任何您想要描述的)的描述。每个描述(又称规则)均由一组字符串和布尔表达式组成,这些字符串和布尔表达式决定了其逻辑。让我们看一个例子:
规则silent_banker:banker {meta:description ="这只是一个示例"威胁级别= 3 in_the_wild =真实字符串:$ 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"条件:$ a或$ b或$ c}
上面的规则告诉YARA,任何包含三个字符串之一的文件都必须报告为silent_banker。这只是一个简单的示例,可以使用通配符,不区分大小写的字符串,正则表达式,特殊运算符以及您将在YARA文档中找到的许多其他功能来创建更复杂,更强大的规则。
YARA是多平台的,可在Windows,Linux和Mac OS X上运行,并且可以通过其命令行界面使用,也可以从带有自己的Python脚本中使用它们进行扩展。
您是否使用GitHub来存储YARA规则? YARA-CI可能是对工具带的有用补充。这是GitHub应用程序,可为您的规则提供连续测试,帮助您识别常见错误和误报。
如果打算使用YARA扫描压缩文件(.zip,.tar等),则应查看yextend,它是由Bayshore Networks开发和开源的YARA的非常有用的扩展。