Konuyu Açan
#0
YARA, kötü amaçlı yazılım tespiti ve analizinde sıklıkla kullanılan bir araçtır. YARA'nın temel işlevi, belirli desenleri (pattern) tanımak ve bu desenlere göre dosyaları sınıflandırmaktır. Ancak, bu desenlerin etkinliğini artırmak için kullanılabilecek çeşitli string modifier teknikleri bulunmaktadır. Bu yazıda, YARA string modifier’larını ve nasıl etkili bir şekilde kullanılabileceklerini inceleyeceğiz.
1. String Modifier Nedir?
String modifier, bir YARA kuralında yer alan string’lerin arama davranışlarını değiştiren, bunları özelleştiren veya belirli koşullar altında daha hassas hale getiren işlevlerdir. Bu modifier’lar, string’lerin eşleştirme kurallarını etkileyerek, daha esnek ve güçlü arama yetenekleri sağlar.
2. Yaygın Kullanılan String Modifier’lar:
3. Örnek Kullanım:
YARA kuralları yazarken, bu modifier’ları kullanarak daha karmaşık ve etkili kurallar oluşturabilirsiniz. Örneğin:
Bu kural, "malware" kelimesinin büyük/küçük harf duyarlılığı olmaksızın ve "malicious_code" kelimesinin tam eşleşmesi durumunda tetiklenecektir.
YARA string modifier’ları, kötü amaçlı yazılım tespitinde esneklik ve hassasiyet sağlamak için kritik bir rol oynamaktadır. Bu teknikleri kullanarak, YARA kurallarını daha etkili hale getirebilir ve zararlı yazılımların tespiti için daha kapsamlı bir yaklaşım geliştirebilirsiniz.
1. String Modifier Nedir?
String modifier, bir YARA kuralında yer alan string’lerin arama davranışlarını değiştiren, bunları özelleştiren veya belirli koşullar altında daha hassas hale getiren işlevlerdir. Bu modifier’lar, string’lerin eşleştirme kurallarını etkileyerek, daha esnek ve güçlü arama yetenekleri sağlar.
2. Yaygın Kullanılan String Modifier’lar:
- nocase: Bu modifier, string’in büyük/küçük harf duyarlılığını ortadan kaldırır. Örneğin,
nocase "example"ifadesi, "example", "Example" veya "EXAMPLE" gibi varyasyonları da yakalar.
- fullword: Bu modifier, yalnızca tam kelime eşleşmelerini arar. Yani,
fullword "test"ifadesi, "test" kelimesinin tam olarak eşleştiği yerleri bulur, "testing" gibi kelimeleri dışlar.
- hex: Bu modifier, string’in hex kodu şeklinde tanımlanmasını sağlar. Örneğin,
hex "4d 79 53 74 72 69 6e 67"ifadesi, bu hex kodunun karşılık geldiği karakter dizisini arar.
- base64: Bu modifier, string’in Base64 formatında tanımlanmasına olanak tanır, böylece bu formatta kodlanmış verileri tespit etmeye yardımcı olur.
- offset: Bu modifier, belirli bir byte ofsetine göre arama yapar. Örneğin,
offset 4 "data"ifadesi, arama yapılacak dizenin başlangıcından 4 byte ileride "data" kelimesini arar.
3. Örnek Kullanım:
YARA kuralları yazarken, bu modifier’ları kullanarak daha karmaşık ve etkili kurallar oluşturabilirsiniz. Örneğin:
CODE
1234567rule ExampleRule {
strings:
$a = "malware" nocase
$b = "malicious_code" fullword
condition:
$a or $b
}Bu kural, "malware" kelimesinin büyük/küçük harf duyarlılığı olmaksızın ve "malicious_code" kelimesinin tam eşleşmesi durumunda tetiklenecektir.
YARA string modifier’ları, kötü amaçlı yazılım tespitinde esneklik ve hassasiyet sağlamak için kritik bir rol oynamaktadır. Bu teknikleri kullanarak, YARA kurallarını daha etkili hale getirebilir ve zararlı yazılımların tespiti için daha kapsamlı bir yaklaşım geliştirebilirsiniz.