Bu proje, İHA'ların uçuş esnasında maruz kalabileceği siber saldırıları ve sensör manipülasyonlarını CNN-LSTM Hibrit Autoencoder mimarisi ile gerçek zamanlı olarak tespit eden bir anomali tespit sistemidir.
Sistem, İHA'nın uçuş telemetri verilerini sürekli analiz ederek, normal uçuş karakteristiğinden sapmaları (MSE - Mean Squared Error) milisaniyeler içinde yakalar.
- Hibrit Mimari: Uzamsal özellikler için CNN, ardışık veriler için LSTM katmanları.
- Otonom Teşhis: Siber sapmanın kaynağını otomatik sınıflandırma.
- Dashboard: Canlı telemetri akışı ve uçuş röntgeni.
Projenin ihtiyaç duyduğu büyük ölçekli uçuş logları ve atak havuzları, GitHub dosya boyutu limitleri nedeniyle harici bir Drive klasöründe barındırılmaktadır.
🔗 Drive - Sterilize Atak Veri Havuzu Erişimi
attack_master_pool.zip: İHA'nın siber saldırı altında olduğu, 4 farklı kategoriye (External, Altitude, Global, Mechanical) ayrılmış master telemetri loglarını içerir. Canlı analiz arayüzünde "Saldırı Kategorisi" seçimi yapıldığında bu veriler test için kullanılır.aligned_flights.zip: Modelin "normal" uçuş karakteristiğini öğrenmesi için kullanılan, siber saldırı içermeyen temiz eğitim verilerini içerir. Modelin sapma (anomaly) tespiti yaparken referans aldığı temel uçuş verileridir.
Not: Verileri indirdikten sonra klasör yapısının data/processed/attack_master_pool ve data/processed/aligned_flights şeklinde olduğundan emin olun.
- Bağımlılıkları Yükleyin:
Öncelikle gerekli kütüphaneleri aşağıdaki komutla proje dizinindeyken yükleyin:
GPU ile hızlandırma istiyorsanız
pip install -r requirements.txt
requirements.txtüstündeki notta belirtilen CUDA'ya özel torch kurulum komutunu ayrıca çalıştırın. models/klasöründe eğitilmiş model ağırlıklarının (hybrid_model.pth,global_scaler.pkl,thresholds.json) bulunduğundan emin olun.- Tüm yol tanımlamaları
src/config.pyüzerinden proje kök klasörüne göre otomatik hesaplanır — proje klasörünü nereye kopyalarsanız kopyalayın ekstra bir ayar gerekmez. Veri/model klasörlerinizi standart yapının dışında bir yerde tutuyorsanızUAV_PROJECT_ROOT,UAV_MODELS_DIR,UAV_DATA_DIRortam değişkenleriyle override edebilirsiniz. - Uygulamayı proje kök dizininden çalıştırın:
streamlit run src/app.py
Feyza Nur Dandal