Günümüzde ağlarda çok fazla trafik kaydı oluşuyor ve bu kayıtların tamamını bir güvenlik uzmanının tek tek incelemesi zorlaşıyor. SecureWatch AI, bu süreci kolaylaştırmak amacıyla geliştirdiğim makine öğrenmesi destekli bir ağ trafiği analizi ve saldırı tespit platformudur.
Platform, CIC-IDS2017 ile uyumlu CSV dosyalarını toplu olarak analiz eder. Ağ kayıtlarını normal veya saldırı davranışı olarak sınıflandırır, risk bilgileri oluşturur ve önemli tespitlerin olay yönetimi sürecinde takip edilmesini sağlar. SecureWatch AI, gerçek zamanlı paket yakalayan bir IDS/IPS ürünü değil; güvenlik analistine karar desteği sunan akademik ve kurumsal kullanıma yönelik bir prototiptir.
SecureWatch AI Nasıl Çalışıyor?
Kullanıcı, yetkili hesabıyla sisteme giriş yaptıktan sonra analiz etmek istediği CSV dosyasını yükler. Sistem dosyanın boyutunu, adını ve içeriğini kontrol eder. SHA-256 özeti sayesinde aynı dosyanın tekrar yüklenmesi de engellenir.
Geçerli dosya için bir analiz görevi oluşturulur. Ön işleme aşamasında eksik ve sonsuz değerler yönetilir, gerekli veri dönüşümleri uygulanır ve kayıtlar modelin kullanabileceği yapıya getirilir. Tahmin sonucunda her kayıt için normal veya saldırı kararı üretilir. Sonuçlar risk bilgileriyle birlikte veritabanına kaydedilir ve kullanıcı arayüzünde gösterilir.
Güvenlik analisti önemli bir tespiti olaya dönüştürebilir. Oluşturulan olay bir kullanıcıya atanabilir, durumu değiştirilebilir ve yorum eklenerek süreç takip edilebilir. Dashboard ekranı ise analiz, tespit ve olayların genel görünümünü sunar.
Platformun Temel Özellikleri
- JWT tabanlı kimlik doğrulama
- ADMIN ve ANALYST rollerine göre yetkilendirme
- Önemli işlemler için audit log kayıtları
- Güvenli CSV yükleme ve doğrulama
- Makine öğrenmesi tabanlı toplu analiz
- Normal/saldırı kararı ve risk sınıflandırması
- Tespit sonuçlarının kalıcı olarak saklanması
- Olay oluşturma, atama, durum ve yorum yönetimi
- Dashboard ve raporlama ekranları
- Responsive React kullanıcı arayüzü
- Docker Compose ile çalıştırma desteği
SecureWatch AI kapalı erişimli bir güvenlik platformu olarak tasarlandı. Bu nedenle herkese açık bir “Hesap oluştur” alanı bulunmuyor. İlk hesaplar güvenli ortam değişkenleriyle oluşturuluyor; yeni kullanıcılar ise yalnızca ADMIN yetkisine sahip kişiler tarafından eklenebiliyor.
Teknik Mimari ve Güvenlik
Kullanıcı arayüzünü React ve TypeScript ile, backend bölümünü FastAPI ile geliştirdim. SQLAlchemy veri erişimini, Alembic veritabanı değişikliklerini, PostgreSQL ise kullanıcı, analiz, tespit, olay ve denetim kayıtlarının saklanmasını yönetiyor. Production yapısında Nginx, frontend dosyalarını sunuyor ve API isteklerini backend servisine yönlendiriyor.
Güvenlik için parolalar bcrypt ile hash’leniyor, erişimler JWT ve rol kontrolleriyle korunuyor. Secret ve bağlantı bilgileri kaynak kod yerine environment değişkenlerinden alınıyor. Dosya yükleme bölümünde boyut sınırı, güvenli dosya adı, içerik kontrolü, SHA-256 ve path traversal koruması uygulanıyor.
Testler ve Projenin Son Durumu
Final doğrulamada backend tarafında 499, frontend tarafında 791 test başarıyla geçti. TypeScript, ESLint, production build ve güvenlik kontrolleri tamamlandı. Docker ortamında PostgreSQL, backend ve frontend servislerinin tamamı healthy duruma ulaştı. Frontend ve API sağlık uçları HTTP 200 döndürdü.
Mevcut sürüm CSV tabanlı toplu analiz yapıyor. Canlı trafik yakalama ve otomatik firewall müdahalesi ise projenin gelecekte geliştirilebilecek yönleri arasında yer alıyor.
SecureWatch AI sayesinde makine öğrenmesi, web geliştirme, veritabanı, güvenlik ve Docker çalışmalarını tek bir üründe birleştirdim. Benim için projenin en önemli yönü, yalnızca bir tahmin üretmesi değil; bu tahmini güvenlik analistinin inceleyebileceği ve takip edebileceği düzenli bir iş akışına dönüştürmesi oldu.