Ana Sayfa Çözümler Hizmetler Çözüm Ortakları Neden Netsmart? Kariyer Keşif İletişim

Netsmart Bilişim Sistemleri A.Ş.

Esentepe Mh. Ecza Sk. No: 6 K: 1, 34394,
Şişli-İstanbul, Türkiye

+90212-274-31-61

[email protected]

Splunk

DNS ile Data Exfiltration Üzerine Analiz ve Engelleyici Önlemler

Global tehdit istihbaratı çerçevesince Palo Alto’nun Unit 42 raporunda da belirtildiği üzere geçtiğimiz 3 yıl içerisinde ağırlıklı olarak sağlık, finans gibi çeşitli sektörlerde hizmet veren şirketleri hedeflediklerini ve başarılı atak senaryolarında şirketlerden “veri çalınması” ile yüksek miktarlarda para talep edildiğine ilişkin oran artışını aşağıda bulabilirsiniz. Bu artış aynı zamanda “veri hırsızlığı” için kullanılan teknik ve taktiklerin yıllar içerisinde saldırganlar tarafından kullanımının yaygınlaştığının ve bu tekniklerin verimliliğini göstermektedir.

Global tehdit istihbaratı çerçevesince Palo Alto’nun Unit 42 raporunda da belirtildiği üzere geçtiğimiz 3 yıl içerisinde ağırlıklı olarak sağlık, finans gibi çeşitli sektörlerde hizmet veren şirketleri hedeflediklerini ve başarılı atak senaryolarında şirketlerden “veri çalınması” ile yüksek miktarlarda para talep edildiğine ilişkin oran artışını aşağıda bulabilirsiniz. Bu artış aynı zamanda “veri hırsızlığı” için kullanılan teknik ve taktiklerin yıllar içerisinde saldırganlar tarafından kullanımının yaygınlaştığının ve bu tekniklerin verimliliğini göstermektedir.

Günümüzde APT gruplarının bir organizasyon yapısına verecekleri tek zarar kritik iş süreçlerinin aksaması/bozulmasına ilişkin sunucu sistemlerine verilecek zarar değildir. Bunun yanında siber güvenlik çözümlerinin etkin kullanılmadığı/başarılı bir şekilde konfigüre edilmeyen yapılarda uzun süre tespit edilmeden zararlı aktivitelerine devam etmelerine olanak sağlayacak stealthy metodlar mevcuttur. Netsmart siber güvenlik mühendisleri olarak, bu makalemizde internetin belki de en zayıf bileşeni olan DNS ile çeşitli APT grupları tarafından kullanılan, uygulandığı zaman başarı oranının yüksek olduğu bir metodu inceleyeceğiz.

Data exfiltration via DNS atak tekniği nasıl çalışır nedir?

DNS protokolünü kullanarak bir exfiltrate işlemi için saldırganların yapması gereken ön şartlar ve hazırlıklar mevcuttur.

  1. Kendilerine ait bir alan adı tahsisi ve dış dünyadan gelecek DNS sorgularına cevap verebilecek authoritative DNS sunucusu kurulması.
  2. Endpoint üzerinde ilgili zararlı aktiviteleri (lateral movement, privilege escalation) yaptıktan sonra exfiltrate edilecek verinin istenilen formata dönüştürülmesi (çeşitli encoding algoritmaları ile data manipülasyonu yapılması, encryption ile defense evasion eylemleri)
  3. Periyodik olarak DNS sorgularının local recursive DNS sunucusuna trafiğinin başlatılması
  4. Saldırgan tarafındaki DNS sunucusunda sorgulardan ilgili verinin toplanması

Aşağıdaki şema üzerinde adımların görselleştirilmiş halini bulabilirsiniz.

Peki saldırganlar bir endpoint üzerinde verilere erişebiliyorken neden DNS protokolünü kullanarak veri hırsızlığı metodu kullanırlar? Basit bir şekilde veriyi kendi command & control sunucularına upload işlemi ile yapmaları daha optimal bir yöntem değil mi?

