Neden Aviyonik, Neden Şimdi?
Türk savunma sanayisi son on yılda gökyüzüyle resmen barıştı. Bayraktar TB2, Akıncı, Anka, Kızılelma; bunları haberlerde gördükçe içim bir hoş oluyor, eminim seninki de oluyor. Ama ben işin offensive security tarafından geldiğim için kafamın bir köşesi hep aynı yerde takılıyor: bu kuşların beyni ne kadar güvenli? İçlerinde uçan o yazılım, o veri yolları, o telsiz bağı; biri araya girse ne olurdu? Merak bu ya, peşine düştüm. Bu alanı derinlemesine araştırmaya karar verdim ve bu seri tam olarak o sürecin günlüğü olacak: süreçte karşıma ne çıkarsa kurcalayıp öğrendiğimi buraya yazacağım.
Birkaç yıldır web, mobil, IoT ve OT tarafında pentest yapıyorum. Aviyonik benim için yeni bir av sahası, ama oraya da aynı iştahla, aynı "peki bunu nasıl kırarım" refleksiyle gireceğim. Yani burada üstten ders veren biri yok; sahaya birlikte ineceğiz, ben gördüğümü olduğu gibi yazacağım, sen de arkamdan gelip aynısını kendi makinende deneyeceksin. Yolda yanlış bir şey görürsen çekinmeden yaz, beraber düzeltiriz; işin en güzel yanı da bu zaten.
Peki neden İHA'dan başlıyoruz? Çünkü dürüst konuşalım, gerçek bir savaş ya da yolcu uçağının aviyoniği bize kapalı: o donanım hem cep yakar hem de zaten elimize geçmez. Ama bir İHA'nın otopilot beynini (ArduPilot, PX4) bilgisayarında ayağa kaldırıp içindeki haberleşmeyi dinleyebilir, kurcalayabilir, içine dilediğin kadar dalabilirsin. Hem ulaşabileceğin bir şey, hem de tam olarak savunma sanayisinin kalbinde duran teknoloji. Öğrenmesi keyifli, üstüne işe yarar.
Kafamda şu an bir sürü konu dönüyor: protokoller, sensörler, telsiz, firmware, yer istasyonu... Ama sana "şu sırayla gidip şu kadar yazı yazacağım" diye bir söz vermeyeceğim, çünkü ben de yol aldıkça öğreniyorum. Aklımdakileri aşağıda olduğu gibi paylaşacağım; kafamda netleştikçe ve yazıya döküldükçe haritamız kendiliğinden ortaya çıkacak. Şimdilik tek net şey nereden başlayacağımız. Gel, önce şu "aviyonik" denen şeyi bir oturtalım.
Aviyonik Nedir ve Neden Farklı?
Aviyonik, "aviation" ve "electronics" kelimelerinin birleşimi: havacılık elektroniği. Bir hava aracındaki uçuş kontrol, navigasyon, haberleşme, sensör ve görev sistemlerinin hepsine birden bu ad veriliyor. En sevdiğim benzetme şu: uçağın kasları motor ve kanatlarsa, aviyonik de onun beyni ve sinir sistemi. Peki bu beyni kurcalamak, sıradan bir web uygulamasını kurcalamaktan neden bambaşka bir iş? Üç sebebini sayayım.
1. Burada hata can alır
Bizim IT dünyamızda "güvenlik" deyince aklımıza verinin gizliliği, bütünlüğü ve erişilebilirliği gelir. Havacılıkta ise en tepede emniyet vardır: sistemin kimseye zarar vermeden çalışması. İngilizce bunları ayırır, security ve safety; biz ikisine de "güvenlik" deyip işi karıştırırız. Aviyonikte bu ikisi yapışıktır. Bir security açığı doğrudan bir safety felaketine dönüşebilir. Web'de bir XSS bulursun, kullanıcının oturumu gider; kötü bir şey ama kimse ölmez. Bir İHA'nın uçuş kontrolüne girersen sonuç dijital değil, fiziksel ve çoğu zaman geri dönüşü yok.
2. Geç kalmak da bir saldırıdır
İkinci fark zamanlama. Aviyonik sistemler gerçek zamanlı çalışır, çoğu da katı gerçek zamanlı. Şu demek: bir mesaj 5 milisaniyede gelmek zorundaysa, 6'ncı milisaniyede gelmesi "biraz yavaş" değil, doğrudan arıza sayılır. Senin sunucunda istek 200 yerine 400 milisaniyede döner, kullanıcı söylenir ve geçer. Uçuş kontrolcüsünde döngü zamanı kaçarsa araç salınmaya başlar ve düşer. O yüzden burada zamanlamanın kendisi güvenliğin bir parçası; bir saldırgan veriyi hiç bozmadan, sadece geciktirerek bile sistemi yere indirebilir. Bu, alışkın olduğumuz tehdit modelini baştan değiştiriyor.
3. Bu sistemler emekli olmuyor
Üçüncüsü: hava araçları onlarca yıl hizmette kalır. İçindeki bazı protokoller 1970'lerden kalmadır (mesela MIL-STD-1553) ve hâlâ aktif görevdedir. O günün derdi "düşman gelip veri yoluna kablo bağlamasın" değildi, dolayısıyla bu protokollerde kimlik doğrulama ya da şifreleme genelde yoktur. Üstüne havacılıkta yazılım sertifikasyonu çok ağırdır (DO-178C gibi standartlar); tek satır kodu değiştirmek aylar alabilir. Sonuç ortada: güvensiz ama "kabul görmüş" eski sistemler yıllarca yamanmadan uçmaya devam eder. Bizim açımızdan bu, kapanmayan bir kapı.
Kısacası aviyonik güvenliği, bildiğimiz pentest reflekslerinin üstüne bir de "ama burada hata öldürür" baskısını eklemek gibi. Bu farkı seri boyunca tekrar tekrar hatırlatacağım, çünkü hem saldırıyı hem savunmayı şekillendiren şey tam olarak bu.
Bir İHA'yı Açıp İçine Bakalım
Yeterince soyut konuştuk, gel somuta inelim. Bir İHA'nın kapağını açsak, karmaşık görünen her şeyi aslında beş parçaya indirebiliriz. Bu beşliyi tanırsan serinin geri kalanı çok daha tadında geçer.
Uçuş Kontrolcüsü (Flight Controller)
Sistemin kalbi burada atıyor. Çoğu yerde Pixhawk ailesinden bir kart görürsün: ortada STM32 gibi bir ARM Cortex-M mikrodenetleyici, üstünde küçük bir gerçek zamanlı işletim sistemi (NuttX ya da ChibiOS), onun da üstünde otopilot yazılımı. Yani avucuna sığan, tek işi "bu aracı havada tutmak" olan özel bir bilgisayar.
Sensörler
Uçuş kontrolcüsünün "neredeyim, ne tarafa dönüğüm, ne kadar hızlıyım" diye bilmesi lazım. Bunu sensörlerden öğrenir:
- IMU (atalet ölçüm birimi): içinde ivmeölçer ve jiroskop var, aracın eğimini ve dönüşünü ölçer.
- Manyetometre: dijital pusula gibi, yönü verir.
- Barometre: hava basıncından yüksekliği çıkarır.
- GNSS/GPS alıcısı: uydulardan konumu alır.
Bu ham veriler tek başına gürültülü ve yalancıdır. Otopilot hepsini "sensör füzyonu" denen bir matematikle (genelde bir Kalman filtresi) birleştirip tek ve tutarlı bir "aracın durumu" tahmini çıkarır. Şunu aklının bir köşesine yaz: bu sensörlerden birine yalan söyletirsen, füzyonun çıktısı da yalan olur. Saldırı yüzeyinin yarısı zaten buradan açılıyor.
Otopilot Yazılımı
İşin yazılım tarafındaki beyni. ArduPilot ve PX4 bu alanın iki büyük açık kaynak projesi. Otopilot sensörü okur, "nereye gitmeliyim" hedefiyle "şu an neredeyim" durumunu kıyaslar, aradaki farkı kapatmak için kontrol döngüleri (klasik PID) çalıştırır ve motor hız kontrolcülerine komut yollar. Hem de saniyede yüzlerce kez. Üstelik kodun tamamı GitHub'da açık duruyor; yani kaynağa hem saldırgan hem savunmacı bakabiliyor. Bizim için bu hem nimet, hem de önümüzde duran kocaman bir inceleme alanı.
Datalink (Haberleşme)
İHA yerle iki ayrı koldan konuşur. Biri kumanda bağı: kullanıcının komutlarını taşır (SBUS, CRSF, ELRS gibi protokoller). Diğeri telemetri bağı: aracın durumunu yere yollar, yerden de görev ve komut alır. Telemetride ortak dil MAVLink. Telemetri radyosu genelde 433 ya da 915 MHz bandında çalışan küçük modüllerdir; yerini bazen 4G/LTE ya da özel şifreli datalink'ler alır. Bahse girerim bu seride en çok burada eğleneceğiz, çünkü "araya girme" denince akla ilk gelen katman bu.
Yer Kontrol İstasyonu (GCS)
Senin elindeki bilgisayar ya da tablet tarafı. Mission Planner ile QGroundControl en yaygın ikilisi. İHA'ya MAVLink ile bağlanır, harita üstünde görev (waypoint) çizer, telemetriyi izler, parametre ayarlarsın. Şuraya dikkatini çekeyim: GCS sonuçta sıradan bir masaüstü uygulaması ve senin asıl uzmanlığın olan klasik uygulama güvenliği buraya birebir oturuyor. Yani bu uçan dünyada bile en bildik saldırı yüzeyi, yine karşına bir yazılım arayüzü olarak çıkıyor.
Kafamdaki Konular (Haritamız Yol Boyu Çıkacak)
Beş parçayı tanıdık. Şimdi gel, her birinin nereden kanadığına kuş bakışı bakalım. Aşağıdakiler şu an kafamda dönen, değinmeyi düşündüğüm başlıklar. Sırasını ya da kaçını yazacağımı baştan bağlamıyorum; ben yazdıkça, kafamda netleştikçe haritamız kendiliğinden belli olacak. Sen de yol boyunca "şuna da bak" dersen, harita ona göre şekillenir.
- Sensör aldatma: Sensörler dış dünyayı ölçer ve ölçtüğüne sorgusuz güvenir. GPS sinyali zayıftır; uygun bir düzenekle, kapalı ve izole bir ortamda, sahte konum üretip aracın nerede olduğunu sandığını kaydırmak mümkün. Hatta jiroskoba doğru frekansta bir titreşim verip ölçümünü bile bozabilirsin. Fiziksel dünyadan dijitale geçişin en kırılgan yeri burası.
- Datalink / MAVLink: MAVLink çoğu kurulumda kimlik doğrulamasız ve şifresiz konuşur. Araya giren biri telemetriyi dinleyebilir, daha fenası komut enjekte edebilir. MAVLink 2'de mesaj imzalama var ama sahada çoğu zaman kapalı geliyor. İçine gireceğimiz ilk ciddi yer büyük ihtimalle burası.
- Kumanda bağı (RC): Eski ve analog protokoller jamming ile replay'e açık; modernleri (ELRS, Crossfire) şifreleme ve binding ile çok daha sağlam. Aradaki fark, "oyuncak" ile "ciddi iş" çizgisini de gösteriyor.
- Firmware ve tedarik zinciri: Otopilot kodu açık olsa da, araca ne yüklendiği, parametreleri kimin değiştirdiği, bootloader'ın ne kadar korunduğu bambaşka bir dünya. Yanlış bir parametre seti ya da arka kapılı bir firmware, aracı görünüşte gayet normal uçururken aslında ele geçmiş halde tutabilir.
- Yer istasyonu ve API'ler: GCS yazılımı, bağımlılıkları, MAVLink ayrıştırıcısındaki (parser) hatalar, bağlandığı bulut servisleri. Burası ikimizin de en rahat olduğu bölge; klasik AppSec refleksleri burada birebir çalışıyor.
Gördüğün gibi tek bir "İHA hack'i" diye bir şey yok; fiziksel sensörden bulut API'sine kadar uzanan bir katman yığını var. Niyetim bunları teker teker, her birinde gerçekten çalışan bir şey kurarak gezmek.
Giriş için bu kadar. Artık haritamız önümüzde: aviyoniğin ne olduğunu, neden ayağımızı denk almamız gerektiğini ve bir İHA'nın içinde nelerin döndüğünü biliyoruz. #1'de lafı bırakıp doğrudan teknik tarafa dalıyoruz; ArduPilot'u kendi bilgisayarımızda ayağa kaldırıp MAVLink'i dinlemeye başlıyoruz.
Zaman ayırıp okuduğun için teşekkürler, hatalarımı paylaşırsan seve seve ders çıkarırım :)
// RAPOR SONU, MUCAHIC / OP-0042 / 2026.05.28