1.Giriş
Günümüzde, ağ altyapılarında güvenlik tehditlerinin tespiti ve önlenmesi, giderek artan ağ trafiği ve karmaşıklaşan saldırı vektörleri nedeniyle kritik bir hale gelmiştir. Özellikle Yazılım Tanımlı Ağlar (Software Defined Networks – SDN), esnek ve merkezi yönetim kabiliyetleriyle modern ağ mimarilerinde yaygın olarak tercih edilmekte, ancak bu mimarilerin sunduğu esneklik ve merkezi kontrol mekanizması, yeni güvenlik zafiyetlerini de beraberinde getirmektedir. Geleneksel saldırı tespit sistemleri, dinamik ve kontrol düzlemi ile veri düzleminin ayrıldığı SDN ortamlarında yeterli performansı gösterememekte, bu da SDN’ye özgü saldırıların tespiti için yeni nesil çözümleri gerekli kılmaktadır. Bu çalışmada, SDN ortamında gerçekleşen saldırıların tespiti amacıyla 2020 yılında Mahmoud, Nhien ve Anca tarafından geliştirilen InSDN veri seti kullanılarak, LightGBM tabanlı bir saldırı tespit modeli geliştirilmiştir. Model, çeşitli veri ön işleme ve öznitelik seçimi teknikleri ile optimize edilmiş, dengesiz veri dağılımı göz önünde bulundurularak değerlendirilmiş ve performansı hem F1 skoru hem de ROC AUC metriği ile ölçülmüştür. Çalışma kapsamında geliştirilen sistem, SDN ortamlarına entegre edilebilecek ve gerçek zamanlı saldırı tespitine katkı sağlayabilecek bir çözüm olarak önerilmektedir.
Proje kodları –> https://github.com/thinkoptimize/ml001
2.Saldırı Tespit Sistemi Nedir?
Günümüzde, küresel çapta yaygın olarak kullanılan internet ağına her geçen gün daha fazla cihaz ve kullanıcı bağlanmakta, bu durum ağ trafiğinin hacmini ve çeşitliliğini önemli ölçüde artırmaktadır. Kullanıcı sayısındaki bu artış ve giderek karmaşıklaşan uygulama ekosistemi, ağ güvenliği açısından yeni zafiyetleri ve saldırı yüzeylerini beraberinde getirmektedir. Geleneksel güvenlik duvarları (firewall) izinsiz erişimlere karşı temel bir savunma mekanizması sağlasa da, dahili ağ segmentlerinde bulunan servislerin internet ortamına açılması, hem meşru hem de kötü niyetli aktörlerin bu servislere erişimini mümkün kılmaktadır. Bu durum, güvenlik duvarlarının sunduğu sınır korumasının tek başına yeterli olmamasına neden olmakta ve daha derinlemesine trafik analizi gerektiren Saldırı Tespit Sistemleri’ni (Intrusion Detection Systems – IDS) zorunlu hale getirmektedir.
Saldırı Tespit Sistemleri, geleneksel imza tabanlı (signature-based) yöntemlerin yanı sıra, son yıllarda makine öğrenmesi ve yapay zeka tabanlı anomalilik tespiti yaklaşımları ile güçlendirilmiştir. Bu yaklaşımlar, ağ trafiği üzerindeki özellikleri (features) kullanarak istatistiksel ve matematiksel modeller oluşturmakta ve bu modeller üzerinden anormal veya potansiyel tehdit içeren aktiviteleri tespit edebilmektedir. Özellikle denetimli ve yarı denetimli öğrenme (supervised/semi-supervised learning) yöntemleri, bilinen saldırı türlerinin yanı sıra, daha önce gözlemlenmemiş sıfırıncı gün saldırılarının (zero-day attacks) tespitinde de önemli avantajlar sağlamaktadır.
3.Yazılım Tanımlı Ağlar (Software Defined Networks – SDN) Nedir?
Yazılım Tanımlı Ağlar (SDN), ağ trafiğinin yönetimini geleneksel donanım temelli (router, switch) kontrol mekanizmalarından ayırarak, ağ yönetimini yazılım tabanlı merkezi bir denetleyiciye (controller) devreden modern bir ağ mimarisidir.
Geleneksel Ağlarla Farkı
Geleneksel ağ mimarilerinde, her ağ cihazı (switch, router vb.) kendi kontrol kararlarını (paket yönlendirme, filtreleme gibi) alır. Yani veri düzlemi (data plane) ve kontrol düzlemi (control plane) aynı cihazda bulunur. Bu durum:
- Karmaşık ağ yönetimine,
- Farklı cihazların uyumsuz çalışmasına,
- Yapılandırma ve politika güncellemelerinin manuel yapılmasına,
- Ölçeklenebilirlik ve esneklik problemlerine yol açar.
SDN Mimarisi
SDN’de bu iki düzlem birbirinden ayrılır:
| Düzlem | Görev |
| Veri Düzlemi (Data Plane) | Paketlerin fiziksel olarak iletilmesi (forwarding). Router, switch ve diğer ağ cihazları bu düzlemde çalışır. |
| Kontrol Düzlemi (Control Plane) | Ağ cihazlarının hangi paketleri, hangi portlara yönlendireceğine karar verir. Tüm karar mekanizması, merkezi bir SDN Controller üzerinde çalışır. |
4.Projede kullanılan veri seti
Bu çalışmada, Yazılım Tanımlı Ağlar (YTA) ortamında gerçekleştirilen saldırıların tespiti amacıyla, InSDN veri seti kullanılmıştır. InSDN veri seti, Yazılım Tanımlı Ağlar için özel olarak tasarlanmış olup, Mahmoud, Nhien ve Anca tarafından 2020 yılında oluşturulmuştur.( https://ieeexplore.ieee.org/document/9187858/footnotes#footnotes) Veri seti, YTA mimarisinin dinamik yapısını ve kontrol-veri düzlemi ayrımını göz önünde bulundurarak, YTA’ya özgü saldırı vektörlerini ve normal trafik örüntülerini kapsamlı bir şekilde içermektedir. InSDN veri setinin temel amacı, geleneksel ağ ortamlarına kıyasla SDN altyapısına yönelik tehditleri daha gerçekçi ve anlamlı şekilde modelleyebilen, güvenilir bir kaynak sunmaktır.
Daha önceki saldırı tespit çalışmalarında sıklıkla kullanılan KDD 99 ve türev veri setleri, klasik ağ mimarileri için tasarlanmış olup, Yazılım Tanımlı Ağların kontrol mimarisi, protokol seti ve trafik dinamikleri ile uyumlu değildir. Bu tür eski veri setleri, veri düzlemi (data plane) ve kontrol düzlemi (control plane) ayrımını içermediğinden, YTA ortamındaki saldırı senaryolarını yeterince temsil edememektedir. Bu nedenle, SDN ortamında gerçekleştirilecek saldırı tespit ve anomali tespit çalışmalarında, YTA’ya özgü tehdit modellerini içeren InSDN gibi güncel ve duruma özel veri setlerinin kullanımı kritik öneme sahiptir
5.Veri Ön işleme , Özellik Mühendisliği ve Özellik seçimi
Çalışma kapsamında kullanılan InSDN veri seti üzerinde çeşitli veri ön işleme adımları uygulanmıştır. Öncelikle, veri setindeki tekrar eden (duplicate) kayıtlar tespit edilerek veri setinden çıkartılmıştır. Ardından, tüm örneklerde sıfır değere sahip olduğu belirlenen 11 öznitelik, modele herhangi bir bilgi katkısı sağlamadığı için veri setinden çıkarılmıştır. Buna ek olarak, dinamik olarak değişen ve doğrudan ağ trafiğinin zamanla değişen yapısından kaynaklanan 7 öznitelik, modelin öğrenme sürecini olumsuz etkilememesi amacıyla analiz dışı bırakılmıştır. Temizlenmiş veri seti, özellikler arasındaki ölçüm birimi farklılıklarını gidermek ve modelin daha dengeli bir şekilde eğitilmesini sağlamak amacıyla Standart Scaler yöntemi ile ölçeklendirilmiştir. Öznitelik seçim sürecinde ise, öznitelikler arasındaki ilişkiyi incelemek ve önemli özellikleri belirlemek amacıyla Spearman Korelasyon Katsayısı kullanılmıştır. Son olarak, elde edilen nihai ve optimize edilmiş veri seti, ilerleyen modelleme ve analiz süreçlerinde kullanılmak üzere ayrı bir CSV dosyası olarak kaydedilmiştir.
–> Öznitelik Seçiminin Önemi
Makine öğrenmesi modellerinde başarı, doğru özniteliklerin seçimiyle doğrudan ilişkilidir. Öznitelik seçimi (Feature Selection), modelin performansını artırmak, aşırı öğrenmeyi (overfitting) önlemek ve hesaplama maliyetlerini düşürmek için kritik bir adımdır. Gereksiz veya alakasız öznitelikler modelin genelleştirme yeteneğini olumsuz etkileyebilir ve yanlış tahminlere yol açabilir.
#Modelin Performansını Artırır
Gereksiz öznitelikler, modelin öğrenme sürecinde gürültüye neden olabilir. Daha az ama anlamlı öznitelik kullanmak:
- Tahmin doğruluğunu artırır,
- Aşırı öğrenmeyi (overfitting) engeller,
- Genelleştirme kabiliyetini iyileştirir.
# Modelin Hesaplama Süresini ve Kaynak Kullanımını Optimize Eder
Özellikle büyük veri setleriyle çalışırken gereksiz öznitelikler:
- Eğitim süresini uzatır,
- Bellek tüketimini artırır,
- Modelin ölçeklenebilirliğini zorlaştırır.
Öznitelik seçimi ile daha az veriyle daha verimli ve hızlı çalışan modeller elde edilebilir.
# Modelin Yorumlanabilirliğini Artırır
Makine öğrenmesi projelerinde modelin nasıl çalıştığını anlamak ve karar mekanizmalarını açıklamak önemlidir. Gereksiz öznitelikleri kaldırarak:
- Modelin hangi değişkenlere dayandığı daha iyi analiz edilir,
- İş kurallarına ve iş zekâsına uygun çıktılar elde edilir,
- Modelin kararları daha şeffaf hale gelir.
# Gürültüyü ve Korelasyonu Azaltır
Birçok veri setinde bazı öznitelikler yüksek oranda birbirleriyle ilişkili olabilir. Korelasyonun yüksek olduğu durumlarda:
- Aynı bilgiyi taşıyan özniteliklerden sadece biri tutulur,
- Gereksiz veri tekrarları önlenir,
- Modelin öğrenme süreci daha kararlı hale gelir.
# Aşırı Öğrenmeyi (Overfitting) Önler
Fazla sayıda öznitelik kullanıldığında model, sadece eğitim verisini ezberleyerek aşırı öğrenme gösterebilir. Öznitelik seçimi sayesinde:
- Model genelleme yapmayı öğrenir,
- Yeni veriler üzerinde daha başarılı tahminler yapar.
Öznitelik seçimi, makine öğrenmesi modellerinin doğruluğunu, verimliliğini ve yorumlanabilirliğini artırmak için kritik bir adımdır. Modelin sadece anlamlı özniteliklerle eğitilmesi, hem performansı artırır hem de gereksiz hesaplama maliyetlerini düşürerek daha ölçeklenebilir çözümler oluşturulmasını sağlar.
Bu nedenle, profesyonel bir makine öğrenmesi projesinde öznitelik mühendisliği ve seçim süreçleri dikkatle yürütülmeli ve farklı tekniklerle en iyi öznitelikler belirlenmelidir.
6.Model Kurma
Model geliştirme aşamasında, saldırı tespiti için LightGBM algoritması tercih edilmiştir. Modelleme sürecinde, veri seti eğitim (train), doğrulama (validation) ve test alt kümelerine ayrılarak eğitim sürecinde modelin performansının izlenmesi sağlanmıştır. Veri setinin sınıf dağılımı dengesiz (imbalanced) olduğu göz önünde bulundurularak, is_unbalance = True parametresi etkinleştirilmiş ve böylece pozitif ve negatif sınıflar arasında dengeli bir öğrenme süreci hedeflenmiştir. Hiperparametre optimizasyonu sürecinde, GridSearchCV yöntemi kullanılarak farklı parametre kombinasyonları test edilmiş ve en uygun hiperparametreler belirlenmiştir. Model başarımını değerlendirmede, veri setindeki dengesizlik nedeniyle F1 skoru öncelikli metrik olarak seçilmiştir. Bununla birlikte, genel performansı daha kapsamlı bir şekilde analiz edebilmek adına ROC-AUC skoru da hesaplanarak modelin sınıflandırma gücü değerlendirilmiştir.
7.Sonuçlar ve değerlendirme
Eğitim ve hiperparametre optimizasyonu süreçlerinin tamamlanmasının ardından, LightGBM modeli test verisi üzerinde değerlendirilmiştir. Modelin performansını ölçmek amacıyla öncelikli metrik olarak F1 skoru kullanılmış olup, test seti üzerinde elde edilen F1 skoru 0.9921 olarak hesaplanmıştır. Dengesiz veri setlerinde modelin pozitif ve negatif sınıfları ne kadar dengeli tahmin ettiğini gösteren Confusion Matrix incelendiğinde, modelin 13.627 gerçek negatif (True Negative), 54.290 gerçek pozitif (True Positive), 191 yanlış pozitif (False Positive) ve 670 yanlış negatif (False Negative) tespitte bulunduğu görülmüştür. Buna ek olarak, modelin genel sınıflandırma performansını değerlendirmek amacıyla hesaplanan ROC AUC skoru ise 0.9870 olarak elde edilmiştir. Bu sonuçlar, modelin dengesiz veri setine rağmen hem pozitif hem negatif sınıfları oldukça başarılı bir şekilde ayırt edebildiğini ve saldırı tespiti için yüksek bir performans sunduğunu göstermektedir.
8.Modeli nasıl geliştirebiliriz ?
Mevcut sonuçlar oldukça iyi olsa da (F1: 0.99 ve ROC AUC: 0.98), özellikle Yazılım Tanımlı Ağlar (SDN) gibi dinamik ve saldırılara açık ortamlarda modeli daha da sağlam ve genelleştirilebilir hale getirmek için bazı iyileştirme önerileri sunabilirim.
Veri Dengesizliğine Daha Etkili Müdahale
LightGBM’de is_unbalance=True kullandık, fakat dengesiz verilerde daha gelişmiş teknikler de uygulanabilir:
- SMOTE (Synthetic Minority Oversampling Technique) veya ADASYN gibi sentetik veri üretme yöntemleri.
- Farklı class weight değerleri ile denemeler.
- Farklı örnekleme teknikleri (Under/Over Sampling) ile modeli yeniden eğitmek.
Özellik Mühendisliği (Feature Engineering)
- Zaman temelli özellikler (örn: saldırı yoğunluğu zaman içinde artıyor mu?)
- Akış bazlı özellikler (flow duration, flow rate gibi SDN’ye özgü metrikler)
- Özellikle SDN ortamına özgü protokol ve kontrol mesajları üzerine yeni özellikler türetilebilir.
Farklı Algoritmalarla Karşılaştırma
LightGBM başarılı bir model ama tek bir modele bağımlı kalmamak adına aşağıdaki yöntemlerle de kıyas yapılabilir :
- XGBoost / CatBoost (diğer boosting tabanlı modeller)
- Random Forest (özellikle feature importance açısından kıymetli olabilir)
- Deep Learning Modelleri (1D CNN veya LSTM gibi zaman serisi odaklı modeller)
Hiperparametre Optimizasyonu
GridSearchCV güzel bir başlangıç, ancak özellikle LightGBM gibi çok parametreli modellerde:
- Bayesian Optimization
- Optuna veya Hyperopt gibi daha akıllı arama stratejileri ile hiperparametre uzayını daha verimli keşfetmek mümkün.
- Daha geniş bir hiperparametre aralığı belirlenebilir.
9.Kaynak Kodlar
Çalışmamım kaynak kodlarına https://github.com/thinkoptimize/ml001 reposundan ulaşabilir
Geri Bildirimleriniz Değerli !
E-posta: thinkoptimize@yandex.com
