説明:ヤラールール

    Pieter ArntzPieter Arntz
    4年前

YARAロゴ

YARAルールは、特定の特性を探すルールを作成することによってマルウェア(またはその他のファイル)を識別する方法です。 YARAはもともとVirustotalのVictor Alvarezによって開発され、主にマルウェアの調査と検出に使用されています。 これは、特定の株やマルウェアの家族全体を識別するパターンを記述するためのアイデアで開発されました。

構文

各ルールは、単語ruleで始まり、その後に名前または識別子が続く必要があります。 識別子には任意の英数字とアンダースコア文字を含めることができますが、最初の文字を数字にすることはできません。 定義済みの意味を持っているため、識別子として使用できないYARAキーワードのリストがあります。

条件

ルールはいくつかのセクションで構成されています。 必要なのは条件セクションだけです。 このセクションでは、調査中のオブジェクト(ファイル)のルール結果がtrueになるタイミングを指定します。 これには、結果を決定するブール式が含まれています。 条件は設計上のブール式であり、すべての通常の論理演算子と関係演算子を含めることができます。 条件の一部として別のルールを含めることもできます。

Strings

条件セクションに意味を与えるには、stringsセクションも必要です。 Stringsセクションでは、ファイル内で検索される文字列を定義できます。 簡単な例を見てみましょう。

rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}

上記のルールはvendorという名前で、”Vendor name”と”Alias name”という文字列を検索します。 これらの文字列のいずれかが見つかった場合、ルールの結果はtrueになります。

検索できる文字列にはいくつかのタイプがあります:

  • ワイルドカード、ジャンプ、および代替との組み合わせで十六進、。
  • 修飾子を持つテキスト文字列:nocase、fullword、wide、およびascii。
  • テキスト文字列と同じ修飾子を持つ正規表現。

あなたが使うことができるより多くの高度な条件がありますが、それらはこの投稿の範囲外です。 より多くを知りたい場合は、YARAのドキュメントで見つけることができます。

メタデータ

メタデータを追加すると、特定のルールによって取得されたファイルを識別することができます。 メタデータ識別子の後には、常に等号と設定値が続きます。 割り当てられた値は、文字列、整数、またはブール値にすることができます。 メタデータセクションで定義された識別子/値のペアは、条件セクションでは使用できないことに注意してください。

概要

YARAは、特定の条件を満たすファイルを識別するために使用できるツールです。 これは、マルウェアを分類するために、セキュリティ研究者によって主に使用されています。

リンク

YARAを使用した署名ベースの検出

最新のYARAドキュメント

YARA: マルウェアを解剖するシンプルで効果的な方法

スクリーンショットは、Adlice Software

Pieter Arntz

によってYaraエディタを使用して行われました



+