Yara ile Zararlı Yazılım Avcılığı
Giriş
Yara, zararlı yazılım tespitinde ve analizinde kullanılan bir araçtır. Özellikle zararlı yazılım analiz sürecinde, zararlı yazılımla ilgili bilgi toplamak ve analizi hızlandırmak amacıyla kullanılmaktadır. Aynı zamanda adli bilişim incelemelerinde de ön bilgi edinmek ve hızlı sonuçlar elde etmek amacıyla bellek analizlerinde aktif olarak tercih edilmektedir. Öte yandan, son yıllarda geliştirilen e-mail güvenlik ürünleri, sandbox sistemleri, zararlı yazılım analiz araçları ve hatta güvenlik zafiyeti tarama araçları da yara kurallarından yararlanmaktadır. Bu yazımda ise zararlı yazılım avcılığında yara kurallarının nasıl kullanıldığından bahsetmeye çalışacağım.
Tehdit Avcılığı (Threat Hunting)
Tehdit avcılığının odak noktası tespit edilemeyeni tespit edebilmektir. Buradaki amaç mevcut güvenlik sistemlerini atlatan tehditlerin tespit edilmesidir. Bu durumu Cyber Kill Chain basamakları ile özetlemek gerekirse, zincirin 4. aşaması olan sömürme (Exploitation) aşamasını başarı ile tamamlayan APT (Advanced Persistence Threat) saldırıları gün yüzüne çıkarılmaya çalışılır. Sonrasında ise olay müdahale (Incident Response) sürecinin başlatılıp olayın durdurulması, etki analizinin yapılması ve kök sebebin bulunup çözülmesi adımlarına geçilir.
Yara Kullanımının Faydaları
Yara kuralları zararlı yazılımların sınıflandırılmasında ve zararlı kodların tanımlanmasında kullanılır. Tespit edilen bir zararlı yazılımın hangi zararlı yazılım ailesine ait olduğu yada hangi hacker grubu tarafından kullanıldığı bilgisini Yara kuralları ile edinebiliriz.
Aynı zamanda bir zararlı yazılımda kullanılan güvenlik zafiyetleri yada exploit kitler hakkında bilgi alabiliriz.
Yukarıdakilere ek olarak, zararlı yazılımın hangi paketleyici kullanılarak paketlendiği, hangi dilde yazıldığı, kullanmış olduğu anti analiz teknikleri gibi birçok durumdan hızlıca bilgi sahibi olabiliyoruz.
Yara ile Zararlı Yazılım Avcılığı
Yazdığımız yara kuralları ile kendi sistemlerimizde tehdit avcılığı yapabileceğimiz gibi online sandbox sistemleri üzerinde de yazmış olduğumuz yara kurallarına hit eden zararlı yazılım örnekleri de edinebiliriz. Bu örneklerin davranış analizinden yola çıkarak uç nokta güvenlik ürünlerimizi besleyebiliriz. Örnek olarak Hybrid-Analysis üzerinde yara kurallarını zararlı yazılım avcılığında nasıl kullanabileceğimizi göstereceğim.
- Hybrid Analizin ana sayfasında bulunan Yara arama modülünü kullanıyoruz.
2. Arama modülündeki “Advanced Search” ile yara kuralımızı düzenleyebiliyoruz. Örnek olarak CVE-2018–4878 güvenlik zafiyetini istismar eden zararlı yazılım örneklerini arayalım.
3. Saniyeler içerisinde milyonlarca zararlı örneği arasından istediğimiz sonuca ulaşabilir hale geliyoruz.
Örnek Yara Kuralları
Github üzerinde birçok zararlı yazılım, exploit kit, güvenlik zafiyeti ile ilgili hazır Yara kuralları bulmanız mümkün. Özellikle VirusTotal tarafından hazırlanan güzel bir veritabanı bulunuyor. (Buradan ulaşabilirsiniz.)
Ayrıca yara ile ilgili birçok yazı,makale ve araç listesi barından bir repository daha bulunuyor. İncelemenizi tavsiye ederim. (Buradan ulaşabilirsiniz.)
Süreci Otomatikleştirme
Süreci daha hızlı ve otomatik hale getirmek isteyenler için Amerika’yı tekrardan keşfetmeden kullanabilecekleri, Python kullanılarak yazılan birçok kütüphane mevcut. En temel olanı, Virustotal tarafından paylaşılan Yara kütüphanesi. (Buradan ulaşabilirsiniz.) Özellikle yara kurallarının derlemesini ve arama işlemlerini bu kütüphane ile yapabilirsiniz. Ek olarak çok sevdiğim ve kullandığım diğer bir kütüphane ise AlienVault tarafından oluşturulan ve otomatik yara kuralı oluşturmaya yarayan Yabin isimli araç. Ayrıca, yine aynı görev için kullandığım YaraGenerator isimli araçta oldukça başarılı sonuçlar çıkarıyor.
Sonuç
Yara kuralları zararlı yazılım analizinde ve tehdit avcılığında oldukça katma değeri bulunan önemli bir araç konumundadır. Özellikle kurumsal ortamlar gibi hızlı sonuçlar almanız gereken yerlerde tabiri caizse hayat kurtarıyor diyebiliriz.