Açıkçası daha optimal bir yöntem olmasına rağmen tespit edilmesi daha kolay olduğundan firewall cihazlarındaki default politikalar ile bu veri hırsızlığı yöntemi kolayca tespit edilip engellenebilmektedir.

Günümüzde bu exfiltration metodunun APT grupları tarafından tercih edilmesinin bir diğer temel sebebi, DNS log yönetimine ilişkin şirketlerin gözden kaçırdığı ve kullanılan güvenlik ürünlerinde yapılmayan konfigürasyonlardır.

Veri güvenliği konusunda best practice uygulama konusunda maalesef çoğu kurumun “legacy security monitoring” sistemleri ve default politikalar ile bu tip bir veri hırsızlığı tekniğini engellemesi imkansıza yakın.

İmkansıza yakın olmasının en temel nedeni, kullandığımız güvenlik ürünlerinden aldığımız raw log ile bu tip bir aktiviteyi anlayamıyor ve kısa sürede bir cevap geliştiremiyor olmamızdır.

Raw log yerine analiz edilmiş güvenlik metrikleri kullanımı ve AI/ML modelleri ile DNS sorguları paketlerinin detaylı inceleniyor olması, bu incelemelere ilişkin istatistiklere ilişkin istatistiklerin (QPS değerlerindeki değişiklikler, kategori bazlı domain sorgularının ağırlıklı dağılımı) güvenlik analistleri tarafından incelenmesi ile birlikte siber olay tespit & müdahale mekanizmaları iyileştirilebilir, düzenli olarak geliştirilebilir.

Bu yazımızda bir organizasyon içerisindeki bir Linux sunucunun malware tarafından enfekte olduğunu ve impact çerçevesince saldırganların DNS protokolünü kullanarak organizasyon içerisindeki kritik bilgileri tespit edilmeden çalmak istediklerini düşünelim. Bu atak senaryosunun tespit yöntemi için Splunk SIEM (Security Information and Event Management) üzerinde bir demo gerçekleştireceğiz.

Splunk Enterprise platformu üzerine Stream kurulumu

Splunk, big data ile ilgilenen ve çok sayıda makine loglarını analiz etmek için kullanılan ölçeklendirilebilir bir enterprise log management ve SIEM ürünüdür. Her SIEM ürününün logları normalize ve kategorize etme işlemleri farklılık göstermekte olup, Splunk Enterprise, bu işlemi “App” veya ”Add-on” olarak isimlendirdiğimiz uygulama ve eklentiler sayesinde gerçekleştirmektedir. Gelen raw datayı anlamlandırabilmek ve normalizasyonunu sağlamak için eklentiler kullanılmaktadır. Appler ise; anlamlandırılan datanın görselleştirilmesi, zenginleştirilmesi için kullanılır. Splunk üzerinde birçok ücretsiz App ve Add-on bulunmaktadır.

Bu yazımızda ağırlıklı olarak “Splunk Stream” isimli uygulamayı kullanacağız.

DNS loglarının Splunk Stream add-on ile monitor edilmesi için olan hazırlıklar

Organizasyonlar tarafından en sık ve yaygın kullanıldığını düşündüğümüz bir Windows environment içerisindeki DNS Server rolüne sahip sunucudan universal forwarder (Splunk log toplama ajanı) logları toplayabileceğimiz gibi, bu makalemizde farklı bir metod kullanarak Splunk Stream add-on sayesinde pasif bir şekilde network katmanında gerçekleşen eventleri “packet sniff” özelliği ile toplayıp filtreleyeceğiz.

Single node instance Splunk Enterprise platformu üzerine kurduğumuz Splunk Stream konfigürasyonlarına ilişkin ekran görüntüleri aşağıdaki gibidir:

Stream app içerisine girdikten sonra Configuration>New Stream>Metadata Stream seçenekleri ile network katmanından tercih edeceğimiz L4 veya L7 protokollerine ilişkin paketleri ve hangi paket header/body kısımlarını dahil edeceğimizi seçebiliriz.

