Ransomware Tespiti İçin SIEM Kuralı Geliştirme

hack kilit kural siemKurum ya da kişisel bilgisayarlarına farklı yollarla bulaşıp makineler üzerinde yer alan verilerin şifrelenmesiyle para karşılığında bunların açılmasını talep eden fidyecilik zararlı yazılımları sürekliliğini koruyan bir başlıktır.

Son zamanlarda “TheShadowBrokers” hacker grubunun sızdırdığı zafiyetler kullanarak ilk WannaCry fidyecilik zararlı yazılımı çıkarılmış oldu. Bunun etkileri sona erdi derken daha gelişmiş olarak adlandırılan ve bir önceki Petya zararlısının da gücünü kullanan yeni bir  varyantı türemiş ve bazı kurumlar bu durumdan ciddi zarar görmüştür. Ransomware kategorisinde tanımlanan bu gibi tehditlerin kurumlarda tespit edilmesi için çeşitli analizler sonucunda elde edilen IOC’lerin (Indicator of Compromise) kullanımıyla SOC ekipleri mevcut SIEM çözümleri üzerinde alarm mekanizmaları oluşturabilir ve bir sonraki tehdit oluştuğunda daha hızlı aksiyon alabilirler.

Bu yazımızda ArcSight ESM (Enterprise Security Solution) SIEM çözümü üzerinde IOC’lerden toplanan ransomware IP adresleri ile haberleşme yapılmasına yönelik dinamik alarm mekanizması oluşturacağız. Geliştireceğimiz bu yapı IP Adresi özelinde olsa da benzer şekilde ransomwarelere yönelik Mail, URL, File Hash, File Name, vb. indikatörlere yönelik oluşturularak zenginleştirilebilir.

İlk olarak kendimize IOC’leri tutacağımız bir liste oluşturmalıyız. Bunun için ArcSight üzerinde ActiveList olarak bilinen IPAddress, RansomwareFamily, FeedSource ve Description alanlarından oluşan bir yapı oluşturalım. Burada bizim için kritiklik arz eden alan IPAddressidir. ArcSight üzerinde liste oluştururken hangi alanın log üzerinde kesinlikle eşleşmesini istiyorsanız o alanı Key-field olarak belirlemelisiniz. Bu sayede listede yer alan her IP adresi birbirinden farklı olacaktır.

siem kuralı

Bu listenin oluşturulması neticesinde içerisine takip ettiğiniz kaynakları kullanarak veri girişi sağlayabilirsiniz. Örnek olması amacıyla vulners.com tarafından yayımlanan Petya IOC bilgileri kullanılmıştır. Bunun dışında WannaCry, CryptoLocker gibi varyantlara ilişkin IOC’lerden elde edilmiş IP adreslerini de ekleyebilirsiniz.

siem kuralı

Tespit etmek istediğimiz verileri oluşturduğumuz listeye ekledikten sonra kuralımızın oluşturulmasına geçebiliriz. Fidyecilik zararlı yazılımları ile ilişkili IP adreslerine yönelik kurum içerisinden IP adreslerinin erişimleri güvenlik duvarı üzerinden tespit edilebilir. Örnek olarak kullandığımız güvenlik duvarı ile sizlerinki farklı olabilir. Bundan dolayı kuralda yer alan Device Vendor ve Device Action log kısımlarındaki koşullar kurumunuzun güvenlik duvarı markasına göre değişiklik gösterebilir. (Kategorik olarak bu koşul oluşturulabilir. Ancak, logun sisteme alınmasında aggregation gibi işlemler uygulanıyorsa kategorik olarak oluşturulan yapı çalışmayabilir. Burada net olarak bilinen ArcSight alanlarıyla ilerlenmiştir.)

siem kuralı

Erişimin kurum içerisinde olduğundan emin olmak adına Source Address olarak ilgili IP subnet’leri tanımlanmıştır. Oluşturduğumuz listeyi kural içerisine ekleyerek log içerisinde yer alan Destination Address alanını listedeki IPAddress alnıyla eşleştiriyoruz. Bu işlemden sonra genel manada ransomware olarak bilinen IP adreslerinden herhangi biriyle içeriden birisi erişim kurarsa diye oluşturmuş oluyoruz.

