Pendahuluan
YARA adalah aplikasi yang ditujukan untuk membantu para kolektor malware (baik untuk tujuan penelitian maupun sekedar koleksi pribadi) dalam mengidentifikasi dan mengelompokkan spesimen malware berdasarkan ciri-ciri yang dimiliki oleh malware tersebut. YARA bisa digunakan pada berbagai platform seperti Windows®, Linux dan Mac OS X, serta dapat digunakan melalui command-line interface maupun melalui script python dengan perantara ekstensi yara-python. Sebagai catatan, YARA memerlukan PCRE sebagai dependensi, tapi jangan khawatir karena mayoritas distro GNU/Linux dan *BSD sudah menyertakan dependensi tersebut. Untuk lebih jelasnya, bisa dibaca pada situs resmi YARA.
Cara Kerja
Untuk melakukan tugas pengindentifikasian dan pengelompokan malware, YARA membutuhkan sejumlah rules yang dengan format tertentu. Keterangan lebih rinci bisa dibaca pada dokumentasi YARA. Secara singkat, format rules yang digunakan oleh YARA adalah seperti pada contoh berikut ini:
rule w32nebula
{
strings:
$tanda = {4E 65 FF FF DF FC 62 75 6C 61}
condition:
$tanda
}
pada contoh rule di atas, kita menggunakan pola dalam bentuk hexadecimal string. Pola itu sendiri kita dapatkan dengan membuka spesimen / sample malware nebula menggunakan hexeditor dan diperoleh dump seperti ini:
0000fb0: 40ec 21c3 e1ff ffff 6501 7369 4472 6976 @.!.....e.siDriv
0000fc0: 6d73 636e 7466 7931 0065 6d6f 7665 7365 mscntfy1.emovese
0000fd0: 4e65 ffff dffc 6275 6c61 0045 ffcc 3100 Ne....bula.E..1.
Setelah kita membuat rules, maka kita dapat langsung melakukan pengidentifikasian spesimen malware. Sebagai contoh, kita akan melakukan identifikasi pada sebuah direktori, maka kita dapat menggunakan perintah seperti ini (contoh berikut ini menggunakan OS GNU/Linux):
sh-3.2$ ./yara -r rules .
w32nebula ./b.exe
w32nebula ./a.exe
w32nebula ./konon-ini-virus.exe
dan jika YARA dijalankan tanpa parameter, maka akan ditampilkan cara penggunaannya seperti pada contoh berikut ini:
bash-3.2$ ./yara
usage: yara [ -t tag ] [ -n ] [ -g ] [ -s ] [ -r ] [ -v ] [RULEFILE...] FILE
options:
-tprint rules tagged as and ignore the rest. This option can be used more than once.
-n print rules that doesn't apply (negate).
-g print tags.
-s print strings.
-r recursively search directories.
-v show version information.
Report bugs to:
Penutup
Sekian dulu penjelasan singkat mengenai YARA. Satu hal yang perlu kita perhatikan adalah kunci utama aplikasi YARA yang terdapat pada rules yang kita buat, jadi kita dituntut untuk mengetahui struktur rules dengan baik dan itu bisa dicapai dengan membaca manual yang telah disediakan. Ok, semoga artikel ini bermanfaat, sampai jumpa di artikel berikutnya.
Ucapan Terima Kasih
Tuhan Yang Maha Esa, NitrouZ, dylavig, k0il, dracoola, D3L, dan Anda