Yara规则简要介绍

01 定义

官网:

YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a. rule, consists of a set of strings and a boolean expression which determine its logic. 

理解:

YARA是一款帮助恶意软件研究员鉴别和分类恶意样本的工具,但它的功能不仅限于此。

YARA可以用基于文本或二进制的模式来创建对恶意软件家族的描述(或你想描述的任何事物),而每个描述或者说是一种规则,均由一组字符串和一个布尔表达式组成,这些字符串和布尔表达式决定了其逻辑。

02 例子

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文件,只要包含了三个字符串如a、b、c之一的文件都必须报告为silent_banker。

其中:meta 后面的是一些描述信息,比如规则说明、作者信息等

通过使用通配符,不区分大小写的字符串,正则表达式,特殊运算符以及你在YARA文档中找到的许多其他的功能,都可以创建更复杂而强大的规则。

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

03 学习资源

https://www.yuque.com/p1ut0/qtmgyx/min0bf

看完官方文档,找到一篇不错的博客,可以参考一下

 

posted @ 2021-03-16 15:35  Vikee  阅读(1929)  评论(0编辑  收藏  举报