Tüm bu log management için ayrılması gereken depolama boyutunu da düşünecek olursak toplayacağımız log üzerinde hangi fieldları dahil etmemiz gerektiği ve bir sonraki aşama olan hangi filtreleri uygulayarak uzun dönemli bu logları tutmamız gerektiği ile ilgili field filtrelemesi yapabiliriz. Örnek olması açısından DNS sorgusuna ilişkin RESPONSE paketlerinde reply_code alanının filtrelenmesini bulabilirsiniz.

Esneklik olması açısından her field üzerine gerekirse birebir eşleşme gerekirse farklı regex patternleri ile bir filtreleme işlemi gerçekleştirilebilir.

Sıradaki görselde elimizdeki verinin hangi index üzerinde tutulacağını da seçtikten sonra artık DNS paketlerinin capture edilmiş ve loglanmış halini saklayabiliyor konuma gelmekteyiz.

Splunk componentlari üzerinde kurduğumuz Stream App yanı sıra, en başta da belirttiğimiz gibi, network eventlerini Splunk log toplama ajanları (universal forwarder veya heavy forwarder) ile değil, independent stream forwarder isimli bileşen ile toplayacağız. Independent stream forwarder için kurulum oldukça kolay olup sadece Linux işletim sistemlerince desteklenen bir programdır. Kurulumu ve tüm konfigürasyonları için tekrar Configuration > Distributed Forwarder Management > Install Stream Forwarders sekmesinden gerekli curl komutunu stream verisi toplayacak Linux sunucuda çalıştırmamız yeterlidir.

Son aşamada yaptığımız tüm konfigürasyonların sonucunu topladığımız veriyi görmek adına aşağıdaki SPL sorgusu çalıştırılarak DNS logları incelenebilir.
SPL Sorgusu : index=dns sourcetype=”stream:dns”

Örnek olması açısından bir DNS sorgusunun hangi DNS sunucusundan cevap döndürüldüğü, query tipi (A, AAAA, MX gibi), query adı, DNS paketlerinin büyüklüğü gibi alanları içeren bu loglar sayesinde src_ip, bytes, bytes_in, bytes_out, query, query_type, reply_code fieldları ile birlikte detection kurallarımızı yazmaya başlayabiliriz.

Spesifik olarak bu atak vektörü için detection mekanizmalarına genel bir bakış, IOC değerlendirmeleri

  • QPS (Query per second) değerindeki anomaliler: Eğer saldırganlar “büyük” denebilecek bir database dump veya ortak dosya sunucusundaki dosyaları daha küçük denebilecek chunk parçalarına bölüp encoding işlemleri yaptıklarında görece kısa bir süre içerisinde bu veriyi dışarı kaçırmak isterlerse belirli endpointlerin QPS değerindeki artış bir anomali olarak gözümüze çarpabilir ve bir indicator metrik olarak kullanılabilir.
  • Time_taken isimli field değerindeki anomali artış: DNS querysi ve response lifecycle tamamlanma süreci boyunca geçen zaman ve bununla birlikte eşlik eden reply_code değerine ilişkin yapılacak bir korelasyon kuralı geçmişe dönük böyle bir atak yaşanıp yaşanmadığını tespit edebilir.

Atak Senaryosu

İncelediğimiz veri hırsızlığı metodunu simüle etmek adına saldırganların *.netsmart.security domainine sahip olduğunu ve bir Linux endpointe girdikten sonra sensitive bilgiyi encode ve encryption işlemlerini uyguladıktan sonra veriyi daha ufak “chunck” (parça) halinde dışarı çıkarttığını düşünelim.

Bu şüpheli DNS trafiği Splunk Search üzerinde tablo haline getirilirse aşağıdaki şekilde görünecektir.

NOT: Bu atak metodu yalnızca kritik bilgilerin dışarı çıkarılmasında değil ayrıca DNS protokolü üzerinden saldırganların C2 sunucuları ile haberleşmeleri için de kullanılabilir, bu tip bir DNS Tunneling metodu için open source araçlar bulunmaktadır ve burada açıkladığımız tespit yöntemi dns2tcp gibi tunneling araçlarıyla oluşturulacak zararlı trafiği ayırt etmek için de kullanılabilir.

