Kurumsal e-posta arşivleri, kritik veri kaynakları olmanın yanı sıra, veri sızıntıları için de yüksek risk barındırır. Bu nedenle Regex ve Makine Öğrenmesi (ML) kombinasyonu ile yapılan analiz, hassas verileri erken tespit ederek kurumları olası sızıntılara karşı korur. Bu yazıda, hem mimariyi hem de adım adım uygulanabilir yöntemleri ayrıntılı şekilde ele alıyoruz.
Veri sızıntılarını tespit ederken hem hızlı hem doğru yöntemlere ihtiyaç vardır. Regex, belirli desenleri hızla tespit ederken, ML bağlamsal doğrulama sağlar.
Regex (Düzenli İfadeler): TCKN, kredi kartı numaraları, IBAN, e-posta adresleri ve telefon numaraları gibi belirli formatları düşük maliyetle yakalar. Ancak bağlamı anlamadığı için yanlış pozitifler (false positive) oluşabilir.
Makine Öğrenmesi (ML): Regex bulgularını bağlama göre doğrular veya filtreler. Metin bağlamı, gönderici/alıcı ilişkileri, dil kalıpları ve meta verileri dikkate alarak doğruluk oranını artırır.
E-posta arşivlerinin analiz süreci, bir pipeline yapısıyla uçtan uca işlenir. Her adım, veriyi bir sonraki aşama için hazırlayacak şekilde tasarlanır.
Bu yapı, veriyi güvenli ve düzenli bir şekilde işler, riskli içerikleri otomatik olarak işaretler.
Doğru ve güvenli bir analiz için önce kaynakların ve yasal gerekliliklerin belirlenmesi gerekir.
Arşiv kaynaklarını seçin: PST, EML, MBOX, veritabanı veya bulut arşiv.
KVKK/GDPR gibi yasal gereklilikleri netleştirin: hangi veriler işlenebilir, saklama süreleri, anonimleştirme yöntemleri.
Batch veya streaming pipeline kurun: Önce batch POC, sonra production streaming önerilir.
E-postalardan veri çıkarmak için detaylı bir parsing aşaması gerekir; burada hem içerik hem meta veriler ele alınır.
Headers: From, To, Subject, Date, Message-ID
Body: text + HTML
Ekler: filename, mimetype, hash, OCR gerekirse içerik
HTML temizleme, URL çıkarma, base64 decode
Macro/active content flagleme
Regex, belirli desenleri hızlı şekilde yakalar; ancak doğrulama ve bağlam için ML ile desteklenmelidir.
TCKN: \b\d{11}\b
Kredi Kartı: \b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})\b
IBAN (TR): \bTR[0-9]{2}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{4}\s?[0-9]{2}\b
E-posta: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Telefon (TR): \b(?:\+90|0)?\s?\(?\d{3}\)?\s?\d{3}\s?\d{2}\s?\d{2}\b
Not: Regex geniş kapsamlı olursa false positive artar; ikinci aşama ML ile filtreleme yapılır.
Regex ile işaretlenen olgular ve metin parçaları, model için daha zengin bilgiye dönüştürülür.
Metin bağlamı: 50–200 token çevresi
Position features: subject, body, attachment
Gönderici/alıcı ilişkileri: iç-dış, departman, graph
Frequency/recency: pattern kaç kez görülmüş
Attachment metadata: mime type, hash, macro flag
Language / NER: isim, TCKN, IBAN etiketleri
Anomali sinyalleri: gönderim zamanı, IP geolocation, user agent
Regex confidence: tetiklenen regex sayısı, Luhn doğrulama
ML modeli, regex ile işaretlenen candidate’ları doğrulamak veya saf metin üzerinden risk skoru üretmek için kullanılır.
Başlangıç: Logistic Regression, XGBoost, LightGBM
İleri: Transformer tabanlı embedding (Sentence-BERT) + classifier
Anomali: Isolation Forest / One-Class SVM
Etiketleme: SOC doğrulamaları, kullanıcı raporları (pozitif), rastgele örnekler (negatif)
Özellik mühendisliği: embeddings, temporal, sender reputation, hash match
Model yorumlanabilirliği: SHAP veya feature importance ile kararın nedenleri görülebilir.
Modelin risk skoruna göre otomatik aksiyonlar belirlenir, SOC iş yükü azaltılır ve yanıt süresi hızlanır.
Score ≥ 0.95: Yüksek risk → otomatik alarm + karantina + SOC ticket
0.7 ≤ Score < 0.95: Orta risk → öncelikli inceleme + kullanıcı uyarısı
0.4 ≤ Score < 0.7: Düşük risk → log ve örneklem
< 0.4: Allow
Aksiyonlar: karantina, maskleme, redaction, bildirim, otomatik yasal raporlama.
Tespit edilen olaylar SIEM’e ve SOAR platformuna entegre edilerek otomatik süreçler oluşturulur.
Olaylar SIEM’e gönderilir: msg_id, sender, recipient, detected_pattern, ml_score, action
SOAR playbook: otomatik ticket, kullanıcı hesabı kontrolü, parola sıfırlama, MFA zorlama
Başarıyı ölçmek için metrikler belirlenmeli ve sürekli izleme yapılmalıdır.
Tespit edilen sızıntı sayısı (gün/hafta)
False positive oranı
Ortalama müdahale süresi
Doğruluk metrikleri: Precision, Recall, F1, AUC
Kredi kartı veya TCKN gibi hassas veriler için regex sonrası ek doğrulama ile yanlış alarmlar azaltılır.
Kredi kartı: Regex ile yakala → Luhn algoritması ile doğrula
TCKN: Regex ile yakala → checksum doğrulaması ile doğruluk artır
Bağlam ve beyaz listeleme, modelin yanlış uyarıları minimize etmesini sağlar.
Context window: aynı sayıda numara içeren kontrat veya referans numaralarını ayır
Whitelist / Allow list: güvenilen domain ve sistem e-postaları
User feedback loop: SOC tarafından işaretlenen yanlışlar model retrain için kullanılır
Analiz sürecinde kişisel verinin korunması ve yasal uyumluluk kritik öneme sahiptir.
Amaç sınırlaması ve minimum veri kullanımı
Hassas veriler anonimleştirilmeli, SOC yalnızca gerekli metadata görmeli
Saklama süreleri ve erişim kontrolleri uygulanmalı
Pipeline ve ML uygulaması için kullanılabilecek araç ve teknolojiler.
Ingest & Parsing: Apache NiFi, Logstash, Python ETL
Storage: Elasticsearch + S3
Regex engine: RE2, PCRE
ML Stack: scikit-learn, XGBoost, LightGBM, HuggingFace Transformers
Sandbox: Cuckoo, VMRay, WildFire
SIEM/SOAR: Elastic SIEM, Splunk + Phantom/Demisto, Swimlane
Orchestration: Kafka, Redis, REST API
Pilot plan, sistemin güvenli ve kontrollü bir şekilde devreye alınmasını sağlar.
Hafta | Aktivite |
---|---|
1 | Kaynak keşfi, parser & ingestion POC, regex baseline |
2 | Feature pipeline, initial ML baseline (logistic/XGBoost), monitor only |
3 | SIEM entegrasyonu, SOAR playbook, FP tuning |
4 | Production rollout, dashboard/KPI panelleri, rutin tuning planı |
Bu yaklaşım, Regex’in hızını ve ML’in bağlamsal gücünü birleştirerek hem doğruluk oranını artırır hem de yanlış alarmları minimize eder. Kurumsal e-posta arşivlerinde veri sızıntılarını proaktif ve ölçülebilir bir şekilde tespit etmek için ideal bir yöntemdir.