X
X
TRY

E-posta Gateway’de Makine Öğrenmesi ile Dinamik URL Analizi

AnasayfaYazılarYazılımlarımızE-posta Gateway’de Makine Öğrenmesi...

E-posta Gateway’de Makine Öğrenmesi ile Dinamik URL Analizi

Statik kara listeleri aşan, gerçek zamanlı ve davranış odaklı koruma

E-posta hâlâ en büyük saldırı yüzeylerinden biri. Özellikle kimlik avı (phishing) ve zararlı yazılım dağıtımı, sıklıkla kısa ömürlü ve sürekli değişen URL’lere yaslanıyor. Saldırganlar alan adlarını, yönlendirme zincirlerini ve içeriklerini dakikalar içinde yenileyebildiği için yalnızca “bilinen kötü” listelerini (RBL/URL blacklist) kontrol etmek yeterli olmuyor.
Dinamik URL analizi, bağlantının “ne yaptığına” odaklanır: sayfa nasıl davranıyor, nereye yönlendiriyor, hangi içerikleri çalıştırıyor? Bu davranış verilerini makine öğrenmesi (ML) ile birleştirince, daha önce hiç görülmemiş URL’ler için bile güçlü bir risk tahmini elde ederiz.


1) Dinamik URL Analizi Nedir, Neden Gerekli?

  • Statik → Dinamik geçiş: Sadece domain/URL eşleşmesi değil; HTML/JS davranışı, yönlendirme zinciri, formlar, indirmeler, sertifika bilgisi, IP/ASN, domain yaşı gibi sinyaller de değerlendirilir.

  • Zero-day yakalama: Listelerde henüz yer almayan, yeni tescil edilmiş veya “çevik” (fast-flux) altyapılara ait URL’ler davranışsal olarak avlanır.

  • Kandırma tekniklerine dayanıklılık: URL kısaltıcılar, çok aşamalı redirect, conditional içerik (kullanıcı ajanına/ülkeye göre farklı sayfa), IDN homograf hileleri vb. yöntemler davranış katmanında yakalanır.


2) Mimari: Uçtan Uca Bakış

 
[Email Gateway/MTA]
       |
|     (URL çıkarımı, defang→refang, normalize)
       v
[URL Analiz Servisi/API]
      |--- Özellik çıkarımı (lexical, host, TLS, passive DNS, NRD, JS/DOM)
      |--- Zenginleştirme (WHOIS, ASN, TI feed’leri, geçmiş skor cache)
      |--- Sandbox (headless browser, yönlendirme zinciri, davranış)
      |--- ML Skorlama (0-100 risk)
     v
[Politika Motoru]
    |--> score≥90: Block/Reject
    |--> 70–89: Quarantine + Kullanıcı uyarı/banner
    |--> 50–69: URL rewrite + Time-of-Click kontrol
    |--> <50 : Allow + Log
   v
[SIEM / SOAR / Raporlama]

Temel bileşenler

  • URL çıkarımı & normalize: MIME/HTML’den linkleri çıkar, Punycode çöz, takip parametrelerini ayıkla, kısaltıcıları aç.

  • Zenginleştirme: Domain yaşı, passive DNS kayıtları, ASN/GeoIP, sertifika CN/SAN, NS/MX tutarlılığı.

  • Sandbox: Headless tarayıcı ile sayfayı çalıştır, redirect chain, DOM değişimleri, olası indirme/çalıştırma davranışlarını gözle.

  • ML skoru: Özellik vektörlerini (features) modele ver, 0–100 arası risk skoru üret.

  • Politika: Skora göre tekilleştirilmiş aksiyon; kullanıcı deneyimi ile güvenliği dengele.


3) Makine Öğrenmesi: Hangi Modeller, Hangi Özellikler?

Özellik (Feature) örnekleri

  • Lexical: URL uzunluğu, entropi, alt alan adı sayısı, “@, %, hex-encoding, punycode” varlığı, şüpheli n-gram’lar.

  • Host/Alan adı: Domain yaşı, kayıt süresi, barındığı ASN’in itibarı, hızlı NS/MX değişimleri.

  • İçerik/Davranış: DOM’da formlar (özellikle kimlik giriş alanları), JS ile otomatik yönlendirme/indirme, gizli iframe, obfuscation.

  • Ağ/TLS: IP’nin geçmiş kötüye kullanımı, TLS sürümü/cipher, sertifika örtüşmeleri (CN/SAN ile host uyuşmazlığı).

  • Bağlamsal: TI feed’lerinde görülme sıklığı, “yeni kayıtlı domain (NRD)”, kullanıcının departmanı/rolü (risk bağlamı).

