Ders 3.14: YARA kuralları yazmak
YARA, savunmacıların bir zararlı yazılım ailesini dosyalarının içerdiği şeylerle tanımlamak için kullandığı örüntü eşleştirme dilidir; böylece tek bir kural özet listelerinin kaçırdığı varyantları yakalar. Bir kuralın aranacak dizeleri ve onları birleştiren bir koşulu vardır. İyi bir kural, meşru yazılımlarda yanlış pozitif vermeyecek kadar özgül ve bir sonraki derlemeyi yakalayacak kadar geneldir. Laboratuvarda bir çalışma arkadaşının taslak kuralını sınıyor, yanlışlıkla işaretlediği meşru programı buluyor, daha iyi bir kuralı sıkılaştırıyor ve hiçbir özet ya da alan adı listesinin bilmediği farklı bir C2 sunucusuyla yeni bir varyantı yakalıyorsun.
18 dk
Bu derste öğreneceklerin
- YARA'nın ne işe yaradığını açıklamak
- Bir kuralın meta, strings ve condition bölümlerini okumak
- yara -r ve -s ile dizinleri taramak
- Bir yanlış pozitifi tanımak ve düzeltmek
- Varyantları yakalayan koşullar yazmak
Temel terimler
- YARA
- Zararlı yazılımı içeriğine göre tanımlamak ve sınıflandırmak için açık kaynaklı bir örüntü eşleştirme aracı ve kural dili.
- strings bölümü
- Adlandırılmış örüntüler: metin ("..."), onaltılık baytlar ({ 4D 5A }) ya da düzenli ifadeler (/.../); nocase ve wide gibi değiştiricilerle.
- condition
- Kuralın ne zaman eşleşeceğine karar veren mantıksal ifade.
- Yanlış pozitif
- Zararsız bir şey üzerinde tespit.
- Yanlış negatif
- Zararlı bir şeyi kaçırmak.
← Mutlak ve göreli yollar · Tüm dersler · Portlar ve soketler: veriyi hangi program alır →