10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Yaraの勉強#1

Posted at

##Yaraを使ってみた
Yaraはマルウェア等を検出するために使用できる、パターンマッチングツールです。使い始めるまでの流れを備忘録的にまとめます。

YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns.

Welcome to YARA’s documentation!
https://yara.readthedocs.io/en/v3.8.1/

##Yaraのインストール
Ubuntu18.04で以下のコマンドを実行します。
どのパッケージがなぜ必要かまでは、まだ理解できていません。

commands.sh
#アップデート
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install automake libtool make gcc yara python3-yara
#作業用ディレクトリとして/yaraを作成
mkdir yara
cd yara

##Yaraルールの作成
極めて簡単なルールを作成していきます。
検出対象のテストファイルとして、以下のtest.txtを作成します。(もちろん、ノーマルファイルですw)

test.txt
This is a test file!

そして、このテストファイルを検出するためのルールをTestRule.yaraとして作成します。
要件としては以下にします。

  • "This is a test"にマッチすると検出する
  • 検出ルール名は"ExampleTestfileRule"
TestRule.yara
rule ExampleTestfileRule
{
    meta:                                                             
        description = "This is example file"                            
                                                 
    strings:
        $text_string = "This is a test"
        $text_binary = {54 68 69 73 20 69 73 20 61 20 74 65 73 74}

    condition:
        $text_string or $text_binary
}

サンプルをいくつか見ていると、metaの書き方もまちまちですが、お作法的なこともあるんですかね?
このあたりはまた改めて調べてみたいです。

##検出テスト
では、スキャンを実行してみましょう。以下のコマンドを実行します。

commands.sh
yara TestRule.yara test.txt

すると、以下の実行結果が得られ、検出に成功したことがわかりました。

ExampleTestfileRule test.txt

なるほど、「ExampleTestfileRule 」で「test.txt」を検出したってことですね。

##おわりに
Yaraの最初の一歩を踏み出すことができました。これからルールの書き方等勉強していきたいと思います。

##参考文献
YARA’s documentation
https://yara.readthedocs.io/en/v3.8.1/

YARAについて
https://digitaltravesia.jp/usamimihurricane/webhelp/_RESOURCE/MenuItem/another/anotherAboutYARA.html

Yara - くじらとたぬき
http://kmdnet.hatenablog.com/entry/2016/10/24/215353

なにやら(yara) - じゃあ、おうちで学べる
http://syu-m-5151.hatenablog.com/entry/2016/09/15/045006

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?