Model stratejileri

  • Denetimli öğrenme (supervised): Gradient boosting / Random Forest / Lojistik Regresyon + karakter/kelime seviyesinde CNN.

  • Denetimsiz (anomaly): Isolation Forest / One-Class SVM ile “normal” trafiğe uymayan URL’ler.

  • Hibrit: Heuristik kurallar + ML skoru; “yüksek riskli kategori + orta ML skoru” gibi birleşik kararlar.

Eğitim ve Sürdürme

  • Etiketleme: TI feed’leri, kullanıcı raporları, SOC doğrulamaları.

  • Dengeleme: Sınıf dengesizliği için oversampling/weighting.

  • Sürüklenme (drift): Aylık yeniden eğitim, kaydırmalı pencere ile güncel kalma.

  • Metrikler: Precision/Recall, ROC-AUC, özellikle pozitif öngörü değeri (PPV) ve yanlış pozitif (FP) oranı.


4) Time-of-Click (TOC) ve URL Rewrite

Statik analiz “an”lıktır; saldırgan URL’yi daha sonra değiştirir.

  • Rewrite: E-postadaki URL’yi, gateway’in denetlediği “güvenli geçit” linki ile değiştir.

  • Tıklama anı: Kullanıcı tıkladığında yeniden reputation + sandbox çalışır.

  • Sonradan kötüleşme: URL ilk gönderimde temiz olsa bile TOC sırasında kötüleşmişse engelle.


5) Uygulama: Adım Adım Rehber

A) Hazırlık

  1. Kapsam: Inbound, outbound veya her ikisi.

  2. Çevre: Mevcut MTA/gateway (örn. içerik filtresi/milter/transport rule).

  3. Gizlilik & uyum: KVKK/GDPR kapsamında veri minimizasyonu, log saklama süresi, anonimleştirme.

B) URL Analiz Servisi (Mikroservis) Kurulumu

  • API uçları:
    POST /analyze { url, headers, client_asn, user_role } → { score, category, verdict, reasons, ttl }
    POST /sandbox { url } → { behaviors, redirects[], download_seen, verdict }

  • Cache: Aynı URL’ye tekrar sorguda düşük gecikme (TTL, LRU cache).

  • Dayanıklılık: API cevap vermezse “fail-open/close” politikası net olmalı (kritik sistemlerde genelde fail-safe).

C) Gateway Entegrasyonu

  • MTA hook/connector: Mesaj üzerinden URL’leri çıkarıp analiz API’sine gönder.

  • Politika motoru: Skora göre Block/Quarantine/Rewrite/Allow.

  • Banner/Uyarı: Kullanıcıya görsel uyarı (ör. “Bu e-postadaki bağlantı dinamik analizde şüpheli bulundu.”).

D) Sandbox

  • Headless browser: Farklı user-agent/locale ile çoklu deneme; anti-sandbox kandırmalarını azaltmak için değişkenler.

  • Ağ egress çeşitliliği: Farklı IP/ülke çıkışlarıyla tekrar dene (coğrafi koşullandırılmış sayfaları deşifre etmek için).

  • Davranış yakalama: Otomatik indirilen dosyalar, JS obfuscation, form-post hedefleri, C2 çağrıları.

E) Politika Örneği (YAML benzeri)

 

policies:
- name: block_high_risk
if: score >= 90 or (category in ["malware","phishing"] and nrd==true)
action: block

- name: quarantine_medium
if: score >= 70 and score < 90
action: quarantine
notify: user, soc

- name: rewrite_toc
if: score >= 50 and score < 70
action: url_rewrite
toc_check: true

- name: allow_log
if: score < 50
action: allow
log: true

F) Log Şeması (SIEM için)

  • msg_id, sender, recipient, url, domain_age, asn, redirects, ml_score, category, action, sandbox_sha256, user_ou, reasons[]

