Modbus RTU SCADA Sistemlerinde Replay ve Zaman Gecikmesi Saldırısı Nedir?
Modbus protokolünün kimlik doğrulaması ve tazelik kontrolü olmadığı için endüstriyel kontrol sistemlerinde replay ve zaman gecikmesi saldırıları mümkündür. Nasıl çalıştıklarını, neden ciddi olduklarını ve nasıl doğrulandıklarını anlatıyoruz.
Hızlı cevap: Modbus, endüstriyel kontrol sistemlerinde (SCADA) uzaktan terminal üniteleri (RTU) ile denetleyiciler arasında konuşmak için kırk yılı aşkın süredir kullanılan bir protokoldür ve tasarlandığı dönemde güvenlik hiç düşünülmemiştir; mesajlarda kimlik doğrulaması, şifreleme ya da tazelik (freshness) kontrolü yoktur. Bu eksiklik iki somut saldırıyı mümkün kılar: replay saldırısında, bir saldırgan daha önce yakaladığı geçerli bir yazma komutunu (örneğin bir vanayı açan komutu) hiçbir değişiklik yapmadan tekrar gönderir ve cihaz bunu yeni ve meşru bir komut gibi kabul eder; zaman gecikmesi saldırısında ise saldırgan trafiği değiştirmeden sadece geciktirerek ya da bir kayıt değerini kalıcı olarak değiştirerek operatörün gördüğü veri ile sahadaki gerçek durum arasında bir fark yaratır. Her iki saldırı da protokol düzeyinde hiçbir hata üretmez; bu yüzden tespit edilmeleri ancak beklenen davranışla gerçek davranış karşılaştırılarak mümkün olur.
Bir fabrikada ya da bir enerji santralinde, bir denetleyici (SCADA) ile sahadaki uzaktan terminal üniteleri (RTU) arasında sürekli bir veri alışverişi olur; vana açık mı kapalı mı, basınç ne kadar, bir motor çalışıyor mu. Bu alışverişin dilinin adı Modbus'tur ve neredeyse hiçbir endüstriyel tesis onsuz çalışmaz. Sorun, bu dilin 1979'da tasarlanmış olması ve o günden bu yana temelde değişmemiş olmasıdır.
Modbus neden bu kadar savunmasız
Modbus/TCP protokolünde bir okuma ya da yazma komutu, düz metin bir çerçeve olarak ağda dolaşır ve alıcı cihaz bu çerçevenin gerçekten yetkili bir kaynaktan gelip gelmediğini doğrulamaz. Aynı çerçeve tekrar gönderildiğinde cihaz bunu ayırt edemez çünkü protokolde bir sıra numarası ya da zaman damgası yoktur. Bu, ICS ve SCADA güvenliğinin en temel yapısal sorunudur: bir protokol, güvenilir bir kablolu ağda çalışacağı varsayımıyla tasarlanmış ama zamanla IP ağlarına ve bazen internete açık hale gelmiştir.
Replay saldırısı nasıl çalışır
Bir replay saldırısında saldırganın mesajın içeriğini anlaması bile gerekmez; sadece ağ trafiğini dinleyip geçerli bir yazma komutunu (örneğin bir röleyi açan ya da bir setpoint değerini değiştiren komutu) kaydetmesi ve daha sonra istediği zaman aynen tekrar göndermesi yeterlidir.
| Adım | Ne olur |
|---|---|
| Dinleme | Saldırgan geçerli bir yazma komutunu yakalar |
| Bekleme | Komut hiçbir değişikliğe uğratılmadan saklanır |
| Tekrar gönderme | Aynı komut istenen zamanda tekrar ağa konur |
| Kabul | Cihaz komutu yeni ve meşru sanır, uygular |
Bir laboratuvar ortamında yapılan kontrollü bir testte, bir kayda yazılan değerin okunup değiştirilip eski haline getirildikten sonra aynı ham çerçevenin birkaç saniye arayla tekrar gönderilmesi ve cihazın bunu hiçbir itiraz olmadan kabul etmesi, bu zafiyetin protokol düzeyinde ne kadar temel olduğunu somut biçimde gösterir.
Zaman gecikmesi saldırısı
Zaman gecikmesi saldırısı daha inceliklidir: saldırgan trafiği tamamen engellemek yerine belirli mesajları geciktirir ya da belirli bir kaydın değerini kalıcı olarak değiştirir. Sonuç, operatörün ekranında gördüğü değerle sahadaki gerçek fiziksel durum arasında bir gecikme ya da sapma oluşmasıdır. Bu tür bir saldırı, doğrulanması en zor saldırı sınıflarından biridir çünkü etkiyi kanıtlamak için sadece "yazma kabul edildi mi" değil, "yanıt süresi (latency) gerçekten ve ölçülebilir biçimde değişti mi, ve orijinal duruma geri dönünce bu gecikme de gerçekten ortadan kalktı mı" sorularının ikisinin de kanıtla cevaplanması gerekir.
Neden özellikle ciddi
Modbus üzerinden yönetilen sistemler genelde fiziksel dünyaya doğrudan bağlıdır: bir vana, bir röle, bir motor sürücüsü. Bu yüzden protokol düzeyindeki bir zafiyet, dijital bir veri sızıntısından farklı olarak doğrudan fiziksel bir sonuca dönüşebilir. Bu, bu tür değerlendirmelerin neden son derece dikkatli, tercihen izole bir laboratuvar ortamında ve her adımda geri dönüş (restore) doğrulaması yapılarak yürütülmesi gerektiğini açıklar; bir sızma testi metodolojisinde olduğu gibi, burada da her aktif adımın öncesinde bir taban çizgi (baseline) alınmalı ve sonrasında sistemin bu taban çizgiye gerçekten döndüğü doğrulanmalıdır.
KAOS ve DSET yaklaşımı
DSET, kendi laboratuvarında bulunan izole bir Modbus RTU test ortamında replay ve zaman gecikmesi saldırılarını kontrollü biçimde değerlendirir. Yerel yapay zekâ motorumuz KAOS, her aktif teste başlamadan önce bir taban çizgi yanıt süresi ölçer, ardından kontrollü bir değişiklik uygular ve son olarak sistemin orijinal duruma gerçekten döndüğünü hem kayıt değeri hem de yanıt süresi üzerinden doğrular. Bir bulgu, ancak bu üç adımın tamamı kanıtla desteklendiğinde doğrulanmış (validated) olarak raporlanır; aksi halde bulgu belirsiz (inconclusive) olarak işaretlenir ve kesinmiş gibi sunulmaz.
Sık sorulan sorular
Modbus'un yeni sürümleri bu sorunu çözmedi mi? Modbus/TCP güvenliği (Secure Modbus, TLS destekli) ayrı bir uzantı olarak tanımlanmıştır ama sahadaki mevcut cihazların büyük çoğunluğu bu uzantıyı desteklemez ve eski Modbus çerçevesini kullanmaya devam eder. Bu yüzden pratikte hâlâ segmentasyon ve ağ düzeyinde koruma, protokolün kendisini değiştirmekten daha gerçekçi bir çözümdür.
Bir replay saldırısı gerçek bir olay mı yoksa sadece teorik bir risk mi? Kontrollü laboratuvar testleri, bu saldırının gerçek ve pratik olarak uygulanabilir olduğunu defalarca göstermiştir; saldırının karmaşıklığı düşüktür, özel bir araç ya da derin protokol bilgisi gerektirmez. Bu, riskin teorik değil somut olduğu anlamına gelir.
Bu tür bir test aracın kendisine zarar verir mi? Doğru yapıldığında hayır. Testin her adımı öncesinde bir taban çizgi alınır, her değişiklik geri alınabilir olacak şekilde tasarlanır ve test sonrasında sistemin gerçekten eski haline döndüğü bağımsız olarak doğrulanır. Bu disiplin olmadan yapılan bir test, gerçek bir üretim sistemi için kabul edilemez bir risktir.
Kaynaklar
- CISA Recommended Practices for Securing Control System Modbus TCP/IP: https://www.cisa.gov
- NIST SP 800 82 Guide to Operational Technology (OT) Security: https://csrc.nist.gov
- DSET Siber Güvenlik ve Endüstriyel Kontrol Sistemleri Testi Hizmetleri: https://dset.com.tr/hizmetler
Endüstriyel kontrol sisteminizin Modbus yüzeyini kontrollü bir laboratuvar ortamında değerlendirmek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan OT ve SCADA güvenlik danışmanlığı sağlıyoruz.
Kimliğinizi doğrulayın
Yetkilendirilmiş erişim alanı. Tüm giriş denemeleri kayıt altına alınır.