マルウェアの検出と分析を行うYARAルールとは


Veeamには取得したバックアップがマルウェアに感染していないかをリストアする前にチェックするセキュアリストアという機能があります。

このセキュアリストアによってマルウェアの検出を行う方法としてYARAルールをサポートしています。

この記事では、YARAの概要、ルールの作成、Veeamとの統合について説明します。

YARA (Yet Another Recursive Acronym)は、ランサムウェアなどのマルウェアを識別して分類する方法の 1 つで、マルウェアが被害を与える前にその存在を検索、検出し、警告できるようにするオープンソースリソースです。

YARAルールは、ファイルやネットワークをチェックして、悪意のあるソフトウェアの存在を示すパターン、スクリプト、シグネチャを探します。これらのソフトウェアは、多くの場合、独自の形式で記述されているため、ルールがマルウェアを示す特性やパターンを見つけると、警告が発生し、担当者はマルウェアを隔離または削除できます。

YARAの使用例

マルウェア検出のためのYARAルール

YARA ルールを作成する最初のステップは、検出するマルウェアまたはマルウェアファミリを特定することです。ファイル名、レジストリキー、ハッシュタグなどの侵害の兆候を使用して、それらに基づいてYARAルールを作成し、悪意のあるソフトウェアを識別できます。YARAルールを使用する前にテストして正確性を確認し、他のセキュリティ製品とともにネットワーク上で実行してください。

YARA ルールは柔軟性も高く、少量のファイルをテストしたり、スケールアップしてネットワーク全体で悪意のあるソフトウェアを探したりすることも可能です。

 

YARAルールと脅威インテリジェンス

脅威インテリジェンスプラットフォームを使用している場合は、YARA ルールで動作するかどうかを確認してください。動作する場合は、TIP が収集した、会社がこれまでに直面したさまざまな種類のサイバーセキュリティの脅威に関する情報に基づいてルールを構築できます。

YARA ルールは、経験の浅いハッカーによる単純な攻撃の日常的な検出や、マルウェア、トロイの木馬、ランサムウェアを使用する企業スパイ、サイバー犯罪者、不満を持つ従業員によるより危険な攻撃の検出に使用できます。

 

YARA ルールによるランサムウェア検出

Veeamの2023年ランサムウェア動向レポートによると、調査対象の組織の 85% が 2022 年に少なくとも 1 回のランサムウェア攻撃を受けました。Veeam などのデータ保護企業は、YARA またはシグネチャベースのマルウェア検出ツールを統合して、バックアップの健全性と復旧可能性をスキャンします。

YARAルールの作成

まず、検出するマルウェアを特定します。たとえば、WannaCry などのランサムウェアを探している場合、このランサムウェアファミリが使用する特定の文字列、シグネチャ、パターンを探す必要があります。

あらゆる種類のマルウェアに対して 1 つのルールを使用するのではなく、ファイルの種類ごとに複数のルールを作成します。

 

YARA構文

Rule:ファイルを識別する名前です。単語「rule」の後の識別子は、数字やアンダースコアにすることはできません。識別子の唯一の目的はルールに関する情報を提供することであるため、Conditionsセクションにも識別子を含めることはできません。

Metadata:メタデータは、作成者、作成日、更新や修正を追跡するためのYARAルールのバージョン、説明など、ルール自体に関する情報を提供します。

Strings:このセクションでは、YARA ルールがファイルやネットワーク内で検索するパターン、シグネチャ、または文字列を定義します。YARA ルールは、 ジャンプ、代替、ワイルドカードと組み合わせて 16 進数を使用する文字列など、さまざまな種類の文字列を検索できます。テキスト文字列では、nocase、full word、wide などの修飾子や、テキスト文字列に同様の修飾子を使用する正規表現も使用できます。YARAドキュメントでも、高度な条件について詳しく知ることができます。

Conditions:これは唯一の必須セクションで、スキャンするファイルに対して YARA ルールが有効な場合を指定します。ブール式 (and、or、all、any、not) を使用して結果を決定し、条件としてファイルサイズをチェックすることもできます。

 

YARAルールの例①

rule Detect_Malicious_String {

    strings:

        $malicious_string = “悪意のある文字列”

    condition:

        $malicious_string

}

 

YARAルールの例②

rule Detect_Complex_Executable {

   meta:

       description = “特定の特性を持つ複雑な Windows 実行可能ファイルを検出します”

       author = “名前”

       date = “2023-09-20”

   strings:

       $magic_bytes = { 4D 5A }  // “MZ” DOSヘッダーを確認

       $has_pe_signature = “PE\0\0” wide  // PE署名を確認

       $specific_section = /ThisIsMySection/  // カスタムセクション名を検索

   condition:

       $magic_bytes at 0 and

       $has_pe_signature at $magic_bytes + 0x3C and

       $specific_section

}

 

Veeamとの統合

Veeamはリストア実行時にバックアップファイルを一時的にマウントし、指定したYARAルールに基づいてバックアップ内のVMをスキャンします。

マルウェアが検出されなければ、そのままリストアが実行されますが、検出された場合にはネットワークに接続しない状態でリストアしたり、リストアを中止して警告を発生したりできます。

Veeamのインストールフォルダ(C:\Program Files\Veeam\Backup and Replication\Backup\YaraRules)に作成したYARAルールを配置することで、リストア時に選択が可能になります。

関連トピックス

コメントを残す

メールアドレスが公開されることはありません。

 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください