YARA / ClamAV

YARAと呼ばれるオープンソースのマルウェアを検知・解析・分類するための仕組みが、ClamAVでも使用できることを知り試してみました。

参考)
https://security.sios.jp/vulnerability/antivirus-security-20151215/
https://qiita.com/suzuki-kei/items/5a2f2dff9130c878c586

環境)

ClamAV & BPF

まず今回使用するルールファイルを作成しました。
特定の文字列をもつテキストファイル判定することを目的としています。

sample_txt.yara

特定のバイト列を持つバイナリファイル判定することを目的としています。
sample_bin.yara

sample_bin2.yara

sample_bin3.yara

sample_bin4.yara

バイナリは、エンディアンによる判定やバイトスキップの確認をできるようにしています。

次にテストに使うファイルです。

n@n0c:~/yana-test$ cat sample.txt
This file is malware.
n@n0c:~/yana-test$ cat sample2.txt
This file is text.
n@n0c:~/yana-test$ od -x sample.bin
0000000 0201 0403 0605 0807
0000010

テキストファイルの検知したときと、しなかったときの実行結果
(UNOFFICIAL FOUND:検知した場合)

n@n0c:~/yana-test$ clamscan –database=sample_txt.yara sample.txt
/home/n/yana-test/sample.txt: YARA.sample_txt.UNOFFICIAL FOUND

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.006 sec (0 m 0 s)
Start Date: 2023:09:29 23:57:17
End Date: 2023:09:29 23:57:17
n@n0c:~/yana-test$ clamscan –database=sample_txt.yara sample2.txt
/home/n/yana-test/sample2.txt: OK

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.006 sec (0 m 0 s)
Start Date: 2023:09:29 23:57:47
End Date: 2023:09:29 23:57:47

バイナリファイルは一つで、複数複数のルールでテスト
実行結果

n@n0c:~/yana-test$ clamscan –database=sample_bin.yara sample.bin
/home/n/yana-test/sample.bin: YARA.sample_bin.UNOFFICIAL FOUND

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.005 sec (0 m 0 s)
Start Date: 2023:09:30 00:01:33
End Date: 2023:09:30 00:01:33
n@n0c:~/yana-test$ clamscan –database=sample_bin2.yara sample.bin
/home/n/yana-test/sample.bin: OK

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.007 sec (0 m 0 s)
Start Date: 2023:09:30 00:01:45
End Date: 2023:09:30 00:01:45
n@n0c:~/yana-test$ clamscan –database=sample_bin3.yara sample.bin
/home/n/yana-test/sample.bin: YARA.sample_bin.UNOFFICIAL FOUND

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.004 sec (0 m 0 s)
Start Date: 2023:09:30 00:01:54
End Date: 2023:09:30 00:01:54
n@n0c:~/yana-test$ clamscan –database=sample_bin4.yara sample.bin
/home/n/yana-test/sample.bin: OK

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.103.9
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.004 sec (0 m 0 s)
Start Date: 2023:09:30 00:02:03
End Date: 2023:09:30 00:02:03

メモでした。

About

Categories: 未分類 タグ: