DNS Tünelleme Anomali Modellemesi
DNS tünelleme saldırıları, verileri DNS sorguları içerisine gizleyerek dışarı aktarmaya çalışır. Bu tür saldırılar genellikle uzun ve yüksek entropili subdomain kullanır. Python ile temel özellik çıkarımı yapılabilir. import pandas as pd from scipy.stats import entropy df_dns = pd.read_parquet('dns_logs.parquet') def calc_entropy(text): probs = [text.count(c)/len(text) for c in set(text)] return entropy(probs, base=2)
Giris ve Temel Akis
DNS tünelleme saldırıları, verileri DNS sorguları içerisine gizleyerek dışarı aktarmaya çalışır. Bu tür saldırılar genellikle uzun ve yüksek entropili subdomain kullanır. Python ile temel özellik çıkarımı yapılabilir. import pandas as pd from scipy.stats import entropy df_dns = pd.read_parquet('dns_logs.parquet') def calc_entropy(text): probs = [text.count(c)/len(text) for c in set(text)] return entropy(probs, base=2)
Bu bölümün pratik akışı şu sırayla ilerler:
- df_dns['subdomain'] = df_dns['query'].str.split('.').str[0]
- df_dns['subdomain_len'] = df_dns['subdomain'].str.len()
- df_dns['entropy'] = df_dns['subdomain'].apply(calc_entropy)
- print(df_dns[['query','subdomain_len','entropy']].head())
Temel Kavram Eslesmeleri
DNS tünelleme araçları farklı teknikler kullanır ve ağ üzerinde farklı izler bırakır.
- Iodine: IP-over-DNS iletişimi
- dnscat2: DNS üzerinden C2 kanalı
- DNSExfiltrator: Veri sızdırma odaklı DNS tüneli
- Cobalt Strike DNS: Beacon tabanlı DNS haberleşmesi
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram entropy olarak verilir. DNS tünelleme saldırılarında rastgele oluşturulmuş subdomainler genellikle yüksek entropi değerine sahiptir.
Arac, Komut veya Inceleme Akisi
Splunk ile yüksek entropili DNS sorgularının tespiti yapılabilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- index=dns earliest=-24h
- | eval subdomain=mvindex(split(query,"."),0)
- | eval subdomain_len=len(subdomain)
- | stats avg(subdomain_len) as avg_len count by src_ip
- | where avg_len>25
- | table src_ip avg_len count
Kanit ve Bilesen Iliskileri
DNS tünelleme analizinde kullanılan bazı özellikler farklı amaçlara hizmet eder.
- Subdomain Length: Alt alan adının uzunluğu
- Entropy: Karakter rastgeleliği ölçümü
- Query Count: Toplam DNS sorgu sayısı
- TXT Ratio: TXT kayıt kullanım oranı
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram TXT olarak verilir. DNS tünelleme sırasında saldırganlar genellikle veri taşıyabilmek için TXT kayıtlarını tercih eder.
Operasyonel Dogrulama ve Raporlama
Elastic EQL ile DNS tünelleme davranışı tespit edilebilir.
Bu bölümün pratik akışı şu sırayla ilerler:
- sequence by source.ip with maxspan=5m
- [dns where length(dns.question.name) > 50]
- [dns where dns.question.type == "TXT"]
- [network where destination.port == 53]
Cikti ve Kullanım Amaci
DNS güvenlik kontrolleri farklı tehdit türlerini önlemeye yardımcı olur.
- DNS RPZ: Kötücül alan adlarını engelleme
- Passive DNS: Geçmiş DNS ilişkilerini analiz etme
- DNSSEC: Yanıt sahteciliğini önleme
- DoH Engelleme: Şifreli DNS tünellerini azaltma
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram entropy olarak verilir. SOC analistleri DNS tünelleme tespitinde hem uzun subdomainleri hem de karakter rastgeleliğini birlikte değerlendirir.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, DNS Tünelleme Anomali Modellemesi konusunu SOC L3 - İleri Tehdit Avcılığı - Veri Madenciliği ve Modelleme baglaminda parcali degil, butunlu bir ogrenme akisina donusturur. Yalnizca kavramlari ezberlemek yerine surec sirasini, bilesenler arasi iliskiyi ve hangi kanitin neden onemli oldugunu kavramayi hedefler.
Ozet
Bu ders kapsaminda one cikan basliklar: Iodine, dnscat2, DNSExfiltrator, Cobalt Strike DNS, Subdomain Length, Entropy, Query Count, TXT Ratio, DNS RPZ, Passive DNS. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.