Malware analysis with using YARA #1 / YARA kullanımı ile zararlı analizi #1

Bu makalede, YARA kullanılarak zararlı (malware) analizi nasıl yapılır konusuna değinilecektir. Öncelikle “YARA nedir ve niçin kullanılır?” sorusuna basitce cevap verelim. YARA, bir zararlı belirleme, tespit etme aracıdır ve analistler (security analyst-malware analyst) için dizayn edilmiştir. Bir çok platform da (Windows, Linux, Mac OS X) çalışabilmektedir. En son yayımlanmış versiyonu https://github.com/VirusTotal/yara/releases adresinden indirebilirsiniz.

Installation YARA   

Parrot Security OS 4.0.1 üzerine kurulmuştur. Kaynak tarball dosyasını indiriyoruz ve compile ediyoruz.

 tar -zxf yara-3.7.1.tar.gz

cd yara-3.7.1

./bootstrap.sh

Sisteminizde automake, libtool, make ve gcc olduğundan emin olunuz. Ubuntu ve Debian kullanıcıları aşağıdaki komutu kullanabilir.

sudo apt-get install automake libtool make gcc

Eğer YARA’nın kaynak kodunda değişiklik yapmak istiyorsanız flex ve bison parser’ına ihtiyacınız var.

sudo apt-get install flex bison

Kompile edip standart yöntemle YARA’yı yüklüyoruz.

./configure

make

sudo make install

Herşeyin yolunda olup olmadığını kontrol etmekte fayda var.

make check

YARA’nın bazı özellikleri OpenSSL kütüphanesi bağlıdır. Bu özelliklere, OpenSSL sisteminizde yüklüyse ulaşabilirsiniz. Eğer değilse, YARA sorunsuz çalışacaktır ancak bazı özellikler disable olacaktır. Ubuntu ve Debian kullanıcıları aşağıdaki komutu kullanabilirler.

sudo apt-get install libssl-dev

Default olarak YARA, cuckoo, magic ve dotnet modullerine sahip değildir. Eğer bu modulleri kullanarak analiz yapmak istiyorsanız enable etmeniz gerekmektedir.

./configure --enable-cuckoo --enable-magic --enable-dotnet

Modüller, harici kütüphanelere sahiptir ve kullanmak istediğiniz module göre kütüphanesini yüklemeniz gerekmektedir.

cuckoo

Jansson (JanssonLibrary) kütüphanesi yüklenmelidir. Ubuntu ve Debian versiyonlar için paket ismi: libjansson-dev.

sudo apt-get install libjansson-dev

Eğer bu komut çalışmazsa JanssonGitHub adresinden yüklenebilir.

magic 

libmagic kütüphanesine bağlıdır ve Unix standart program dosyalarını kullanır. Ubuntu, Debian ve CentOS libmagic-dev paketini içermektedir. Kaynak kodu SourceCodeMagic adresinden indirilebilir.

Execute YARA for the first time 

Yükleme işlemini hata almadan tamamladıysanız, komut satırından basit bir kural yazarak bazı dosyaları scan edebiliriz:

echo "rule dummy { condition: true }" > my_first_rule

yara my_first_rule my_first_rule

Herşey sorunsuz kurulduğunda “dummy my_first_rule” çıktısını almamız gerekmektedir. Anlamı, my_first_rule, dummy kuralıyla eşleşmiştir.

YARA samples

Yukarıdaki örnek de basit bir kural tanımıyla zararlı analizi yapılmıştır. Çok daha kapsamlı kurallar yazarak zararlı analizi için Writing YARA Rules  dokümanını inceleyebilirsiniz.