Investigation:カスタムYARAコンテンツの実装

Document created by RSA Information Design and Development on Feb 16, 2017Last modified by RSA Information Design and Development on Feb 16, 2017
Version 2Show Document
  • View in full screen mode
  

このトピックでは、Security Analytics Malware AnalysisでカスタムYARAコンテンツを実装する手順について説明します。

ビルトインのセキュリティ侵害インジケータに加えて、Security Analytics Malware Analysisでは、YARAで記述された侵害インジケータもサポートされます。YARAは、マルウェアの調査担当者がマルウェアのサンプルの特定や分類を行えるようにするためのルール言語です。RSAでは、YARAベースの組み込み型IOC(セキュリティ侵害インジケータ)をRSA Liveで公開しています。これらは、サブスクライブされたホストに自動的にダウンロードされてアクティブ化されます。

高度なスキルと知識を持つユーザーは、YARAルールを編集してホストに配置することによって、RSA Malware Analysisに検出機能を追加したり、編集したYARAルールをRSA Liveでパブリッシュしたりすることができます。

マルウェアの脅威の進化に合わせて、既存のカスタム ルールを常に精査しておくことが重要です。通常、新しい検出方法を組み込むには、更新が必要になります。RSAでは適宜、YARAルールを更新し、Liveで提供しています。更新を受け取るには、http://blogs.rsa.com/feedで、RSAブログとRSA Liveをサブスクライブします。

このドキュメントでは、Malware AnalysisでのカスタムYARAルールの実装方法について説明します。

前提条件

カスタム ルールを追加するために使用するホストは、「Malware Analysis構成ガイド」の「カスタムYARAコンテンツの有効化」に示すように、YARAルールの編集をサポートするように構成されている必要があります。

YARAのバージョンおよびリソース

RSA Malware Analysisには、YARAバージョン1.7(rev:167)が付属しています。正確なバージョンを確認するには、次の例に示すように、Malware Analysisホスト上でyara -vを実行します。

[root@TESTHOST yara] # yara -v
yara 1.7 (rev:167)

YARAルールにおけるメタ キー

Malware Analysisは、YARAルールの他のソースに準拠する一方で、Malware Analysisに固有の追加のメタ キーを使用します。それぞれのYARAルールは、Malware Analysis内のセキュリティ侵害インジケーター(IOC)と等価です。ルールのメタ定義を次の例に示します。
meta:
iocName = "FW.ecodedGenericCLSID"
        fileType = "WINDOWS_PE"
        score = 25
        ceiling = 100
        highConfidence = false

 

                               
メタ キー説明
iocName(必須)これは、MAがルール名として使用する名前です。これは、Malware Analysisに固有であり、IOCリストにルールを追加するために必要です。
fileTypeファイル タイプを指定します。選択可能な値:WINDOWS_PE、MS_OFFICE、PDFです。指定しない場合、デフォルト値はWINDOWS_PEです。
scoreこれは、YARAルールがトリガーされた場合に静的スコアに追加される値です。指定しない場合、デフォルト値は10です。
ceilingこれは、1つのセッションでルールが複数回トリガーされたときに静的スコアに追加される値の最大値です。たとえば、ルールがトリガーされると20ポイントが静的スコアに追加されるとします。ここで、そのルールが2回を超えてトリガーされたときにそれに対応するスコアとして40ポイントより大きい値を加算したくない場合は、上限として40を指定します。指定しない場合、デフォルト値は100です。
highConfidence高確率フラグを設定します。このフラグは、マルウェアが存在する確率が高い場合にIOCに設定されます。指定しない場合、デフォルト値はfalseです。

注:YARAのリソースについては、https://code.google.com/p/yara-project/downloads/listを参照してください。Security Analyticsでは、YARA 2.0ではなく、YARA 1.7が使用されます。

YARAコンテンツ

RSA Liveには、次の3つのセットのYaraルールが含まれています。

  • PE Packers
  • PDF Artifacts
  • PE Artifacts

次の図に、Security Analytics LiveでYARAルールとして使用できるYARAコンテンツを示します。

LiveLU.png

Malware AnalysisホストでYARAルールは、次の例に示すように、/var/lib/rsamalware/spectrum/yaraにあります。

[root@TESTHOST yara]# pwd
/var/lib/rsamalware/spectrum/yara
[root@TESTHOST yara]# ls *.yara
rsa_mw_pdf_artifacts.yara rsa_mw_pe_artifacts.yara rsa_mw_pe_packers.yara


それぞれのルールは、Malware Analysisサービスの[構成]ビュー>[セキュリティ侵害インジケーター]タブにIOCとして表示されます。これらを表示するには、Yaraモジュールでリストをフィルタします。他のIOCを構成するのと同じ方法で、個々のルールの構成を調整できます。

Yara and IOC.png

カスタムYARAルールの追加

他のソースからカスタムYARAルールを導入するには、次の手順を実行します。

  1. YARAルールの形式と構文が正しいことを確認するために、次の例に示すようにYARAコマンドを使用して、YARAルールをコンパイルします。エラーが出力されることなくルールがコンパイルされれば、YARAルールの構文が正しいことが分かります。
    [root@TESTHOST yara]# yara rsa_mw_pe_packers.yara dummy.txt
    [root@TESTHOST yara]#
  2. カスタム ルールがRSAまたはその他のソースからの既存のYARAルールと重複しないことを確認します。すべてのYARAルールは/var/lib/rsamalware/spectrum/yaraにあります。
  3. 構成可能なIOCの一部としてYARAルールを作成するためにRSAでサポートされるメタ キーが含まれることを確認し、ファイル名に拡張子yaraを付けます(<filename>.yara)。より優れた方法で構成するには、次の例に示すように、iocNameメタがmetaセクションに含まれていることを確認します。

    例:
    rule HEX_EXAMPLE
    {
         meta:
             author = "RSA"
             info = "HEX Detection"
            iocName = "Hex Example"
         strings:
             $hex1 = { E2 34 A1 C8 23 FB }
             $wide_string = "Ausov" wide ascii
         condition:
             $hex1 or $wide_string
    }

  4. 準備ができたら、カスタムYARAファイルを次のMalware Analysisサービスの監視対象フォルダーに配置します。
    /var/lib/rsamalware/spectrum/yara/watch
    ファイルは1分以内に処理されます。
    処理されたファイルはSecurity Analyticsによってprocessedフォルダーに移動され、Malware Analysisサービスの[構成]ビュー>[セキュリティ侵害インジケーター]タブには、新しいルールが追加されます。
You are here
Table of Contents > Malware Analysisの実施 > カスタムYARAコンテンツの実装

Attachments

    Outcomes