🎙️ Sunucu / Konuşmacı Notları

Yükleniyor...
Slayt 1 / 19
Karabük Üniversitesi Logo

Karabük Üniversitesi

Yazılım Mühendisliği Anabilim Dalı

Yüksek Lisans Programı

YAZ719 - Büyük Veri İşleme Teknikleri ve Uygulamaları
Siber Güvenlik Anomali
Tespit Sistemi
Apache Lakehouse Mimarisi Üzerinde Yükselen Büyük Veri (Big Data) SIEM,
Unsupervised Learning (K-Means) ve Gerçek Zamanlı Kural Motorlu Tespit Ekosistemi.
Spark Streaming Kafka KRaft Hadoop HDFS Apache Hive Zeppelin Superset
Hazırlayan:
Yusuf Talha ARABACI (Yüksek Lisans Öğrencisi)
Ders Sorumlusu:
Dr. Öğr. Üyesi Ömer Faruk ACAR
Akademik Dönem:
2025-2026 Bahar (Mayıs 2026)
İnteraktif Sunum QR Kodu
Bu Etkileşimli Sunuma
Bağlanmak İçin Okutun

1) Neden Big Data SIEM Geliştirdik?

Saniyede milyonlarca olayın (EPS) aktığı modern ağlarda, geleneksel SIEM'ler astronomik lisans maliyetleri ve donanım darboğazlarına yenik düşer. Geliştirdiğimiz bu açık kaynaklı devasa Big Data SIEM mimarisi, sınırları yıkarak bu sorunları kökten çözmektedir:

  • Maliyet Etkin Ölçeklenebilirlik: Açık kaynaklı bileşenler ile donanım verimliliği maksimize edilir.
  • Sınırsız Dağıtık Depolama: Apache Hadoop HDFS sayesinde petabaytlarca ham log verisi güvenle saklanır.
  • Sıcak/Soğuk Veri Ayrımı: Canlı akışlar RAM üzerinde saniyeler içinde analiz edilirken geçmiş veriler Hive ambarında depolanır.
  • Hibrit Tespit Yeteneği: Hem deterministik (Kural Tabanlı) hem de olasılıksal (Makine Öğrenmesi) analiz aynı anda koşar.
Big Data

2) Mimarinin Büyük Resmi: Uçtan Uca Veri Akışı

flowchart TB classDef node fill:#f8fafc,stroke:#cbd5e1,stroke-width:2px,color:#0f172a,font-weight:bold,font-size:18px classDef producer fill:#f1f5f9,stroke:#cbd5e1,stroke-width:2px,color:#0f172a,font-weight:bold,font-size:18px classDef buffer fill:#2563eb,stroke:#1d4ed8,stroke-width:3px,color:#ffffff,font-weight:bold,font-size:18px classDef etl fill:#ef4444,stroke:#b91c1c,stroke-width:3px,color:#ffffff,font-weight:bold,font-size:18px classDef storage fill:#16a34a,stroke:#15803d,stroke-width:3px,color:#ffffff,font-weight:bold,font-size:18px classDef catalog fill:#eab308,stroke:#a57a0c,stroke-width:3px,color:#ffffff,font-weight:bold,font-size:18px subgraph DataSources ["1. Log Toplama Katmanı (Veri Girişi)"] direction LR P1("Kafka Producer Konteyneri"):::producer end K1("2. Tampon Katmanı: Apache Kafka (KRaft Geçici Depolama)"):::buffer subgraph Processing ["3. Akış Analiz Motoru: Apache Spark Canlı Analiz"] direction LR S1("ETL & Hata Toleranslı Ayrıştırma"):::etl ML("Anomali Tespiti: Streaming K-Means"):::etl RULE("SIEM: Kural Tabanlı Karar Motoru"):::etl end subgraph StorageCatalog ["4. Depolama & Katalog (Veri Gölü HDFS / Hive)"] direction LR HDFS("Hadoop HDFS (Parquet)"):::storage HIVE("Hive Metastore Şema Hizmeti"):::catalog ZEP("Zeppelin Notebook (Anlık SQL Sorguları)"):::catalog end SUP("5. Raporlama Arayüzü: Apache Superset"):::buffer P1 --> K1 K1 ==> Processing Processing ==> HDFS Processing -.-> HIVE ZEP -.-> Processing SUP ==> HDFS