Alarm tetiklendiği zaman erişilmek istenilen IP adresinin riski nedir sorusunun cevabını alması için listede bulunan diğer verilerin alarm detayında görüntülenmesine yönelik geliştirme yapılabilir. Bu kapsamda ArcSight üzerindeki kurallarda yer alan Local Variable yapısı kullanılabilir. Koşulunu oluşturduğumuz kural üzerinde Local Variable sekmesinde +Add aracılığıyla listeden verilerin çekilmesini sağlayan GetActiveListValue fonskiyonunu kullanabiliriz.

siem kuralı

Bu bize oluşturduğumuz listedeki Key-field’ın log üzerinde bir alanla eşleştirme zorunluluğu getirir. Destination Address i seçerek logda yer alan IP adresinin listede olması durumunda RansomwareFamily, FeedSource ve Description gibi diğer detaylarını getirir. Yukarıda yer alan ekran görüntüsündeki gibi Local Variable’a isim vererek kaydettiğimiz zaman kullanıma hazır hale getirecektir. Önemli bir husus olarak oluşturulan Local Variable’ın bir sonraki adımda bahsedeceğim Action bölümünde kullanılabilmesi için Aggregation sekmesinde tanımlanması gerekmektedir. Bunun için bu sekmede yer alan iki kutudan aşağıdakinde yer alan Add butonu aracılığıyla çıkan ekranda Local Variables sekmesinden oluşturduğumuz değişkenin göstermek istediğimiz alanlarını seçiyoruz.

siem kuralı

ArcSight üzerinde kural oluşturduktan sonra Action kısmında aksiyon aldırmamızı sağlayan bazı seçenekler bulunmaktadır. Buraya geldiğimizde kuralımızın erişimin olduğu her logda tetiklenmesini seçebiliriz. Bunun için Action sekmesi altında On Every Event seçeniği aktif hale getirerek üzerinde sağ tıklama işlemi ile Add → Set Event Field seçeneği üzerinde oluşacak alarm logunda dilediğimiz alana yazı yazmamızı sağlayabiliriz.

Siem Kuralı

Çıkan ekranda Name (tercih değişebilir) alanına tetiklenmesi durumunda yazılmasını istediğim metni yerleştiriyorum. Daha önce oluşturduğumuz Local Variable ın burada kullanabiliriz. Bunun için oluşturulan Local Variable’ın isiminin başına $ işareti konularak gösterilmek istenilen sütün bilgisinin numarası yazılarak tanımlama oluşturulmalıdır. Aşağıdaki ekran görüntüsünde yer aldığı gibi $GetRansomwareDetails____1 ile tespit edilen IP adresinin hangi ransomware kategorisinde olduğunu belirtebiliriz.

siem kuralı

Tüm bu adımlardan sonra yapılan işlemlerin kaydederek kuralımızın tetiklendiğiniz gözlemlemek üzere ArcSight üzerinde bir Active Channel oluşturuyoruz. Active Channel üzerinde basitçe Action kısmında Name alanına yazdığımız “Ransomware IP Address Traffic Detected” verisini içerenleri göster diyerek takip ettiğimizde aşağıdaki sonucu elde ediyoruz. Tabii ki de ilgili trafiğin simülasyonu neticesinde bu alarm oluşmuştur.

siem kuralı

Genel anlamda ArcSight sistemi üzerinde farklı kural geliştirme yöntemleri olsa da her ransomware saldırı türüne özel benzer vektörleri için yeni kural geliştirmek yerine bu şekilde yapı oluşturup sadece listeyi güncelleyerek alarmlarınızı almaya devam edebilirsiniz. Ayrıca, oluşturacağınız listenin verileriyle daha aktif oynayabilir ve alarmlarınızın önceliklendirilmesine yönelik işlemlerde yapabilirsiniz.

Yazar: Mehmet KILIÇ

Kaynaklar:

  1. HPE ArcSight – https://saas.hpe.com/en-us/software/siem-security-information-event-management
  2. Petya IOC – https://gist.github.com/vulnersCom/
  3. Ransomware Feeds – https://ransomwaretracker.abuse.ch/feeds/csv/