YARA(Yet Another Recursive Acronym)は、マルウェアを特定および分類するための貴重なツールです。この記事では、YARAの機能についてと、脅威情報とマルウェア検出のための効果的なYARAルールの作成方法について説明します。
Veeamのバックアップと復元サーバーにあるYARAエンジンを使用して、データ回復性戦略を構築し、ランサムウェアやその他のマルウェアの亜種の影響から組織を保護する方法をご紹介します。ホワイトペーパーをダウンロード
はじめに
ビジネスを保護するための最も重要な方法の1つは、マルウェアの存在に対して強力な保護策を確保することです。防御を強化するセキュリティツールで組織を保護することが推奨されますが、マルウェアは、盗まれたパスワード、フィッシング攻撃、またはその他の脅威アクターの戦術を介してシステムやデータに侵入する可能性があります。マルウェアが侵入し、機密データを暗号化または窃取するために実行されると、身代金を要求するために利用され、組織に重大な悪影響をもたらす可能性もあります。
YARAルールスキャンは、ウイルス、ワーム、ランサムウェアなどのマルウェアを特定して分類する最も効果的な方法の1つです。YARAルールエンジンは、サイバーセキュリティチームがマルウェアを検索して検出できるオープンソースのツールであり、重大な損害が発生する前にマルウェアを中和する機会を作り出します。
この記事では、YARA機能の概要を説明し、YARAルールを作成してテストする方法、マルウェアの検出に非常に効果的な理由、およびYARAルールを使用して組織を保護する方法について説明します。
YARAルールの理解
YARAルールを作成する前に、ルールとは何か、どのように機能するかを知ることが重要です。
YARAルールとは?
YARAルールは、マルウェアまたはマルウェアのファミリに見られるパターンを識別し、このようにして、悪意のあるソフトウェアの存在を示すことができます。ルールは、マルウェアを示す特性またはパターンを検出すると、そのマルウェアを隔離または削除できる適切な担当者に警告できます。
YARAのユースケース
YARAルールをよりよく理解するために、いくつかのユースケースを見てみましょう。
マルウェア検出のためのYARAルール
YARAルールは、マルウェアの亜種であろうと特定のマルウェアの系統であろうと、特定のマルウェアまたはマルウェアファミリを検出するために作成することができます。
署名ベースのYARA
YARAルールを作成すると、マルウェアベースのハッシュ、特定の文字列、フレーズ、またはコードスニペット(レジストリキーを含む)、さらにはバイトシーケンスベースのマルウェアを検出できます。
ファイルタイプのYARAルール
YARAルールは、.pdfや.exeなどのファイルタイプや拡張子にも適用できます。これにより、すでに知られている特定のマルウェアファイルを検索できます。
YARAルールと脅威インテリジェンス
YARAルールを脅威インテリジェンスツールと統合して、最新の脅威データに基づいてルールを作成できます。これは、新たな脅威や出現しつつある脅威を特定するのに役立ちます。
YARAルールを使用したランサムウェア検知
Veeamの2024年のサイバーセキュリティトレンドレポートによると、2023年のランサムウェア被害者件数は前年比で50%急増しました。Veeamをはじめとする大手のデータ保護ソフトウェア企業では、正常性と復元力を維持するために、組み込み型の署名ベースのバックアップマルウェア検出スキャナーを提供しています。その他の機能としては、バックアップ・ファイル・サイズ・アナライザー、異常検出、侵害の痕跡(IOC)ツール検出などがあります。
ただし、ランサムウェア攻撃を実行する可能性のある特定のマルウェアやパターンを検索する特定のルールについては、悪意のあるソフトウェアを見つけて管理者にアラートを送信するためのYARAルールが最適なオプションです。
ランサムウェアを防げるYARAルールの一例として、klospad.pdbを検索すると検出できるCTBLockerランサムウェアがあります。YARAルールはこれらのファイルをスキャンし、バックアップ内または復元時に見つけた場合は即座にアラートを発します。
YARAルールの構文
YARAルールはシンプルで、Cプログラミング言語に似た構文を特徴としています。YARAルールを作成するには、YARA構文を理解することが不可欠です。
ルール名
ルールの名前には、スキャンするファイルの名前や悪意のあるソフトウェアの名前を引用することをお勧めします。構文内では、ルール名はruleという単語の後の識別子であり、数字やアンダースコアにすることはできません。例:
ルール Detect_Malicious_String
{
condition;
false
}
ストリングス
文字列セクションは、パターン、署名、または文字列が定義される場所です。文字列には3つの異なるタイプがあります。16進数文字列、テキスト文字列、および正規表現。16進数文字列は生のバイトシーケンスを定義するために使用されますが、テキスト文字列と正規表現は読み取り可能なテキストセグメントを指定するのに理想的です。さらに、テキスト文字列と正規表現は、エスケープシーケンスを使用して生のバイトを表すことができます。
条件
これが唯一の必須セクションです。これは、すべてのプログラミング言語で一般的に使用されるブール演算または算術演算(and、or、not、+、-、*、/、containsなど)を参照します。ルールが一致するには、条件を満たす必要があります。別の種類の条件には、ファイルサイズや文字列の一致長があります。これらのニーズを満たす条件でルールを作成する可能性は多数あります。
メタデータ
ルールには、文字列定義セクションと条件セクションに加えて、ルールに関する追加情報を含めることができるメタデータセクションもあります。メタデータセクションは、キーワード”meta”で定義されます。メタデータには、作成者の名前、ルールが作成された日付、ルールのバージョン番号、ルールで検出された内容の説明などが含まれます。
条件
これが唯一の必須セクションです。これは、YARAルールがスキャン中のファイルに対していつ有効かを指定します。条件はブール式(つまり、and、or、all、any、not)です。この条件が満たされると、ルールが一致したことになります。たとえば、ファイルが特定のサイズよりも小さく、ファイルにリストされている文字列の1つ(またはすべて)が見つかると、そのルールは有効になります。
Veeam Backup & Replication内でのYARAルールの作成
前述のYARAルールの構文情報に基づいて、Veeam Backup & Replication機能でYARAルールを使用する方法について説明します
スキャンバックアップ中のYARAルール
スキャンバックアップセッションでは、YARAスキャンを実行して次の操作を実行できます。
- 前回のクリーンなリストアポイントを検索します。
- ルールで定義されている特定の情報についてコンテンツを分析します。
バックアップスキャンセッション中にYARAスキャンを実行するには、次の手順を実行します。
- [バックアップのスキャン]ウィンドウで、[次のYARAルールでリストアポイントをスキャンする]オプションを有効にします。
- Veeam Backup & Replication製品フォルダにあるYARAファイルを指定します。デフォルトのパスは、C:\Program Files\Veeam\Backup and Replication\Backup\YaraRulesです。YARAファイルの拡張子は.yaraまたは.yarである必要があります。
Yaraスキャン結果の表示
バックアップセッションの統計でYARAスキャンの結果を表示するには、次の手順を実行します。
- インベントリペインで[拠点]ビューを開き、[過去24時間]を選択して、作業領域で目的のスキャンバックアップジョブをダブルクリックします。または、ジョブを選択してリボンの[統計]をクリックするか、ジョブを右クリックして[統計]を選択することもできます。
- インベントリペインで[履歴]ビューを開き、[ジョブ]を選択します。作業領域で、目的のスキャンバックアップジョブをダブルクリックします。または、このジョブを選択してリボンの[統計]をクリックするか、ジョブを右クリックして[統計]を選択することもできます。
YARAスキャンの詳細なログを表示するには、スキャンバックアップジョブの統計が表示されたウィンドウの下部にある[スキャンログ]ボタンをクリックします。Veeam Backup & Replicationでは、最新のログが1 MBのファイルに表示されます。
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ルールと署名リポジトリ:これは、コミュニティベースのYARAルールと署名のコレクションを見つけることができる素晴らしいリソースです。また、独自のYARAルールを投稿して、他の人が使用できるようにすることもできます。
まとめ
YARAルールは、悪意のあるソフトウェアをより簡単に検出できるようにすることで、組織のサイバーセキュリティを強化する効果的な方法です。独自のYARAルールを作成することもできますし、すでに利用可能なコミュニティで構築されたルールの多くの無料リポジトリの1つを利用することもできます。貴社のサイバーセキュリティの取り組みを強化するための方法をお探しの場合、YARAルールは最適な方法の1つです。
サイバー回復性の詳細と、ランサムウェアから組織を保護する方法をご覧ください。サイバー回復力のあるデータ復元戦略に関するホワイトペーパーを今すぐ無償でダウンロードしてください。