3) Gerçek Dünya Verisi: SecRepo Logları

Sistemimizin ispatı için izole yapay veriler değil, siber güvenlik araştırmacılarının altın standardı olan SecRepo.com üzerindeki, sızma ve tarama saldırılarını organik barındıran devasa gerçek dünya ağ trafiği (Zeek/Snort) işlenmektedir:

  • Kullanılan Aktif Zeek Logları: Ana omurgayı oluşturan conn.log (524MB) ile http.log (54MB), dns.log, ssl.log, dhcp.log ve sıradışı durumlar için weird.log oturum logları.
  • Kullanılan Aktif Snort Logları: Tehdit imzalarını ve alarm uyarılarını barındıran maccdc2012_fast_alert ve maccdc2012_full_alert logları sisteme dahil edilmiştir.
  • Neden PCAP Dosyaları Seçilmedi? Ağ paketlerini çözme (packet decoding) maliyetini sıfırlamak ve dağıtık akış pipeline'ında gerçek zamanlı performansı korumak amacıyla ham PCAP dosyaları elenmiş, doğrudan yapılandırılmış Zeek ve Snort logları beslenmiştir.
SecRepo Dataset Screenshot

SecRepo Siber Güvenlik Veri Kümesi Deposu (conn.log)

4) Veri Toplama Hattı: Kafka Producer Konteyneri

Mimarinin veri giriş kapısı, karmaşık bir mühendislik yerine stabiliteye odaklanarak tasarlanan özel Kafka Producer mikroservisidir:

  • Doğrudan Volume Okuma (Volume Mount): Konteyner, /data dizinine mount edilen tüm Zeek loglarını (örn: conn.log, http.log, dns.log, ssl.log) read-only olarak tarar ve akışa sokar.
  • Öncelikli Dosya Akışı: Konfigürasyon, kritik logları önceliklendirir ve mevcut dosyalar arasında sıralı/round-robin akış yapar (conn, http, dns, ssl, ssh, files, weird).
  • Çoklu Topic Yönlendirmesi: Log tipi bazlı Kafka topic'lerine dağıtım yapılır (real_network_logs, web-logs, dns-logs, ssl-logs, ssh-logs). Böylece statik veri seti canlı ağ trafiği gibi işlenir.

5) Tampon ve Mesajlaşma: Apache Kafka (KRaft)

Apache Kafka, devasa siber saldırılardaki veri fırtınalarını (EPS patlamalarını) emen, kayıpsız ileten ve analiz motorunun çökmesini engelleyen ultra hızlı sinir ağımızdır:

  • KRaft (Kafka Raft Metadata Mode): Zookeeper bağımlılığı tamamen kaldırılarak cluster içi koordinasyon hızlandırılmıştır.
  • Log Buffering & Backpressure (Kuyruk Tamponlama): Yoğun saldırı anlarında (EPS patlamaları) logları disk tamponunda tutarak analiz motorunun çökmesini önler.
  • Topic Bölümleme (Partitioning): Paralel okuma kanalları sunarak Spark streaming motorunun tüm worker'ları üzerinde veriyi dengeli işlemesini sağlar.
Kafka Logo

6) Analiz Kalbi: Apache Spark Akış İşleme

Dağıtık mimarimizin beyni olan Apache Spark; belleği (In-Memory) doğrudan kullanarak saniyeler altı reaksiyon süresiyle milyonlarca logu işler, temizler (ETL) ve makine öğrenmesi algoritmalarını paralel koşturur:

  • Structured Streaming: SQL motoruyla entegre, deklaratif akış sorgulaması ve schema-on-read (okurken şema çözme) gerçekleştirir.
  • Micro-Batching (Saniyeler Altı Tepki Süresi): Kafka kuyruğunu periyodik olarak okur, saniyeler içinde tehdit analizlerini tamamlar.
  • Project Tungsten & Catalyst: Dağıtık işlem optimizasyonu yaparak JVM bellek yönetimini optimize eder ve log işleme hızını zirveye taşır.
