まとめ
- YARAルールは、署名ベースのパターンマッチングを提供し、セキュリティチームがファイル、メモリ、バックアップにわたるマルウェアを検出および分類できるようにします。
- VeeamはYARAスキャンをイミュータブルバックアップやSecure Restoreと統合することで、復元ポイントがマルウェアに感染していないことを保証し、ランサムウェアが本番システムに再感染するのを防ぎます。
- 入念にテストされたYARAルールをVeeam(ヴィーム)の指定フォルダーに保存することで、組織は脅威インテリジェンスをバックアップスキャンに直接埋め込むことができ、サイバー回復力を強化できます。
YARA(Yet Another Recursive Acronym)ルールは、セキュリティチームが既知の署名や文字列、動作に基づいてマルウェアを識別・分類するために使用するパワフルなパターンマッチングツールです。バックアップの復元では、YARAスキャンが追加の保護層を提供します。イミュータブルバックアップと安全なリストアワークフローと組み合わせることで、YARAルールは安全かつクリーンな復元を保証します。この記事では、YARAの機能とその具体的な動作、脅威に関する情報とマルウェア検出のための効果的なYARAルールの書き方について説明します。
VeeamのバックアップおよびレプリケーションサーバーにあるYARAエンジンを使用して、データの回復力戦略を構築し、ランサムウェアやその他のマルウェアの影響から組織を保護する方法をご紹介します。
サイバーセキュリティにおけるYARAルールの役割
YARAルールスキャンは、ウイルス、ワーム、ランサムウェアなどのマルウェアを特定して分類するための最も効果的な方法の1つです。YARAルールエンジンは、サイバーセキュリティチームがマルウェアを検索して検出できるオープンソースのツールであり、重大な損害が発生する前にマルウェアを中和する機会を作り出します。
マルウェアの存在に対する強力な保護は必須です。たとえサイバーセキュリティ防御策をすでに導入していても、マルウェアは盗まれたパスワードやフィッシング攻撃、その他の手口を通じてシステムやデータに侵入する恐れがあります。マルウェアが侵入し、機密データを暗号化または窃取するために実行されると、身代金を要求するために利用され、組織に重大な悪影響をもたらす可能性もあります。
YARAルールの理解
YARAルールを作成する前に、YARAルールとは何か、どのように機能するかを知ることが重要です。
YARAルールとは?
YARAルールは、マルウェアまたはマルウェアファミリに見られるパターンを識別し、これによって悪意のあるソフトウェアの存在を示すことができます。ルールによってマルウェアを示す特性またはパターンが検出されると、そうしたマルウェアを隔離または削除する権限を持つ適切な担当者にアラートを送信できます。
YARAのユースケース
セキュリティチームは、リストアや共有の前にクリーンなデータを検証するためにYARAルールを積極的に活用しています。YARAの柔軟性は、アンチウイルスエンジンへの統合化やバックアップ環境への導入など、セキュリティやデータの回復力にとって価値あるものとなっています。組織がYARAをどのように活用しているか、いくつかの事例を見てみましょう。
マルウェア検出のためのYARAルール
YARAは本来、悪意のあるコードパターンを迅速かつ正確に特定するために設計されています。セキュリティチームは、既知のマルウェアやマルウェアファミリー(マルウェアの亜種や特定の種類を含む)の兆候を検出するために、ファイル、メモリ、バックアップをスキャンする際にYARAを使用します。
署名ベースのYARA
これらのYARAルールは、既知のマルウェアによく見られる文字列、ハッシュ、バイト列、コードスニペット、ファイル構造などのパターンに焦点を当てています。これらのルールは高精度かつ高速であり、すでに分析・分類された脅威の亜種を検出するのに理想的です。
ファイルタイプのYARAルール
YARAはマルウェアに限定されず利用できます。タイプや拡張子(.pdf や .exe など)でファイルを分類およびフィルタリングすることもできます。 これにより、セキュリティチームは実行ファイルを特定し、埋め込まれたスクリプトを検出し、不審な添付ファイルを警告することができます。ストレージおよびバックアップ環境において、YARAはデータの可視性と健全性を向上させます。
YARAルールと脅威インテリジェンス
YARAルールは、脅威インテリジェンスツールや最新の脅威データと組み合わせることができます。セキュリティチームは、ハッシュ値、ドメイン名、攻撃のアーティファクトなどの現実のインジケーターに基づいて、ルールを構築またはインポートできます。これは、新たな脅威や出現しつつある脅威の特定に役立ちます。
YARAルールを使用したランサムウェア検出
Veeamの「リスクから回復力へ:2025 ランサムウェアトレンドレポートとプロアクティブな戦略」によると、2024年には69%の組織が少なくとも1回はランサムウェア攻撃を受けています。Veeamのようなデータ回復力の大手プロバイダーは、健全性と復元力の維持に向けて、組み込み型の署名ベースのバックアップマルウェア検出スキャナーを提供しています。また、バックアップファイルサイズの分析ツール、異常検出、侵害の痕跡(IOC)ツール検出などの機能も拡充しました。
ただし、ランサムウェア攻撃を実行する可能性のある特定のマルウェアやパターンを検索する特定のルールについては、悪意のあるソフトウェアを見つけて管理者にアラートを送信するためのYARAルールが最適なオプションです。
ランサムウェアを防ぐことができるYARAルールの一例として、CTBLockerランサムウェアがあります。これは、klospad.pdbおよびkeme132.dllのファイル名を検索することで見つけることができます。YARAルールはこれらのファイルをスキャンし、バックアップ内または復元時に見つけた場合は即座にアラートを発します。
YARAルールの構文:知っておくべきこと
YARAルールはシンプルな構造で、柔軟性とスピードを重視して設計されています。YARAルールの構文はC言語に似ています。 各ルールには、ファイルやメモリオブジェクト内で検索対象を定義する識別子、条件、文字列が含まれます。
ルール名
ルール名には、スキャンするファイルの名前や悪意のあるソフトウェアの名前を引用することをお勧めします。構文内では、ルール名はruleという単語の後に続く識別子であり、数字やアンダースコアにすることはできません。例:
ルール Detect_Malicious_String
{
condition;
false
}
文字列
文字列セクションは、パターン、署名、または文字列が定義される場所です。文字列には次の3つの異なるタイプがあります:
- 16進数文字列
- テキスト文字列
- 正規表現
16進数文字列は生のバイトシーケンスを定義するために使用されますが、テキスト文字列と正規表現は読み取り可能なテキストセグメントを指定するのに理想的です。さらに、テキスト文字列と正規表現は、エスケープシーケンスを使用して生のバイトを表すこともできます。
条件
これが唯一の必須セクションです。ここでは、すべてのプログラミング言語で一般的に使用されるブール演算や算術演算(例:and、or、not、+、-、*、/、containsなど)を参照します。ルールを一致させるには、条件を満たす必要があります。別の種類の条件としては、ファイルサイズや文字列の一致長があります。これらのニーズを満たす条件でルールを作成する方法は多数あります。
メタデータ
文字列定義セクションと条件セクションに加えて、ルールにはメタデータセクションもあり、ルールに関する追加情報を含めることができます。メタデータセクションは、キーワード“meta”で定義されます。メタデータには、作成者の名前、ルールが作成された日付、ルールのバージョン番号、ルールで検出された内容の説明が含まれます。
文字列
stringセクションは、YARAルールがファイルやネットワーク内で検出するパターンや署名、文字列などを指定する場所です。YARAルールでは、16進数とジャンプやオルタナティブ、ワイルドカードとを組み合わせて使う文字列を含む、複数のタイプの文字列を検出できます。テキスト文字列には、修飾子(例:nocase、full word、wide)や、正規表現も使用できます。高度な条件の詳細については、YARAドキュメントをご覧ください。
Veeam バックアップ & レプリケーション内で効果的なルールを記述する
Veeam Backup & Replication(ヴィーム・バックアップ・アンド・リプリケーション)の機能内でこれらをどのように使用するかを確認しましょう。
効果的なYARA(ヤラ)ルールの記述:目的を定義する
検出対象のマルウェアを特定します。例えば、特定のマルウェアやランサムウェアの検出を目指す場合は、そのランサムウェアに関して利用可能な文字列、署名、パターンを使ってルールを作成することで、特定の脅威を狙い撃ちしてデータを保護できます。
過剰な結果や誤検知を避けるため、すべての種類のマルウェアを検出する1つのYARAルールを記述しないでください。推奨されるのは、悪意のあるソフトウェアの種類ごとにYARAルールを作成することです。
を記述することで、さまざまなサイバーセキュリティタスクを達成できます。多くの例が有名なマルウェア向けのYARAルールはGitHubで利用可能です。自分でルールを作成する際の参考に、ぜひこれらの例を確認してみてください。
スキャンバックアップ中のYARAルール
スキャンバックアップセッションでは、YARAスキャンを実行して次の操作を実行できます。
- 前回のクリーンなリストアポイントを見つける。
- ルールで定義されている特定の情報についてコンテンツを分析する。
バックアップスキャンセッション中にYARAスキャンを実行するには、次の手順を実行します。
- [バックアップのスキャン]ウィンドウで、「次のYARAルールでリストアポイントをスキャンする」オプションを有効にします。
- Veeam バックアップ & レプリケーション製品フォルダにあるYARAファイルデフォルトのパスは、C:\Program Files\Veeam\Backup and Replication\Backup\YaraRulesです。YARAファイルの拡張子は.yaraまたは.yarである必要があります。
Yaraスキャン結果の表示
バックアップセッションの統計にYARAスキャンの結果を表示するには、次の手順を実行します。
- インベントリペインで「拠点」ビューを開き、「過去24時間」を選択して、作業領域で目的のスキャンバックアップジョブをダブルクリックします。または、ジョブを選択してリボンの「統計」をクリックするか、ジョブを右クリックして「統計」を選択することもできます。
- インベントリペインで「History」ビューを開き、「Jobs」を選択します。作業領域で目的のScan バックアップジョブをダブルクリックします。または、ジョブを選択してリボンの「統計」をクリックするか、ジョブを右クリックして「統計」を選択することもできます。
YARAスキャンの詳細なログを表示するには、スキャンバックアップジョブの統計が表示されたウィンドウの下部にある「スキャンログ」ボタンをクリックします。Veeam Backup & Replicationは、最新のログを1MBのファイルに書き出します。
YARAルール開発のベストプラクティス
YARAルールをより強力かつ効果的にするためのベストプラクティスには、以下のようなものがあります。
- 一貫性を保つため、そしてより整理された状態を保つためにテンプレートを作成する。
- YARAルールの標準的な規則を使用し、ルールリポジトリで共有して、より広範なサイバーセキュリティコミュニティを支援する。通常、これらの規則にはルールを識別するためのヘッダー(マルウェアの特性を説明する条件)の使用が含まれます。また、作成したルールを分類し、他のサイバーセキュリティ専門家が活用できるようにするタグも含まれています。
- YARAルールは、マルウェアに対する防御策の1つに過ぎないことを覚えておいてください。NISTフレームワークなどの標準に準拠することで、脅威を防ぎ、サイバーセキュリティインシデントを検出して対応できる可能性を最大限に高めましょう。その他のサイバーセキュリティのガイドラインやベストプラクティスについては、米国国立標準技術研究所を確認してください。
YARAルールのテストと検証
YARAルールを本番環境に展開する前に、精度、効率性、誤検知について十分にテストしてください。ルールが過度に広範にならず、正しいパターンに必ず一致するようにしてください。これにより、不要なノイズを発生させることなく、信頼性の高い検出を維持できます。
YARAルールのテスト
YARAルールをVeeam Data Platformに統合化(追加)することで、ファイルをリアルタイムでスキャンできるようになります。YARAルールをテストして、意図したとおりに機能していることを確認することが重要です。YARAルールはパターンまたは署名に基づいているため、ステージング環境でYARAルールをテストすると、これらのパターンが正確に識別されていることを確認できます。
YARAルールのテストのために、動作中のマルウェアにネットワークを感染させる必要はありません。既知のマルウェアサンプルのデータセットをダウンロードして、ネットワークのセキュリティを危険にさらすことなくルールをテストします。新しいルールが効果的であり、誤検出が多すぎないことを確認できたら、新しいルールを本番環境に導入します。
YARAルールのコミュニティ
YARAユーザーの大規模なコミュニティがあり、YARAルールを共有するためのパブリックリポジトリを維持しています。ルールを共有することで、このコミュニティは、マルウェア検出に関して誰もが利用できる広範なデータベースの構築を支援しています。
共同ルール開発
セキュリティの専門家と組織がYARAルールを共有することで、コミュニティは、より焦点を絞ったマルウェア対策ツールを開発できます。このような専門家が自分のルールを共有することで、自身が持つ貴重な知識を分かち合うだけでなく、他のユーザーに自身のルールを改善するよう促すことにもなります。脅威インテリジェンスが共有されることで、コミュニティ全体で危険な攻撃を特定しやすくなります。
YARAルール、ドキュメント、リソース
YARAルールを共有したり、他のユーザーとコラボレーションしたりするためのYARAルールリポジトリとコミュニティは複数存在します。
YARA GitHubリポジトリ:YARA全般に関する主要な情報源です。最新リリース、YARAのドキュメント、YARAのソースコードは、こちらからご覧いただけます。
YARAドキュメント: ReadTheDocsで管理されているYARAの公式ドキュメントには、YARAとその構文の使用方法、ルールの機能、その機能による悪意のあるソフトウェアの検出方法についての包括的な情報が記載されています。
YARA Rules and Signatures Repository: これは、コミュニティベースのYARAルールと署名のコレクションを見つけることができる素晴らしいリポジトリです。また、独自のYARAルールを投稿して、他の人が使用できるようにすることもできます。
ランサムウェアグループ別のYARAルール:ランサムウェアに特化したYARAルールのサンプルを集めたコミュニティ。
Veeam Data Platform ドキュメント:
まとめ
YARAルールは、悪意のあるソフトウェアをより簡単に検出できるようにすることで、組織のサイバーセキュリティを強化する効果的な方法です。独自のYARAルールを作成することもできますし、コミュニティで構築された、すでに利用可能なルールの多くの無料リポジトリの1つを利用することもできます。貴社のサイバーセキュリティの取り組みを強化するための方法をお探しの場合、YARAルールは最適な方法の1つです。
サイバー回復力や、ランサムウェアから組織を守る方法について、詳細はこちら!無料のホワイトペーパーをダウンロードしてください。
よくある質問
- YARAルールとは何で、どのように機能しますか?
YARAルールは、特定の文字列やヘキサパターン、バイナリの署名をファイルやメモリサンプルと照合することで、ウイルス、ランサムウェア、トロイの木馬などのマルウェアを特定する署名ベースの検出パターンです。これらのルールは、バックアップファイルやメモリスナップショットをスキャンすることで、既知の脅威の検出や疑わしい動作の特定のためにカスタマイズできます。 - バックアップでYARAスキャンを使用する理由は何ですか?
YARAスキャンはバックアップファイルに埋め込まれたマルウェアの痕跡を検出し、最後のクリーンなリストアポイントを特定したり、復元時に隠れた脅威が再導入されるのを防いだりします。これは、データを本番環境にリストアする前のランサムウェア検出に特に重要です。
YARAルールでバックアップをスキャンすることで、ファイルが初めて検出されたリストアポイントを特定でき、インシデント対応を支援するタイムラインなどの情報を提供します。 - VeeamはYARAスキャンをどのように統合していますか?
Veeam Backup & Replicationは、“SureBackup”や“Secure Restore”、手動のアドホックスキャンなどの操作時にYARAスキャンを使用します。
このプロセスでは、バックアップのリストアポイントをディスクにマウントし、ユーザー定義のルールセット(.yaraまたは.yar形式)を使ってYARAエンジンを実行します。 - Veeam(ヴィーム)でYARAルールファイルを保存する場所はどこですか?
カスタムルールを利用する場合は、`.yara`または`.yar`ファイルを以下のフォルダーに配置してください:
C:\Program Files\Veeam(ヴィーム)\Backup and Replication(バックアップ・アンド・レプリケーション)\Backup(バックアップ)\YaraRules
ファイルを配置した後、バックアップジョブの設定でYARAスキャンを有効化してください。 - スキャン中にYARAルールが一致した場合、どうなりますか?
マルウェア活動が検出されなかった場合、Veeam Backup & Replicationはマシンまたはそのディスクを保存場所にリストアします。マルウェア検出イベントは作成されません。
もしマルウェア活動が検出された場合、Veeam Backup & Replication(ヴィーム・バックアップ・アンド・レプリケーション)は以下の手順を実施します:
リストアプロセスを中止するか、セキュアリストア設定に基づき制限してマシンまたはディスクをリストアします。マルウェア検出イベントを作成し、オブジェクトを感染済みとマークします。