Bu görselde dikkat etmemiz gereken belki de en önemli detay Non-Existent Domain kategorisindeki DNS querylerinin uzun sürmesi ve valid DNS querylerinin (ubuntu.com, download.docker.com, *.cloudfront.net gibi CDN ler gibi) time_taken değerinin çok daha düşük olmasıdır.

İlgili security ekipleri tarafından istatistiksel metodlar yardımıyla belirlenecek QPS değeri (Query per Second) ve DNS sorgusunun lifecycle tamamlayana kadar geçen süredeki threshold değerinin aşılması sayesinde potansiyel DNS exfiltration ataklarının Splunk üzerinden tespiti yapılabilir.

Anlamaya yardımcı olması açısından endpointlerin QPS değerleri aşağıdaki gibi basit bir SPL sorgusu ile izlenebilir ve buna ilişkin alert mekanizmaları geliştirilebilir.

Metoda ilişkin impact incelemesi ve kapanış

Günümüzde kurumların tek başına yüksek miktardaki log verisi tutmaları tek başına bir anlam içermediği gibi düzenli şekilde analizi yapılmalı ve gerektiği durumlarda güvenlik olaylarına ilişkin “response” verilebilir derecede siber güvenlik personellerine ışık tutabilmelidir.

Log management stratejisinin doğru planlaması, network katmanında beklenmeyen davranışların & anomaliler oluşması, güvenlik olaylarının doğru bir şekilde tespit edilip adreslenmesi, bu tip bir atak vektörüne karşı alınması gereken en temel planlama stratejilerindendir.

Günümüzde yukarıda bahsettiğim veri hırsızlığı metodunun doğasına özgü detaylar sebebiyle detection konusunda gerekli önem verilmemiş her türlü sunucu ortamı veya client cihazları için tespit ve engelleme konusunda gerekli adımlar alınmamışsa veri hırsızlığı yöntemlerinin geçmişe dönük tespiti ve oluşabilecek veri sızıntısı olayları bir kurum için kaçınılmazdır.

Zararlı yazılımların doğası incelendiği zaman tipik bir ransomware saldırısından iyi bir yedekleme planınız ile basitçe 24 saat öncesine dönüp minimum veri kaybı ve down time ile bir kurum operasyonuna devam edebilirken, başarılı olan veri hırsızlığı senaryoları bir kere yaşandıktan sonra önlem mekanizmaları ve stratejiniz hazır değilse, yarattığı hasar geri alınamaz.

Kuantum Tehdidine Karşı Güvenlikte Yeni Çağ: Post-Quantum Kriptografi ve Yol Haritası

Analiz

Kuantum bilgisayarlar, klasik bilgisayarların ötesine geçen hesaplama yetenekleriyle, modern kriptografi altyapılarını tehdit eden yeni bir dönemi beraberinde getirmektedir.

Daha fazla
SIEM Projelerinde WEF’in Faydaları ve WEF Konfigürasyonu

SIEM Projelerinde WEF’in Faydaları ve WEF Konfigürasyonu

Konfigürasyon

Windows Event Forwarding, Windows tabanlı sistemlerde yerel olarak desteklenen günlük merkezileştirme özellikleri sağlar. Microsoft, sunucular üzerindeki logların tek bir yerde toplanması WEF mimarisi ile sağlamaktadır.

Daha fazla

Veri Koruma Günü

Analiz

Veri Koruma Günü, her yıl 28 Ocak’ta, kişisel verilerin korunması ve veri gizliliği konusunda farkındalık yaratmak amacıyla belirlenmiş bir gündür.

Daha fazla
9 Adımda Veri Keşfi Neden Önemli

9 Adımda Veri Keşfi: Neden Önemli ve Veri Keşfi Ürünlerinde Nelere Dikkat Edilmeli?

Analiz

Veri keşfi konusu 7 Nisan 2016 tarihinde yürürlüğe giren 6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK) ile hayatımıza girdi. Bu kanunla beraber bu zamana kadar dağınık olan verilerimizin nerede tutulduğunun ve ne derece kritik olduğunun önemi giderek artmaktadır.

Daha fazla