Spark Logo

7) Veri Gölü: Dağıtık HDFS Depolama

Petabaytlarca ağ logunu ve anomali geçmişini asla kaybetmemek adına, veriyi birden fazla sunucuya klonlayarak (replication) hata toleransını zirveye taşıyan HDFS (Hadoop) kullanılmıştır:

  • NameNode & DataNode Mimarisi: Verinin metadata haritası NameNode'da tutulurken, gerçek log blokları DataNode'larda saklanır.
  • Yüksek Hata Toleransı: Her log bloğu varsayılan olarak 2 farklı DataNode üzerine yedeklenerek (replication) disk arızalarına karşı korunur.
  • Yatayda Genişleme (Scale-Out): Küme genelinde yeni DataNode sunucuları eklenerek depolama kapasitesi kesintisiz genişletilir.
Hadoop Logo

8) Veri Ambarı: Apache Hive & Parquet

HDFS üzerinde yatan ham devasa dosyaları, milisaniyelik hızla sorgulanabilen SQL tablolarına dönüştüren zeka katmanımız Apache Hive'dır:

  • Hive Metastore: Veri şemalarını ve HDFS yollarını yönetir, bu tanımları Spark SQL ve Apache Superset ile ortaklaştırır.
  • Kolon Bazlı Parquet Formatı: Loglar kolon bazlı depolanarak sadece sorgulanan alanların (örn: sadece src_ip) okunmasını sağlar, disk I/O'yu azaltır.
  • Tarih Bazlı Bölümleme (Date Partitioning): Tüm loglar ingest_date (yıl-ay-gün) bazında klasörlenerek tarih aralığı sorgularının ışık hızında çalışması sağlanır.
Hive Logo Parquet Logo

9) Etkileşimli Analiz: Apache Zeppelin

Güvenlik analistlerinin (SOC) milyarlarca satır arasında saniyeler içinde tehdit avcılığı (Threat Hunting) yapabilmesi için kurulan interaktif PySpark sorgu laboratuvarımızdır:

  • Spark SQL Interpreter (Yorumlayıcı): Hive tablolarında biriken milyonlarca log üzerinde doğrudan ANSI SQL sorguları koşturulur.
  • Dinamik Form Desteği (Variable Binding): Formlar ve filtreler eklenerek analistlerin parametrik tehdit avcılığı yapması kolaylaştırılır.
  • Hızlı Görsel Analiz: Büyük veri sorgu sonuçlarını saniyeler içinde pasta grafikleri, zaman serileri ve bar grafiklerine döker.
Zeppelin Logo

10) SOC Raporlama Paneli: Apache Superset

Karmaşık büyük veri operasyonlarının sonuçlarını, karar vericiler ve yöneticiler için saniyeler içinde anlaşılır görsel bir ziyafete dönüştüren, canlı komuta kontrol (SOC) raporlama merkezimizdir. Hive Server2 JDBC katmanı üzerinden doğrudan veri gölüne bağlanır:

  • Gerçek Zamanlı Durum İzleme: Gelen tüm alarmların, anomali skorlarının ve log hacimlerinin anlık grafikleri tek ekranda izlenir.
  • Etkileşimli Geniş Ekran Tasarımı: Son yaptığımız güncellemeyle tablolar 12 sütun genişliğinde ve tüm detaylarıyla (IP, Port, Skor) sunulur.
  • Coğrafi Isı Haritası (Geographic Heatmap): Entegre GeoIP verileri sayesinde dış dünyadan gelen saldırıların ülkeleri dünya haritasında canlı parıldar.
Superset Logo

11) Performans ve Şema: PostgreSQL & Redis

