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/