YARA Kuralları Nedir, Nasıl Yazılır.

YARA

Yara, malware tespitinde ve analizinde kullanılan bir tooldur. Yara genel anlamında kullanımında malware hakkında bilgi toplama ve analizi hızlandırmak amacıyla kullanılmaktadır. Yara virustotal tarafından geliştirilmiştir. Açık kaynak kodlu bir araçtır. 

Yara kuralları malwareların sınıflandırılmasında ve malwareların kodların tanımlanmasında kullanılır. Tespit edilen bir malware hangi malware türünü olduğunu ya da kimin tarafından kullanılıp oluşturulduğunu yara kuralları ile elde edebiliriz. Aynı zamanda malwarelarin kullanmış olduğu exploitleri, malwareların hangi dilde yazıldığı, kullanmış olduğu anti analiz teknikleri hakkında bilgi sahibi olabiliriz.

Yara nın temelini kurallar oluşturur.

 

Yara kurallarını otomatikleştirmek için Python kullanılarak yazılan bir çok kütpühane mevcuttur.
yara kuralları GitHub üzerinde hazır yara kurallarını bulmamız mümkün. Örnek olarak virüs totoal tarafından paylaşılan yara kütüphanesi;
https://github.com/VirusTotal/yara-python

 

Yazdığımız yara kuralları ile kendi sistemimizin dışında onilen sanbox sağlayan sistemler üzerinde de yara kurallarına hit eden zararlı yazlımı analiz edebiliriz. örnek olarak https://www.hybrid-analysis.com/      https://malwr.com/   siteleri verilebilir.

 

 

 

 

 

Yara da kural yazılması;

Her bir yara kuralı rule ifadesi ile başlar ve kurala verilen isimle devam eder. Meta kısmında yazan ifadeler kural hakkında bilgileri içerir.

Sonra gelen strings ve condition kısmı yara nın temelini oluşturur ve aranacak ifadeler ile bu ifadelerin meydana gelmesi halinde ilgili yara kuralını tetikleyeceğini belirler.

Strings bölümğndeki değişkenler $ işareti ile başlar.

İlgili string değişkene atanacak değerhex ise {} arasına yazılır text formatında ise “” arasına yazılır.

/*   çoklu yorum satırı yazılabilir */

// tekli oyrum satırı

 

Yara parametreleri;

-t <tag(değişken)> -> “tag” olarak etiketlenen kuralları yazdırır, geri kalanları görmezden gelir.

-i <identifier> -> sadece kuralların ismini yazdırır 

-n -> boşa çıkan kuralları yazdırır 

-D –print-module-data -> modülün verisini yazdırır.

 -g –print-tags -> etiketlenenleri yazdırır. 

-m –pintt-meta -> metadata’yı yazdırır. 

-s –print-strings -> eşleşen kelime dizilerini yazdırır. 

d <identifier> -> dışarıda değişken tanımlama 

-r –recursive -> dizinlerin alt dizinlerini de tarar. 

-f –fast-scan -> hızlı tarama yapar 

-w –disable-warnings -> hataları görmezden gelir 

-v –version -> kullandığınız yara sürümünün bilgilerini yazdırır 

-h –help -> yardım kısmını gösterir

 

 

Yara Örneği;

            rule kural_ismi

{

            meta:

            authour= “M Aygun”

            decription=”ilk_yara”

            strings:

            $a =”zararlı yazılım”

            $b=”yara kuralları”

            condition:

            $a or $b

}

 

 

 

Yarayı kullananlar;

           ActiveCanopy

           Adlice

           AlienVault

           BAE Systems

           Bayshore Networks, Inc.

           BinaryAlert

           Blue Coat

           Blueliv

           Cofense

           Conix

           CrowdStrike FMS

           Cuckoo Sandbox

           Cyber Triage

           Digita Security

           Dragos Platform

           Dtex Systems

           ESET

           ESTSecurity

           Fidelis XPS

           FireEye, Inc.

           Fox-IT

           FSF

           Guidance Software

           Heroku

           Hornetsecurity

           InQuest

           JASK

           Joe Security

           jsunpack-n

           Kaspersky Lab

           Koodous

           Laika BOSS

           Lastline, Inc.

           LimaCharlie

           McAfee Advanced Threat Defense

           Metaflows

           NBS System

           Nozomi Networks

           osquery

           Payload Security

           PhishMe

           Picus Security

           Radare2

           Raytheon Cyber Products, Inc.

           RedSocks Security

           ReversingLabs

           root9B

           Scanii

           RSA ECAT

           SpamStopsHere

           stoQ

           Symantec

           Tanium

           Tenable Network Security

           The DigiTrust Group

           ThreatConnect

           ThreatStream, Inc.

           Thug

           Trend Micro

           VirusTotal Intelligence

           VMRay

           We Watch Your Website

           Websense

           x64dbg

           YALIH

 

 

 

Kaynak :

https://github.com/InQuest/awesome-yara

https://support.virustotal.com/hc/en-us/articles/115002178945-YARA

http://virustotal.github.io/yara/

https://www.bgasecurity.com/makale/zararli-yazilim-analizi-ve-tespitinde-yara-kullanimi/

https://halilozturkci.com/adli-bilisim-incelemelerinde-yara-ile-zararli-kod-tespiti/

https://yara.readthedocs.io/en/stable/