Bu devasa dağıtık orkestranın ışık hızında çalışması ve sunum grafiklerinin anında yüklenmesi için kritik altyapı ivmelendiricilerimiz:

  • PostgreSQL (Kalıcı Şema Deposu): Hive Metastore'un veri tablolarının şema tanımlarını ve Superset panellerinin kullanıcı/grafik metadatalarını kalıcı olarak saklar.
  • Redis (Dağıtık Önbellek Katmanı): Superset panellerinde koşturulan mükerrer SQL sorgularını önbellekleyerek jüri sunumunda grafiklerin milisaniyeler seviyesinde yüklenmesini sağlar.
  • Sistem Performans Katkısı: Veri ambarına giden yükü azaltarak bellek içi hızı tavan yaptırır.
Postgres Logo
Redis Logo

12) Siber Zeka: Bağlamsal Öznitelik Mühendisliği

Modelin "Yalancı Alarmları (False Positive)" önlemesi için, veri setine sadece hacimsel istatistikler değil, Siber Güvenlik Bağlamı (Context) kazandırılmıştır:

  • Neden Ham IP'ler Modele Verilmedi? IP adresleri sayısal değil, kategorik kimliklerdir. K-Means (Öklid Uzaklığı) algoritmasına ham IP vermek matematiksel bir hatadır ve boyutluluk lanetine (Curse of Dimensionality) yol açar.
  • Bağlamsal IP Bayrakları (Contextual Flags): IP kimlikleri modele verilmek yerine, Regex ve UDF'ler ile anlamlı siber güvenlik özelliklerine (0/1) dönüştürüldü.
  • 1. İç/Dış Ağ Bayrağı (is_dst_external): Hedef IP'nin RFC1918 özel blokta (192.168.x.x vb.) olup olmadığını hesaplar.
  • 2. Sunucu Rolü (is_src_server): Kaynak IP'nin şirketteki kritik bir File Server olup olmadığını belirler. Böylece yasal devasa sunucu trafiği ile dış dünyaya veri sızdıran (Data Exfiltration) malware trafiği birbirinden kesin olarak ayrılır.

Bağlamsal Öznitelik Mimari Akışı

Ham Zeek Akışı (conn.log) duration, bytes, src_ip, dest_ip 1. Adım: Bağlam (Context) Üretimi IP'ler -> is_dst_external, is_src_server 2. Adım: Çarpıklık Giderme (log1p) duration_log, bytes_log Ağır çarpık byte dağılımı normalleşir K-Means İçin Hazır Bağlamsal Vektör duration, bytes, is_external, is_server

13) Siber Zeka: ML Matematiksel Altyapısı

Ağ akışındaki normal dışı sapmaları yakalamak amacıyla kurulan K-Means modelinin matematiksel şeması:

  • Küme Maliyeti (WSSSE): Verilen $n$ ağ kaydını, küme içi hata kareleri toplamını minimize eden $k=8$ küme merkezine ($\mu_i$) dağıtır:
    $$\arg \min_S \sum_{i=1}^k \sum_{x \in S_i} \| x - \mu_i \|^2$$
  • Z-Skor Standardizasyonu: Euclidean mesafesi hesaplanırken büyük bayt verilerinin küçük duration değerlerini domine etmesini engeller ($Ortalama=0$, $Varyans=1$).
  • Mesafe Formülü: Gelen her akışın ($f$) kendi atandığı küme merkezine ($c$) olan mesafesi canlı olarak hesaplanır:
    $$d(f, c) = \sqrt{\sum_{j=1}^m (f_j - c_{cluster\_id, j})^2}$$

Z-Skor ve Matematiksel Model Akışı

1. Adım: VectorAssembler duration_log, orig_bytes_log, resp_bytes_log Birleştirilmiş Vektör (raw_features) 2. Adım: StandardScaler (Z-Skor) Ortalama = 0, Varyans = 1 Standardizasyonu Özniteliklerin ağırlıkları eşitlenir 3. Adım: Canlı Euclidean Mesafe Kararı Mesafe > 3.0 ise Outlier Anomali Alarmı!