G) Rollout / Değişim Yönetimi

  1. Monitor-only başla: Aksiyon simülasyonu yap, rapor üret.

  2. Kademeli aç: Önce düşük riskli gruplar, sonra tüm kurum.

  3. Whitelist istisnaları: Süreli (ör. 7 gün), gerekçeli, otomatik gözden geçirme.

  4. Geri alma (rollback): Hızlı politika düşürme ve eski sürüme dönüş planı.


6) Tuning, FP Yönetimi ve Operasyon

  • Haftalık tuning: FP/TP/ FN oranları, top 10 tetikleyici kural, güncellenen eşikler.

  • Kullanıcı geri bildirim akışı: “Bu güvenliydi” düğmesi → SOC onayı → model etiket havuzuna geri besleme.

  • Kategoriye göre eşikler: NRD (yeni domain) için daha agresif, “tanınmış barındırma” için daha temkinli.

  • SOAR playbook: Karantinadaki iletiler incelenir, kullanıcı cihazı EDR ile taranır, risk varsa parola sıfırlanır ve MFA zorunlu kılınır.


7) Ölçüm ve Raporlama (KPI’lar)

  • Tespit oranı (detected malicious URL / total malicious)

  • Yanlış pozitif oranı (quarantine→serbest bırakılan / quarantine toplam)

  • Ortalama karar süresi (ms cinsinden API + sandbox)

  • TOC blok oranı (ilk temiz→sonradan kötüleşen URL yakalama)

  • Kullanıcı tık oranı düşüşü (phishing tıklamalarındaki azalma)

  • Kara liste olaylarında azalma (öncesi/sonrası)


8) Güvenlik, Uyum ve Dayanıklılık

  • KVKK/GDPR: Gereksiz kişisel veriyi loglama; maskeleme/anonimleştirme uygula; saklama sürelerini kısalt.

  • Sırlar ve anahtarlar: API anahtarları için kasalı/secrets yönetimi, rotasyon.

  • Rate-limit & geri basınç: Analiz servisini DDOS ve patlamalı trafiklere karşı koru.

  • Yüksek erişilebilirlik: Çoklu örnek, health-check, devre kesici (circuit breaker).

  • Ön bellek (warm cache): Popüler domainler için hızlı karar; TTL sona erince yeniden değerlendir.


9) Kaçınma Taktikleri ve Karşı Önlemler

  • Cloaking/anti-sandbox: Çoklu user-agent, farklı IP/ülke, farklı saat dilimleri ile tekrar dene.

  • Zincirli yönlendirmeler: Limit>5 ise yüksek risk; zincirde “data:” ve “blob:” şemalarını işaretle.

  • Obfuscation: JS deobfuscation denemeleri; base64 ve hex pattern tespiti.

  • Marka taklidi: Basit görsel tanıma (logo/kelime işaretleri) + DOM metin analizi ile “login/pay/verify” gibi anahtar kelimeler.


10)  “Nasıl Yapılır”

  1. Gateway/MTA üzerinde URL çıkarımı yapan bir milter/connector etkinleştir.

  2. Bir URL Analiz Servisi kur (REST API + cache + sandbox entegrasyonu).

  3. TI feed’leri + WHOIS/ASN + passive DNS zenginleştirme ekle.

  4. ML modelini ilk etapta hazır kurallar + basit lojistik ile başlat, sonra veri geldikçe güçlendir.

  5. Politika eşiklerini tanımla; monitor-only ile başlayıp kademeli olarak block/quarantine’a geç.

  6. SIEM/SOAR entegrasyonu, KPI panelleri ve haftalık tuning toplantısını rutine bağla.

  7. TOC (time-of-click) için URL rewrite devreye al; sonradan kötüleşen linkleri yakala.

Makine öğrenmesi ile desteklenen dinamik URL analizi, e-posta güvenliğinde gerçekçi ve ölçeklenebilir bir yaklaşım sunar. Statik liste kontrollerinin ötesine geçip davranışı analiz ettiği için, yeni ve hedefli saldırılarda dahi yüksek başarı sağlar. Sağlam bir mimari, ölçülü politika eşikleri, düzenli tuning ve TOC denetimi ile kullanıcıya ulaşan riskleri belirgin biçimde azaltırsınız.


Hosting Billing Software by WISECP
Top