
画像: djedzura/iStock
企業ネットワークへの脅威を検知するためのツールは数多く存在します。これらの検知には、ネットワークシグネチャに基づくものもあれば、エンドポイントや社内サーバー上のファイルや動作に基づくものもあります。これらのソリューションのほとんどは、既存のルールを用いて危険を検知しており、これらのルールは頻繁に更新されることが期待されます。しかし、セキュリティ担当者が検知用のカスタムルールを追加したり、特定のルールを用いてエンドポイントで独自のインシデント対応を行ったりしたい場合はどうすればよいでしょうか?ここでYARAが役立ちます。
YARAとは何ですか?
YARAは、セキュリティ担当者がマルウェアを検出・分類するのを支援することを目的とした無料のオープンソースツールですが、その用途はそれだけに限定されるべきではありません。YARAルールは、特定のファイルや、検出したいコンテンツを検出するのにも役立ちます。
参照:知っておくべきオープンソースと Linux の用語 40 選(TechRepublic Premium)
YARAはバイナリ形式で提供され、YARAルールを引数としてファイルに対して起動できます。Windows、Linux、Macのオペレーティングシステムで動作します。また、YARA-python拡張機能を使用することで、Pythonスクリプトでも使用できます。
YARAルールは、条件と項目が含まれたテキストファイルで、条件が満たされると検出が実行されます。これらのルールは、単一のファイル、複数のファイルを含むフォルダ、さらにはファイルシステム全体に対して実行できます。
YARAは何に使えますか?
YARA の使用方法をいくつか紹介します。
マルウェア検出
YARAの主な用途は、2008年に最初に開発された目的であるマルウェアの検出です。従来のウイルス対策ソフトウェアのようには機能しないことを理解しておく必要があります。従来のウイルス対策ソフトウェアは主にバイナリファイル内の数バイトの静的シグネチャや疑わしいファイルの挙動を検出するのに対し、YARAは特定のコンポーネントの組み合わせを用いることで検出範囲を拡大できます。そのため、YARAルールを作成することで、単一の亜種だけでなく、マルウェアファミリー全体を検出することが可能です。ルールのマッチングに論理条件を使用できるため、YARAは悪意のあるファイルを検出するための非常に柔軟なツールとなっています。
また、このコンテキストでは、YARA ルールをファイルだけでなくメモリダンプにも使用できることに注意してください。
インシデント処理
インシデント発生時、セキュリティアナリストや脅威アナリストは、エンドポイントや企業ネットワーク全体のどこかに特定のファイルやコンテンツが隠されているかどうかを迅速に調査する必要がある場合があります。ファイルの場所に関係なく検出する一つの解決策として、特定のYARAルールを作成して使用することが挙げられます。
コンテンツの迅速な分類
YARAルールを使用することで、必要に応じて実際のファイルトリアージを行うことができます。YARAルールを使用することで、マルウェアのファミリー別分類を最適化できます。ただし、誤検知を回避するために、ルールは非常に正確に作成する必要があります。
着信ネットワーク接続分析
YARAはネットワークコンテキストで使用でき、企業ネットワークに送信される悪意のあるコンテンツを検知して保護することができます。YARAルールは、電子メール、特に添付ファイルに対して実行できます。また、リバースプロキシサーバー上のHTTP通信など、ネットワークの他の部分に対しても実行できます。もちろん、既存の分析ソフトウェアに追加して使用することもできます。
参照: Linux 30周年: オープンソースオペレーティングシステムを祝う (無料 PDF) (TechRepublic)
送信ネットワーク通信分析
YARAルールを用いて送信通信を分析することで、マルウェアによる送信通信を検出するだけでなく、データ窃盗の検出も試みることができます。企業からの正規文書を検出するために作成されたカスタムルールに基づく特定のYARAルールを使用することで、データ損失防止システムとして機能し、内部データの漏洩の可能性を検出できる可能性があります。
EDR統合
YARA は成熟した製品であるため、いくつかの異なる EDR (エンドポイント検出および応答) ソリューションに個人の YARA ルールを統合することができ、1 回のクリックですべてのエンドポイントで検出を簡単に実行できます。
YARA をインストールするにはどうすればいいですか?
YARA は、macOS、Windows、Linux など、さまざまなオペレーティング システムで利用できます。
macOSにYARAをインストールする方法
YARAはHomebrewを使ってmacOSにインストールできます。以下のコマンドを入力して実行するだけです。
brew YARA をインストールする
この操作が完了すると、YARA はコマンドラインで使用できるようになります。
WindowsにYARAをインストールする方法
YARAは、使いやすいWindowsバイナリを提供しています。ウェブサイトからダウンロードしたzipファイルは、任意のフォルダに解凍でき、Yara64.exeとYarac64.exe(32ビット版を選択した場合はYara32.exeとYarac32.exe)の2つのファイルが含まれています。
これで、コマンド ラインで作業する準備が整いました。
LinuxにYARAをインストールする方法
YARAはソースコードから直接インストールできます。ソースコード(tar.gz)のリンクをクリックしてダウンロードし、ファイルを解凍してコンパイルしてください。例として、Ubuntuシステムで本稿執筆時点での最新バージョンであるYARAバージョン4.1.3を使用します。
いくつかのパッケージは必須であり、YARA をインストールする前にインストールする必要があることに注意してください。
sudo apt install automake libtool make gcc pkg-config
完了したら、ファイルの抽出とインストールを実行します。
tar -zxf YARA-4.1.3.tar.gz
cd YARA-4.1.3
./bootstrap.sh
./configure
作る
sudo インストール
YARA は簡単にインストールできます。最も難しいのは、効率的な YARA ルールの記述方法を学ぶことです。これについては次の記事で説明します。
開示:私はトレンドマイクロに勤務していますが、この記事で述べられている意見は私自身のものです。