14) Siber Zeka: Asenkron Canlı Model Eğitimi

Akan canlı trafikte siber davranışlar zamanla değişir (Concept Drift). Bu zorluğu yenmek için kurguladığımız asenkron eğitim mimarisi:

  • Soğuk Başlangıç (Cold Start): Modelin ilk eğitilebilmesi için gelen canlı loglar başlangıçta disk tamponunda biriktirilir (COLD_START_ROWS = 100 satır limitidir).
  • Periyodik Yeniden Eğitim (Periodic Retraining): Sistem akan her 50 batch'te bir (RETRAIN_EVERY_BATCHES = 50) en güncel log verilerini alarak K-Means modelini asenkron olarak yeniden eğitir.
  • Kritik Avantaj: Bu sayede model değişen ağ trafiği paternlerine kendini adapte eder, eskiyen küme merkezleri canlı olarak güncellenir ve alarm doğruluğu stabil tutulur.

Asenkron Canlı Eğitim Akışı

Canlı Log Akışı (Micro-Batch) Spark Structured Streaming 1. Soğuk Başlangıç (Cold Start) Kayıt sayısı >= 100 mü? Evet ise K-Means İlk Modeli Eğitilir 2. Periyodik Model Güncelleme Batch Sayısı % 50 == 0 mı? Evet ise K-Means Ağırlıkları Tazelenir Canlı Concept Drift Önleme Aktif

15) Siber Zeka: Outlier Kümeleme (2D İzdüşüm)

Eğitilen K-Means modelinin canlı trafikteki normal akışlar ile siber anomali (outlier) akışları nasıl kümelediğinin 2D izdüşümü:

  • Yeşil Noktalar (Normal Trafik): Merkez etrafında yoğunlaşmış normal süreli ve düşük boyutlu rutin ağ bağlantıları.
  • Kırmızı Noktalar (Outlier Anomali): Eşik değerinin (3.0) dışına savrulmuş, son derece anormal duration veya veri baytı içeren siber sızma/veri kaçırma faaliyetleri.
  • UDF Anlık Mesafe Sorgusu: Canlı sorgularda bu mesafeler Spark cluster worker düğümleri tarafından paralel koşar.

16) Model Doğrulaması: WSSSE ve Anomali Kararları

Modelin doğruluğunu jüri önünde ispatlayan anomali kararları ve başarım metrikleri:

  • Anomali Skoru Eşitliği: Her ağ oturumunun atanmış küme merkezine olan mesafesi ($d$) doğrudan Anomali Skorudur.
  • Hassas Eşik Değeri (Threshold = 3.0): Bu mesafe $3.0$ standard sapma limitini aşarsa, akış anında siber anomali (outlier) olarak etiketlenir ve alarmlar veri gölüne yazılır.
  • WSSSE Metrik Takibi: Modelin küme içi hata kareleri toplamı (WSSSE) her eğitim adımında siem.model_metrics tablosuna yazılır ve modelin kararlılığı izlenir.

17) Deterministik Yaklaşım: SIEM Kuralları

Deterministik kurallar, imza tabanlı saldırı paternlerini ve bilinen siber tehditleri saniyeler içinde yakalamak üzere tasarlanmıştır:

  • SIEM-001 (Port Tarama): Tek bir kaynak IP'nin, 10 saniyelik mikro-batch içinde 50'den fazla benzersiz hedef portuna istek göndermesi.
  • SIEM-002 (Dizin Geçiş Girişimi - Path Traversal): HTTP istek yolunda sızma amacıyla gönderilen ../, etc/passwd, win.ini ve /bin/sh gibi dizin geçiş paternlerinin yakalanması.
  • SIEM-003 (Sıra Dışı Yüksek Hacim): Tek bir kaynak IP'nin 10 saniyelik batch içinde normal dışı (100+) sayıda HTTP bağlantısı kurması.
Teşekkürler
Apache-BigData-SIEM | Büyük Veri ile SIEM ve Anomali Tespit Sistemi